Added armor durability reduction when player is attacked.
This commit is contained in:
parent
b1628846d9
commit
7c7f85117b
@ -976,6 +976,18 @@ bool cPlayer::DoTakeDamage(TakeDamageInfo & a_TDI)
|
|||||||
AddFoodExhaustion(0.3f);
|
AddFoodExhaustion(0.3f);
|
||||||
SendHealth();
|
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 != nullptr)
|
||||||
{
|
{
|
||||||
if (a_TDI.Attacker->IsPawn())
|
if (a_TDI.Attacker->IsPawn())
|
||||||
|
20
src/Item.cpp
20
src/Item.cpp
@ -41,22 +41,42 @@ short cItem::GetMaxDamage(void) const
|
|||||||
switch (m_ItemType)
|
switch (m_ItemType)
|
||||||
{
|
{
|
||||||
case E_ITEM_BOW: return 384;
|
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_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_HOE: return 1561;
|
||||||
|
case E_ITEM_DIAMOND_LEGGINGS:return 496;
|
||||||
case E_ITEM_DIAMOND_PICKAXE: return 1561;
|
case E_ITEM_DIAMOND_PICKAXE: return 1561;
|
||||||
case E_ITEM_DIAMOND_SHOVEL: return 1561;
|
case E_ITEM_DIAMOND_SHOVEL: return 1561;
|
||||||
case E_ITEM_DIAMOND_SWORD: return 1561;
|
case E_ITEM_DIAMOND_SWORD: return 1561;
|
||||||
case E_ITEM_FLINT_AND_STEEL: return 64;
|
case E_ITEM_FLINT_AND_STEEL: return 64;
|
||||||
case E_ITEM_GOLD_AXE: return 32;
|
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_HOE: return 32;
|
||||||
|
case E_ITEM_GOLD_LEGGINGS: return 106;
|
||||||
case E_ITEM_GOLD_PICKAXE: return 32;
|
case E_ITEM_GOLD_PICKAXE: return 32;
|
||||||
case E_ITEM_GOLD_SHOVEL: return 32;
|
case E_ITEM_GOLD_SHOVEL: return 32;
|
||||||
case E_ITEM_GOLD_SWORD: return 32;
|
case E_ITEM_GOLD_SWORD: return 32;
|
||||||
case E_ITEM_IRON_AXE: return 250;
|
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_HOE: return 250;
|
||||||
|
case E_ITEM_IRON_LEGGINGS: return 226;
|
||||||
case E_ITEM_IRON_PICKAXE: return 250;
|
case E_ITEM_IRON_PICKAXE: return 250;
|
||||||
case E_ITEM_IRON_SHOVEL: return 250;
|
case E_ITEM_IRON_SHOVEL: return 250;
|
||||||
case E_ITEM_IRON_SWORD: 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_SHEARS: return 250;
|
||||||
case E_ITEM_STONE_AXE: return 131;
|
case E_ITEM_STONE_AXE: return 131;
|
||||||
case E_ITEM_STONE_HOE: return 131;
|
case E_ITEM_STONE_HOE: return 131;
|
||||||
|
Loading…
Reference in New Issue
Block a user