summaryrefslogtreecommitdiff
path: root/npc/018-6-3
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2022-10-23 21:44:22 -0300
committerJesusaves <cpntb1@ymail.com>2022-10-23 21:44:22 -0300
commita7c45a192268da2601cef47a4cdba987ae2327ca (patch)
treec5fb5b97db109fe7106496dd96498c475881046b /npc/018-6-3
downloadserverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.gz
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.bz2
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.xz
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.zip
Initial commit (Moubootaur Legends fork)
Diffstat (limited to 'npc/018-6-3')
-rw-r--r--npc/018-6-3/_import.txt4
-rw-r--r--npc/018-6-3/main.txt456
-rw-r--r--npc/018-6-3/wsys.txt689
3 files changed, 1149 insertions, 0 deletions
diff --git a/npc/018-6-3/_import.txt b/npc/018-6-3/_import.txt
new file mode 100644
index 0000000..0d3803e
--- /dev/null
+++ b/npc/018-6-3/_import.txt
@@ -0,0 +1,4 @@
+// Map 018-6-3: Forgotten Shrine
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-6-3/main.txt",
+"npc/018-6-3/wsys.txt",
diff --git a/npc/018-6-3/main.txt b/npc/018-6-3/main.txt
new file mode 100644
index 0000000..f4544a0
--- /dev/null
+++ b/npc/018-6-3/main.txt
@@ -0,0 +1,456 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Controls Forgotten Shrine
+
+018-6-3 mapflag nowarpto
+
+// 01863_RelevanceCheck ( Room ID )
+function script 01863_RelevanceCheck {
+ .@id=getarg(0);
+ .@q=getq(LoFQuest_Barbara);
+ .@q2=getq2(LoFQuest_Barbara);
+ .@q3=getq3(LoFQuest_Barbara);
+ if (.@q < 3)
+ Exception("INVALID QUEST STATE, REVCHECK", RB_DEFAULT|RB_ISFATAL);
+ if (.@q != 3)
+ return false;
+ if (.@q3 & .@id)
+ return false;
+ return true;
+}
+
+// Shut down the enabled warps.
+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);
+ disablenpc instance_npcname("#01863_fromCCtoNC", .@q2);
+ disablenpc instance_npcname("#01863_fromCCtoSC", .@q2);
+ return;
+}
+
+// Main Controller for Instanced maps
+018-6-3,0,0,0 script #01863_InstCtrl NPC_HIDDEN,{
+ end;
+
+// Map, x1, y1, x2, y2, mob, amount
+function AreaMonsterB {
+ .@m$=getarg(0);
+ .@x1=getarg(1);
+ .@x2=getarg(3);
+ .@y1=getarg(2);
+ .@y2=getarg(4);
+ .@mi=getarg(5);
+ .@am=getarg(6);
+ if (!.@am)
+ return;
+ areamonster(.@m$, .@x1, .@y1, .@x2, .@y2, strmobinfo(1, .@mi), .@mi, .@am);
+ //, instance_npcname(.name$)+"::OnKill"+.@mi);
+ return;
+}
+
+// Map, x1, y1, x2, y2, mob, bossID
+function AreaMonsterBoss {
+ .@m$=getarg(0);
+ .@x1=getarg(1);
+ .@x2=getarg(3);
+ .@y1=getarg(2);
+ .@y2=getarg(4);
+ .@mi=getarg(5);
+ .@id=getarg(6);
+ areamonster(.@m$, .@x1, .@y1, .@x2, .@y2, strmobinfo(1, .@mi), .@mi, 1, instance_npcname(.name$)+"::OnKill"+.@id);
+ return;
+}
+
+// BossRoom ( RoomID, x1, y1, x2, y2, adjustment )
+// Adjustment is for bigger rooms. Defaults to false.
+function BossRoom {
+ .@id=getarg(0);
+ .@x1=getarg(1);
+ .@y1=getarg(2);
+ .@x2=getarg(3);
+ .@y2=getarg(4);
+ .@ad=getarg(5, false);
+ // True: Must spawn boss, False: Allow to use warps
+ if (01863_RelevanceCheck(.@id)) {
+ mapannounce getmap(), l("BOSS FIGHT!"), bc_map|bc_pc;
+ // Spawn a boss. Passive chance: 17%
+ // Removed: HolyPixie, NulityPixie, VanityPixie
+ AreaMonsterBoss(getmap(), .@x1, .@y1, .@x2, .@y2, any(CopperSkullSlime, LavaSkullSlime, BlackSlimeMother, TerraniteProtector, GoboBear, Centaur), .@id);
+
+ // BIG ROOM: 6~12 support units
+ // SMALL ROOM: 5~10 support units
+ AreaMonsterB(getmap(), .@x1, .@y1, .@x2, .@y2, BlackSlime, rand2(2,4)+.@ad);
+ AreaMonsterB(getmap(), .@x1, .@y1, .@x2, .@y2, DarkLizard, rand2(1,2)+.@ad);
+ AreaMonsterB(getmap(), .@x1, .@y1, .@x2, .@y2, BlackScorpion, rand2(1,2));
+ AreaMonsterB(getmap(), .@x1, .@y1, .@x2, .@y2, Archant, rand2(1,2)-.@ad);
+ // Only spawn the fast Hooded Ninja on big rooms
+ if (.@ad) {
+ AreaMonsterB(getmap(), .@x1, .@y1, .@x2, .@y2, HoodedNinja, any(0,0,1));
+ }
+ return false;
+ }
+ return true;
+}
+
+// W - West, C - Center, E - East, N - North, S - South
+OnRoomNorth:
+L_Room1:
+ if (BossRoom(1, 62, 41, 121, 58, true)) {
+ enablenpc instance_npcname("#01863_fromNorthtoNW");
+ enablenpc instance_npcname("#01863_fromNorthtoNE");
+ enablenpc instance_npcname("#01863_fromNorthtoOut");
+ }
+ end;
+
+OnRoomNW:
+L_Room2:
+ if (BossRoom(2, 48, 65, 68, 85)) {
+ enablenpc instance_npcname("#01863_fromNWtoNorth");
+ enablenpc instance_npcname("#01863_fromNWtoNC");
+ enablenpc instance_npcname("#01863_fromNWtoSW");
+ }
+ end;
+
+OnRoomNC:
+L_Room4:
+ if (BossRoom(4, 77, 65, 103, 76)) {
+ enablenpc instance_npcname("#01863_fromNCtoNW");
+ enablenpc instance_npcname("#01863_fromNCtoNE");
+ enablenpc instance_npcname("#01863_fromNCtoCC");
+ }
+ end;
+
+OnRoomNE:
+L_Room8:
+ if (BossRoom(8, 111, 65, 131, 85)) {
+ enablenpc instance_npcname("#01863_fromNEtoNorth");
+ enablenpc instance_npcname("#01863_fromNEtoNC");
+ enablenpc instance_npcname("#01863_fromNEtoSE");
+ }
+ end;
+
+OnRoomSW:
+L_Room16:
+ if (BossRoom(16, 48, 95, 68, 115)) {
+ enablenpc instance_npcname("#01863_fromSWtoSouth");
+ enablenpc instance_npcname("#01863_fromSWtoSC");
+ enablenpc instance_npcname("#01863_fromSWtoNW");
+ }
+ end;
+
+OnRoomSC:
+L_Room32:
+ if (BossRoom(32, 77, 104, 103, 115)) {
+ enablenpc instance_npcname("#01863_fromSCtoSW");
+ enablenpc instance_npcname("#01863_fromSCtoSE");
+ enablenpc instance_npcname("#01863_fromSCtoCC");
+ }
+ end;
+
+OnRoomSE:
+L_Room64:
+ if (BossRoom(64, 111, 95, 131, 115)) {
+ enablenpc instance_npcname("#01863_fromSEtoSouth");
+ enablenpc instance_npcname("#01863_fromSEtoSC");
+ enablenpc instance_npcname("#01863_fromSEtoNE");
+ }
+ end;
+
+OnRoomSouth:
+L_Room128:
+ if (BossRoom(128, 62, 122, 121, 139, true)) {
+ enablenpc instance_npcname("#01863_fromSouthtoSW");
+ enablenpc instance_npcname("#01863_fromSouthtoSE");
+ enablenpc instance_npcname("#01863_fromSouthtoOut");
+ }
+ end;
+
+OnRoomCC:
+ enablenpc instance_npcname("#01863_fromCCtoNC");
+ enablenpc instance_npcname("#01863_fromCCtoSC");
+ end;
+
+OnFinalRoom:
+// Room: 74,83 ~ 106,97
+ .@x1=74;
+ .@y1=83;
+ .@x2=106;
+ .@y2=97;
+ .@id=256;
+ changemusic getmap(), "let_the_battles_begin.ogg";
+ mapannounce getmap(), col(l("FINAL BOSS FIGHT - WATCH OUT!"), 1), bc_map|bc_pc;
+ .@mi=NightDragon;
+ @boss=monster(getmap(), 90, 89, strmobinfo(1, .@mi), .@mi, 1, instance_npcname(.name$)+"::OnKillBoss");
+
+ // Spawn reinforcements based on difficulty
+ AreaMonsterB(getmap(), .@x1, .@y1, .@x2, .@y2, MagicGoblin, (@difficulty_modulus ? 5 : 3));
+ AreaMonsterB(getmap(), .@x1, .@y1, .@x2, .@y2, DeathCat, (@difficulty_modulus ? 3 : 1));
+ end;
+
+// Kill boss will use setq3 and also erase any remaining monster
+// Then it'll cast again the room event to enable the warps.
+OnKill1:
+ .@q3=getq3(LoFQuest_Barbara);
+ setq3 LoFQuest_Barbara, .@q3|1;
+ killmonsterall(getmap());
+ goto L_Room1;
+
+OnKill2:
+ .@q3=getq3(LoFQuest_Barbara);
+ setq3 LoFQuest_Barbara, .@q3|2;
+ killmonsterall(getmap());
+ goto L_Room2;
+
+OnKill4:
+ .@q3=getq3(LoFQuest_Barbara);
+ setq3 LoFQuest_Barbara, .@q3|4;
+ killmonsterall(getmap());
+ goto L_Room4;
+
+OnKill8:
+ .@q3=getq3(LoFQuest_Barbara);
+ setq3 LoFQuest_Barbara, .@q3|8;
+ killmonsterall(getmap());
+ goto L_Room8;
+
+OnKill16:
+ .@q3=getq3(LoFQuest_Barbara);
+ setq3 LoFQuest_Barbara, .@q3|16;
+ killmonsterall(getmap());
+ goto L_Room16;
+
+OnKill32:
+ .@q3=getq3(LoFQuest_Barbara);
+ setq3 LoFQuest_Barbara, .@q3|32;
+ killmonsterall(getmap());
+ goto L_Room32;
+
+OnKill64:
+ .@q3=getq3(LoFQuest_Barbara);
+ setq3 LoFQuest_Barbara, .@q3|64;
+ killmonsterall(getmap());
+ goto L_Room64;
+
+OnKill128:
+ .@q3=getq3(LoFQuest_Barbara);
+ setq3 LoFQuest_Barbara, .@q3|128;
+ killmonsterall(getmap());
+ goto L_Room128;
+
+OnKill256:
+ .@q3=getq3(LoFQuest_Barbara);
+ setq3 LoFQuest_Barbara, .@q3|256;
+ killmonsterall(getmap());
+ end;
+
+OnKillBoss:
+ if (!playerattached()) {
+ enablenpc instance_npcname("Mana Stone#01863");
+ Exception("Could not finish the Boss Fight!");
+ end;
+ }
+ changemusic getmap(), "Misty_Shrine.ogg";
+ enablenpc instance_npcname("???#01863");
+ enablenpc instance_npcname("#01863_fromCCtoNC");
+ enablenpc instance_npcname("#01863_fromCCtoSC");
+ getexp 200000, 10000;
+ unittalk(@boss, l("You are a mere %s, but you may be a hero... Find me again...", get_race()));
+ .@q=getq(LoFQuest_Barbara);
+ .@q2=getq2(LoFQuest_Barbara);
+ .@q3=getq3(LoFQuest_Barbara);
+ setq LoFQuest_Barbara, 4, .@q2, 0;
+ makeitem2(HeadHood, 1, 1, 0, 0, BlackDye, 0, 0, 0, getmap(), -1, -1, 3); // ChocolateDye or BrownDye, maybe
+ specialeffect(FX_FANFARE, AREA, getcharid(3));
+ end;
+
+}
+
+/////////////////////////////
+/////////////////////////////
+/////////////////////////////
+// Critical Room
+// NCCC: 90.74 → 90,85
+// SCCC: 90.105 → 90,95
+// Altar: 90,90
+// Room: 74,83 ~ 106,97
+
+018-6-3,90,91,0 script Mana Stone#01863 NPC_MANA_STONE,{
+ mesn;
+ mes l("The mighty Mana Stone does not reacts against you.");
+ mes l("It's")+b(l("small, red, round and shiny."));
+ mes l("If you fell ready, perhaps you should touch it?");
+ mes "";
+ select
+ l("Touch it!"),
+ l("Take it!"),
+ l("Break it!"),
+ l("Leave it alone!");
+ mes "";
+ switch (@menu) {
+ case 1:
+ mesc l("Curiously, you try to touch the Mana Stone.");
+ next;
+ break;
+ case 2:
+ mesc l("Determinate, you move your hand to grab it.");
+ next;
+ break;
+ case 3:
+ mesc l("Are you out of your mind?!");
+ mesc l("We must capture Barbara AND return the stolen item!");
+ mesc l("If you break that, you could never go to the World's Edge!");
+ mesc l("...Assuming you can break a Mana Stone, that is.");
+ next;
+ mesc l("Attempt to break the Mana Stone?"), 1;
+ if (askyesno() == ASK_NO)
+ close;
+ mes "";
+ @difficulty_modulus=true;
+ break;
+ default:
+ close;
+ }
+ mes "";
+ mes ".:: " + l("The Mana Stone") + " ::.";
+ mesq l("Do you think yourself worthy of my power?");
+ next;
+ // Both choices are valid, actually.
+ askyesno();
+ mes ".:: " + l("The Mana Stone") + " ::.";
+ if (@menu == ASK_YES)
+ mesq l("Then prove yourself!");
+ else
+ mesq l("But that's no excuse for cowardice!");
+ next;
+ mes ".:: " + l("The Mana Stone") + " ::.";
+ mesq l("Foolish mortal, who doesn't knows what you are doing!");
+ next;
+ setnpcdisplay instance_npcname("Mana Stone#01863"), NPC_LIGHTBRINGER;
+ setnpcdialogtitle l("The Mana Sword, Lightbringer?");
+ mes ".:: " + l("The Mana Sword") + " ::.";
+ mesq l("I shall decide here and now, if you are worth of living in this world!");
+ next;
+ mes ".:: " + l("The Mana Sword") + " ::.";
+ mesq l("I am the Judge, and I shall make Judgment upon you!");
+ mesc l("WARNING: ")+l("If you die or logout here, the quest will be reset!"), 1;
+ next;
+ 01863_DisableAllWarps();
+ doevent instance_npcname("#01863_InstCtrl")+"::OnFinalRoom";
+ disablenpc instance_npcname(.name$);
+ setq3 LoFQuest_Barbara, 255;
+ close;
+
+// Mana Stone is the initial NPC, not hidden
+OnInit:
+ disablenpc .name$;
+ end;
+}
+
+018-6-3,90,91,0 script ???#01863 NPC_NO_SPRITE,{
+ .@q=getq(LoFQuest_Barbara);
+ .@q2=getq2(LoFQuest_Barbara);
+ .@q3=getq3(LoFQuest_Barbara);
+ if (.@q != 4)
+ Exception("ERROR INVALID APPLE 1863 ST NOT 4", RB_DEFAULT|RB_ISFATAL);
+ if (.@q3)
+ Exception("ERROR INVALID APPLE 1863 Q3 IS VALID", RB_DEFAULT|RB_ISFATAL);
+
+ mesc l("You see a red apple here. It is ")+b(l("small, red, round and shiny."));
+ next;
+ mesc l("Take it?");
+ if (askyesno() == ASK_YES) {
+ inventoryplace MagicApple, 1;
+ getitem MagicApple, 1;
+ setq3 LoFQuest_Barbara, 1;
+ mes "";
+ mesc l("You take the @@. It seems to be the stolen item.", getitemlink(MagicApple));
+ if (@difficulty_modulus) {
+ @difficulty_modulus=false;
+ Zeny+=200;
+ mesc l("You also find @@ GP with it.", 200);
+ }
+ disablenpc instance_npcname(.name$);
+ }
+ close;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,34,148,0 script Book#01863A NPC_NO_SPRITE,{
+ if (!getskilllv(TMW2_ANCIENTLANGUAGES)) {
+ mesn strcharinfo(0);
+ mesc l("It's written in an ancient language, you cannot understand what's written.");
+ mesc l("The symbols at the end of the book look to be warnings, though.");
+ mesc l("I should check if I have more than enough potions and food before proceeding!");
+ mesc l("REMEMBER: FAILURE AT A BOSS FIGHT WILL CAUSE QUEST TO RESET!"), 1;
+ next;
+ mesc l("I am really curious what this shrine is about, though.");
+ close;
+ }
+ mes ".:: " + l("Orbyter Shrine") + " ::.";
+ mes l("This shrine is devoted to those whom shall never come back.");
+ mes l("Deep sorrow and sadness, this is the Forgotten Shrine.");
+ mes "";
+ // TRANSLATORS: IWS = Internal Warp System
+ mes l("To the wanderer: Please avoid entering on the rooms by the internal warp system.");
+ mesc l("Guardians will come to stop you, and to lock down the shrine!"), 1;
+ mes l("In memoriam. May those whom shall never come back find rest in their afterlifes."); // TRANSLATORS: In Memoriam = Latin expression, means "in memory"
+ mes l("May their journey be successful, may their objectives be attained, may the Mana rest in peace.");
+ mes "";
+ mes l("The Mana Guardian,");
+ //mes "MEE6 the Bot";
+ mesc "« "+l("It's too faint to read.")+" »";
+ if (!@warning) {
+ next;
+ @warning=true;
+ mesn strcharinfo(0);
+ mesc l("This shrine seems to be a dangerous place, and nobody should defile it.");
+ mesc l("I should check if I have more than enough potions and food before proceeding!");
+ mesc l("REMEMBER: FAILURE AT A BOSS FIGHT WILL CAUSE QUEST TO RESET!"), 1;
+ }
+ close;
+
+OnInit:
+ .distance=3;
+ end;
+}
+
+018-6-3,142,28,0 duplicate(Book#01863A) Book#01863B NPC_NO_SPRITE
+
+
diff --git a/npc/018-6-3/wsys.txt b/npc/018-6-3/wsys.txt
new file mode 100644
index 0000000..40e8d86
--- /dev/null
+++ b/npc/018-6-3/wsys.txt
@@ -0,0 +1,689 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Warp System Forgotten Shrine (rough duplicates)
+
+////////// Warp System below this file
+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:
+ // 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")+"::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")+"::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")+"::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")+"::OnRoomNE";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,122,67,0 script #01863_fromNEtoNorth 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")+"::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")+"::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")+"::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")+"::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")+"::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")+"::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 113, 75;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomNE";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ 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")+"::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")+"::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")+"::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")+"::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")+"::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")+"::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")+"::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")+"::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")+"::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")+"::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")+"::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")+"::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")+"::OnRoomSC";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,90,74,0 script #01863_fromNCtoCC 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, 85;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomCC";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,90,105,0 script #01863_fromSCtoCC 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, 95;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomCC";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+////////// Leave room
+018-6-3,30,152,0 script #01863_SWLeave NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("This will bring me back to the Hall.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Lead you outside
+ warp BarbaraInstCheck(0), 90, 68;
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+}
+
+018-6-3,146,25,0 duplicate(#01863_SWLeave) #01863_NELeave NPC_NO_SPRITE
+
+