KoffeinFlummi / AGM

Authentic Gameplay Modification for A3 | THIS PROJECT IS NO LONGER BEING WORKED ON. ALL ISSUES AND PULL REQUESTS WILL BE IGNORED.
Other
125 stars 84 forks source link

Change damage to OPFOR units #1021

Closed Raspu86 closed 10 years ago

Raspu86 commented 10 years ago

Right now it takes twice as much hits center mass with 5.56 for OPFOR units to go down then INDEP or BLUFOR units. If at all they should be more prone to damage since they do not wear body armour.

commy2 commented 10 years ago

There is no damage to side x units. All we can do is tweak the vests.

Those are in https://github.com/KoffeinFlummi/AGM/blob/master/AGM_Ballistics/config.cpp#L615

Where you got the idea from that CSAT vests are stronger? Maybe BIS changed in which class these values are stored in v1.26 and we have to adjust, dunno.

commy2 commented 10 years ago
                 armor, passThrough
NATO rifleman vest: 8, 0.75
AAF rifleman vest: 8, 0.75
CSAT rifleman vest: 0, 0.5

NATO grenadier vest: 24, 0.75

This is for vehicles. No idea what it means for units: http://forums.bistudio.com/showthread.php?146725-armor-passThrough&p=2302333&viewfull=1#post2302333

get all vests from config: _a = "toArray (configName _x) select 0 == 86" configClasses (configfile >> "CfgWeapons"); {_a set [_forEachIndex, [configName _x, configName inheritsFrom _x]]} forEach _a; _a

["VestItem","InventoryItem_Base_F"],
["Vest_Camo_Base","ItemCore"],
["Vest_NoCamo_Base","ItemCore"],
["V_Rangemaster_belt","Vest_NoCamo_Base"],
["V_BandollierB_khk","Vest_Camo_Base"],
["V_BandollierB_cbr","V_BandollierB_khk"],
["V_BandollierB_rgr","V_BandollierB_khk"],
["V_BandollierB_blk","V_BandollierB_khk"],
["V_BandollierB_oli","V_BandollierB_khk"],
["V_PlateCarrier1_rgr","Vest_NoCamo_Base"],
["V_PlateCarrier2_rgr","V_PlateCarrier1_rgr"],
["V_PlateCarrier3_rgr","Vest_NoCamo_Base"],
["V_PlateCarrierGL_rgr","Vest_NoCamo_Base"],
["V_PlateCarrier1_blk","Vest_Camo_Base"],
["V_PlateCarrierSpec_rgr","Vest_NoCamo_Base"],
["V_Chestrig_khk","Vest_Camo_Base"],
["V_Chestrig_rgr","V_Chestrig_khk"],
["V_Chestrig_blk","V_Chestrig_khk"],
["V_Chestrig_oli","Vest_Camo_Base"],
["V_TacVest_khk","Vest_Camo_Base"],
["V_TacVest_brn","V_TacVest_khk"],
["V_TacVest_oli","V_TacVest_khk"],
["V_TacVest_blk","V_TacVest_khk"],
["V_TacVest_camo","Vest_Camo_Base"],
["V_TacVest_blk_POLICE","Vest_Camo_Base"],
["V_TacVestIR_blk","Vest_NoCamo_Base"],
["V_TacVestCamo_khk","Vest_Camo_Base"],
["V_HarnessO_brn","Vest_NoCamo_Base"],
["V_HarnessOGL_brn","Vest_NoCamo_Base"],
["V_HarnessO_gry","V_HarnessO_brn"],
["V_HarnessOGL_gry","V_HarnessO_gry"],
["V_HarnessOSpec_brn","V_HarnessO_brn"],
["V_HarnessOSpec_gry","V_HarnessO_gry"],
["V_PlateCarrierIA1_dgtl","Vest_NoCamo_Base"],
["V_PlateCarrierIA2_dgtl","V_PlateCarrierIA1_dgtl"],["V_PlateCarrierIAGL_dgtl","V_PlateCarrierIA2_dgtl"],
["V_RebreatherB","Vest_Camo_Base"],
["V_RebreatherIR","V_RebreatherB"],
["V_RebreatherIA","V_RebreatherB"],
["V_PlateCarrier_Kerry","V_PlateCarrier1_rgr"],
["V_PlateCarrierL_CTRG","V_PlateCarrier1_rgr"],
["V_PlateCarrierH_CTRG","V_PlateCarrier2_rgr"],
["V_I_G_resistanceLeader_F","V_TacVest_camo"],
["V_Press_F","Vest_Camo_Base"],
["V_TacVest_RU","Vest_Camo_Base"]
commy2 commented 10 years ago

I guess the issue here is, that there are no values for "Bandollier", "Harness", "Chestrig" and some other vests in AGM and so the Arma default values are used.

Raspu86 commented 10 years ago

Maybe. You also have to take into account that to my knwoledge OPFOR uniform have an armor value as well unlike the uniforms of other factions.

commy2 commented 10 years ago

OPFOR uniform have an armor value as well unlike the uniforms of other factions.

Didn't knew that.

Another issue: "V_TacVest_RU" is an obsolete class name for "V_TacVestIR_blk"

commy2 commented 10 years ago

passThrough of the CSAT harnesses (sp?) was 0.5. NATO plate carriers had 0.75 after the AGM-nerf from 0.5 vanilla aswell. Now the harness has 0.85.

commy2 commented 10 years ago

Uniform armor and passThrough values are apparently misplaced and get ignored by the game, since uniforms have no hit point assigned. (Helmets have "Head" and Vests have "Body" = torso)

nicolasbadano commented 10 years ago

I've heard reports of people that claim opfor uniform indeed add some protection from gunshot wounds. Maybe we should do some tests, as BIS may have put some ad-hoc code for uniform armor despite not having hitpoints.

commy2 commented 10 years ago

https://github.com/KoffeinFlummi/AGM/issues/1022

11RDP-LoupVert commented 10 years ago

As far as I know, it's the unit themselves that actually are differently "armored", somewhat.

class B_Soldier_base_F, class Civilian class HitPoints: HitPoints{ class HitHead: HitHead{armor = 1; passThrough = 1; explosionShielding = 0.5;}; class HitBody: HitBody {armor = 2; passThrough = 1; explosionShielding = 10;}; class HitHands: HitHands {armor = 2; passThrough = 1; explosionShielding = 1;}; class HitLegs: HitLegs {armor = 2; passThrough = 1; explosionShielding = 1;};}; armor = 2; armorStructural = 5;

class I_Soldier_base_F same but armorStructural = 7;

class O_Soldier_base_F class HitPoints: HitPoints{ class HitHead: HitHead{armor = 1; passThrough = 1; explosionShielding = 0.5;}; class HitBody: HitBody {armor = 6; passThrough = 0.5; explosionShielding = 1.5;}; class HitHands: HitHands {armor = 8; passThrough = 0.5; explosionShielding = 0.8;}; class HitLegs: HitLegs {armor = 8; passThrough = 0.5; explosionShielding = 0.8;};}; armor = 2; armorStructural = 5;

class O_officer_F: O_Soldier_base_F class HitPoints: HitPoints{ class HitHead: HitHead{armor = 1; passThrough = 1; explosionShielding = 0.5;}; class HitBody: HitBody {armor = 2; passThrough = 1; explosionShielding = 10;}; class HitHands: HitHands {armor = 2; passThrough = 1; explosionShielding = 1;}; class HitLegs: HitLegs {armor = 8; passThrough = 0.5; explosionShielding = 1;};};

Please note that Blufor Pilots are a different breed while Opfor pilots inherits from their Soldier_base, Blufor Diver inherits from their Soldier_base while Opfor divers have their own damage setting, that Snipers have undocumented AmmoCoef applied to them and so forth... There must be reason for such... granularity, somewhere, probably... ;)

Source: A3 AIO config to 1.26.126789 https://dev.withsix.com/projects/cmb/repository/revisions/master/changes/configs/A3/unformatted/allInOne.cpp

Definitions:

https://community.bistudio.com/wiki/Damage https://resources.bisimulations.com/w/index.php?title=Damage_Modeling:_Objects

commy2 commented 10 years ago

granularity, somewhere, probably

I think this stuff is just random.

Not gonna touch the armor values, but I'm certainly fixing that passThrough nonsense.

nicolasbadano commented 10 years ago

Wow, what a mess! IMHO we should make all CAman classes equal.

11RDP-LoupVert commented 10 years ago

I did that in my clan's private addon (private because I didn't botter to ask permission modifying things I didn't intend to release publicly anyway), along harmonizing helmet and vest protection level. I also gave CSAT more contemporary vest and uniforms (from Craig's Altian Pack) http://i.gyazo.com/fbbf1a71ea957e3144543063be3e5552.png http://i.gyazo.com/d8a2601b8414cfd36a88dced4c06efb2.png http://i.gyazo.com/5c76c6c3c6164748d352dd5ae3cec8e1.png

All that to say that it made things more pleasant to play without having to boost ammo stats.

KoffeinFlummi commented 10 years ago

How can you ... Why would you ... I don't even ...

Damnit BI...

commy2 commented 10 years ago

Judging from the class inheritance, they just forgot to change the default values from CAManBase for opfor, since they are listed after the civilians and the indeps.

commy2 commented 10 years ago

I'm on it.

commy2 commented 10 years ago

Note that ExplosionShielding is a multiplicator to explosion damage. Contrary to what one might think, a high ExplosionShielding value means less protection = more damage from explosions

commy2 commented 10 years ago

I got an issue with this. CAManBase is defined in Medical (although some things get overwritten by other classes) So at least the explosion shielding and armor values have to be moved to medical.

passTrough fixes of Medical have to be moved to ballistics from medical consequently.