DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ EEHitBy()

override void InventoryItem::EEHitBy ( TotalDamageResult damageResult,
int damageType,
EntityAI source,
int component,
string dmgZone,
string ammo,
vector modelPos,
float speedCoef )
inlineprivate

См. определение в файле ItemBase.c строка 1499

1500 {
1501 super.EEHitBy(damageResult, damageType, source, component, dmgZone, ammo, modelPos, speedCoef);
1502
1503 const int CHANCE_DAMAGE_CARGO = 4;
1504 const int CHANCE_DAMAGE_ATTACHMENT = 1;
1505 const int CHANCE_DAMAGE_NOTHING = 2;
1506
1507 if (IsClothing() || IsContainer() || IsItemTent())
1508 {
1509 float dmg = damageResult.GetDamage("","Health") * -0.5;
1510 int chances;
1511 int rnd;
1512
1513 if (GetInventory().GetCargo())
1514 {
1515 chances = CHANCE_DAMAGE_CARGO + CHANCE_DAMAGE_ATTACHMENT + CHANCE_DAMAGE_NOTHING;
1516 rnd = Math.RandomInt(0,chances);
1517
1518 if (rnd < CHANCE_DAMAGE_CARGO)
1519 {
1520 DamageItemInCargo(dmg);
1521 }
1522 else if (rnd < (chances - CHANCE_DAMAGE_NOTHING))
1523 {
1525 }
1526 }
1527 else
1528 {
1529 chances = CHANCE_DAMAGE_ATTACHMENT + CHANCE_DAMAGE_NOTHING;
1530 rnd = Math.RandomInt(0,chances);
1531
1532 if (rnd < CHANCE_DAMAGE_ATTACHMENT)
1533 {
1535 }
1536 }
1537 }
1538 }
class BoxCollidingParams component
ComponentInfo for BoxCollidingResult.
bool DamageItemAttachments(float damage)
Определения ItemBase.c:1559
bool DamageItemInCargo(float damage)
Определения ItemBase.c:1540
proto native float GetDamage(string zoneName, string healthType)

Перекрестные ссылки component, DamageItemAttachments(), DamageItemInCargo(), TotalDamageResult::GetDamage(), ItemBase::IsClothing(), ItemBase::IsItemTent() и Math::RandomInt().