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(); }
// Change Experience. bool Game_Interpreter::CommandChangeLevel(RPG::EventCommand const& com) { // Code 10420 std::vector<Game_Actor*> actors = GetActors(com.parameters[0], com.parameters[1]); int value = OperateValue( com.parameters[2], com.parameters[3], com.parameters[4] ); for (std::vector<Game_Actor*>::iterator i = actors.begin(); i != actors.end(); i++) { Game_Actor* actor = *i; actor->ChangeLevel(actor->GetLevel() + value); } if (com.parameters[5] != 0) { // TODO // Show message increase level } else { // Don't show message increase level } // Continue return true; }
// Change Experience. bool Game_Interpreter::CommandChangeLevel(RPG::EventCommand const& com) { // Code 10420 std::vector<Game_Actor*> actors = GetActors(com.parameters[0], com.parameters[1]); int value = OperateValue( com.parameters[2], com.parameters[3], com.parameters[4] ); for (std::vector<Game_Actor*>::iterator i = actors.begin(); i != actors.end(); i++) { Game_Actor* actor = *i; actor->ChangeLevel(actor->GetLevel() + value, com.parameters[5] != 0); } return true; }
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(); }