- Joined
- Nov 15, 2015
- Messages
- 193
- Reaction score
- 29
- First Language
- English
- Primarily Uses
I'm trying to create a skill that transfers a target's current status effects to the user and vice versa. It only seems to work when the enemy currently has no statuses. I can't seem to figure out whats wrong. Here's my code:
var number = 0;
var player = []; // array to hold caster's current status IDs
var enemy = []; // array to hold target's current status IDs
var i = 0;
while (number < 150) { // add the current status IDs of enemy to an array
if (b.isStateAffected(number)) {
enemy[enemy.length] = number;
enemy.length += 1;
number += 1;
} else { number += 1; }
}
number = 0; // reset status ID starting point to zero
while (number < 150) { // add the current status IDs of caster to an array
if (a.isStateAffected(number)) {
player[player.length] = number;
player.length += 1;
number += 1;
} else { number += 1; }
}
number = 0;
while (number < 150) { // clear all statuses from target
if (b.isStateAffected(number)) {
b.removeState(number);
number += 1;
} else { number += 1; }
}
number = 0;
while (number < 150) { // clear all statuses from player
if (a.isStateAffected(number)) {
a.removeState(number);
number += 1;
} else { number += 1; }
}
for (i = 0; i < enemy.length; i++) { // add enemy's previous statuses to player
a.addState(enemy);
}
for (i = 0; i < player.length; i++) { // add player's previous statuses to enemy
b.addState(player);
}
var number = 0;
var player = []; // array to hold caster's current status IDs
var enemy = []; // array to hold target's current status IDs
var i = 0;
while (number < 150) { // add the current status IDs of enemy to an array
if (b.isStateAffected(number)) {
enemy[enemy.length] = number;
enemy.length += 1;
number += 1;
} else { number += 1; }
}
number = 0; // reset status ID starting point to zero
while (number < 150) { // add the current status IDs of caster to an array
if (a.isStateAffected(number)) {
player[player.length] = number;
player.length += 1;
number += 1;
} else { number += 1; }
}
number = 0;
while (number < 150) { // clear all statuses from target
if (b.isStateAffected(number)) {
b.removeState(number);
number += 1;
} else { number += 1; }
}
number = 0;
while (number < 150) { // clear all statuses from player
if (a.isStateAffected(number)) {
a.removeState(number);
number += 1;
} else { number += 1; }
}
for (i = 0; i < enemy.length; i++) { // add enemy's previous statuses to player
a.addState(enemy);
}
for (i = 0; i < player.length; i++) { // add player's previous statuses to enemy
b.addState(player);
}

