diff options
Diffstat (limited to 'npc')
-rw-r--r-- | npc/000-1/exit.txt | 8 | ||||
-rw-r--r-- | npc/018-5-boss/_import.txt | 1 | ||||
-rw-r--r-- | npc/018-5-boss/mapflag.txt | 1 | ||||
-rw-r--r-- | npc/018-5/_import.txt | 1 | ||||
-rw-r--r-- | npc/018-5/soul_menhir.txt | 2 | ||||
-rw-r--r-- | npc/018-5/town.txt | 142 |
6 files changed, 150 insertions, 5 deletions
diff --git a/npc/000-1/exit.txt b/npc/000-1/exit.txt index ddbcc2321..40d1b5e46 100644 --- a/npc/000-1/exit.txt +++ b/npc/000-1/exit.txt @@ -23,10 +23,10 @@ OnTalkNearby: end; OnInit: - setarray .LOCMASTER_LOC$, "Candor", "Tulim", "Halin", "Hurns", "LoF", "Nival", "Frostia"; // 018-5 Lilit - setarray .LOCMASTER_MAP$, "005-1", "003-1", "009-1", "012-1", "017-1", "020-1", "024-1"; - setarray .LOCMASTER_X, 34, 40, 26, 86, 119, 56, 94; - setarray .LOCMASTER_Y, 101, 49, 30, 69, 87, 62, 42; + setarray .LOCMASTER_LOC$, "Candor", "Tulim", "Halin", "Hurns", "LoF", "Lilit", "Nival", "Frostia"; + setarray .LOCMASTER_MAP$, "005-1", "003-1", "009-1", "012-1", "017-1", "018-5", "020-1", "024-1"; + setarray .LOCMASTER_X, 34, 40, 26, 86, 119, 111, 56, 94; + setarray .LOCMASTER_Y, 101, 49, 30, 69, 87, 53, 62, 42; debugmes "Locmaster: Index 0: %s [%s.gat (%d, %d)]", .LOCMASTER_LOC$[0], .LOCMASTER_MAP$[0], .LOCMASTER_X[0], .LOCMASTER_Y[0]; debugmes "Locmaster: Index 2: %s [%s.gat (%d, %d)]", .LOCMASTER_LOC$[2], .LOCMASTER_MAP$[2], .LOCMASTER_X[2], .LOCMASTER_Y[2]; diff --git a/npc/018-5-boss/_import.txt b/npc/018-5-boss/_import.txt index 7c584eb0e..6f320c752 100644 --- a/npc/018-5-boss/_import.txt +++ b/npc/018-5-boss/_import.txt @@ -1,2 +1,3 @@ // Map 018-5-boss: Mountain Cave // This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/018-5-boss/mapflag.txt", diff --git a/npc/018-5-boss/mapflag.txt b/npc/018-5-boss/mapflag.txt new file mode 100644 index 000000000..0c36c3058 --- /dev/null +++ b/npc/018-5-boss/mapflag.txt @@ -0,0 +1 @@ +018-5-boss mapflag zone No Tricks diff --git a/npc/018-5/_import.txt b/npc/018-5/_import.txt index d827bfe88..f411db7bb 100644 --- a/npc/018-5/_import.txt +++ b/npc/018-5/_import.txt @@ -3,3 +3,4 @@ "npc/018-5/_mobs.txt", "npc/018-5/_warps.txt", "npc/018-5/soul_menhir.txt", +"npc/018-5/town.txt", diff --git a/npc/018-5/soul_menhir.txt b/npc/018-5/soul_menhir.txt index e4d2ea439..49916cda7 100644 --- a/npc/018-5/soul_menhir.txt +++ b/npc/018-5/soul_menhir.txt @@ -5,7 +5,7 @@ // Soul Menhir 018-5,111,52,0 script Soul Menhir#lil NPC_SOUL_MOSS,{ - @map$ = "018-1"; + @map$ = "018-5"; setarray @Xs, 110, 111, 112; setarray @Ys, 53, 53, 53; @x = 0; diff --git a/npc/018-5/town.txt b/npc/018-5/town.txt new file mode 100644 index 000000000..1c3ffa8fd --- /dev/null +++ b/npc/018-5/town.txt @@ -0,0 +1,142 @@ +// TMW-2 Script +// Author: +// Jesusalva +// Description: +// Reset LOCATION$ when entering a town + +// .@q = LilitQuest_Access +// 0 - Access not granted +// q2 - Number of attempts +// 1 - Access granted +// 2 - Tree Minigame complete. + +// This NPC have a 1x1 touch area. +// If you logout, then relog, and try to fool it by moving - you'll be caught +// and slided to the right position. +018-5,97,69,0 script #LocLilit NPC_HIDDEN,1,1,{ + end; + +OnTouch: + .@q=getq(LilitQuest_Access); + if (!.@q) + goto L_AccessDenied; + else + LOCATION$="Lilit"; + end; + +L_AccessDenied: + getmapxy(.@m$, .@x, .@y, 0); + // Cheater detected (either coming to or from Lilit), deploy countermeasures at once + if (.@x != 97 || .@y != 69) { + slide 97, 69; + atcommand("@jailfor 3mn "+strcharinfo(0)); + dispbottom l("Cheater detected! You have a three minutes sentence to fulfill, now."); + end; + } + mesn ("???"); + mesc l("You should not be here..."); + next; + mesn ("???"); + mesc l("Leave this place now, defiler..."); + next; + mesc l("How will you respond?!"), 1; + select + l("Step forward"), + l("Step backward"); + mes ""; + + // First option is a bad choice, but the only right choice. + if (@menu == 1) { + mesn ("???"); + mesc l("DIE, FILTHY @@!", strtoupper(get_race())); + percentheal -30, -30; + next; + } else { + warp "018-5-1", 77, 53; + end; + } + + mesn ("???"); + mesc l("Ho... I see you are a tough one..."); + next; + mesn ("???"); + mesc l("What brings you here, @@?", get_race()); + next; + mesc l("How will you respond?!"), 1; + select + l("To help fairies"), + l("To explore these lands"), + l("To collect snake skin"), + l("To do quests"), + l("To aid those in need"), + l("Because I am awesome!"), + l("I don't know"); + mes ""; + mesn ("???"); + mesc l("I don't care for your reasons."); + next; + mesn l("Yetifly the Mighty"); + mesq l("I am the Yetifly, guardian of butter and fairies."); + next; + mesn l("Yetifly the Mighty"); + mesq l("AND YOU ARE NOT WELCOME HERE!!"), 1; + movecam rand(-20,20), rand(-20,20); + sleep2(60); + movecam rand(-20,20), rand(-20,20); + sleep2(60); + movecam rand(-20,20), rand(-20,20); + sleep2(60); + movecam rand(-20,20), rand(-20,20); + sleep2(60); + movecam rand(-20,20), rand(-20,20); + sleep2(60); + movecam rand(-20,20), rand(-20,20); + sleep2(60); + restorecam; + next; + mesn l("Yetifly the Mighty"); + mesq l("Unless, of course, if you can prove your strength, challenging me to a duel."); + next; + mesc l("How will you respond?!"), 1; + select + l("Bring it on!"), + l("Nah I am a chicken :b"); + mes ""; + if (@menu == 2) { + closeclientdialog; + if (rand(1,4) == 3) + slide 98, 83; + else + slide 61, 147; + dispbottom l("The Yetifly drops you off the cliff. Good job, noob."); + percentheal -10, 0; + end; + } + mesn l("Yetifly the Mighty"); + mesq l("That wouldn't be fair to you, though. So, you don't need to defeat me."); + next; + mesn l("Yetifly the Mighty"); + mesq l("So, you just need to survive for one minute, and I'll consider you are good enough."); + if (getskilllv(NV_TRICKDEAD)) mesc l("WARNING: Fake Death skill is disabled on the fight."), 1; + next; + mesc l("Click \"Next\" to begin the fight."), 1; + next; + closeclientdialog; + //addtimer(1000, "ready? + 1s GO! spawn and keep flowing timers every 10s to check if map is OK + finish."); + // Create instance. + warp "018-5-boss", 0, 0; + end; +} + +// Double check +018-5,99,64,0 script #LilitAccCtrl NPC_HIDDEN,1,1,{ +OnTouch: + .@q=getq(LilitQuest_Access); + if (!.@q) { + slide 97, 69; + atcommand("@jailfor 3mn "+strcharinfo(0)); + dispbottom l("Cheater detected! You have a three minutes sentence to fulfill, now."); + } + end; +} + |