diff --git a/addons/grenades/CfgAmmo.hpp b/addons/grenades/CfgAmmo.hpp index 74f0677c3c..47b4cee5b1 100644 --- a/addons/grenades/CfgAmmo.hpp +++ b/addons/grenades/CfgAmmo.hpp @@ -68,7 +68,7 @@ class CfgAmmo { timeToLive = 60; grenadeFireSound[] = {}; grenadeBurningSound[] = {}; - aiAmmoUsageFlags = "4 + 2"; + aiAmmoUsageFlags = "1 + 2"; // illumination + marking smokeColor[] = {0,0,0,0}; effectsSmoke = "ACE_HandFlareEffect"; whistleDist = 0; @@ -99,12 +99,12 @@ class CfgAmmo { timeToLive = 6; grenadeFireSound[] = {}; grenadeBurningSound[] = {}; - aiAmmoUsageFlags = "0"; + aiAmmoUsageFlags = "64"; // infantry smokeColor[] = {0,0,0,0}; effectsSmoke = "ACE_M84FlashbangEffect"; whistleDist = 0; }; - + class Chemlight_base: SmokeShell { GVAR(pullPinSound)[] = {"A3\sounds_f\weapons\Other\dry4.wss", 3, 2, 10}; soundImpactHard1[] = {"A3\sounds_f\characters\footsteps\concrete_run_1",1,1.8,65}; @@ -124,4 +124,26 @@ class CfgAmmo { soundImpactWoodExt3[] = {"A3\sounds_f\characters\footsteps\wood_run_ext_2",1,1.1,75}; soundImpactWoodExt4[] = {"A3\sounds_f\characters\footsteps\wood_run_ext_2",1,1.15,75}; }; + + class ACE_G_M14: SmokeShell { + GVAR(incendiary) = 1; + model = QPATHTOF(models\ace_anm14th3_armed.p3d); + hit = 5; + indirectHit = 4; + indirectHitRange = 1.1; + dangerRadiusHit = 50; + suppressionRadiusHit = 18; + deflecting = 20; + explosionTime = 3; + timeToLive = 40; + fuseDistance = 0; + SmokeShellSoundHit1[] = {QPATHTOF(sounds\incen_exp1.ogg),3.1622777,1,500}; + SmokeShellSoundHit2[] = {QPATHTOF(sounds\incen_exp2.ogg),3.1622777,1,500}; + grenadeFireSound[] = {"SmokeShellSoundHit1",0.5,"SmokeShellSoundHit2",0.5}; + grenadeBurningSound[] = {}; + aiAmmoUsageFlags = "64 + 1"; // infantry + illumination + effectsSmoke = "ACE_Incendiary"; + whistleDist = 0; // no BIS explosion effects + whistleOnFire = 0; // no BIS firing effects + }; }; diff --git a/addons/grenades/CfgMagazines.hpp b/addons/grenades/CfgMagazines.hpp index d1d9127fa4..c345a913ac 100644 --- a/addons/grenades/CfgMagazines.hpp +++ b/addons/grenades/CfgMagazines.hpp @@ -14,7 +14,7 @@ class CfgMagazines { author = ECSTRING(common,ACETeam); scope = 2; displayname = CSTRING(M127A1_White_Name); - descriptionshort = CSTRING(M127A1_White_Description); + descriptionShort = CSTRING(M127A1_White_Description); displayNameShort = CSTRING(M127A1_White_NameShort); model = "\A3\weapons_f\ammo\flare_white"; picture = "\A3\Weapons_F\Data\UI\gear_flare_white_ca.paa"; @@ -25,7 +25,7 @@ class CfgMagazines { author = ECSTRING(common,ACETeam); scope = 2; displayname = CSTRING(M127A1_Red_Name); - descriptionshort = CSTRING(M127A1_Red_Description); + descriptionShort = CSTRING(M127A1_Red_Description); displayNameShort = CSTRING(M127A1_Red_NameShort); model = "\A3\weapons_f\ammo\flare_red"; picture = "\A3\Weapons_F\Data\UI\gear_flare_red_ca.paa"; @@ -36,7 +36,7 @@ class CfgMagazines { author = ECSTRING(common,ACETeam); scope = 2; displayname = CSTRING(M127A1_Green_Name); - descriptionshort = CSTRING(M127A1_Green_Description); + descriptionShort = CSTRING(M127A1_Green_Description); displayNameShort = CSTRING(M127A1_Green_NameShort); model = "\A3\weapons_f\ammo\flare_green"; picture = "\A3\Weapons_F\Data\UI\gear_flare_green_ca.paa"; @@ -47,7 +47,7 @@ class CfgMagazines { author = ECSTRING(common,ACETeam); scope = 2; displayname = CSTRING(M127A1_Yellow_Name); - descriptionshort = CSTRING(M127A1_Yellow_Description); + descriptionShort = CSTRING(M127A1_Yellow_Description); displayNameShort = CSTRING(M127A1_Yellow_NameShort); model = "\A3\weapons_f\ammo\flare_yellow"; picture = "\A3\Weapons_F\Data\UI\gear_flare_yellow_ca.paa"; @@ -57,14 +57,26 @@ class CfgMagazines { class ACE_M84: HandGrenade { author = ECSTRING(common,ACETeam); displayname = CSTRING(M84_Name); - descriptionshort = CSTRING(M84_Description); - displayNameShort = "M84"; + descriptionShort = CSTRING(M84_Description); + displayNameShort = CSTRING(M84_NameShort); model = QPATHTOF(models\ACE_m84.p3d); picture = QPATHTOF(UI\ACE_m84_x_ca.paa); ammo = "ACE_G_M84"; mass = 4; }; + class SmokeShell; + class ACE_M14: SmokeShell { + author = ECSTRING(common,ACETeam); + displayname = CSTRING(Incendiary_Name); + descriptionShort = CSTRING(Incendiary_Description); + displayNameShort = CSTRING(Incendiary_NameShort); + model = QPATHTOF(models\ace_anm14th3.p3d); + picture = QPATHTOF(UI\ace_anm14th3_x_ca.paa); + ammo = "ACE_G_M14"; + mass = 4; + }; + class 3Rnd_UGL_FlareGreen_F; class 6Rnd_GreenSignal_F: 3Rnd_UGL_FlareGreen_F { author = ECSTRING(common,ACETeam); diff --git a/addons/grenades/CfgVehicles.hpp b/addons/grenades/CfgVehicles.hpp index 94c60e10d7..1315ccf611 100644 --- a/addons/grenades/CfgVehicles.hpp +++ b/addons/grenades/CfgVehicles.hpp @@ -35,6 +35,7 @@ class CfgVehicles { MACRO_ADDITEM(ACE_HandFlare_Green,12); MACRO_ADDITEM(ACE_HandFlare_Yellow,12); MACRO_ADDITEM(ACE_M84,12); + MACRO_ADDITEM(ACE_M14,12); }; }; }; diff --git a/addons/grenades/CfgWeapons.hpp b/addons/grenades/CfgWeapons.hpp index f84c00713a..832be6fe73 100644 --- a/addons/grenades/CfgWeapons.hpp +++ b/addons/grenades/CfgWeapons.hpp @@ -2,7 +2,7 @@ class CfgWeapons { class GrenadeLauncher; class Throw: GrenadeLauncher { - muzzles[] += {"ACE_HandFlare_WhiteMuzzle","ACE_HandFlare_RedMuzzle","ACE_HandFlare_GreenMuzzle","ACE_HandFlare_YellowMuzzle","ACE_M84Muzzle"}; + muzzles[] += {"ACE_HandFlare_WhiteMuzzle","ACE_HandFlare_RedMuzzle","ACE_HandFlare_GreenMuzzle","ACE_HandFlare_YellowMuzzle","ACE_M84Muzzle","ACE_M14Muzzle"}; class ThrowMuzzle; class ACE_HandFlare_WhiteMuzzle: ThrowMuzzle { @@ -24,5 +24,9 @@ class CfgWeapons { class ACE_M84Muzzle: ThrowMuzzle { magazines[] = {"ACE_M84"}; }; + + class ACE_M14Muzzle: ThrowMuzzle { + magazines[] = {"ACE_M14"}; + }; }; }; diff --git a/addons/grenades/Effects.hpp b/addons/grenades/Effects.hpp index 3cbcef9a38..95c3f12ba8 100644 --- a/addons/grenades/Effects.hpp +++ b/addons/grenades/Effects.hpp @@ -6,3 +6,30 @@ class ACE_M84FlashbangEffect { class ACE_HandFlareEffect { // empty }; + +class ACE_Incendiary { + class Cmeasures1 { + simulation = "particles"; + type = "Cmeasures1"; + position[] = {0,0,0}; + intensity = 1; + interval = 1; + lifeTime = 25; + }; + class Cmeasures2 { + simulation = "particles"; + type = "Cmeasures2"; + position[] = {0,0,0}; + intensity = 1; + interval = 1; + lifeTime = 25; + }; + class Light1 { + simulation = "light"; + type = "CmeasuresLight"; + position[] = {0,0,0}; + intensity = 1; + interval = 1; + lifeTime = 25; + }; +}; diff --git a/addons/grenades/UI/ace_anm14th3_x_ca.paa b/addons/grenades/UI/ace_anm14th3_x_ca.paa new file mode 100644 index 0000000000..c1acc434a7 Binary files /dev/null and b/addons/grenades/UI/ace_anm14th3_x_ca.paa differ diff --git a/addons/grenades/XEH_PREP.hpp b/addons/grenades/XEH_PREP.hpp index b95c0d6961..e5e0cb4732 100644 --- a/addons/grenades/XEH_PREP.hpp +++ b/addons/grenades/XEH_PREP.hpp @@ -2,5 +2,6 @@ PREP(flare); PREP(flashbangExplosionEH); PREP(flashbangThrownFuze); +PREP(incendiary); PREP(nextMode); PREP(throwGrenade); diff --git a/addons/grenades/XEH_postInit.sqf b/addons/grenades/XEH_postInit.sqf index e47734c53e..71347d721c 100644 --- a/addons/grenades/XEH_postInit.sqf +++ b/addons/grenades/XEH_postInit.sqf @@ -10,8 +10,7 @@ GVAR(flashbangPPEffectCC) = ppEffectCreate ["ColorCorrections", 4265]; GVAR(flashbangPPEffectCC) ppEffectForceInNVG true; // Add keybinds -["ACE3 Weapons", QGVAR(switchGrenadeMode), localize LSTRING(SwitchGrenadeMode), -{ +["ACE3 Weapons", QGVAR(switchGrenadeMode), localize LSTRING(SwitchGrenadeMode), { // Conditions: canInteract if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific @@ -19,10 +18,7 @@ GVAR(flashbangPPEffectCC) ppEffectForceInNVG true; // Statement [] call FUNC(nextMode); -}, -{false}, -[9, [false, false, false]], false] call CBA_fnc_addKeybind; //8 Key - +}, {false}, [9, [false, false, false]], false] call CBA_fnc_addKeybind; //8 Key // Register fire event handler ["ace_firedPlayer", DFUNC(throwGrenade)] call CBA_fnc_addEventHandler; diff --git a/addons/grenades/config.cpp b/addons/grenades/config.cpp index 6fc14ece0c..a06d5f74d8 100644 --- a/addons/grenades/config.cpp +++ b/addons/grenades/config.cpp @@ -4,11 +4,18 @@ class CfgPatches { class ADDON { name = COMPONENT_NAME; units[] = {}; - weapons[] = {}; + weapons[] = { + "ACE_HandFlare_White", + "ACE_HandFlare_Red", + "ACE_HandFlare_Green", + "ACE_HandFlare_Yellow", + "ACE_M84", + "ACE_M14" + }; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_common"}; author = ECSTRING(common,ACETeam); - authors[] = {"commy2", "KoffeinFlummi"}; + authors[] = {"commy2","KoffeinFlummi"}; url = ECSTRING(main,URL); VERSION_CONFIG; }; diff --git a/addons/grenades/functions/fnc_flare.sqf b/addons/grenades/functions/fnc_flare.sqf index be2b4ce952..a0e8e1ff40 100644 --- a/addons/grenades/functions/fnc_flare.sqf +++ b/addons/grenades/functions/fnc_flare.sqf @@ -36,4 +36,4 @@ _light setLightDayLight true; _light lightAttachObject [_projectile, [0,0,0]]; //_light attachTo [_projectile, [0,0,0]]; -[{deleteVehicle _this}, _light, _timeToLive, 1] call CBA_fnc_waitAndExecute; +[{deleteVehicle _this}, _light, _timeToLive] call CBA_fnc_waitAndExecute; diff --git a/addons/grenades/functions/fnc_incendiary.sqf b/addons/grenades/functions/fnc_incendiary.sqf new file mode 100644 index 0000000000..e3534aac48 --- /dev/null +++ b/addons/grenades/functions/fnc_incendiary.sqf @@ -0,0 +1,173 @@ +/* + * Author: commy2 + * Makes incendiary burn. + * + * Arguments: + * 0: The grenade + * 1: Incendiary lifetime + * + * Return Value: + * None + * + * Example: + * [_nade, 60] call ace_grenades_fnc_incendiary + * + * Public: No + */ +#include "script_component.hpp" + +#define PARTICLE_LIFE_TIME 2 +#define PARTICLE_DENSITY 20 +#define PARTICLE_SIZE 1 +#define PARTICLE_SPEED 1 + +#define PARTICLE_SMOKE_LIFE_TIME 5 +#define PARTICLE_SMOKE_DENSITY 5 +#define PARTICLE_SMOKE_SIZE 0.5 +#define PARTICLE_SMOKE_SPEED 1 +#define PARTICLE_SMOKE_LIFTING 1 +#define PARTICLE_SMOKE_WIND_EFFECT 1 + +#define EFFECT_SIZE 1 +#define ORIENTATION 5.4 +#define EXPANSION 1 + +params ["_projectile", "_timeToLive"]; + +private _position = position _projectile; + +// --- fire +private _fire = "#particlesource" createVehicleLocal _position; + +_fire setParticleParams [ + ["\A3\data_f\ParticleEffects\Universal\Universal",16,10,32], + "", + "billboard", + 1, + PARTICLE_LIFE_TIME, + [0,0,0], + [0, 0, 0.4 * PARTICLE_SPEED], + 0, + 0.0565, + 0.05, + 0.03, + [0.9 * PARTICLE_SIZE, 0], + [ + [0.5,0.5,0.5,-0], + [0.5,0.5,0.5,-1], + [0.5,0.5,0.5,-1], + [0.5,0.5,0.5,-1], + [0.5,0.5,0.5,-1], + [0.5,0.5,0.5,0] + ], + [1], + 0.01, + 0.02, + "", + "", + _projectile, + ORIENTATION, + false, + -1, + [[3,3,3,0]] +]; + +_fire setParticleRandom [PARTICLE_LIFE_TIME / 4, [0.15 * EFFECT_SIZE, 0.15 * EFFECT_SIZE, 0], [0.2,0.2,0], 0.4, 0, [0,0,0,0], 0, 0, 0.2]; +_fire setParticleFire [1.2,1.0,0.1]; +_fire setDropInterval (1 / PARTICLE_DENSITY); + +// --- smoke +private _smoke = "#particlesource" createVehicleLocal _position; + +_smoke setParticleParams [ + ["\A3\data_f\ParticleEffects\Universal\Universal_02",8,0,40,1], + "", + "billboard", + 1, + PARTICLE_SMOKE_LIFE_TIME, + [0,0,0], + [0, 0, 2 * PARTICLE_SMOKE_SPEED], + 0, + 0.05, + 0.04 * PARTICLE_SMOKE_LIFTING, + 0.05 * PARTICLE_SMOKE_WIND_EFFECT, + [1 * PARTICLE_SMOKE_SIZE + 1, 1.8 * PARTICLE_SMOKE_SIZE + 15], + [ + [0.7,0.7,0.7,0.7], + [0.7,0.7,0.7,0.6], + [0.7,0.7,0.7,0.45], + [0.84,0.84,0.84,0.28], + [0.84,0.84,0.84,0.16], + [0.84,0.84,0.84,0.09], + [0.84,0.84,0.84,0.06], + [1,1,1,0.02], + [1,1,1,0] + ], + [1,0.55,0.35], + 0.1, + 0.08 * EXPANSION, + "", + "", + _projectile +]; + +_smoke setParticleRandom [PARTICLE_SMOKE_LIFE_TIME / 2, [0.5 * EFFECT_SIZE, 0.5 * EFFECT_SIZE, 0.2 * EFFECT_SIZE], [0.3,0.3,0.5], 1, 0, [0,0,0,0.06], 0, 0]; +_smoke setDropInterval (1 / PARTICLE_SMOKE_DENSITY); + +// --- light +private _light = "#lightpoint" createVehicleLocal (_position vectorAdd [0,0,0.5]); + +_light setLightBrightness 1.0; +_light setLightColor [1,0.65,0.4]; +_light setLightAmbient [0.15,0.05,0]; +_light setLightIntensity (50 + 400 * ((PARTICLE_SIZE + EFFECT_SIZE) / 2)); +_light setLightAttenuation [0,0,0,1]; + +_light setLightDayLight false; + +_light lightAttachObject [_projectile, [0,0,0]]; + +// --- sound +private _sound = objNull; + +if (isServer) then { + _sound = createSoundSource ["Sound_Fire", _position, [], 0]; +}; + +[{ + {deleteVehicle _x} forEach _this; +}, [_fire, _smoke, _light, _sound], _timeToLive] call CBA_fnc_waitAndExecute; + +// --- damage +{ + if (local _x) then { + //systemChat format ["burn: %1", _x]; + + // --- destroy nearby static weapons and ammo boxes + if (_x isKindOf "StaticWeapon" || {_x isKindOf "ReammoBox_F"}) then { + _x setDamage 1; + }; + + // --- delete nearby ground weapon holders + if (_x isKindOf "WeaponHolder" || {_x isKindOf "WeaponHolderSimulated"}) then { + deleteVehicle _x; + }; + + // --- inflame fireplace, barrels etc. + _x inflame true; + }; +} forEach (_position nearObjects EFFECT_SIZE); + +// --- burn car engine +if ("ace_cookoff" call EFUNC(common,isModLoaded)) then { + private _vehicle = _position nearestObject "Car"; + if (!local _vehicle || {_vehicle isKindOf "Wheeled_APC_F"}) exitWith {}; + + private _engineSelection = getText (_vehicle call CBA_fnc_getObjectConfig >> "HitPoints" >> "HitEngine" >> "name"); + private _enginePosition = _vehicle modelToWorld (_vehicle selectionPosition _engineSelection); + + if (_position distance _enginePosition < EFFECT_SIZE * 2) then { + _vehicle setHit [_engineSelection, 1]; + _vehicle call EFUNC(cookoff,engineFire); + }; +}; diff --git a/addons/grenades/functions/fnc_throwGrenade.sqf b/addons/grenades/functions/fnc_throwGrenade.sqf index 1ea14f9d73..5f66dc30bf 100644 --- a/addons/grenades/functions/fnc_throwGrenade.sqf +++ b/addons/grenades/functions/fnc_throwGrenade.sqf @@ -49,7 +49,14 @@ if (getNumber (_config >> QGVAR(flare)) == 1) then { private _color = getArray (_config >> QGVAR(color)); private _intensity = _color deleteAt 3; - [FUNC(flare), [_projectile, _color, _intensity, _timeToLive], _fuzeTime, 0] call CBA_fnc_waitAndExecute; + [FUNC(flare), [_projectile, _color, _intensity, _timeToLive], _fuzeTime] call CBA_fnc_waitAndExecute; +}; + +if (getNumber (_config >> QGVAR(incendiary)) == 1) then { + private _fuzeTime = getNumber (_config >> "explosionTime"); + private _timeToLive = getNumber (_config >> "timeToLive"); + + [FUNC(incendiary), [_projectile, _timeToLive], _fuzeTime] call CBA_fnc_waitAndExecute; }; // handle throw modes diff --git a/addons/grenades/models/ace_anm14th3.p3d b/addons/grenades/models/ace_anm14th3.p3d new file mode 100644 index 0000000000..e50bc0cd4f Binary files /dev/null and b/addons/grenades/models/ace_anm14th3.p3d differ diff --git a/addons/grenades/models/ace_anm14th3_armed.p3d b/addons/grenades/models/ace_anm14th3_armed.p3d new file mode 100644 index 0000000000..006f2f6599 Binary files /dev/null and b/addons/grenades/models/ace_anm14th3_armed.p3d differ diff --git a/addons/grenades/sounds/incen_exp1.ogg b/addons/grenades/sounds/incen_exp1.ogg new file mode 100644 index 0000000000..8028aa6e49 Binary files /dev/null and b/addons/grenades/sounds/incen_exp1.ogg differ diff --git a/addons/grenades/sounds/incen_exp2.ogg b/addons/grenades/sounds/incen_exp2.ogg new file mode 100644 index 0000000000..77b5b0eee5 Binary files /dev/null and b/addons/grenades/sounds/incen_exp2.ogg differ diff --git a/addons/grenades/stringtable.xml b/addons/grenades/stringtable.xml index aadd1432d2..a68f7971bd 100644 --- a/addons/grenades/stringtable.xml +++ b/addons/grenades/stringtable.xml @@ -85,6 +85,18 @@ Granata Stordente M84 M84 granada de atordoamento + + M84 + M84 + M84 + M84 + M84 + M84 + M84 + M84 + M84 + M84 + Also known as flashbang. Causes immediate flash blindness, deafness, tinnitus, and inner ear disturbance. Verursacht temporäre Blind- und Taubheit. @@ -241,5 +253,18 @@ M127A1 (Жёлтые) M127A1 (Amarilla) + + AN-M14 Incendiary Grenade + AN-M14 Brandsatz + + + AN-M14 + AN-M14 + + + Incendiary grenade used to destroy weapons, ammunition and other equipment. + Brandsatzgranate. Verwendet um Waffen, Munition und andere Ausrüstung zu zerstören. + + - \ No newline at end of file + diff --git a/addons/grenades/textures/ace_anm14th3.rvmat b/addons/grenades/textures/ace_anm14th3.rvmat new file mode 100644 index 0000000000..e829a26b46 --- /dev/null +++ b/addons/grenades/textures/ace_anm14th3.rvmat @@ -0,0 +1,85 @@ +ambient[] = {1.0,1.0,1.0,1.0}; +diffuse[] = {1.0,1.0,1.0,1.0}; +forcedDiffuse[] = {0.0,0.0,0.0,0.0}; +emmisive[] = {0.0,0.0,0.0,1.0}; +specular[] = {0.93,0.93,0.93,1.0}; +specularPower = 200; +PixelShaderID = "Super"; +VertexShaderID = "Super"; + +class Stage1 { + texture = "z\ace\addons\grenades\textures\ace_anm14th3_nohq.paa"; + uvSource = "tex"; + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,0}; + pos[] = {0,0,0}; + }; +}; + +class Stage2 { + texture = "a3\weapons_f\data\detailmaps\metal_detail_dt.paa"; + uvSource = "tex"; + class uvTransform { + aside[] = {6,0,0}; + up[] = {0,3,0}; + dir[] = {0,0,0}; + pos[] = {0,0,0}; + }; +}; + +class Stage3 { + texture = "#(argb,8,8,3)color(0,0,0,0,MC)"; + uvSource = "tex"; + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,0}; + pos[] = {0,0,0}; + }; +}; + +class Stage4 { + texture = "#(argb,8,8,3)color(1,1,1,1,AS)"; + uvSource = "tex"; + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,0}; + pos[] = {0,0,0}; + }; +}; + +class Stage5 { + texture = "z\ace\addons\grenades\textures\ace_anm14th3_smdi.paa"; + uvSource = "tex"; + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,0}; + pos[] = {0,0,0}; + }; +}; + +class Stage6 { + texture = "#(ai,64,64,1)fresnel(1.29,0.5)"; + uvSource = "tex"; + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,0}; + pos[] = {0,0,0}; + }; +}; + +class Stage7 { + texture = "a3\data_f\env_land_co.paa"; + uvSource = "tex"; + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,0}; + pos[] = {0,0,0}; + }; +}; diff --git a/addons/grenades/textures/ace_anm14th3_co.paa b/addons/grenades/textures/ace_anm14th3_co.paa new file mode 100644 index 0000000000..c28c589a59 Binary files /dev/null and b/addons/grenades/textures/ace_anm14th3_co.paa differ diff --git a/addons/grenades/textures/ace_anm14th3_nohq.paa b/addons/grenades/textures/ace_anm14th3_nohq.paa new file mode 100644 index 0000000000..febe102874 Binary files /dev/null and b/addons/grenades/textures/ace_anm14th3_nohq.paa differ diff --git a/addons/grenades/textures/ace_anm14th3_smdi.paa b/addons/grenades/textures/ace_anm14th3_smdi.paa new file mode 100644 index 0000000000..7a8f67ad7f Binary files /dev/null and b/addons/grenades/textures/ace_anm14th3_smdi.paa differ diff --git a/addons/grenades/textures/ace_m84.rvmat b/addons/grenades/textures/ace_m84.rvmat index 1bfb6ffc0f..5bf3dcfdc7 100644 --- a/addons/grenades/textures/ace_m84.rvmat +++ b/addons/grenades/textures/ace_m84.rvmat @@ -6,84 +6,77 @@ specular[] = {0.1,0.1,0.1,1.0}; specularPower = 95; PixelShaderID = "Super"; VertexShaderID = "Super"; -class Stage1 -{ + +class Stage1 { texture = "z\ace\addons\grenades\textures\ace_m84_nohq.paa"; uvSource = "tex"; - class uvTransform - { + class uvTransform { aside[] = {1,0,0}; up[] = {0,1,0}; dir[] = {0,0,0}; pos[] = {0,0,0}; }; }; -class Stage2 -{ + +class Stage2 { texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)"; uvSource = "tex"; - class uvTransform - { + class uvTransform { aside[] = {0,9,0}; up[] = {4.5,0,0}; dir[] = {0,0,0}; pos[] = {0,0,0}; }; }; -class Stage3 -{ + +class Stage3 { texture = "#(argb,8,8,3)color(0.5,0.5,0.5,0,MC)"; uvSource = "tex"; - class uvTransform - { + class uvTransform { aside[] = {1,0,0}; up[] = {0,1,0}; dir[] = {0,0,0}; pos[] = {0,0,0}; }; }; -class Stage4 -{ + +class Stage4 { texture = "#(argb,8,8,3)color(1,1,1,1,AS)"; uvSource = "tex"; - class uvTransform - { + class uvTransform { aside[] = {1,0,0}; up[] = {0,1,0}; dir[] = {0,0,0}; pos[] = {0,0,0}; }; }; -class Stage5 -{ + +class Stage5 { texture = "z\ace\addons\grenades\textures\ace_m84_smdi.paa"; uvSource = "tex"; - class uvTransform - { + class uvTransform { aside[] = {1,0,0}; up[] = {0,1,0}; dir[] = {0,0,0}; pos[] = {0,0,0}; }; }; -class Stage6 -{ + +class Stage6 { texture = "#(ai,16,2,2)fresnel(10.4,8.3)"; uvSource = "tex"; - class uvTransform - { + class uvTransform { aside[] = {1,0,0}; up[] = {0,1,0}; dir[] = {0,0,1}; pos[] = {0,0,0}; }; }; -class Stage7 -{ + +class Stage7 { texture = "a3\data_f\env_land_co.paa"; uvSource = "tex"; - class uvTransform - { + class uvTransform { aside[] = {1,0,0}; up[] = {0,1,0}; dir[] = {0,0,0};