1
0
Fork 0

Added armor durability reduction when player is attacked.

This commit is contained in:
Lane Kolbly 2017-05-31 11:50:13 -05:00 committed by Lukas Pioch
parent b1628846d9
commit 7c7f85117b
2 changed files with 32 additions and 0 deletions

View File

@ -976,6 +976,18 @@ bool cPlayer::DoTakeDamage(TakeDamageInfo & a_TDI)
AddFoodExhaustion(0.3f);
SendHealth();
// Damage armor
short ArmorDamage = static_cast<short>(a_TDI.RawDamage / 4);
if (ArmorDamage == 0)
{
ArmorDamage = 1;
}
m_Inventory.DamageItem(cInventory::invArmorOffset + 0, ArmorDamage);
m_Inventory.DamageItem(cInventory::invArmorOffset + 1, ArmorDamage);
m_Inventory.DamageItem(cInventory::invArmorOffset + 2, ArmorDamage);
m_Inventory.DamageItem(cInventory::invArmorOffset + 3, ArmorDamage);
// Tell the wolves
if (a_TDI.Attacker != nullptr)
{
if (a_TDI.Attacker->IsPawn())

View File

@ -41,22 +41,42 @@ short cItem::GetMaxDamage(void) const
switch (m_ItemType)
{
case E_ITEM_BOW: return 384;
case E_ITEM_CHAIN_BOOTS: return 196;
case E_ITEM_CHAIN_CHESTPLATE:return 241;
case E_ITEM_CHAIN_HELMET: return 166;
case E_ITEM_CHAIN_LEGGINGS: return 226;
case E_ITEM_DIAMOND_AXE: return 1561;
case E_ITEM_DIAMOND_BOOTS: return 430;
case E_ITEM_DIAMOND_CHESTPLATE: return 529;
case E_ITEM_DIAMOND_HELMET: return 364;
case E_ITEM_DIAMOND_HOE: return 1561;
case E_ITEM_DIAMOND_LEGGINGS:return 496;
case E_ITEM_DIAMOND_PICKAXE: return 1561;
case E_ITEM_DIAMOND_SHOVEL: return 1561;
case E_ITEM_DIAMOND_SWORD: return 1561;
case E_ITEM_FLINT_AND_STEEL: return 64;
case E_ITEM_GOLD_AXE: return 32;
case E_ITEM_GOLD_BOOTS: return 92;
case E_ITEM_GOLD_CHESTPLATE: return 113;
case E_ITEM_GOLD_HELMET: return 78;
case E_ITEM_GOLD_HOE: return 32;
case E_ITEM_GOLD_LEGGINGS: return 106;
case E_ITEM_GOLD_PICKAXE: return 32;
case E_ITEM_GOLD_SHOVEL: return 32;
case E_ITEM_GOLD_SWORD: return 32;
case E_ITEM_IRON_AXE: return 250;
case E_ITEM_IRON_BOOTS: return 196;
case E_ITEM_IRON_CHESTPLATE: return 241;
case E_ITEM_IRON_HELMET: return 166;
case E_ITEM_IRON_HOE: return 250;
case E_ITEM_IRON_LEGGINGS: return 226;
case E_ITEM_IRON_PICKAXE: return 250;
case E_ITEM_IRON_SHOVEL: return 250;
case E_ITEM_IRON_SWORD: return 250;
case E_ITEM_LEATHER_BOOTS: return 66;
case E_ITEM_LEATHER_CAP: return 55;
case E_ITEM_LEATHER_PANTS: return 76;
case E_ITEM_LEATHER_TUNIC: return 81;
case E_ITEM_SHEARS: return 250;
case E_ITEM_STONE_AXE: return 131;
case E_ITEM_STONE_HOE: return 131;