Fallout 2 mod F2: damage calculation change, a FIX (v3 by my count)

Discussion in 'Fallout General Modding' started by Glovz, Jul 10, 2013.

  1. Glovz

    Glovz Vault Dweller
    Modder

    Sep 16, 2005
    Definitely still need it. :)

    Thanks for asking!
     
  2. JimTheDinosaur

    JimTheDinosaur Vault Dweller
    Modder

    Mar 17, 2013
    Then I'll get on it :salute:

    Do you have a list of values lying around or do I have to use the javascript?
     
  3. Glovz

    Glovz Vault Dweller
    Modder

    Sep 16, 2005
    Sorry no list of values currently, I'm at work so I will not be able to get you a list till later, but if you can use the html/javascript file then it's all right there. :D

    Let me know if you still want the list though. ;)
     
  4. Glovz

    Glovz Vault Dweller
    Modder

    Sep 16, 2005
    @Jim
    List:

    .223 FMJ --- ammoX: 2 ammoY: 1 ammoDRM: -5

    .44 Magnum FMJ --- ammoX: 2 ammoY: 2 ammoDRM: -10

    .44 Magnum JHP --- ammoX: 2 ammoY: 1 ammoDRM: -10

    .45 Caliber --- ammoX: 2 ammoY: 1 ammoDRM: -5

    2mm EC --- ammoX: 1 ammoY: 3 ammoDRM: -20

    4.7mm caseless --- ammoX: 1 ammoY: 2 ammoDRM: -40

    5mm AP --- ammoX: 1 ammoY: 2 ammoDRM: -15

    5mm JHP --- ammoX: 2 ammoY: 1 ammoDRM: -15

    7.62mm --- ammoX: 2 ammoY: 2 ammoDRM: -20

    9mm --- ammoX: 2 ammoY: 1 ammoDRM: 0

    9mm ball --- ammoX: 1 ammoY: 1 ammoDRM: 0

    10mm AP --- ammoX: 1 ammoY: 2 ammoDRM: 0

    10mm JHP --- ammoX: 2 ammoY: 1 ammoDRM: 0

    14mm AP --- ammoX: 1 ammoY: 2 ammoDRM: -25

    BB --- ammoX: 1 ammoY: 1 ammoDRM: 0

    12 Gauge Shotgun Shells --- ammoX: 3 ammoY: 1 ammoDRM: 0

    HN AP Needler Cartridge --- ammoX: 1 ammoY: 2 ammoDRM: -5

    HN Needler Cartridge --- ammoX: 1 ammoY: 1 ammoDRM: -5

    Explosive Rocket --- ammoX: 1 ammoY: 1 ammoDRM: 0

    Rocket AP --- ammoX: 1 ammoY: 2 ammoDRM: 0

    Flamethrower Fuel --- ammoX: 1 ammoY: 1 ammoDRM: 0

    Flamethrower Fuel Mk II --- ammoX: 1 ammoY: 1 ammoDRM: -15

    Microfusion Cell --- ammoX: 2 ammoY: 1 ammoDRM: 0

    Small Energy Cell --- ammoX: 2 ammoY: 1 ammoDRM: 0
     
  5. JimTheDinosaur

    JimTheDinosaur Vault Dweller
    Modder

    Mar 17, 2013
    Thanks chief! I'll get to it once I've made the latest update to my stuff.
     
  6. JimTheDinosaur

    JimTheDinosaur Vault Dweller
    Modder

    Mar 17, 2013
    Here's your script Glovz: click. I made all the values customizable through an .ini and entered the values you listed as the default ones. Here's a view of the ini:

    Code:
    [FIX]
    
    223_FMJDRM=-5
    223_FMJX=2
    223_FMJY=1
    10MM_APDRM=-0
    10MM_APX=1
    10MM_APY=2
    10MM_JHPDRM=-0
    10MM_JHPX=2
    10MM_JHPY=1
    5MM_JHPDRM=-15
    5MM_JHPX=2
    5MM_JHPY=1
    5MM_APDRM=-15
    5MM_APX=1
    5MM_APY=2
    44_MAGNUM_JHPDRM=-10
    44_MAGNUM_JHPX=2
    44_MAGNUM_JHPY=1
    44_FMJ_MAGNUMDRM=-10
    44_FMJ_MAGNUMX=2
    44_FMJ_MAGNUMY=2
    45_CALIBER_AMMODRM=-5
    45_CALIBER_AMMOX=2
    45_CALIBER_AMMOY=1
    2MM_EC_AMMODRM=-20
    2MM_EC_AMMOX=1
    2MM_EC_AMMOY=3
    4_7MM_CASELESSDRM=-40
    4_7MM_CASELESSX=1
    4_7MM_CASELESSY=2
    7_62MM_AMMODRM=-20
    7_62MM_AMMOX=2
    7_62MM_AMMOY=2
    9MM_AMMODRM=-0
    9MM_AMMOX=2
    9MM_AMMOY=1
    9MM_BALLDRM=-0
    9MM_BALLX=1
    9MM_BALLY=1
    14MM_APDRM=-25
    14MM_APX=1
    14MM_APY=2
    SHOTGUN_SHELLSDRM=-0
    SHOTGUN_SHELLSX=3
    SHOTGUN_SHELLSY=1
    FLAMETHROWER_FUELDRM=-0
    FLAMETHROWER_FUELX=1
    FLAMETHROWER_FUELY=1
    FLAMETHROWER_FUEL_MK_IIDRM=-15
    FLAMETHROWER_FUEL_MK_IIX=1
    FLAMETHROWER_FUEL_MK_IIY=1
    HN_AP_NEEDLER_CARTRIDGEDRM=-5
    HN_AP_NEEDLER_CARTRIDGEX=1
    HN_AP_NEEDLER_CARTRIDGEY=2
    HN_NEEDLER_CARTRIDGEDRM=-5
    HN_NEEDLER_CARTRIDGEX=1
    HN_NEEDLER_CARTRIDGEY=1
    MICRO_FUSION_CELLDRM=-0
    MICRO_FUSION_CELLX=2
    MICRO_FUSION_CELLY=1
    SMALL_ENERGY_CELLDRM=-0
    SMALL_ENERGY_CELLX=2
    SMALL_ENERGY_CELLY=1
    EXPLOSIVE_ROCKETDRM=-0
    EXPLOSIVE_ROCKETX=1
    EXPLOSIVE_ROCKETY=1
    ROCKET_APDRM=-0
    ROCKET_APX=1
    ROCKET_APY=2
    BBSDRM=-0
    BBSX=1
    BBSY=1
    ROBO_ROCKET_AMMODRM=-0
    ROBO_ROCKET_AMMOX=1
    ROBO_ROCKET_AMMOY=1
    In case you're wondering, this is how the script looks:

    [spoiler:0c17f7cbe3]
    Code:
    procedure start;
    
    
    #include "C:\Program Files (x86)\GOG.com\Fallout 2 Mapper\scripts\HEADERS\sfall.h"
    #include "C:\Program Files (x86)\GOG.com\Fallout 2 Mapper\scripts\HEADERS\define.h"
    
    procedure start begin
      if game_loaded then begin
        set_global_script_type(0);
        set_global_script_repeat(100);
      end else begin
      	 if get_proto_data(PID_223_FMJ, 44) != -16 then begin
      	 	set_proto_data(PID_223_FMJ, 44, -16);
      		set_proto_data(PID_223_FMJ, 48, get_ini_setting("GlovzFix.ini|FIX|223_FMJDRM"));
      		set_proto_data(PID_223_FMJ, 52, get_ini_setting("GlovzFix.ini|FIX|223_FMJX"));
      		set_proto_data(PID_223_FMJ, 56, get_ini_setting("GlovzFix.ini|FIX|223_FMJY"));
      		set_proto_data(PID_10MM_AP, 48, get_ini_setting("GlovzFix.ini|FIX|10MM_APDRM"));
      		set_proto_data(PID_10MM_AP, 52, get_ini_setting("GlovzFix.ini|FIX|10MM_APX"));
      		set_proto_data(PID_10MM_AP, 56, get_ini_setting("GlovzFix.ini|FIX|10MM_APY"));
      		set_proto_data(PID_10MM_JHP, 48, get_ini_setting("GlovzFix.ini|FIX|10MM_JHPDRM"));
      		set_proto_data(PID_10MM_JHP, 52, get_ini_setting("GlovzFix.ini|FIX|10MM_JHPX"));
      		set_proto_data(PID_10MM_JHP, 56, get_ini_setting("GlovzFix.ini|FIX|10MM_JHPY"));
      		set_proto_data(PID_5MM_JHP, 48, get_ini_setting("GlovzFix.ini|FIX|5MM_JHPDRM"));
      		set_proto_data(PID_5MM_JHP, 52, get_ini_setting("GlovzFix.ini|FIX|5MM_JHPX"));
      		set_proto_data(PID_5MM_JHP, 56, get_ini_setting("GlovzFix.ini|FIX|5MM_JHPY"));
      		set_proto_data(PID_5MM_AP, 48, get_ini_setting("GlovzFix.ini|FIX|5MM_APDRM"));
      		set_proto_data(PID_5MM_AP, 52, get_ini_setting("GlovzFix.ini|FIX|5MM_APX"));
      		set_proto_data(PID_5MM_AP, 56, get_ini_setting("GlovzFix.ini|FIX|5MM_APY"));
      		set_proto_data(PID_44_MAGNUM_JHP, 48, get_ini_setting("GlovzFix.ini|FIX|44_MAGNUM_JHPDRM"));
      		set_proto_data(PID_44_MAGNUM_JHP, 52, get_ini_setting("GlovzFix.ini|FIX|44_MAGNUM_JHPX"));
      		set_proto_data(PID_44_MAGNUM_JHP, 56, get_ini_setting("GlovzFix.ini|FIX|44_MAGNUM_JHPY"));
      		set_proto_data(PID_44_FMJ_MAGNUM, 48, get_ini_setting("GlovzFix.ini|FIX|44_FMJ_MAGNUMDRM"));
      		set_proto_data(PID_44_FMJ_MAGNUM, 52, get_ini_setting("GlovzFix.ini|FIX|44_FMJ_MAGNUMX"));
      		set_proto_data(PID_44_FMJ_MAGNUM, 56, get_ini_setting("GlovzFix.ini|FIX|44_FMJ_MAGNUMY"));
      		set_proto_data(PID_45_CALIBER_AMMO, 48, get_ini_setting("GlovzFix.ini|FIX|45_CALIBER_AMMODRM"));
      		set_proto_data(PID_45_CALIBER_AMMO, 52, get_ini_setting("GlovzFix.ini|FIX|45_CALIBER_AMMOX"));
      		set_proto_data(PID_45_CALIBER_AMMO, 56, get_ini_setting("GlovzFix.ini|FIX|45_CALIBER_AMMOY"));
      		set_proto_data(PID_2MM_EC_AMMO, 48, get_ini_setting("GlovzFix.ini|FIX|2MM_EC_AMMODRM"));
      		set_proto_data(PID_2MM_EC_AMMO, 52, get_ini_setting("GlovzFix.ini|FIX|2MM_EC_AMMOX"));
      		set_proto_data(PID_2MM_EC_AMMO, 56, get_ini_setting("GlovzFix.ini|FIX|2MM_EC_AMMOY"));
      		set_proto_data(PID_4_7MM_CASELESS, 48, get_ini_setting("GlovzFix.ini|FIX|4_7MM_CASELESSDRM"));
      		set_proto_data(PID_4_7MM_CASELESS, 52, get_ini_setting("GlovzFix.ini|FIX|4_7MM_CASELESSX"));
      		set_proto_data(PID_4_7MM_CASELESS, 56, get_ini_setting("GlovzFix.ini|FIX|4_7MM_CASELESSY"));
      		set_proto_data(PID_7_62MM_AMMO, 48, get_ini_setting("GlovzFix.ini|FIX|7_62MM_AMMODRM"));
      		set_proto_data(PID_7_62MM_AMMO, 52, get_ini_setting("GlovzFix.ini|FIX|7_62MM_AMMOX"));
      		set_proto_data(PID_7_62MM_AMMO, 56, get_ini_setting("GlovzFix.ini|FIX|7_62MM_AMMOY"));
      		set_proto_data(PID_9MM_AMMO, 48, get_ini_setting("GlovzFix.ini|FIX|9MM_AMMODRM"));
      		set_proto_data(PID_9MM_AMMO, 52, get_ini_setting("GlovzFix.ini|FIX|9MM_AMMOX"));
      		set_proto_data(PID_9MM_AMMO, 56, get_ini_setting("GlovzFix.ini|FIX|9MM_AMMOY"));
      		set_proto_data(PID_9MM_BALL, 48, get_ini_setting("GlovzFix.ini|FIX|9MM_BALLDRM"));
      		set_proto_data(PID_9MM_BALL, 52, get_ini_setting("GlovzFix.ini|FIX|9MM_BALLX"));
      		set_proto_data(PID_9MM_BALL, 56, get_ini_setting("GlovzFix.ini|FIX|9MM_BALLY"));
      		set_proto_data(PID_14MM_AP, 48, get_ini_setting("GlovzFix.ini|FIX|14MM_APDRM"));
      		set_proto_data(PID_14MM_AP, 52, get_ini_setting("GlovzFix.ini|FIX|14MM_APX"));
      		set_proto_data(PID_14MM_AP, 56, get_ini_setting("GlovzFix.ini|FIX|14MM_APY"));
      		set_proto_data(PID_SHOTGUN_SHELLS, 48, get_ini_setting("GlovzFix.ini|FIX|SHOTGUN_SHELLSDRM"));
      		set_proto_data(PID_SHOTGUN_SHELLS, 52, get_ini_setting("GlovzFix.ini|FIX|SHOTGUN_SHELLSX"));
      		set_proto_data(PID_SHOTGUN_SHELLS, 56, get_ini_setting("GlovzFix.ini|FIX|SHOTGUN_SHELLSY"));
      		set_proto_data(PID_FLAMETHROWER_FUEL, 48, get_ini_setting("GlovzFix.ini|FIX|FLAMETHROWER_FUELDRM"));
      		set_proto_data(PID_FLAMETHROWER_FUEL, 52, get_ini_setting("GlovzFix.ini|FIX|FLAMETHROWER_FUELX"));
      		set_proto_data(PID_FLAMETHROWER_FUEL, 56, get_ini_setting("GlovzFix.ini|FIX|FLAMETHROWER_FUELY"));
      		set_proto_data(PID_FLAMETHROWER_FUEL_MK_II, 48, get_ini_setting("GlovzFix.ini|FIX|FLAMETHROWER_FUEL_MK_IIDRM"));
      		set_proto_data(PID_FLAMETHROWER_FUEL_MK_II, 52, get_ini_setting("GlovzFix.ini|FIX|FLAMETHROWER_FUEL_MK_IIX"));
      		set_proto_data(PID_FLAMETHROWER_FUEL_MK_II, 56, get_ini_setting("GlovzFix.ini|FIX|FLAMETHROWER_FUEL_MK_IIY"));
      		set_proto_data(PID_HN_AP_NEEDLER_CARTRIDGE, 48, get_ini_setting("GlovzFix.ini|FIX|HN_AP_NEEDLER_CARTRIDGEDRM"));
      		set_proto_data(PID_HN_AP_NEEDLER_CARTRIDGE, 52, get_ini_setting("GlovzFix.ini|FIX|HN_AP_NEEDLER_CARTRIDGEX"));
      		set_proto_data(PID_HN_AP_NEEDLER_CARTRIDGE, 56, get_ini_setting("GlovzFix.ini|FIX|HN_AP_NEEDLER_CARTRIDGEY"));
      		set_proto_data(PID_HN_NEEDLER_CARTRIDGE, 48, get_ini_setting("GlovzFix.ini|FIX|HN_NEEDLER_CARTRIDGEDRM"));
      		set_proto_data(PID_HN_NEEDLER_CARTRIDGE, 52, get_ini_setting("GlovzFix.ini|FIX|HN_NEEDLER_CARTRIDGEX"));
      		set_proto_data(PID_HN_NEEDLER_CARTRIDGE, 56, get_ini_setting("GlovzFix.ini|FIX|HN_NEEDLER_CARTRIDGEY"));
      		set_proto_data(PID_MICRO_FUSION_CELL, 48, get_ini_setting("GlovzFix.ini|FIX|MICRO_FUSION_CELLDRM"));
      		set_proto_data(PID_MICRO_FUSION_CELL, 52, get_ini_setting("GlovzFix.ini|FIX|MICRO_FUSION_CELLX"));
      		set_proto_data(PID_MICRO_FUSION_CELL, 56, get_ini_setting("GlovzFix.ini|FIX|MICRO_FUSION_CELLY"));
      		set_proto_data(PID_SMALL_ENERGY_CELL, 48, get_ini_setting("GlovzFix.ini|FIX|SMALL_ENERGY_CELLDRM"));
      		set_proto_data(PID_SMALL_ENERGY_CELL, 52, get_ini_setting("GlovzFix.ini|FIX|SMALL_ENERGY_CELLX"));
      		set_proto_data(PID_SMALL_ENERGY_CELL, 56, get_ini_setting("GlovzFix.ini|FIX|SMALL_ENERGY_CELLY"));
      		set_proto_data(PID_EXPLOSIVE_ROCKET, 48, get_ini_setting("GlovzFix.ini|FIX|EXPLOSIVE_ROCKETDRM"));
      		set_proto_data(PID_EXPLOSIVE_ROCKET, 52, get_ini_setting("GlovzFix.ini|FIX|EXPLOSIVE_ROCKETX"));
      		set_proto_data(PID_EXPLOSIVE_ROCKET, 56, get_ini_setting("GlovzFix.ini|FIX|EXPLOSIVE_ROCKETY"));
      		set_proto_data(PID_ROCKET_AP, 48, get_ini_setting("GlovzFix.ini|FIX|ROCKET_APDRM"));
      		set_proto_data(PID_ROCKET_AP, 52, get_ini_setting("GlovzFix.ini|FIX|ROCKET_APX"));
      		set_proto_data(PID_ROCKET_AP, 56, get_ini_setting("GlovzFix.ini|FIX|ROCKET_APY"));
      		set_proto_data(PID_BBS, 48, get_ini_setting("GlovzFix.ini|FIX|BBSDRM"));
      		set_proto_data(PID_BBS, 52, get_ini_setting("GlovzFix.ini|FIX|BBSX"));
      		set_proto_data(PID_BBS, 56, get_ini_setting("GlovzFix.ini|FIX|BBSY"));
      		set_proto_data(PID_ROBO_ROCKET_AMMO, 48, get_ini_setting("GlovzFix.ini|FIX|ROBO_ROCKET_AMMODRM"));
      		set_proto_data(PID_ROBO_ROCKET_AMMO, 52, get_ini_setting("GlovzFix.ini|FIX|ROBO_ROCKET_AMMOX"));
      		set_proto_data(PID_ROBO_ROCKET_AMMO, 56, get_ini_setting("GlovzFix.ini|FIX|ROBO_ROCKET_AMMOY"));
        		//display_msg("thing");
      	 end
      end
    end
    [/spoiler:0c17f7cbe3]




    edit: by the way, I tagged you in the codex thread yo.
     
  7. Glovz

    Glovz Vault Dweller
    Modder

    Sep 16, 2005
    @Jim
    A thousand thanks!!! :notworthy: :ok: :clap: :salute:
     
  8. gvx

    gvx First time out of the vault

    Apr 4, 2008
    Is it can run in your Jim's Mods Version 1.25?
     
  9. JimTheDinosaur

    JimTheDinosaur Vault Dweller
    Modder

    Mar 17, 2013
    Yes.

    As an aside, you can even use it with any other damage fix (say, YAAM), or even the original formula. All you have to do is go through the default values and change them to ones that make sense to you.
     
  10. Glovz

    Glovz Vault Dweller
    Modder

    Sep 16, 2005
    I updated the first post with an alternate link to download the script Jim provided and made sure to credit Jim. ;)
     
  11. Glovz

    Glovz Vault Dweller
    Modder

    Sep 16, 2005
    NovaRain identified a few small issues, they have been fixed, file sent to Timeslip and I updated the assemblyCode_2.txt file linked to in the first post of this thread.

    Thank you NovaRain!!!
     
  12. Glovz

    Glovz Vault Dweller
    Modder

    Sep 16, 2005
    Updated first post in this thread with updated link to updated script and ini provided by NovaRain.

    Thanks again NovaRain! :ok::salute::)
     
  13. Glovz

    Glovz Vault Dweller
    Modder

    Sep 16, 2005
    Fixed link in first post. :oops:
     
  14. Glovz

    Glovz Vault Dweller
    Modder

    Sep 16, 2005
    NovaRain identified a small bug in my mod - now updated in this file: http://di.proximitystore.com/assemblyCode_2.txt

    The cpp file version has been sent to Timeslip to be used to update sfall with.

    Thank you NovaRain for continual testing and feedback! :)

    Hopefully Timeslip can provide killap with a new sfall version before the next RP version is released. ;)
     
  15. Glovz

    Glovz Vault Dweller
    Modder

    Sep 16, 2005
    Once again a small fix was made to the mod and the first post of this thread has been updated.

    I also think I may have a method to allow for X and Y values to be any value greater than 0, but if you download and modify the calculator then you'll see as the X and Y values go up the less meaningful they become. I may have a new version of the mod/fix again in a week or two.

    Also, I've been thinking about CM and that maybe the multiplied damage is still too big. Right now ND is multiplied by CM and divided by 2, possible CM values from the critical hit tables are 3, 4, 5, 6, and 8. Which means ND can become up to 4 times (400%) greater with the right critical hit. Is it just me or does that seem like too much?

    I was thinking of adding a second version of my mod/fix which possibly used CM as a multiplier to a standard percentage. Example: assert that a base level critical hit is worth 25% of ND [total ND=ND+(25% of ND)], so if CM were 3 then it would be 25% multiplied by 3 making the critical hit worth 75% of ND. This would keep a critical hit to a max of 200%.

    Does anyone want this?
     
  16. NovaRain

    NovaRain Casual Modder

    Mar 10, 2007
    In the current version both X & Y are limited to maximum 9. I think they should be enough because dividing DT/DR by 9 reduces all armors in game to leather armor level at best (Frank Horrigan got 20 DT & 70% DR). Unless you're looking to be compatible with other existing ammo proto edits (but even in F2WR there's no X or Y greater than 9), e.g. if I modifed X/Y for my AP ammo to 19/20 (dam x0.95, like in New Vegas) for vanilla formula. But still, any X or Y higher than 9 could mean armor nearly completely penetrated in your fix.

    Or do you want to simplify those subtraction loops for X & Y? Like getting X or Y value (make sure it's a positive number), dividing it by 2 with sar operation to get the "rounding up" threshold, starting the subtraction loop, then comparing the remainder value to the "rounding up" threshold. It should no longer need nine different check jumps I suppose?

    I'm still against modifying how CM works in internal code level. If someone wants to lower/customize CM in critical hit tiers, using CriticalOverrides.ini from sfall should be enough, but I have to double check how it works with your fix.

    EDIT: OK, the INI works well with your fix enabled. I can customize CM value from minimal 3 (x1.5) to ridiculously high like 999 (x499.5).
     
    Last edited: Mar 13, 2014
  17. Glovz

    Glovz Vault Dweller
    Modder

    Sep 16, 2005
    Updated the first post to reflect the latest update. :)
     
  18. lujo

    lujo Look, Ma! Two Heads!

    Jun 14, 2013
    Ok, so I took a look, and here's what I think. Don't take any of this the wrong way - I'm sure the game can work if you apply your formula, this is just for fun and science and to give you something to ponder if you ever feel like it + a bunch of somewhat too verbose and rambling well intentioned fun.

    Also, I can't make heads or tails of the formula, but I can of your assumptions about it, so that's what I'll comment:

    By crits being the default armor bypassing mechanic? As a design decision? To make critters occasionally hit you for lots even after you've found the game-sellig iconic armors? Which is supposed to not have a downside? And to give any character a chance to beat the bad guys regardless of their armor?

    As for how it works in RL sense, well, most medieval warfare conissted of causing critical damage despite the other guy having armor - breaking bonse, necks, windpipes, ribs, causing internal bleeding from impact, jamming their own armor into places where it wasn't supposed to be jammed... Plenty of swords were basicly large metal bars designed with this in mind, it's rather more easy than it sounds. I'm not a big fan of applying RL logic to Falout 2, especialy when it comes to combat, but I wouldn't be perplexed by this question even if RL logic was what I had to go by.

    Just saying, though, I'm not in love with the original design, either, if something else works better in practice and doesn't mess up what the original design was ment to do XD

    And why not - there's bullets that stick in you, bulet's that don't stick in you, bullets that fragment, bullets which leave small holes, bullets that leave large holes, incendiary bullets, internatinally banned bullets... The influence of a gun on a bullet is pretty standard, what the bullet does after leaving the barrel can have a million influencing factors in RL, so the variance of the end result has very little do do with a gun. Again, RL logic, I know, just saying...

    And having bullets be the main influencing factor on damage variance is a nice way for the devs to have all sorts of guns around but make sure some enemies are ussing dummies (AP and terrible by default munitions) and some enemies are using live ammo (JHP). If it was ever ment to work any other way they would've given you control over NPC's so that you can rotate ammo according to need as you would need to if the rock-paper-scizzors worked. Phobos fell into the trap of deciding that non-working AP ammo was a bug and even made AP ammo variants for shotguns and AP .223 bullets, but he soon discovered that he needs a party orders hotkey to tell NPC's to swap ammo (I loled hard at this myself, though, as not being given control over NPC's is basically solid proof that AP ammo was never ment to work anyway. I also chuckle when people praise the AP ammo bugfix / weapon mods but are horrified by the idea of using the party combat control "hack").

    The way the game works is that you just shoot ammo that does damage and sell ammo that doesn't, and do aimed shots at stuff which is armored, and it's armored to you wouldn't burst everything down like an idiot. Or just shoot at it untill you score a crit, and you're given an effortlessly acquired NPC which can score those crits for you (he was so popular someone even made a voiced talking head for him, small wonder XD).

    If what your formula does is make a more interesting system, by all means, I'm not against is, but the game wasn't made with a more complex, and paticularly not a realistic, system in mind. In fact, combat seems to have been more of a way to make you hang around towns and do quest, then mark your progress by allowing you to safely move to the next zone. I basically think combat was dummied out of the game, not bugged. Fiddling w weapons always seems like someone's trying to add actual swordfighting moves to the Monkey Island swordfighting.

    Again, because crits are ment to ignore armor? And armor is only there to make sure you do quests and put some skills into small guns so you can actually hit someone? And damage reduction is only there to make sure burst doesn't work on everything ever? And someone in charge of the development had a stroke of genious and decided that special was a dumb idea and that trying to simulate gunfights in a story driven epic RPG realisticaly is unworkable? So they left the descriptions to make it look more complex than what they decided to make the game with? And then it was still unplayable so they added stimpaks to make sure nothing ever goes wrong? And made special case guns and stuff and planted way too much stuff around to make sure combat never really gets in the way of playing the game much?

    So that enemies could use the same guns as you do but don't do as much damage as you do as they're all not ment to win any fights, while you were ment to win every one you're properly equipped for? To make some of the ammo you can find or that enemies drop useless to you because it's too easy too get? Most ammo in the game is being shot at YOU, and the game needed a way to modify the damage, but couldn't do it through modifying either the enemies or the guns, so ammo was the only thing by which you could modify the damage source regardless of which armor the CO has on (meaning in effect where's he been allready).

    Because if you turn the dial up or down, stuff is ment to do more damage to you regardless of how far you get in the story? To not make power armor even more of a plot armor?

    Congrats, you're not playing Fallout 2 anymore XD You might be playing a better game for all I know, but Fallout 2 it isn't.

    Ah, so you basicaly nerfed the "live" ammo? Good on you!

    So you basically buffed the "dummy" bullets? Good on you!

    So you decided that you didn't like how Fallout 2 difficulty button works, so you made it work only unless you have the end game gear which was allready designed to make you so powerful they had to make cirts bypass armor just to get around it? Good on you!

    You mean the ammo for the end game stuff which uses the skill you're intended to be using all game long as it affects most of the guns you were ment to be used? The ones with strictly superior stats to anything else which was put as rewrds for long quests or otherwise on guards to ensure they kill you dead if you ever fight them? The stuff that was made powerful enugh to ensure combat doesn't get in the way of completing the game? The default "boring invincible apex weapons" stuff with no dummy bullets as it was designed to be the only thing to inconvinience you after you get the game selling armor and was ment to be used against guys in the game selling end game armor? XD


    Exept it's rare and inconcequential an AP ammo isn't supposed to work anyway?

    Exept it's rare and usable by an NPC, so they made it live ammo?

    Except it's in every easter egg random encounter / secret location which makes guns that use it never run out, and the guns that use it were never really ment to be used anyway?

    Who knows, but if the change would make the Grese Gun les silly good, I support it. 9mm ball is inconcequential, needler who knows, and the shotgun shells are probably ment to be default boring ammo anyway.

    It's probably because they hand it out like cakes, and to prevent people from rushing out to get it early and laying waste to the early game with lasers. I think they weren't ment to be used by you at all, they were just ment to be a plot device. And they allready made big guns the default "silly dangerous enemy weapon" which actually could be used by the player, so lasers kinda didn't have a place. Too many weapon types.

    Eh, the guy who originaly picked weapon and ammo types was a gun nut, and the wole game is an incomprensible jumble of items which have letters and numbers instead of names to someone who isn't one. Heck, learning to mod Fallout 2 would be easier to a vast majority of people if ammo was called "blue bullets", "red bullers", "yellow bullets in black case", "the first pistol", "the first SMG", "the first shotgun". I'm willing to bet an executive somewhere at one point straight up said "People, we're making a game, not a balistics simulator. Make all this crap about 5X simpler. Keep the graphics and labels as is, people aren't gonna look at them anyway. Make sure they don't have to.", and then most of the stuff wich "doesn't make sense" was aplied. So now you know if a gun does adequate damage by shooting it at someone, and if you're not happy, you equip a different gun. If you design a game to have a working AP system, you'd notice it's not working. It's pretty much impossible that something like this would slip one someone who was crazy enough to come up with it.

    Having said that, I'm no purist, as long as a weapon/ammo modification doesn't mess anything up I don't mind trying it out (as long as it's compatible with my ussual stuff). However, the likelyhood of messing with it NOT affecting anything, whatever you do, is rather low. And the game was made to be incredibly simple, with combat as more of an aftertought than something which was ment to have serious development, otherwise the random encounters would've been made to work completely differently, and so would the NPC's etc. etc.

    Well, technically, the biggest factor is the AP cost, most everything else is smoke, mirrors, flavor and leftovers of a gun nut's megalomania. Oh, and burst range. But if someone's looking to change that, then yes, apart from the AP cost, the biggest impact on a guns performance should work like you say.





    And finally - if you do anything at all to any weapon ammo or anything related to combat at all, ever, if you don't go around all the maps and adjust the loot distribution, and then around all the encounters with adjustment to the concequences of buffs/nerfs to both the CO + NPC capabilities and the enemy capabilities, the thing isn't likely to make a situation better. Different, deffinitely, better only possibly. And if the approach to the change you want to apply involves any of the following phrases "I don't agree with this", "This doesn't make sense" anything of that sort, and you're approaching the problem from the perspective where you want to make combat anything more than a zoning tool / bit of flavour, you've probably strayed from the original design.

    Not that I'm a huge fan of the original design mind you, I can immagine the thing working as a rock paper scissors thing with resistances and ammo types, but that would take some serious work, and a lot more guns using sub par ammo on most enemies to replace the effect you get from just giving them lasers or AP ammo (assuming it's left "unfixed".).




    Just a bit of different take on the whole thing, coming from the experience that stuff that ussually makes the game better most often has nothing to do with gun ammo math - drop reduction on enemies, lowering selling prices on stuff you loot, generally reducing overall loot / adjusting quest rewards stuff like that. How guns work exactly is most often best left as reductive and stupid as possible, most of it seems to have been intentional.

    Not that anyone would take me seriously XD
     
    Last edited: Sep 2, 2014
  19. NovaRain

    NovaRain Casual Modder

    Mar 10, 2007
    Nope, they do the same damage as you do. If you can use M60 to kill a power-armored target with a burst, they can use M60 killing you in the power armor in the same way.
    It's fun to watch Horrigan got mowed down by bunch of turrets loaded with .223 miniguns, but it's a nightmare if turrets are targeting you and your party members.
     
    Last edited: Sep 2, 2014
  20. lujo

    lujo Look, Ma! Two Heads!

    Jun 14, 2013
    No, no, wait, is that with the formula or without the formula?