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

◆ EEHitBy()

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

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

1451 {
1452 super.EEHitBy(damageResult, damageType, source, component, dmgZone, ammo, modelPos, speedCoef);
1453
1454 const int CHANCE_DAMAGE_CARGO = 4;
1455 const int CHANCE_DAMAGE_ATTACHMENT = 1;
1456 const int CHANCE_DAMAGE_NOTHING = 2;
1457
1458 if (IsClothing() || IsContainer() || IsItemTent())
1459 {
1460 float dmg = damageResult.GetDamage("","Health") * -0.5;
1461 int chances;
1462 int rnd;
1463
1464 if (GetInventory().GetCargo())
1465 {
1466 chances = CHANCE_DAMAGE_CARGO + CHANCE_DAMAGE_ATTACHMENT + CHANCE_DAMAGE_NOTHING;
1467 rnd = Math.RandomInt(0,chances);
1468
1469 if (rnd < CHANCE_DAMAGE_CARGO)
1470 {
1471 DamageItemInCargo(dmg);
1472 }
1473 else if (rnd < (chances - CHANCE_DAMAGE_NOTHING))
1474 {
1476 }
1477 }
1478 else
1479 {
1480 chances = CHANCE_DAMAGE_ATTACHMENT + CHANCE_DAMAGE_NOTHING;
1481 rnd = Math.RandomInt(0,chances);
1482
1483 if (rnd < CHANCE_DAMAGE_ATTACHMENT)
1484 {
1486 }
1487 }
1488 }
1489 }
class BoxCollidingParams component
ComponentInfo for BoxCollidingResult.
bool DamageItemInCargo(float damage)
Определения ItemBase.c:1491
bool DamageItemAttachments(float damage)
Определения ItemBase.c:1511
Определения EnMath.c:7
proto native float GetDamage(string zoneName, string healthType)
static proto int RandomInt(int min, int max)
Returns a random int number between and min [inclusive] and max [exclusive].

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