I think I'm not sharing enough of my research... I'm never really sure if this is news or interesting, or just the same old old, so I usually don't bother... [besides the strain of posting]... anyway, the following are things I came across while experimenting... maybe some of this is interesting...
First, I was wondering if sfall may not try to fix these items (First Aid Kit, Paramedics, Field Medic and Doctor's Bag). As they are hard-coded (at least the First Aid Kit and Doctor's Bag are) and there are several issues with it (discovered while working on LH):
Use up check if not injured
-Maybe the bag should only be “used up” when actually used. It's strange the item can skip the “used” check based on injured or not, but it does not skip the “used up” check.
Hardcoded items
-These items (Doctor's Bag and First Aid Kit at least) are hard-coded and ignore “script overrides” set in “use_obj_on_proc” which is a pain as there is often a scenario where “healing” someone is a quest, and these hard-coded items can undermine it (example: RP Mod, Umbra Tribe, there is a tribal (from the cave: Serin) the player is supposed to leave alone, but the Doctor's Bag and First Aid Kit item can still be used, despite script trying to prevent it). Having a working “script override” for these items would be nice. [Not sure how easy this is, I'd assume it had been done years ago if simple. However, do see the next point, as apparently script override can knock out “drug items”, maybe the same can work for the Doctor's Bag and First Aid Kit etc.?]
Items ignoring “use_obj_on_proc” in obj_dude
-There is a difference between using Doctor's Bag and First Aid Kit (and skill books) items “inside” and “outside” inventory. This is just a detail really, but there is a similar issue which is that items used inside the inventory fail to trigger script in “use_obj_on_proc” of obj_dude.int.
(Example: Nevada has a water flask and a bloodpurifier item, both have script in obj_dude and are supposed to get replaced by an empty flask or to heal infection. However, both fail to do so if the items are used inside the inventory, they only work if used outside the inventory (i.e. from active hand-slot or through the “use inventory item on” icon).)
TEST NOTES:
While working on MegaMod I realized that this does not apply to “all” items, but only to items that have the “use” flag set.
An item that works:
-Item 758 (Black Box, MegaMod) can be used in inventory and seems to trigger checks and gvar correctly. If used outside inventory it works, too.
An item that requires to remove the “use” flag to work:
-Item 284 (Meat Jerky, 1.02d) fails to trigger script in “use_obj_on_proc” when used in inventory (only using it outside inventory works correctly). I removed the “use” flag from the proto and then the item would set the gvar (as scripted in “use_obj_on_proc”) but it would still fail to trigger a “remove if used” check (which I've added in “use_obj_on_proc”). Not sure why? (I think I tried to set the proto's charges to 0, too, but that didn't help (and it does work when using it outside inventory, so it's not the script). Anyway, it seems that removing the “use” flag allows some, but not all script in “use_obj_on_proc” to trigger.
Drug items that fail to work (plus script override note):
-Item 126 & 212 (Water, Nevada) are supposed to become item 266 when used. Only works when used outside inventory. Item 673 (Bloodpurifier, Nevada) is the same, only heals infection outside inventory. These Nevada items (126, 212 & 673) are all “drug” items and there seems to be no way to make them trigger (“use_obj_on_proc”) when used inside the inventory. I tried to add a “script override” but all that did was to remove the “drug effect” when used outside inventory. (I tested with Cheezy Poofs, so I didn't get the +1 RL and item wasn't used up on consumption), but when used inside inventory it still was a drug item (+1 RL and it got removed). So script override seems powerless when inside inventory, but outside inventory it can knock out the drug (aka proto). [Note: according to ProtoManager v1.2.1 none of these drug items have the “use” flag set... So either there is something else, or drug items are always treated as if that flag is set, regardless of proto settings.]
Anyway, as far as I know, there is currently no way to get drug items to trigger “use_obj_on_proc” while used inside inventory, only outside of it it does work. [Side-note: this would mean that the alcohol addiction of RP mod is “semi-bugged”, i.e. it should fail to trigger when drinking booze inside the inventory. Only outside of it should the addiction have a chance to actually trigger.]
And,
that's how far I've got... seems as if the “use” flag prevents “use_obj_on_proc”. And when removing the flag, it can trigger some script (but not removing the item..?). While drug items never seem to be able to trigger “use_obj_on_proc” while inside inventory.
Anyway, these are my notes on this topic so far... bit confused still (and may include errors on my part; not always easy to pinpoint these issues), but the basic points should be correct and the error exists in several mods (Nevada, RP, 1.02d).
Secondly, there's a fun option I had on my mind for a while.
This has probably been mentioned before by someone else but an interesting sfall option would be to adjust the starting skill calculations.
_________________Fallout 1__________(= min to max)________Fallout 2________(= min to max)
Small Guns________35+AG____________= 36 to 45___________5+(AG*4)________= 9 to 45
Big Guns__________10+AG____________= 11 to 20___________AG*2____________= 2 to 20
Energy Weapons____10+AG____________= 11 to 20___________AG*2___________= 2 to 20
Unarmed__________65+((ST+AG)/2)_____= 66 to 75__________30+((ST+AG)*2)__= 34 to 70
Melee Weapon______55+((ST+AG)/2)____= 56 to 65__________20+((ST+AG)*2)___= 24 to 60
Throwing__________40+AG____________= 41 to 50__________AG*4_____________= 4 to 40
First Aid___________30+((PE+IN)/2)*___= 31 to 40___________(PE+IN)*2________= 4 to 40
Doctor____________15+((PE+IN)/2)____= 16 to 25___________PE+IN+5_________= 7 to 25
Sneak_____________25+AG___________= 26 to 35___________(AG*3)+5_________= 8 to 35
Lockpick___________20+((PE+AG)/2)___= 21 to 30___________PE+AG+10________= 12 to 30
Steal______________20+AG___________= 21 to 30___________AG*3____________= 3 to 30
Traps_____________20+((PE+AG)/2)____= 21 to 30__________PE+AG+10_______= 12 to 30
Science___________25+(IN*2)_________= 27 to 45__________IN*4____________= 4 to 40
Repair____________20+IN____________= 21 to 30___________IN*3___________= 3 to 30
Speech___________25+(CH*2)________= 27 to 45___________CH*5___________= 5 to 50
Barter____________20+(CH*2)________= 22 to 40___________CH*4___________= 4 to 40
Gambling_________20+(LK*3)_________= 23 to 50___________LK*5___________= 5 to 50
Outdoorsman______5+((EN+IN)/2)_____= 6 to 15____________(EN+IN)*2______= 4 to 40
*(mind the bug: Skill.msg has this noted down as (PE+IN), but it's the same as Doctor (PE+IN)/2)
(all totals are always rounded down)
I think, Fallout 1 represents a vault dweller (minimum of science and general education, but poor Outdoorsman), while Fallout 2 represents a tribal (less education but better Outdoorsman skills). As the series never developed all mods are stuck with a tribal. Story Jackal set the difficulty to hard by default, which created a “bandit” (all skills down, but combat), while a mod like Nevada could have arguably used some kind of FO1 version (vault-dweller with low outdoorsman).
This is a detail but I think it would be nice if starting values could reflect the characters background.
Not sure how ingrained/easy to fix this is, though, especially in regard to the engine recalculating secondary stats (which happens very frequently; each opening/closing of the character sheet triggers one, for example. And so does “using an object on something” etc.).
Still, a mod may want to increase or lower the Outdoorsman specifically (vault dweller), or adjust barter specifically (trader), or some proficiency in Energy Weapons (tech background), or create less range for some skills (as Fo1 did) and so on. I don't think the Fo1 method is better (Fo2 improved on that) but the option to adjust starting values (in ddraw) could be an interesting option.
Then there is one question:
How do I adjust the colour of new iface_tags? Previously (sfall 4.0.1.0), they appeared red (like poison or radiation) now (sfall 4.2.7.0) they are green. How do I adjust that? I'm pretty sure it can't be set in script. And I didn't find any toggle in ddraw...
I only found the one in sfall_mods:
;Set the color of display name, available colors:
;0 - green
;1 - red
;2 - white
;3 - yellow
;4 - dark yellow
;5 - blue
;6 - purple
;7 - dull pink
DisplayNameColor=0
But that didn't change it. So how can I adjust [iface_tag] individually (i.e. as defined in data/english/text/game/INTRFACE.msg)? Especially, when the mod adds new ones to INTRFACE.msg. Like [show_iface_tag(5);] etc.
Sorry, if any of this has been already mentioned, discussed etc. I'm pretty busy atm and not up to date at all on messages and posts (including reading up on stuff). I'll check within a week regarding the iface_tag (i.e. it may be some time before I check again, just in case someone wonders). No hurry anyway.