...does absolutely nothing!
What it's supposed to do:
Use an item to call an ffc,
once the ffc touches an enemy it triggers a global int(true), and stores the enemy's X and Y in more global integers.
then the global script takes over duties and loads the appropriate npc, x and y of that npc, and holds the npc at the spot it came into contact with the ffc. (paralyzes up to 4 enemies at once.)
the ffc part appears to work just fine, and within the enemy loop it triggers global variabe is_held true. here is an example of that:
if(is_held1 == false){
statue1 = current_enemy_number;
held1_x = current_enemy->X;
held1_y = current_enemy->Y;
is_held1 = true; }Here is the entire global script in question:
//GLOBAL VARS int manifo_level = 4; // statue
int manifo_exp = 0;
int statue1;
int statue2;
int statue3;
int statue4;
bool is_held1 = false;
bool is_held2 = false;
bool is_held3 = false;
bool is_held4 = false;
int held1_x; int held1_y;
int held2_x; int held2_y;
int held3_x; int held3_y;
int held4_x; int held4_y;
global script Doomsday{
void run(){
npc paralyze1;
npc paralyze2;
npc paralyze3;
npc paralyze4;
bool set_statue1 = false;
bool set_statue2 = false;
bool set_statue3 = false;
bool set_statue4 = false;
bool manifo_init1 = false;
bool manifo_init2 = false;
bool manifo_init3 = false;
bool manifo_init4 = false;
while(true){
//===============================
// MANIFO SPELL EFFECT
//===============================
if(is_held1){
if(manifo_init1 == false){
npc paralyze1 = Screen->LoadNPC(statue1);
set_statue1 = true; manifo_init1 = true;
}
else{
if(set_statue1){
if(paralyze1->isValid()){
paralyze1->X = held1_x;
paralyze1->Y = held1_y;
}
else{
set_statue1 = false;
manifo_init1 = false;
is_held1 = false;
}
}
}
}
if(manifo_level >= 2){
if(is_held2){
if(manifo_init2 == false){
npc paralyze2 = Screen->LoadNPC(statue2);
set_statue2 = true; manifo_init2 = true;
}
else{
if(set_statue2){
if(paralyze2->isValid()){
paralyze2->X = held2_x;
paralyze2->Y = held2_y;
}
else{
set_statue2 = false;
manifo_init2 = false;
is_held2 = false;
}
}
}
}
if(manifo_level >= 3){
if(is_held3){
if(manifo_init3 == false){
npc paralyze3 = Screen->LoadNPC(statue3);
set_statue3 = true; manifo_init3 = true;
}
else{
if(set_statue3){
if(paralyze3->isValid()){
paralyze3->X = held3_x;
paralyze3->Y = held3_y;
}
else{
set_statue3 = false;
manifo_init3 = false;
is_held3 = false;
}
}
}
}
if(manifo_level == 4){
if(is_held4){
if(manifo_init4 == false){
npc paralyze4 = Screen->LoadNPC(statue4);
set_statue4 = true; manifo_init4 = true;
}
else{
if(set_statue4){
if(paralyze4->isValid()){
paralyze4->X = held4_x;
paralyze4->Y = held4_y;
}
else{
set_statue4 = false;
manifo_init4 = false;
is_held4 = false;
}
}
}
}
}
}
} // end manifo hold
Waitframe();
}
}
}
The problem with doing this stuff is, it's hard to figure out the problem when something goes horribly wrong.
Contribute to the "save the Gleeok mental agony" foundation..?