- equipmentMenu.Add(GetHero().Weapon()->Name(), GetHero().Weapon(), true, GetHero().Weapon()->MenuIcon());
- equipmentMenu.Add(GetHero().Armor()->Name(), GetHero().Armor(), true, GetHero().Armor()->MenuIcon());
- equipmentMenu.Add(GetHero().Shield()->Name(), GetHero().Shield(), true, GetHero().Shield()->MenuIcon());
- equipmentMenu.Add(GetHero().Helmet()->Name(), GetHero().Helmet(), true, GetHero().Helmet()->MenuIcon());
- equipmentMenu.Add(GetHero().Ring()->Name(), GetHero().Ring(), true, GetHero().Ring()->MenuIcon());
- equipmentMenu.Add(GetHero().Jewel()->Name(), GetHero().Jewel(), true, GetHero().Jewel()->MenuIcon());
+ if (GetHero().HasWeapon()) {
+ equipmentMenu.Add(GetHero().Weapon()->Name(), GetHero().Weapon(), true, GetHero().Weapon()->MenuIcon());
+ } else {
+ equipmentMenu.Add(parent->Res().noEquipmentText, 0, false);
+ }
+ if (GetHero().HasArmor()) {
+ equipmentMenu.Add(GetHero().Armor()->Name(), GetHero().Armor(), true, GetHero().Armor()->MenuIcon());
+ } else {
+ equipmentMenu.Add(parent->Res().noEquipmentText, 0, false);
+ }
+ if (GetHero().HasShield()) {
+ equipmentMenu.Add(GetHero().Shield()->Name(), GetHero().Shield(), true, GetHero().Shield()->MenuIcon());
+ } else {
+ equipmentMenu.Add(parent->Res().noEquipmentText, 0, false);
+ }
+ if (GetHero().HasHelmet()) {
+ equipmentMenu.Add(GetHero().Helmet()->Name(), GetHero().Helmet(), true, GetHero().Helmet()->MenuIcon());
+ } else {
+ equipmentMenu.Add(parent->Res().noEquipmentText, 0, false);
+ }
+ if (GetHero().HasRing()) {
+ equipmentMenu.Add(GetHero().Ring()->Name(), GetHero().Ring(), true, GetHero().Ring()->MenuIcon());
+ } else {
+ equipmentMenu.Add(parent->Res().noEquipmentText, 0, false);
+ }
+ if (GetHero().HasJewel()) {
+ equipmentMenu.Add(GetHero().Jewel()->Name(), GetHero().Jewel(), true, GetHero().Jewel()->MenuIcon());
+ } else {
+ equipmentMenu.Add(parent->Res().noEquipmentText, 0, false);
+ }
+}
+
+void EquipMenu::RemoveAllEquipment() {
+ Inventory &inv(parent->Game().state->inventory);
+ if (GetHero().HasWeapon() && inv.Add(GetHero().Weapon(), 1)) {
+ GetHero().RemoveWeapon();
+ }
+ if (GetHero().HasArmor() && inv.Add(GetHero().Armor(), 1)) {
+ GetHero().RemoveArmor();
+ }
+ if (GetHero().HasShield() && inv.Add(GetHero().Shield(), 1)) {
+ GetHero().RemoveShield();
+ }
+ if (GetHero().HasHelmet() && inv.Add(GetHero().Helmet(), 1)) {
+ GetHero().RemoveHelmet();
+ }
+ if (GetHero().HasRing() && inv.Add(GetHero().Ring(), 1)) {
+ GetHero().RemoveRing();
+ }
+ if (GetHero().HasJewel() && inv.Add(GetHero().Jewel(), 1)) {
+ GetHero().RemoveJewel();
+ }
+ LoadEquipment();