diff options
author | Jesusaves <cpntb1@ymail.com> | 2022-10-23 21:44:22 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2022-10-23 21:44:22 -0300 |
commit | a7c45a192268da2601cef47a4cdba987ae2327ca (patch) | |
tree | c5fb5b97db109fe7106496dd96498c475881046b /npc/018-6-3 | |
download | serverdata-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.txt | 4 | ||||
-rw-r--r-- | npc/018-6-3/main.txt | 456 | ||||
-rw-r--r-- | npc/018-6-3/wsys.txt | 689 |
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 + + |