Code: Select all
private ["_type", "_unit", "_fnc_BUMaddweapons", "_fnc_BUMaddmagazines", "_magazines", "_fnc_BUMCheckAddBackpack","_fnc_BUMaddMedicalSupplies"];
_type = _this select 0;
_unit = _this select 1;
if (!(local _unit)) exitwith {}; // Todella tärkeä. Estää skriptin pyörimisen ei locaaleilla uniteilla
if (_unit isKindof "Man") then
{
removeAllWeapons _unit;
_unit removeweapon "itemradio";
_unit addweapon "NVGoggles_INDEP";
};
if (_unit isKindof "LandVehicle" || _unit isKindof "Air" || _unit isKindOf "Ship" || _unit isKindOf "Static") then
{
clearWeaponCargoGlobal _unit;
clearItemCargoGlobal _unit;
clearMagazineCargoGlobal _unit;
//_unit disableTIEquipment true;
//_unit setVariable ["tf_side", "guer", true];
};
_fnc_BUMaddweapons = {
//Adds weapons from list
//Params [unit,[ListOfWeapons] call _fnc_BUMaddweapons;
private ["_items", "_unit"];
_unit = _this select 0;
_items = _this select 1;
{_unit addweapon _x;} Foreach _items;
};
_fnc_BUMaddmagazines = {
//Adds list of magazines
//Params [unit,[[MagazineClassname,count],[MagazineClassname,count],...]] call _fnc_BUMaddmagazines;
private ["_item", "_unit", "_elements", "_count"];
_unit = _this select 0;
_elements = _this select 1;
{
_item = _x select 0;
_count = _x select 1;
_unit addmagazines [_item,_count];
} Foreach _elements;
};
_fnc_BUMCheckAddBackpack = {
//Run before adding rockets, adds an Backpack if Unit does not have one already
//Params [unit,"BackpackClassName"] call _fnc_BUMCheckAddBackpack;
private ["_PackToAdd", "_unit"];
_unit = _this select 0;
_PackToAdd = _this select 1;
If (Backpack _unit == "") then {_unit addbackpack _PackToAdd};
};
_fnc_BUMaddMedicalSupplies = {
//Add Xmedsys Medical supplies
//Params [unit, mode] call _fnc_BUMaddMedicalSupplies;
//mode can be "ltd","full","medic"
//medic must have backpack
private ["_mode", "_unit", "_supplies"];
_unit = _this select 0;
_mode = _this select 1;
Switch (_mode) do {
case "ltd":
{
_supplies = [["x39_bandage",2],["x39_morphine",1]];
{
_item = _x select 0;
_count = _x select 1;
for "_i" from 1 to _count do {_unit additem _item};
} Foreach _supplies;
};
case "full":
{
_supplies = [["x39_bandage",3],["x39_morphine",1],["x39_epinephrine",1],["x39_tourniquet",1]];
{
_item = _x select 0;
_count = _x select 1;
for "_i" from 1 to _count do {_unit additem _item};
} Foreach _supplies;
};
case "medic":
{
_supplies = [["x39_bandage",15],["x39_morphine",10],["x39_epinephrine",7],["x39_tourniquet",1],["x39_medikit",10]];
{
_item = _x select 0;
_count = _x select 1;
for "_i" from 1 to _count do {_unit addItemToBackpack _item};
} Foreach _supplies;
};
};
};
switch (_type) do
{
case "Co":
{
removebackpack _unit;
_unit addBackpack "tf_anprc155";
_items = ["Rangefinder", "arifle_Mk20_ACO_F"];
_magazines = [["30Rnd_556x45_Stanag",6],["HandGrenade",1],["SmokeShell",2],["SmokeShellGreen",2]];
[_unit, _magazines] Call _fnc_BUMaddmagazines;
[_unit, _items] Call _fnc_BUMaddweapons;
[_unit, "full"] Call _fnc_BUMaddMedicalSupplies;
};
Case "Pl":
{
removebackpack _unit;
_unit addBackpack "tf_anprc155";
_items = ["Rangefinder", "itemradio", "arifle_Mk20_ACO_F"];
_magazines = [["30Rnd_556x45_Stanag",7],["HandGrenade",1],["SmokeShell",2],["SmokeShellGreen",2]];
[_unit, _magazines] Call _fnc_BUMaddmagazines;
[_unit, _items] Call _fnc_BUMaddweapons;
[_unit, "full"] Call _fnc_BUMaddMedicalSupplies;
};
Case "Ftl":
{
_items = ["Binocular", "arifle_Mk20_GL_F", "itemradio"];
_magazines = [["30Rnd_556x45_Stanag",7],["HandGrenade",1],["SmokeShell",2],["1Rnd_HE_Grenade_shell",6],["1Rnd_SmokeGreen_Grenade_shell",2]];
[_unit, _magazines] Call _fnc_BUMaddmagazines;
[_unit, _items] Call _fnc_BUMaddweapons;
[_unit, "full"] Call _fnc_BUMaddMedicalSupplies;
};
Case "Mg":
{
_items = ["LMG_Zafir_F"];
_magazines = [["150Rnd_762x51_Box",4],["HandGrenade",1],["SmokeShell",1]];
[_unit, _magazines] Call _fnc_BUMaddmagazines;
[_unit, _items] Call _fnc_BUMaddweapons;
[_unit, "full"] Call _fnc_BUMaddMedicalSupplies;
};
Case "Mgasst":
{
[_unit, "B_AssaultPack_rgr"] call _fnc_BUMCheckAddBackpack;
_items = ["arifle_Mk20_ACO_F"];
_magazines = [["30Rnd_556x45_Stanag",7],["HandGrenade",3],["SmokeShell",2],["150Rnd_762x51_Box",3]];
[_unit, _magazines] Call _fnc_BUMaddmagazines;
[_unit, _items] Call _fnc_BUMaddweapons;
[_unit, "full"] Call _fnc_BUMaddMedicalSupplies;
};
Case "AT":
{
[_unit, "B_AssaultPack_rgr"] call _fnc_BUMCheckAddBackpack;
_items = ["arifle_Mk20_ACO_F","launch_RPG32_F"];
_magazines = [["30Rnd_556x45_Stanag",8],["HandGrenade",2],["SmokeShell",2],["RPG32_F",1],["RPG32_HE_F",1]];
[_unit, _magazines] Call _fnc_BUMaddmagazines;
[_unit, _items] Call _fnc_BUMaddweapons;
[_unit, "full"] Call _fnc_BUMaddMedicalSupplies;
};
Case "ATasst":
{
[_unit, "B_AssaultPack_rgr"] call _fnc_BUMCheckAddBackpack;
_items = ["arifle_Mk20_ACO_F"];
_magazines = [["30Rnd_556x45_Stanag",8],["HandGrenade",2],["SmokeShell",1],["RPG32_HE_F",1],["RPG32_F",1]];
[_unit, _magazines] Call _fnc_BUMaddmagazines;
[_unit, _items] Call _fnc_BUMaddweapons;
[_unit, "full"] Call _fnc_BUMaddMedicalSupplies;
};
Case "Medic":
{
[_unit, "B_AssaultPack_rgr"] call _fnc_BUMCheckAddBackpack;
_items = ["arifle_Mk20_ACO_F"];
_magazines = [["30Rnd_556x45_Stanag",6],["HandGrenade",1],["SmokeShell",6]];
[_unit, _magazines] Call _fnc_BUMaddmagazines;
[_unit, _items] Call _fnc_BUMaddweapons;
[_unit, "medic"] Call _fnc_BUMaddMedicalSupplies;
};
Case "Crew":
{
_items = ["arifle_Mk20C_plain_F", "itemradio"];
_magazines = [["30Rnd_556x45_Stanag",4],["SmokeShell",2],["SmokeShellGreen",2]];
[_unit, _magazines] Call _fnc_BUMaddmagazines;
[_unit, _items] Call _fnc_BUMaddweapons;
[_unit, "full"] Call _fnc_BUMaddMedicalSupplies;
};
Case "Rfl":
{
_items = ["arifle_Mk20_GL_F"];
_magazines = [["30Rnd_556x45_Stanag",8],["HandGrenade",2],["SmokeShell",2],["1Rnd_HE_Grenade_shell",8]];
[_unit, _magazines] Call _fnc_BUMaddmagazines;
[_unit, _items] Call _fnc_BUMaddweapons;
[_unit, "full"] Call _fnc_BUMaddMedicalSupplies;
};
Case "car":
{
_unit addMagazineCargoGlobal ["30Rnd_556x45_Stanag", 10];
_unit addMagazineCargoGlobal ["RPG32_F",1];
_unit addMagazineCargoGlobal ["SmokeShell",4];
_unit addMagazineCargoGlobal ["HandGrenade",4];
_unit addMagazineCargoGlobal ["150Rnd_762x51_Box",2];
_unit addMagazineCargoGlobal ["1Rnd_HE_Grenade_shell",6];
};
Case "truck":
{
_unit addMagazineCargoGlobal ["30Rnd_556x45_Stanag", 10];
_unit addMagazineCargoGlobal ["RPG32_F",2];
_unit addMagazineCargoGlobal ["SmokeShell",4];
_unit addMagazineCargoGlobal ["HandGrenade",4];
_unit addMagazineCargoGlobal ["150Rnd_762x51_Box",2];
_unit addMagazineCargoGlobal ["1Rnd_HE_Grenade_shell",6];
};
Case "tank":
{
_unit addMagazineCargoGlobal ["30Rnd_556x45_Stanag", 10];
_unit addMagazineCargoGlobal ["SmokeShell",4];
};
Case "Heli":
{
_unit addMagazineCargoGlobal ["30Rnd_556x45_Stanag", 10];
_unit addMagazineCargoGlobal ["SmokeShell",4];
_unit addMagazineCargoGlobal ["SmokeShellGreen",4];
};
};