Files
DayZ-Epoch/SQF/dayz_code/Configs/CfgVehicles/Boat/Submarine.hpp
A Man 4ba6fa326a Set missing side and faction for vehicles
This sets the missing side and faction to every vehicle. Thx to iben for explaining. Also set every epoch vehicle to side west and faction USMC to avoid AI problems. As far as Ive tested there are no problems with these settings. This needs some more testing with AI helicopters. Non militarized servers are not affected by this change at all.
2021-06-26 11:25:17 +02:00

240 lines
6.6 KiB
C++

class ship;
class Submarine: ship
{
scope = 0;
class HitPoints;
class ViewPilot;
};
class Submarine_DZE_base: Submarine {
side = 1;
faction = "USMC";
displayName = "Submarine";
model = "\z\addons\dayz_epoch_v\vehicles\sub\epoch_sub_01.p3d";
picture = "\ca\water\data\ico\pbx_CA.paa";
Icon = "\Ca\water\Data\map_ico\icomap_rubber_CA.paa";
mapSize = 6;
vehicleClass = "DayZ Epoch Vehicles";
maxSpeed = 60;
brakeDistance = 20;
armor = 40;
damageResistance = 0.00318;
crewVulnerable = 1;
castDriverShadow = 0;
castCargoShadow = 0;
supplyRadius = 5;
fuelCapacity = 150;
hasGunner = 0;
enableManualFire = 0;
weapons[] = {};
magazines[] = {};
precision = 10;
enableGPS = 0;
memoryPointsGetInDriver = "pos driver";
memoryPointsGetInDriverDir = "pos driver dir";
memoryPointsGetInCargo = "pos cargo";
memoryPointsGetInCargoDir = "pos cargo dir";
//need to remove the spray, submarine is not a speedboat
leftWaterEffect = "subspray";
rightWaterEffect = "subspray";
leftEngineEffect = "subspray";
rightEngineEffect = "subspray";
destrType = DestructWreck;
class DestructionEffects;
//based on fishing boat
transportMaxMagazines = 500;
transportMaxWeapons = 50;
transportMaxBackpacks = 10;
// unitInfoType = UnitInfoCar; //By default no hud information
//crew
getInAction = GetInLow;
getOutAction = GetOutLow;
transportSoldier = 2;
typicalCargo[] = {RU_Soldier,RU_Soldier_AR,RU_Soldier_AR};
driverAction = PBX_Driver;
cargoAction[] = {Truck_Cargo04,Truck_Cargo01,Truck_Cargo01};
cargoGetInAction[] = {"GetInLow"};
cargoGetOutAction[] = {"GetOutLow"};
extCameraPosition[] = {0,4.0,-14.0};
//ensure no turrets active
class turrets{};
//anim sources
class AnimationSources
{
class dive
{
AnimPeriod = 12;
source = "user";
InitPhase = 0;
};
class peri_trans
{
AnimPeriod = 3;
source = "user";
InitPhase = 0;
};
class IndicatorSonar
{
AnimPeriod = 1;
source = "user";
InitPhase = 0;
};
};
//in vehicle actions
class UserActions
{
class dive
{
displayName = "Dive";
displayNameDefault = "";
onlyforplayer = true;
position = "zamerny";
radius = 1;
priority = 99;
condition = "(player == (driver this)) && {(surfaceIsWater position this) && {(((getPosATL this) select 2) > 10) && (this animationphase ""dive"" <= 0.5)}}";
statement = "this animate [""dive"", 1]";
};
class surface : dive
{
displayName = "Surface";
condition = "(player == (driver this)) && {(this animationphase ""dive"" > 0.5)}";
statement = "this animate [""dive"", 0];";
};
};
//damage
class HitPoints: HitPoints
{
class HitBody
{
armor = 0.85;
material = -1;
name = "karoserie";
visual = "zbytek";
passThrough = 1;
};
class HitEngine
{
armor = 1.2;
material = 60;
name = "motor";
visual = "zbytek";
passThrough = 1;
};
class HitFuel
{
armor=0.3;
material = -1;
name="palivo";
visual=""; // no visible fuel tank destruction effects
passThrough =0.5;
};
};
class Damage
{
tex[] = {};
mat[] =
{
"z\addons\dayz_epoch_v\vehicles\sub\data\sub_01.rvmat",
"z\addons\dayz_epoch_v\vehicles\sub\data\sub_01_damage.rvmat",
"z\addons\dayz_epoch_v\vehicles\sub\data\sub_01_destruct.rvmat",
"z\addons\dayz_epoch_v\vehicles\sub\data\sub_02.rvmat",
"z\addons\dayz_epoch_v\vehicles\sub\data\sub_02_damage.rvmat",
"z\addons\dayz_epoch_v\vehicles\sub\data\sub_02_destruct.rvmat",
"z\addons\dayz_epoch_v\vehicles\sub\data\sub_03.rvmat",
"z\addons\dayz_epoch_v\vehicles\sub\data\sub_03_damage.rvmat",
"z\addons\dayz_epoch_v\vehicles\sub\data\sub_03_destruct.rvmat",
"z\addons\dayz_epoch_v\vehicles\sub\data\sub_details.rvmat",
"z\addons\dayz_epoch_v\vehicles\sub\data\sub_details_damage.rvmat",
"z\addons\dayz_epoch_v\vehicles\sub\data\sub_details_destruct.rvmat",
"z\addons\dayz_epoch_v\vehicles\sub\data\sub_int.rvmat",
"z\addons\dayz_epoch_v\vehicles\sub\data\sub_int_damage.rvmat",
"z\addons\dayz_epoch_v\vehicles\sub\data\sub_int_destruct.rvmat",
"z\addons\dayz_epoch_v\vehicles\sub\data\sub_shell.rvmat",
"z\addons\dayz_epoch_v\vehicles\sub\data\sub_shell_damage.rvmat",
"z\addons\dayz_epoch_v\vehicles\sub\data\sub_shell_destruct.rvmat"
};
};
//sounds
insideSoundCoef = 1;
soundEngineOnInt[] = {"ca\sounds\vehicles\water\rhib\ext-boat-start-01", db-20, 1.0};
soundEngineOnExt[] = {"ca\sounds\vehicles\water\rhib\ext-boat-start-01", db0, 1.0, 150};
soundEngineOffInt[] = {"ca\sounds\vehicles\water\rhib\ext-boat-stop-01", db-20, 1.0};
soundEngineOffExt[] = {"ca\sounds\vehicles\water\rhib\ext-boat-stop-01", db0, 1.0, 150};
class Sounds
{
class Engine
{
sound[] = {"ca\sounds\vehicles\water\rhib\ext-boat-engine-low-01", db0, 0.9, 300};
frequency = "(randomizer*0.05+0.95)*rpm";
volume = "engineOn*(rpm factor[0.5, 0.1])";
};
class EngineHighOut
{
sound[] = {"ca\sounds\vehicles\water\rhib\ext-boat-engine-high-01", db0, 0.8, 300};
frequency = "(randomizer*0.05+0.95)*rpm";
volume = "engineOn*(rpm factor[0.4, 1.3])";
};
class IdleOut
{
sound[] = {"ca\sounds\vehicles\water\rhib\ext-boat-engine-idle-03", db-5, 1.0, 150};
frequency = "1";
volume = "engineOn*(rpm factor[0.3, 0])";
};
class WaternoiseOutW0
{
sound[] = {"ca\sounds\vehicles\water\water_sfx\ext-water-noise-nospeed", db-8, 1.0, 100};
frequency = "1";
volume = "(speed factor[7, 0])";
};
class WaternoiseOutW1
{
sound[] = {"ca\sounds\vehicles\water\water_sfx\ext-boat-lospd-noise-02", db-8, 1.0, 100};
frequency = "1";
volume = "((speed factor[2, 12]) min (speed factor[12, 2]))";
};
class WaternoiseOutW2
{
sound[] = {"ca\sounds\vehicles\water\water_sfx\ext-boat-hispd-noise-02", db-8, 1.0, 100};
frequency = "1";
volume = "(speed factor[9, 18.7])";
};
};
class ViewPilot: ViewPilot
{
initFov = 0.7;
minFov = 0.25;
maxFov = 1.4;
initAngleX = 0;
minAngleX = -65;
maxAngleX = 85; //Rg
initAngleY = 0;
minAngleY = -150;
maxAngleY = 150; //Rg
};
//searchlight
class Reflectors
{
class main_reflector
{
color[] = {0.8, 0.8, 0.9, 1.0};
ambient[] = {0.1, 0.1, 0.1, 1.0};
position = "light";
direction = "lightEnd";
hitpoint = "light";
selection = "light";
size = 1.0;
brightness = 5.0;
};
};
};
class Submarine_DZE: Submarine_DZE_base
{
scope = 2;
displayName = $STR_VEH_NAME_SUBMARINE;
transportMaxMagazines = 360;
transportMaxWeapons = 80;
transportMaxBackpacks = 20;
};