void Game_Party::SetupBattleTestMembers() { Clear(); for (auto& btdata : Data::system.battletest_data) { AddActor(btdata.actor_id); Game_Actor* actor = Game_Actors::GetActor(btdata.actor_id); // Filter garbage btdata inserted by the editor std::array<int, 5> ids = { btdata.weapon_id, btdata.shield_id, btdata.armor_id, btdata.helmet_id, btdata.accessory_id }; std::replace_if(ids.begin(), ids.end(), [] (const int& item_id) { return ReaderUtil::GetElement(Data::items, item_id) == nullptr; }, 0); actor->SetEquipment(RPG::Item::Type_weapon, ids[0]); actor->SetEquipment(RPG::Item::Type_shield, ids[1]); actor->SetEquipment(RPG::Item::Type_armor, ids[2]); actor->SetEquipment(RPG::Item::Type_helmet, ids[3]); actor->SetEquipment(RPG::Item::Type_accessory, ids[4]); actor->ChangeLevel(btdata.level, false); actor->SetHp(actor->GetMaxHp()); actor->SetSp(actor->GetMaxSp()); } data().party_size = data().party.size(); Main_Data::game_player->Refresh(); }
void Scene_Equip::UpdateStatusWindow() { if (equip_window->GetActive()) { equipstatus_window->ClearParameters(); } else if (item_window->GetActive()) { Game_Actor* actor = Main_Data::game_party->GetActors()[actor_index]; int old_item = actor->SetEquipment(equip_window->GetIndex(), item_window->GetItem()->ID); equipstatus_window->SetNewParameters( actor->GetAtk(), actor->GetDef(), actor->GetSpi(), actor->GetAgi()); actor->SetEquipment(equip_window->GetIndex(), old_item); equipstatus_window->Refresh(); } equipstatus_window->Update(); }
void Game_Party::SetupBattleTestMembers() { data.party.clear(); std::vector<RPG::TestBattler>::const_iterator it; for (it = Data::system.battletest_data.begin(); it != Data::system.battletest_data.end(); ++it) { AddActor(it->actor_id); Game_Actor* actor = Game_Actors::GetActor(it->actor_id); actor->SetEquipment(0, it->weapon_id); actor->SetEquipment(1, it->shield_id); actor->SetEquipment(1, it->armor_id); actor->SetEquipment(1, it->helmet_id); actor->SetEquipment(1, it->accessory_id); actor->ChangeLevel(it->level, false); actor->SetHp(actor->GetMaxHp()); actor->SetSp(actor->GetMaxSp()); } Main_Data::game_player->Refresh(); }