#include "BasicTool.h" BasicToolItem::BasicToolItem(int itemTypeId, const char *name) : Item(itemTypeId, name) { hp = 10.f; maxHp = 10.f; durability = 10.f; maxDurability = 10.f; usable = 1; } void BasicToolItem::updateBasedOnUsedMaterial() { float basicDurability = 10.f; float headDurabilityModifier = 1.f; float rodDurabilityModifier = 1.f; // TODO: adjust durability modifier based on material float currentDurability = durability / maxDurability; maxDurability = basicDurability * headDurabilityModifier * rodDurabilityModifier; durability = currentDurability * maxDurability; } void BasicToolItem::setHeadMaterial(int headMaterial) { this->headMaterial = headMaterial; } void BasicToolItem::setRodMaterial(int rodMaterial) { this->rodMaterial = rodMaterial; } BasicToolItemType::BasicToolItemType(int id, const char* name, ItemSkillLevelUpRule* levelUpRule, int brokenTypeId, ModelInfo model) : ItemType(id, name, levelUpRule, brokenTypeId, model) {} void BasicToolItemType::loadSuperItem( Item* zItem, Framework::StreamReader* zReader) const { ItemType::loadSuperItem(zItem, zReader); BasicToolItem* item = dynamic_cast(zItem); zReader->lese((char*)&item->headMaterial, 4); zReader->lese((char*)&item->rodMaterial, 4); } void BasicToolItemType::saveSuperItem( const Item* zItem, Framework::StreamWriter* zWriter) const { ItemType::saveSuperItem(zItem, zWriter); const BasicToolItem* item = dynamic_cast(zItem); zWriter->schreibe((char*)&item->headMaterial, 4); zWriter->schreibe((char*)&item->rodMaterial, 4); }