1087 {
1088 super.EEHitBy(damageResult, damageType, source,
component, dmgZone, ammo, modelPos, speedCoef);
1089
1091 {
1093 }
1094
1095 if (damageResult != null && damageResult.
GetDamage(dmgZone,
"Shock") > 0)
1096 {
1098
1100 {
1101 if (
GetGame().ConfigIsExisting(
"cfgAmmo " + ammo +
" unconRefillModifier"))
1102 {
1104 }
1105 else
1106 {
1108 }
1109 }
1110 }
1111
1113 if (damageType ==
DamageType.EXPLOSION && ammo ==
"FlashGrenade_Ammo")
1114 {
1116 }
1117
1118
1119
1121 {
1122 float dmg = damageResult.
GetDamage(dmgZone,
"Blood");
1124 }
1125
1126
1127 #ifdef DIAG_DEVELOPER
1129 Print(
"EEHitBy() | " +
GetDisplayName() +
" hit by " + source.GetDisplayName() +
" to " + dmgZone);
1130
1131 PluginRemotePlayerDebugServer plugin_remote_server = PluginRemotePlayerDebugServer.Cast(
GetPlugin(PluginRemotePlayerDebugServer));
1132 if (plugin_remote_server)
1133 {
1134 plugin_remote_server.OnDamageEvent(this, damageResult);
1135 }
1136 #endif
1137
1138 if (
GetGame().IsDebugMonitor())
1140
1143
1144 int transferShockToDamageCoef =
g_Game.ConfigGetInt(
string.Format(
"%1 %2 DamageApplied transferShockToDamage",
CFG_AMMO, ammo));
1145 if (transferShockToDamageCoef == 1)
1146 {
1147
1149 if (dmgZone != "Head")
1150 AddHealth(dmgZone,
"Health", -damageResult.
GetDamage(dmgZone,
"Shock"));
1151 }
1152
1154 {
1155 if (GetHealth("RightLeg", "Health") <= 1 || GetHealth("LeftLeg", "Health") <= 1 || GetHealth("RightFoot", "Health") <= 1 || GetHealth("LeftFoot", "Health") <= 1)
1156 {
1158 {
1160 }
1162 }
1163
1164 if (ammo == "Bullet_CupidsBolt" && IsAlive())
1165 {
1166 DamageSystem.ResetAllZones(this);
1169
1170
1173
1174
1176 {
1182
1184
1190 }
1191
1192
1195
1198
1199
1201 DayZPlayerSyncJunctures.SendPlayerUnconsciousness(this, false);
1202 }
1203 }
1204
1206
1207
1209 }
DamageType
exposed from C++ (do not change)
class BoxCollidingParams component
ComponentInfo for BoxCollidingResult.
static string GetDisplayName(int liquid_type)
PluginBase GetPlugin(typename plugin_type)
void OnEntityHit(EntityAI source, Man target)
proto native int ConfigGetInt(string path)
Get int value from config on path.
AnalyticsManagerServer GetAnalyticsServer()
proto int GetTime()
returns mission time in milliseconds
override bool IsUnconscious()
ref PlayerAgentPool m_AgentPool
BleedingSourcesManagerServer GetBleedingManagerServer()
PlayerStat< float > GetStatEnergy()
ModifiersManager GetModifiersManager()
ref DebugMonitorValues m_DebugMonitorValues
ref BleedingSourcesManagerServer m_BleedingManagerServer
PlayerStat< float > GetStatHeatComfort()
float m_UnconRefillModifier
ref ModifiersManager m_ModifiersManager
PlayerStat< float > GetStatWater()
PlayerStat< int > GetStatBloodType()
StaminaHandler GetStaminaHandler()
float ConvertNonlethalDamage(float damage, DamageType damageType)
PluginAdminLog m_AdminLog
PlayerStats GetPlayerStats()
ref StaminaHandler m_StaminaHandler
ActionManagerBase m_ActionManager
ref ShockHandler m_ShockHandler
PlayerStat< float > GetStatHeatBuffer()
void DepleteStamina(EStaminaModifiers modifier, float dT=-1)
proto native float GetDamage(string zoneName, string healthType)
proto native CGame GetGame()
proto void Print(void var)
Prints content of variable to console/log.
proto native bool IsModifierActive()
is modifier active