From 1b8416c8ff471a19b14fcd6379280933eff8fbd0 Mon Sep 17 00:00:00 2001 From: AirwavesMan Date: Thu, 14 Jan 2021 10:01:51 +0100 Subject: [PATCH] Update wrecks of modular buildings --- .../CfgVehicles/Buildables/Bridges.hpp | 52 ++++++++++ .../Configs/CfgVehicles/Buildables/Doors.hpp | 94 ++++++++++++++++++- .../CfgVehicles/Buildables/ModularBuild.hpp | 1 + .../Buildables/ModularBuildMetal.hpp | 10 ++ .../Buildables/ModularBuildWood.hpp | 90 +++++++++++------- .../CfgVehicles/Buildables/ModularWrecks.hpp | 15 ++- .../Configs/CfgVehicles/CfgVehicles.hpp | 3 +- SQF/dayz_code/init/variables.sqf | 2 +- 8 files changed, 229 insertions(+), 38 deletions(-) diff --git a/SQF/dayz_code/Configs/CfgVehicles/Buildables/Bridges.hpp b/SQF/dayz_code/Configs/CfgVehicles/Buildables/Bridges.hpp index 414f5b234..7b0394826 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/Buildables/Bridges.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/Buildables/Bridges.hpp @@ -36,6 +36,32 @@ class Metal_Drawbridge_DZ: CinderWallDoor_DZ_Base statement = "this animate [""Open_inner"", 0];this animate [""Open_outer"", 0];"; }; }; + class DestructionEffects { + class Sound { + simulation = "sound"; + type = "DestrHouse"; + position = "destructionEffect1"; + intensity = 1; + interval = 1; + lifeTime = 0.05; + }; + class DestroyPhase1 { + simulation = "destroy"; + type = "DelayedDestruction"; + lifeTime = 2.5; + position = ""; + intensity = 1; + interval = 1; + }; + class DamageAround1 { + simulation = "damageAround"; + type = "DamageAroundHouse"; + position = ""; + intensity = 0.1; + interval = 1; + lifeTime = 1; + }; + }; }; class Metal_DrawbridgeLocked_DZ: CinderWallDoorLocked_DZ_Base { @@ -102,4 +128,30 @@ class Metal_DrawbridgeLocked_DZ: CinderWallDoorLocked_DZ_Base statement = "dayz_selectedDoor = this;DZE_topCombo = 0;DZE_midCombo = 0;DZE_botCombo = 0;if(DZE_doorManagement) then {createdialog ""DoorAccess"";} else {createdialog ""ComboLockUI"";};"; }; }; + class DestructionEffects { + class Sound { + simulation = "sound"; + type = "DestrHouse"; + position = "destructionEffect1"; + intensity = 1; + interval = 1; + lifeTime = 0.05; + }; + class DestroyPhase1 { + simulation = "destroy"; + type = "DelayedDestruction"; + lifeTime = 2.5; + position = ""; + intensity = 1; + interval = 1; + }; + class DamageAround1 { + simulation = "damageAround"; + type = "DamageAroundHouse"; + position = ""; + intensity = 0.1; + interval = 1; + lifeTime = 1; + }; + }; }; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/CfgVehicles/Buildables/Doors.hpp b/SQF/dayz_code/Configs/CfgVehicles/Buildables/Doors.hpp index f1b36f2af..a78a18b76 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/Buildables/Doors.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/Buildables/Doors.hpp @@ -504,6 +504,16 @@ class Land_DZE_WoodGate: Land_DZE_WoodDoor_Base { statement = "this animate [""Open_door"", 0];this animate [""Open_doorR"", 0];"; }; }; + class DestructionEffects : DestructionEffects { + class Ruin1 { + simulation = "ruin"; + type = "\z\addons\dayz_epoch\models\wood_wreck_third.p3d"; + position = ""; + intensity = 1; + interval = 1; + lifeTime = 1; + }; + }; }; class Land_DZE_WoodGateLocked: Land_DZE_WoodDoorLocked_Base { @@ -570,6 +580,16 @@ class Land_DZE_WoodGateLocked: Land_DZE_WoodDoorLocked_Base { statement = "dayz_selectedDoor = this;DZE_topCombo = 0;DZE_midCombo = 0;DZE_botCombo = 0;if(DZE_doorManagement) then {createdialog ""DoorAccess"";} else {createdialog ""ComboLockUI"";};"; }; }; + class DestructionEffects : DestructionEffects { + class Ruin1 { + simulation = "ruin"; + type = "\z\addons\dayz_epoch\models\wood_wreck_third.p3d"; + position = ""; + intensity = 1; + interval = 1; + lifeTime = 1; + }; + }; }; class Land_DZE_WoodOpenTopGarageDoor: Land_DZE_WoodDoor_Base { @@ -611,6 +631,16 @@ class Land_DZE_WoodOpenTopGarageDoor: Land_DZE_WoodDoor_Base { statement = "this animate [""doorl"", 0];this animate [""doorR"", 0];"; }; }; + class DestructionEffects : DestructionEffects { + class Ruin1 { + simulation = "ruin"; + type = "\z\addons\dayz_epoch\models\wood_wreck_third.p3d"; + position = ""; + intensity = 1; + interval = 1; + lifeTime = 1; + }; + }; }; class Land_DZE_WoodOpenTopGarageLocked: Land_DZE_WoodDoorLocked_Base { @@ -676,6 +706,16 @@ class Land_DZE_WoodOpenTopGarageLocked: Land_DZE_WoodDoorLocked_Base { statement = "dayz_selectedDoor = this;DZE_topCombo = 0;DZE_midCombo = 0;DZE_botCombo = 0;if(DZE_doorManagement) then {createdialog ""DoorAccess"";} else {createdialog ""ComboLockUI"";};"; }; }; + class DestructionEffects : DestructionEffects { + class Ruin1 { + simulation = "ruin"; + type = "\z\addons\dayz_epoch\models\wood_wreck_third.p3d"; + position = ""; + intensity = 1; + interval = 1; + lifeTime = 1; + }; + }; }; class CinderWallDoorLocked_DZ: CinderWallDoorLocked_DZ_Base { @@ -1218,7 +1258,32 @@ class Door_DZ: CinderWallDoor_DZ_Base { statement = "this animate [""Open_door"", 0]"; }; }; - class DestructionEffects {}; + class DestructionEffects { + class Sound { + simulation = "sound"; + type = "DestrHouse"; + position = "destructionEffect1"; + intensity = 1; + interval = 1; + lifeTime = 0.05; + }; + class DestroyPhase1 { + simulation = "destroy"; + type = "DelayedDestruction"; + lifeTime = 2.5; + position = ""; + intensity = 1; + interval = 1; + }; + class DamageAround1 { + simulation = "damageAround"; + type = "DamageAroundHouse"; + position = ""; + intensity = 0.1; + interval = 1; + lifeTime = 1; + }; + }; }; class DoorLocked_DZ: CinderWallDoorLocked_DZ_Base { @@ -1278,7 +1343,32 @@ class DoorLocked_DZ: CinderWallDoorLocked_DZ_Base { statement = "dayz_selectedDoor = this;DZE_topCombo = 0;DZE_midCombo = 0;DZE_botCombo = 0;if(DZE_doorManagement) then {createdialog ""DoorAccess"";} else {createdialog ""ComboLockUI"";};"; }; }; - class DestructionEffects {}; + class DestructionEffects { + class Sound { + simulation = "sound"; + type = "DestrHouse"; + position = "destructionEffect1"; + intensity = 1; + interval = 1; + lifeTime = 0.05; + }; + class DestroyPhase1 { + simulation = "destroy"; + type = "DelayedDestruction"; + lifeTime = 2.5; + position = ""; + intensity = 1; + interval = 1; + }; + class DamageAround1 { + simulation = "damageAround"; + type = "DamageAroundHouse"; + position = ""; + intensity = 0.1; + interval = 1; + lifeTime = 1; + }; + }; }; /* diff --git a/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularBuild.hpp b/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularBuild.hpp index 8cb05634c..51ec95063 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularBuild.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularBuild.hpp @@ -34,6 +34,7 @@ class ModularItems: NonStrategic { }; }; +#include "ModularWrecks.hpp" #include "ModularBuildMetal.hpp" #include "ModularBuildCinder.hpp" #include "ModularBuildWood.hpp" diff --git a/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularBuildMetal.hpp b/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularBuildMetal.hpp index e27e90e90..e5f19ae32 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularBuildMetal.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularBuildMetal.hpp @@ -42,6 +42,16 @@ class MetalFloor4x_DZ: ModularItems { armor = 6000; displayName = $STR_EPOCH_METALFLOOR4x; GhostPreview = "MetalFloor4x_Preview_DZ"; + class DestructionEffects : DestructionEffects { + class Ruin1 { + simulation = "ruin"; + type = "\z\addons\dayz_epoch_v\base_building\floors\metal_floor_2x2_wreck.p3d"; + position = ""; + intensity = 1; + interval = 1; + lifeTime = 1; + }; + }; }; class DoorFrame_DZ: ModularItems { diff --git a/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularBuildWood.hpp b/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularBuildWood.hpp index a8e5524a3..6b30ef1d6 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularBuildWood.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularBuildWood.hpp @@ -26,6 +26,27 @@ class WoodFloor_DZ: ModularItems { }; }; }; + +class WoodFloorStairs_DZ: ModularItems { + scope = 2; + offset[] = {0,5,-2.5}; + model = "\z\addons\dayz_epoch_v\base_building\floors\wood_floor_stairs.p3d"; + armor = 1000; + displayName = $STR_EPOCH_WOODFLOORSTAIRS; + maintainBuilding[] = {{"PartWoodLumber",4}}; + GhostPreview = "Wood_Floor_Stairs_Preview_DZ"; + class DestructionEffects : DestructionEffects { + class Ruin1 { + simulation = "ruin"; + type = "\z\addons\dayz_epoch\models\wood_wreck_floor.p3d"; + position = ""; + intensity = 1; + interval = 1; + lifeTime = 1; + }; + }; +}; + class WoodFloorHalf_DZ: ModularItems { scope = 2; offset[] = {0,4,0}; @@ -46,6 +67,7 @@ class WoodFloorHalf_DZ: ModularItems { }; }; }; + class WoodFloorQuarter_DZ: ModularItems { scope = 2; offset[] = {0,4,0}; @@ -84,7 +106,7 @@ class WoodTriangleFloor_DZ: ModularItems { armor = 1000; displayName = $STR_EPOCH_FLOORCEILING4x; maintainBuilding[] = {{"PartWoodLumber",2}}; - GhostPreview = "WoodTriangleFloor_Preview_DZ"; + GhostPreview = "WoodTriangleFloor_Preview_DZ"; }; class WoodLargeWall_DZ: ModularItems { @@ -128,6 +150,7 @@ class WoodLargeWallDoor_DZ: ModularItems { }; }; }; + class WoodLargeWallWin_DZ: ModularItems { scope = 2; offset[] = {0,1.5,0}; @@ -168,6 +191,7 @@ class WoodSmallWall_DZ: ModularItems { }; }; }; + class WoodSmallWallThird_DZ: ModularItems { scope = 2; offset[] = {0,1.5,0}; @@ -188,6 +212,7 @@ class WoodSmallWallThird_DZ: ModularItems { }; }; }; + class WoodSmallWallWin_DZ: ModularItems { scope = 2; offset[] = {0,1.5,0}; @@ -207,6 +232,7 @@ class WoodSmallWallWin_DZ: ModularItems { }; }; }; + class WoodSmallWallDoor_DZ: ModularItems { scope = 2; offset[] = {0,1.5,0}; @@ -236,6 +262,37 @@ class WoodTriangleWall_DZ: ModularItems { displayName = $STR_EPOCH_TRIANGLE_WOODWALL; GhostPreview = "Wood_Triangle_Wall_Preview_DZ"; maintainBuilding[] = {{"PartWoodLumber",1}}; + class DestructionEffects : DestructionEffects { + class Ruin1 { + simulation = "ruin"; + type = "\z\addons\dayz_epoch\models\wood_wreck_third.p3d"; + position = ""; + intensity = 1; + interval = 1; + lifeTime = 1; + }; + }; +}; + +class WoodGateFrame_DZ: ModularItems { + scope = 2; + offset[] = {0,3,0}; + model = "\z\addons\dayz_epoch_v\base_building\wood\high_wood_garage\high_wood_garage_frame.p3d"; + armor = 2800; + displayName = $STR_EPOCH_WOODGATEFRAME; + maintainBuilding[] = {{"PartWoodLumber",4}}; + upgradeBuilding[] = {"Land_DZE_WoodGate",{"ItemToolbox","Handsaw_DZE","Hammer_DZE"},{{"PartWoodPlywood",8},{"PartWoodLumber",2},{"equip_nails",1}}}; + GhostPreview = "WoodGate_Preview_DZ"; + class DestructionEffects : DestructionEffects { + class Ruin1 { + simulation = "ruin"; + type = "\z\addons\dayz_epoch\models\wood_wreck_third.p3d"; + position = ""; + intensity = 1; + interval = 1; + lifeTime = 1; + }; + }; }; class WoodStairs_DZ: ModularItems { @@ -270,16 +327,6 @@ class WoodStairsSans_DZ: ModularItems { GhostPreview = "WoodStairsSans_Preview_DZ"; }; -class WoodFloorStairs_DZ: ModularItems { - scope = 2; - offset[] = {0,5,-2.5}; - model = "\z\addons\dayz_epoch_v\base_building\floors\wood_floor_stairs.p3d"; - armor = 1000; - displayName = $STR_EPOCH_WOODFLOORSTAIRS; - maintainBuilding[] = {{"PartWoodLumber",4}}; - GhostPreview = "Wood_Floor_Stairs_Preview_DZ"; -}; - class WoodLadder_DZ: ModularItems { scope = 2; offset[] = {0,1.5,0}; @@ -309,25 +356,4 @@ class WoodPillar_DZ: ModularItems { displayName = $STR_EPOCH_WOODPILLAR; maintainBuilding[] = {{"PartWoodLumber",1}}; GhostPreview = "Wood_Pillar_Preview_DZ"; -}; - -class WoodGateFrame_DZ: ModularItems { - scope = 2; - offset[] = {0,3,0}; - model = "\z\addons\dayz_epoch_v\base_building\wood\high_wood_garage\high_wood_garage_frame.p3d"; - armor = 2800; - displayName = $STR_EPOCH_WOODGATEFRAME; - maintainBuilding[] = {{"PartWoodLumber",4}}; - upgradeBuilding[] = {"Land_DZE_WoodGate",{"ItemToolbox","Handsaw_DZE","Hammer_DZE"},{{"PartWoodPlywood",8},{"PartWoodLumber",2},{"equip_nails",1}}}; - GhostPreview = "WoodGate_Preview_DZ"; - class DestructionEffects : DestructionEffects { - class Ruin1 { - simulation = "ruin"; - type = "\z\addons\dayz_epoch\models\wood_wreck_frame.p3d"; - position = ""; - intensity = 1; - interval = 1; - lifeTime = 1; - }; - }; }; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularWrecks.hpp b/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularWrecks.hpp index 960970a64..b43542dd6 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularWrecks.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularWrecks.hpp @@ -1,3 +1,6 @@ +// Note: If adding a custom wreck model make sure the p3d model name is used as the class name with the prefix Land_ +// E.g.: wood_wreck_frame.p3d = Land_ + wood_wreck_frame = Land_wood_wreck_frame + class Land_wood_wreck_frame : ruins { scope = 2; model = "\z\addons\dayz_epoch\models\wood_wreck_frame.p3d"; @@ -5,6 +8,7 @@ class Land_wood_wreck_frame : ruins { removeoutput[] = {{"PartWoodPlywood",{0,3}},{"PartWoodLumber",{0,3}}}; vehicleClass = "DayZ Epoch Buildables"; }; + class Land_wood_wreck_third : ruins { scope = 2; model = "\z\addons\dayz_epoch\models\wood_wreck_third.p3d"; @@ -44,10 +48,19 @@ class Land_wreck_cinder: ruins { removeoutput[] = {{"CinderBlocks",{0,1}}}; vehicleClass = "DayZ Epoch Buildables"; }; + class Land_wreck_metal_floor: ruins { scope = 2; model = "\z\addons\dayz_epoch\models\wreck_metal_floor.p3d"; displayName = $STR_METAL_FLOOR_WRECK; - removeoutput[] = {{"ItemPole",{0,2}},{"ItemTankTrap",{0,2}}}; + removeoutput[] = {{"ItemPole",{0,2}},{"equip_metal_sheet",{0,2}}}; + vehicleClass = "DayZ Epoch Buildables"; +}; + +class Land_metal_floor_2x2_wreck: ruins { + scope = 2; + model = "\z\addons\dayz_epoch_v\base_building\floors\metal_floor_2x2_wreck.p3d"; + displayName = $STR_METAL_FLOOR_WRECK; + removeoutput[] = {{"ItemPole",{0,4}},{"equip_metal_sheet",{0,4}}}; vehicleClass = "DayZ Epoch Buildables"; }; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/CfgVehicles/CfgVehicles.hpp b/SQF/dayz_code/Configs/CfgVehicles/CfgVehicles.hpp index f9141b2b4..412b1a3d1 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/CfgVehicles.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/CfgVehicles.hpp @@ -491,8 +491,7 @@ class CfgVehicles #include "Buildables\Generator.hpp" #include "Buildables\Doors.hpp" #include "Buildables\Bridges.hpp" - #include "Buildables\ModularBuild.hpp" - #include "Buildables\ModularWrecks.hpp" + #include "Buildables\ModularBuild.hpp" #include "Buildables\FencesWood.hpp" #include "Buildables\FencesMetal.hpp" #include "Buildables\FencesGates.hpp" diff --git a/SQF/dayz_code/init/variables.sqf b/SQF/dayz_code/init/variables.sqf index 7d9b4083a..4da435a54 100644 --- a/SQF/dayz_code/init/variables.sqf +++ b/SQF/dayz_code/init/variables.sqf @@ -19,7 +19,7 @@ AllPlayers = ["Survivor_DZ","Survivor1_DZ","SurvivorW2_DZ","Survivor2_DZ","Snipe // Epoch Additions dayz_activeInvites = []; DZE_DoorsLocked = ["Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallDoorLocked_DZ","CinderWallDoorSmallLocked_DZ","WoodenGate_1_DZ","WoodenGate_2_DZ","WoodenGate_3_DZ","WoodenGate_4_DZ","Land_DZE_WoodGateLocked","CinderGateLocked_DZ","Metal_DrawbridgeLocked_DZ","Land_DZE_WoodOpenTopGarageLocked","CinderGarageOpenTopLocked_DZ","DoorLocked_DZ","CinderWallWindowLocked_DZ","CinderDoorHatchLocked_DZ","Concrete_Bunker_Locked_DZ"]; -DZE_isWreckBuilding = ["Land_wreck_cinder","Land_wood_wreck_quarter","Land_wood_wreck_floor","Land_wood_wreck_third","Land_wood_wreck_frame","Land_iron_vein_wreck","Land_silver_vein_wreck","Land_gold_vein_wreck","Land_ammo_supply_wreck"]; +DZE_isWreckBuilding = ["Land_metal_floor_2x2_wreck","Land_wreck_cinder","Land_wood_wreck_quarter","Land_wood_wreck_floor","Land_wood_wreck_third","Land_wood_wreck_frame","Land_iron_vein_wreck","Land_silver_vein_wreck","Land_gold_vein_wreck","Land_ammo_supply_wreck"]; DZE_LockedStorage = ["VaultStorageLocked","VaultStorage2Locked","LockboxStorageLocked","LockboxStorage2Locked","LockboxStorageWinterLocked","LockboxStorageWinter2Locked","TallSafeLocked"]; DZE_UnLockedStorage = ["VaultStorage","VaultStorage2","LockboxStorage","LockboxStorage2","LockboxStorageWinter","LockboxStorageWinter2","TallSafe"]; DZE_isNewStorage = ["OutHouse_DZ","Wooden_shed_DZ","Wooden_shed2_DZ","WoodShack_DZ","WoodShack2_DZ","StorageShed_DZ","StorageShed2_DZ","GunRack_DZ","GunRack2_DZ","WoodCrate_DZ","WoodCrate2_DZ","Advanced_WorkBench_DZ","CookTripod_DZ","Stoneoven_DZ","Commode_DZ","Wardrobe_DZ","Fridge_DZ","Washing_Machine_DZ","Server_Rack_DZ","ATM_DZ","Armchair_DZ","Sofa_DZ","Arcade_DZ","Vendmachine1_DZ","Vendmachine2_DZ","StorageCrate_DZ","CamoStorageCrate_DZ"];