Procházet zdrojové kódy

Merge pull request #60 from 501st-Aux-Mod-Team/goggles

Goggles
Erliens před 4 roky
rodič
revize
25e7c4cfa8

+ 6 - 1
addons - Copy/RD501_Main/XEH_postinit.sqf

@@ -6,6 +6,11 @@
 	sleep 0.5;
 	call compile preprocessFileLineNumbers 'macro_mod_script_path\jumppack\jumppack_effects.sqf';
 };
+
+// Add nightvision event handler
+call macro_fnc_name(nightvision);
+
+// Drone Recharge
 RD501_DRONE_BATTERY = "lightsaberG_swing";
 RD501_FORCE_WALK_WEAPONS = [macro_quote(macro_new_weapon_nofam(Z1000))];
-["weapon", macro_fnc_name(heavyWeaponHandlePlayerWeaponChanged)] call CBA_fnc_addPlayerEventHandler;
+["weapon", macro_fnc_name(heavyWeaponHandlePlayerWeaponChanged)] call CBA_fnc_addPlayerEventHandler;

+ 3 - 0
addons - Copy/RD501_Main/XEH_preInit.sqf

@@ -62,6 +62,9 @@ macro_prep_xeh(init\magna.sqf,magna_apply_skill)
 macro_prep_xeh(init\jam_sandwich.sqf,apply_jammer)
 macro_prep_xeh(init\aat.sqf,aatInit)
 
+//nightvision
+macro_prep_xeh(nightvision.sqf,nightvision)
+
 //HUD color
 macro_prep_xeh(hud_color_change.sqf,change_hud_color)
 

+ 1 - 1
addons - Copy/RD501_Main/config_macros.hpp

@@ -15,7 +15,7 @@
 	#define UNDERSCORE_CONCAT(var1,var2) ##var1##_##var2
 	// #define CONCAT(var1,var2) ##var1##var2
 	#define ADDON_NICE Research & Development 501
-	#define DANKAUTHORS Namenai, Rexi, Zatama
+	#define DANKAUTHORS RD501
 
 	//Adds the mod prefix to watever, used for classnames and such
 	#define ADD_PREFIX(NAME)UNDERSCORE_CONCAT(MODNAME,NAME)

+ 46 - 0
addons - Copy/RD501_Main/functions/nightvision.sqf

@@ -0,0 +1,46 @@
+#include "\a3\editor_f\Data\Scripts\dikCodes.h"
+#include "../config_macros.hpp"
+
+//handle loadout changed
+macro_grp_fnc_name(nightvision,handle_change) = {
+    params["_unit", "_loadout"];
+
+    _nv_gear = _loadout select 9 select 5;
+    _RD501_isNV = (configFile >> "cfgWeapons" >> _nv_gear >> "RD501_isNV") call BIS_fnc_getCfgDataBool;
+    player setVariable["RD501_isNV",_RD501_isNV,true];
+
+    if (!_RD501_isNV) then {
+        call macro_grp_fnc_name(nightvision,switch_off);
+    };
+};
+
+//switch nightvision on
+macro_grp_fnc_name(nightvision,switch_on) = {
+    setApertureNew [0.7, 0.7, 0.7, 1];
+    player setVariable["RD501_NV_on",true,true];
+};
+
+//switch nightvision off
+macro_grp_fnc_name(nightvision,switch_off) = {
+    setAperture -1;
+    player setVariable["RD501_NV_on",false,true];
+};
+
+//handle button press
+macro_grp_fnc_name(nightvision,handle_switch) = {
+    _RD501_isNV = player getVariable["RD501_isNV",false];
+    _RD501_NV_on = player getVariable["RD501_NV_on",false];
+    if (_RD501_isNV && !_RD501_NV_on) then {
+        call macro_grp_fnc_name(nightvision,switch_on);
+    } else {
+        call macro_grp_fnc_name(nightvision,switch_off);
+    };
+};
+
+//add eventhandler
+["loadout", macro_grp_fnc_name(nightvision,handle_change)] call CBA_fnc_addPlayerEventHandler;
+
+//add keybinds
+["RD501 Nightvision Mod","Cycle",["Cycle","Press to Cycle"],{
+    [player] call macro_grp_fnc_name(nightvision,handle_switch);
+},"",[DIK_N,[false,true,false]],false] call cba_fnc_addKeybind;

+ 32 - 0
addons - Copy/RD501_Units/other/config.cpp

@@ -114,4 +114,36 @@ class CfgGlasses
 		Displayname="Stealth Balaclava (Dark)"
 		hiddenSelectionsTextures[] = {"rd501_units\textures\glasses\dark_mask_2.paa"};
 	}
+
+	class macro_new_glass(remove_blue): macro_new_glass(phase2_hud)
+	{
+		displayName = "Color Suppression Chip (Blue)";
+		author = DANKAUTHORS;
+		picture = "RD501_Units\textures\icons\no_blue.paa"
+		scope = 2;
+		scopeCurator = 2;
+		scopeArsenal = 2;
+		modelOptics="";
+
+		ace_color[] = {0.0,0.0,-200.0};
+		ace_tintAmount = 1;
+		ace_resistance = 1;
+		ace_protection = 0;
+		ACE_Overlay = "";
+		ace_overlayDirt = "";
+		ace_dustPath = "";
+		ACE_OverlayCracked = "";
+	}
+	class macro_new_glass(remove_red): macro_new_glass(remove_blue)
+	{
+		displayName = "Color Suppression Chip (Red)";
+		picture = "RD501_Units\textures\icons\no_red.paa"
+		ace_color[] = {-150.0,0.0,0.0};
+	}
+	class macro_new_glass(remove_green): macro_new_glass(remove_blue)
+	{
+		displayName = "Color Suppression Chip (Green)";
+		picture = "RD501_Units\textures\icons\no_green.paa"
+		ace_color[] = {0.0,-100.0,0.0};
+	}
 };

binární
addons - Copy/RD501_Units/textures/icons/no_blue.paa


binární
addons - Copy/RD501_Units/textures/icons/no_green.paa


binární
addons - Copy/RD501_Units/textures/icons/no_red.paa


+ 20 - 1
addons - Copy/RD501_Weapons/NVG/config.cpp

@@ -187,6 +187,25 @@ class cfgWeapons
    	   	hiddenSelections[] = {"Camo1"};
 		hiddenSelectionsTextures[] = {"SWOP_clones\data\spec\Spec2_co.paa"};
 		macro_thermal_nvg_default
- 	};		
+ 	};
+
+	class macro_new_weapon(nvg,shock_trooper) : SWOP_NVChip2
+	{
+		visionMode[] = {"Normal"};
+		dlc = "rd501";
+		author= "RD501";
+		RD501_isNV = 1;
+		displayName = "Shock Trooper Chip";
+	};
+
+	class macro_new_weapon(nvg,shock_trooper_enhanced) : SWOP_NVChip2
+	{
+		visionMode[] = {"Normal","TI"};
+		thermalMode[] = {0,2};
+		dlc = "rd501";
+		author= "RD501";
+		RD501_isNV = 1;
+		displayName = "Shock Trooper Enhanced Chip";
+	};
 };