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/032-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/032-3')
-rw-r--r-- | npc/032-3/_import.txt | 4 | ||||
-rw-r--r-- | npc/032-3/_warps.txt | 3 | ||||
-rw-r--r-- | npc/032-3/episode.txt | 354 |
3 files changed, 361 insertions, 0 deletions
diff --git a/npc/032-3/_import.txt b/npc/032-3/_import.txt new file mode 100644 index 0000000..7fee888 --- /dev/null +++ b/npc/032-3/_import.txt @@ -0,0 +1,4 @@ +// Map 032-3: Beasts Dungeon +// This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/032-3/_warps.txt", +"npc/032-3/episode.txt", diff --git a/npc/032-3/_warps.txt b/npc/032-3/_warps.txt new file mode 100644 index 0000000..0e50fa8 --- /dev/null +++ b/npc/032-3/_warps.txt @@ -0,0 +1,3 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 032-3: Beasts Dungeon warps +032-3,121,102,0 warp #032-3_121_102 0,0,032-2,103,112 diff --git a/npc/032-3/episode.txt b/npc/032-3/episode.txt new file mode 100644 index 0000000..1c01139 --- /dev/null +++ b/npc/032-3/episode.txt @@ -0,0 +1,354 @@ +// TMW2 scripts. +// Authors: +// Jesusalva +// Description: +// Part of the Doctor's Quest. + +032-3,121,70,0 script #CryptEP NPC_HIDDEN,0,0,{ + end; +OnTouch: + .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99); + if (.@q >= 2) + warp "032-4", 40, 74; + else + dispbottom l("This door is locked."); + end; + +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; + +OnInit: + if (instance_id() >= 0) end; + // The Green Arena + monster("032-3", 28, 25, "Arena", GreenDragon, 1); + monster("032-3", 46, 25, "Arena", GreenDragon, 1); + monster("032-3", 64, 19, "Arena", GreenDragon, 1); + monster("032-3", 78, 19, "Arena", GreenDragon, 1); + monster("032-3", 64, 43, "Arena", GreenDragon, 1); + monster("032-3", 78, 43, "Arena", GreenDragon, 1); + monster("032-3", 102, 19, "Arena", GreenDragon, 1); + monster("032-3", 112, 19, "Arena", GreenDragon, 1); + monster("032-3", 102, 43, "Arena", GreenDragon, 1); + monster("032-3", 112, 43, "Arena", GreenDragon, 1); + + // The Blue Area + monster("032-3", 130, 19, "Arena", Moonshroom, 1); + monster("032-3", 140, 19, "Arena", Moonshroom, 1); + monster("032-3", 164, 19, "Arena", Moonshroom, 1); + monster("032-3", 178, 19, "Arena", Moonshroom, 1); + monster("032-3", 196, 25, "Arena", Moonshroom, 1); + monster("032-3", 214, 25, "Arena", Moonshroom, 1); + monster("032-3", 130, 43, "Arena", Moonshroom, 1); + monster("032-3", 140, 43, "Arena", Moonshroom, 1); + monster("032-3", 164, 43, "Arena", Moonshroom, 1); + monster("032-3", 178, 43, "Arena", Moonshroom, 1); + + // The Yellow Arena + monster("032-3", 64, 106, "Arena", JackO, 1); + monster("032-3", 78, 106, "Arena", JackO, 1); + monster("032-3", 102, 106, "Arena", JackO, 1); + monster("032-3", 112, 106, "Arena", JackO, 1); + monster("032-3", 28, 124, "Arena", JackO, 1); + monster("032-3", 46, 124, "Arena", JackO, 1); + monster("032-3", 64, 130, "Arena", JackO, 1); + monster("032-3", 78, 130, "Arena", JackO, 1); + monster("032-3", 102, 130, "Arena", JackO, 1); + monster("032-3", 112, 130, "Arena", JackO, 1); + + // The Red Arena + monster("032-3", 130, 106, "Arena", GoboBear, 1); + monster("032-3", 140, 106, "Arena", GoboBear, 1); + monster("032-3", 164, 106, "Arena", GoboBear, 1); + monster("032-3", 178, 106, "Arena", GoboBear, 1); + monster("032-3", 196, 124, "Arena", GoboBear, 1); + monster("032-3", 214, 124, "Arena", GoboBear, 1); + monster("032-3", 130, 130, "Arena", GoboBear, 1); + monster("032-3", 140, 130, "Arena", GoboBear, 1); + monster("032-3", 164, 130, "Arena", GoboBear, 1); + monster("032-3", 178, 130, "Arena", GoboBear, 1); + end; +} + +032-3,121,85,0 script Central Switch#EP NPC_SWITCH_OFFLINE,{ + .@m$ = getmap(); + if (mobcount(.@m$, "all")) { + dispbottom l("Clear the arena to leave!"); + end; + } + setnpcdisplay instance_npcname(.name$), NPC_SWITCH_ONLINE; + sleep2(1000); + warp "032-3", 121, 86; + setnpcdisplay instance_npcname(.name$), NPC_SWITCH_OFFLINE; + .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99); + if (.@q != 1) end; + if (@ep_id) + setq3 LoFQuest_EPISODE, getq3(LoFQuest_EPISODE) | @ep_id; + @ep_id=0; + if (getq3(LoFQuest_EPISODE) == 15) + setq LoFQuest_EPISODE, getq(LoFQuest_EPISODE), 2, 0; + end; + +OnInit: + disablenpc .name$; + end; +OnInstanceInit: + .distance=2; + end; +} + +032-3,118,82,0 script Green Switch#EP NPC_SWITCH_OFFLINE,{ + .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99); + if (.@q != 1) end; + .@x = getq3(LoFQuest_EPISODE); + if (.@x & 1) { dispbottom l("I have already completed this arena."); end; } + mesc l("This switch controls one of the four dungeons."); + mesc l("All four Dungeons must be completed."); + mes ""; + mesc l("Anyone within this rug will be teleported."); + mesc l("Time limit: 10 minutes"), 3; + mes ""; + mesc l("Do you want to begin the %s Dungeon?", l("Green")), 1; + if (askyesno() == ASK_NO) { closeclientdialog; close; } + closeclientdialog; + setnpcdisplay .name$, NPC_SWITCH_ONLINE; + .@mapn$="epar@"+getcharid(0); + if (instanceowner(@episode) == getcharid(3)) { + instance_set_timeout(605, 605, @episode); + } else { + @episode = instance_create("Episode Arena "+getcharid(0), getcharid(3), IOT_CHAR); + if (@episode < 0) { + mesc l("You cannot begin this now, try again later."), 1; + @episode = 0; + close; + } + instance_attachmap("032-3", @episode, false, .@mapn$); + instance_set_timeout(900, 900, @episode); + instance_init(@episode); + } + sleep2(3000); + if (!playerattached()) end; + monster(.@mapn$, 28, 27, "Arena", GreenDragon, 1); + monster(.@mapn$, 46, 27, "Arena", GreenDragon, 1); + monster(.@mapn$, 64, 21, "Arena", GreenDragon, 1); + monster(.@mapn$, 78, 21, "Arena", GreenDragon, 1); + monster(.@mapn$, 64, 45, "Arena", GreenDragon, 1); + monster(.@mapn$, 78, 45, "Arena", GreenDragon, 1); + monster(.@mapn$, 102, 21, "Arena", GreenDragon, 1); + monster(.@mapn$, 112, 21, "Arena", GreenDragon, 1); + monster(.@mapn$, 102, 45, "Arena", GreenDragon, 1); + monster(.@mapn$, 112, 45, "Arena", GreenDragon, 1); + areatimer("032-3", 112, 76, 119, 83, 10, "Green Switch#EP::OnSet"); + sleep2(50); + areawarp("032-3", 112, 76, 119, 83, .@mapn$, 32, 32, 41, 41); + setnpcdisplay .name$, NPC_SWITCH_OFFLINE; + sleep2(100); + close; + +OnSet: + @ep_id=1; + end; + +OnInit: + .distance=2; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + + + + + + +032-3,124,82,0 script Blue Switch#EP NPC_SWITCH_OFFLINE,{ + .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99); + if (.@q != 1) end; + .@x = getq3(LoFQuest_EPISODE); + if (.@x & 2) { dispbottom l("I have already completed this arena."); end; } + mesc l("This switch controls one of the four dungeons."); + mesc l("All four Dungeons must be completed."); + mes ""; + mesc l("Anyone within this rug will be teleported."); + mesc l("Time limit: 10 minutes"), 3; + mes ""; + mesc l("Do you want to begin the %s Dungeon?", l("Blue")), 1; + if (askyesno() == ASK_NO) { closeclientdialog; close; } + closeclientdialog; + setnpcdisplay .name$, NPC_SWITCH_ONLINE; + .@mapn$="epar@"+getcharid(0); + if (instanceowner(@episode) == getcharid(3)) { + instance_set_timeout(605, 605, @episode); + } else { + @episode = instance_create("Episode Arena "+getcharid(0), getcharid(3), IOT_CHAR); + if (@episode < 0) { + mesc l("You cannot begin this now, try again later."), 1; + @episode = 0; + close; + } + instance_attachmap("032-3", @episode, false, .@mapn$); + instance_set_timeout(900, 900, @episode); + instance_init(@episode); + } + sleep2(3000); + if (!playerattached()) end; + monster(.@mapn$, 130, 21, "Arena", Moonshroom, 1); + monster(.@mapn$, 140, 21, "Arena", Moonshroom, 1); + monster(.@mapn$, 164, 21, "Arena", Moonshroom, 1); + monster(.@mapn$, 178, 21, "Arena", Moonshroom, 1); + monster(.@mapn$, 196, 27, "Arena", Moonshroom, 1); + monster(.@mapn$, 214, 27, "Arena", Moonshroom, 1); + monster(.@mapn$, 130, 45, "Arena", Moonshroom, 1); + monster(.@mapn$, 140, 45, "Arena", Moonshroom, 1); + monster(.@mapn$, 164, 45, "Arena", Moonshroom, 1); + monster(.@mapn$, 178, 45, "Arena", Moonshroom, 1); + areatimer("032-3", 123, 76, 130, 83, 10, "Blue Switch#EP::OnSet"); + sleep2(50); + areawarp("032-3", 123, 76, 130, 83, .@mapn$, 200, 32, 210, 41); + setnpcdisplay .name$, NPC_SWITCH_OFFLINE; + sleep2(100); + close; + +OnSet: + @ep_id=2; + end; + +OnInit: + .distance=2; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + + + + + + +032-3,118,88,0 script Yellow Switch#EP NPC_SWITCH_OFFLINE,{ + .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99); + if (.@q != 1) end; + .@x = getq3(LoFQuest_EPISODE); + if (.@x & 4) { dispbottom l("I have already completed this arena."); end; } + mesc l("This switch controls one of the four dungeons."); + mesc l("All four Dungeons must be completed."); + mes ""; + mesc l("Anyone within this rug will be teleported."); + mesc l("Time limit: 10 minutes"), 3; + mes ""; + mesc l("Do you want to begin the %s Dungeon?", l("Yellow")), 1; + if (askyesno() == ASK_NO) { closeclientdialog; close; } + closeclientdialog; + setnpcdisplay .name$, NPC_SWITCH_ONLINE; + .@mapn$="epar@"+getcharid(0); + if (instanceowner(@episode) == getcharid(3)) { + instance_set_timeout(605, 605, @episode); + } else { + @episode = instance_create("Episode Arena "+getcharid(0), getcharid(3), IOT_CHAR); + if (@episode < 0) { + mesc l("You cannot begin this now, try again later."), 1; + @episode = 0; + close; + } + instance_attachmap("032-3", @episode, false, .@mapn$); + instance_set_timeout(900, 900, @episode); + instance_init(@episode); + } + sleep2(3000); + if (!playerattached()) end; + monster(.@mapn$, 64, 108, "Arena", JackO, 1); + monster(.@mapn$, 78, 108, "Arena", JackO, 1); + monster(.@mapn$, 102, 108, "Arena", JackO, 1); + monster(.@mapn$, 112, 108, "Arena", JackO, 1); + monster(.@mapn$, 28, 126, "Arena", JackO, 1); + monster(.@mapn$, 46, 126, "Arena", JackO, 1); + monster(.@mapn$, 64, 132, "Arena", JackO, 1); + monster(.@mapn$, 78, 132, "Arena", JackO, 1); + monster(.@mapn$, 102, 132, "Arena", JackO, 1); + monster(.@mapn$, 112, 132, "Arena", JackO, 1); + areatimer("032-3", 112, 87, 119, 94, 10, "Yellow Switch#EP::OnSet"); + sleep2(50); + areawarp("032-3", 112, 87, 119, 94, .@mapn$, 32, 131, 42, 140); + setnpcdisplay .name$, NPC_SWITCH_OFFLINE; + sleep2(100); + close; + +OnSet: + @ep_id=4; + end; + +OnInit: + .distance=2; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + + + + + + +032-3,124,88,0 script Red Switch#EP NPC_SWITCH_OFFLINE,{ + .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99); + if (.@q != 1) end; + .@x = getq3(LoFQuest_EPISODE); + if (.@x & 8) { dispbottom l("I have already completed this arena."); end; } + mesc l("This switch controls one of the four dungeons."); + mesc l("All four Dungeons must be completed."); + mes ""; + mesc l("Anyone within this rug will be teleported."); + mesc l("Time limit: 10 minutes"), 3; + mes ""; + mesc l("Do you want to begin the %s Dungeon?", l("Red")), 1; + if (askyesno() == ASK_NO) { closeclientdialog; close; } + closeclientdialog; + setnpcdisplay .name$, NPC_SWITCH_ONLINE; + .@mapn$="epar@"+getcharid(0); + if (instanceowner(@episode) == getcharid(3)) { + instance_set_timeout(605, 605, @episode); + } else { + @episode = instance_create("Episode Arena "+getcharid(0), getcharid(3), IOT_CHAR); + if (@episode < 0) { + mesc l("You cannot begin this now, try again later."), 1; + @episode = 0; + close; + } + instance_attachmap("032-3", @episode, false, .@mapn$); + instance_set_timeout(900, 900, @episode); + instance_init(@episode); + } + sleep2(3000); + if (!playerattached()) end; + monster(.@mapn$, 130, 108, "Arena", GoboBear, 1); + monster(.@mapn$, 140, 108, "Arena", GoboBear, 1); + monster(.@mapn$, 164, 108, "Arena", GoboBear, 1); + monster(.@mapn$, 178, 108, "Arena", GoboBear, 1); + monster(.@mapn$, 196, 126, "Arena", GoboBear, 1); + monster(.@mapn$, 214, 126, "Arena", GoboBear, 1); + monster(.@mapn$, 130, 132, "Arena", GoboBear, 1); + monster(.@mapn$, 140, 132, "Arena", GoboBear, 1); + monster(.@mapn$, 164, 132, "Arena", GoboBear, 1); + monster(.@mapn$, 178, 132, "Arena", GoboBear, 1); + areatimer("032-3", 123, 87, 130, 94, 10, "Red Switch#EP::OnSet"); + sleep2(50); + areawarp("032-3", 123, 87, 130, 94, .@mapn$, 200, 131, 210, 140); + setnpcdisplay .name$, NPC_SWITCH_OFFLINE; + sleep2(100); + close; + +OnSet: + @ep_id=8; + end; + +OnInit: + .distance=2; + end; +OnInstanceInit: + disablenpc instance_npcname(.name$); + end; +} + |