Fallout 2 mod F2: damage calculation change, a FIX v5

JimTheDinosaur said:
By the way, do you need a sfall script to change all the existing ammo values to the ones you need for your mod, or do you already have that covered?
Definitely still need it. :)

Thanks for asking!
 
JimTheDinosaur said:
Then I'll get on it :salute:

Do you have a list of values lying around or do I have to use the javascript?
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. ;)
 
@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
 
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.
 
JimTheDinosaur said:
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:53f9f82200]
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:53f9f82200]




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

Is it can run in your Jim's Mods Version 1.25?
 
Is it can run in your Jim's Mods Version 1.25?

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.
 
I updated the first post with an alternate link to download the script Jim provided and made sure to credit Jim. ;)
 
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!!!
 
Updated first post in this thread with updated link to updated script and ini provided by NovaRain.

Thanks again NovaRain! :ok::salute::)
 
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. ;)
 
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?
 
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.
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?

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?
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:
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:

2- The critical multiplier is applied too early in my opinion; how does one score a critical hit if it's unknown whether the hit got through the target's armor damage threshold or got past the target's armor damage resistance yet?

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

3- The ammo multiplier is applied incorrectly in my opinion; first, multiplying the damage value directly implies that the ammo itself somehow increases the min.-max. damage potential of the weapon (I disagree with this)

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.

and second, how is damage multiplied if it's unknown whether the hit got through the target's armor damage threshold or got past the target's armor damage resistance yet?

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?

4- The ammo divisor is applied incorrectly in my opinion; dividing the damage by the ammo divisor only reduces the damage, why would anything about ammo be designed to reduce damage?

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).

5- The difficulty setting is applied too early in my opinion; again, how do you apply something that is to either make the damage more or less if it's unknown whether you got by the target's armor yet?

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?

2- The critical multiplier (CM) is only applied after it is determined that the hit got through the target's armor
--- how else can a hit be considered critical unless it got past armor to hurt a supposedly sensitive spot on the target

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.

3- The ammo multiplier (X) to me seemed out of place, so I compared all the ammo in the game
--- it seemed that JHP ammo was the one (for the most part) which had an X value greater than 1
--- so knowing JHP, was not designed to penetrate armor but rather when it did to fragment and cause more damage, I chose to use X to reduce the target's armor damage resistance

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

4- The ammo divisor (Y) to me seemed again out of place, so again I compared all the ammo in the game
--- it semed that AP ammo was the one (for the most part) which had a Y value greater than 1
--- so knowing AP, was designed to penetrate armor but not fragment, I chose to use Y to reduce the target's armor damage threshold

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

5- The combat difficulty setting (CD) felt wrong to apply like CM, if Easy or Hard were selected
--- so I looked at treating it as a decrease or increase to the target's armor damage resistence value, -20 for Easy and +20 for Hard
--- I tested a similiar decrease or increase to the target's armor damage threshold, and it had no meaningful affect

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!

Some consequences and realizations to my approach:
1- Some ammo which has X greater than 1 and Y greater than 1, gets both advantages (currently only 2mm EC and 4.7mm caseless)

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


--- the 9mm ammo is bugged, it was not intended to be AP ammo (X=1 and Y=2), it should have been JHP ammo (X=2 and Y=1)

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

--- the HN AP needler cartridge ammo is bugged, it was not intended to be JHP ammo (X=2 and Y=1), it should have been AP ammo (X=1 and Y=2)

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

--- the Cell ammo (both kinds) is bugged, it does nothing to modify the target's armor values, it should have been like JHP ammo in values (X=2 and Y=1)

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?

--- other ammo that might be considered bugged following the same case as Cell ammo are: .45 Caliber, 9mm ball, 12 gauge shotgun shells, HN Needler cartridge

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.

4- All weapons that use an ammo with X and Y values of 1 and an ammoDRM of 0 have no advantage whatsoever against the target's armor damage threshold and damage resistance (in the original calculation and mine)
--- this is why Laser weapons don't do much damage, its not the weapon, it's the ammo and the fact that most armor in the game have high laser damage resistance

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.

5- I may be close to what the original devs had intended
--- ammo was always meant to affect how the target's armor reacted to a hit, not how it might increase the min.-max. of a weapon's damage potential

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.

6- Ammo values are the biggest factor in whether a weapon is good or not, second is the weapon's min.-max.
7- Ammo, weapons, and armor values need tweaking; to my previous point, ammo more so than anything else

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:
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?
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:
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?
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.

No, no, wait, is that with the formula or without the formula?
 
Back
Top