+void BattleState::LoadIkariMenu(vector<Hero>::size_type index) {
+ ikariMenus[index].Clear();
+ ikariMenus[index].Reserve(6);
+
+ if (HeroAt(index).HasWeapon()) {
+ ikariMenus[index].Add(
+ HeroAt(index).Weapon()->Name(),
+ HeroAt(index).Weapon(),
+ HeroAt(index).Weapon()->HasIkari() && HeroAt(index).Weapon()->GetIkari()->Cost() <= HeroAt(index).IP(),
+ res->weaponMenuIcon,
+ 0,
+ HeroAt(index).Weapon()->HasIkari() ? HeroAt(index).Weapon()->GetIkari()->Name() : "");
+ } else {
+ ikariMenus[index].Add(res->noEquipmentText, 0, false, res->weaponMenuIcon);
+ }
+
+ if (HeroAt(index).HasArmor()) {
+ ikariMenus[index].Add(
+ HeroAt(index).Armor()->Name(),
+ HeroAt(index).Armor(),
+ HeroAt(index).Armor()->HasIkari() && HeroAt(index).Armor()->GetIkari()->Cost() <= HeroAt(index).IP(),
+ res->armorMenuIcon,
+ 0,
+ HeroAt(index).Armor()->HasIkari() ? HeroAt(index).Armor()->GetIkari()->Name() : "");
+ } else {
+ ikariMenus[index].Add(res->noEquipmentText, 0, false, res->armorMenuIcon);
+ }
+
+ if (HeroAt(index).HasShield()) {
+ ikariMenus[index].Add(
+ HeroAt(index).Shield()->Name(),
+ HeroAt(index).Shield(),
+ HeroAt(index).Shield()->HasIkari() && HeroAt(index).Shield()->GetIkari()->Cost() <= HeroAt(index).IP(),
+ res->shieldMenuIcon,
+ 0,
+ HeroAt(index).Shield()->HasIkari() ? HeroAt(index).Shield()->GetIkari()->Name() : "");
+ } else {
+ ikariMenus[index].Add(res->noEquipmentText, 0, false, res->shieldMenuIcon);
+ }