mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-14 12:12:34 +03:00
Update remove/deconstruct, add helpers
Removing and Deconstructing Objects - Now adds colored helpers to modular objects. - Green: Refund one kit. - Blue: Refund entire recipe of parts (multiple items). - Red: No refund will be given. Either because the object is too damaged, or the refund feature is disabled. - If the object has a door open while selected, no helper will display/float in the open door space. - The gear panel will only open if a refund is available. - If a lit fire barrel is removed, the flame will now be extinguished. - If a plot pole is removed, plot boundary helpers will now be deleted. - Refunds for non-modular objects are handled by their respective config settings. - Removed non-lockable storage objects will now refund their contents. - The corresponding storage kit will be refunded. - If there is room outdoors, backpacks will be arranged in a neat circle close to the refund point. - If the spawn point is too close to a building, backpacks will spawn at the player's location. - Helpers will now appear on wrecked/ruined modular objects. - Helper color arrays were changed to helper transparency values only, to make it easier (and safer) for server owners. Upgrading, Downgrading, Maintaining and Packing Objects - Now includes colored helper spheres for improved player experience. - Reapply damage to upgraded/downgraded object if necessary. Changes made by @Victor-the-Cleaner
This commit is contained in:
817
SQF/dayz_code/Configs/CfgExtra/HelperVectors.hpp
Normal file
817
SQF/dayz_code/Configs/CfgExtra/HelperVectors.hpp
Normal file
@@ -0,0 +1,817 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// modularVectors.hpp
|
||||
//
|
||||
// Author: Victor the Cleaner
|
||||
// Date: August 2021
|
||||
//
|
||||
// Helper array vectors for "Remove" and "Deconstruct" of modular objects.
|
||||
// Similar to snappoints.hpp, but customized to specific objects for improved visual appeal.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Known Values
|
||||
#define mX1 5.28 // metal floor, width (x,y)
|
||||
#define mZ1 0.3 // metal floor, height (z)
|
||||
#define pZ1 3.05 // metal pillar, height (z)
|
||||
#define cZ1 3.37 // cinder wall full, height (z)
|
||||
#define cH1 1.5 // cinder wall half, height (z)
|
||||
#define gZ1 6.8 // cinder gate frame, height (z)
|
||||
|
||||
// Metal
|
||||
#define mX2 2.64 // metal floor, half width
|
||||
#define mX4 1.32 // metal floor, quarter width
|
||||
#define mZ2 0.15 // metal floor, half height
|
||||
#define pZ2 1.525 // metal pillar, half height (z)
|
||||
|
||||
// Cinder
|
||||
#define cX1 mX1 // cinder wall full, width (x)
|
||||
#define cX2 2.64 // cinder wall full, half width
|
||||
#define cZ2 1.685 // cinder wall full, half height
|
||||
#define cH2 0.75 // cinder wall half, half height
|
||||
#define gUP 5.055 // cinder gate frame, upper left/right (3/4 z)
|
||||
|
||||
/*
|
||||
// Metal (derived)
|
||||
#define mX2 mX1 / 2 // metal floor, half width
|
||||
#define mX4 mX1 / 4 // metal floor, quarter width
|
||||
#define mZ2 mZ1 / 2 // metal floor, half height
|
||||
#define pZ2 pZ1 / 2 // metal pillar, half height (z)
|
||||
|
||||
// Cinder (derived)
|
||||
#define cX1 mX1 // cinder wall full, width (x)
|
||||
#define cX2 cX1 / 2 // cinder wall full, half width
|
||||
#define cZ2 cZ1 / 2 // cinder wall full, half height
|
||||
#define cH2 cH1 / 2 // cinder wall half, half height
|
||||
#define gUP cZ2 * 3 // cinder gate frame, upper left/right (3/4 z)
|
||||
*/
|
||||
|
||||
class Helpers;
|
||||
class HelperVectors: Helpers {
|
||||
|
||||
class vector {
|
||||
size = 3;
|
||||
radius = 8;
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Metal Objects
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class MetalFloor_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, mZ2 }, // Pivot
|
||||
{ 0, -mX2, mZ2 }, // Back
|
||||
{ 0, mX2, mZ2 }, // Front
|
||||
{ -mX2, 0, mZ2 }, // Left
|
||||
{ mX2, 0, mZ2 } // Right
|
||||
};
|
||||
};
|
||||
class Land_wreck_metal_floor: vector {
|
||||
points[] = {
|
||||
{ 0, -mX2, mZ2 }, // Back
|
||||
{ 0, mX2, mZ2 }, // Front
|
||||
{ -mX2, 0, mZ2 }, // Left
|
||||
{ mX2, 0, mZ2 } // Right
|
||||
};
|
||||
};
|
||||
class MetalFloor_Half_DZ: vector {
|
||||
points[] = {
|
||||
// { 0, 0, mZ2 }, // Pivot (removed)
|
||||
{ 0, -mX2, mZ2 }, // Back
|
||||
{ 0, mX2, mZ2 }, // Front
|
||||
{ -mX4, 0, mZ2 }, // Left
|
||||
{ mX4, 0, mZ2 } // Right
|
||||
};
|
||||
};
|
||||
class MetalFloor_Quarter_DZ: vector {
|
||||
points[] = {
|
||||
// { 0, 0, mZ2 }, // Pivot (removed)
|
||||
{ 0, -mX4, mZ2 }, // Back
|
||||
{ 0, mX4, mZ2 }, // Front
|
||||
{ -mX4, 0, mZ2 }, // Left
|
||||
{ mX4, 0, mZ2 } // Right
|
||||
};
|
||||
radius = 4;
|
||||
};
|
||||
class MetalFloor4x_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, mZ2 }, // Pivot
|
||||
{ 0, -mX1, mZ2 }, // Back
|
||||
{ 0, mX1, mZ2 }, // Front
|
||||
{ -mX1, 0, mZ2 }, // Left
|
||||
{ mX1, 0, mZ2 } // Right
|
||||
};
|
||||
radius = 15;
|
||||
};
|
||||
class Land_metal_floor_2x2_wreck: MetalFloor4x_DZ {};
|
||||
|
||||
class MetalPillar_DZ: vector {
|
||||
points[] = {
|
||||
{0, 0, 0 }, // Pivot
|
||||
{0, 0, pZ1 }, // Top
|
||||
{0, 0, pZ2 } // Center (replaces L/R)
|
||||
};
|
||||
radius = 4;
|
||||
};
|
||||
class Metal_Drawbridge_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0 }, // Bottom
|
||||
{ -2.40, 0, 3 }, // Left (adjusted)
|
||||
{ 2.46, 0, 3 }, // Right (adjusted)
|
||||
{ 0, 0, 6.05 }, // Top
|
||||
{ 0, 0, 3 } // center (added)
|
||||
};
|
||||
};
|
||||
class Metal_DrawbridgeLocked_DZ: Metal_Drawbridge_DZ {};
|
||||
|
||||
class Door_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0 }, // Pivot
|
||||
{ -1, 0, 1.34 }, // Left
|
||||
{ 1, 0, 1.34 }, // Right
|
||||
{ 0, 0, 2.67 } // Top
|
||||
};
|
||||
radius = 4;
|
||||
};
|
||||
class DoorFrame_DZ: Door_DZ {};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Glass Objects
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class GlassFloor_DZ: MetalFloor_DZ {};
|
||||
class GlassFloor_Half_DZ: MetalFloor_Half_DZ {};
|
||||
class GlassFloor_Quarter_DZ: MetalFloor_Quarter_DZ {};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Cinder Objects
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class CinderWallHalf_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0 }, // Bottom
|
||||
{ -cX2, 0, cH2 }, // Left (replacement)
|
||||
{ cX2, 0, cH2 }, // Right (replacement)
|
||||
{ 0, 0, cH1 } // Top
|
||||
};
|
||||
};
|
||||
class CinderWallHalf_Gap_DZ: CinderWallHalf_DZ {};
|
||||
|
||||
class Land_wreck_cinder: vector {
|
||||
points[] = {
|
||||
{ -1.64, 0, 0.25 }, // Left (replacement)
|
||||
{ 1.64, 0, 0.25 } // Right (replacement)
|
||||
};
|
||||
};
|
||||
class CinderWall_DZ {
|
||||
points[] = {
|
||||
{ 0, 0, 0 }, // Bottom
|
||||
{ -cX2, 0, cZ2 }, // Left
|
||||
{ cX2, 0, cZ2 }, // Right
|
||||
{ 0, 0, cZ1 }, // Top
|
||||
{ 0, 0, cZ2 } // Center (added)
|
||||
};
|
||||
};
|
||||
class CinderWallDoorSmall_DZ: CinderWall_DZ {};
|
||||
class CinderWallDoorSmallLocked_DZ: CinderWall_DZ {};
|
||||
class CinderWallWindow_DZ: CinderWall_DZ {};
|
||||
class CinderWallWindowLocked_DZ: CinderWall_DZ {};
|
||||
class CinderDoorHatch_DZ: CinderWall_DZ {};
|
||||
class CinderDoorHatchLocked_DZ: CinderWall_DZ {};
|
||||
class CinderWallDoor_DZ: CinderWall_DZ {}; // garage door
|
||||
class CinderWallDoorLocked_DZ: CinderWall_DZ {}; // garage door
|
||||
class CinderGarageOpenTop_DZ: CinderWall_DZ {};
|
||||
class CinderGarageOpenTopLocked_DZ: CinderWall_DZ {};
|
||||
|
||||
class CinderGateFrame_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0 }, // Bottom
|
||||
{ -mX2, 0, cZ2 }, // Lower Left
|
||||
{ mX2, 0, cZ2 }, // Lower Right
|
||||
{ -mX2, 0, gUP }, // Upper Left (added)
|
||||
{ mX2, 0, gUP }, // Upper Right (added)
|
||||
{ 0, 0, gZ1 } // Top
|
||||
};
|
||||
radius = 10;
|
||||
};
|
||||
class CinderGate_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0 }, // Bottom
|
||||
{ -mX2, 0, cZ2 }, // Lower Left
|
||||
{ mX2, 0, cZ2 }, // Lower Right
|
||||
{ -mX2, 0, gUP }, // Upper Left (added)
|
||||
{ mX2, 0, gUP }, // Upper Right (added)
|
||||
{ 0, 0, gZ1 }, // Top
|
||||
{ 0, 0, cZ1 } // Center (added)
|
||||
};
|
||||
radius = 10;
|
||||
};
|
||||
class CinderGateLocked_DZ: CinderGate_DZ {};
|
||||
|
||||
class Concrete_Bunker_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 2.1, 2.8 }, // Front (added)
|
||||
{ 0, -2.1, 2.8 }, // Back (adjusted)
|
||||
{ -2.34, 0, 2.8 }, // Left (adjusted)
|
||||
{ 2.34, 0, 2.8 }, // Right (adjusted)
|
||||
{ 0, 0, 3.4 } // Top
|
||||
};
|
||||
radius = 7;
|
||||
};
|
||||
class Concrete_Bunker_Locked_DZ: Concrete_Bunker_DZ {};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Wood Objects
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class WoodFloor4x_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0.130 }, // Pivot (adjusted)
|
||||
{ 0, -4.64, 0.130 }, // Back
|
||||
{ 0, 4.64, 0.130 }, // Front
|
||||
{ -4.96, 0, 0.130 }, // Left
|
||||
{ 4.95, 0, 0.130 } // Right
|
||||
};
|
||||
radius = 15;
|
||||
};
|
||||
class Land_wood_floor_2x2_wreck: WoodFloor4x_DZ {};
|
||||
|
||||
class WoodFloor_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0.130 }, // Pivot (adjusted)
|
||||
{ 0, -2.32, 0.130 }, // Back
|
||||
{ 0, 2.32, 0.130 }, // Front
|
||||
{ -2.494, 0, 0.130 }, // Left
|
||||
{ 2.450, 0, 0.130 } // Right
|
||||
};
|
||||
radius = 8;
|
||||
};
|
||||
class Land_wood_wreck_floor: vector {
|
||||
points[] = {
|
||||
{ 0, -2.32, 0.130 }, // Back
|
||||
{ 0, 2.32, 0.130 }, // Front
|
||||
{ -2.494, 0, 0.130 }, // Left
|
||||
{ 2.450, 0, 0.130 } // Right
|
||||
};
|
||||
radius = 8;
|
||||
};
|
||||
class WoodFloorStairs_DZ: vector {
|
||||
points[] = {
|
||||
{ -2.3, 1.4, 0.3 }, // Pivot/bottom step (adjusted)
|
||||
{ 0, -2.32, 3.114 }, // Back
|
||||
{ 0, 2.32, 3.114 }, // Front
|
||||
{ -2.52, 0, 3.114 }, // Left
|
||||
{ 2.46, 0, 3.114 } // Right
|
||||
};
|
||||
radius = 8;
|
||||
};
|
||||
class WoodFloorHalf_DZ: vector {
|
||||
points[] = {
|
||||
// { 0, 0, 0 }, // Pivot (removed)
|
||||
{ 0, -2.33, 0.107 }, // Back
|
||||
{ 0, 2.33, 0.107 }, // Front
|
||||
{ -1.18, 0, 0.107 }, // Left
|
||||
{ 1.32, 0, 0.107 } // Right
|
||||
};
|
||||
};
|
||||
class Land_wood_wreck_half: WoodFloorHalf_DZ {};
|
||||
|
||||
class WoodFloorQuarter_DZ: vector {
|
||||
points[] = {
|
||||
// { 0, 0, 0 }, // Pivot (removed)
|
||||
{ 0, -1.2, 0.107 }, // Back
|
||||
{ 0, 1.11, 0.107 }, // Front
|
||||
{ -1.2, 0, 0.107 }, // Left
|
||||
{ 1.3, 0, 0.107 } // Right
|
||||
};
|
||||
radius = 4;
|
||||
};
|
||||
class Land_wood_wreck_quarter: WoodFloorQuarter_DZ {};
|
||||
|
||||
class WoodTriangleFloor_DZ: vector {
|
||||
points[] = {
|
||||
// { 0, 0, 0 }, // Pivot (removed)
|
||||
{ 0, -1.3, 0.092 }, // Back
|
||||
{ 0, 1.3, 0.092 }, // Front
|
||||
{ -1.258, 0.027, 0.092 }, // Left
|
||||
{ 1.258, 0.027, 0.092 } // Right
|
||||
};
|
||||
radius = 4;
|
||||
};
|
||||
class WoodSmallWallThird_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0 }, // Pivot
|
||||
{ -2.445, 0, 0.585 }, // Left (lowered)
|
||||
{ 2.445, 0, 0.585 }, // Right (lowered)
|
||||
{ 0, 0, 1.17 } // Top
|
||||
};
|
||||
};
|
||||
class Land_wood_wreck_third: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0 }, // Pivot (bottom)
|
||||
{ -2.445, 0, 0.585 }, // Left (lowered)
|
||||
{ 2.445, 0, 0.585 } // Right (lowered)
|
||||
};
|
||||
};
|
||||
|
||||
// class WoodTriangleWall_DZ: vector {
|
||||
|
||||
// Small wood walls
|
||||
// class WoodSmallWallDoor_DZ: vector { // doorway
|
||||
// class WoodSmallWallWin_DZ: vector { // window
|
||||
|
||||
class WoodSmallWall_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0 }, // Pivot (bottom)
|
||||
{ -2.285, 0, 1.5 }, // Left
|
||||
{ 2.285, 0, 1.5 }, // Right
|
||||
{ 0, 0, 3 }, // Top
|
||||
{ 0, 0, 1.5 } // Center (added)
|
||||
};
|
||||
};
|
||||
class Land_DZE_WoodDoor: WoodSmallWall_DZ {};
|
||||
class Land_DZE_WoodDoorLocked: WoodSmallWall_DZ {};
|
||||
class Land_DZE_WoodOpenTopGarageDoor: WoodSmallWall_DZ {};
|
||||
class Land_DZE_WoodOpenTopGarageLocked: WoodSmallWall_DZ {};
|
||||
|
||||
class Land_wood_wreck_frame: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0 }, // Pivot (bottom)
|
||||
{ -2.285, 0, 1.5 }, // Left
|
||||
{ 2.285, 0, 1.5 }, // Right
|
||||
{ 0, 0, 3 } // Top
|
||||
};
|
||||
};
|
||||
|
||||
// Large wood walls
|
||||
// class WoodLargeWallDoor_DZ // doorway
|
||||
// class WoodLargeWallWin_DZ: vector { // window
|
||||
|
||||
class WoodLargeWall_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0 }, // Pivot
|
||||
{ -2.45, 0, 1.5 }, // Left
|
||||
{ 2.45, 0, 1.5 }, // Right
|
||||
{ 0, 0, 3 }, // Top
|
||||
{ 0, 0, 1.5 } // Center (added)
|
||||
};
|
||||
};
|
||||
class Land_DZE_LargeWoodDoor: WoodLargeWall_DZ {};
|
||||
class Land_DZE_LargeWoodDoorLocked: WoodLargeWall_DZ {};
|
||||
class Land_DZE_GarageWoodDoor: WoodLargeWall_DZ {};
|
||||
class Land_DZE_GarageWoodDoorLocked: WoodLargeWall_DZ {};
|
||||
|
||||
class WoodGateFrame_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0 }, // Bottom
|
||||
{ -2.43, 0, 1.5 }, // Lower Left
|
||||
{ 2.45, 0, 1.5 }, // Lower Right
|
||||
{ -2.43, 0, 4.5 }, // Upper Left (added)
|
||||
{ 2.45, 0, 4.5 }, // Upper Right (added)
|
||||
{ 0, 0, 6.05 } // Top
|
||||
};
|
||||
radius = 9;
|
||||
};
|
||||
class Land_DZE_WoodGate: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0 }, // Bottom
|
||||
{ -2.43, 0, 1.5 }, // Lower Left
|
||||
{ 2.45, 0, 1.5 }, // Lower Right
|
||||
{ -2.43, 0, 4.5 }, // Upper Left (added)
|
||||
{ 2.45, 0, 4.5 }, // Upper Right (added)
|
||||
{ 0, 0, 6.05 }, // Top
|
||||
{ 0, 0, 3 } // Center (added)
|
||||
};
|
||||
radius = 9;
|
||||
};
|
||||
class Land_DZE_WoodGateLocked: Land_DZE_WoodGate {};
|
||||
|
||||
class WoodRamp_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0 }, // Pivot
|
||||
{ -1.5, 3.14, 1.2 }, // Left
|
||||
{ 1.7, 3.14, 1.2 }, // Right
|
||||
{ 0.115, 5.78, 2.82 } // Top
|
||||
};
|
||||
radius = 15;
|
||||
};
|
||||
class WoodStairs_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0 }, // Pivot (Bottom Step)
|
||||
{ 0, 3.65, 3 }, // Front (Top Step)
|
||||
// { 0, 1.8, 0 }, // Bottom (removed)
|
||||
{ -0.81, 1.8, 1.5 }, // Left
|
||||
{ 0.78, 1.8, 1.5 } // Right
|
||||
};
|
||||
radius = 5;
|
||||
};
|
||||
class WoodStairsSans_DZ: WoodStairs_DZ {};
|
||||
class WoodStairsRails_DZ: WoodStairs_DZ {};
|
||||
|
||||
class WoodLadder_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0 }, // Pivot
|
||||
{ -0.4, 0, 1.725 }, // Left
|
||||
{ 0.4, 0, 1.725 }, // Right
|
||||
{ 0, 0, 3.45 } // Top (added)
|
||||
};
|
||||
size = 2;
|
||||
radius = 4;
|
||||
};
|
||||
class WoodHandrail_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0}, // Pivot
|
||||
{ -1.16, 0, 0.5}, // Left
|
||||
{ 1.2, 0, 0.5}, // Right
|
||||
{ 0, 0, 1 } // Top
|
||||
};
|
||||
size = 2;
|
||||
radius = 3;
|
||||
};
|
||||
|
||||
class WoodPillar_DZ: MetalPillar_DZ {};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Storage
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class GunRack_DZ: vector {
|
||||
points[] = {
|
||||
{ -0, -0.1, -0.2 } // Center
|
||||
};
|
||||
size = 2;
|
||||
radius = 2;
|
||||
};
|
||||
class GunRack2_DZ: GunRack_DZ {};
|
||||
|
||||
class WoodCrate_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, -0.47 }, // Bottom
|
||||
{ 0, -0.47, 0 }, // Back
|
||||
{ 0, 0.47, 0 }, // Front
|
||||
{ -0.47, 0, 0 }, // Left
|
||||
{ 0.47, 0, 0 }, // Right
|
||||
{ 0, 0, 0.47 } // Top
|
||||
};
|
||||
size = 2;
|
||||
radius = 2;
|
||||
};
|
||||
class WoodCrate2_DZ: WoodCrate_DZ {};
|
||||
|
||||
class StorageCrate_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0.08 } // Top
|
||||
};
|
||||
size = 2;
|
||||
radius = 2;
|
||||
};
|
||||
class CamoStorageCrate_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0.45 } // Top
|
||||
};
|
||||
size = 2;
|
||||
radius = 2;
|
||||
};
|
||||
class OutHouse_DZ: vector {
|
||||
points[] = {
|
||||
{ -0.59, 0, 0 }, // Left
|
||||
{ 0.59, 0, 0 }, // Right
|
||||
{ 0, 0.75, 0 }, // Front
|
||||
{ 0, -0.55, 0 } // Back
|
||||
};
|
||||
size = 2;
|
||||
radius = 2;
|
||||
};
|
||||
class StorageShed_DZ: vector {
|
||||
points[] = {
|
||||
{ -1.9, 0, 1.5 }, // Left
|
||||
{ 1.47, 0, 1.5 }, // Right
|
||||
{ 0, 0, 2.8 }, // Top
|
||||
{ 0, 1.1, 1.5 }, // Front
|
||||
{ 0, -1.25, 1.5 } // Back
|
||||
};
|
||||
radius = 5;
|
||||
};
|
||||
class StorageShed2_DZ: StorageShed_DZ {};
|
||||
|
||||
class Wooden_shed_DZ: vector {
|
||||
points[] = {
|
||||
{ 0.6, -1.5, 0 }, // Back
|
||||
{ 0.6, 1.5, 0 }, // Front
|
||||
{ 3, 0, 0 }, // Right
|
||||
{ 0.6, 0, 1.5 }, // Top
|
||||
{ -1.6, 0, 0 } // Left (cull on open door)
|
||||
};
|
||||
radius = 7;
|
||||
};
|
||||
class Wooden_shed2_DZ: Wooden_shed_DZ {};
|
||||
|
||||
class WoodShack_DZ: vector{
|
||||
points[] = {
|
||||
{ 0, 2.4, 0 }, // Front
|
||||
{ -1.18, 0.6, 0 }, // Left
|
||||
{ 1.18, 0.6, 0 }, // Right
|
||||
{ 0, -1.1, 1.1 } // Top
|
||||
};
|
||||
};
|
||||
class WoodShack2_DZ: WoodShack_DZ {};
|
||||
|
||||
class StashSmall: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0.3 } // Top
|
||||
};
|
||||
size = 2;
|
||||
};
|
||||
class StashSmall1: StashSmall {};
|
||||
class StashSmall2: StashSmall {};
|
||||
class StashSmall3: StashSmall {};
|
||||
class StashSmall4: StashSmall {};
|
||||
|
||||
class StashMedium: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0.8 } // Top
|
||||
};
|
||||
size = 2;
|
||||
};
|
||||
class StashMedium1: StashMedium {};
|
||||
class StashMedium2: StashMedium {};
|
||||
class StashMedium3: StashMedium {};
|
||||
class StashMedium4: StashMedium {};
|
||||
|
||||
class TentStorage: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0.55 } // Top
|
||||
};
|
||||
size = 2;
|
||||
radius = 5;
|
||||
};
|
||||
class TentStorage0: TentStorage {};
|
||||
class TentStorage1: TentStorage {};
|
||||
class TentStorage2: TentStorage {};
|
||||
class TentStorage3: TentStorage {};
|
||||
class TentStorage4: TentStorage {};
|
||||
class TentStorageWinter: TentStorage {};
|
||||
class TentStorageWinter0: TentStorage {};
|
||||
class TentStorageWinter1: TentStorage {};
|
||||
class TentStorageWinter2: TentStorage {};
|
||||
class TentStorageWinter3: TentStorage {};
|
||||
class TentStorageWinter4: TentStorage {};
|
||||
class IC_Tent: TentStorage {};
|
||||
|
||||
class DomeTentStorage: vector {
|
||||
points[] = {
|
||||
{ 0.25, 0, 0.7 } // Top
|
||||
};
|
||||
size = 2;
|
||||
radius = 5;
|
||||
};
|
||||
class DomeTentStorage0: DomeTentStorage {};
|
||||
class DomeTentStorage1: DomeTentStorage {};
|
||||
class DomeTentStorage2: DomeTentStorage {};
|
||||
class DomeTentStorage3: DomeTentStorage {};
|
||||
class DomeTentStorage4: DomeTentStorage {};
|
||||
class DesertTentStorage: DomeTentStorage {};
|
||||
class DesertTentStorage0: DomeTentStorage {};
|
||||
class DesertTentStorage1: DomeTentStorage {};
|
||||
class DesertTentStorage2: DomeTentStorage {};
|
||||
class DesertTentStorage3: DomeTentStorage {};
|
||||
class DesertTentStorage4: DomeTentStorage {};
|
||||
class WinterDomeTentStorage: DomeTentStorage {};
|
||||
class WinterDomeTentStorage0: DomeTentStorage {};
|
||||
class WinterDomeTentStorage1: DomeTentStorage {};
|
||||
class WinterDomeTentStorage2: DomeTentStorage {};
|
||||
class WinterDomeTentStorage3: DomeTentStorage {};
|
||||
class WinterDomeTentStorage4: DomeTentStorage {};
|
||||
class IC_DomeTent: DomeTentStorage {};
|
||||
|
||||
class LockboxStorage: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0.25 } // Top
|
||||
};
|
||||
size = 2;
|
||||
};
|
||||
class LockboxStorageLocked: LockboxStorage {};
|
||||
class LockboxStorage2: LockboxStorage {};
|
||||
class LockboxStorage2Locked: LockboxStorage {};
|
||||
class LockboxStorageWinter: LockboxStorage {};
|
||||
class LockboxStorageWinterLocked: LockboxStorage {};
|
||||
class LockboxStorageWinter2: LockboxStorage {};
|
||||
class LockboxStorageWinter2Locked: LockboxStorage {};
|
||||
|
||||
class VaultStorage: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0 }, // Pivot
|
||||
{ 0, 0.284, 0.615 }, // Front
|
||||
{ 0, -0.284, 0.615 }, // Back (door center)
|
||||
{ 0, 0, 1.23 }, // Top
|
||||
{ -0.362, 0, 0.615 }, // Left
|
||||
{ 0.362, 0, 0.615 } // Right
|
||||
};
|
||||
size = 2;
|
||||
radius = 3;
|
||||
};
|
||||
class VaultStorageLocked: VaultStorage {};
|
||||
class VaultStorage2: VaultStorage {};
|
||||
class VaultStorage2Locked: VaultStorage {};
|
||||
class VaultStorageBroken: VaultStorage {};
|
||||
class VaultStorageBroken2: VaultStorage {};
|
||||
|
||||
class TallSafe: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0 }, // Pivot
|
||||
{ 0, 0.35, 1 }, // Front
|
||||
{ 0, -0.35, 1 }, // Back (door center)
|
||||
{ 0, 0, 2 }, // Top
|
||||
{ -0.42, 0, 1 }, // Left
|
||||
{ 0.42, 0, 1 } // Right
|
||||
};
|
||||
size = 2;
|
||||
radius = 3;
|
||||
};
|
||||
class TallSafeLocked: TallSafe {};
|
||||
class TallSafeBroken: TallSafe {};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Fortifications
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class Land_HBarrier1_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, -0.4, 0 }, // Back
|
||||
{ 0, 0.4, 0 }, // Front
|
||||
{ -0.25, 0, 0 }, // Left
|
||||
{ 0.25, 0, 0 }, // Right
|
||||
{ 0, 0, 0.4 } // Top
|
||||
};
|
||||
radius = 3;
|
||||
};
|
||||
class Land_HBarrier3_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, -0.4, 0 }, // Back
|
||||
{ 0, 0.4, 0 }, // Front
|
||||
{ -1.35, 0, 0 }, // Left
|
||||
{ 1.35, 0, 0 }, // Right
|
||||
{ 0, 0, 0.4 } // Top
|
||||
};
|
||||
radius = 5;
|
||||
};
|
||||
class Land_HBarrier5_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, -0.4, 0 }, // Back
|
||||
{ 0, 0.5, 0 }, // Front
|
||||
{ -2.5, 0, 0 }, // Left
|
||||
{ 2.5, 0, 0 }, // Right
|
||||
{ 0, 0, 0.5 } // Top
|
||||
};
|
||||
radius = 8;
|
||||
};
|
||||
class Sandbag1_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, -0.1 } // Pivot (center)
|
||||
// { -1.5, -0.1, -0.1 }, // Left
|
||||
// { 1.5, -0.1, -0.1 } // Right
|
||||
};
|
||||
radius = 4;
|
||||
};
|
||||
class BagFenceRound_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, -0.30, -0.1 } // Pivot (center)
|
||||
// { -1.295, 0.38, -0.1 }, // Left
|
||||
// { 1.295, 0.38, -0.1 } // Right
|
||||
};
|
||||
radius = 3;
|
||||
};
|
||||
class StickFence_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0.6 }, // Top
|
||||
{ -2.95, 0, 0 }, // Left
|
||||
{ 2.95, 0, 0 } // Right
|
||||
};
|
||||
size = 2;
|
||||
radius = 7;
|
||||
};
|
||||
class MetalGate_DZ: vector {
|
||||
points[] = {
|
||||
{ -4, 0, 0.3 }, // Left
|
||||
{ 0, 0, 0.3 } // Right
|
||||
};
|
||||
radius = 10;
|
||||
};
|
||||
class MetalPanel_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, -0.8 }, // Pivot
|
||||
{ -1.5, 0, 0.5 }, // Left
|
||||
{ 1.5, 0, 0.5 }, // Right
|
||||
{ 0, 0, 2 } // Top
|
||||
};
|
||||
radius = 5;
|
||||
};
|
||||
class Fence_corrugated_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 1.3 }, // Top
|
||||
{ 0, 0, -0.4 }, // Bottom
|
||||
{ -1.95, 0, 0.4 }, // Left
|
||||
{ 1.95, 0, 0.4 } // Right
|
||||
};
|
||||
};
|
||||
class WoodenFence_1_foundation_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0.5 }, // Pivot
|
||||
{ -2.535, 0, 0.5 }, // Left
|
||||
{ 2.535, 0, 0.5 } // Right
|
||||
};
|
||||
};
|
||||
class WoodenFence_1_frame_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0.95 }, // Top
|
||||
{ -2.535, 0, 0.95 }, // Left
|
||||
{ 2.535, 0, 0.95 } // Right
|
||||
};
|
||||
};
|
||||
class WoodenFence_quaterpanel_DZ: WoodenFence_1_frame_DZ {};
|
||||
class WoodenFence_halfpanel_DZ: WoodenFence_1_frame_DZ {};
|
||||
class WoodenFence_thirdpanel_DZ: WoodenFence_1_frame_DZ {};
|
||||
class WoodenFence_1_DZ: WoodenFence_1_frame_DZ {};
|
||||
|
||||
class WoodenFence_2_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0.5 }, // Pivot
|
||||
{ -2.535, 0, 1.6 }, // Left
|
||||
{ 2.535, 0, 1.6 }, // Right
|
||||
{ 0, 0, 2.68 } // Top
|
||||
};
|
||||
};
|
||||
class WoodenFence_3_DZ: WoodenFence_2_DZ {};
|
||||
|
||||
class WoodenFence_4_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0.5 }, // Pivot
|
||||
{ -2.535, 0, 2 }, // Left
|
||||
{ 2.535, 0, 2 }, // Right
|
||||
{ 0, 0, 3.58 } // Top
|
||||
};
|
||||
};
|
||||
class WoodenFence_5_DZ: WoodenFence_4_DZ {};
|
||||
class WoodenFence_6_DZ: WoodenFence_4_DZ {};
|
||||
class WoodenFence_7_DZ: WoodenFence_4_DZ {};
|
||||
|
||||
class MetalFence_1_foundation_DZ: WoodenFence_1_foundation_DZ {};
|
||||
|
||||
class MetalFence_1_frame_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 1.4 }, // Top
|
||||
{ -2.535, 0, 1.4 }, // Left
|
||||
{ 2.535, 0, 1.4 } // Right
|
||||
};
|
||||
};
|
||||
class MetalFence_halfpanel_DZ: MetalFence_1_frame_DZ {};
|
||||
class MetalFence_thirdpanel_DZ: MetalFence_1_frame_DZ {};
|
||||
class MetalFence_1_DZ: MetalFence_1_frame_DZ {};
|
||||
|
||||
class MetalFence_2_DZ: WoodenFence_2_DZ {};
|
||||
class MetalFence_3_DZ: WoodenFence_2_DZ {};
|
||||
class MetalFence_4_DZ: WoodenFence_4_DZ {};
|
||||
class MetalFence_5_DZ: WoodenFence_4_DZ {};
|
||||
class MetalFence_6_DZ: WoodenFence_4_DZ {};
|
||||
class MetalFence_7_DZ: WoodenFence_4_DZ {};
|
||||
|
||||
class WoodenGate_foundation_DZ: vector {
|
||||
points[] = {
|
||||
// { 0, 0, 0.95 }, // Top
|
||||
{ -2.535, 0, 0.95 }, // Left
|
||||
{ 2.535, 0, 0.95 } // Right
|
||||
};
|
||||
};
|
||||
class WoodenGate_1_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0 }, // Pivot
|
||||
{ -2.535, 0, 0.95 }, // Left
|
||||
{ 2.535, 0, 0.95 }, // Right
|
||||
{ 0, 0, 2 } // Top
|
||||
};
|
||||
};
|
||||
|
||||
class WoodenGate_2_DZ: WoodenFence_2_DZ {};
|
||||
class WoodenGate_3_DZ: WoodenFence_2_DZ {};
|
||||
|
||||
class WoodenGate_4_DZ: vector {
|
||||
points[] = {
|
||||
{ 0, 0, 0 }, // Pivot
|
||||
{ -2.535, 0, 1.9 }, // Left
|
||||
{ 2.535, 0, 1.9 }, // Right
|
||||
{ 0, 0, 3.58 } // Top
|
||||
};
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user