Jump to content
gpgpgpgp

World War 2: United Offensive (a community WW2 mods integration mod)

Recommended Posts

UPDATE

FOV has been reverted to vanilla standard (.25) upon common request. A seperate download for a patch for hard FOV (.5) will be available  if requested.

 

INTRODUCTION

 

There're plenty of WW2 mods in the community (IFA3, FOW, Massi WW2 units etc). Many of them are quite well-made, however, they're rarely meant to be compatible with each other. An JS2 from IFA3 can never defeat a Cromwell from FOW mod, for example, since 2 mods use different standard of damage, armor and hitpoints for their tanks. The same goes for rifles, grenades, AT weapons, LBEs, helmets. This has made WW2 game-playing in Arma3 quite confusing for players (one K98 is much powerful than another, and they sound differently), and every community WW2 mission-maker who ambitiously wishes to use a vast content of community WW2 mods has to face the fact of in-compatibility, and has to solve the problem on his own.

 

This calls for a set of integrated, inter- compatible community mods, where JS2 can defeat Cromwell, and all small arms use the same / compatible magazines and sound the same. I've been working alone for weeks to achieve this goal, and now it's nearly complete. There's nothing glory like new models or new planes or what, but dirty work of config files, wikipedia, re-calculation, scripts and testing.

 

 

MAIN FEATURES

 

1.Complete overhaul of ammo config for IFA3, FOW, Massi WW2 units and IFA3 Liberation. Tanks can now shoot each other! With nice penetration and Beyond-armour effect!

 

2.Many minor adjustments to fix / improve / correct. Example:

 a.Using IFA3's M2 flamethrower no longer removes your grenade. One of a number of bug fixes for the above source mods.

 b.Detailed, vanilla-styled text description for all smallarms & magazines. And penetration info, if it's an AT weapon.

 c.Data of weapons, ammo and magazines of all mods have been re-calculated to follow vanilla weight-mass, energy-hit, penetration-caliber standard. Wanna see a fight between modern and WW2 soldiers? Now they're on the same stage! 

 d.IFA3's built-in Alarm9k's Smarter Tanks script has been optimized to have minor performance impact in huge tank battles! AI tank crew have been trained to better use APCR rounds & autocannons as well!

 

3.Cross mod integration. Example:

 a.Magazine compatibilities. FOW guns are good with IFA3 magazines.

 b.Weapons, magazines & ammo of the same type share the same stats. initSpeed, mass, hit, caliber and advanced ballistic data.

 c.All smallarms of the same type now share the same firing sound. Each unified weapon sound is hand-picked from best quality contents of all mods. and enhanced by JSRS!

 d.All WW2 mods now share a same pool of combined high quaility icons, sounds and animations.

 

4.A customized version of ACE3.
 a.An improved advanced medical system. No more magical PAK! To treat a patient, restore his blood pressure and heart rate.
 b.Improved magazine repacking system with Cross type repacking supported.
 c.Working penetration-protection system for helmets and vests. Authentic bullet-proof vests and helmets!
 d.All WW2 smallarms are ACE Advanced Ballistic ready. Re-live your life as a WW2 sniper.

 e.And grenades got their ACE Fragmentation data! Not bad being a WW2 grenadier too!
 f.AI soldiers will shoots less straight if they're suffering from ACE pain & bloodloss. No more ironman! Shoot their legs and they'll fall down!

 

5.Personal addition (ideas while doing data searching). Example:

 a.FOW Japanese Army are now equipped with mod added Type 94 Smoke Candle, replacing their M83 Smoke Grenade.

 b.Clip-based (instead of magazine-based) reloading for bolt-action rifles like K98 and Lee-Enfield. SVT-40 and G43 support clip reloading too. Reload your SVT with Style!

 c.Improved IFA3 M2 Flamethrower. The effect is really cool (see below). Or hot.

 d.M1A1 bazooka is now armed with new M10 Smoke Rocket with Working WP smoke. Now your enemies will think twice before bunching in a building.

 e.Shoot rifle grenades with correct ammo (blanks or wooden)! Or face the consequence. (well, they will only fall off because of the penetration, and will not explode)

 

6.Enhanced community mods for WW2 environment.

 a.Crash your enemy and Gib them with tank tracks! (Powered by BloodLust mod)

 b.Climb walls as you like, but stay away from ones with barbed wires, they're extremely dangerous! (Powered by Enhanced Movement mod)

 c.Check temperature and clear jamming with Style! (Animations by Project Infinite & Sham's US Armament Pack)

 d.Smarter and Fast enemies! Now with CQB enhancement! (Powered by ASR AI 3 mod)

 e.HEAT penentration system used by RHS has now come back to WW2! (re-written from RHS & AIS script)

 

 

USAGE

 

This mod is intended to be used with following mods:

Face of War:

http://steamcommunity.com/sharedfiles/filedetails/?id=891433622

IFA3 Lite:

http://steamcommunity.com/sharedfiles/filedetails/?id=660460283

IFA3 Liberation:
http://steamcommunity.com/sharedfiles/filedetails/?id=950999958
WW2 mas units:

http://steamcommunity.com/sharedfiles/filedetails/?id=690552013

IFA3 : ACE 3 Compatibility patch:

http://steamcommunity.com/sharedfiles/filedetails/?id=773759919

Enhanced Movement

http://steamcommunity.com/sharedfiles/filedetails/?id=333310405


The following mods are needed for dependency:

CBA A3:

http://steamcommunity.com/sharedfiles/filedetails/?id=450814997

GRAD Trenches:

http://steamcommunity.com/sharedfiles/filedetails/?id=1224892496

Project Infinite - Inspect weapons:

http://steamcommunity.com/sharedfiles/filedetails/?id=812441729

NIArms Core:

http://steamcommunity.com/sharedfiles/filedetails/?id=667454606

--- (CREDITS) ---

ACE3 * by ACE3 team

https://github.com/acemod/ACE3

JSRS 2.0 * by LordJarhead

http://steamcommunity.com/sharedfiles/filedetails/?id=861133494

Blastcore: Phoenix 2 * by OpticalSnare 

http://www.armaholic.com/page.php?id=23899

BloodLust * by zooloo75

 http://steamcommunity.com/sharedfiles/filedetails/?id=667953829

Sawn-off Shotgun * by KICKASS

<Link not available>

CANS -- Civilian Throwables * by Jones.S

https://steamcommunity.com/sharedfiles/filedetails/?id=898902841

Sham's US Armament Pack * by shammy2010

https://forums.bohemia.net/forums/topic/162050-shams-us-armament-pack/

ASR AI 3 *  by Robalo

https://forums.bistudio.com/topic/163742-asr-ai-3/

Smarter Tanks * by Alarm9K

http://forums.bistudio.com/showthread.php?182368-Smarter-tanks-script

 

The mods marked with * are needed for dependency, but the related file are already included in this mod. You don't have to download them seperately.

This is because these files are either modded during the process or are of different version of currently available ones. Presently, these files have to be included for the mod to work.

While asking for permission, I'll actively reorganize file structures to better use the external mod source and minimize external file presence in this mod.

 

Other than the contents of the above mods in the credit list, there's no edit / re-upload of files from other mods.

 

This is supposed to be done within one week of first release.

 

The following mods are recommended for best experience:

Faces of War: German Voices Config

http://steamcommunity.com/sharedfiles/filedetails/?id=1096794089

 

 

PERMISSION

 

Modification of the contents of this mod is not allowed at present. Not until the permissions and licenses of the dependent mods included are figured out (Most likely this mod will follow APL-SL after this phase).

The contents of this mod are not allowed for any type of commercial use, that includes any derivatives.

The use of contents of this addon (if permission was granted) is not allowed outside of arma games.

 

 

DOWNLOAD

Steam Workshop: https://steamcommunity.com/sharedfiles/filedetails/?id=1337409233

 

NOTE
Currently you have to manually disable workshop ACE3 from launcher's auto-generated load list, or it won't load any missions (thanks TheIdiot for the info).

 

MEDIA

 

9Lt6H0.jpg

Fun with M2 Flamethower

 

97Gwkj.jpg

Be sure to use the right ammo to launch rifle grenades!

 

Welcome to join our Arma 3 unit. QQ group: 101247938.
欢迎加入我们的Arma3战队。QQ群: 101247938.

 

  • Like 6
  • Thanks 3

Share this post


Link to post
Share on other sites

Addition

 

Got no friends to play WW2 in Arma3 with? Here's a script to enjoy single-player missions and campaigns alone! Execute it with MCC sandbox or whatever debug addon you have, and Turn Any mission into a WW2 mission!

Enjoy! Drawdown 2035 is a good place to familiarize your STG44! (may require some customization on your own)

gp_ww2_equipInfoTable =
[
	["LIB_US_Mk_2","LIB_US_Mk_2","LIB_US_M18","ifa3_TS_Small","MOLOTOV_MAG","LIB_Colt_M1911","LIB_M1_Garand","LIB_M1903A4_Springfield","LIB_M1918A2_BAR","LIB_M1A1_Thompson","LIB_M1A1_Bazooka","Binocular",{_unit addItem "LIB_ACC_GL_M7";_unit addMagazine "LIB_1Rnd_G_M9A1";_unit addMagazine "LIB_1Rnd_G_M9A1";_unit addMagazine "LIB_1Rnd_G_M9A1";_unit addMagazine "LIB_1Rnd_G_M9A1";_unit addMagazine "LIB_8Rnd_762x63_Blank"},{if(!_isGL && rankId _unit > 1)then{_rif = _smg}},{ private _vest = switch true do { case (_isGL): { "V_LIB_US_Vest_Grenadier" }; case (_add_pri == _smg && _add_hgun != ""): { "V_LIB_US_Vest_Thompson_nco" }; case (_add_pri == _mg): { "V_LIB_US_Vest_Bar" }; case (_unit getUnitTrait "medic"): { "V_LIB_US_Vest_Medic2" }; case (_add_pri == _smg): { "V_LIB_US_Vest_Thompson" }; default { "V_LIB_US_Vest_Garand" } }; _unit addVest _vest },{ switch true do { case (rankId _unit > 1): {_unit forceAddUniform "U_LIB_US_Sergant"; if(random 1 > 0.5)then {_unit addHeadgear "H_LIB_US_AB_Helmet_2"} else {_unit addHeadgear "H_LIB_US_Helmet_os"}}; case(_unit getUnitTrait "medic"):{ _unit forceAddUniform "U_LIB_US_Med"; _unit addHeadgear "H_LIB_US_Helmet_Med_ns" }; default { _unit forceAddUniform "U_LIB_US_Private"; _unit addHeadgear "H_LIB_US_Helmet_os"} }; if(_add_sec == "")then{if(backpack _unit == "")then{if(_isGL)then{_unit addBackpack "B_LIB_US_M36_Bandoleer"}else{_unit addBackpack "B_LIB_US_Bandoleer"}}else{ removeBackpack _unit; _unit addBackpack "B_LIB_US_Backpack_Bandoleer"}}else{_unit addBackpack "B_LIB_US_Backpack_RocketBag_Empty"}; _unit unlinkItem (hmd _unit) }],
	["LIB_m39","LIB_shg24","LIB_nb39","LIB_shg24x7","LIB_pwm","LIB_P38","LIB_K98","LIB_K98ZF39","LIB_MG42","LIB_MP40","LIB_RPzB","LIB_Binocular_GER",{if(_rif != "LIB_MP44" && _rif != "LIB_MP40")then{_unit addItem "LIB_ACC_GW_SB_Empty";_unit addMagazine "LIB_1Rnd_G_SPRGR_30";_unit addMagazine "LIB_1Rnd_G_SPRGR_30";_unit addMagazine "LIB_1Rnd_G_PZGR_40";_unit addMagazine "LIB_1Rnd_G_PZGR_40";_unit addMagazine "LIB_1Rnd_G_PZGR_40";_unit addMagazine "lib_5Rnd_792x57_Schiessbecher"}},{ if(rankId _unit > 2)then{_rif = _smg} else { _rif = "LIB_MP44"} },{ private _vest = switch true do { case (_add_pri == "LIB_MP44"): { "V_LIB_GER_VestSTG" }; case (_isGL): { "V_LIB_GER_PioneerVest" }; case (_add_pri == _mg): { "V_LIB_GER_VestMG" }; case (_isLeader): { "V_LIB_GER_VestUnterofficer" }; case (_add_pri == _smg): { "V_LIB_GER_VestMP40" }; default { "V_LIB_GER_VestKar98" } }; _unit addVest _vest },{ _unit forceAddUniform "U_LIB_GER_Soldier_camo2"; _unit addHeadgear "H_LIB_GER_Helmet"; if(backpack _unit != "")then{ removeBackpack _unit; _unit addBackpack "B_LIB_GER_Backpack"}; if(_add_sec == "" && {backpack _unit == ""})then{_unit addBackpack "B_LIB_GER_A_frame"; if(rankId _unit < 3 && {!_isGL} && {random 1 > 0.7})then{ if(_add_pri == _smg || {_add_pri == _rif})then {_add_sec = "fow_w_pzfaust_100"}}}; _unit unlinkItem (hmd _unit); if(vehicle _unit isKindOf "Tank")then{ if(_isLeader)then{_unit addHeadgear "H_LIB_GER_TankOfficerCap2"}else{_unit addHeadgear "H_LIB_GER_TankPrivateCap"}};if(_add_pri == _mg)then{ _unit linkItem "fow_i_nvg_GER_ammoboxes_mg34"} }],
	["fow_e_type99","fow_e_type97","fow_e_type94_smoke","ifa3_TS_BIG","fow_e_type99_at","fow_w_type14","fow_w_type99","fow_w_type99_sniper","fow_w_type99_lmg","fow_w_type100","LIB_PzFaust_30m","LIB_Binocular_GER",{},{if(random 1 > 0.5)then{_pist = "Hatchet"}},{ private _vest = switch true do { case (_isLeader && _add_hgun != ""): { "fow_v_ija_nco" }; case (_isGL): { "fow_v_ija_grenadier" }; case (_add_pri == _mg): { "fow_v_ija_mg" }; case (_unit getUnitTrait "medic"): { "fow_v_ija_medic" }; default { "fow_v_ija_rifle" } }; _unit addVest _vest },{ switch true do { case (rankId _unit > 1): {_unit addHeadgear "fow_h_ija_fieldcap_officer"}; case(_add_pri == _snip):{ _unit addHeadgear "fow_h_ija_type90_foliage" }; default { _unit addHeadgear "fow_h_ija_type90_net_neck"} }; _unit forceAddUniform "U_mas_ww2_O_CombatUniform_jap"; removeBackpack _unit; if(_add_pri==_snip)then{_unit addBackpack "fow_b_ija_backpack_foliage"}else{_unit addBackpack "fow_b_ija_backpack"}; _unit unlinkItem (hmd _unit); if(_add_pri == _mg)then{ _unit linkItem "fow_i_nvg_GER_ammo_belt"}; if(vehicle _unit isKindOf "Tank")then{ _unit addHeadgear "fow_h_ija_tank_helmet"} }],
	["fow_e_no69","fow_e_no36mk1","fow_e_no77","fow_e_no73","fow_e_no82","fow_w_webley","fow_w_leeenfield_no4mk1","arifle_mas_ww2_lee_l","fow_w_bren","fow_w_sten_mk2","fow_w_piat","Binocular",{},{},{ private _vest = switch true do { case (_add_hgun != ""): { "fow_v_uk_officer_green" }; case (_add_pri == _mg): { "fow_v_uk_bren_green" }; case (_add_pri == _smg): { "fow_v_uk_sten_green" }; default { "fow_v_uk_base_green" } }; _unit addVest _vest },{ if(_add_sec != "")then{_add_hgun = _pist; _add_pri = ""}; if(rankId _unit > 1)then {_unit forceAddUniform "fow_u_uk_bd40_pib_01_sergeant"} else {_unit forceAddUniform "fow_u_uk_bd40_pib_01_private"}; if(backpack _unit != "" )then{ removeBackpack _unit; if(_add_sec == "")then{_unit addBackpack "fow_b_uk_bergenpack"}else{_unit addBackpack "fow_b_uk_piat"} } else { if(_add_sec == "")then{if(_isGL)then{_unit addBackpack "fow_b_uk_bergenpack"}else{if(_unit getUnitTrait "engineer")then{ _unit addBackpack "fow_b_uk_p37_blanco_shovel"} else {_unit addBackpack "fow_b_uk_p37_blanco"}}}else{_unit addBackpack "fow_b_uk_piat"} }; if(_add_pri==_snip)then{ _unit addHeadgear "fow_h_uk_mk2_net_camo" }else{ _unit addHeadgear "fow_h_uk_mk2" }; _unit unlinkItem (hmd _unit) }],
	["LIB_m39","LIB_shg24","LIB_nb39","LIB_shg24x7","LIB_pwm","hgun_mas_ww2_m34_F","arifle_mas_ww2_m91","arifle_mas_ww2_m91_l","LIB_Mg30","arifle_mas_ww2_mb38","LIB_RPzB","LIB_Binocular_GER",{},{},{ private _vest = switch true do { case (_add_hgun != ""): { "fow_v_usmc_thompson_nco" }; case (_add_pri == _mg): { "fow_v_usmc_bar" }; case (_add_pri == _smg): { "fow_v_us_thompson" }; default { "fow_v_us_grenade" } }; _unit addVest _vest },{ _unit forceAddUniform "U_mas_wwa_O_CombatUniform_ita"; if( backpack _unit == "" )then{if(_add_sec=="")then{ if(_isGL)then{ _unit addBackpack "fow_b_grenadebag"}else{ _unit addBackpack "B_LIB_DAK_A_frame"} } else {_unit addBackpack "B_LIB_GER_Backpack"} } else { removeBackpack _unit; _unit addBackpack "B_LIB_GER_Backpack"}; _unit addHeadgear "H_mas_wwa_helmet_pith_O"; _unit unlinkItem (hmd _unit) }]
];

gp_ww2_chk = 
{
	private _unit = _this;
	if !(local _unit) exitWith{};
	if (_unit getVariable ["gp_ww2_chked",false]) exitWith{};
	_unit setVariable ["gp_ww2_chked",true,true];
	if( _unit call ace_common_fnc_isZombie )exitWith{};
	_unit addEventHandler ["respawn",{(_this select 0) setVariable ["gp_ww2_chked",nil,true]}];
	_sideGer = false;
	_sideUS = west;
	_sideJap = east;
	_sideUK = false;
	_sideIta = independent;
		private _side = side _unit;
		if(captive _unit)then
		{
			_side = switch getNumber(configFile>>"CfgVehicles">>typeOf _unit>>"side") do
			{
				case 0:
				{
					east
				};
				case 1:
				{
					west
				};
				case 2:
				{
					independent
				};
				default
				{
					civilian
				};
			};
		};
		private _equipInfo = switch true do
		{
			case (_side isEqualTo _sideUS):
			{
				+(gp_ww2_equipInfoTable select 0);
			};
			case (_side isEqualTo _sideGer):
			{
				+(gp_ww2_equipInfoTable select 1);
			};
			case (_side isEqualTo _sideJap):
			{
				+(gp_ww2_equipInfoTable select 2);
			};
			case (_side isEqualTo _sideUK):
			{
				+(gp_ww2_equipInfoTable select 3);
			};
			case (_side isEqualTo _sideIta):
			{
				+(gp_ww2_equipInfoTable select 4);
			};
			default
			{
				+(gp_ww2_equipInfoTable select 3);
			};
		};
		_equipInfo params ["_gS","_g","_gSmk","_gDemo","_gAT","_pist","_rif","_snip","_mg","_smg","_launch","_bino","_rGL_Script","_leader_Script","_vest_Script","_uniform_Script"];
		private _cnt_g = 0;
		private _cnt_gS = 0;
		private _cnt_gAT = 0;
		private _cnt_gSmk = 0;
		private _cnt_gDemo = 0;
		private _add_pri = "";
		private _add_sec = "";
		private _add_bino = "";
		private _add_hgun = "";
		private _isLeader = false;
		private _isGL = false;
		{
			if(_x == _g)then
			{
				_cnt_g = _cnt_g + 1;
			};
			if(_x == _gS)then
			{
				_cnt_gS = _cnt_gS + 1;
			};
			if(_x == _gAT)then
			{
				_cnt_gAT = _cnt_gAT + 1;
			};
			if(_x == _gSmk)then
			{
				_cnt_gSmk = _cnt_gSmk + 1;
			};
			if(_x == _gDemo)then
			{
				_cnt_gDemo = _cnt_gDemo + 1;
			};
			if([_x,"IR_Grenade"] call BIS_fnc_inString)then
			{
				_cnt_gAT = _cnt_gAT + 1;
			};
			if(_x == "MiniGrenade")then
			{
				_cnt_gS = _cnt_gS + 1;
			};
			if(_x == "HandGrenade")then
			{
				_cnt_g = _cnt_g + 1;
				if(random 1 > 0.5)then
				{
					_cnt_gAT = _cnt_gAT + 1;
				};
			};
			if(_x == "SmokeShell")then
			{
				_cnt_gSmk = _cnt_gSmk + 1;
			};
			if(_x == "1Rnd_Smoke_Grenade_shell")then
			{
				_isGL = true;
				_cnt_gDemo = _cnt_gDemo + 1;
			};
		} forEach (magazines _unit);
		if(_unit == leader group _unit)then
		{
			_isLeader = true;
			call _leader_Script;
		};
		if(_gDemo in ["ifa3_TS_BIG","LIB_shg24x7"])then
		{
			_cnt_gDemo = _cnt_gDemo min 1;
		};
		{
			private _type = getText(configFile >> "CfgWeapons" >> _x >> "cursor");
			switch true do
			{
				case (_x == secondaryWeapon _unit) :
				{
					_add_sec = _launch;
				};
				case (_x == binocular _unit) :
				{
					_add_bino = _bino;
				};
				case ((_x == handgunWeapon _unit) && {_isLeader || {_add_pri == ""} || {rankId _unit > 2}} ) :
				{
					_add_hgun = _pist;
				};
				case (_type == "srifle") :
				{
					_add_pri = _snip;
				};
				case (_type == "mg") :
				{
					_add_pri = _mg;
				};
				case (_type == "smg") :
				{
					_add_pri = _smg;
				};
				case (["_MXC_",_x] call BIS_fnc_inString) :
				{
					_add_pri = _smg;
				};
				case (["Katiba_C",_x] call BIS_fnc_inString) :
				{
					_add_pri = _smg;
				};
				case (["_Mk20C_",_x] call BIS_fnc_inString) :
				{
					_add_pri = _smg;
				};
				case (["_TRG20_",_x] call BIS_fnc_inString) :
				{
					_add_pri = _smg;
				};
				case (_type == "arifle") :
				{
					_add_pri = _rif;
				};
			};
		} forEach (weapons _unit);
		{_unit removeWeapon _x} count (weapons _unit);
		{
			private _handled = true;
			switch true do
			{
				case (_x == "ATMine_Range_Mag"):
				{
					_unit removeMagazine _x;
					_unit addMagazine "LIB_TMI_42_MINE_mag";
				};
				case (_x == "APERSMine_Range_Mag"):
				{
					_unit removeMagazine _x;
					_unit addMagazine "LIB_shumine_42_MINE_mag";
				};
				case (_x == "APERSBoundingMine_Range_Mag"):
				{
					_unit removeMagazine _x;
					_unit addMagazine "LIB_M3_MINE_mag";
				};
				case (_x == "DemoCharge_Remote_Mag"):
				{
					_unit removeMagazine _x;
					_unit addMagazines ["LIB_Ladung_Small_MINE_mag",4];
				};
				case (_x == "SatchelCharge_Remote_Mag"):
				{
					_unit removeMagazine _x;
					_unit addMagazines ["LIB_Ladung_Big_MINE_mag",4];
				};
				case (_x == "SLAMDirectionalMine_Wire_Mag"):
				{
					_unit removeMagazine _x;
					_unit addMagazine "LIB_US_M1A1_ATMINE_mag";
				};
				case (_x == "ClaymoreDirectionalMine_Remote_Mag"):
				{
					_unit removeMagazine _x;
					_unit addMagazine "LIB_SMI_35_1_MINE_mag";
				};
				default
				{
					_handled = false;
				};
			};
			if(!_handled)then
			{
				private _ammo = getText(configFile >> "CfgMagazines" >> _x >> "ammo");
				if !( _ammo isKindOf ["TimeBombCore",configFile >> "CfgAmmo"] )then
				{
					_unit removeMagazine _x
				};
			};
		} count (magazines _unit);
		if(_side != civilian)then
		{
			if !( _vest_Script isEqualTo {} ) then
			{
				private _items = vestItems _unit;
				call _vest_Script;
				{_unit addItemToVest _x} forEach _items;
			};
			if !( _uniform_Script isEqualTo {} ) then
			{
				private _items = uniformItems _unit;
				private _items2 = [];
				if(backpack _unit != "")then
				{
					_items2 = backpackItems _unit;
				};
				call _uniform_Script;
				{_unit addItemToUniform _x} forEach _items;
				{_unit addItemToBackpack _x} forEach _items2;
			};
		};
		for "_i" from 1 to _cnt_gS do
		{
			_unit addMagazine _gS;
		};
		for "_i" from 1 to _cnt_g do
		{
			_unit addMagazine _g;
		};
		for "_i" from 1 to _cnt_gAT do
		{
			_unit addMagazine _gAT;
		};
		_cnt_gDemo = _cnt_gDemo min 2;
		for "_i" from 1 to _cnt_gDemo do
		{
			_unit addMagazine _gDemo;
		};
		for "_i" from 1 to _cnt_gSmk do
		{
			_unit addMagazine _gSmk;
		};
		if(_add_sec != "")then
		{
			if(backpack _unit == "")then
			{
				_unit addBackpack "B_LIB_US_RocketBag_Empty";
			};
			private _mags = getArray(configFile >> "CfgWeapons" >> _add_sec >> "magazines");
			for "_i" from 1 to 3 do
			{
				_unit addMagazine (_mags select 0);
			};
			if(count _mags > 1)then
			{
				_unit addMagazine (_mags select 1);
			};
			_unit addWeapon _add_sec;
		};
		if(_add_hgun != "")then
		{
			private _mag = (getArray(configFile >> "CfgWeapons" >> _add_hgun >> "magazines") select 0);
			for "_i" from 1 to 3 do
			{
				_unit addMagazine _mag;
			};
			_unit addWeapon _add_hgun;
		};
		if(_add_pri != "")then
		{
			private _mag = (getArray(configFile >> "CfgWeapons" >> _add_pri >> "magazines") select 0);
			if(_isGL)then
			{
				call _rGL_Script;
			};
			if( (isPlayer _unit) && { getNumber(configFile>>"CfgWeapons">>_add_pri>>"4gp_switchClipToMag") > 0 } )then
			{
				_unit addMagazine _mag;
				_unit addMagazine _mag;
				private _clip = getText(configFile>>"CfgMagazines">>_mag>>"4gp_clip");
				for "_i" from 1 to 18 do
				{
					_unit addMagazine _clip;
				};
			}
			else
			{
				for "_i" from 1 to 11 do
				{
					_unit addMagazine _mag;
				};
			};
			_unit addWeapon _add_pri;
			_unit selectWeapon _add_pri;
		};
		if(_add_bino != "")then
		{
			_unit addWeapon _add_bino;
		};
};

[false,false] spawn
{
	params [["_forcePlayer",false],["_skipPlayer",false]];
	if(_forcePlayer)exitWith
	{
		ace_player setVariable ["gp_ww2_chked",nil];
		ace_player call gp_ww2_chk;
	};
	while {true} do
	{
		if(_skipPlayer)then
		{
			{
				_x call gp_ww2_chk;
			} forEach (allUnits - [ace_player]);
		}
		else
		{
			{
				_x call gp_ww2_chk;
			} forEach allUnits;
		};
		sleep 5;
	};
};

 

Edited by gpgpgpgp
Minor bug fix.
  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites

UPDATE 1:

FOV has been reverted to vanilla standard (.25) upon common request. A seperate download for a patch for hard FOV (.5) will be available  if requested.

Revert to Vanilla FOV (0.5 => 0.25) in the main branch.
Improved ACE magazine repack. Now you can cross-pack from one type of mags to another. Empty mags are kept if the player has spare boxes of ammo in inventory (currently works only for LIB_100Rnd_792x57). New sounds are also added for repacking Belt-fed magazine items.
Improved Massi T100/44 Rate of fire.
Improved IFA3 .30-06 M1 Ball Advanced Ballistic data correction.
Improved IFA3 Liberation MG-30, M31 firing sound.
More accurate IIA level protection data.
More accurate 12G Buckshot damage data.
Fixed external mod IFA3 Liberation disabling driver zooming.
Fixed external mod IFA3 ACE compatibility addon's mortar picture pop-up.
Improved place/defuse sound (mechanic sound instead of digital beeping) for IFA3 explosive charges.
Buildings can realistically take more beatings now.
IFA3 1kg Satchel Charge is now placeable with ACE.

Improved IFA3's built-in Smarter Tanks script (standalone as alarm.pbo).

Edited by gpgpgpgp
+ Improved Smarter Tanks script
  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

I can imagine the amount of time that must have taken, fair play to all involved. I’d be interested in seeing some of the source, if you’d be interested in releasing source that is

Share this post


Link to post
Share on other sites

^^

 

I can only second that statement whole-heartedly! 

 

You must've put a truly enormous amount of time and dedication into that project - BIG THX for that! :respekt:

Share this post


Link to post
Share on other sites
7 hours ago, Flinty said:

I can imagine the amount of time that must have taken, fair play to all involved. I’d be interested in seeing some of the source, if you’d be interested in releasing source that is

Feel free to poke around with Mikero's pbo tools, since phrase 1 is about to end, and the mod will soon turn APL-SL. I'm happy that the community is quite generous with permissions (as long as one asks politely for them).

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

×