8enum CarHeadlightBulbsState
24enum CarEngineSoundState
43enum EVehicleDebugOutputType
47 DAMAGE_CONSIDERED = 2,
56 static ref CrashDebugData m_CrashDataPoint;
72 Print(
"Vehicle; DamageType; Damage; Zone; Momentum; Momentum Prev; Momentum Delta; Speedometer; SpeedWorld; SpeedWorld Prev; SpeedWorld Delta; Velocity; Velocity Prev; Velocity Dot; TimeStamp (ms); CrewDamageBase; ShockTemp; DMGHealth; DMGShock");
73 foreach (CrashDebugData data:dataArray)
79 static void DumpData(CrashDebugData data)
81 string output = data.m_VehicleType+
";"+data.m_DamageType+
";"+data.m_Damage+
";"+data.m_Zone+
";"+data.m_MomentumCurr+
";"+data.m_MomentumPrev+
";"+data.m_MomentumDelta+
";"+data.m_Speedometer;
82 output +=
";"+data.m_SpeedWorld+
";"+data.m_SpeedWorldPrev+
";"+data.m_SpeedWorldDelta+
";"+data.m_VelocityCur;
83 output +=
";"+data.m_VelocityPrev+
";"+data.m_VelocityDot+
";"+data.m_Time+
";"+data.m_CrewDamageBase+
";"+data.m_ShockTemp+
";"+data.m_DMGHealth+
";"+data.m_DMGShock;
93 float m_MomentumDelta;
96 float m_SpeedWorldPrev;
97 float m_SpeedWorldDelta;
102 float m_CrewDamageBase;
115 void CarContactData(
vector _localPos,
IEntity _other,
float _impulse)
117 localPos = _localPos;
134 #ifdef DIAG_DEVELOPER
135 static EVehicleDebugOutputType DEBUG_OUTPUT_TYPE;
136 bool m_ContactCalled;
275 private const int DEBUG_MESSAGE_CLEAN_TIME_SECONDS = 10;
276 private float m_DebugMessageCleanTime;
277 private string m_DebugContactDamageMessage;
309 RegisterNetSyncVariableBool(
"m_HeadlightsOn");
310 RegisterNetSyncVariableBool(
"m_BrakesArePressed");
311 RegisterNetSyncVariableBool(
"m_ForceUpdateLights");
312 RegisterNetSyncVariableBool(
"m_EngineZoneReceivedHit");
313 RegisterNetSyncVariableBoolSignal(
"m_PlayCrashSoundLight");
314 RegisterNetSyncVariableBoolSignal(
"m_PlayCrashSoundHeavy");
315 RegisterNetSyncVariableInt(
"m_CarHornState", ECarHornState.OFF, ECarHornState.LONG);
317 if ( MemoryPointExists(
"ptcExhaust_end") )
320 if ( MemoryPointExists(
"ptcExhaust_start") )
322 vector exhaustStart = GetMemoryPointPos(
"ptcExhaust_start");
338 if ( MemoryPointExists(
"ptcEnginePos") )
343 if ( MemoryPointExists(
"ptcCoolantPos") )
348 if ( MemoryPointExists(
"refill") )
353 if ( MemoryPointExists(
"drown_engine") )
358 if ( MemoryPointExists(
"dmgZone_engine") )
363 if ( MemoryPointExists(
"dmgZone_front") )
364 m_frontPos = GetMemoryPointPos(
"dmgZone_front");
368 if ( MemoryPointExists(
"dmgZone_back") )
369 m_backPos = GetMemoryPointPos(
"dmgZone_back");
373 if ( MemoryPointExists(
"dmgZone_fender_1_1") )
378 if ( MemoryPointExists(
"dmgZone_fender_1_2") )
383 if ( MemoryPointExists(
"dmgZone_fender_2_1") )
388 if ( MemoryPointExists(
"dmgZone_fender_2_2") )
409 #ifdef DIAG_DEVELOPER
417 if (!
GetGame().IsMultiplayer())
485 super.EEHitBy(damageResult, damageType, source,
component, dmgZone, ammo, modelPos, speedCoef);
533 super.OnVariablesSynchronized();
561 super.EEItemAttached(item, slot_name);
565 case "Reflector_1_1":
568 SetHealth(
"Reflector_1_1",
"Health", item.GetHealth());
571 case "Reflector_2_1":
574 SetHealth(
"Reflector_2_1",
"Health", item.GetHealth());
613 EntityAI bulb_L = FindAttachmentBySlotName(
"Reflector_1_1");
614 EntityAI bulb_R = FindAttachmentBySlotName(
"Reflector_2_1");
616 if (bulb_L && !bulb_L.IsRuined() && bulb_R && !bulb_R.IsRuined())
620 else if (bulb_L && !bulb_L.IsRuined())
624 else if (bulb_R && !bulb_R.IsRuined())
628 else if ((!bulb_L || bulb_L.IsRuined()) && (!bulb_R || bulb_R.IsRuined()))
657 if (
GetGame().IsServer() && EngineIsOn())
668 if (m_DamageZoneMap.Contains(
"Radiator"))
670 SetHealth(
"Radiator",
"Health", 0);
687 super.OnAttachmentRuined(attachment);
695 if (!super.CanReceiveAttachment(attachment, slotId))
699 attachment.GetInventory().GetCurrentInventoryLocation(attachmentInventoryLocation);
700 if (attachmentInventoryLocation.
GetParent() == null)
705 if (attachment && attachment.Type().IsInherited(
CarWheel))
707 string slotSelectionName;
710 switch (slotSelectionName)
712 case "wheel_spare_1":
713 case "wheel_spare_2":
724 if (!super.CanReleaseAttachment(attachment))
734 if (attachment && attachment.Type().IsInherited(
CarWheel))
737 attachment.GetInventory().GetCurrentInventoryLocation(attachmentInventoryLocation);
739 string slotSelectionName;
742 switch (slotSelectionName)
744 case "wheel_spare_1":
745 case "wheel_spare_2":
765 #ifdef DIAG_DEVELOPER
766 if (DEBUG_OUTPUT_TYPE & EVehicleDebugOutputType.CONTACT)
771 Debug.
Log(
"--------------------------------------------------------------------");
772 m_ContactCalled =
false;
782 m_DebugMessageCleanTime += timeSlice;
783 if (m_DebugMessageCleanTime >= DEBUG_MESSAGE_CLEAN_TIME_SECONDS)
785 m_DebugMessageCleanTime = 0;
786 m_DebugContactDamageMessage =
"";
798 if (
GetGame().IsServer() && EngineIsOn())
827 if ( EngineGetRPM() >= EngineGetRPMRedline() )
829 if (EngineGetRPM() > EngineGetRPMMax())
830 AddHealth(
"Engine",
"Health", -GetMaxHealth(
"Engine",
"") * 0.05 );
862 if ( GetFluidFraction(
CarFluid.COOLANT ) < 0.5 && GetFluidFraction(
CarFluid.COOLANT ) >= 0 )
865 AddHealth(
"Engine",
"Health", -dmg );
872 if (!
GetGame().IsDedicatedServer())
891 if (GetFluidFraction(
CarFluid.COOLANT) > 0)
907 if ( !
GetGame().IsDedicatedServer() )
959 if ( battery.GetCompEM().GetEnergy() <= 0 )
984 float brake_coef = GetBrake();
985 if ( brake_coef > 0 )
1013 super.EEKilled(killer);
1022 #ifdef DIAG_DEVELOPER
1023 m_ContactCalled =
true;
1024 if (DEBUG_OUTPUT_TYPE & EVehicleDebugOutputType.CONTACT)
1026 string output =
"Zone: " + zoneName +
" | Impulse:" + data.
Impulse;
1041 ccd.Insert(
new CarContactData(localPos, other, momentumDelta));
1052 if (contactZonesCount == 0)
1056 for (
int i = 0; i < contactZonesCount; ++i)
1064 #ifdef DIAG_DEVELOPER
1065 CrashDebugData.m_CrashDataPoint =
new CrashDebugData();
1066 CrashDebugData.m_CrashDataPoint.m_VehicleType = GetDisplayName();
1067 CrashDebugData.m_CrashDataPoint.m_Damage = dmg;
1068 CrashDebugData.m_CrashDataPoint.m_Zone = zoneName;
1069 CrashDebugData.m_CrashDataPoint.m_MomentumCurr =
GetMomentum();
1071 CrashDebugData.m_CrashDataPoint.m_MomentumDelta = data[0].impulse;
1072 CrashDebugData.m_CrashDataPoint.m_SpeedWorld =
GetVelocity(
this).
Length() * 3.6;
1075 CrashDebugData.m_CrashDataPoint.m_VelocityCur =
GetVelocity(
this);
1082 if (DEBUG_OUTPUT_TYPE & EVehicleDebugOutputType.DAMAGE_CONSIDERED)
1084 Debug.
Log(
"--------------------------------------------------");
1085 Debug.
Log(
"Vehicle:" + GetDisplayName());
1087 Debug.
Log(
"zoneName : "+ zoneName);
1090 Debug.
Log(
"momentumDelta : "+ data[0].impulse);
1098 Debug.
Log(
"--------------------------------------------------");
1105 #ifdef DIAG_DEVELOPER
1106 CrashDebugData.m_CrashData.Insert(CrashDebugData.m_CrashDataPoint);
1107 CrashDebugData.m_CrashDataPoint.m_Speedometer = GetSpeedometer();
1112 #ifdef DIAG_DEVELOPER
1113 CrashDebugData.m_CrashDataPoint.m_DamageType =
"Small";
1114 if (DEBUG_OUTPUT_TYPE & EVehicleDebugOutputType.DAMAGE_APPLIED)
1122 #ifdef DIAG_DEVELOPER
1123 CrashDebugData.m_CrashDataPoint.m_DamageType =
"Big";
1124 if (DEBUG_OUTPUT_TYPE & EVehicleDebugOutputType.DAMAGE_APPLIED)
1133 m_DebugContactDamageMessage +=
string.
Format(
"%1: %2\n", zoneName, dmg);
1136 ProcessDirectDamage(DT_CUSTOM, null, zoneName,
"EnviroDmg",
"0 0 0", dmg, pddfFlags);
1149 for (
int c = 0; c < CrewSize(); ++c )
1151 Human crew = CrewMember( c );
1160 #ifdef DIAG_DEVELOPER
1161 CrashDebugData.m_CrashDataPoint.m_CrewDamageBase = dmg;
1162 CrashDebugData.m_CrashDataPoint.m_DMGHealth = -100;
1163 if (DEBUG_OUTPUT_TYPE & EVehicleDebugOutputType.DAMAGE_APPLIED)
1165 Debug.
Log(
"--------------------------------------------------");
1167 Debug.
Log(
"Crew DMG Base: " + dmg);
1168 Debug.
Log(
"--------------------------------------------------");
1172 player.SetHealth(0.0);
1178 float shock =
Math.
Lerp( 50, 150, shockTemp );
1179 float hp =
Math.
Lerp( 2, 100, shockTemp );
1181 #ifdef DIAG_DEVELOPER
1182 CrashDebugData.m_CrashDataPoint.m_CrewDamageBase = dmg;
1183 CrashDebugData.m_CrashDataPoint.m_ShockTemp = shockTemp;
1184 CrashDebugData.m_CrashDataPoint.m_DMGHealth = hp;
1185 CrashDebugData.m_CrashDataPoint.m_DMGShock = shock;
1186 if (DEBUG_OUTPUT_TYPE & EVehicleDebugOutputType.DAMAGE_APPLIED)
1188 Debug.
Log(
"--------------------------------------------------");
1189 Debug.
Log(
"Crew DMG Base: " + dmg);
1190 Debug.
Log(
"Crew shockTemp: " + shockTemp);
1191 Debug.
Log(
"Crew DMG Health: " + hp);
1192 Debug.
Log(
"Crew DMG Shock: " + shock);
1193 Debug.
Log(
"--------------------------------------------------");
1197 player.AddHealth(
"",
"Shock", -shock );
1198 player.AddHealth(
"",
"Health", -hp );
1237 case "doorscodriver":
1260 case "seatcodriver":
1279 case ECarHornState.SHORT:
1282 case ECarHornState.LONG:
1300 case CarEngineSoundState.STARTING:
1304 case CarEngineSoundState.START_OK:
1308 if (!player.IsCameraInsideVehicle())
1326 case CarEngineSoundState.START_NO_FUEL:
1331 case CarEngineSoundState.START_NO_BATTERY:
1332 sound =
SEffectManager.
PlaySound(
"offroad_engine_failed_start_battery_SoundSet", ModelToWorld(GetEnginePos()));
1336 case CarEngineSoundState.START_NO_SPARKPLUG:
1337 sound =
SEffectManager.
PlaySound(
"offroad_engine_failed_start_sparkplugs_SoundSet", ModelToWorld(GetEnginePos()));
1341 case CarEngineSoundState.STOP_OK:
1342 case CarEngineSoundState.STOP_NO_FUEL:
1346 if (!player.IsCameraInsideVehicle())
1413 if (GetFluidFraction(
CarFluid.FUEL) <= 0)
1432 item = FindAttachmentBySlotName(
"SparkPlug");
1433 if (!item || (item && item.IsRuined()))
1443 item = FindAttachmentBySlotName(
"GlowPlug");
1444 if (!item || (item && item.IsRuined()))
1471 if (
GetGame().IsServer() && battery)
1548 case CarHeadlightBulbsState.LEFT:
1552 case CarHeadlightBulbsState.RIGHT:
1556 case CarHeadlightBulbsState.BOTH:
1560 vector local_pos_middle = (local_pos_left + local_pos_right) * 0.5;
1561 m_Headlight.AttachOnObject(
this, local_pos_middle);
1582 case CarGear.REVERSE:
1604 m_RearLight.AttachOnObject(
this, localPos,
"180 0 0");
1613 case CarRearLightType.BRAKES_ONLY:
1616 case CarRearLightType.REVERSE_ONLY:
1623 case CarRearLightType.BRAKES_AND_REVERSE:
1652 gear = GearboxGetMode();
1667 case CarHeadlightBulbsState.LEFT:
1671 case CarHeadlightBulbsState.RIGHT:
1675 case CarHeadlightBulbsState.BOTH:
1698 case CarGear.REVERSE:
1720 case CarRearLightType.BRAKES_ONLY:
1724 case CarRearLightType.REVERSE_ONLY:
1736 case CarRearLightType.BRAKES_AND_REVERSE:
1784 string material = ConfigGetString(
"frontReflectorMatOn");
1794 string material = ConfigGetString(
"frontReflectorMatOn");
1804 string material = ConfigGetString(
"frontReflectorMatOff");
1814 string material = ConfigGetString(
"frontReflectorMatOff");
1824 string material = ConfigGetString(
"ReverseReflectorMatOn");
1835 string material = ConfigGetString(
"ReverseReflectorMatOff");
1846 string material = ConfigGetString(
"brakeReflectorMatOn");
1857 string material = ConfigGetString(
"brakeReflectorMatOff");
1868 string material = ConfigGetString(
"TailReflectorMatOn");
1869 string materialOff = ConfigGetString(
"TailReflectorMatOff");
1871 if (material && materialOff)
1893 string material = ConfigGetString(
"TailReflectorMatOff");
1904 string material = ConfigGetString(
"dashboardMatOn");
1914 string material = ConfigGetString(
"dashboardMatOff");
1939 EntityAI item = FindAttachmentBySlotName(itemName);
1943 else if ( item.IsRuined() )
1955 Leak(fluid, ammount);
1960 Leak(fluid, ammount);
1965 Leak(fluid, ammount);
2065 return "seat_con_1_1";
2067 case "seat_codriver":
2068 return "seat_con_2_1";
2071 return "seat_con_1_2";
2074 return "seat_con_2_2";
2099 if (conPointName.
Length() > 0)
2101 if ( MemoryPointExists(conPointName) )
2103 vector conPointMS = GetMemoryPointPos(conPointName);
2104 vector conPointWS = ModelToWorld(conPointMS);
2167 return GetSpeedometerAbsolute() > 3.5;
2172 return GetHandbrake() > 0.0;
2194 if (GetAnimationPhase(animation) > 0.5)
2226 return "carradiator";
2236 return "carradiator";
2247 if (!m_InputActionMap)
2287 typename ai = action.GetInputType();
2303 Debug.
ActionLog(action.ToString() +
" -> " + ai,
this.ToString() ,
"n/a",
"Add action" );
2305 action_array.Insert(action);
2311 ActionBase action = player.GetActionManager().GetAction(actionName);
2312 typename ai = action.GetInputType();
2317 action_array.RemoveItem(action);
2328 super.EEHealthLevelChanged(oldLevel,newLevel,zone);
2345 case "WindowFrontLeft":
2346 case "WindowFrontRight":
2365 float maxVolume = GetFluidCapacity(
CarFluid.FUEL );
2409 return ItemBase.Cast(FindAttachmentBySlotName(
"CarBattery"));
2413 return ItemBase.Cast(FindAttachmentBySlotName(
"TruckBattery"));
2432 if (pState != ECarHornState.OFF)
2436 float noiseMultiplier = 1.0;
2437 if (pState == ECarHornState.LONG)
2438 noiseMultiplier = 2.0;
2469 string debug_output = super.GetDebugText();
2472 debug_output += m_DebugContactDamageMessage +
"\n";
2474 debug_output +=
"Entity momentum: " +
GetMomentum();
2476 return debug_output;
2482 GetInventory().CreateInInventory(
"HeadlightH7");
2483 GetInventory().CreateInInventory(
"HeadlightH7");
2484 GetInventory().CreateInInventory(
"HeadlightH7");
2485 GetInventory().CreateInInventory(
"HeadlightH7");
2489 GetInventory().CreateInInventory(
"CarBattery");
2490 GetInventory().CreateInInventory(
"CarBattery");
2495 GetInventory().CreateInInventory(
"TruckBattery");
2496 GetInventory().CreateInInventory(
"TruckBattery");
2501 GetInventory().CreateInInventory(
"CarRadiator");
2502 GetInventory().CreateInInventory(
"CarRadiator");
2507 GetInventory().CreateInInventory(
"SparkPlug");
2508 GetInventory().CreateInInventory(
"SparkPlug");
2513 GetInventory().CreateInInventory(
"GlowPlug");
2514 GetInventory().CreateInInventory(
"GlowPlug");
2520 GetInventory().CreateInInventory(
"Wrench");
2521 GetInventory().CreateInInventory(
"LugWrench");
2522 GetInventory().CreateInInventory(
"Screwdriver");
2523 GetInventory().CreateInInventory(
"EpoxyPutty");
2525 GetInventory().CreateInInventory(
"CanisterGasoline");
2529 ent = GetInventory().CreateInInventory(
"CanisterGasoline");
2535 ent = GetInventory().CreateInInventory(
"Blowtorch");
2538 ent.GetInventory().CreateInInventory(
"LargeGasCanister");
2541 ent = GetInventory().CreateInInventory(
"Blowtorch");
2544 ent.GetInventory().CreateInInventory(
"LargeGasCanister");
eBleedingSourceType GetType()
CarHornActionData ActionData ActionCarHornShort()
void ActionManagerBase(PlayerBase player)
map< typename, ref array< ActionBase_Basic > > TInputActionMap
ref NoiseParams m_NoisePar
TInputActionMap m_InputActionMap
void AddAction(typename actionName)
override void GetActions(typename action_input_type, out array< ActionBase_Basic > actions)
class PASBroadcaster extends AdvancedCommunication IsInventoryVisible
void RemoveAction(typename actionName)
override void EEItemDetached(EntityAI item, string slot_name)
override void EEItemAttached(EntityAI item, string slot_name)
CarAutomaticGearboxMode
Enumerated automatic gearbox modes. (native, do not change or extend)
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
CarFluid
Type of vehicle's fluid. (native, do not change or extend)
CarGearboxType
Enumerated gearbox types. (native, do not change or extend)
protected vector m_exhaustPtcDir
void CreateCarDestroyedEffect()
protected vector m_side_1_1Pos
void SetEngineStarted(bool started)
static const int SELECTION_ID_TAIL_LIGHT_R
protected void CheckVitalItem(bool isVital, string itemName)
string m_CarSeatShiftInSound
enum CarDoorState START_NO_BATTERY
enum CarDoorState START_NO_FUEL
CarDoorState TranslateAnimationPhaseToCarDoorState(string animation)
protected bool m_EngineBeforeStart
float GetEnviroHeatComfortOverride()
DEPRECATED
private ref EffectSound m_PreStartSound
protected bool m_EngineStartDoOnce
protected void BrakesRearLight()
protected vector m_side_2_1Pos
protected void SpawnUniversalParts()
protected void TailLightsShineOn()
float GetActionDistanceBrakes()
string m_EngineStartOK
Sounds.
protected void BrakeLightsShineOff()
void PlayCrashHeavySound()
static string m_RightHeadlightPoint
protected void LeakFluid(CarFluid fluid)
enum CarDoorState m_CarTypeActionsMap
override int Get3rdPersonCameraType()
camera type
protected vector m_exhaustPtcPos
protected bool m_PlayCrashSoundHeavy
protected void RightFrontLightShineOff()
protected void RightFrontLightShineOn()
float GetBatteryRuntimeConsumption()
protected void TailLightsShineOff()
float GetBatteryConsumption()
protected float m_FuelAmmount
keeps ammount of each fluid
protected vector m_coolantPtcPos
void UpdateLightsServer(int newGear=-1)
protected ref EffVehicleSmoke m_coolantFx
Particles.
static string m_DrownEnginePoint
override bool OnBeforeEngineStart()
protected void FillUpCarFluids()
string m_CarDoorCloseSound
void SetEngineZoneReceivedHit(bool pState)
ref EffectSound m_WindowLarge
static string m_LeftHeadlightPoint
protected float m_BrakeAmmount
protected float m_DrownTime
void ForceUpdateLightsStart()
void PlayCrashLightSound()
static string m_ReverseLightPoint
void DamageCrew(float dmg)
Responsible for damaging crew in a car crash.
static const int SELECTION_ID_BRAKE_LIGHT_R
void ForceUpdateLightsEnd()
void CleanupSound(EffectSound sound)
ref EffectSound m_WindowSmall
static const int SELECTION_ID_REVERSE_LIGHT_L
string m_EngineStartBattery
protected bool m_EngineStarted
protected void ReverseLightsShineOff()
protected int m_CarHornState
protected int m_exhaustPtcFx
enum CarDoorState STOP_OK
protected float m_BatteryContinuousConsume
protected float m_FuelTankHealth
static string m_LeftHeadlightTargetPoint
protected vector m_enginePtcPos
protected float m_OilAmmount
vector GetRefillPointPosWS()
protected vector m_enginePos
bool GetCrashHeavySound()
string GetActionCompNameCoolant()
protected vector m_backPos
protected bool m_HeadlightsState
void CheckContactCache()
Responsible for damaging the car according to contact events from OnContact.
static float DROWN_ENGINE_DAMAGE
string GetActionCompNameBrakes()
protected void HandleDoorsSound(string animSource, float phase)
protected void GenerateCarHornAINoise(int pState)
protected void BrakeLightsShineOn()
protected float m_EnviroHeatComfortOverride
protected void SpawnAdditionalItems()
protected bool m_ForceUpdateLights
ref EffectSound m_CrashSoundHeavy
void SetCarHornState(int pState)
static const int SELECTION_ID_BRAKE_LIGHT_L
override void OnFluidChanged(CarFluid fluid, float newValue, float oldValue)
override vector GetDefaultHitPosition()
void UpdateLightsClient(int newGear=-1)
vector Get_1_2PointPosWS()
void PlaySoundEx(string soundset, EffectSound sound, out bool soundbool)
protected void ReverseLightsShineOn()
protected EntityAI m_Radiator
string m_CarHornShortSoundName
protected bool m_EngineZoneReceivedHit
static const int SELECTION_ID_FRONT_LIGHT_R
vector Get_2_2PointPosWS()
protected bool m_RearLightType
protected void LeftFrontLightShineOff()
protected float m_dmgContactCoef
protected float m_BatteryHealth
protected vector m_side_1_2Pos
void UpdateLights(int new_gear=-1)
static float DROWN_ENGINE_THRESHOLD
static const int SELECTION_ID_FRONT_LIGHT_L
static string m_RightHeadlightTargetPoint
protected float m_PlugHealth
vector Get_1_1PointPosWS()
enum CarDoorState STARTING
float GetActionDistanceFuel()
protected void LeftFrontLightShineOn()
protected bool m_HeadlightsOn
override void OnGearChanged(int newGear, int oldGear)
private const float BATTERY_UPDATE_DELAY
float GetActionDistanceOil()
string GetActionCompNameOil()
bool HasEngineZoneReceivedHit()
float GetActionDistanceCoolant()
static const string MEMORY_POINT_NAME_CAR_HORN
protected int m_enginePtcFx
vector GetEnginePointPosWS()
vector GetCoolantPtcPosWS()
protected int m_coolantPtcFx
static const int SELECTION_ID_TAIL_LIGHT_L
vector GetFrontPointPosWS()
void ToggleHeadlights()
Switches headlights on/off, including the illumination of the control panel and synchronizes this cha...
enum CarDoorState REVERSE_ONLY
protected void HandleSeatAdjustmentSound(string animSource, float phase)
float GetBatteryRechargeRate()
protected float m_EngineHealth
enum CarDoorState START_OK
protected void BrakeAndReverseRearLight()
protected void CarPartsHealthCheck()
protected void ReverseRearLight()
protected float m_CoolantAmmount
protected ref EffVehicleSmoke m_engineFx
override bool CanReachSeatFromDoors(string pSeatSelection, vector pFromPos, float pDistance=1.0)
string m_CarHornLongSoundName
protected bool m_EngineDestroyed
protected vector m_side_2_2Pos
protected void DashboardShineOn()
override void OnContact(string zoneName, vector localPos, IEntity other, Contact data)
WARNING: Can be called very frequently in one frame, use with caution.
vector GetBackPointPosWS()
CarRearLightBase m_RearLight
enum CarDoorState BRAKES_ONLY
protected ref EffectSound m_CarHornSoundEffect
protected ref EffVehicleSmoke m_exhaustFx
ref EffectSound m_CrashSoundLight
bool OnBeforeSwitchLights(bool toOn)
protected float m_RadiatorHealth
string GetActionCompNameFuel()
void SynchCrashHeavySound(bool play)
private float m_BatteryTimer
protected float m_MomentumPrevTick
protected void DashboardShineOff()
protected vector m_fuelPos
protected bool m_BrakesArePressed
void UpdateHeadlightState()
void SynchCrashLightSound(bool play)
bool GetCrashLightSound()
protected vector m_VelocityPrevTick
protected float m_BatteryEnergyStartMin
vector Get_2_1PointPosWS()
override float GetLiquidThroughputCoef()
string m_CarSeatShiftOutSound
protected NoiseSystem m_NoiseSystem
static const int SELECTION_ID_DASHBOARD_LIGHT
protected float m_BatteryRecharge
protected void HandleCarHornSound(ECarHornState pState)
protected void NoRearLight()
void HandleEngineSound(CarEngineSoundState state)
enum CarDoorState START_NO_SPARKPLUG
static const int SELECTION_ID_REVERSE_LIGHT_R
bool IsScriptedLightsOn()
Propper way to get if light is swiched on. Use instead of IsLightsOn().
protected bool m_PlayCrashSoundLight
string m_CarDoorOpenSound
protected float m_BatteryConsume
static vector m_DrownEnginePos
ref CarContactCache m_ContactCache
protected vector m_frontPos
DamageType
exposed from C++ (do not change)
override void EEKilled(Object killer)
override void EEDelete(EntityAI parent)
override void OnAttachmentRuined(EntityAI attachment)
class BoxCollidingParams component
ComponentInfo for BoxCollidingResult.
bool Repair(PlayerBase player, ItemBase item_repair_kit, float specialty_weight)
override void EEHealthLevelChanged(int oldLevel, int newLevel, string zone)
override void EEOnCECreate()
Called when entity is being created as new by CE/ Debug.
override void EEHitBy(TotalDamageResult damageResult, int damageType, EntityAI source, int component, string dmgZone, string ammo, vector modelPos, float speedCoef)
override bool CanReceiveAttachment(EntityAI attachment, int slotId)
override void OnVariablesSynchronized()
class NoiseSystem NoiseParams()
protected bool m_Initialized
class JsonUndergroundAreaTriggerData GetPosition
override ScriptCallQueue GetCallQueue(int call_category)
void RPCSingleParam(Object target, int rpc_type, Param param, bool guaranteed, PlayerIdentity recipient=null)
see CGame.RPC
proto native NoiseSystem GetNoiseSystem()
proto int GetTime()
returns mission time in milliseconds
override int GetCarDoorsState(string slotType)
override void EOnPostSimulate(IEntity other, float timeSlice)
override bool IsVitalCarBattery()
override bool IsVitalGlowPlug()
override bool IsVitalRadiator()
override CarLightBase CreateFrontLight()
override CarRearLightBase CreateRearLight()
override float OnSound(CarSoundCtrl ctrl, float oldValue)
override bool IsVitalTruckBattery()
override int GetCrewIndex(string selection)
override bool CanReleaseAttachment(EntityAI attachment)
override void OnEngineStart()
override string GetAnimSourceFromSelection(string selection)
override protected bool CanManipulateSpareWheel(string slotSelectionName)
override string GetDoorConditionPointFromSelection(string selection)
override bool IsVitalSparkPlug()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
override bool IsVitalEngineBelt()
override void OnAnimationPhaseStarted(string animSource, float phase)
override void SetActions()
override void OnEngineStop()
Super root of all classes in Enforce script.
static const int DAYZCAMERA_3RD_VEHICLE
generic vehicle 3rd person
static void ActionLog(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
static void LogError(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
Prints debug message as error message.
static void Log(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
Prints debug message with normal prio.
void SetParticleStateHeavy()
void SetParticleStateLight()
Wrapper class for managing sound through SEffectManager.
bool SoundPlay()
Plays sound.
bool IsSoundPlaying()
Get whether EffectSound is currently playing.
void SetSoundFadeOut(float fade_out)
Set the sound fade out duration.
void SetSoundWaveKind(WaveKind wave_kind)
Set WaveKind for the sound.
override void SetAutodestroy(bool auto_destroy)
Sets whether Effect automatically cleans up when it stops.
proto native EntityAI GetParent()
returns parent of current inventory location
proto native int GetSlot()
returns slot id if current type is Attachment
provides access to slot configuration
static proto bool GetSelectionForSlotId(int slot_Id, out string selection)
static bool IsActionLogEnable()
proto void AddNoiseTarget(vector pos, float lifetime, NoiseParams noise_params, float external_strength_multiplier=1.0)
Will make a noise at that position which the AI will "see" for the duration of 'lifetime'.
Manager class for managing Effect (EffectParticle, EffectSound)
static void Stop(int effect_id)
Stops the Effect.
static int PlayOnObject(notnull Effect eff, Object obj, vector local_pos="0 0 0", vector local_ori="0 0 0", bool force_rotation_relative_to_world=false)
Play an Effect.
static EffectSound CreateSound(string sound_set, vector position, float play_fade_in=0, float stop_fade_out=0, bool loop=false, bool enviroment=false)
Create an EffectSound.
static EffectSound PlaySoundCachedParams(string sound_set, vector position, float play_fade_in=0, float stop_fade_out=0, bool loop=false)
Create and play an EffectSound, using or creating cached SoundParams.
static void DestroyEffect(Effect effect)
Unregisters, stops and frees the Effect.
static bool IsEffectExist(int effect_id)
Checks whether an Effect ID is registered in SEffectManager.
static EffectSound PlaySound(string sound_set, vector position, float play_fade_in=0, float stop_fade_out=0, bool loop=false)
Create and play an EffectSound.
proto void CallLater(func fn, int delay=0, bool repeat=false, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL)
adds call into the queue with given parameters and arguments (arguments are held in memory until the ...
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
proto vector Normalized()
return normalized vector (keeps orginal vector untouched)
static proto native float Distance(vector v1, vector v2)
Returns the distance between tips of two 3D vectors.
proto vector VectorToAngles()
Converts vector to spherical coordinates with radius = 1.
static vector Direction(vector p1, vector p2)
Returns direction vector from point p1 to point p2.
proto native float Length()
Returns length of vector (magnitude)
static float Dot(vector v1, vector v2)
Returns Dot product of vector v1 and vector v2.
proto native CGame GetGame()
const int CARS_FLUIDS_TICK
proto void Print(void var)
Prints content of variable to console/log.
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
EntityEvent
Entity events for event-mask, or throwing event from code.
const float DAMAGE_RUINED_VALUE
const float DAMAGE_DAMAGED_VALUE
const float LIQUID_THROUGHPUT_CAR_DEFAULT
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
static proto float Clamp(float value, float min, float max)
Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.
static proto float InverseLerp(float a, float b, float value)
Calculates the linear value that produces the interpolant value within the range [a,...
static proto float RandomFloat(float min, float max)
Returns a random float number between and min[inclusive] and max[exclusive].
static proto float Lerp(float a, float b, float time)
Linearly interpolates between 'a' and 'b' given 'time'.
static proto int AbsInt(int i)
Returns absolute value.
proto native vector GetVelocity(notnull IEntity ent)
Returns linear velocity.
proto native float dBodyGetMass(notnull IEntity ent)
static proto string Format(string fmt, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL)
Gets n-th character from string.
proto native int Length()
Returns length of string.
proto native HumanCommandVehicle GetCommand_Vehicle()