
GLOBAL() { /*0*/
return;
}
GLOBAL() { /*1*/
generic var_0; /*Script trigger*/
generic var_1; /*Script parent*/
int var_2; /*true (1)*/
int var_3; /*false (0)*/
generic var_4;
generic[8] var_5; /* flames left */
generic[8] var_6; /*flames right */
generic var_7;
generic[9] var_8;
generic[3] var_9; /* death sentrys */
generic[3] var_10; /* skulls */
generic[2] var_11;
generic[7] var_12; /* arrows */
generic var_13;
generic[8] var_14; /* monsters in doom */
generic[4] var_15; /* doom walls*/
generic[4] var_16; /* christ npcs*/
generic[13] var_17; /* christ inventorys*/
generic[12] var_18; /* dryad room*/
generic[6] var_19; /* below arrow trap array */
generic[13] var_20; /* elevator statues */
generic[12] var_21; /* magic room walls array variable */
generic[6] var_22; /* magic room switchs */
generic[12] var_23; /* generators */
generic[4] var_24; /* gen waypoint array*/
int var_25;
generic[4] var_26; /*bombers*/
generic[4] var_27; /* meca golem elevator, golem*/
generic var_28;
generic[4] var_29; /* elevator lightning effect waypoints */
generic[16] var_30; /* elevator arrow traps */
generic[5] var_31; /* lightning Effect waypoints */
int var_32;
generic[6] var_33; /* lightning traps array */
generic[2] var_34; /* sentry Doors */
int[3] var_35; /* toggle lightning trps*/
generic[10] var_36; /* lich idol key*/
generic var_37;
generic[11] var_38; /* walls part a*/
generic[14] var_39; /* walls part b*/
generic[11] var_40; /* walls part c*/
generic var_41;
GLOBAL:var_41 = GLOBAL:var_2;
GLOBAL:var_28 = GLOBAL:var_2;
GLOBAL:var_7 = GLOBAL:var_2;
return;
}
OpenLeftWall(){ /*2*/
generic[2] var_0;
int var_1;
var_0[1] = Nox:ObjFromName("leftWallswitch");
var_0[0] = Nox:GetWallAt(42,8);
Nox:ToggleObject(var_0[1]);
Nox:ToggleSecretWall(var_0[0]);
if (var_1 == 0){
var_1 = 1;
Nox:WaitFrames(150,2);
goto l2;
}
var_1 = 0;
l2:
return;
}
settingUnderfootFlames(){ /*3*/
int var_0;
l1:
if (var_0 < 8){
GLOBAL:var_5[var_0] = Nox:WaypointFromName("spawnFireL" + Nox:IntToString(var_0 + 1));
GLOBAL:var_6[var_0] = Nox:WaypointFromName("spawnFireR" + Nox:IntToString(var_0 + 1));
var_0 += 1;
goto l1;
}
var_0 = 0;
return;
}
toggleUnderfootFlamesTrap(){ /*4*/
int var_0;
generic var_1;
l1:
if (GLOBAL:var_7 == GLOBAL:var_2){
if (var_0 < 8){
var_1 = Nox:SpawnObject("FireGrateFlame",GLOBAL:var_5[var_0]);
Nox:ObjSetDecayTime(var_1,20);
var_0 += 1;
goto l1;
}
var_0 = 0;
GLOBAL:var_7 = GLOBAL:var_3;
goto l2;
}
if (GLOBAL:var_7 == GLOBAL:var_3){
if (var_0 < 8){
var_1 = Nox:SpawnObject("FireGrateFlame",GLOBAL:var_6[var_0]);
Nox:ObjSetDecayTime(var_1,20);
var_0 += 1;
goto l1;
}
var_0 = 0;
GLOBAL:var_7 = GLOBAL:var_2;
}
l2:
Nox:WaitFrames(48,4);
return;
}
Walls1Off(){ /*5*/
int var_0;
int var_1;
generic var_2;
var_0 += 1;
Nox:DisableObject(GLOBAL:var_0);
if (var_0 == 2){
l1:
if (var_1 < 9){
Nox:OpenSecretWall(GLOBAL:var_8[var_1]);
var_1 += 1;
goto l1;
}
var_1 = 0;
}
return;
}
InitializeUnderfootSentryWalls(){ /*6*/
int var_0;
int var_1;
int var_2;
var_1 = 19;
var_2 = 33;
l1:
if (var_0 < 9){
GLOBAL:var_8[var_0] = Nox:GetWallAt(var_1,var_2);
var_0 += 1;
var_1 += 1;
var_2 += 1;
goto l1;
}
var_0 = 0;
var_1 = 0;
var_2 = 0;
return;
}
InitializeUnderfootArea(){ /*7*/
int var_0;
l1:
if (var_0 < 3){
GLOBAL:var_10[var_0] = Nox:ObjFromName("southSkullTrp" + Nox:IntToString(var_0 + 1));
var_0 += 1;
goto l1;
}
var_0 = 0;
GLOBAL:var_9[0] = Nox:ObjFromName("UnderfootSentry1");
GLOBAL:var_9[1] = Nox:ObjFromName("UnderfootSentry2");
GLOBAL:var_9[2] = Nox:ObjFromName("UnderfootSentry3");
GLOBAL:var_11[0] = Nox:ObjFromName("FGdoor1");
GLOBAL:var_11[1] = Nox:ObjFromName("FGdoor2");
GLOBAL:var_16[0] = Nox:ObjFromName("ChristWar1");
GLOBAL:var_16[1] = Nox:ObjFromName("ChristWar2");
Nox:MonsterEventScript(GLOBAL:var_16[0],5,27);
Nox:MonsterEventScript(GLOBAL:var_16[1],5,28);
GLOBAL:var_16[2] = Nox:ObjFromName("ChristDoor1");
GLOBAL:var_16[3] = Nox:ObjFromName("ChristDoor2");
GLOBAL:var_27[0] = Nox:ObjFromName("GolemElevator");
GLOBAL:var_27[1] = Nox:ObjFromName("LightDoor1");
GLOBAL:var_27[2] = Nox:ObjFromName("MechGolem2");
GLOBAL:var_27[3] = Nox:WaypointFromName("Golem2Waypoint");
GLOBAL:var_34[0] = Nox:ObjFromName("SentryDoor1");
GLOBAL:var_34[1] = Nox:ObjFromName("SentryDoor2");
Nox:LockDoor(GLOBAL:var_34[0]);
Nox:LockDoor(GLOBAL:var_34[1]);
Nox:LockDoor(GLOBAL:var_16[2]);
Nox:LockDoor(GLOBAL:var_16[3]);
Nox:MonsterEventScript(GLOBAL:var_16[0],5,27);
Nox:MonsterEventScript(GLOBAL:var_16[1],5,28);
Nox:LockDoor(GLOBAL:var_11[0]);
Nox:LockDoor(GLOBAL:var_11[1]);
Nox:WaitFrames(15,64);
Nox:WaitFrames(48,4);
Nox:WaitFrames(105,14);
Nox:WaitFrames(200,61);
Nox:WaitFrames(95,94);
Nox:WaitFrames(125,98);
Script:InitializeUnderfootSentryWalls();
Script:settingUnderfootFlames();
Script:InitializeElevatorStatues();
Script:invisibleGauntletWallSwitch();
Script:InitializeMapArrowTrps();
Script:InitializeDoomMarkers();
Script:InitializeMagicRoom();
Script:initializeChristInventorys();
Script:initializeLichIdolKeys();
Script:playMapBGM();
return;
}
DeactivateSentry1(){ /*8*/
int var_0;
Nox:DisableObject(GLOBAL:var_0);
l1:
if (var_0 < 3){
Nox:DisableObject(GLOBAL:var_9[var_0]);
var_0 += 1;
goto l1;
}
var_0 = 0;
return;
}
OpenGoldKeyExitWall(){ /*9*/
generic var_0;
Nox:DisableObject(GLOBAL:var_0);
var_0 = Nox:GetWallAt(26,32);
Nox:OpenSecretWall(var_0);
var_0 = Nox:GetWallAt(25,33);
Nox:OpenSecretWall(var_0);
var_0 = Nox:GetWallAt(26,34);
Nox:OpenSecretWall(var_0);
var_0 = Nox:GetWallAt(27,35);
Nox:OpenSecretWall(var_0);
var_0 = Nox:GetWallAt(28,34);
Nox:OpenSecretWall(var_0);
return;
}
ActiveSouthSkullTraps(){ /*10*/
Nox:EnableObject(GLOBAL:var_10[0]);
Nox:EnableObject(GLOBAL:var_10[1]);
Nox:EnableObject(GLOBAL:var_10[2]);
Nox:WaitFrames(1,11);
return;
}
TurnOffSouthSkulls(){ /*11*/
Nox:DisableObject(GLOBAL:var_10[0]);
Nox:DisableObject(GLOBAL:var_10[1]);
Nox:DisableObject(GLOBAL:var_10[2]);
return;
}
FireProtect(){ /*12*/
Nox:ApplyEnchant(GLOBAL:var_1,"ENCHANT_PROTECT_FROM_FIRE",30F);
Nox:Print("GeneralPrint:WishingWellPrintEnchantment");
return;
}
FireGauntletDoors(){ /*13*/
int var_0;
var_0 += 1;
Nox:DisableObject(GLOBAL:var_0);
if (var_0 == 2){
Nox:UnlockDoor(GLOBAL:var_11[0]);
Nox:UnlockDoor(GLOBAL:var_11[1]);
}
return;
}
deathballTrap(){ /*14*/
generic var_0;
generic var_1;
var_0 = Nox:ObjFromName("FON_Origin1");
var_1 = Nox:WaypointFromName("fon_target1");
Nox:ApplySpellObjXY("SPELL_FORCE_OF_NATURE",var_0,Nox:GetWaypointX(var_1),Nox:GetWaypointY(var_1));
Nox:WaitFrames(105,14);
return;
}
InitializeMapArrowTrps(){ /*15*/
int var_0;
l1:
if (var_0 < 7){
GLOBAL:var_12[var_0] = Nox:ObjFromName("southArrow" + Nox:IntToString(var_0 + 1));
var_0 += 1;
goto l1;
}
var_0 = 0;
Script:initializeElevatorArrowTrp();
Script:InitializeBelowRows();
return;
}
EnabledFireRoomArrowTrps(){ /*16*/
int var_0;
l1:
if (var_0 < 7){
Nox:EnableObject(GLOBAL:var_12[var_0]);
var_0 += 1;
goto l1;
}
var_0 = 0;
Nox:WaitFrames(1,17);
return;
}
DisabledFireRoomArrowTrps(){ /*17*/
int var_0;
l1:
if (var_0 < 7){
Nox:DisableObject(GLOBAL:var_12[var_0]);
var_0 += 1;
goto l1;
}
var_0 = 0;
return;
}
DemonDeath(){ /*18*/
int[3] var_0;
generic var_1;
var_0[1] = 73;
var_0[2] = 37;
l1:
if (var_0[0] < 3){
var_1 = Nox:GetWallAt(var_0[1],var_0[2]);
Nox:OpenSecretWall(var_1);
var_0[0] += 1;
var_0[1] = var_0[1] - 1;
var_0[2] += 1;
goto l1;
}
return;
}
VGspawn1(){ /*19*/
generic[2] var_0;
int var_1;
if (var_1 == 0){
var_1 += 1;
var_0[0] = Nox:WaypointFromName("VG_M1");
var_0[1] = Nox:WaypointFromName("VG_M2");
Nox:SpawnObject("Mimic",var_0[0]);
Nox:SpawnObject("Mimic",var_0[1]);
Nox:PlayFX("SMOKE_BLAST",Nox:GetWaypointX(var_0[0]),Nox:GetWaypointY(var_0[0]),0F,0F);
Nox:PlayFX("SMOKE_BLAST",Nox:GetWaypointX(var_0[1]),Nox:GetWaypointY(var_0[1]),0F,0F);
}
Nox:DisableObject(GLOBAL:var_0);
return;
}
invisibleGauntletWallSwitch(){ /*20*/
generic var_0;
var_0 = Nox:ObjFromName("FortressChain");
Nox:ApplyEnchant(var_0,"ENCHANT_INVISIBLE",0F);
return;
}
nextUnitAtDooms(){ /*21*/
int var_0;
if (var_0 == 0){
var_0 += 1;
GLOBAL:var_13 = "Swordsman";
goto l2;
}
if (var_0 == 1){
var_0 += 1;
GLOBAL:var_13 = "BlackWolf";
goto l2;
}
if (var_0 == 2){
var_0 += 1;
GLOBAL:var_13 = "SkeletonLord";
goto l2;
}
if (var_0 == 3){
var_0 += 1;
GLOBAL:var_13 = "Bear";
goto l2;
}
if (var_0 == 4){
Script:removeDoomWalls();
goto l3;
}
l2:
Nox:WaitSeconds(2,22);
l3:
return;
}
spawnDoomMobs(){ /*22*/
int var_0;
int var_1;
var_1 = 4;
l1:
if (var_0 < 4){
GLOBAL:var_14[var_0] = Nox:SpawnObject(GLOBAL:var_13,GLOBAL:var_14[var_1]);
Nox:ApplyEnchant(GLOBAL:var_14[var_0],"ENCHANT_ANCHORED",0F);
Nox:PlayFX("TELEPORT",Nox:GetWaypointX(GLOBAL:var_14[var_1]),Nox:GetWaypointY(GLOBAL:var_14[var_1]),0F,0F);
Nox:MonsterSetAggressiveness(GLOBAL:var_14[var_0],1F);
var_0 += 1;
var_1 += 1;
goto l1;
}
var_0 = 0;
Nox:WaitFrames(1,23);
return;
}
checkDoomMobs(){ /*23*/
int var_0;
int[2] var_1;
l1:
if (var_0 < 4){
var_1[0] = Nox:GetObjHealth(GLOBAL:var_14[var_0]);
if (var_1[0] == 0){
var_1[1] += 1;
}
var_0 += 1;
goto l1;
}
var_0 = 0;
if (var_1[1] == 4){
Nox:WaitFrames(30,21);
goto l2;
}
Nox:WaitFrames(5,23);
l2:
var_1[1] = 0;
return;
}
InitializeDoomMarkers(){ /*24*/
int var_0;
int[2] var_1;
var_1[0] = 26;
var_1[1] = 222;
l1:
if (var_0 < 4){
var_0 += 4;
GLOBAL:var_14[var_0] = Nox:WaypointFromName("Etele" + Nox:IntToString(var_0 - 3));
var_0 = var_0 - 4;
GLOBAL:var_15[var_0] = Nox:GetWallAt(var_1[0],var_1[1]);
var_0 += 1;
var_1[0] = var_1[0] - 1;
var_1[1] += 1;
goto l1;
}
var_0 = 0;
return;
}
removeDoomWalls(){ /*25*/
int var_0;
l1:
if (var_0 < 4){
Nox:OpenSecretWall(GLOBAL:var_15[var_0]);
var_0 += 1;
goto l1;
}
var_0 = 0;
return;
}
initializeChristInventorys(){ /*26*/
int var_0;
l1:
if (var_0 < 13){
GLOBAL:var_17[var_0] = Nox:ObjFromName("ownInventory" + Nox:IntToString(var_0 + 1));
Nox:ApplyEnchant(GLOBAL:var_17[var_0],"ENCHANT_INVULNERABLE",0F);
var_0 += 1;
goto l1;
}
}
DieChristWar1(){ /*27*/
int var_0;
l1:
if (var_0 < 7){
Nox:DeleteObject(GLOBAL:var_17[var_0]);
var_0 += 1;
goto l1;
}
Script:openChristGates();
return;
}
DieChristWar2(){ /*28*/
int var_0;
var_0 = 7;
l1:
if (var_0 < 13){
Nox:DeleteObject(GLOBAL:var_17[var_0]);
var_0 += 1;
goto l1;
}
Script:openChristGates();
return;
}
openChristGates(){ /*29*/
int var_0;
var_0 += 1;
if (var_0 == 2){
Nox:UnlockDoor(GLOBAL:var_16[2]);
Nox:UnlockDoor(GLOBAL:var_16[3]);
}
return;
}
controlChristWarsTele(){ /*30*/
int var_0;
generic var_1;
int var_2;
if (var_2 == 7){
l1:
if (var_0 < 2){
var_1 = Nox:WaypointFromName("ChristWp" + Nox:IntToString(var_0 + 1));
Nox:TeleportObj(GLOBAL:var_16[var_0],Nox:GetWaypointX(var_1),Nox:GetWaypointY(var_1));
Nox:PlayFX("SMOKE_BLAST",Nox:GetWaypointX(var_1),Nox:GetWaypointY(var_1),0F,0F);
var_0 += 1;
goto l1;
}
var_0 = 0;
goto l2;
}
var_2 += 1;
Nox:WaitFrames(7,30);
l2:
return;
}
ChristWarsTele(){ /*31*/
Nox:DisableObject(GLOBAL:var_0);
Script:controlChristWarsTele();
return;
}
initializeDryadRoom(){ /*32*/
int var_0;
int var_1;
int var_2;
var_1 = 4;
var_2 = 8;
l1:
if (var_0 < 4){
GLOBAL:var_18[var_0] = Nox:ObjFromName("DryadS" + Nox:IntToString(var_0 + 1));
GLOBAL:var_18[var_1] = Nox:WaypointFromName("StatueMove" + Nox:IntToString(var_0 + 1));
GLOBAL:var_18[var_2] = Nox:WaypointFromName("GMtele" + Nox:IntToString(var_0 + 1));
var_0 += 1;
var_1 += 1;
var_2 += 1;
goto l1;
}
var_0 = 0;
var_1 = 0;
var_2 = 0;
return;
}
admissionDryadRoom(){ /*33*/
Nox:DisableObject(GLOBAL:var_0);
Nox:AudioEvent("BigGong",GLOBAL:var_18[9]);
Nox:WaitFrames(50,34);
return;
}
controlDryad(){ /*34*/
float var_0;
float var_1;
int var_2;
var_2 = 0;
var_0 = Nox:GetDistance(Nox:GetObjX(GLOBAL:var_18[0]),Nox:GetObjY(GLOBAL:var_18[0]),Nox:GetWaypointX(GLOBAL:var_18[4]),Nox:GetWaypointY(GLOBAL:var_18[4]));
if (var_0 > 3F){
var_0 = Nox:GetObjX(GLOBAL:var_18[0]);
var_0 = var_0 + 1F;
var_1 = Nox:GetObjY(GLOBAL:var_18[0]);
var_1 = var_1 - 1F;
Nox:TeleportObj(GLOBAL:var_18[0],var_0,var_1);
goto l1;
}
var_2 += 1;
l1:
var_0 = Nox:GetDistance(Nox:GetObjX(GLOBAL:var_18[1]),Nox:GetObjY(GLOBAL:var_18[1]),Nox:GetWaypointX(GLOBAL:var_18[5]),Nox:GetWaypointY(GLOBAL:var_18[5]));
if (var_0 > 3F){
var_0 = Nox:GetObjX(GLOBAL:var_18[1]);
var_0 = var_0 + 1F;
var_1 = Nox:GetObjY(GLOBAL:var_18[1]);
var_1 = var_1 + 1F;
Nox:TeleportObj(GLOBAL:var_18[1],var_0,var_1);
goto l2;
}
var_2 += 1;
l2:
var_0 = Nox:GetDistance(Nox:GetObjX(GLOBAL:var_18[2]),Nox:GetObjY(GLOBAL:var_18[2]),Nox:GetWaypointX(GLOBAL:var_18[6]),Nox:GetWaypointY(GLOBAL:var_18[6]));
if (var_0 > 3F){
var_0 = Nox:GetObjX(GLOBAL:var_18[2]);
var_0 = var_0 - 1F;
var_1 = Nox:GetObjY(GLOBAL:var_18[2]);
var_1 = var_1 + 1F;
Nox:TeleportObj(GLOBAL:var_18[2],var_0,var_1);
goto l3;
}
var_2 += 1;
l3:
var_0 = Nox:GetDistance(Nox:GetObjX(GLOBAL:var_18[3]),Nox:GetObjY(GLOBAL:var_18[3]),Nox:GetWaypointX(GLOBAL:var_18[7]),Nox:GetWaypointY(GLOBAL:var_18[7]));
if (var_0 > 3F){
var_0 = Nox:GetObjX(GLOBAL:var_18[3]);
var_0 = var_0 - 1F;
var_1 = Nox:GetObjY(GLOBAL:var_18[3]);
var_1 = var_1 - 1F;
Nox:TeleportObj(GLOBAL:var_18[3],var_0,var_1);
goto l4;
}
var_2 += 1;
l4:
Nox:PlayFX("LIGHTNING",Nox:GetObjX(GLOBAL:var_18[0]),Nox:GetObjY(GLOBAL:var_18[0]),Nox:GetObjX(GLOBAL:var_18[1]),Nox:GetObjY(GLOBAL:var_18[1]));
Nox:PlayFX("LIGHTNING",Nox:GetObjX(GLOBAL:var_18[1]),Nox:GetObjY(GLOBAL:var_18[1]),Nox:GetObjX(GLOBAL:var_18[2]),Nox:GetObjY(GLOBAL:var_18[2]));
Nox:PlayFX("LIGHTNING",Nox:GetObjX(GLOBAL:var_18[2]),Nox:GetObjY(GLOBAL:var_18[2]),Nox:GetObjX(GLOBAL:var_18[3]),Nox:GetObjY(GLOBAL:var_18[3]));
Nox:PlayFX("LIGHTNING",Nox:GetObjX(GLOBAL:var_18[0]),Nox:GetObjY(GLOBAL:var_18[0]),Nox:GetObjX(GLOBAL:var_18[3]),Nox:GetObjY(GLOBAL:var_18[3]));
ifn (var_2 == 4){
Nox:WaitFrames(1,34);
goto l5;
}
Nox:WaitFrames(15,35);
l5:
return;
}
changeStatuesToWizardGreen(){ /*35*/
int var_0;
int var_1;
var_1 = 4;
l1:
if (var_0 < 4){
Nox:DeleteObject(GLOBAL:var_18[var_0]);
var_0 += 1;
goto l1;
}
var_0 = 0;
l2:
if (var_0 < 4){
GLOBAL:var_18[var_0] = Nox:SpawnObject("WizardGreen",GLOBAL:var_18[var_1]);
Nox:PlayFX("SMOKE_BLAST",Nox:GetWaypointX(GLOBAL:var_18[var_1]),Nox:GetWaypointY(GLOBAL:var_18[var_1]),0F,0F);
Nox:ApplyEnchant(GLOBAL:var_18[var_0],"ENCHANT_ANCHORED",0F);
Nox:ApplyEnchant(GLOBAL:var_18[var_0],"ENCHANT_SHIELD",0F);
var_0 += 1;
var_1 += 1;
goto l2;
}
Script:checkObjWizardGreens();
return;
}
checkObjWizardGreens(){ /*36*/
int var_0;
int[2] var_1;
generic var_2;
var_1[1] = 0;
l1:
if (var_0 < 4){
var_1[0] = Nox:GetObjHealth(GLOBAL:var_18[var_0]);
if (var_1[0] == 0){
var_1[1] += 1;
}
var_0 += 1;
goto l1;
}
var_0 = 0;
ifn (var_1[1] == 4){
Nox:WaitFrames(5,36);
goto l2;
}
var_2 = Nox:GetWallAt(106,48);
Nox:OpenSecretWall(var_2);
var_2 = Nox:GetWallAt(107,49);
Nox:OpenSecretWall(var_2);
GLOBAL:var_41 = GLOBAL:var_3;
l2:
return;
}
VGspawn2(){ /*37*/
int var_0;
generic[2] var_1;
Nox:DisableObject(GLOBAL:var_0);
if (var_0 == 0){
var_0 = 1;
var_1[0] = Nox:WaypointFromName("VG_M3");
var_1[1] = Nox:WaypointFromName("VG_M4");
Nox:SpawnObject("Mimic",var_1[0]);
Nox:SpawnObject("Mimic",var_1[1]);
Nox:PlayFX("SMOKE_BLAST",Nox:GetWaypointX(var_1[0]),Nox:GetWaypointY(var_1[0]),0F,0F);
Nox:PlayFX("SMOKE_BLAST",Nox:GetWaypointX(var_1[1]),Nox:GetWaypointY(var_1[1]),0F,0F);
}
return;
}
InitializeBelowRows(){ /*38*/
int var_0;
l1:
if (var_0 < 6){
GLOBAL:var_19[var_0] = Nox:ObjFromName("belowArrowTrp" + Nox:IntToString(var_0 + 1));
var_0 += 1;
goto l1;
}
var_0 = 0;
return;
}
EnableArrowTrapGroup12(){ /*39*/
int var_0;
l1:
if (var_0 < 3){
Nox:EnableObject(GLOBAL:var_19[var_0]);
var_0 += 1;
goto l1;
}
var_0 = 0;
Nox:WaitFrames(1,40);
return;
}
TurnOffArrowTrapGroup12(){ /*40*/
int var_0;
l1:
if (var_0 < 3){
Nox:DisableObject(GLOBAL:var_19[var_0]);
var_0 += 1;
goto l1;
}
var_0 = 0;
return;
}
EnableArrowTrapGroup11(){ /*41*/
int var_0;
var_0 = 3;
l1:
if (var_0 < 6){
Nox:EnableObject(GLOBAL:var_19[var_0]);
var_0 += 1;
goto l1;
}
Nox:WaitFrames(1,42);
return;
}
TurnOffArrowTrapGroup11(){ /*42*/
int var_0;
var_0 = 3;
l1:
if (var_0 < 6){
Nox:DisableObject(GLOBAL:var_19[var_0]);
var_0 += 1;
goto l1;
}
return;
}
activateDropMeteor(){ /*43*/
int var_0;
if (var_0 == 0){
Nox:WaitFrames(10,44);
var_0 += 1;
}
Nox:DisableObject(GLOBAL:var_0);
return;
}
getMeteorArray(){ /*44*/
int var_0;
int var_1;
generic[7] var_2; /* meteor waypoints */
if (var_1 == 0){
l1:
if (var_0 < 6){
var_2[var_0] = Nox:WaypointFromName("MeteorTarget" + Nox:IntToString(var_0 + 1));
var_0 += 1;
goto l1;
}
var_2[var_0] = Nox:ObjFromName("MeteorOrigin");
var_0 = 0;
var_1 = 1;
}
if (var_0 < 6){
Nox:ApplySpellObjXY("SPELL_METEOR",var_2[6],Nox:GetWaypointX(var_2[var_0]),Nox:GetWaypointY(var_2[var_0]));
var_0 += 1;
goto l2;
}
var_0 = 0;
l2:
Nox:WaitFrames(25,44);
return;
}
SetDrayStatue(){ /*45*/
int var_0;
Nox:ApplyEnchant(GLOBAL:var_0,"ENCHANT_VILLAIN",0.1F);
Nox:ApplyEnchant(GLOBAL:var_0,"ENCHANT_SNEAK",5F);
Nox:DisableObject(GLOBAL:var_0);
Nox:WaitFrames(3,46);
if (var_0 == 0){
var_0 = 1;
Script:checkFourStatuesAndTurnOnElevator();
}
return;
}
controlStatuePlateForElevator(){ /*46*/
int var_0;
int var_1;
int var_2;
var_0 = 0;
var_1 = 4;
var_2 = 8;
l1:
if (var_0 < 4){
if (Nox:IsEnchantActive(GLOBAL:var_20[var_0],"ENCHANT_SNEAK")){
ifn (Nox:IsEnchantActive(GLOBAL:var_20[var_0],"ENCHANT_VILLAIN")){
Nox:CancelEnchant(GLOBAL:var_20[var_0],"ENCHANT_SNEAK");
Nox:MoveTo(GLOBAL:var_20[var_1],GLOBAL:var_20[var_2]);
}
}
var_1 += 1;
var_2 += 1;
var_0 += 1;
goto l1;
}
return;
}
InitializeElevatorStatues(){ /*47*/
int var_0;
int var_1;
int var_2;
var_1 = 4;
var_2 = 8;
l1:
if (var_0 < 4){
GLOBAL:var_20[var_0] = Nox:ObjFromName("DrayStatuePlate" + Nox:IntToString(var_0 + 1));
GLOBAL:var_20[var_1] = Nox:ObjFromName("SpellStatue" + Nox:IntToString(var_0 + 1));
GLOBAL:var_20[var_2] = Nox:WaypointFromName("SpellStatueWp" + Nox:IntToString(var_0 + 1));
var_0 += 1;
var_1 += 1;
var_2 += 1;
goto l1;
}
GLOBAL:var_20[var_2] = Nox:ObjFromName("NPCElevator");
return;
}
checkFourStatuesAndTurnOnElevator(){ /*48*/
int var_0;
int var_1;
float var_2;
int var_3;
var_3 = 0;
var_0 = 4;
var_1 = 8;
l1:
if (var_0 < 8){
var_2 = Nox:GetDistance(Nox:GetObjX(GLOBAL:var_20[var_0]),Nox:GetObjY(GLOBAL:var_20[var_0]),Nox:GetWaypointX(GLOBAL:var_20[var_1]),Nox:GetWaypointY(GLOBAL:var_20[var_1]));
if (var_2 < 7F){
var_3 += 1;
}
var_0 += 1;
var_1 += 1;
goto l1;
}
if (var_3 == 4){
Nox:PrintToAll("GeneralPrint:MsgElevOn");
Nox:EnableObject(GLOBAL:var_20[12]);
goto l2;
}
Nox:WaitFrames(1,48);
l2:
return;
}
WhiteWizards(){ /*49*/
int var_0;
generic[4] var_1;
if (var_0 == 0){
var_0 = 10;
var_1[0] = Nox:WaypointFromName("WhiteWp1");
var_1[1] = Nox:WaypointFromName("WhiteWp2");
var_1[2] = Nox:SpawnObject("Mimic",var_1[0]);
var_1[3] = Nox:SpawnObject("Mimic",var_1[1]);
Nox:ApplyEnchant(var_1[2],"ENCHANT_ANCHORED",0F);
Nox:ApplyEnchant(var_1[3],"ENCHANT_ANCHORED",0F);
Nox:PlayFX("SUMMON",Nox:GetWaypointX(var_1[0]),Nox:GetWaypointY(var_1[0]),0F,0F);
Nox:PlayFX("SUMMON",Nox:GetWaypointX(var_1[1]),Nox:GetWaypointY(var_1[1]),0F,0F);
}
Nox:DisableObject(GLOBAL:var_0);
return;
}
InitializeMagicRoom(){ /*50*/
int var_0;
l1:
if (var_0 < 6){
GLOBAL:var_22[var_0] = Nox:ObjFromName("magicRoomSwitch" + Nox:IntToString(var_0 + 1));
var_0 += 1;
goto l1;
}
var_0 = 0;
GLOBAL:var_21[0] = Nox:GetWallAt(196,244);
GLOBAL:var_21[1] = Nox:GetWallAt(197,243);
GLOBAL:var_21[2] = Nox:GetWallAt(199,241);
GLOBAL:var_21[3] = Nox:GetWallAt(200,240);
GLOBAL:var_21[4] = Nox:GetWallAt(202,238);
GLOBAL:var_21[5] = Nox:GetWallAt(203,237);
GLOBAL:var_21[6] = Nox:GetWallAt(205,235);
GLOBAL:var_21[7] = Nox:GetWallAt(206,234);
GLOBAL:var_21[8] = Nox:GetWallAt(210,234);
GLOBAL:var_21[9] = Nox:GetWallAt(211,235);
GLOBAL:var_21[10] = Nox:GetWallAt(213,237);
GLOBAL:var_21[11] = Nox:GetWallAt(214,238);
return;
}
removeMagicRoomWalls(){ /*51*/
Nox:ApplyEnchant(GLOBAL:var_0,"ENCHANT_VILLAIN",0.1F);
Nox:ApplyEnchant(GLOBAL:var_0,"ENCHANT_SNEAK",5F);
Nox:DisableObject(GLOBAL:var_0);
Nox:WaitFrames(3,52);
return;
}
controlOpenMagicRoomWalls(){ /*52*/
int var_0;
int var_1;
var_0 = 0;
l1:
if (var_0 < 6){
if (Nox:IsEnchantActive(GLOBAL:var_22[var_0],"ENCHANT_SNEAK")){
ifn (Nox:IsEnchantActive(GLOBAL:var_22[var_0],"ENCHANT_VILLAIN")){
Nox:CancelEnchant(GLOBAL:var_22[var_0],"ENCHANT_SNEAK");
var_1 = var_0 * 2;
Nox:OpenSecretWall(GLOBAL:var_21[var_1]);
var_1 += 1;
Nox:OpenSecretWall(GLOBAL:var_21[var_1]);
}
}
var_0 += 1;
goto l1;
}
return;
}
GrantNumberToGens(){ /*53*/
float var_0;
float var_1;
var_0 = Nox:GetObjX(GLOBAL:var_1);
var_1 = Nox:GetObjY(GLOBAL:var_1);
Nox:DisableObject(GLOBAL:var_0);
if (var_1 == 1713F){
if (var_0 == 3967F){
GLOBAL:var_23[0] = Nox:ScriptCaller();
}
if (var_0 == 4059F){
GLOBAL:var_23[1] = Nox:ScriptCaller();
}
if (var_0 == 4151F){
GLOBAL:var_23[2] = Nox:ScriptCaller();
}
if (var_0 == 4243F){
GLOBAL:var_23[3] = Nox:ScriptCaller();
}
}
if (var_1 == 1782F){
if (var_0 == 3898F){
GLOBAL:var_23[4] = Nox:ScriptCaller();
}
if (var_0 == 3990F){
GLOBAL:var_23[5] = Nox:ScriptCaller();
}
if (var_0 == 4082F){
GLOBAL:var_23[6] = Nox:ScriptCaller();
}
if (var_0 == 4174F){
GLOBAL:var_23[7] = Nox:ScriptCaller();
}
}
if (var_1 == 1851F){
if (var_0 == 3829F){
GLOBAL:var_23[8] = Nox:ScriptCaller();
}
if (var_0 == 3921F){
GLOBAL:var_23[9] = Nox:ScriptCaller();
}
if (var_0 == 4013F){
GLOBAL:var_23[10] = Nox:ScriptCaller();
}
if (var_0 == 4105F){
GLOBAL:var_23[11] = Nox:ScriptCaller();
}
}
return;
}
StartSummoning(){ /*54*/
int var_0;
l1:
Nox:DisableObject(GLOBAL:var_0);
if (var_0 < 4){
GLOBAL:var_24[var_0] = Nox:WaypointFromName("VGF_Mspawn" + Nox:IntToString(var_0 + 1));
var_0 += 1;
goto l1;
}
Nox:WaitFrames(120,55);
Script:settingGauntletElevators();
var_0 = 0;
return;
}
getTeleportGens(){ /*55*/
int var_0;
int var_1;
int var_2;
l1:
if (var_0 < 4){
if (var_1 == 3){
l2:
if (var_0 < 4){
GLOBAL:var_26[var_0] = Nox:SpawnObject("BomberBlue",GLOBAL:var_24[var_0]);
Nox:MonsterTrapSpells(GLOBAL:var_26[var_0],"SPELL_CLEANSING_MANA_FLAME","SPELL_FIST","NULL");
Nox:PlayFX("TELEPORT",Nox:GetWaypointX(GLOBAL:var_24[var_0]),Nox:GetWaypointY(GLOBAL:var_24[var_0]),0F,0F);
Nox:PlayFX("SMOKE_BLAST",Nox:GetWaypointX(GLOBAL:var_24[var_0]),Nox:GetWaypointY(GLOBAL:var_24[var_0]),0F,0F);
Nox:AudioEvent("BlinkCast",GLOBAL:var_24[var_0]);
var_0 += 1;
goto l2;
}
Nox:WaitFrames(1,57);
goto l3;
}
Nox:TeleportObj(GLOBAL:var_23[var_2],Nox:GetWaypointX(GLOBAL:var_24[var_0]),Nox:GetWaypointY(GLOBAL:var_24[var_0]));
Nox:PlayFX("TELEPORT",Nox:GetWaypointX(GLOBAL:var_24[var_0]),Nox:GetWaypointY(GLOBAL:var_24[var_0]),0F,0F);
Nox:PlayFX("SMOKE_BLAST",Nox:GetWaypointX(GLOBAL:var_24[var_0]),Nox:GetWaypointY(GLOBAL:var_24[var_0]),0F,0F);
Nox:AudioEvent("BlinkCast",GLOBAL:var_24[var_0]);
var_0 += 1;
var_2 += 1;
goto l1;
}
var_1 += 1;
var_0 = 0;
Nox:WaitFrames(1,56);
l3:
return;
}
checkGens(){ /*56*/
int var_0;
int var_1;
int var_2; /* deaths count value of generator */
var_2 = 0;
var_0 = 0;
l1:
if (var_0 < 4){
var_1 = Nox:GetObjHealth(GLOBAL:var_23[GLOBAL:var_25]);
if (var_1 == 0){
var_2 += 1;
}
var_0 += 1;
GLOBAL:var_25 += 1;
goto l1;
}
if (var_2 == 4){
Nox:WaitFrames(70,55);
goto l2;
}
GLOBAL:var_25 = GLOBAL:var_25 - 4;
Nox:WaitFrames(1,56);
l2:
return;
}
checkManaBombers(){ /*57*/
int var_0;
int[2] var_1;
var_1[1] = 0; /* bomber deaths count */
l1:
if (var_0 < 4){
var_1[0] = Nox:GetObjHealth(GLOBAL:var_26[var_0]);
if (var_1[0] == 0){
var_1[1] += 1;
}
var_0 += 1;
goto l1;
}
var_0 = 0;
if (var_1[1] == 4){
Nox:WaitFrames(50,58);
goto l2;
}
Nox:WaitFrames(1,57);
l2:
return;
}
completGauntlet(){ /*58*/
generic var_0;
int var_1;
var_0 = Nox:ObjFromName("VGFsentry1");
Nox:DisableObject(var_0);
l1:
if (var_1 < 4){
Nox:SpawnObject("MovableStatueVictory4SW",GLOBAL:var_24[var_1]);
Nox:PlayFX("TELEPORT",Nox:GetWaypointX(GLOBAL:var_24[var_1]),Nox:GetWaypointY(GLOBAL:var_24[var_1]),0F,0F);
Nox:PlayFX("SMOKE_BLAST",Nox:GetWaypointX(GLOBAL:var_24[var_1]),Nox:GetWaypointY(GLOBAL:var_24[var_1]),0F,0F);
var_1 += 1;
goto l1;
}
return;
}
FortressSecretWalls(){ /*59*/
int var_0;
int[2] var_1;
generic var_2;
var_1[0] = 107;
var_1[1] = 77;
Nox:DisableObject(GLOBAL:var_0);
l1:
if (var_0 < 3){
var_2 = Nox:GetWallAt(var_1[0],var_1[1]);
Nox:OpenSecretWall(var_2);
var_1[0] += 1;
var_1[1] += 1;
var_0 += 1;
goto l1;
}
return;
}
settingGauntletElevators(){ /*60*/
int var_0;
generic var_1;
if (var_0 < 23){
var_1 = Nox:ObjFromName("VGelev" + Nox:IntToString(var_0 + 1));
Nox:EnableObject(var_1);
var_0 += 1;
Nox:WaitFrames(5,60);
}
return;
}
deathballTrp2(){ /*61*/
generic[2] var_0;
var_0[0] = Nox:ObjFromName("FON_Origin2");
var_0[1] = Nox:WaypointFromName("fon_target2");
Nox:ApplySpellObjXY("SPELL_FORCE_OF_NATURE",var_0[0],Nox:GetWaypointX(var_0[1]),Nox:GetWaypointY(var_0[1]));
Nox:WaitFrames(200,61);
return;
}
ReleaseMecaGolemElevator(){ /*62*/
int var_0;
Nox:DisableObject(GLOBAL:var_0);
var_0 += 1;
if (var_0 == 4){
Script:turnOnMecaGolemElevator();
var_0 = 0;
}
return;
}
turnOnMecaGolemElevator(){ /*63*/
int[5] var_0;
generic var_1;
var_0[1] = 49; /*plus*/
var_0[2] = 47; /*minus*/
var_0[3] = 133; /*plus*/
var_0[4] = 139; /*minus*/
l1:
if (var_0[0] < 4){
var_1 = Nox:GetWallAt(var_0[1],var_0[3]);
Nox:OpenSecretWall(var_1);
var_1 = Nox:GetWallAt(var_0[1],var_0[4]);
Nox:OpenSecretWall(var_1);
var_1 = Nox:GetWallAt(var_0[2],var_0[3]);
Nox:OpenSecretWall(var_1);
var_1 = Nox:GetWallAt(var_0[2],var_0[4]);
Nox:OpenSecretWall(var_1);
var_0[1] += 1;
var_0[2] = var_0[2] - 1;
var_0[3] += 1;
var_0[4] = var_0[4] - 1;
var_0[0] += 1;
goto l1;
}
Script:StartElevatorAgain();
Nox:WaitFrames(15,114);
Nox:EnableObject(GLOBAL:var_27[2]);
Nox:TeleportObj(GLOBAL:var_27[2],Nox:GetWaypointX(GLOBAL:var_27[3]),Nox:GetWaypointY(GLOBAL:var_27[3]));
GLOBAL:var_28 = GLOBAL:var_3;
return;
}
turnOffMecaElevator(){ /*64*/
Nox:DisableObject(GLOBAL:var_27[0]);
Nox:LockDoor(GLOBAL:var_27[1]);
return;
}
ElevatorLightningDamage(){ /*65*/
if (GLOBAL:var_28 == GLOBAL:var_2){
Nox:DamageObject(GLOBAL:var_1,0,3,9);
}
return;
}
outputLightningEffectAroundElevator(){ /*66*/
if (GLOBAL:var_28 == GLOBAL:var_2){
Nox:PlayFX("LIGHTNING",Nox:GetWaypointX(GLOBAL:var_29[0]),Nox:GetWaypointY(GLOBAL:var_29[0]),Nox:GetWaypointX(GLOBAL:var_29[1]),Nox:GetWaypointY(GLOBAL:var_29[1]));
Nox:PlayFX("LIGHTNING",Nox:GetWaypointX(GLOBAL:var_29[1]),Nox:GetWaypointY(GLOBAL:var_29[1]),Nox:GetWaypointX(GLOBAL:var_29[2]),Nox:GetWaypointY(GLOBAL:var_29[2]));
Nox:PlayFX("LIGHTNING",Nox:GetWaypointX(GLOBAL:var_29[2]),Nox:GetWaypointY(GLOBAL:var_29[2]),Nox:GetWaypointX(GLOBAL:var_29[3]),Nox:GetWaypointY(GLOBAL:var_29[3]));
Nox:PlayFX("LIGHTNING",Nox:GetWaypointX(GLOBAL:var_29[3]),Nox:GetWaypointY(GLOBAL:var_29[3]),Nox:GetWaypointX(GLOBAL:var_29[0]),Nox:GetWaypointY(GLOBAL:var_29[0]));
Nox:WaitFrames(1,66);
}
return;
}
settingElectricElevatorWaypoints(){ /*67*/
int var_0;
Nox:DisableObject(GLOBAL:var_0);
l1:
if (var_0 < 4){
GLOBAL:var_29[var_0] = Nox:WaypointFromName("golemElevatorWP" + Nox:IntToString(var_0 + 1));
var_0 += 1;
goto l1;
}
Script:outputLightningEffectAroundElevator();
Script:settingToLightningWps();
Script:initializeChristInventorys();
Nox:WaitFrames(1,114);
Nox:WaitFrames(16,114);
Nox:WaitFrames(85,116);
var_0 = 0;
return;
}
LightDoor(){ /*68*/
Nox:PrintToAll("Wiz05c.scr:DoorsUnlocked");
Nox:UnlockDoor(GLOBAL:var_27[1]);
Nox:DisableObject(GLOBAL:var_0);
Script:finalMagicWallsArray();
Nox:WaitFrames(60,118);
Nox:WaitFrames(80,119);
return;
}
PullStatue(){ /*69*/
generic var_0;
var_0 = Nox:ObjFromName("PullState");
Nox:ApplySpellObjXY("SPELL_PULL",var_0,Nox:GetObjX(var_0),Nox:GetObjY(var_0));
return;
}
initializeElevatorArrowTrp(){ /*70*/
int var_0;
l1:
if (var_0 < 16){
GLOBAL:var_30[var_0] = Nox:ObjFromName("DeathArrow" + Nox:IntToString(var_0 + 1));
var_0 += 1;
goto l1;
}
return;
}
EnableArrowTrapGroup01(){ /*71*/
Nox:EnableObject(GLOBAL:var_30[0]);
Nox:WaitFrames(1,72);
return;
}
DisableAarrowTrp1(){ /*72*/
Nox:DisableObject(GLOBAL:var_30[0]);
return;
}
EnableArrowTrapGroup02(){ /*73*/
Nox:EnableObject(GLOBAL:var_30[1]);
Nox:WaitFrames(1,74);
return;
}
DisableArrowTrp2(){ /*74*/
Nox:DisableObject(GLOBAL:var_30[1]);
return;
}
EnableArrowTrapGroup03(){ /*75*/
Nox:EnableObject(GLOBAL:var_30[2]);
Nox:WaitFrames(1,76);
return;
}
DisableArrowTrp3(){ /*76*/
Nox:DisableObject(GLOBAL:var_30[2]);
return;
}
EnableArrowTrapGroup04(){ /*77*/
Nox:EnableObject(GLOBAL:var_30[3]);
Nox:WaitFrames(1,78);
return;
}
DisableArrowTrp4(){ /*78*/
Nox:DisableObject(GLOBAL:var_30[3]);
return;
}
EnableArrowTrapGroup05(){ /*79*/
Nox:EnableObject(GLOBAL:var_30[4]);
Nox:EnableObject(GLOBAL:var_30[5]);
Nox:EnableObject(GLOBAL:var_30[15]);
Nox:WaitFrames(1,80);
return;
}
TurnOffTrapArrow5(){ /*80*/
Nox:DisableObject(GLOBAL:var_30[4]);
Nox:DisableObject(GLOBAL:var_30[5]);
Nox:DisableObject(GLOBAL:var_30[15]);
return;
}
EnableArrowTrapGroup07(){ /*81*/
Nox:EnableObject(GLOBAL:var_30[6]);
Nox:WaitFrames(1,82);
return;
}
TurnOffTrapArrow7(){ /*82*/
Nox:DisableObject(GLOBAL:var_30[6]);
return;
}
EnableArrowTrapGroup08(){ /*83*/
Nox:EnableObject(GLOBAL:var_30[7]);
Nox:WaitFrames(1,84);
return;
}
TurnOffTrapArrow8(){ /*84*/
Nox:DisableObject(GLOBAL:var_30[7]);
return;
}
EnableArrowTrapGroup09(){ /*85*/
Nox:EnableObject(GLOBAL:var_30[8]);
Nox:WaitFrames(1,86);
return;
}
TurnOffTrapArrow9(){ /*86*/
Nox:DisableObject(GLOBAL:var_30[8]);
return;
}
EnableArrowTrapGroup10(){ /*87*/
int var_0;
var_0 = 9;
l1:
if (var_0 < 14){
Nox:EnableObject(GLOBAL:var_30[var_0]);
var_0 += 1;
goto l1;
}
Nox:WaitFrames(1,88);
return;
}
TurnOffArrowTraps(){ /*88*/
int var_0;
var_0 = 9;
l1:
if (var_0 < 14){
Nox:DisableObject(GLOBAL:var_30[var_0]);
var_0 += 1;
goto l1;
}
return;
}
displayLightningEffectToWidth(){ /*89*/
int var_0;
int var_1;
generic var_2;
if (var_0 == 0){
var_0 = 1;
Nox:DisableObject(GLOBAL:var_0);
l1:
if (var_1 < 7){
var_2 = Nox:ObjFromName("LeftRoomLight" + Nox:IntToString(var_1 + 1));
Nox:EnableObject(var_2);
var_1 += 1;
goto l1;
}
var_1 = 0;
GLOBAL:var_32 += 1;
Script:openMiddleWalls();
}
Nox:PlayFX("DRAIN_MANA",Nox:GetWaypointX(GLOBAL:var_31[0]),Nox:GetWaypointY(GLOBAL:var_31[0]),Nox:GetWaypointX(GLOBAL:var_31[4]),Nox:GetWaypointY(GLOBAL:var_31[4]));
Nox:PlayFX("DRAIN_MANA",Nox:GetWaypointX(GLOBAL:var_31[1]),Nox:GetWaypointY(GLOBAL:var_31[1]),Nox:GetWaypointX(GLOBAL:var_31[4]),Nox:GetWaypointY(GLOBAL:var_31[4]));
Nox:WaitFrames(1,89);
return;
}
displayLightningEffectToHeight(){ /*90*/
int var_0;
int var_1;
generic var_2;
if (var_0 == 0){
var_0 = 1;
Nox:DisableObject(GLOBAL:var_0);
l1:
if (var_1 < 7){
var_2 = Nox:ObjFromName("LeftRoomLight" + Nox:IntToString(var_1 + 8));
Nox:EnableObject(var_2);
var_1 += 1;
goto l1;
}
var_1 = 0;
GLOBAL:var_32 += 1;
Script:openMiddleWalls();
}
Nox:PlayFX("DRAIN_MANA",Nox:GetWaypointX(GLOBAL:var_31[2]),Nox:GetWaypointY(GLOBAL:var_31[2]),Nox:GetWaypointX(GLOBAL:var_31[4]),Nox:GetWaypointY(GLOBAL:var_31[4]));
Nox:PlayFX("DRAIN_MANA",Nox:GetWaypointX(GLOBAL:var_31[3]),Nox:GetWaypointY(GLOBAL:var_31[3]),Nox:GetWaypointX(GLOBAL:var_31[4]),Nox:GetWaypointY(GLOBAL:var_31[4]));
Nox:WaitFrames(1,90);
return;
}
settingToLightningWps(){ /*91*/
int var_0;
l1:
if (var_0 < 5){
GLOBAL:var_31[var_0] = Nox:WaypointFromName("crossLightningWp" + Nox:IntToString(var_0 + 1));
var_0 += 1;
goto l1;
}
return;
}
openMiddleWalls(){ /*92*/
int var_0;
int[2] var_1;
generic var_2;
if (GLOBAL:var_32 == 2){
var_1[0] = 71;
var_1[1] = 111;
l1:
if (var_0 < 3){
var_2 = Nox:GetWallAt(var_1[0],var_1[1]);
Nox:OpenSecretWall(var_2);
var_0 += 1;
var_1[0] += 1;
var_1[1] += 1;
goto l1;
}
var_2 = Nox:ObjFromName("lightningUpLift");
Nox:EnableObject(var_2);
}
return;
}
UnlockGates(){ /*93*/
Nox:UnlockDoor(GLOBAL:var_34[0]);
Nox:UnlockDoor(GLOBAL:var_34[1]);
Nox:DisableObject(GLOBAL:var_0);
return;
}
settingLightningTrpWaypoints(){ /*94*/
int var_0;
l1:
if (var_0 < 6){
GLOBAL:var_33[var_0] = Nox:WaypointFromName("LightningTrp" + Nox:IntToString(var_0 + 1));
var_0 += 1;
goto l1;
}
var_0 = 0;
return;
}
LightningTrap1Damage(){ /*95*/
if (GLOBAL:var_35[0] == 1){
Nox:DamageObject(GLOBAL:var_1,0,2,9);
}
return;
}
LightningTrap2(){ /*96*/
if (GLOBAL:var_35[1] == 1){
Nox:DamageObject(GLOBAL:var_1,0,2,9);
}
return;
}
LightningTrap3(){ /*97*/
if (GLOBAL:var_35[2] == 1){
Nox:DamageObject(GLOBAL:var_1,0,2,9);
}
return;
}
controlLightningTrpEffect(){ /*98*/
int[2] var_0;
if (var_0[0] < 60){
if (var_0[1] == 0){
Nox:PlayFX("LIGHTNING",Nox:GetWaypointX(GLOBAL:var_33[0]),Nox:GetWaypointY(GLOBAL:var_33[0]),Nox:GetWaypointX(GLOBAL:var_33[1]),Nox:GetWaypointY(GLOBAL:var_33[1]));
GLOBAL:var_35[0] = 1;
GLOBAL:var_35[1] = 0;
GLOBAL:var_35[2] = 0;
}
if (var_0[1] == 1){
Nox:PlayFX("LIGHTNING",Nox:GetWaypointX(GLOBAL:var_33[2]),Nox:GetWaypointY(GLOBAL:var_33[2]),Nox:GetWaypointX(GLOBAL:var_33[3]),Nox:GetWaypointY(GLOBAL:var_33[3]));
GLOBAL:var_35[0] = 0;
GLOBAL:var_35[1] = 1;
GLOBAL:var_35[2] = 0;
}
if (var_0[1] == 2){
Nox:PlayFX("LIGHTNING",Nox:GetWaypointX(GLOBAL:var_33[4]),Nox:GetWaypointY(GLOBAL:var_33[4]),Nox:GetWaypointX(GLOBAL:var_33[5]),Nox:GetWaypointY(GLOBAL:var_33[5]));
GLOBAL:var_35[0] = 0;
GLOBAL:var_35[1] = 0;
GLOBAL:var_35[2] = 1;
}
var_0[0] += 1;
goto l2;
}
var_0[0] = 0;
var_0[1] += 1;
if (var_0[1] == 3){
var_0[1] = 0;
}
l2:
Nox:WaitFrames(1,98);
return;
}
PhysicsSecretWalls(){ /*99*/
int var_0;
int[2] var_1;
generic var_2;
Nox:DisableObject(GLOBAL:var_0);
var_1[0] = 207;
var_1[1] = 135;
l1:
if (var_0 < 3){
var_2 = Nox:GetWallAt(var_1[0],var_1[1]);
Nox:OpenSecretWall(var_2);
var_0 += 1;
var_1[0] += 1;
var_1[1] += 1;
goto l1;
}
return;
}
PullStatue3(){ /*100*/
generic var_0;
var_0 = Nox:ObjFromName("PullStatue3");
Nox:ApplySpellObjXY("SPELL_PULL",var_0,Nox:GetObjX(var_0),Nox:GetObjY(var_0));
return;
}
OpenFluffyExit(){ /*101*/
generic var_0;
int var_1;
var_0 = Nox:GetWallAt(196,34);
Nox:OpenSecretWall(var_0);
var_0 = Nox:GetWallAt(197,35);
Nox:OpenSecretWall(var_0);
l1:
if (var_1 < 4){
Nox:SpawnObject("BlueRain",Nox:WaypointFromName("VBtele" + Nox:IntToString(var_1 + 1)));
var_1 += 1;
goto l1;
}
return;
}
initializeLichIdolKeys(){ /*102*/
GLOBAL:var_36[0] = Nox:ObjFromName("RedKey");
GLOBAL:var_36[1] = Nox:ObjFromName("BlueKey");
GLOBAL:var_36[2] = Nox:ObjFromName("RedKeyBase");
GLOBAL:var_36[3] = Nox:ObjFromName("BlueKeyBase");
GLOBAL:var_36[4] = Nox:ObjFromName("KeySentry");
GLOBAL:var_36[5] = Nox:GetWallAt(224,146);
GLOBAL:var_36[6] = Nox:GetWallAt(225,147);
GLOBAL:var_36[7] = Nox:GetWallAt(225,145);
GLOBAL:var_36[8] = Nox:GetWallAt(226,146);
GLOBAL:var_36[9] = Nox:GetWallAt(214,144);
return;
}
RedKeySet(){ /*103*/
if (Nox:ObjIsCaller(GLOBAL:var_36[0])){
Nox:DeleteObject(GLOBAL:var_36[0]);
Nox:EnableObject(GLOBAL:var_36[2]);
Nox:DisableObject(GLOBAL:var_0);
Script:activateExitSentry();
}
return;
}
BlueKeySet(){ /*104*/
if (Nox:ObjIsCaller(GLOBAL:var_36[1])){
Nox:DeleteObject(GLOBAL:var_36[1]);
Nox:EnableObject(GLOBAL:var_36[3]);
Nox:DisableObject(GLOBAL:var_0);
Script:activateExitSentry();
}
return;
}
activateExitSentry(){ /*105*/
int var_0;
var_0 += 1;
if (var_0 == 2){
Nox:OpenSecretWall(GLOBAL:var_36[9]);
Nox:WaitFrames(45,106);
}
return;
}
movingExitSentry(){ /*106*/
float var_0;
float var_1;
var_0 = Nox:GetObjX(GLOBAL:var_36[4]);
var_1 = Nox:GetObjY(GLOBAL:var_36[4]);
if (var_0 < 4957F){
var_0 = var_0 + 2F;
var_1 = var_1 + 2F;
Nox:TeleportObj(GLOBAL:var_36[4],var_0,var_1);
Nox:WaitFrames(1,106);
goto l2;
}
if (var_0 < 4981F){
var_0 = var_0 + 2F;
var_1 = var_1 - 2F;
Nox:TeleportObj(GLOBAL:var_36[4],var_0,var_1);
Nox:WaitFrames(1,106);
goto l2;
}
if (var_0 < 5109F){
var_0 = var_0 + 2F;
var_1 = var_1 + 2F;
Nox:TeleportObj(GLOBAL:var_36[4],var_0,var_1);
Nox:WaitFrames(1,106);
goto l2;
}
Nox:WaitFrames(70,107);
l2:
return;
}
controlExitEvent(){ /*107*/
int[2] var_0;
var_0[1] = 90;
var_0[0] += 1;
if (var_0[0] == 1){
Nox:EnableObject(GLOBAL:var_36[4]);
}
if (var_0[0] == 2){
Nox:OpenSecretWall(GLOBAL:var_36[5]);
Nox:OpenSecretWall(GLOBAL:var_36[6]);
Nox:BreakWall(GLOBAL:var_36[7]);
Nox:BreakWall(GLOBAL:var_36[8]);
var_0[1] = 40;
}
if (var_0[0] == 3){
Nox:DisableObject(GLOBAL:var_36[4]);
goto l2;
}
Nox:WaitFrames(var_0[1],107);
l2:
return;
}
DrayStatue2(){ /*108*/
generic var_0;
var_0 = Nox:ObjFromName("DrayStatue2");
Nox:ApplySpellObjXY("SPELL_DEATH_RAY",var_0,Nox:GetObjX(GLOBAL:var_1),Nox:GetObjY(GLOBAL:var_1));
return;
}
BarrelWall(){ /*109*/
generic var_0;
Nox:DisableObject(GLOBAL:var_0);
var_0 = Nox:GetWallAt(45,87);
Nox:OpenSecretWall(var_0);
var_0 = Nox:ObjFromName("InvisoChest1");
Nox:ApplyEnchant(var_0,"ENCHANT_INVISIBLE",0F);
return;
}
MapInitialize(){ /*110*/
GLOBAL:var_37 = Nox:ObjFromName("Demon1");
Nox:MonsterSetAggressiveness(GLOBAL:var_37,1F);
Script:InitializeUnderfootArea();
return;
}
displayTetryGens(){ /*111*/
int var_0;
if (var_0 == 0){
Nox:WaitFrames(10,21);
var_0 = 1;
}
Nox:DisableObject(GLOBAL:var_0);
return;
}
OpenPitWall1(){ /*112*/
generic var_0;
Nox:DisableObject(GLOBAL:var_0);
var_0 = Nox:GetWallAt(83,213);
Nox:OpenSecretWall(var_0);
var_0 = Nox:GetWallAt(84,214);
Nox:OpenSecretWall(var_0);
return;
}
OpenPitWall2(){ /*113*/
generic var_0;
Nox:DisableObject(GLOBAL:var_0);
var_0 = Nox:GetWallAt(80,210);
Nox:OpenSecretWall(var_0);
var_0 = Nox:GetWallAt(81,211);
Nox:OpenSecretWall(var_0);
return;
}
StartElevatorAgain(){ /*114*/
Nox:ToggleObject(GLOBAL:var_27[0]);
return;
}
testTeleportPlayer(){ /*115*/
generic var_0;
var_0 = Nox:WaypointFromName("testLocationHere");
Nox:TeleportObj(GLOBAL:var_1,Nox:GetWaypointX(var_0),Nox:GetWaypointY(var_0));
return;
}
toggleSouthSentryTrp(){ /*116*/
generic var_0;
var_0 = Nox:ObjFromName("Sentry4");
Nox:ToggleObject(var_0);
var_0 = Nox:ObjFromName("Sentry5");
Nox:ToggleObject(var_0);
Nox:WaitFrames(85,116);
return;
}
finalMagicWallsArray(){ /*117*/
int var_0;
int[6] var_1;
var_1[0] = 90;
var_1[1] = 132;
var_1[2] = 101;
var_1[3] = 141;
var_1[4] = 113;
var_1[5] = 127;
l1:
if (var_0 < 14){
if (var_0 < 11){
GLOBAL:var_38[var_0] = Nox:GetWallAt(var_1[0],var_1[1]);
GLOBAL:var_40[var_0] = Nox:GetWallAt(var_1[4],var_1[5]);
Nox:OpenSecretWall(GLOBAL:var_38[var_0]);
Nox:OpenSecretWall(GLOBAL:var_40[var_0]);
}
GLOBAL:var_39[var_0] = Nox:GetWallAt(var_1[2],var_1[3]);
Nox:OpenSecretWall(GLOBAL:var_39[var_0]);
var_1[0] += 1;
var_1[1] += 1;
var_1[2] += 1;
var_1[3] += -1;
var_1[4] += -1;
var_1[5] += -1;
var_0 += 1;
goto l1;
}
return;
}
controlFinallyMagicWallsPart1(){ /*118*/
int var_0;
int var_1;
int var_2;
var_0 = 0;
var_2 = var_1 + 1;
if (var_2 == 11){
var_2 = 0;
}
l1:
if (var_0 < 11){
if (var_0 == var_1){
goto l2;
}
if (var_0 == var_2){
goto l2;
}
goto l3;
l2:
Nox:OpenSecretWall(GLOBAL:var_38[var_0]);
Nox:OpenSecretWall(GLOBAL:var_40[var_0]);
goto l4;
l3:
Nox:CloseSecretWall(GLOBAL:var_38[var_0]);
Nox:CloseSecretWall(GLOBAL:var_40[var_0]);
l4:
var_0 += 1;
goto l1;
}
var_1 += 1;
if (var_1 == 11){
var_1 = 0;
}
Nox:WaitFrames(25,118);
return;
}
controlFinallyMagicWallsPart2(){ /*119*/
int var_0;
int var_1;
int var_2;
var_0 = 0;
var_2 = var_1 + 1;
if (var_2 == 14){
var_2 = 0;
}
l1:
if (var_0 < 14){
if (var_0 == var_1){
goto l2;
}
if (var_0 == var_2){
goto l2;
}
goto l3;
l2:
Nox:OpenSecretWall(GLOBAL:var_39[var_0]);
goto l4;
l3:
Nox:CloseSecretWall(GLOBAL:var_39[var_0]);
l4:
var_0 += 1;
goto l1;
}
var_1 += 1;
if (var_1 == 14){
var_1 = 0;
}
Nox:WaitFrames(25,119);
return;
}
FRow1Die(){ /*120*/
generic var_0;
var_0 = Nox:ObjFromName("KRow4");
Nox:EnableObject(var_0);
return;
}
FRow2Die(){ /*121*/
generic var_0;
var_0 = Nox:ObjFromName("KRow1");
Nox:EnableObject(var_0);
return;
}
FRow3Die(){ /*122*/
generic var_0;
var_0 = Nox:ObjFromName("KRow2");
Nox:EnableObject(var_0);
return;
}
FRow4Die(){ /*123*/
generic var_0;
var_0 = Nox:ObjFromName("KRow3");
Nox:EnableObject(var_0);
return;
}
MRow1Die(){ /*124*/
generic var_0;
var_0 = Nox:ObjFromName("BRow1");
Nox:EnableObject(var_0);
return;
}
MRow4Die(){ /*125*/
generic var_0;
var_0 = Nox:ObjFromName("BRow3");
return;
}
MRow2Die(){ /*126*/
generic var_0;
var_0 = Nox:ObjFromName("BRow2");
ifn (Nox:ObjIsEnabled(var_0)){
Nox:EnableObject(var_0);
}
return
}
MRow3Die(){ /*127*/
generic var_0;
var_0 = Nox:ObjFromName("BRow2");
ifn (Nox:ObjIsEnabled(var_0)){
Nox:EnableObject(var_0);
}
return
}
PullStatue2(){ /*128*/
Nox:ApplySpellObjXY("SPELL_PULL",GLOBAL:var_0,Nox:GetObjX(GLOBAL:var_1),Nox:GetObjY(GLOBAL:var_1));
return;
}
MoveToDryad(){ /*129*/
generic var_0;
int var_1;
if (GLOBAL:var_41 == GLOBAL:var_2){
var_0 = Nox:WaypointFromName("DryadWP");
Nox:TeleportObj(GLOBAL:var_1,Nox:GetWaypointX(var_0),Nox:GetWaypointY(var_0));
if (var_1 == 0){
var_1 = 1;
Script:initializeDryadRoom();
Nox:WaitFrames(20,34);
}
}
return;
}
playMapBGM(){ /*130*/
int[2] var_0;
var_0[0] = Nox:RandomInteger(1,29);
if (var_0[0] == 1){
var_0[1] = 33;
}
if (var_0[0] == 2){
var_0[1] = 33;
}
if (var_0[0] == 3){
var_0[1] = 33;
}
if (var_0[0] == 4){
var_0[1] = 32;
}
if (var_0[0] == 5){
var_0[1] = 60;
}
if (var_0[0] == 6){
var_0[1] = 46;
}
if (var_0[0] == 7){
var_0[1] = 86;
}
if (var_0[0] == 8){
var_0[1] = 48;
}
if (var_0[0] == 9){
var_0[1] = 33;
}
if (var_0[0] == 10){
var_0[1] = 38;
}
if (var_0[0] == 11){
var_0[1] = 32;
}
if (var_0[0] == 12){
var_0[1] = 39;
}
if (var_0[0] == 13){
var_0[1] = 36;
}
if (var_0[0] == 14){
var_0[1] = 73;
}
if (var_0[0] == 15){
var_0[1] = 264;
}
if (var_0[0] == 16){
var_0[1] = 236;
}
if (var_0[0] == 17){
var_0[1] = 216;
}
if (var_0[0] == 18){
var_0[1] = 265;
}
if (var_0[0] == 19){
var_0[1] = 254;
}
if (var_0[0] == 20){
var_0[1] = 239;
}
if (var_0[0] == 21){
var_0[1] = 244;
}
if (var_0[0] == 22){
var_0[1] = 274;
}
if (var_0[0] == 23){
var_0[1] = 181;
}
if (var_0[0] == 24){
var_0[1] = 99;
}
if (var_0[0] == 25){
var_0[1] = 112;
}
if (var_0[0] == 26){
var_0[1] = 68;
}
if (var_0[0] == 27){
var_0[1] = 150;
}
if (var_0[0] == 28){
var_0[1] = 118;
}
if (var_0[0] == 29){
var_0[1] = 54;
}
Nox:PlayMusic(var_0[0],100);
Nox:WaitSeconds(var_0[1],130);
return;
}