diff options
-rw-r--r-- | npc/014-2-2/gemini.txt | 2 | ||||
-rw-r--r-- | npc/014-2-2/valia.txt | 9 | ||||
-rw-r--r-- | npc/034-4/exit.txt | 12 | ||||
-rw-r--r-- | npc/functions/maze.txt | 2 |
4 files changed, 21 insertions, 4 deletions
diff --git a/npc/014-2-2/gemini.txt b/npc/014-2-2/gemini.txt index 6a5e52b72..b70afa707 100644 --- a/npc/014-2-2/gemini.txt +++ b/npc/014-2-2/gemini.txt @@ -126,6 +126,8 @@ OnCore: if (@mystatus) getexp 512000, 12800; break; + case 16: // Cooldown in progress + break; } @mystatus = $@VALIA_STATUS[.@p]; } diff --git a/npc/014-2-2/valia.txt b/npc/014-2-2/valia.txt index 7c9993af9..6fc933d6b 100644 --- a/npc/014-2-2/valia.txt +++ b/npc/014-2-2/valia.txt @@ -65,6 +65,15 @@ function script GeminiKill { // So close dialog here. if (BaseLevel < 30) close; next; + if (getcharid(1) >= 1) { + if (($@VALIA_STATUS[getcharid(1)] >= 16) && + (gettimetick(2) < (.@t + 14400))) { + mesn; + mesq l("You are welcome here, but don't overstay your welcome and leave as soon as possible."); + mesc l("Please wait %s before trying again.", FuzzyTime(.@t + 14400)); + close; + } + } mesn; mesq l("I usually don't let anyone in, but I had to make an exception for the likes of you."); next; diff --git a/npc/034-4/exit.txt b/npc/034-4/exit.txt index c695940a5..50904923c 100644 --- a/npc/034-4/exit.txt +++ b/npc/034-4/exit.txt @@ -11,8 +11,6 @@ OnWumpus: .@q = getq2(HurnscaldQuest_Gemini); // TODO: Maybe exchange an Wumpus Egg for a Sunny Crystal or Mylarin Dust? // Have a NPC do so only once, for the Savior set. - // FIXME: A way to exit, maybe a switch, or...? - // TODO: Once you exit, put the quest in cooldown for 4 hours as well. if (.@q == 0 || .@q == 2 || (.@q > 5 && !(.@q % 3))) getitem WumpusEgg, 1; else @@ -152,6 +150,7 @@ OnTouch: freeloop(false); // Spawn & Configure the boss monster + // Defeating the boss yields a bonus .@mob=areamonster(MAZE_MAP$, 60, 60, .@mx-40, .@my-40, "Wumpus?", PanthomLord, 1, "#GeminiFExit::OnWumpus"); setunitdata(.@mob, UDT_MAXHP, 250000); setunitdata(.@mob, UDT_HP, 250000); @@ -159,11 +158,17 @@ OnTouch: setunitdata(.@mob, UDT_HIT, 3500); setunitdata(.@mob, UDT_DMOTION, 50); - // Defeating the boss yields a bonus + // TODO: Add the exit + // FIXME: A way to exit, maybe a switch, or...? + // NOTE: Once you exit, put the quest in cooldown for 4 hours as well. + + // Miscellaneous data .@old$=getmap(); .@p=getcharid(1); InitMaze(7200, false); + $@VALIA_STATUS[.@p]=16; sleep2(500); + changeplayermusic "Arabesque.ogg"; dispbottom l("It was a trap! We must escape!"); $@VALIA_MAP$[.@p]=getmap(); partytimer(.@old$, 2000, "#GeminiFExit::OnSick", .@p); @@ -193,6 +198,7 @@ OnSick: warp MAZE_MAP$, .@x, .@y; sleep2(500); + changeplayermusic "Arabesque.ogg"; dispbottom l("It was a trap! We must escape!"); sleep2(2000); @forced_sick$ = getmap(); diff --git a/npc/functions/maze.txt b/npc/functions/maze.txt index 3c5c13857..aafb153a8 100644 --- a/npc/functions/maze.txt +++ b/npc/functions/maze.txt @@ -89,7 +89,7 @@ function script InitMaze { .@mx=getmapinfo(MAPINFO_SIZE_X, MAZE_MAP$)-20; .@my=getmapinfo(MAPINFO_SIZE_Y, MAZE_MAP$)-20; } else { - .@mx=50; + .@mx=50; // Wouldn't (30,30) be safer? .@my=50; } do { |