- Joined
- Jul 26, 2021
- Messages
- 6
- Reaction score
- 2
- First Language
- English
- Primarily Uses
- RMMV
I'm using Yanfly's Row Formations plugin, along with his Auto Passive States to establish state changes according with each row.
Things got complicated when I starting making my row state changes mirror the behavior of <front row only> and <back row only> target selections. The idea is for row 1 to get "front row" states only until all members are dead; then row 2 gets "front row" states and row 3 gets "middle row" states. When both row 1 and 2 are all dead, row 3 gets the front row states.
Nevertheless, I got enemies working with these states exactly as desired with the following custom passive conditions:
So next I tried to apply this method to playable characters simply by changing "gameTroop.rowAliveMembers" to "gameParty.rowAliveMembers." As soon as I change this one thing, the game won't load.
Troops "Battle Test" shows an infinite black screen, "Playtest" loads the main menu, but it freezes right there as soon as "New Game" is selected. Can't even bring up game properties or debug menu. I've tried a bunch of variations on my custom conditions, and they all have these same result. "gameTroop" is fine, but "gameParty.rowAliveMembers" crashes on load.
Here's a couple versions of what I've been trying:
Is there something horribly wrong I'm doing here that I'm simply unaware of?
Things got complicated when I starting making my row state changes mirror the behavior of <front row only> and <back row only> target selections. The idea is for row 1 to get "front row" states only until all members are dead; then row 2 gets "front row" states and row 3 gets "middle row" states. When both row 1 and 2 are all dead, row 3 gets the front row states.
Nevertheless, I got enemies working with these states exactly as desired with the following custom passive conditions:
//row 1
<Custom Passive Condition>
if ($gameTroop.rowAliveMembers(1) < '1' && $gameTroop.rowAliveMembers(2) < '1' ) {
condition = user.isStateAffected(27);
} else if ($gameTroop.rowAliveMembers(1) < '1' ) {
condition = user.isStateAffected(26);
} else {
condition = user.isStateAffected(25);
}
</Custom Passive Condition>
//row 2
<Custom Passive Condition>
if ($gameTroop.rowAliveMembers(1) >= '1' ) {
condition = user.isStateAffected(26);
} else if ($gameTroop.rowAliveMembers(1) < '1' && $gameTroop.rowAliveMembers(2) >= '1' ) {
condition = user.isStateAffected(27);
} else {
condition = false;
}
</Custom Passive Condition>
//row 3
<Custom Passive Condition>
if ($gameTroop.rowAliveMembers(1) >= '1' && $gameTroop.rowAliveMembers(2) >= '1' ) {
condition = user.isStateAffected(27);
} else {
condition = false;
}
</Custom Passive Condition>
<Custom Passive Condition>
if ($gameTroop.rowAliveMembers(1) < '1' && $gameTroop.rowAliveMembers(2) < '1' ) {
condition = user.isStateAffected(27);
} else if ($gameTroop.rowAliveMembers(1) < '1' ) {
condition = user.isStateAffected(26);
} else {
condition = user.isStateAffected(25);
}
</Custom Passive Condition>
//row 2
<Custom Passive Condition>
if ($gameTroop.rowAliveMembers(1) >= '1' ) {
condition = user.isStateAffected(26);
} else if ($gameTroop.rowAliveMembers(1) < '1' && $gameTroop.rowAliveMembers(2) >= '1' ) {
condition = user.isStateAffected(27);
} else {
condition = false;
}
</Custom Passive Condition>
//row 3
<Custom Passive Condition>
if ($gameTroop.rowAliveMembers(1) >= '1' && $gameTroop.rowAliveMembers(2) >= '1' ) {
condition = user.isStateAffected(27);
} else {
condition = false;
}
</Custom Passive Condition>
So next I tried to apply this method to playable characters simply by changing "gameTroop.rowAliveMembers" to "gameParty.rowAliveMembers." As soon as I change this one thing, the game won't load.
Troops "Battle Test" shows an infinite black screen, "Playtest" loads the main menu, but it freezes right there as soon as "New Game" is selected. Can't even bring up game properties or debug menu. I've tried a bunch of variations on my custom conditions, and they all have these same result. "gameTroop" is fine, but "gameParty.rowAliveMembers" crashes on load.
Here's a couple versions of what I've been trying:
//row 1 states:
<Custom Passive Condition>
if ($gameParty.rowAliveMembers(1) < '1' && $gameParty.rowAliveMembers(2) < '1' ) {
condition = user.isStateAffected(27);
} else if ($gameParty.rowAliveMembers(1) < '1' ) {
condition = user.isStateAffected(26);
} else {
condition = user.isStateAffected(25);
}
</Custom Passive Condition>
//row 2 states
<Custom Passive Condition>
if ($gameParty.rowAliveMembers(1) >= '1' ) {
condition = user.isStateAffected(26);
} else if ($gameParty.rowAliveMembers(1) < '1' && $gameParty.rowAliveMembers(2) >= '1' ) {
condition = user.isStateAffected(27);
} else {
condition = false;
}
</Custom Passive Condition>
//row 3 states
<Custom Passive Condition>
if ($gameParty.rowAliveMembers(1) >= '1' && $gameParty.rowAliveMembers(2) >= '1' ) {
condition = user.isStateAffected(27);
} else {
condition = false;
}
</Custom Passive Condition>
<Custom Passive Condition>
if ($gameParty.rowAliveMembers(1) < '1' && $gameParty.rowAliveMembers(2) < '1' ) {
condition = user.isStateAffected(27);
} else if ($gameParty.rowAliveMembers(1) < '1' ) {
condition = user.isStateAffected(26);
} else {
condition = user.isStateAffected(25);
}
</Custom Passive Condition>
//row 2 states
<Custom Passive Condition>
if ($gameParty.rowAliveMembers(1) >= '1' ) {
condition = user.isStateAffected(26);
} else if ($gameParty.rowAliveMembers(1) < '1' && $gameParty.rowAliveMembers(2) >= '1' ) {
condition = user.isStateAffected(27);
} else {
condition = false;
}
</Custom Passive Condition>
//row 3 states
<Custom Passive Condition>
if ($gameParty.rowAliveMembers(1) >= '1' && $gameParty.rowAliveMembers(2) >= '1' ) {
condition = user.isStateAffected(27);
} else {
condition = false;
}
</Custom Passive Condition>
//row 1 states:
<Custom Passive Condition>
if (user.isEnemy() && $gameTroop.rowAliveMembers(1) < '1' && $gameTroop.rowAliveMembers(2) < '1' ) {
condition = user.isStateAffected(27);
} else if (user.isEnemy() && $gameTroop.rowAliveMembers(1) < '1' ) {
condition = user.isStateAffected(26);
} else if (user.isActor() && $gameParty.rowAliveMembers(1) < '1' && $gameParty.rowAliveMembers(2) < '1' ) {
condition = user.isStateAffected(27);
} else if (user.isActor() && $gameParty.rowAliveMembers(1) < '1' ) {
condition = user.isStateAffected(26);
} else {
condition = user.isStateAffected(25);
}
</Custom Passive Condition>
//row 2 states:
<Custom Passive Condition>
if (user.isEnemy() && $gameTroop.rowAliveMembers(1) >= '1' ) {
condition = user.isStateAffected(26);
} else if (user.isEnemy() && $gameTroop.rowAliveMembers(1) < '1' && $gameTroop.rowAliveMembers(2) >= '1' ) {
condition = user.isStateAffected(27);
} else if (user.isActor() && $gameParty.rowAliveMembers(1) >= '1' ) {
condition = user.isStateAffected(27);
} else if (!user.isEActor() && $gameParty.rowAliveMembers(1) < '1' && $gameTroop.rowAliveMembers(2) >= '1' ) {
condition = user.isStateAffected(27);
} else {
condition = false;
}
</Custom Passive Condition>
//row 3 states:
<Custom Passive Condition>
if (user.isEnemy() && $gameTroop.rowAliveMembers(1) >= '1' && $gameTroop.rowAliveMembers(2) >= '1' ) {
condition = user.isStateAffected(27);
} else if (user.isActor() && $gameParty.rowAliveMembers(1) >= '1' && $gameParty.rowAliveMembers(2) >= '1' ) {
condition = user.isStateAffected(27);
} else {
condition = false;
}
</Custom Passive Condition>
<Custom Passive Condition>
if (user.isEnemy() && $gameTroop.rowAliveMembers(1) < '1' && $gameTroop.rowAliveMembers(2) < '1' ) {
condition = user.isStateAffected(27);
} else if (user.isEnemy() && $gameTroop.rowAliveMembers(1) < '1' ) {
condition = user.isStateAffected(26);
} else if (user.isActor() && $gameParty.rowAliveMembers(1) < '1' && $gameParty.rowAliveMembers(2) < '1' ) {
condition = user.isStateAffected(27);
} else if (user.isActor() && $gameParty.rowAliveMembers(1) < '1' ) {
condition = user.isStateAffected(26);
} else {
condition = user.isStateAffected(25);
}
</Custom Passive Condition>
//row 2 states:
<Custom Passive Condition>
if (user.isEnemy() && $gameTroop.rowAliveMembers(1) >= '1' ) {
condition = user.isStateAffected(26);
} else if (user.isEnemy() && $gameTroop.rowAliveMembers(1) < '1' && $gameTroop.rowAliveMembers(2) >= '1' ) {
condition = user.isStateAffected(27);
} else if (user.isActor() && $gameParty.rowAliveMembers(1) >= '1' ) {
condition = user.isStateAffected(27);
} else if (!user.isEActor() && $gameParty.rowAliveMembers(1) < '1' && $gameTroop.rowAliveMembers(2) >= '1' ) {
condition = user.isStateAffected(27);
} else {
condition = false;
}
</Custom Passive Condition>
//row 3 states:
<Custom Passive Condition>
if (user.isEnemy() && $gameTroop.rowAliveMembers(1) >= '1' && $gameTroop.rowAliveMembers(2) >= '1' ) {
condition = user.isStateAffected(27);
} else if (user.isActor() && $gameParty.rowAliveMembers(1) >= '1' && $gameParty.rowAliveMembers(2) >= '1' ) {
condition = user.isStateAffected(27);
} else {
condition = false;
}
</Custom Passive Condition>
Is there something horribly wrong I'm doing here that I'm simply unaware of?