diff --git a/Server_Install_Pack/@epochhive/addons/epoch_server.pbo b/Server_Install_Pack/@epochhive/addons/epoch_server.pbo index 2998b12a..d701196a 100644 Binary files a/Server_Install_Pack/@epochhive/addons/epoch_server.pbo and b/Server_Install_Pack/@epochhive/addons/epoch_server.pbo differ diff --git a/Server_Install_Pack/@epochhive/addons/epoch_server_core.pbo b/Server_Install_Pack/@epochhive/addons/epoch_server_core.pbo index d84e3b92..b4e8d3f9 100644 Binary files a/Server_Install_Pack/@epochhive/addons/epoch_server_core.pbo and b/Server_Install_Pack/@epochhive/addons/epoch_server_core.pbo differ diff --git a/Server_Install_Pack/@epochhive/addons/epoch_server_settings.pbo b/Server_Install_Pack/@epochhive/addons/epoch_server_settings.pbo index bdc1fda1..37ee3730 100644 Binary files a/Server_Install_Pack/@epochhive/addons/epoch_server_settings.pbo and b/Server_Install_Pack/@epochhive/addons/epoch_server_settings.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Altis.pbo b/Server_Install_Pack/mpmissions/epoch.Altis.pbo index 224fdaea..abc28db1 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Altis.pbo and b/Server_Install_Pack/mpmissions/epoch.Altis.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Australia.pbo b/Server_Install_Pack/mpmissions/epoch.Australia.pbo index 0035d338..19e939e8 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Australia.pbo and b/Server_Install_Pack/mpmissions/epoch.Australia.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Bootcamp_ACR.pbo b/Server_Install_Pack/mpmissions/epoch.Bootcamp_ACR.pbo index fc13d708..a411547c 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Bootcamp_ACR.pbo and b/Server_Install_Pack/mpmissions/epoch.Bootcamp_ACR.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Bornholm.pbo b/Server_Install_Pack/mpmissions/epoch.Bornholm.pbo index 25e1fe94..182879b5 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Bornholm.pbo and b/Server_Install_Pack/mpmissions/epoch.Bornholm.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Chernarus.pbo b/Server_Install_Pack/mpmissions/epoch.Chernarus.pbo index 0e8f240e..5e60dd3e 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Chernarus.pbo and b/Server_Install_Pack/mpmissions/epoch.Chernarus.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Chernarus_Summer.pbo b/Server_Install_Pack/mpmissions/epoch.Chernarus_Summer.pbo index 0f78c158..c139c02c 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Chernarus_Summer.pbo and b/Server_Install_Pack/mpmissions/epoch.Chernarus_Summer.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Desert_E.pbo b/Server_Install_Pack/mpmissions/epoch.Desert_E.pbo index 44f0d403..b2f5ab41 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Desert_E.pbo and b/Server_Install_Pack/mpmissions/epoch.Desert_E.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Esseker.pbo b/Server_Install_Pack/mpmissions/epoch.Esseker.pbo index 2c4c87d5..e83509a3 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Esseker.pbo and b/Server_Install_Pack/mpmissions/epoch.Esseker.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Mountains_ACR.pbo b/Server_Install_Pack/mpmissions/epoch.Mountains_ACR.pbo index 8f768c7d..460cea87 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Mountains_ACR.pbo and b/Server_Install_Pack/mpmissions/epoch.Mountains_ACR.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Napf.pbo b/Server_Install_Pack/mpmissions/epoch.Napf.pbo index dc8f3c7f..a6373233 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Napf.pbo and b/Server_Install_Pack/mpmissions/epoch.Napf.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Porto.pbo b/Server_Install_Pack/mpmissions/epoch.Porto.pbo index 45e2ea9d..dfed21cb 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Porto.pbo and b/Server_Install_Pack/mpmissions/epoch.Porto.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.ProvingGrounds_PMC.pbo b/Server_Install_Pack/mpmissions/epoch.ProvingGrounds_PMC.pbo index 0c156c12..73d3b45d 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.ProvingGrounds_PMC.pbo and b/Server_Install_Pack/mpmissions/epoch.ProvingGrounds_PMC.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Sara.pbo b/Server_Install_Pack/mpmissions/epoch.Sara.pbo index 4b2bfaa4..a73bb3f4 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Sara.pbo and b/Server_Install_Pack/mpmissions/epoch.Sara.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.SaraLite.pbo b/Server_Install_Pack/mpmissions/epoch.SaraLite.pbo index 4bfdd0cb..80bbd6fa 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.SaraLite.pbo and b/Server_Install_Pack/mpmissions/epoch.SaraLite.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Sara_dbe1.pbo b/Server_Install_Pack/mpmissions/epoch.Sara_dbe1.pbo index 981fabec..558d5311 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Sara_dbe1.pbo and b/Server_Install_Pack/mpmissions/epoch.Sara_dbe1.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Shapur_BAF.pbo b/Server_Install_Pack/mpmissions/epoch.Shapur_BAF.pbo index 7e353ec4..0428f330 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Shapur_BAF.pbo and b/Server_Install_Pack/mpmissions/epoch.Shapur_BAF.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Stratis.pbo b/Server_Install_Pack/mpmissions/epoch.Stratis.pbo index e66f1776..ee191f75 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Stratis.pbo and b/Server_Install_Pack/mpmissions/epoch.Stratis.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Takistan.pbo b/Server_Install_Pack/mpmissions/epoch.Takistan.pbo index cf64ab98..36ad903c 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Takistan.pbo and b/Server_Install_Pack/mpmissions/epoch.Takistan.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Tanoa.pbo b/Server_Install_Pack/mpmissions/epoch.Tanoa.pbo index dd33938f..fdfd2b8c 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Tanoa.pbo and b/Server_Install_Pack/mpmissions/epoch.Tanoa.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.VR.pbo b/Server_Install_Pack/mpmissions/epoch.VR.pbo index 8c9449bd..14a77927 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.VR.pbo and b/Server_Install_Pack/mpmissions/epoch.VR.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Woodland_ACR.pbo b/Server_Install_Pack/mpmissions/epoch.Woodland_ACR.pbo index 20af45fb..a66379ca 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Woodland_ACR.pbo and b/Server_Install_Pack/mpmissions/epoch.Woodland_ACR.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Zargabad.pbo b/Server_Install_Pack/mpmissions/epoch.Zargabad.pbo index b18b9281..b2685601 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Zargabad.pbo and b/Server_Install_Pack/mpmissions/epoch.Zargabad.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.utes.pbo b/Server_Install_Pack/mpmissions/epoch.utes.pbo index 53287bd0..17252e65 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.utes.pbo and b/Server_Install_Pack/mpmissions/epoch.utes.pbo differ diff --git a/Server_Install_Pack/sc/BattlEye/createvehicle.txt b/Server_Install_Pack/sc/BattlEye/createvehicle.txt index a72a04d2..400788cd 100644 --- a/Server_Install_Pack/sc/BattlEye/createvehicle.txt +++ b/Server_Install_Pack/sc/BattlEye/createvehicle.txt @@ -1,3 +1,3 @@ -5 "" !="I_UAV_01_F" !="(I|B|O)_UAV_AI" !"_EPOCH" !="B_65x39_Minigun_Caseless_Red_splash" !="B_762x51_Minigun_Tracer_Yellow_splash" !="B_(Swing|Stick)" !"^SmokeShell" !"^G_40mm_" !"^F_40mm_" !"Sub_F_" !"^F_Signal_" !="mini_Grenade" !="GrenadeHand" !="LaserTarget(C|W|E)" !"^Chemlight_" !="(ClaymoreDirectionalMine|DemoCharge|SatchelCharge)_Remote_Ammo" !="SLAMDirectionalMine_Wire_Ammo" !="(CMflare_Chaff|Sapper_Charge|SapperB_Charge|ATMine_Range)_Ammo" !="APERS(TripMine_Wire|BoundingMine_Range|Mine_Range)_Ammo" !="Epoch_(Sapper|SapperB|Cloak)_F" !="EPOCH_RyanZombie_[1-5]" !="GreatWhite_F" !="groundWeaponHolder" !="WeaponHolderSimulated" !="Epoch_(Male|Female)_F" !"Supply[0-9]" !"Steerable_Parachute_F" !="Epoch_Female_CamoRed_F" !="Land_Cages_F" !="(O|I|B)_UAV_01_backpack_F" !="I_(helipilot|helicrew)_F" !="#smokesource" !="SmokeLauncherAmmo" +5 "" !="I_UAV_01_F" !="(I|B|O)_UAV_AI" !"_EPOCH" !="B_65x39_Minigun_Caseless_Red_splash" !="B_762x51_Minigun_Tracer_Yellow_splash" !="B_(Swing|Stick)" !"^SmokeShell" !"^G_40mm_" !"^F_40mm_" !"Sub_F_" !"^F_Signal_" !="mini_Grenade" !="GrenadeHand" !="LaserTarget(C|W|E)" !"^Chemlight_" !="(ClaymoreDirectionalMine|DemoCharge|SatchelCharge)_Remote_Ammo" !="SLAMDirectionalMine_Wire_Ammo" !="(CMflare_Chaff|Sapper_Charge|SapperB_Charge|ATMine_Range)_Ammo" !="APERS(TripMine_Wire|BoundingMine_Range|Mine_Range)_Ammo" !="Epoch_(Sapper|SapperB|Cloak)_F" !="EPOCH_RyanZombie_[1-5](|_(C|Sp|B|W|M|P))" !="GreatWhite_F" !="groundWeaponHolder" !="WeaponHolderSimulated" !="Epoch_(Male|Female)_F" !"Supply[0-9]" !"Steerable_Parachute_F" !="Epoch_Female_CamoRed_F" !="Land_Cages_F" !="(O|I|B)_UAV_01_backpack_F" !="I_(helipilot|helicrew)_F" !="#smokesource" !="SmokeLauncherAmmo" 5 "_EPOCH" !="(SapperHead|Jack|SolarGen)_SIM_EPOCH" !="Wood(Floor|LargeWall|Stairs|Ramp|Foundation|Ladder|Tower)_EPOCH" !="(Tipi|Workbench|StorageShelf|CinderWallHalf|Foundation|Wood(Floor|LargeWall|Stairs|Ramp|Foundation|Ladder|Tower))_Ghost_EPOCH" !="(Tipi|StorageShelf|Safe|LockBox|FirePlace|FirePlaceOn|PlotPole|SolarGen|Jack|Freezer|Tarp|CinderWallHalf|Bobber)_EPOCH" !="I_(Soldier[1-3]|Soldier)_EPOCH" !="(Bed|locker|Filing|Chair|ChairRed|wardrobe|cooker|Couch|Table|Pelican|Fridge|Shelf|ToolRack|Shoebox|Bunk|Rabbit|Cabinet)_EPOCH" !="(Sheep|Goat|Snake|Snake2|Hen|Cock|Fin|Alsatian)_random_EPOCH" !="(Safe|Workbench|LockBox|CinderWall|CinderWallGarage|CinderWallHalf|PlotPole|Tipi|StorageShelf|Fireplace|TankTrap)_SIM_EPOCH" !="Wood(Floor|LargeWall|LargeWallCor|LargeWallDoor|LargeWallDoorL|LargeWallDoorway|Stairs|Stairs2|Ramp|Ladder|Tower)_SIM_EPOCH" !="(Hesco3|Metal)(_Ghost|_SIM|)_EPOCH" !="(Spike|Metal)_TRAP_SIM_EPOCH" !="(WoodFoundation|Foundation)_EPOCH" !="WoodWall[1-4](_SIM|_Ghost|)_EPOCH" 5 SeaGull diff --git a/Server_Install_Pack/sc/BattlEye/deleteVehicle.txt b/Server_Install_Pack/sc/BattlEye/deleteVehicle.txt index 329c633d..b0709cf3 100644 --- a/Server_Install_Pack/sc/BattlEye/deleteVehicle.txt +++ b/Server_Install_Pack/sc/BattlEye/deleteVehicle.txt @@ -1 +1 @@ -5 "" !="[0-9]:[0-9]{1,4}" !" GroundWeaponHolder$" !" WeaponHolderSimulated$" !" Epoch_(Sapper|SapperB|Cloak|Female_CamoRed)_F$" !" EPOCH_RyanZombie_[1-5]$" !" (Land_MPS|Bobber|Rabbit)_EPOCH$" !" (Sheep|Goat|Snake|Snake2|Hen|Cock|Fin|Alsatian)_random_EPOCH$" !" (Bed|locker|Filing|Chair|ChairRed|wardrobe|cooker|Couch|Table|Pelican|Fridge|Shelf|ToolRack|Shoebox|Bunk|Cabinet|Freezer|Tarp)_EPOCH$" !" (SapperHead|Jack|SolarGen)_SIM_EPOCH$" !" (Tipi|Workbench|StorageShelf|CinderWallHalf|Foundation|Wood(Floor|LargeWall|Stairs|Ramp|Foundation|Ladder|Tower))_Ghost_EPOCH$" !" Wood(Floor|LargeWall|LargeWallCor|LargeWallDoor|LargeWallDoorL|LargeWallDoorway|Stairs|Stairs2|Ramp|Ladder|Tower)_SIM_EPOCH$" !" (Safe|Workbench|LockBox|CinderWall|CinderWallGarage|CinderWallHalf|PlotPole|Tipi|StorageShelf|Fireplace|TankTrap)_SIM_EPOCH$" !" (Hesco3|Metal|WoodWall[1-4])_(Ghost|SIM)_EPOCH$" !" (Spike|Metal)_TRAP_SIM_EPOCH$" !" (WoodFoundation|Foundation)_Ghost_EPOCH$" !" I_(Soldier[1-3]|Soldier)_EPOCH$" !" I_(helipilot|helicrew)_F$" !" I_UAV_01_F$" !" (I|B|O)_UAV_AI$" !" I_Boat_Armed_01_minigun_F" !" B_Heli_Transport_01_F" !" Land_Cages_F$" +5 "" !="[0-9]:[0-9]{1,4}" !" GroundWeaponHolder$" !" WeaponHolderSimulated$" !" Epoch_(Sapper|SapperB|Cloak|Female_CamoRed)_F$" !" EPOCH_RyanZombie_[1-5](|_(C|Sp|B|W|M|P))$" !" (Land_MPS|Bobber|Rabbit)_EPOCH$" !" (Sheep|Goat|Snake|Snake2|Hen|Cock|Fin|Alsatian)_random_EPOCH$" !" (Bed|locker|Filing|Chair|ChairRed|wardrobe|cooker|Couch|Table|Pelican|Fridge|Shelf|ToolRack|Shoebox|Bunk|Cabinet|Freezer|Tarp)_EPOCH$" !" (SapperHead|Jack|SolarGen)_SIM_EPOCH$" !" (Tipi|Workbench|StorageShelf|CinderWallHalf|Foundation|Wood(Floor|LargeWall|Stairs|Ramp|Foundation|Ladder|Tower))_Ghost_EPOCH$" !" Wood(Floor|LargeWall|LargeWallCor|LargeWallDoor|LargeWallDoorL|LargeWallDoorway|Stairs|Stairs2|Ramp|Ladder|Tower)_SIM_EPOCH$" !" (Safe|Workbench|LockBox|CinderWall|CinderWallGarage|CinderWallHalf|PlotPole|Tipi|StorageShelf|Fireplace|TankTrap)_SIM_EPOCH$" !" (Hesco3|Metal|WoodWall[1-4])_(Ghost|SIM)_EPOCH$" !" (Spike|Metal)_TRAP_SIM_EPOCH$" !" (WoodFoundation|Foundation)_Ghost_EPOCH$" !" I_(Soldier[1-3]|Soldier)_EPOCH$" !" I_(helipilot|helicrew)_F$" !" I_UAV_01_F$" !" (I|B|O)_UAV_AI$" !" I_Boat_Armed_01_minigun_F" !" B_Heli_Transport_01_F" !" Land_Cages_F$" diff --git a/Server_Install_Pack/sc/BattlEye/scripts.txt b/Server_Install_Pack/sc/BattlEye/scripts.txt index 786b5069..76eeefdc 100644 --- a/Server_Install_Pack/sc/BattlEye/scripts.txt +++ b/Server_Install_Pack/sc/BattlEye/scripts.txt @@ -1,6 +1,6 @@ //new2 7 "BIS_fnc_dynamictext" !="\"BIS_fnc_dynamictext"\" !="'BIS_fnc_dynamictext'" -7 forceRespawn !="BIS_fnc_paramReviveForceRespawnDuration" !="reviveHandleForceRespawnAction" !="forcerespawn player;" +7 forceRespawn !="ForceRespawnDuration" !="reviveHandleForceRespawnAction" !="forcerespawn player;" 7 setFriend 7 setAmmo 7 enableFatigue @@ -47,8 +47,8 @@ 7 displaySetEventHandler 7 ctrlSetEventHandler !"BIS_fnc_guiMessage_status" !"ctrlSetEventHandler ['LBDblClick', '_this call" !="_buttonRespawn ctrlseteventhandler [\"buttonclick\",\"with uinamespace do {['buttonRespawn'," !="_ctrl ctrlSetEventHandler [\"mouseEnter\"" !="_ctrlBtn ctrlSetEventHandler [\"MouseButtonDblClick\", _verAct];" 7 addMPEventHandler -7 addEventHandler !"displayAddEventHandler" !"ctrlAddEventHandler" !"[\"FiredNear"\" !"[\"EpeContactStart"\" !"[\"GetOut"\" !"[\"local"\" !"[\"PostReset"\" !"[\"TaskSetAsCurrent"\" !="player addEventHandler [_x,([\"CfgEpochClient\", _x, \"\"] call EPOCH_fnc_returnConfigEntryV2)];" !="\"CBA_fnc_addEventHandler\"" !="\\fnc_addEventHandler" !="\"addEventHandler" !="_eventFunc = _eventFunc + \"(_this select 0) addEventHandler ['Respawn', \" + str _eventFunc + \"];\";" !="_unit addEventHandler [\"hitpart\"," !="CBA_fnc_addEventHandler" !="_ship addEventHandler [\"AttributesChanged3DEN\"" -7 displayAddEventHandler !="(findDisplay 46) displayAddEventHandler [\"KeyDown\",\"true\"];" !="_display displayAddEventHandler [_x,([\"CfgEpochClient\", _x, \"\"] call EPOCH_fnc_returnConfigEntryV2)];" !="_display displayaddeventhandler\n[\n\"mousemoving\"," !="_display displayaddeventhandler [\"unload\",\"uinamespace setvariable ['BIS_fnc_guiMess" !="findDisplay -1337 displayAddEventHandler ['Unload'" !="_display displayaddeventhandler [\"keydown\",\"with uinamespace do {['keyDown'" !="_display displayaddeventhandler [_x,_fnc_animate];" !="Development\") then\n{\n_display displayaddeventhandler [\n\"keydown\"" !="_display displayaddeventhandler [\"mousemoving\",\"with uinamespace do {['watchFields'" !="/"CBA_fnc_addDisplayHandler/"" +7 addEventHandler !"displayAddEventHandler" !"ctrlAddEventHandler" !"[\"FiredNear"\" !"[\"EpeContactStart"\" !"[\"GetOut"\" !"[\"local"\" !"[\"PostReset"\" !"[\"TaskSetAsCurrent"\" !="player addEventHandler [_x,([\"CfgEpochClient\", _x, \"\"] call EPOCH_fnc_returnConfigEntryV2)];" !="\"CBA_fnc_addEventHandler\"" !="\\fnc_addEventHandler" !="\"addEventHandler" !="_eventFunc = _eventFunc + \"(_this select 0) addEventHandler ['Respawn', \" + str _eventFunc + \"];\";" !="_unit addEventHandler [\"hitpart\"," !="CBA_fnc_addEventHandler" !="_ship addEventHandler [\"AttributesChanged3DEN\"" !="addEventHandler [\"HandleDamage\",bis_fnc_reviveOnPlayerHandleDamage];" +7 displayAddEventHandler !="(findDisplay 46) displayAddEventHandler [\"KeyDown\",\"true\"];" !="_display displayAddEventHandler [_x,([\"CfgEpochClient\", _x, \"\"] call EPOCH_fnc_returnConfigEntryV2)];" !="_display displayaddeventhandler\n[\n\"mousemoving\"," !="_display displayaddeventhandler [\"unload\",\"uinamespace setvariable ['BIS_fnc_guiMess" !="findDisplay -1337 displayAddEventHandler ['Unload'" !="_display displayaddeventhandler [\"keydown\",\"with uinamespace do {['keyDown'" !="_display displayaddeventhandler [_x,_fnc_animate];" !="Development\") then\n{\n_display displayaddeventhandler [\n\"keydown\"" !="CBA_fnc_addDisplayHandler" !="_display displayAddEventHandler [\"MouseMoving" 7 ctrlAddEventHandler !"rCfg >> \"refreshDelay\");" !" [\n\"draw\"," !" [\"buttonclick\"," !="(uiNamespace getVariable 'ESP_map') ctrlAddEventHandler['Draw', '_esp_targets = EPOCH_ESPMAP_TARGETS;" !="ctrlAddEventHandler ['MouseButtonDown'" !="(_display displayctrl _idc) ctrlAddEventHandler [\"LBSelChanged\"," !="_ctrl ctrlSetEventHandler [\"mouseEnter\", (format [\"_c = _this select 0;" !="_ctrl ctrlSetEventHandler [\"mouseExit\", (format [\"_c = _this select 0;" !="_ctrl ctrlSetEventHandler [\"mouseButtonDown\", (format [\"call %1;\",(_buttonSettings select _e select 2)])];" !="_prevButton ctrlAddEventHandler [\"MouseButtonUp\", {_this call cba_diagnostic_fnc_debug" !="BIS_RscRespawnControlsMap_ctrlHeaderRespawnButton ctrlAddEventhandler [/"ButtonDown/"" 7 removeAllEventHandlers !="ctrlRemoveAllEventHandlers" !="displayRemoveAllEventHandlers" !="_vehicle removeAllEventHandlers \"GetOut\";" !="_sapper removeAllEventHandlers \"Hit\";\n_sapper removeAllEventHandlers \"FiredNear\";" !="_unit removeAllEventHandlers \"Hit\";\n_unit removeAllEventHandlers \"FiredNear\";" !="{_ship removeAllEventHandlers _x;} forEach [\"AttributesChanged3DEN\"" !="_zombie removeAllEventHandlers \"Hit\";" !="_zombie removeAllEventHandlers \"FiredNear\";" 7 displayRemoveAllEventHandlers !="_display displayRemoveAllEventHandlers _x;" !="if !(isMultiplayer) then { { (findDisplay 46) displayRemoveAllEventHandlers _x } forEach [\"KeyUp\", \"KeyDown\"] };" @@ -57,7 +57,7 @@ 7 removeEventHandler !="displayRemoveEventHandler" !="player removeEventHandler ['Fired', 0];" !"_currentTarget removeEventHandler[\"EpeContactStart\", _onContactEH]" !" [_adminVar,objnull];\npublicvariable _adminVar;\nplayer removeeventhandler [\"respawn\",_respawn];" !="_plyr removeEventHandler [\"FiredNear\", _smokeEH];" !="player removeEventHandler [_ehKey, 0];" !="player removeEventHandler [_x, 0];" !="\"CBA_fnc_removeEventHandler\"" !="\\fnc_removeEventHandler" !="\"removeEventHandler" 7 switchCamera !="vehicle player switchCamera" !="_antagonist switchCamera \"Internal\";" 7 remoteControl !"fn_moduleRemoteControl.sqf" !="\"BIS_fnc_moduleRemoteControl"\" -7 drawIcon3D !="drawIcon3D[\"\x\addons\a3_epoch_code\Data\Member.paa\",_color,_pos,1,1,0,_text,1,0.025,\"PuristaMedium\"];\n}forEach EPOCH_ESP_TARGETS;" !"drawIcon3D[format[\"\x\addons\a3_epoch_code\Data\UI\loading_bar_%1.paa\",_stability],_color,(getPosATL EPOCH_stabilityTarget),5,5,0,\"\",1,0.05,\"PuristaMedium\"];" !"drawIcon3D[format[\"\x\addons\a3_epoch_code\Data\UI\loading_bar_%1.paa\",_num],_color,_pos,4,4,0,\"\",1,0.05,\"PuristaMedium\"];" !"EPOCH_drawIcon3dStability" !"EPOCH_drawIcon3d" !"if (_condition) then {\ndrawIcon3D [_icon, _color, _position, _sizeX, _sizeY, _angle, _text," !="drawIcon3D [\"\A3\UI_F_MP_Mark\Data\Tasks\Misc\background.paa\"" !="drawIcon3D[\"x\addons\a3_epoch_code\Data\UI\snap_ca.paa\"" +7 drawIcon3D !="drawIcon3D[\"\x\addons\a3_epoch_code\Data\Member.paa\",_color,_pos,1,1,0,_text,1,0.025,\"PuristaMedium\"];\n}forEach EPOCH_ESP_TARGETS;" !"drawIcon3D[format[\"\x\addons\a3_epoch_code\Data\UI\loading_bar_%1.paa\",_stability],_color,(getPosATL EPOCH_stabilityTarget),5,5,0,\"\",1,0.05,\"PuristaMedium\"];" !"drawIcon3D[format[\"\x\addons\a3_epoch_code\Data\UI\loading_bar_%1.paa\",_num],_color,_pos,4,4,0,\"\",1,0.05,\"PuristaMedium\"];" !"EPOCH_drawIcon3dStability" !"EPOCH_drawIcon3d" !"if (_condition) then {\ndrawIcon3D [_icon, _color, _position, _sizeX, _sizeY, _angle, _text," !="drawIcon3D [\"\A3\UI_F_MP_Mark\Data\Tasks\Misc\background.paa\"" !="drawIcon3D\n[\n(_x getVariable [\"bis_fnc_reviveGet3dIcons_textures" !="drawIcon3D[\"x\addons\a3_epoch_code\Data\UI\snap_ca.paa\"" 7 drawLine3D !"{\nfor [{_i = 1}, {_i < count _x}, {_i = _i + 1}] do {\ndrawLine3D [_x select (_i - 1), _x select _i, ((BIS_tracedShooter getVari" 7 ctrlCreate !="ctrlCreate [\"RscProgress\",_idc + 1];" !="ctrlCreate [\"rmx_rscControlsGroup\"" !="_ListGroup = _display ctrlCreate [\"RscControlsGroupNoHScrollbars\"" !="ctrlCreate [_x,call _getIDC];" !="_mainGrp = _display ctrlCreate [\"Epoch_main_config_group\",_value];" !="ctrlCreate [\"RscControlsGroupNoScrollbars\",call epoch_getIDC];" !="ctrlCreate [\"rmx_rscPicture\",(66600 + _e)];" !="ctrlCreate ["RscStructuredText",call epoch_getIDC];" 7 ctrlClassName diff --git a/Sources/epoch_code/compile/EPOCH_consumeItem.sqf b/Sources/epoch_code/compile/EPOCH_consumeItem.sqf index 5496a411..e3739760 100644 --- a/Sources/epoch_code/compile/EPOCH_consumeItem.sqf +++ b/Sources/epoch_code/compile/EPOCH_consumeItem.sqf @@ -13,10 +13,7 @@ https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_consumeItem.sqf */ private ["_cfgBaseBuilding","_cfgItemInteractions","_type","_magazineSize","_text","_item","_pic","_magazinesAmmoFull","_magazineSizeMax","_pos","_object","_isStorage","_isOk","_buildClass","_interactReturnOnUse","_vehicle","_currentFuel","_canCapacity","_interactAttributes","_fuelCapacity","_newFuel","_removeItem","_vehicles","_transportFuel","_highestDMG","_currentHIT","_currentDMG","_newDMG","_paintCanIndex","_paintCanColor","_msg","_color","_unifiedInteract","_interactOption"]; - -_text = EPOCH_InteractedItem select 0; -_item = EPOCH_InteractedItem select 1; -_pic = EPOCH_InteractedItem select 2; +EPOCH_InteractedItem params ["_text","_item","_pic"]; _cfgBaseBuilding = 'CfgBaseBuilding' call EPOCH_returnConfig; _cfgItemInteractions = (('CfgItemInteractions' call EPOCH_returnConfig) >> _item); @@ -26,51 +23,13 @@ _interactAttributes = getArray(_cfgItemInteractions >> "interactAttributes"); _removeItem = {([player,_this] call BIS_fnc_invRemove) == 1}; -_giveAttributes = { - private ["_return","_randomData","_index","_data","_addPlus"]; - _index = _this select 0; - _data = _this select 1; - _addPlus = if (_data > 0) then {"+"} else {""}; - _return = ""; - if (_data != 0) then { - // TODO: configize - _editableVars = [["Temp"],["Hunger"],["Thirst"],["Energy"],["Soiled"],["Immunity"],["Toxicity",true],["Stamina"],["Wet"],["BloodP"],["Karma"],["Alcohol"],["Radiation"]]; - _selectedVar = _editableVars select _index; - _selectedVar params ["_selectedVarName",["_randomNum",false]]; - _varName = format["EPOCH_player%1",_selectedVarName]; - _customVarIndex = EPOCH_customVars find _selectedVarName; - _limits = EPOCH_customVarLimits select _customVarIndex; - _limits params [["_max",100],["_min",0]]; - if (_max isEqualType "") then { - _max = missionNamespace getVariable [_max, 0]; - }; - if (_min isEqualType "") then { - _min = missionNamespace getVariable [_min, 0]; - }; - _currentVal = missionNamespace getVariable [_varName, EPOCH_defaultVars select _customVarIndex]; - if (_randomNum) then { - _data = round(random _data); - }; - _newValue = ((_currentVal + _data) min _max) max _min; - missionNamespace setVariable [_varName, _newValue]; - if (_selectedVarName == "Temp") then { - _celcuis = _data call EPOCH_convertTemp; - _celcuisNew = _newValue call EPOCH_convertTemp; - _return = format["%1: %2%3 (%4 °F) %2%5 (%6 °C)",(localize format["str_epoch_pvar_%1",_selectedVarName]),_addPlus,_data,_newValue,_celcuis,_celcuisNew]; - } else { - _return = format["%1: %2%3 (%4/%5)", (localize format["str_epoch_pvar_%1",_selectedVarName]), _addPlus, _data, _newValue, _max]; - }; - }; - _return -}; - _unifiedInteract = { if (_item call _removeItem) then { if (_interactReturnOnUse != "") then { _interactReturnOnUse call EPOCH_fnc_addItemOverflow; }; { - _output = [_forEachIndex, _x] call _giveAttributes; + _output = _x call EPOCH_giveAttributes; if (_output != "") then { [_output, 5] call Epoch_message; }; diff --git a/Sources/epoch_code/compile/EPOCH_lootTrash.sqf b/Sources/epoch_code/compile/EPOCH_lootTrash.sqf index a7fb3e65..06e2d257 100644 --- a/Sources/epoch_code/compile/EPOCH_lootTrash.sqf +++ b/Sources/epoch_code/compile/EPOCH_lootTrash.sqf @@ -12,33 +12,31 @@ Github: https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_lootTrash.sqf */ -private["_found", "_return", "_foundLocalAnimal", "_str", "_blood", "_foundTerminal", "_index"]; - +private["_found", "_return", "_foundLootObject", "_blood", "_foundTerminal", "_index"]; _return = false; -_config = 'CfgEpochClient' call EPOCH_returnConfig; -_configWorldInteractions = (_config >> "CfgWorldInteractions"); -_configWorldName = (_config >> worldname); - if (diag_tickTime - EPOCH_lastTrash > 2) then { EPOCH_lastTrash = diag_tickTime; + _config = 'CfgEpochClient' call EPOCH_returnConfig; + _configWorldInteractions = (_config >> "CfgWorldInteractions"); + _configWorldName = (_config >> worldname); + _interactAttributes = []; + _cfgObjectInteractions = 'CfgObjectInteractions' call EPOCH_returnConfig; + _inputWorldTypes = ["bankTerminal"]; + _inputWorldTypes append getArray(_configWorldName >> "TrashClasses"); + _destroyTrashObj = objNull; _lootAnimalObj = objNull; _bankTerminal = objNull; _trashType = 0; - _objects = nearestObjects[player, [], 2]; - { _found = false; _foundTerminal = false; - _foundLocalAnimal = false; + _foundLootObject = false; if !(_x isKindOf "All") then { if (alive _x) then { - _str = str(_x); - _inputWorldTypes = ["bankTerminal"]; - _inputWorldTypes append getArray(_configWorldName >> "TrashClasses"); - _getWorldTypes = [_str, _inputWorldTypes] call EPOCH_worldObjectType; + _getWorldTypes = [str(_x), _inputWorldTypes] call EPOCH_worldObjectType; { _found = _getWorldTypes param [_inputWorldTypes find _x, false]; if (_found) exitWith{ _trashType = _forEachIndex }; @@ -46,35 +44,40 @@ if (diag_tickTime - EPOCH_lastTrash > 2) then { _foundTerminal = _getWorldTypes param [_inputWorldTypes find "bankTerminal", false]; }; } else { + _foundObjType = typeOf _x; + _foundObjConfig = (_cfgObjectInteractions >> _foundObjType); + _foundWorldConfig = (_configWorldInteractions >> _foundObjType); if (alive _x) then { - _foundTerminal = (getNumber(_configWorldInteractions >> (typeOf _x) >> "bankTerminal") == 1); - if (_x isKindOf "Snake_random_EPOCH") then { - _foundLocalAnimal = true; - if (random 1 < 0.1) then { - EPOCH_playerToxicity = (EPOCH_playerToxicity + (random(100 - EPOCH_playerImmunity))) min 100; - }; - }; + { + _found = (getNumber(_foundWorldConfig >> _x) == 1); + if (_found) exitWith{ _trashType = _forEachIndex }; + } forEach getArray(_configWorldName >> "TrashClasses"); + _foundTerminal = (getNumber(_foundWorldConfig >> "bankTerminal") == 1); + _foundLootObject = ((getNumber(_foundObjConfig >> "interactMode") == 3) && (getNumber (_foundObjConfig >> "aliveState") == 0)); } else { - if ((_x isKindOf "Animal_Base_F" && !(_x isKindOf "Dog_Base_F")) || (typeOf _x) in["Epoch_Sapper_F", "Epoch_SapperB_F", "Epoch_Cloak_F", "I_UAV_01_F"]) then { - _foundLocalAnimal = true; - }; + _foundLootObject = (getNumber(_cfgObjectInteractions >> _foundObjType >> "interactMode") == 3); }; }; if (_found) exitWith{ _destroyTrashObj = _x }; - if (_foundLocalAnimal) exitWith{ _lootAnimalObj = _x }; + if (_foundLootObject) exitWith{ _lootAnimalObj = _x }; if (_foundTerminal) exitWith{ _bankTerminal = _x }; }forEach _objects; if (!isNull _lootAnimalObj) then { + + _cfgItemInteractions = (_cfgObjectInteractions >> (typeOf _lootAnimalObj)); + _interactAttributes = getArray(_cfgItemInteractions >> "interactAttributes"); + _bloodPos = getPosATL _lootAnimalObj; _blood = "BloodSplat" createVehicleLocal _bloodPos; _blood setPosATL _bloodPos; - EPOCH_playerSoiled = (EPOCH_playerSoiled + 1) min 100; + // send [_lootAnimalObj, player, Epoch_personalToken] remoteExec ["EPOCH_server_lootAnimal",2]; _return = true; ["Object Looted", 5] call Epoch_message; + }; if (!isNull _destroyTrashObj) then { [_destroyTrashObj, _trashType, player, Epoch_personalToken] remoteExec ["EPOCH_server_destroyTrash",2]; @@ -112,5 +115,12 @@ if (diag_tickTime - EPOCH_lastTrash > 2) then { }; _return = true; }; + + { + _output = _x call EPOCH_giveAttributes; + if (_output != "") then { + [_output, 5] call Epoch_message; + }; + } foreach _interactAttributes; }; _return diff --git a/Sources/epoch_code/compile/EPOCH_onEachFrame.sqf b/Sources/epoch_code/compile/EPOCH_onEachFrame.sqf index 9b0f4bcb..6ecb5b23 100644 --- a/Sources/epoch_code/compile/EPOCH_onEachFrame.sqf +++ b/Sources/epoch_code/compile/EPOCH_onEachFrame.sqf @@ -20,19 +20,16 @@ if (EPOCH_velTransform) then { _up1 = vectorUp EPOCH_target; _interval = 0.1; - if ((count EP_velocityTransformation) == 4) then { + if !(EP_velocityTransformation isEqualTo []) then { EPOCH_target setvelocitytransformation[_pos1, (EP_velocityTransformation select 0), _vel1, (EP_velocityTransformation select 1), _dir1, (EP_velocityTransformation select 2), _up1, (EP_velocityTransformation select 3), _interval]; - } - else { + } else { _pos2 = player modelToWorld[EPOCH_X_OFFSET, EPOCH_Y_OFFSET, EPOCH_Z_OFFSET]; if ((_pos2 select 2) < 0) then { _pos2 set[2, 0] }; - if !(surfaceIsWater _pos2) then { _pos2 = ATLtoASL _pos2 }; if ((_pos1 distance _pos2) > 0) then { - EPOCH_target setvelocitytransformation[_pos1, _pos2, _vel1, _vel1, _dir1, _dir1, _up1, _up1, _interval]; + EPOCH_target setvelocitytransformation[_pos1, AGLtoASL _pos2, _vel1, _vel1, _dir1, _dir1, _up1, _up1, _interval]; }; }; - } - else { + } else { EPOCH_velTransform = false; }; }; @@ -72,9 +69,9 @@ if (!isNull EPOCH_currentTarget && vehicle player == player) then { }; }; case 3: { - // Animals + // Animals, Drone, Sappers if (!alive _currentTarget && _distance < 2) then{ - _text = format ["Gut Animal - %1",_text]; + _text = format ["Gut - %1",_text]; _icon = "\x\addons\a3_epoch_code\Data\UI\ui_crossbones_ca.paa"; _color = [1,1,1,1]; }; @@ -147,7 +144,6 @@ if (EPOCH_drawIcon3d) then { _pos set[2, (_x modelToWorld[0, 0, 0]) select 2]; _dmg = damage _x; _color = [0,1,_dmg,1] call EPOCH_colorRange; - _text = ''; _text = format['%1 : %2m', [typeOf _x,name _x] select (isPlayer _x), round(player distance _x)]; drawIcon3D["\x\addons\a3_epoch_code\Data\Member.paa", _color, _pos, 1, 1, 0, _text, 1, 0.025, "PuristaMedium"]; }; diff --git a/Sources/epoch_code/compile/functions/EPOCH_giveAttributes.sqf b/Sources/epoch_code/compile/functions/EPOCH_giveAttributes.sqf new file mode 100644 index 00000000..c46bfe9c --- /dev/null +++ b/Sources/epoch_code/compile/functions/EPOCH_giveAttributes.sqf @@ -0,0 +1,34 @@ +// EPOCH_giveAttributes + +private ["_return","_addPlus","_editableVars","_selectedVar","_varName","_celcuis","_celcuisNew","_customVarIndex","_limits","_currentVal","_newValue"]; +params ["_selectedVarName",["_data",0],["_randomizeData",0]]; +_addPlus = if (_data > 0) then {"+"} else {""}; +_return = ""; +if (_data != 0) then { + _customVarIndex = EPOCH_customVars find _selectedVarName; + if (_customVarIndex != -1) then { + _varName = format["EPOCH_player%1",_selectedVarName];} + _limits = EPOCH_customVarLimits select _customVarIndex; + _limits params [["_max",100],["_min",0]]; + if (_max isEqualType "") then { + _max = missionNamespace getVariable [_max, 0]; + }; + if (_min isEqualType "") then { + _min = missionNamespace getVariable [_min, 0]; + }; + _currentVal = missionNamespace getVariable [_varName, EPOCH_defaultVars select _customVarIndex]; + if (_randomizeData isEqualTo 1) then { + _data = round(random _data); + }; + _newValue = ((_currentVal + _data) min _max) max _min; + missionNamespace setVariable [_varName, _newValue]; + if (_selectedVarName == "Temp") then { + _celcuis = _data call EPOCH_convertTemp; + _celcuisNew = _newValue call EPOCH_convertTemp; + _return = format["%1: %2%3 (%4 °F) %2%5 (%6 °C)",(localize format["str_epoch_pvar_%1",_selectedVarName]),_addPlus,_data,_newValue,_celcuis,_celcuisNew]; + } else { + _return = format["%1: %2%3 (%4/%5)", (localize format["str_epoch_pvar_%1",_selectedVarName]), _addPlus, _data, _newValue, _max]; + }; + }; +}; +_return diff --git a/Sources/epoch_code/compile/setup/masterLoop/Event1.sqf b/Sources/epoch_code/compile/setup/masterLoop/Event1.sqf index 1e96ceb4..1c0cb16e 100644 --- a/Sources/epoch_code/compile/setup/masterLoop/Event1.sqf +++ b/Sources/epoch_code/compile/setup/masterLoop/Event1.sqf @@ -2,44 +2,26 @@ _currentTarget = objNull; _currentTargetMode = 0; _cursorTarget = ([10] call EPOCH_fnc_cursorTarget); if (!isNull _cursorTarget && {!(EPOCH_target isEqualTo _cursorTarget)}) then { - // Land_MPS_EPOCH = ThingX 0 - // container_epoch = ThingX 0 - // Parent - Constructions_modular_F = ThingX - // Epoch_Female_F , Epoch_Male_F = 2 - // Animal_Base_F = 3 - // Buildable_Storage = 4 _interactType = typeOf _cursorTarget; _interaction = (_cfgObjectInteractions >> _interactType); if (isClass(_interaction)) then { _currentTargetMode = getNumber (_interaction >> "interactMode"); - _currentTarget = _cursorTarget; + _allowTarget = switch (getNumber (_interaction >> "aliveState")) do { + case 1: {!(alive _cursorTarget)}; + case 2: {(alive _cursorTarget)}; + default {true}; + }; + if (_allowTarget) then { + _currentTarget = _cursorTarget; + }; } else { - // AllVehicles = vehicles=0 players=2 animals=3 + // AllVehicles = vehicles=0, bases=1 if (_cursorTarget isKindOf "AllVehicles") then { - if (_cursorTarget isKindOf "Animal_Base_F") then { // 3 - if !(alive _cursorTarget) then { - _currentTargetMode = 3; - _currentTarget = _cursorTarget; - }; - } else { - _currentTarget = _cursorTarget; - }; + _currentTarget = _cursorTarget; } else { - if (_cursorTarget isKindOf "Constructions_modular_F" || _cursorTarget isKindOf "Constructions_static_F" || _cursorTarget isKindOf "Constructions_foundation_F") then { + if (_cursorTarget isKindOf "Constructions_modular_F" || _cursorTarget isKindOf "Constructions_static_F") then { _currentTargetMode = 1; _currentTarget = _cursorTarget; - } else { - if (_cursorTarget isKindOf "Buildable_Storage") then { - _currentTargetMode = 4; - _currentTarget = _cursorTarget; - } else { - /* - if (_cursorTarget isKindOf "WeaponHolder") then { - _currentTargetMode = 0; - _currentTarget = _cursorTarget; - }; - */ - }; }; }; }; diff --git a/Sources/epoch_config/Configs/CfgBaseBuilding.hpp b/Sources/epoch_config/Configs/CfgBaseBuilding.hpp index 255a7e82..ae9fe36d 100644 --- a/Sources/epoch_config/Configs/CfgBaseBuilding.hpp +++ b/Sources/epoch_config/Configs/CfgBaseBuilding.hpp @@ -132,7 +132,6 @@ class CfgBaseBuilding { GhostPreview = "SolarGen_EPOCH"; staticClass = "SolarGen_EPOCH"; simulClass = "SolarGen_SIM_EPOCH"; - interactMode = 1; }; class SolarGen_SIM_EPOCH : SolarGen_EPOCH { removeParts[] = {}; @@ -144,11 +143,9 @@ class CfgBaseBuilding { staticClass = "PlotPole_EPOCH"; simulClass = "PlotPole_SIM_EPOCH"; bypassJammer = 1; - interactMode = 1; }; class PlotPole_SIM_EPOCH : PlotPole_EPOCH { - interactMode = 0; removeParts[] = {}; }; class WoodRamp_EPOCH : Default @@ -504,7 +501,6 @@ class CfgBaseBuilding { simulClass = "Tipi_SIM_EPOCH"; limitNearby = 2; bypassJammer = 1; - interactMode = 4; }; class Tipi_SIM_EPOCH : Tipi_EPOCH { @@ -512,7 +508,6 @@ class CfgBaseBuilding { staticClass = "Tipi_EPOCH"; limitNearby = 2; bypassJammer = 1; - interactMode = 1; removeParts[] = {}; }; class Tipi_Ghost_EPOCH : Tipi_SIM_EPOCH {}; @@ -524,11 +519,9 @@ class CfgBaseBuilding { simulClass = "StorageShelf_SIM_EPOCH"; limitNearby = 5; bypassJammer = 1; - interactMode = 4; }; class StorageShelf_SIM_EPOCH : StorageShelf_EPOCH { - interactMode = 0; removeParts[] = {}; }; class StorageShelf_Ghost_EPOCH : StorageShelf_SIM_EPOCH {}; @@ -540,11 +533,9 @@ class CfgBaseBuilding { simulClass = "WorkBench_SIM_EPOCH"; limitNearby = 5; bypassJammer = 1; - interactMode = 4; }; class WorkBench_SIM_EPOCH : Workbench_EPOCH { - interactMode = 0; removeParts[] = {}; }; class WorkBench_Ghost_EPOCH : WorkBench_SIM_EPOCH {}; diff --git a/Sources/epoch_config/Configs/CfgClientFunctions.hpp b/Sources/epoch_config/Configs/CfgClientFunctions.hpp index 337dce2b..10cd1ca9 100644 --- a/Sources/epoch_config/Configs/CfgClientFunctions.hpp +++ b/Sources/epoch_config/Configs/CfgClientFunctions.hpp @@ -123,6 +123,7 @@ class CfgClientFunctions class fnc_playerAttachToAntagonist {}; class fnc_dynamicFSM {}; class fnc_vectorDivide {}; + class giveAttributes {}; }; class environment { diff --git a/Sources/epoch_config/Configs/CfgItemInteractions.hpp b/Sources/epoch_config/Configs/CfgItemInteractions.hpp index 184e406d..e0ee8185 100644 --- a/Sources/epoch_config/Configs/CfgItemInteractions.hpp +++ b/Sources/epoch_config/Configs/CfgItemInteractions.hpp @@ -12,21 +12,36 @@ Github: https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_config/Configs/CfgItemInteractions.hpp Legend: -interactMode: 0 = examine, 1 = eat, 2 = drink, 3 = build -interactAttributes: {Temp,Hunger,Thirst,Energy,Soiled,Immunity,Toxicity,Stamina,Wet,BloodP,Karma,Alcohol,Radiation}; - +interactAction: 0 = examine, 1 = eat, 2 = drink, 3 = build +interactAttributes[] = { + {"Temp",0}, + {"Hunger",0}, + {"Thirst",0}, + {"Energy",0}, + {"Soiled",0}, + {"Immunity",0}, + {"Toxicity",0}, + {"Stamina",0}, + {"Wet",0}, + {"BloodP",0}, + {"Karma",0}, + {"Alcohol",0}, + {"Radiation",0} +}; */ class CfgItemInteractions { // BASE CLASSES START class Default { - interactMode = 0; + interactAction = 0; }; class Food_base : Default { interactAction = 1; interactText = "EAT"; - interactAttributes[] = { 0, 600, 0, 0, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",600} + }; }; class Food_TinCan_base : Food_base { @@ -44,7 +59,9 @@ class CfgItemInteractions { { interactAction = 2; interactText = "DRINK"; - interactAttributes[] = { 0, 0, 500, 0, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Thirst",500} + }; }; class Drink_Jar_base : Drink_base { @@ -67,123 +84,203 @@ class CfgItemInteractions { class honey_epoch : Food_Jar_base { interactText = "CONSUME"; - interactAttributes[] = { 0, 0, 0, 0, 0, 1, 0, 30, 0, 10 }; + interactAttributes[] = { + {"Immunity",1}, + {"Stamina",30} + {"BloodP",10} + }; }; class sardines_epoch : Food_TinCan_base { - interactAttributes[] = { 0, 1000, 0, 0, 0, 0, 7, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",1000}, + {"Toxicity",7} + }; }; class meatballs_epoch : Food_TinCan_base { - interactAttributes[] = { 0, 1200, 0, 0, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",1200} + }; }; class scam_epoch : Food_TinCan_base { - interactAttributes[] = { 0, 1000, 0, 0, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",1000} + }; }; class sweetcorn_epoch : Food_TinCan_base { - interactAttributes[] = { 0, 600, 0, 0, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",600} + }; }; class FoodBioMeat : Food_TinCan_base { - interactAttributes[] = { 0, 1000, 0, 0, 0, 0, 7, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",1000}, + {"Toxicity",7} + }; }; class TacticalBacon : Food_TinCan_base { - interactAttributes[] = { 0, 500, 0, 0, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",500} + }; }; class ItemTrout : Food_base { - interactAttributes[] = { 0, 300, 0, 0, 0, 0, 5, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",300}, + {"Toxicity",5} + }; }; class ItemSeaBass : Food_base { - interactAttributes[] = { 0, 500, 0, 0, 0, 0, 10, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",500}, + {"Toxicity",10} + }; }; class ItemTuna : Food_base { - interactAttributes[] = { 0, 2500, 0, 0, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",2500} + }; }; class ItemTroutCooked : Food_base { - interactAttributes[] = { 0, 600, 0, 0, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",600} + }; }; class ItemSeaBassCooked : Food_base { - interactAttributes[] = { 0, 1200, 0, 0, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",1200} + }; }; class ItemTunaCooked : Food_base { - interactAttributes[] = { 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",5000} + }; }; class FoodMeeps : Food_base { - interactAttributes[] = { 0, 500, 0, 0, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",500} + }; }; class FoodSnooter : Food_base { - interactAttributes[] = { 0, 500, 0, 0, 0, 0, 0, 50, 0, 0 }; + interactAttributes[] = { + {"Hunger",500}, + {"Stamina",50} + }; }; class ItemCooler0 : Food_Cooler_base { - interactAttributes[] = { 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",3000} + }; }; class ItemCooler1 : Food_Cooler_base { - interactAttributes[] = { 0, 3500, 0, 0, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",3500} + }; }; class ItemCooler2 : Food_Cooler_base { - interactAttributes[] = { 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",4000} + }; }; class ItemCooler3 : Food_Cooler_base { - interactAttributes[] = { 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",5000} + }; }; class ItemCooler4 : Food_Cooler_base { - interactAttributes[] = { 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",5000} + }; }; class WhiskeyNoodle : Drink_base { - interactAttributes[] = { 0, 0, 800, 0, 0, 0, -5, 50, 0, 0, 0 , 10 , 0}; + interactAttributes[] = { + {"Thirst",800}, + {"Toxicity",-1}, + {"Stamina",50}, + {"Alcohol",10} + }; }; class water_epoch : Drink_Jar_base { - interactAttributes[] = { 0, 0, 500, 0, 0, 0, 5, 50, 0, 0 }; + interactAttributes[] = { + {"Thirst",500}, + {"Toxicity",5,1}, + {"Stamina",50} + }; }; class clean_water_epoch : Drink_Jar_base { - interactAttributes[] = { 0, 0, 500, 0, 0, 0, 0, 50, 0, 0 }; + interactAttributes[] = { + {"Thirst",500}, + {"Stamina",50} + }; }; class ItemSodaRbull : Soda_base { - interactAttributes[] = { 0, 0, 1000, 0, 0, 0, 0, 100, 0, 0 }; + interactAttributes[] = { + {"Thirst",1000}, + {"Stamina",100} + }; }; class ItemSodaOrangeSherbet : Soda_base { - interactAttributes[] = { 0, 0, 800, 0, 0, 0, 0, 75, 0, 0 }; + interactAttributes[] = { + {"Thirst",800}, + {"Stamina",75} + }; }; class ItemSodaPurple : Soda_base { - interactAttributes[] = { 0, 0, 800, 0, 0, 0, 0, 75, 0, 0 }; + interactAttributes[] = { + {"Thirst",800}, + {"Stamina",75} + }; }; class ItemSodaMocha : Soda_base { - interactAttributes[] = { 0, 0, 650, 0, 0, 0, 0, 150, 0, 0 }; + interactAttributes[] = { + {"Thirst",650}, + {"Stamina",150} + }; }; class ItemSodaBurst : Soda_base { - interactAttributes[] = { 0, 0, 800, 0, 0, 0, 0, 75, 0, 0 }; + interactAttributes[] = { + {"Thirst",800}, + {"Stamina",75} + }; }; class FoodWalkNSons : Soda_base { - interactAttributes[] = { 0, 0, 1200, 0, 0, 0, 0, 150, 0, 0 }; + interactAttributes[] = { + {"Thirst",1200}, + {"Stamina",150} + }; }; class ItemSodaAlpineDude : Soda_base { - interactAttributes[] = { 0, 0, 800, 0, 0, 0, 0, 100, 0, 0 }; + interactAttributes[] = { + {"Thirst",800}, + {"Stamina",800} + }; }; class jerrycan_epoch : Default { @@ -220,13 +317,17 @@ class CfgItemInteractions { { interactAction = 9; interactText = "USE"; - interactAttributes[] = { 0, 0, 0, 100, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Energy",100} + }; }; class EnergyPackLg : Default { interactAction = 9; interactText = "USE"; - interactAttributes[] = { 0, 0, 0, 1000, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Energy",1000} + }; }; class VehicleRepair : Default { @@ -242,67 +343,119 @@ class CfgItemInteractions { { interactAction = 1; interactText = "EAT"; - interactAttributes[] = { 0, 0, 0, 0, 0, 0, 20, 0, 0, 0 }; + interactAttributes[] = { + {"Toxicity",20,1} + }; }; class SnakeCarcass_EPOCH : Default { interactAction = 1; interactText = "EAT"; - interactAttributes[] = { 0, 300, 0, 0, 0, 0, 10, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",300}, + {"Soiled",1}, + {"Toxicity",10,1} + }; }; class SnakeMeat_EPOCH : Default { interactAction = 1; interactText = "EAT"; - interactAttributes[] = { 0, 1200, 0, 0, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",1200} + }; }; class RabbitCarcass_EPOCH : Default { interactAction = 1; interactText = "EAT"; - interactAttributes[] = { 0, 300, 0, 0, 0, 0, 10, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",300}, + {"Soiled",1}, + {"Toxicity",10,1} + }; }; class CookedRabbit_EPOCH : Default { interactAction = 1; interactText = "EAT"; - interactAttributes[] = { 0, 1200, 0, 0, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",1200} + }; }; class ChickenCarcass_EPOCH : Default { interactAction = 1; interactText = "EAT"; - interactAttributes[] = { 0, 500, 0, 0, 0, 0, 25, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",500}, + {"Soiled",1}, + {"Toxicity",25,1} + }; }; class CookedChicken_EPOCH : Default { interactAction = 1; interactText = "EAT"; - interactAttributes[] = { 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",2000} + }; }; class GoatCarcass_EPOCH : Default { interactAction = 1; interactText = "EAT"; - interactAttributes[] = { 0, 500, 0, 0, 0, 0, 15, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",500}, + {"Soiled",1}, + {"Toxicity",15,1} + }; + }; + class DogCarcass_EPOCH : Default + { + interactAction = 1; + interactText = "EAT"; + interactAttributes[] = { + {"Hunger",500}, + {"Soiled",1}, + {"Toxicity",15,1}, + {"Karma",-10} + }; + }; + class CookedDog_EPOCH : Default + { + interactAction = 1; + interactText = "EAT"; + interactAttributes[] = { + {"Hunger",3000}, + {"Karma",-10} + }; }; class CookedGoat_EPOCH : Default { interactAction = 1; interactText = "EAT"; - interactAttributes[] = { 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",3000} + }; }; class SheepCarcass_EPOCH : Default { interactAction = 1; interactText = "EAT"; - interactAttributes[] = { 0, 500, 0, 0, 0, 0, 15, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",500}, + {"Soiled",1}, + {"Toxicity",15,1} + }; }; class CookedSheep_EPOCH : Default { interactAction = 1; interactText = "EAT"; - interactAttributes[] = { 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Hunger",3000} + }; }; class KitSpikeTrap : Item_Build_base { @@ -442,37 +595,52 @@ class CfgItemInteractions { { interactAction = 6; interactText = "USE"; - interactAttributes[] = { 0, 0, 0, 0, 0, 10, 0, -100, 0, -10 }; + interactAttributes[] = { + {"Immunity",10}, + {"Stamina",-100}, + {"BloodP",-10} + }; }; class Goldenseal : Default { interactAction = 6; interactText = "USE"; - interactAttributes[] = { 0, 0, 0, 0, 0, 0, -50, 0, 0, 0 }; + interactAttributes[] = { + {"Toxicity",-50} + }; }; class Pumpkin : Default { interactAction = 6; interactText = "USE"; - interactAttributes[] = { 0, 500, 0, 0, 0, 0, 0, 50, 0, 0 }; + interactAttributes[] = { + {"Hunger",500}, + {"Stamina",50} + }; }; class Towelette : Default { interactAction = 6; interactText = "USE"; - interactAttributes[] = { 0, 0, 0, 0, -25, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Soiled",-25} + }; }; class HeatPack : Default { interactAction = 7; interactText = "USE"; - interactAttributes[] = { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Temp",1} + }; }; class ColdPack : Default { interactAction = 8; interactText = "USE"; - interactAttributes[] = { -1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; + interactAttributes[] = { + {"Temp",-1} + }; }; class ItemHotwire : Default { interactAction = 2; diff --git a/Sources/epoch_config/Configs/CfgObjectInteractions.hpp b/Sources/epoch_config/Configs/CfgObjectInteractions.hpp index e485c8ab..10382271 100644 --- a/Sources/epoch_config/Configs/CfgObjectInteractions.hpp +++ b/Sources/epoch_config/Configs/CfgObjectInteractions.hpp @@ -14,12 +14,118 @@ class CfgObjectInteractions { animationEffectGlobal = -1; canSee = "false"; ppEffect = 0; + aliveState = 0; // 0 = alive or dead, 1 = dead, 2 = alive. + interactAttributes[] = {}; }; class Land_MPS_EPOCH : Default {}; class container_epoch : Default {}; + + // Base Building Start class PlotPole_EPOCH : Default { interactMode = 1; }; + class Tipi_EPOCH : Default { + interactMode = 4; + }; + class Tipi_SIM_EPOCH : Default { + interactMode = 1; + }; + class StorageShelf_EPOCH : Default { + interactMode = 4; + }; + class WorkBench_EPOCH : Default { + interactMode = 4; + }; + class Foundation_EPOCH : Default { + interactMode = 1; + }; + class WoodFoundation_EPOCH : Default { + interactMode = 1; + }; + // Base Building stop + + class Sheep_random_EPOCH : Default { + interactMode = 3; + aliveState = 1; + interactAttributes[] = { + {"Soiled",1} + }; + }; + class Goat_random_EPOCH : Default { + interactMode = 3; + aliveState = 1; + interactAttributes[] = { + {"Soiled",1} + }; + }; + class Cock_random_EPOCH : Default { + interactMode = 3; + aliveState = 1; + interactAttributes[] = { + {"Soiled",1} + }; + }; + class Hen_random_EPOCH : Default { + interactMode = 3; + aliveState = 1; + interactAttributes[] = { + {"Soiled",1} + }; + }; + class Rabbit_EPOCH : Default { + interactMode = 3; + aliveState = 1; + interactAttributes[] = { + {"Soiled",1} + }; + }; + class Fin_random_EPOCH : Default { + interactMode = 3; + aliveState = 1; + interactAttributes[] = { + {"Karma",-100}, + {"Soiled",1} + }; + }; + class Alsatian_Random_EPOCH : Default { + interactMode = 3; + aliveState = 1; + interactAttributes[] = { + {"Karma",-100}, + {"Soiled",1} + }; + }; + class Epoch_Sapper_F : Default { + interactMode = 3; + aliveState = 1; + interactAttributes[] = { + {"Toxicity",20,1}, + {"Soiled",20,1} + }; + }; + class Epoch_SapperB_F : Default { + interactMode = 3; + aliveState = 1; + interactAttributes[] = { + {"Toxicity",20,1}, + {"Soiled",20,1} + }; + }; + class Epoch_Cloak_F : Default { + interactMode = 3; + aliveState = 1; + interactAttributes[] = { + {"Toxicity",20,1}, + {"Soiled",20,1} + }; + }; + class I_UAV_01_F : Default { + interactMode = 3; + aliveState = 1; + interactAttributes[] = { + {"Energy",20,1} + }; + }; class Epoch_Female_F : Default { interactMode = 2; }; @@ -31,12 +137,19 @@ class CfgObjectInteractions { }; class SapperHead_SIM_EPOCH : Default { interactMode = 0; + interactAttributes[] = { + {"Soiled",1} + }; }; class SapperCorpse_SIM_EPOCH : Default { interactMode = 0; + interactAttributes[] = { + {"Soiled",1} + }; }; class Snake_random_EPOCH : Default { + interactMode = 3; distance = 3; toxicChance = 0.2; bloodpChance = 1; @@ -46,8 +159,14 @@ class CfgObjectInteractions { soundEffect[] = {"snake_bite0"}; canSee = "!(lineIntersects[eyePos _unit, aimPos _target, _unit, _target])"; ppEffect = 0; + aliveState = 0; + interactAttributes[] = { + {"Toxicity",20,1}, + {"Soiled",1,1} + }; }; class Snake2_random_EPOCH : Default { + interactMode = 3; distance = 3; toxicChance = 0.1; bloodpChance = 1; @@ -57,8 +176,14 @@ class CfgObjectInteractions { soundEffect[] = {"snake_bite0"}; canSee = "!(lineIntersects[eyePos _unit, aimPos _target, _unit, _target])"; ppEffect = 0; + aliveState = 0; + interactAttributes[] = { + {"Toxicity",10,1}, + {"Soiled",1,1} + }; }; class GreatWhite_F : Default { + interactMode = 3; distance = 6; toxicChance = 0; bleedChance = 1; @@ -68,6 +193,8 @@ class CfgObjectInteractions { bloodpAmount = 3; canSee = "true"; ppEffect = 0; + aliveState = 1; + interactAttributes[] = {}; }; class SmokeShellCustom : Default { distance = 6; @@ -104,9 +231,46 @@ class CfgObjectInteractions { animationEffectGlobal = 3; canSee = "!(lineIntersects[eyePos _unit, aimPos _target, _unit, _target])"; ppEffect = 0; + interactMode = 3; + aliveState = 1; + interactAttributes[] = { + {"Toxicity",5,1}, + {"Soiled",10,1} + }; }; class EPOCH_RyanZombie_2 : EPOCH_RyanZombie_1 {}; class EPOCH_RyanZombie_3 : EPOCH_RyanZombie_1 {}; class EPOCH_RyanZombie_4 : EPOCH_RyanZombie_1 {}; class EPOCH_RyanZombie_5 : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_1_C : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_2_C : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_3_C : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_4_C : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_5_C : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_1_Sp : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_2_Sp : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_3_Sp : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_4_Sp : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_5_Sp : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_1_B : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_2_B : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_3_B : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_4_B : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_5_B : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_1_W : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_2_W : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_3_W : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_4_W : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_5_W : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_1_M : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_2_M : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_3_M : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_4_M : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_5_M : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_1_S : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_2_S : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_3_S : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_4_S : EPOCH_RyanZombie_1 {}; + class EPOCH_RyanZombie_5_S : EPOCH_RyanZombie_1 {}; + }; diff --git a/Sources/epoch_config/Configs/cfgCrafting.hpp b/Sources/epoch_config/Configs/cfgCrafting.hpp index b4a3f0f6..db1fc630 100644 --- a/Sources/epoch_config/Configs/cfgCrafting.hpp +++ b/Sources/epoch_config/Configs/cfgCrafting.hpp @@ -665,6 +665,22 @@ class CfgCrafting previewScale = 0.4; previewVector = 2; }; + class DogCarcass_EPOCH : Part + { + usedIn[] = { "CookedDog_EPOCH" }; + previewPosition[] = {0.796141,1,0.27}; + previewScale = 0.4; + previewVector = 2.1; + }; + class CookedDog_EPOCH : Item + { + usedIn[] = {}; + nearby[] = {{"Fire", "", "fire", {1,{"ALL"}}, 3, 1, 1, 0}}; + recipe[] = { "DogCarcass_EPOCH" }; + previewPosition[] = {0.796141,1,0.27}; + previewScale = 0.4; + previewVector = 2; + }; class SheepCarcass_EPOCH : Part { usedIn[] = { "CookedSheep_EPOCH" }; diff --git a/Sources/epoch_config/build.hpp b/Sources/epoch_config/build.hpp index 16fe4d8f..6942aa37 100644 --- a/Sources/epoch_config/build.hpp +++ b/Sources/epoch_config/build.hpp @@ -1 +1 @@ -build=538; +build=540; diff --git a/Sources/epoch_server/build.hpp b/Sources/epoch_server/build.hpp index 16fe4d8f..6942aa37 100644 --- a/Sources/epoch_server/build.hpp +++ b/Sources/epoch_server/build.hpp @@ -1 +1 @@ -build=538; +build=540; diff --git a/Sources/epoch_server/compile/epoch_looting/EPOCH_server_lootAnimal.sqf b/Sources/epoch_server/compile/epoch_looting/EPOCH_server_lootAnimal.sqf index 3422fbb6..202c0270 100644 --- a/Sources/epoch_server/compile/epoch_looting/EPOCH_server_lootAnimal.sqf +++ b/Sources/epoch_server/compile/epoch_looting/EPOCH_server_lootAnimal.sqf @@ -19,12 +19,13 @@ if !([_player, _token] call EPOCH_server_getPToken) exitWith{}; if !(isNull _object) then { _pos = getPosATL _object; _objectClass = typeOf _object; - + _classOverride = getText (configFile >> "CfgVehicles" >> _objectClass >> "epochLootClass"); + if (_classOverride != "") then { + _objectClass = _classOverride; + }; deleteVehicle _object; - _item = createVehicle["groundWeaponHolder", [0,0,0], [], 0.0, "CAN_COLLIDE"]; _item setPosATL _pos; - _class = "SeaFood"; _config = configFile >> "CfgMainTable" >> _objectClass; if (isClass(_config)) then { diff --git a/Sources/epoch_server_core/build.hpp b/Sources/epoch_server_core/build.hpp index 16fe4d8f..6942aa37 100644 --- a/Sources/epoch_server_core/build.hpp +++ b/Sources/epoch_server_core/build.hpp @@ -1 +1 @@ -build=538; +build=540; diff --git a/Sources/epoch_server_settings/build.hpp b/Sources/epoch_server_settings/build.hpp index 16fe4d8f..6942aa37 100644 --- a/Sources/epoch_server_settings/build.hpp +++ b/Sources/epoch_server_settings/build.hpp @@ -1 +1 @@ -build=538; +build=540; diff --git a/Sources/epoch_server_settings/configs/CfgLootTable.h b/Sources/epoch_server_settings/configs/CfgLootTable.h index d3f3bbeb..6f7aecc0 100644 --- a/Sources/epoch_server_settings/configs/CfgLootTable.h +++ b/Sources/epoch_server_settings/configs/CfgLootTable.h @@ -829,6 +829,20 @@ class CfgLootTable { { "Pelt_EPOCH", "magazine" }, 1 } }; }; + class Fin_random_EPOCH + { + items[] = { + { { "CookedDog_EPOCH", "magazine" }, 1 }, + { { "Pelt_EPOCH", "magazine" }, 1 } + }; + }; + class Alsatian_Random_EPOCH + { + items[] = { + { { "CookedDog_EPOCH", "magazine" }, 1 }, + { { "Pelt_EPOCH", "magazine" }, 1 } + }; + }; class Cock_random_EPOCH { items[] = { @@ -848,6 +862,17 @@ class CfgLootTable { { "Pelt_EPOCH", "magazine" }, 1 } }; }; + class EPOCH_RyanZombie_1 + { + items[] = { + { { "MetalBars", "CfgLootTable" }, 5 }, + { { "WhiskeyNoodle", "magazine" }, 5 }, + { { "Hand", "CfgLootTable" }, 20 }, + { { "HotColdPacks", "CfgLootTable" }, 20 }, + { { "PistolAmmo", "CfgLootTable" }, 20 }, + { { "Pelt_EPOCH", "magazine" }, 10 } + }; + }; class GreatWhite_F { items[] = { diff --git a/Sources/epoch_server_settings/configs/CfgLootTable_CUP.h b/Sources/epoch_server_settings/configs/CfgLootTable_CUP.h index 4a46e172..a572d76e 100644 --- a/Sources/epoch_server_settings/configs/CfgLootTable_CUP.h +++ b/Sources/epoch_server_settings/configs/CfgLootTable_CUP.h @@ -1391,6 +1391,20 @@ class CfgLootTable_CUP { { "Pelt_EPOCH", "magazine" }, 1 } }; }; + class Fin_random_EPOCH + { + items[] = { + { { "GoatCarcass_EPOCH", "magazine" }, 1 }, + { { "Pelt_EPOCH", "magazine" }, 1 } + }; + }; + class Alsatian_Random_EPOCH + { + items[] = { + { { "GoatCarcass_EPOCH", "magazine" }, 1 }, + { { "Pelt_EPOCH", "magazine" }, 1 } + }; + }; class Cock_random_EPOCH { items[] = { @@ -1410,6 +1424,17 @@ class CfgLootTable_CUP { { "Pelt_EPOCH", "magazine" }, 1 } }; }; + class EPOCH_RyanZombie_1 + { + items[] = { + { { "MetalBars", "CfgLootTable" }, 5 }, + { { "WhiskeyNoodle", "magazine" }, 5 }, + { { "Hand", "CfgLootTable" }, 20 }, + { { "HotColdPacks", "CfgLootTable" }, 20 }, + { { "PistolAmmo", "CfgLootTable" }, 20 }, + { { "Pelt_EPOCH", "magazine" }, 10 } + }; + }; class GreatWhite_F { items[] = { diff --git a/Sources/epoch_server_settings/configs/CfgMainTable.h b/Sources/epoch_server_settings/configs/CfgMainTable.h index c370bcd3..a8dcfe65 100644 --- a/Sources/epoch_server_settings/configs/CfgMainTable.h +++ b/Sources/epoch_server_settings/configs/CfgMainTable.h @@ -569,6 +569,18 @@ class CfgMainTable LootMax = 4; tables[] = { "Goat_random_EPOCH" }; }; + class Fin_random_EPOCH + { + lootMin = 2; + LootMax = 4; + tables[] = { "Fin_random_EPOCH" }; + }; + class Alsatian_Random_EPOCH + { + lootMin = 2; + LootMax = 4; + tables[] = { "Alsatian_Random_EPOCH" }; + }; class Cock_random_EPOCH { lootMin = 1; @@ -587,6 +599,18 @@ class CfgMainTable LootMax = 1; tables[] = { "Rabbit_EPOCH" }; }; + class Epoch_RyanZombie_1 + { + lootMin = 5; + LootMax = 10; + tables[] = { "EPOCH_RyanZombie_1" }; + }; + class GreatWhite_F + { + lootMin = 5; + LootMax = 10; + tables[] = { "GreatWhite_F" }; + }; class Epoch_Sapper_F { lootMin = 5; diff --git a/Sources/mpmissions/epoch.Altis/treeView.txt b/Sources/mpmissions/epoch.Altis/treeView.txt index a8aca435..c08e9789 100644 Binary files a/Sources/mpmissions/epoch.Altis/treeView.txt and b/Sources/mpmissions/epoch.Altis/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Australia/treeView.txt b/Sources/mpmissions/epoch.Australia/treeView.txt index eada6cba..f94ed9b6 100644 Binary files a/Sources/mpmissions/epoch.Australia/treeView.txt and b/Sources/mpmissions/epoch.Australia/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Bootcamp_ACR/treeView.txt b/Sources/mpmissions/epoch.Bootcamp_ACR/treeView.txt index b660ce25..70634c00 100644 Binary files a/Sources/mpmissions/epoch.Bootcamp_ACR/treeView.txt and b/Sources/mpmissions/epoch.Bootcamp_ACR/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Bornholm/treeView.txt b/Sources/mpmissions/epoch.Bornholm/treeView.txt index 2ff39595..e9bdfd5d 100644 Binary files a/Sources/mpmissions/epoch.Bornholm/treeView.txt and b/Sources/mpmissions/epoch.Bornholm/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Chernarus/treeView.txt b/Sources/mpmissions/epoch.Chernarus/treeView.txt index bfb6da79..406ea7a2 100644 Binary files a/Sources/mpmissions/epoch.Chernarus/treeView.txt and b/Sources/mpmissions/epoch.Chernarus/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Chernarus_Summer/treeView.txt b/Sources/mpmissions/epoch.Chernarus_Summer/treeView.txt index 8fab5e70..e2e9db48 100644 Binary files a/Sources/mpmissions/epoch.Chernarus_Summer/treeView.txt and b/Sources/mpmissions/epoch.Chernarus_Summer/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Desert_E/treeView.txt b/Sources/mpmissions/epoch.Desert_E/treeView.txt index 0a01c73e..f5d1ed19 100644 Binary files a/Sources/mpmissions/epoch.Desert_E/treeView.txt and b/Sources/mpmissions/epoch.Desert_E/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Esseker/treeView.txt b/Sources/mpmissions/epoch.Esseker/treeView.txt index eb9ac2a7..da4292d6 100644 Binary files a/Sources/mpmissions/epoch.Esseker/treeView.txt and b/Sources/mpmissions/epoch.Esseker/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Mountains_ACR/treeView.txt b/Sources/mpmissions/epoch.Mountains_ACR/treeView.txt index 328c3db1..c8d76e93 100644 Binary files a/Sources/mpmissions/epoch.Mountains_ACR/treeView.txt and b/Sources/mpmissions/epoch.Mountains_ACR/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Napf/treeView.txt b/Sources/mpmissions/epoch.Napf/treeView.txt index 4be80130..d3f658ed 100644 Binary files a/Sources/mpmissions/epoch.Napf/treeView.txt and b/Sources/mpmissions/epoch.Napf/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Porto/treeView.txt b/Sources/mpmissions/epoch.Porto/treeView.txt index c072726a..a18ba8bf 100644 Binary files a/Sources/mpmissions/epoch.Porto/treeView.txt and b/Sources/mpmissions/epoch.Porto/treeView.txt differ diff --git a/Sources/mpmissions/epoch.ProvingGrounds_PMC/treeView.txt b/Sources/mpmissions/epoch.ProvingGrounds_PMC/treeView.txt index df0a325a..0c10669c 100644 Binary files a/Sources/mpmissions/epoch.ProvingGrounds_PMC/treeView.txt and b/Sources/mpmissions/epoch.ProvingGrounds_PMC/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Sara/treeView.txt b/Sources/mpmissions/epoch.Sara/treeView.txt index a659e470..266a8a90 100644 Binary files a/Sources/mpmissions/epoch.Sara/treeView.txt and b/Sources/mpmissions/epoch.Sara/treeView.txt differ diff --git a/Sources/mpmissions/epoch.SaraLite/treeView.txt b/Sources/mpmissions/epoch.SaraLite/treeView.txt index 6fb547ff..94f1ab06 100644 Binary files a/Sources/mpmissions/epoch.SaraLite/treeView.txt and b/Sources/mpmissions/epoch.SaraLite/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Sara_dbe1/treeView.txt b/Sources/mpmissions/epoch.Sara_dbe1/treeView.txt index ed1d1029..ddc54d9f 100644 Binary files a/Sources/mpmissions/epoch.Sara_dbe1/treeView.txt and b/Sources/mpmissions/epoch.Sara_dbe1/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Shapur_BAF/treeView.txt b/Sources/mpmissions/epoch.Shapur_BAF/treeView.txt index 3776226a..77d65abe 100644 Binary files a/Sources/mpmissions/epoch.Shapur_BAF/treeView.txt and b/Sources/mpmissions/epoch.Shapur_BAF/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Stratis/treeView.txt b/Sources/mpmissions/epoch.Stratis/treeView.txt index d9fb49cd..635da2de 100644 Binary files a/Sources/mpmissions/epoch.Stratis/treeView.txt and b/Sources/mpmissions/epoch.Stratis/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Takistan/treeView.txt b/Sources/mpmissions/epoch.Takistan/treeView.txt index d0ee09c0..2ae025d1 100644 Binary files a/Sources/mpmissions/epoch.Takistan/treeView.txt and b/Sources/mpmissions/epoch.Takistan/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Tanoa/treeView.txt b/Sources/mpmissions/epoch.Tanoa/treeView.txt index fee4f0a2..122e8e9d 100644 Binary files a/Sources/mpmissions/epoch.Tanoa/treeView.txt and b/Sources/mpmissions/epoch.Tanoa/treeView.txt differ diff --git a/Sources/mpmissions/epoch.VR/treeView.txt b/Sources/mpmissions/epoch.VR/treeView.txt index a59e73fc..83ff50b2 100644 Binary files a/Sources/mpmissions/epoch.VR/treeView.txt and b/Sources/mpmissions/epoch.VR/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Woodland_ACR/treeView.txt b/Sources/mpmissions/epoch.Woodland_ACR/treeView.txt index 4334bba6..3f91b51c 100644 Binary files a/Sources/mpmissions/epoch.Woodland_ACR/treeView.txt and b/Sources/mpmissions/epoch.Woodland_ACR/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Zargabad/treeView.txt b/Sources/mpmissions/epoch.Zargabad/treeView.txt index 2a38f735..e41b1918 100644 Binary files a/Sources/mpmissions/epoch.Zargabad/treeView.txt and b/Sources/mpmissions/epoch.Zargabad/treeView.txt differ diff --git a/Sources/mpmissions/epoch.utes/treeView.txt b/Sources/mpmissions/epoch.utes/treeView.txt index ef25e2eb..6650a758 100644 Binary files a/Sources/mpmissions/epoch.utes/treeView.txt and b/Sources/mpmissions/epoch.utes/treeView.txt differ diff --git a/build.txt b/build.txt index ceb5b010..c867de0b 100644 --- a/build.txt +++ b/build.txt @@ -1 +1 @@ -538 +540