Page 1 of 1

Version 9.4 - feedback: new modules

Posted: Wed Jan 23, 2019 4:15 pm
by Sting
Better Inventory Management.

Code: Select all

1) Better Inventory Management:
    1.1) Unlimited Containers:
        • remove weight and space limits from all containers (desks, bookcases, chests, lockers...)

Code: Select all

    1.2) Auto Weapon Unload:
        • when the player puts a weapon from any weapon slot into own inventory, the weapon should be automatically unloaded
        • when the player is in a barter screen with another character, all weapons in that character's inventory should be automatically unloaded
        • [Party Orders] when the player (key "T") or a companion (key "G") loots corpses, all looted ranged weapons should be automatically unloaded

Version 9.4 - feedback: new modules

Posted: Wed Jan 23, 2019 4:16 pm
by Sting
Better Interface/Controls.

Code: Select all

2) Better Interface/Controls:
    2.1) Info Window:
        • make it possible to change in the *.INI what color the numbers in the info window are:
            • color_log_names   - (default: white)  critter/object names
            • color_log_default - (default: green)  default text color
            • color_log_damage  - (default: red)    damage dealt to any critter/object, including healing fails
            • color_log_healing - (default: blue)   amount of HPs healed to any critter

Code: Select all

    2.2) Character Screen (key "C"):
        • if stats (SPECIAL) are temporarily lowered (by drugs, alcohol, radiation...), then change their value color from White to Red

Code: Select all

    2.3) Inventory Screen (key "I"):
        • if stats (SPECIAL) are temporarily lowered (by drugs, alcohol, radiation...), then change their value color from Green to Red

Code: Select all

    2.4) Free Awareness:
        • even without "Awareness" perk the player should be able to see exact HP values and weapons of his companions (as if he had this perk)
        • at the game start give the player 2 free perks: "Awareness" (optional: if PE >= 5) and "Empathy" (optional: if PE >= 7, IN >= 5)
            • these perks don't change the game balance in any way (same as "Friendly Foe" perk in F1) - they act as GUI improvement and aren't worth 1 perk point
        • make it optional in the *.INI which perk to give, if perk stat requirements should be taken into account and if awareness should be used when expecting companions:
            • party_awareness = 1/0 (1: works as if the player had Awareness perk, but only when examining party members)
            • give_awareness = 1/0
            • give_empathy = 1/0
            • perk_requirements = 1/0

Code: Select all

    2.5) Combat Speed Control:
        • automatically adjust game speed when in a combat; example *.INI options (replaces Sfall's SpeedMultiX):
            • combat_speed_multiplier = [50-1000]

Code: Select all

    2.6) No Idle Reloading:
        • disable weapon reloading animation and sound when the player is idle

Code: Select all

    2.7) Bright Transition Areas:
        • disable the darkening effect of green area transition zones so that they're clearly seen even during night (always bright green)

Version 9.4 - feedback: new modules

Posted: Wed Jan 23, 2019 4:17 pm
by Sting
Better Awareness.

Code: Select all

3) Better Awareness:
    3.1) improve it by giving additional info (in the lower-left infowindow):
        • normal (non-critical) damage range (against player's armor)
        • critical damage range (against player's armor + armor bypass + max critical multiplier):
            • if https://falloutmods.fandom.com/wiki/Critical_hit_tables#Player is correct (and is the same in every mod) and enemies don't have "Better Criticals" perk (their max critical roll = 100 -> effect 5), then max Dmg multiplier with Armor Bypass = 3 (eyes, torso, groin, legs)
        • example (in info window): "[normal Awareness info]. Damage range: min-max (critical: min-max)."
        • example (shorter version): "[normal Awareness info]. Damage: min-max (min-max)."
        • enemies with burst-capable weapons - assume that:
            • chance to hit for all bullets in a burst = 100%
            • chance to crit with each bullet:
                • if you implement hard cap for bursts in damage mod (look above: damage mod, part 5.5) and damage mod is installed/activated: = burst_criticals_cap
                • otherwise: = 100% (just to be prepared for the worst)
        • the main purpose is to inform the player how much damage an enemy can inflict (if an enemy can kill the player with 1 attack - very useful in ironman game) without the need to manually calculate potential damage (which is possible but very tiresome, considering that there're different damage formulas...)

Version 9.4 - feedback: new modules

Posted: Wed Jan 23, 2019 4:23 pm
by Sting
No Player Instakill. (NOT NEEDED: enemies don't have perks, including Better Criticals)

Code: Select all

4) No Player Instakill:
    4.1) remove all Death effects (with or without the stat check) from all criticals against the player:
        • if https://falloutmods.fandom.com/wiki/Critical_hit_tables#Player isn't correct, or a mod uses a modified table, or there's even a single enemy (with "Better Criticals" perk) that can roll critical effect 6 against the player, then it's absolutely imbalanced and game-breaking, since there's absolutely nothing the player can do against it except hoping for better random roll
        • all other effects and damage multipliers should be left alone - only the instakill effect should be removed (cancelled)

Version 9.4 - feedback: new modules

Posted: Wed Jan 23, 2019 4:25 pm
by Sting
Retroactive Player Hitpoints.

Code: Select all

5) Retroactive Player Hitpoints:
    5.1) if Strength and/or Endurance is increased/decreased (doesn't matter how: permanently, with drugs or items/power armor), player's Max Hitpoints should be immediatelly recalculated:
        • ST+1 -> gives   [1 HP]
        • ST-1 -> removes [1 HP]
        • EN+1 -> gives   [Lvl*1 HP (if EN becomes an even number) + 2HP (Initial bonus at character creation)]
        • EN-1 -> removes [Lvl*1 HP (if EN becomes an even number) + 2HP (Initial bonus at character creation)]
        • HP per level from EN should be considered retroactive against level 1
        • "Lifegiver" perks (+4 HP/lvl) should be considered retroactive against level 12 (when they can be taken)
        • "Brutish Hulk" perk (x2 HP/lvl) should be considered retroactive against level 12 (when it can be taken) [Fallout 1.5 only]
        • in other words:
            • MaxHP             - player's max hitpoints value at current level
            • HP_Initial        - hitpoints gained during character generation (at level 1)
            • HP_Per_Lvl        - hitpoints gained per each level up
            • Lvl               - player's current level
            • Lifegiver_Lvl     - level requirement for the perk
            • Lifegiver_Num     - number of times the perk is taken
            • Brutish_Hulk_Lvl  - level requirement for the perk
            • Brutish_Hulk_Num  - number of times the perk is taken

            • MaxHP = HP_Initial + HP_Per_Lvl
            • HP_Initial = 15+ST+EN*2
            • HP_Per_Lvl = HP_EN + HP_EN_Lifegiver + HP_EN_BrutishHulk + HP_EN_LifegiverBrutishHulk
                • Lifegiver_Lvl = Lifegiver_Lvl_Requirement-1
                    • default Lifegiver_Lvl_Requirement = 12
                    • -1, since it's retroactive for the level it's taken
                • Brutish_Hulk_Lvl = Brutish_Hulk_Lvl_Requirement-1
                    • default Brutish_Hulk_Lvl_Requirement = 12
                    • -1, since it's retroactive for the level it's taken
                • note: perk lvl requirement should be taken from game files (or from the *.INI), it shouldn't be a constant, because any change to the requirement (in another mod) will make HP calculation incorrect

                • HP_EN = (Lvl-1) * (2+roundDown(EN/2))
                • HP_EN_Lifegiver = max(0; (Lvl-Lifegiver_Lvl)) * (Lifegiver_Num*4)
                • HP_EN_BrutishHulk = Brutish_Hulk_Num * (Lvl-Brutish_Hulk_Lvl) * HP_Per_Lvl
                • HP_EN_LifegiverBrutishHulk = Brutish_Hulk_Num * max(0; (Lvl - if(Brutish_Hulk_Lvl > Lifegiver_Lvl; Brutish_Hulk_Lvl; Lifegiver_Lvl) )) * (Lifegiver_Num*4)
        • MaxHP change:
            • if MaxHP is increased (+), then CurrentHP isn't changed
            • if MaxHP is decreased (-) and if CurrentHP > MaxHP, then CurrentHP = MaxHP

Code: Select all

    5.2) pros in retroactivity:
        • not taking HP related perks (Gain EN, Lifegiver, Brutish Hulk) as soon as possible won't lead to (major) lost HP - it'll be possible to postpone them until later, if needed, giving more choises in character building
        • using ST and EN enhancing drugs (buffout) before battles will become meaningful, since they'll temporarily increase player's MaxHP (if ST/EN <10), increasing the chance to survive:
            • they won't increase CurrentHP, so medicine will be needed to bring CurrentHP to new MaxHP
            • such use of drugs and medicine (before combat) will be a good money sink
        • drug withdrawal/addiction and radiation effects will also become more serious, since decreasing ST/EN will immediately lower the player's MaxHP
        • in terms of game balance, there is no difference between Hitpoints and other derived stats (for example, Agility -> AC/AP; Stats -> Skills...); all derived stats should behave retroactively - it's only logical (and makes Endurance a bit more important stat even for non-hardcore players)

Version 9.4 - feedback: new modules

Posted: Wed Jan 23, 2019 4:25 pm
by Sting
Skill Point Storage.

Code: Select all

6) Skill Point Storage:
    6.1) make it possible to store >99 SP:
        • preferably, widening SP field in the character screen to 3 digits

Version 9.4 - feedback: new modules

Posted: Thu Jan 24, 2019 3:26 pm
by Magus
1.1) Don't see the point.
1.2) Unloading in own inventory could get annoying, not sure about it. In barter, that could be useful. Check inventory filter, though, it might have been implemented there.

2.1-3) Can't do. Ask sfall guys.
2.4) Not interested.
2.5) Why?
2.6) There was a component disabling sound, but it was removed when transitioning to script-only solution. With latest sfall fixes, maybe I'll revisit that.
2.7) Pretty sure it can't be done in a script, ask sfall devs.

3.1) Won't do myself, but would accept a pull.

5.1) Maybe I'll make stats retroactive, but probably not perks. Choices are supposed to be hard.

6.1) Can't be done in a script. Ask sfall devs.

Version 9.4 - feedback: new modules

Posted: Thu Jan 24, 2019 4:46 pm
by Sting
Magus wrote: Thu Jan 24, 2019 3:26 pm1.1) Don't see the point.
Very useful when playing without your Unlimited carry weight mod.

Magus wrote: Thu Jan 24, 2019 3:26 pm1.2) Unloading in own inventory could get annoying, not sure about it.
Yup, it's situational.

Magus wrote: Thu Jan 24, 2019 3:26 pm1.2) In barter, that could be useful.
Yes, but it would be the most useful when looting corpses, since usually only the ammo gets stored, but all the weapons are for sale only. And manually unloading every weapon gets tiresome very quickly.

Magus wrote: Thu Jan 24, 2019 3:26 pm1.2) Check inventory filter, though, it might have been implemented there.
Unfortunately, it's not (no such setting in "invenfilter.ini").

Magus wrote: Thu Jan 24, 2019 3:26 pm2.5) Why?
Convenience. I honestly don't know how I've played F2 before with 100% speed - the combat is very slow. If there's more than 4-5 critters (including all companions, npc and enemies), then even SpeedMulti 400 isn't enough. It's a bit too fast for non-combat interaction, though. I've played F1.5 using 2 SpeedMulti settings: SpeedMulti0=200 and SpeedMulti1=400 (on keys "[" and "]", very handy). But if there's a lot of fights, then it gets pretty tiresome constantly changing between non-combat and combat speeds.

So it's all about automation: AutoDoors, AutoUnloading, AutoSpeed.

Version 9.4 - feedback: new modules

Posted: Thu Jan 24, 2019 7:56 pm
by Magus
Sting wrote: Thu Jan 24, 2019 4:46 pm Convenience. I honestly don't know how I've played F2 before with 100% speed - the combat is very slow. If there's more than 4-5 critters (including all companions, npc and enemies), then even SpeedMulti 400 isn't enough. It's a bit too fast for non-combat interaction, though. I've played F1.5 using 2 SpeedMulti settings: SpeedMulti0=200 and SpeedMulti1=400 (on keys "[" and "]", very handy). But if there's a lot of fights, then it gets pretty tiresome constantly changing between non-combat and combat speeds.
Did you max out game settings for combat speed? And how do you bind keys to speed settings?
I use 125% and it seems to work fine for me, both in and out of combat.
I'll check this, but really not sure if it's doable.

Version 9.4 - feedback: new modules

Posted: Thu Jan 24, 2019 8:54 pm
by Sting
Magus wrote: Thu Jan 24, 2019 7:56 pmDid you max out game settings for combat speed? I use 125% and it seems to work fine for me, both in and out of combat.
Yes. I'm not telling that it's slower than it should be with default 100%. It's just that after trying 200% non-combat and 400% combat I can't get back to normal speeds - everything seems too slow. Especially when I was farming random encounters and defending caravans (in F1.5) and battling the same enemies over and over again to gain levels and loot. Playing ironman requires being cautious, even during caravan encounters: running away and waiting untill all of the critters (6 enemies, 4 allies) are out of ammo, waiting until all of them attack and move - the less that time is, the better.

Magus wrote: Thu Jan 24, 2019 7:56 pmAnd how do you bind keys to speed settings?
In "ddraw.ini":
• SpeedKey0=0x1A ; [
• SpeedKey1=0x1B ; ]

By the way, at first I used "-" and "=" keys, but soon found out that they also change brightness, so went for "[" and "]".