Fallout 2 mod FO2 Engine Tweaks (Sfall)

Discussion in 'Fallout General Modding' started by Dude101, Jul 30, 2007.

  1. hexer

    hexer It's PJ! Modder

    Dec 7, 2013
    Oh yes, I'll be adding this. Thank you @NovaRain & @Mr.Stalin
    • [Rad] [Rad] x 1
  2. Lexx

    Lexx Testament to the ghoul lifespan
    Moderator Modder

    Apr 24, 2005
    But you people know that party control in itself is nothing new, right? This update only adds another (less intrusive) alternative to that.
  3. Slaughter Manslaught

    Slaughter Manslaught Vault Senior Citizen

    Dec 11, 2006
    Yeah, but its still cool. Also it reminded of how Van Buren did it.
    Also it would be cool if skills and stats were involved with it, I think Van Buren was going to use the speech skill or CH for this.

    I tried playing FO2 with Party Control but it made it a bit too easy.

    Btw, its kinda sad that no one ever did a Total Conversion which uses Party Control by default and accounts for it in difficulty. Just like no one aparently uses one of the ammo/weapon overhauls on mods, or some of the other cool SFall options like stats going beyond 10, like in FOT. There's immense potential which SFall unlocks, and yet so much is untapped I feel.
  4. tanuki

    tanuki First time out of the vault

    Jan 18, 2021
    Hello all,

    Quick question that I can't find the answer to elsewhere:

    Does changing NPCAutoLevel* from the default 0 to 1 generally result in more level ups for your companions, or fewer?

    Thank you,

    * 'Set to 1 to disable the random element in npc levelling; This will cause all npc party members to automatically level up as soon as the player reaches the requirements'
  5. NovaRain

    NovaRain Casual Modder Modder

    Mar 10, 2007
    It has nothing to do with the number of levels of companions. If a companion can level up 5 times, he still only levels up 5 times no matter the option.
    The only difference is enabling the option will make companions reach their max level sooner than the default/vanilla.
    • [Rad] [Rad] x 1
  6. burn

    burn Mildly Dipped

    Apr 22, 2012
    Party Orders allows to order party members to switch ammo.
    • [Rad] [Rad] x 1
  7. Slaughter Manslaught

    Slaughter Manslaught Vault Senior Citizen

    Dec 11, 2006
    Fascinating, thank you, burn!

    Definitively going to use this for my next playthrough of Fallout 2.
  8. Muttie

    Muttie It Wandered In From the Wastes

    Oct 9, 2017
    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).)
    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.]
    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, they appeared red (like poison or radiation) now (sfall 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
    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.
  9. NovaRain

    NovaRain Casual Modder Modder

    Mar 10, 2007
    Check "BoxBarCount" and "BoxBarColours" in ddraw.ini, or use "set_iface_tag_text" function (check sfall function notes.txt) if you want colors other than red/green.
    • [Rad] [Rad] x 1
  10. Mr.Stalin

    Mr.Stalin Agent of Enclave Modder

    Oct 29, 2015
    You need to use the sfall hooks in order to avoid problems with "USE".
    • [Rad] [Rad] x 1
  11. Muttie

    Muttie It Wandered In From the Wastes

    Oct 9, 2017
    Found it myself :)
    The problem was I used ctrl+f and searched for “display” “Iface tag” and “tag” without results. Should have searched for “interface boxes” (it's even mentioned in sfall-mods.int; “BoxBarCount”). Just didn't click with me.
    I eventually found it when searching for colour (well, “colo” because spelling).
    Actually, this seems to be around for a while, too. Even exists in sfall
    Just a detail, but maybe it could mention the term “iface” or “tag” as that is the term used when coming from the script (i.e. [show_iface_tag(4);])
    But, just a detail.