From c751588206d17d5c0199d04ae2ee20d13e95cad4 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Fri, 6 Sep 2019 13:16:27 -0300 Subject: 018-6-3 Internal Warp System (sketch) --- npc/018-6-3/main.txt | 634 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 625 insertions(+), 9 deletions(-) (limited to 'npc') diff --git a/npc/018-6-3/main.txt b/npc/018-6-3/main.txt index aded86352..8d38f1080 100644 --- a/npc/018-6-3/main.txt +++ b/npc/018-6-3/main.txt @@ -23,6 +23,36 @@ function script 01863_RelevanceCheck { // TODO: filler function script 01863_DisableAllWarps { + .@q=getq(LoFQuest_Barbara); + .@q2=getq2(LoFQuest_Barbara); + .@q3=getq3(LoFQuest_Barbara); + if (.@q < 3) + Exception("ERROR, INVALID WARP", RB_DEFAULT|RB_ISFATAL); + + disablenpc instance_npcname("#01863_fromNorthtoOut", .@q2); + disablenpc instance_npcname("#01863_fromNorthtoNW", .@q2); + disablenpc instance_npcname("#01863_fromNorthtoNE", .@q2); + disablenpc instance_npcname("#01863_fromSouthtoOut", .@q2); + disablenpc instance_npcname("#01863_fromSouthtoSW", .@q2); + disablenpc instance_npcname("#01863_fromSouthtoSE", .@q2); + disablenpc instance_npcname("#01863_fromNWtoNorth", .@q2); + disablenpc instance_npcname("#01863_fromNWtoNC", .@q2); + disablenpc instance_npcname("#01863_fromNWtoSW", .@q2); + disablenpc instance_npcname("#01863_fromSWtoSouth", .@q2); + disablenpc instance_npcname("#01863_fromSWtoSC", .@q2); + disablenpc instance_npcname("#01863_fromSWtoNW", .@q2); + disablenpc instance_npcname("#01863_fromNEtoNorth", .@q2); + disablenpc instance_npcname("#01863_fromNEtoNC", .@q2); + disablenpc instance_npcname("#01863_fromNEtoSE", .@q2); + disablenpc instance_npcname("#01863_fromSEtoSouth", .@q2); + disablenpc instance_npcname("#01863_fromSEtoSC", .@q2); + disablenpc instance_npcname("#01863_fromSEtoNE", .@q2); + disablenpc instance_npcname("#01863_fromNCtoNW", .@q2); + disablenpc instance_npcname("#01863_fromNCtoNE", .@q2); + //disablenpc instance_npcname("#01863_fromNCtoCC", .@q2); + disablenpc instance_npcname("#01863_fromSCtoSW", .@q2); + disablenpc instance_npcname("#01863_fromSCtoSE", .@q2); + //disablenpc instance_npcname("#01863_fromSCtoCC", .@q2); return; } @@ -197,26 +227,277 @@ OnKill256: } ////////// Warp System below this file -// Xanthem: This is a NPC. I need you to duplicate it several times. -018-6-3,0,0,0 script #01863_fromOuttoNorth NPC_SUMMONING_CIRC,0,0,{ +018-6-3,86,32,0 script #01863_fromOuttoNorth NPC_SUMMONING_CIRC,0,0,{ dispbottom l("I should be prepared before walking on this."); end; OnTouch: - .@q=getq(LoFQuest_Barbara); - .@q2=getq2(LoFQuest_Barbara); - .@q3=getq3(LoFQuest_Barbara); - if (.@q < 3) - Exception("ERROR, INVALID WARP", RB_DEFAULT|RB_ISFATAL); + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 86, 44; + + // Execute the next room code and finish + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomNorth"; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +} + +018-6-3,86,43,0 script #01863_fromNorthtoOut NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 86, 31; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + +018-6-3,64,50,0 script #01863_fromNorthtoNW NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 58, 67; + + // Execute the next room code and finish + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomNW"; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + +018-6-3,58,66,0 script #01863_fromNWtoNorth NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 65, 50; + + // Execute the next room code and finish + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomNorth"; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + +018-6-3,119,50,0 script #01863_fromNorthtoNE NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 122, 68; + + // Execute the next room code and finish + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomNE"; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + +018-6-3,122,67,0 script #01863_fromOuttoNorth NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 118, 50; + + // Execute the next room code and finish + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomNorth"; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + +018-6-3,67,75,0 script #01863_fromNWtoNC NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 79, 71; + + // Execute the next room code and finish + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomNC"; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + +018-6-3,78,71,0 script #01863_fromNCtoNW NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 66, 75; + + // Execute the next room code and finish + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomNW"; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + +018-6-3,57,83,0 script #01863_fromNWtoSW NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 57, 97; + + // Execute the next room code and finish + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomSW"; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + +018-6-3,57,96,0 script #01863_fromSWtoNW NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 57, 82; + + // Execute the next room code and finish + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomNW"; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + +018-6-3,112,75,0 script #01863_fromNEtoNC NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 101, 70; + + // Execute the next room code and finish + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomNC"; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} +018-6-3,102,70,0 script #01863_fromNCtoNE NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: // Disable any other active portal 01863_DisableAllWarps(); // Warp you to next room coordinates - slide 0, 0; + slide 113, 75; // Execute the next room code and finish - doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnBossNC"; + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomNE"; end; // NPC must remain hidden. @@ -228,3 +509,338 @@ OnInstanceInit: end; } +018-6-3,121,84,0 script #01863_fromNEtoSE NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 121, 97; + + // Execute the next room code and finish + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomSE"; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + +018-6-3,121,96,0 script #01863_fromSEtoNE NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 121, 83; + + // Execute the next room code and finish + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomNE"; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + +018-6-3,57,113,0 script #01863_fromSWtoSouth NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 64, 131; + + // Execute the next room code and finish + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomSouth"; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + +018-6-3,63,131,0 script #01863_fromSouthtoSW NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 57, 112; + + // Execute the next room code and finish + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomSW"; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + +018-6-3,123,113,0 script #01863_fromSEtoSouth NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 119, 131; + + // Execute the next room code and finish + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomSouth"; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + +018-6-3,120,131,0 script #01863_fromSouthtoSE NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 123, 112; + + // Execute the next room code and finish + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomSE"; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + +018-6-3,66,106,0 script #01863_fromSWtoSC NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 79, 110; + + // Execute the next room code and finish + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomSC"; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + +018-6-3,78,110,0 script #01863_fromSCtoSW NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 65, 106; + + // Execute the next room code and finish + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomSW"; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + +018-6-3,112,110,0 script #01863_fromSEtoSC NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 101, 110; + + // Execute the next room code and finish + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomSC"; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + +018-6-3,102,110,0 script #01863_fromSCtoSE NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 113, 110; + + // Execute the next room code and finish + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomSE"; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + +018-6-3,92,137,0 script #01863_fromSouthtoOut NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 92, 151; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + +018-6-3,92,150,0 script #01863_fromOuttoSouth NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 92, 136; + + // Execute the next room code and finish + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomSouth"; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +} + +018-6-3,90,84,0 script #01863_fromCCtoNC NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 90, 73; + + // Execute the next room code and finish + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomNC"; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + +018-6-3,90,96,0 script #01863_fromCCtoSC NPC_SUMMONING_CIRC,0,0,{ + dispbottom l("I should be prepared before walking on this."); + end; + +OnTouch: + // Disable any other active portal + 01863_DisableAllWarps(); + + // Warp you to next room coordinates + slide 90, 106; + + // Execute the next room code and finish + doevent instance_npcname("#01863_InstCtrl", .@q2)+"::OnRoomSC"; + end; + +// NPC must remain hidden. +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} +///////////////////////////// +///////////////////////////// +///////////////////////////// +// Critical Room + + -- cgit v1.2.3-60-g2f50