Jump to content
Sign in to follow this  
CarlGustaffa

How to modify artillery rounds?

Recommended Posts

Hi

I've been messing around with the idea to reduce the effect of arty rounds, but I'm getting sort of nowhere. I.e. the arty flares will get new colors, but not the 81s and 82s. HE and WP rounds seems to be completely unaffected. Can anyone show me what cfg parts I need to make this work?

Reason: 105mm has the destruction capability of 155mm, due to enemy not responding and lack of cover. So I want to reduce arty effects for artillery and mortars (more like 60mm mortars) in order to "prep" a target area instead of completely destroying it.

Share this post


Link to post
Share on other sites

I too would find such a solution very useful in my missions. Currently entire villages are wiped out from one firemission. Depending on the size of the village of course. But a more 'subtle' alternative would be nice (if you could ever call artillery subtle lol)

Share this post


Link to post
Share on other sites

Yes, that was the general idea. Current artillery feels far too strong for its caliber. I would use current values for 155mm simulation, and the 81/82mm mortars for 105mm simulation. If using direct fire on the 105mm, I would say the current 105mm would then simulate the beehive (flechette) ammo, due to its incredible destructive force against infantry. Too bad it's so effective against armor, or armor has so low protection. So this "simulation" method is not good enough. I need to modify the actual values.

But... How? Surely someone must know?

Share this post


Link to post
Share on other sites

You have to extend out the whole gun config, either replacing the whole gun or making a new version in the config (different class name) and give it new magazines and everything, new ammo type, etc.

I am doing this right now. Also adjusting some of the damage and stuff... also adding in VT fuzes. Lower direct hit value and the same indirect hit value but with a larger indirect hit range.

Share this post


Link to post
Share on other sites

How does it look like? The reason I'm asking is because some of my flares gets new colors, but damage values stays original. I only have reqd "CAWeapons", is that enough? If not, what do I do to figure it out?

Share this post


Link to post
Share on other sites

First I extend the M119 vehicle class, you actually might not need to do this... see below...

class CfgVehicles {
class Land;

class LandVehicle: Land {
	/*extern*/ class NewTurret;
};
class StaticWeapon: LandVehicle {
	/*extern*/ class Turrets;
};
class StaticCannon: StaticWeapon {

	class Turrets: Turrets {
		/*extern*/ class MainTurret;
	};
};

class M119: StaticCannon {

	class Turrets: Turrets {
		/*extern*/ class MainTurret;
	};
};

class RM119: M119 {
	displayName = "Real M119";
	class Turrets: Turrets {

		class MainTurret: MainTurret {
			weapons[] = {"RM119"};
			magazines[] = {};
			maxHorizontalRotSpeed = 0.5;
			maxVerticalRotSpeed = 0.5;
		};
	};

	class Eventhandlers {
		getin   = "_this execVM ""\RM119\scripts\dispmils.sqf"";";
           init    = "_this execVM ""\RM119\scripts\processMagazines.sqf"";";
           fired   = "_this execVM ""\RM119\scripts\handleFired.sqf"";";
	};
};
};

If you just want to add new magazines, you need to extend the actual weapon class itself, if you arent making a new copy of the M119/whatever vehicle class then thats fine, you just need to call it the same thing as the vehicle defines as its weapon and add in your new magazines. I wouldn't use much of my values in here as an example because I am doing some funky stuff.

class CfgWeapons {

class CannonCore;	// External class reference
class M119;

class RM119  : M119 {
       magazineReloadTime = 4;
       dispersion = 0.0095;
       reloadTime = 0.1;
	magazines[] = {
                       "NOU_Howitzer_105_HE_PC1", 
                       "NOU_Howitzer_105_HE_PC2", 
                       "NOU_Howitzer_105_HE_PC3", 
                       "NOU_Howitzer_105_HE_PC4",
                       "NOU_Howitzer_105_HE_VT_PC1", 
                       "NOU_Howitzer_105_HE_VT_PC2", 
                       "NOU_Howitzer_105_HE_VT_PC3", 
                       "NOU_Howitzer_105_HE_VT_PC4" 
                      };
};
};

Then all you need to do is create some magazines....

class CfgMagazines
{
   class Default; /* extern */
   class CA_Magazine: Default {}; /* extern */
   class VehicleMagazine: CA_Magazine {}; /* extern */

// Mortar shells
   class NOU_Howitzer_105_HE_PC1: VehicleMagazine {
       scope = 2;
       displayName = "HE Quick";
       ammo = "NOU_Howitzer_105_HE";
       count = 1;
       initSpeed = 158*1;
       nameSound = "heat";
};

class NOU_Howitzer_105_HE_PC2: VehicleMagazine {
       scope = 2;
       displayName = "HE Quick";
       ammo = "NOU_Howitzer_105_HE";
       count = 1;
       initSpeed = 158*2;
       nameSound = "heat";
};

class NOU_Howitzer_105_HE_PC3: VehicleMagazine {
       scope = 2;
       displayName = "HE Quick";
       ammo = "NOU_Howitzer_105_HE";
       count = 1;
       initSpeed = 158*3;
       nameSound = "heat";
};

class NOU_Howitzer_105_HE_PC4: VehicleMagazine {
       scope = 2;
       displayName = "HE Quick";
       ammo = "NOU_Howitzer_105_HE";
       count = 1;
       initSpeed = 633;
       nameSound = "heat";
};

   class NOU_Howitzer_105_HE_VT_PC1: VehicleMagazine {
       scope = 2;
       displayName = "HE VT";
       ammo = "NOU_Howitzer_105_HE_VT";
       count = 1;
       initSpeed = 158*1;
       nameSound = "heat";
};

class NOU_Howitzer_105_HE_VT_PC2: VehicleMagazine {
       scope = 2;
       displayName = "HE VT";
       ammo = "NOU_Howitzer_105_HE_VT";
       count = 1;
       initSpeed = 158*2;
       nameSound = "heat";
};

class NOU_Howitzer_105_HE_VT_PC3: VehicleMagazine {
       scope = 2;
       displayName = "HE VT";
       ammo = "NOU_Howitzer_105_HE_VT";
       count = 1;
       initSpeed = 158*3;
       nameSound = "heat";
};

class NOU_Howitzer_105_HE_VT_PC4: VehicleMagazine {
       scope = 2;
       displayName = "HE VT";
       ammo = "NOU_Howitzer_105_HE_VT";
       count = 1;
       initSpeed = 633;
       nameSound = "heat";
};	
};

and some ammo types for those magazines....

class CfgAmmo
{
   class ShellBase; /* extern */

class NOU_Sh_Base: ShellBase
   {
       ARTY_IncomingSounds[] = {};
       ARTY_IncomingSoundAlt = 200;
       ARTY_IncomingSoundAltError = 50;
       ARTY_TrailFX = "\ca\modules\ARTY\data\fx\scripts\shellTrailsMedium.sqf";
    whistleOnFire = 2; //Both hit and fire
       NOU_ARTY_FIRE_HANDLER = "";
   };

   class NOU_Howitzer_105_HE: NOU_Sh_Base
   {
       hit = 150;
	indirectHit = 40;
	indirectHitRange = 20;
	typicalSpeed = 300;
	timeToLive = 500;
	explosive = 0.600000;
	cost = 300;
	model = "\ca\Weapons\shell";
	airFriction = -0.0000782;
	CraterEffects = "ArtyShellCrater";
	ExplosionEffects = "ArtyShellExplosion";
	caliber = 6;
	whistleDist = 40;
   };

   class NOU_Howitzer_105_HE_VT: NOU_Sh_Base
   {
       hit = 110;
	indirectHit = 40;
	indirectHitRange = 30;
	typicalSpeed = 300;
	timeToLive = 500;
	explosive = 0.800000;
	cost = 320;
	model = "\ca\Weapons\shell";
	airFriction = -0.0000782;
	CraterEffects = "";
	ExplosionEffects = "ArtyShellExplosion";
       NOU_ARTY_FIRE_HANDLER = "\RM119\scripts\vt_fuse.sqf";
	caliber = 6;
	whistleDist = 40;
   };
};

Sorry this isn't the best example.... but hopefully it will get you going. I used Jones Real Mortars as a guide to do most of this, its a pretty simple mod to add different types of magazines, so maybe look at his stuff?

Share this post


Link to post
Share on other sites

Great explanation, except I wasn't adding new stuff, just trying to modify existing values on existing shells. :) But thanks anyway.

Share this post


Link to post
Share on other sites
Great explanation, except I wasn't adding new stuff, just trying to modify existing values on existing shells. :) But thanks anyway.

All you would have to do is overwrite the default ammo class with exact same names for the child classes.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×