Skip to content

Commit

Permalink
Merge pull request #1475 from fmatthew5876/swvar
Browse files Browse the repository at this point in the history
Refactor Switches and Variables
  • Loading branch information
Ghabry committed Nov 4, 2018
2 parents c71d914 + 5ec72a4 commit 7d43de4
Show file tree
Hide file tree
Showing 20 changed files with 156 additions and 150 deletions.
6 changes: 3 additions & 3 deletions src/game_battle.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -276,13 +276,13 @@ bool Game_Battle::AreConditionsMet(const RPG::TroopPageCondition& condition) {
return false;
}

if (condition.flags.switch_a && !Game_Switches[condition.switch_a_id])
if (condition.flags.switch_a && !Game_Switches.Get(condition.switch_a_id))
return false;

if (condition.flags.switch_b && !Game_Switches[condition.switch_b_id])
if (condition.flags.switch_b && !Game_Switches.Get(condition.switch_b_id))
return false;

if (condition.flags.variable && !(Game_Variables[condition.variable_id] >= condition.variable_value))
if (condition.flags.variable && !(Game_Variables.Get(condition.variable_id) >= condition.variable_value))
return false;

if (condition.flags.turn && !CheckTurns(GetTurn(), condition.turn_b, condition.turn_a))
Expand Down
6 changes: 3 additions & 3 deletions src/game_battlealgorithm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -586,7 +586,7 @@ void Game_BattleAlgorithm::AlgorithmBase::Apply() {
}

if (GetAffectedSwitch() != -1) {
Game_Switches[GetAffectedSwitch()] = true;
Game_Switches.Set(GetAffectedSwitch(), true);
}

std::vector<RPG::State>::const_iterator it = conditions.begin();
Expand Down Expand Up @@ -615,11 +615,11 @@ void Game_BattleAlgorithm::AlgorithmBase::Apply() {

void Game_BattleAlgorithm::AlgorithmBase::ApplyActionSwitches() {
for (int s : switch_on) {
Game_Switches[s] = true;
Game_Switches.Set(s, true);
}

for (int s : switch_off) {
Game_Switches[s] = false;
Game_Switches.Set(s, false);
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/game_battler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ bool Game_Battler::UseSkill(int skill_id) {
was_used = true;
} else if (skill->type == RPG::Skill::Type_switch) {
Game_System::SePlay(skill->sound_effect);
Game_Switches[skill->switch_id] = true;
Game_Switches.Set(skill->switch_id, true);
was_used = true;
}

Expand Down
4 changes: 2 additions & 2 deletions src/game_character.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -371,12 +371,12 @@ void Game_Character::MoveTypeCustom() {
SetMoveFrequency(max(GetMoveFrequency() - 1, 1));
break;
case RPG::MoveCommand::Code::switch_on: // Parameter A: Switch to turn on
Game_Switches[move_command.parameter_a] = true;
Game_Switches.Set(move_command.parameter_a, true);
Game_Map::SetNeedRefresh(Game_Map::Refresh_All);
Game_Map::Refresh();
break;
case RPG::MoveCommand::Code::switch_off: // Parameter A: Switch to turn off
Game_Switches[move_command.parameter_a] = false;
Game_Switches.Set(move_command.parameter_a, false);
Game_Map::SetNeedRefresh(Game_Map::Refresh_All);
Game_Map::Refresh();
break;
Expand Down
4 changes: 2 additions & 2 deletions src/game_commonevent.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ void Game_CommonEvent::SetSaveData(const RPG::SaveEventData& data) {

void Game_CommonEvent::Refresh() {
if (GetTrigger() == RPG::EventPage::Trigger_parallel) {
if (GetSwitchFlag() ? Game_Switches[GetSwitchId()] : true) {
if (GetSwitchFlag() ? Game_Switches.Get(GetSwitchId()) : true) {
if (!interpreter) {
interpreter.reset(new Game_Interpreter_Map());
}
Expand All @@ -54,7 +54,7 @@ void Game_CommonEvent::Update() {
return;

for (int i = 0; i < 500; ++i) {
if (GetSwitchFlag() ? Game_Switches[GetSwitchId()] : true) {
if (GetSwitchFlag() ? Game_Switches.Get(GetSwitchId()) : true) {
if (!Game_Map::GetInterpreter().IsRunning()) {
Game_Map::GetInterpreter().Setup(this, 0);
Game_Map::GetInterpreter().Update();
Expand Down
2 changes: 1 addition & 1 deletion src/game_enemy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ bool Game_Enemy::IsActionValid(const RPG::EnemyAction& action) {
case RPG::EnemyAction::ConditionType_always:
return true;
case RPG::EnemyAction::ConditionType_switch:
return Game_Switches[action.switch_id];
return Game_Switches.Get(action.switch_id);
case RPG::EnemyAction::ConditionType_turn:
{
int turns = Game_Battle::GetTurn();
Expand Down
18 changes: 9 additions & 9 deletions src/game_event.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -372,45 +372,45 @@ void Game_Event::Refresh() {

bool Game_Event::AreConditionsMet(const RPG::EventPage& page) {
// First switch (A)
if (page.condition.flags.switch_a && !Game_Switches[page.condition.switch_a_id]) {
if (page.condition.flags.switch_a && !Game_Switches.Get(page.condition.switch_a_id)) {
return false;
}

// Second switch (B)
if (page.condition.flags.switch_b && !Game_Switches[page.condition.switch_b_id]) {
if (page.condition.flags.switch_b && !Game_Switches.Get(page.condition.switch_b_id)) {
return false;
}

// Variable
if (Player::IsRPG2k()) {
if (page.condition.flags.variable && !(Game_Variables[page.condition.variable_id] >= page.condition.variable_value)) {
if (page.condition.flags.variable && !(Game_Variables.Get(page.condition.variable_id) >= page.condition.variable_value)) {
return false;
}
} else {
if (page.condition.flags.variable) {
switch (page.condition.compare_operator) {
case 0: // ==
if (!(Game_Variables[page.condition.variable_id] == page.condition.variable_value))
if (!(Game_Variables.Get(page.condition.variable_id) == page.condition.variable_value))
return false;
break;
case 1: // >=
if (!(Game_Variables[page.condition.variable_id] >= page.condition.variable_value))
if (!(Game_Variables.Get(page.condition.variable_id) >= page.condition.variable_value))
return false;
break;
case 2: // <=
if (!(Game_Variables[page.condition.variable_id] <= page.condition.variable_value))
if (!(Game_Variables.Get(page.condition.variable_id) <= page.condition.variable_value))
return false;
break;
case 3: // >
if (!(Game_Variables[page.condition.variable_id] > page.condition.variable_value))
if (!(Game_Variables.Get(page.condition.variable_id) > page.condition.variable_value))
return false;
break;
case 4: // <
if (!(Game_Variables[page.condition.variable_id] < page.condition.variable_value))
if (!(Game_Variables.Get(page.condition.variable_id) < page.condition.variable_value))
return false;
break;
case 5: // !=
if (!(Game_Variables[page.condition.variable_id] != page.condition.variable_value))
if (!(Game_Variables.Get(page.condition.variable_id) != page.condition.variable_value))
return false;
break;
}
Expand Down
Loading

0 comments on commit 7d43de4

Please sign in to comment.