the whole game

This commit is contained in:
2026-03-02 22:04:18 +03:00
parent 816e9060b4
commit f0617a5d22
2069 changed files with 581500 additions and 0 deletions

77
src/world/item/ArmorItem.cpp Executable file
View File

@@ -0,0 +1,77 @@
#include "ArmorItem.h"
//
// ArmorMaterial
//
ArmorItem::ArmorMaterial::ArmorMaterial( int durabilityMultiplier, int p0, int p1, int p2, int p3 )
: durabilityMultiplier(durabilityMultiplier)
{
slotProtections[0] = p0;
slotProtections[1] = p1;
slotProtections[2] = p2;
slotProtections[3] = p3;
//this->enchantmentValue = enchantmentValue;
}
int ArmorItem::ArmorMaterial::getHealthForSlot( int slot ) const {
return healthPerSlot[slot] * durabilityMultiplier;
}
int ArmorItem::ArmorMaterial::getDefenseForSlot( int slot ) const {
return slotProtections[slot];
}
//
// ArmorItem
//
const int ArmorItem::healthPerSlot[4] = {
11, 16, 15, 13
};
ArmorItem::ArmorItem( int id, const ArmorMaterial& armorType, int icon, int slot ) : super(id),
armorType(armorType),
slot(slot),
modelIndex(icon),
defense(armorType.getDefenseForSlot(slot))
{
setMaxDamage(armorType.getHealthForSlot(slot));
maxStackSize = 1;
}
bool ArmorItem::isArmor() const {
return true;
}
//
// Singleton ArmorMaterials
//
const ArmorItem::ArmorMaterial ArmorItem::CLOTH(
5, // durability
1, 3, 2, 1 // protection values
//15, // enchantment
);
const ArmorItem::ArmorMaterial ArmorItem::CHAIN(
15,
2, 5, 4, 1
//12,
);
const ArmorItem::ArmorMaterial ArmorItem::IRON(
15,
2, 6, 5, 2
//9
);
const ArmorItem::ArmorMaterial ArmorItem::GOLD(
7,
2, 5, 3, 1
//25
);
const ArmorItem::ArmorMaterial ArmorItem::DIAMOND(
33,
3, 8, 6, 3
//10
);