You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
1.5 KiB
C++
77 lines
1.5 KiB
C++
#include "Item.hpp"
|
|
//#include "RLGame.hpp"
|
|
|
|
/// ITEM ///
|
|
Item::Item()
|
|
: itemName{ "Unnamed Item" }
|
|
, itemSymbol{}
|
|
, value{}
|
|
, mass{}
|
|
, itemType{ ITEM_TYPE::DEFAULT }
|
|
{
|
|
}
|
|
|
|
Item::Item(const std::string& name, unsigned int value, unsigned int mass)
|
|
: itemName{ name }
|
|
, itemSymbol{ '%' }
|
|
, value{ value }
|
|
, mass{ mass }
|
|
, itemType{ ITEM_TYPE::DEFAULT }
|
|
{
|
|
}
|
|
|
|
/// CONSUMABLE ///
|
|
Consumable::Consumable()
|
|
: Consumable("Unnamed Consumable", 0, 0, 0)
|
|
{
|
|
}
|
|
|
|
Consumable::Consumable(const std::string& name, unsigned int value, unsigned int mass, int heal)
|
|
: Item(name, value, mass)
|
|
, consumableHeal{ heal }
|
|
{
|
|
itemSymbol = '*';
|
|
itemType = ITEM_TYPE::CONSUMABLE;
|
|
}
|
|
|
|
/// WEAPON ///
|
|
Weapon::Weapon()
|
|
: Weapon("Unnamed Weapon", 0, 0, 0, 0)
|
|
{
|
|
}
|
|
|
|
Weapon::Weapon(const std::string& name, unsigned int value, unsigned int mass, int minDamage, int maxDamage)
|
|
: Item(name, value, mass)
|
|
, weaponMinDamage{ minDamage }
|
|
, weaponMaxDamage{ maxDamage }
|
|
{
|
|
itemSymbol = '/';
|
|
itemType = ITEM_TYPE::WEAPON;
|
|
}
|
|
|
|
Weapon::Weapon(const Item& item, int minDamage, int maxDamage)
|
|
: Weapon(item.itemName, item.value, item.mass, minDamage, maxDamage)
|
|
{
|
|
}
|
|
|
|
/// ARMOR ///
|
|
Armor::Armor()
|
|
: Armor("Unnamed Armor", 0, 0, 0)
|
|
{
|
|
}
|
|
|
|
Armor::Armor(const std::string& name, unsigned int value, unsigned int mass, int rating)
|
|
: Item(name, value, mass)
|
|
, armorRating{ rating }
|
|
{
|
|
itemSymbol = '^';
|
|
itemType = ITEM_TYPE::ARMOR;
|
|
}
|
|
|
|
/// ITEMTILE ///
|
|
ItemTile::ItemTile(Item* item, Position position)
|
|
: item{ item }
|
|
, position{ position }
|
|
{
|
|
}
|