GLOBAL(){ return;
}
GLOBAL(){ int var_0; int var_1; int var_2; int var_3; int[10] var_4; int[10] var_5; return;
}
MapInitialize(){ Script:initializeMain();
return;
}
getPlayer(){ int var_0;
if (0 < Nox:GetObjHealth(GLOBAL:var_1)){
if (Nox:CheckObjClass(GLOBAL:var_1,"PLAYER")){
if (Nox:ObjIsCaller(GLOBAL:var_4[0])){
goto l2;
}
if (Nox:ObjIsCaller(GLOBAL:var_4[1])){
goto l2;
}
if (Nox:ObjIsCaller(GLOBAL:var_4[2])){
goto l2;
}
if (Nox:ObjIsCaller(GLOBAL:var_4[3])){
goto l2;
}
if (Nox:ObjIsCaller(GLOBAL:var_4[4])){
goto l2;
}
if (Nox:ObjIsCaller(GLOBAL:var_4[5])){
goto l2;
}
if (Nox:ObjIsCaller(GLOBAL:var_4[6])){
goto l2;
}
if (Nox:ObjIsCaller(GLOBAL:var_4[7])){
goto l2;
}
if (Nox:ObjIsCaller(GLOBAL:var_4[8])){
goto l2;
}
if (Nox:ObjIsCaller(GLOBAL:var_4[9])){
goto l2;
}
if (0 == Nox:GetObjMaxHealth(GLOBAL:var_4[0])){
GLOBAL:var_4[0] = Nox:ScriptCaller();
GLOBAL:var_5[0] = 1;
var_0 = Nox:RandomInteger(1,4);
Nox:TeleportObj(GLOBAL:var_4[0],Nox:GetWaypointX(var_0),Nox:GetWaypointY(var_0));
Nox:PrintToAll(" has joined player 1");
goto l2;
}
if (0 == Nox:GetObjMaxHealth(GLOBAL:var_4[1])){
GLOBAL:var_4[1] = Nox:ScriptCaller();
GLOBAL:var_5[1] = 1;
var_0 = Nox:RandomInteger(1,4);
Nox:TeleportObj(GLOBAL:var_4[1],Nox:GetWaypointX(var_0),Nox:GetWaypointY(var_0));
Nox:PrintToAll(" has joined player 2");
goto l2;
}
if (0 == Nox:GetObjMaxHealth(GLOBAL:var_4[2])){
GLOBAL:var_4[2] = Nox:ScriptCaller();
GLOBAL:var_5[2] = 1;
var_0 = Nox:RandomInteger(1,4);
Nox:TeleportObj(GLOBAL:var_4[2],Nox:GetWaypointX(var_0),Nox:GetWaypointY(var_0));
Nox:PrintToAll(" has joined player 3");
goto l2;
}
if (0 == Nox:GetObjMaxHealth(GLOBAL:var_4[3])){
GLOBAL:var_4[3] = Nox:ScriptCaller();
GLOBAL:var_5[3] = 1;
var_0 = Nox:RandomInteger(1,4);
Nox:TeleportObj(GLOBAL:var_4[3],Nox:GetWaypointX(var_0),Nox:GetWaypointY(var_0));
Nox:PrintToAll(" has joined player 4");
goto l2;
}
if (0 == Nox:GetObjMaxHealth(GLOBAL:var_4[4])){
GLOBAL:var_4[4] = Nox:ScriptCaller();
GLOBAL:var_5[4] = 1;
var_0 = Nox:RandomInteger(1,4);
Nox:TeleportObj(GLOBAL:var_4[4],Nox:GetWaypointX(var_0),Nox:GetWaypointY(var_0));
Nox:PrintToAll(" has joined player 5");
goto l2;
}
if (0 == Nox:GetObjMaxHealth(GLOBAL:var_4[5])){
GLOBAL:var_4[5] = Nox:ScriptCaller();
GLOBAL:var_5[5] = 1;
var_0 = Nox:RandomInteger(1,4);
Nox:TeleportObj(GLOBAL:var_4[5],Nox:GetWaypointX(var_0),Nox:GetWaypointY(var_0));
Nox:PrintToAll(" has joined player 6");
goto l2;
}
if (0 == Nox:GetObjMaxHealth(GLOBAL:var_4[6])){
GLOBAL:var_4[6] = Nox:ScriptCaller();
GLOBAL:var_5[6] = 1;
var_0 = Nox:RandomInteger(1,4);
Nox:TeleportObj(GLOBAL:var_4[6],Nox:GetWaypointX(var_0),Nox:GetWaypointY(var_0));
Nox:PrintToAll(" has joined player 7");
goto l2;
}
if (0 == Nox:GetObjMaxHealth(GLOBAL:var_4[7])){
GLOBAL:var_4[7] = Nox:ScriptCaller();
GLOBAL:var_5[7] = 1;
var_0 = Nox:RandomInteger(1,4);
Nox:TeleportObj(GLOBAL:var_4[7],Nox:GetWaypointX(var_0),Nox:GetWaypointY(var_0));
Nox:PrintToAll(" has joined player 8");
goto l2;
}
if (0 == Nox:GetObjMaxHealth(GLOBAL:var_4[8])){
GLOBAL:var_4[8] = Nox:ScriptCaller();
GLOBAL:var_5[8] = 1;
var_0 = Nox:RandomInteger(1,4);
Nox:TeleportObj(GLOBAL:var_4[8],Nox:GetWaypointX(var_0),Nox:GetWaypointY(var_0));
Nox:PrintToAll(" has joined player 9");
goto l2;
}
if (0 == Nox:GetObjMaxHealth(GLOBAL:var_4[9])){
GLOBAL:var_4[9] = Nox:ScriptCaller();
GLOBAL:var_5[9] = 1;
var_0 = Nox:RandomInteger(1,4);
Nox:TeleportObj(GLOBAL:var_4[9],Nox:GetWaypointX(var_0),Nox:GetWaypointY(var_0));
Nox:PrintToAll(" has joined player 10");
goto l2;
}
}
}
l2:
return;
}
loopPlayerVariables(){ int var_0 = 0;
int var_1 = 0;
l20:
if (var_0 < 10){
if (GLOBAL:var_5[var_0] == 1){
ifn (0 < Nox:GetObjHealth(GLOBAL:var_4[var_0])){
GLOBAL:var_4[var_0] = 0;
}
ifn (Nox:ObjIsEnabled(GLOBAL:var_4[var_0])){
GLOBAL:var_5[var_0] = 0;
Nox:PrintToAll(" has left player " + Nox:IntToString(var_0 + 1));
}
}
if (0 < Nox:GetObjHealth(GLOBAL:var_4[var_0])){
if (Nox:IsEnchantActive(GLOBAL:var_4[var_0],"ENCHANT_INVISIBLE")){
Nox:ObjAddHealth(GLOBAL:var_4[var_0],200);
Nox:CancelEnchant(GLOBAL:var_4[var_0],"ENCHANT_INVISIBLE");
Nox:CancelEnchant(GLOBAL:var_4[var_0],"ENCHANT_INVULNERABLE");
Nox:ApplyEnchant(GLOBAL:var_4[var_0],"ENCHANT_SHIELD",0F);
Nox:DamageObject(GLOBAL:var_4[var_0],0,100,13);
Nox:CancelEnchant(GLOBAL:var_4[var_0],"ENCHANT_SHIELD");
var_1 = Nox:GetObjMaxHealth(GLOBAL:var_4[var_0]);
if (var_1 == Nox:GetObjHealth(GLOBAL:var_4[var_0])){
GLOBAL:var_4[var_0] = 0;
}
Nox:ObjAddHealth(GLOBAL:var_4[var_0],100);
}
ifn (Nox:IsEnchantActive(GLOBAL:var_5[var_0],"ENCHANT_CROWN")){
Nox:ApplyEnchant(GLOBAL:var_5[var_0],"ENCHANT_CROWN",0.3F);
}
if (Nox:IsEnchantActive(GLOBAL:var_4[var_0],"ENCHANT_SNEAK")){
ifn (Nox:IsEnchantActive(GLOBAL:var_4[var_0],"ENCHANT_RUN")){
Nox:ApplyEnchant(GLOBAL:var_4[var_0],"ENCHANT_FREEZE",0.04f);
Nox:ApplyEnchant(GLOBAL:var_4[var_0],"ENCHANT_RUN",0f);
Nox:ApplyEnchant(GLOBAL:var_4[var_0],"ENCHANT_HASTED",0f);
}
}
ifn (Nox:IsEnchantActive(GLOBAL:var_4[var_0],"ENCHANT_SNEAK")){
if (Nox:IsEnchantActive(GLOBAL:var_4[var_0],"ENCHANT_RUN")){
Nox:CancelEnchant(GLOBAL:var_4[var_0],"ENCHANT_RUN");
Nox:CancelEnchant(GLOBAL:var_4[var_0],"ENCHANT_HASTED");
}
}
}
var_0 += 1;
goto l20;
}
Nox:WaitFrames(1,4);
return;
}
loopSearchHarpoonIndex(){ int var_0;
int[4] var_1;
int var_2 = 1;
int var_3;
float var_4; int[2] var_5; int var_6;
var_0 = Nox:SpawnObject("RottenMeat",5);
l1:
if (var_2 < 21){
var_3 = 255;
if (Nox:ObjIsMasterTo(var_0 - var_2,GLOBAL:var_4[0])){
var_3 = 0; }
if (Nox:ObjIsMasterTo(var_0 - var_2,GLOBAL:var_4[1])){
var_3 = 1; }
if (Nox:ObjIsMasterTo(var_0 - var_2,GLOBAL:var_4[2])){
var_3 = 2; }
if (Nox:ObjIsMasterTo(var_0 - var_2,GLOBAL:var_4[3])){
var_3 = 3; }
if (Nox:ObjIsMasterTo(var_0 - var_2,GLOBAL:var_4[4])){
var_3 = 4; }
if (Nox:ObjIsMasterTo(var_0 - var_2,GLOBAL:var_4[5])){
var_3 = 5; }
if (Nox:ObjIsMasterTo(var_0 - var_2,GLOBAL:var_4[6])){
var_3 = 6; }
if (Nox:ObjIsMasterTo(var_0 - var_2,GLOBAL:var_4[7])){
var_3 = 7; }
if (Nox:ObjIsMasterTo(var_0 - var_2,GLOBAL:var_4[8])){
var_3 = 8; }
if (Nox:ObjIsMasterTo(var_0 - var_2,GLOBAL:var_4[9])){
var_3 = 9; }
if (var_3 < 10){
if (Nox:CheckInvObjNamed(var_0 - var_2,"ARROW")){
var_1[0] = "Fireball";
var_4 = 50f;
var_1[1] = 1;
var_5[0] = 0;
var_5[1] = 50;
if (150 == Nox:GetObjMaxHealth(GLOBAL:var_4[var_3])){
var_1[0] = "ArcherBolt";
var_1[1] = 2;
var_4 = 40f;
var_5[0] = "ENCHANT_SHOCK";
var_5[1] = 30;
}
}
if (Nox:CheckInvObjNamed(var_0 - var_2,"SHURIKEN")){
var_1[0] = "WeakFireball";
var_4 = 30f;
var_1[1] = 3;
var_5[0] = 0;
var_5[1] = 30;
}
if (Nox:CheckInvObjNamed(var_0 - var_2,"CHAKRAM")){
var_1[0] = "titanFireball";
var_4 = 30f;
var_1[1] = 8;
var_5[0] = 0;
var_5[1] = 30;
}
if (Nox:CheckObjClass(var_0 - var_2,"SIMPLE")){
if (Nox:CheckInvObjNamed(var_0 - var_2,"MISSILE_COUNTERSPELL")){
ifn (Nox:CheckInvObjNamed(var_0 - var_2,"MAGIC")){
ifn (Nox:IsEnchantActive(var_0 - var_2,"ENCHANT_SHOCK")){
var_1[0] = "DeathBallFragment";
var_4 = 30f;
var_1[1] = 4;
var_5[0] = "ENCHANT_SHOCK";
var_5[1] = 10;
}
}
}
if (Nox:CheckObjClass(var_0 - var_2,"FIRE")){
ifn (Nox:IsEnchantActive(var_0 - var_2,"ENCHANT_ANCHORED")){
var_1[0] = "LargeBlueFlame";
var_4 = 1f;
var_1[1] = 5;
var_5[0] = "ENCHANT_ANCHORED";
var_5[1] = 100;
}
}
ifn (Nox:CheckObjClass(var_0 - var_2,"LIGHT")){
ifn (Nox:CheckObjClass(var_0 - var_2,"MISSILE")){
var_1[0] = "Demon";
var_4 = 1f;
var_1[1] = 7;
var_5[0] = 0;
var_5[1] = 100;
}
}
}
if (Nox:CheckInvObjNamed(var_0 - var_2,"BOMBER")){
var_1[0] = "Horrendous";
var_4 = 30f;
var_1[1] = 6;
var_5[0] = 0;
var_5[1] = 500;
}
}
if (var_1[1] >= 1){
Nox:TeleportWaypoint(6,Nox:GetObjX(var_0 - var_2),Nox:GetObjY(var_0 - var_2));
var_1[2] = Nox:SpawnObject(var_1[0],6);
if (var_5[0] > 0){
Nox:ApplyEnchant(var_1[2],var_5[0],0f);
}
Nox:ObjSetDecayTime(var_1[2],var_5[1]);
Nox:ObjLookAtObj(var_1[2],GLOBAL:var_4[var_3]);
var_1[3] = 128 + Nox:GetObjFacing(var_1[2]);
if (var_1[3] > 255){
var_1[3] += -255;
}
Nox:SetObjFacing(var_1[2],var_1[3]);
Nox:ObjSetMaster(GLOBAL:var_4[var_3],var_1[2]);
Nox:PushObject(var_1[2],var_4,Nox:GetObjX(GLOBAL:var_4[var_3]),Nox:GetObjY(GLOBAL:var_4[var_3]));
if (var_1[1] == 7){
Nox:DamageObject(var_1[2],0,999,14);
Nox:ObjSetMaster(GLOBAL:var_4[var_3],var_1[2]);
}
var_1[1] = 0;

if (var_1[1] == 8){
Nox:InvPutObj(GLOBAL:var_4[var_3],var_0 - var_2);
}
ifn (var_1[1] == 8){
Nox:DeleteObject(var_0 - var_2);
}
}
var_2 += 1;
goto l1;
}
l2:
Nox:DeleteObject(var_0);
Nox:WaitFrames(1,5);
return;
}
spawnWeapon(){ int[2] var_0;
float var_1;
float var_2;
int[6] var_3;
int var_4;
int var_5;
float var_6;
if (var_0[0] == 0){
var_0[0] = 1;
var_1 = Nox:GetWaypointX(7);
var_2 = Nox:GetWaypointY(7);
var_3[0] = "bow";
var_3[1] = "quiver";
var_3[2] = "FanChakram";
var_3[3] = "SulphorousFlareWand";
var_3[4] = "SulphorousShowerWand";
var_3[5] = "RoundChakram";
}
var_0[1] = 0;
l1:
if (var_0[1] < 15){
var_4 = Nox:RandomInteger(0,5);
Nox:SpawnObject(var_3[var_4],7);
Nox:SpawnObject(var_3[var_4],7);
Nox:SpawnObject(var_3[var_4],7);
Nox:SpawnObject(var_3[var_4],7);
Nox:TeleportWaypoint(7, 0F-23f - Nox:GetWaypointX(7), 23f + Nox:GetWaypointY(7));
var_0[1] += 1;
goto l1;
}
var_6 = var_6 + 23f;
Nox:TeleportWaypoint(7,var_1 + var_6,var_2 + var_6);
if (var_5 < 10){
var_5 += 1;
Nox:WaitFrames(1,6);
}
return;
}
initializeMain(){ Nox:WaitFrames(1,4);
Nox:WaitFrames(1,5);
Script:spawnWeapon();
return;
}
