From 47ad0236c965198946e09d92823dcce1e0346ec1 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sun, 18 Apr 2021 20:43:17 -0300 Subject: Import Reapercry Puzzles --- npc/027-2/alacrius.txt | 115 +++++++- npc/099-7/_import.txt | 1 + npc/099-7/boss.txt | 711 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 825 insertions(+), 2 deletions(-) create mode 100644 npc/099-7/boss.txt diff --git a/npc/027-2/alacrius.txt b/npc/027-2/alacrius.txt index 0e80a5a0..5c5e0094 100644 --- a/npc/027-2/alacrius.txt +++ b/npc/027-2/alacrius.txt @@ -1,10 +1,121 @@ 027-2,45,105,0 script Alacrius NPC313,{ - mes "[Alacrius]"; - mes "\"Hello, I'm Alacrius. \""; + mesn; + mesq l("Hello, I'm Alacrius."); next; mes "\"A very long time ago, I figured a way to cheat death and the limits of time and space. You may think it is evil, but I did it because of true love... \""; next; mes "\"The reaper kidnapped my beloved wife, and took her to the underworld. I had to find a way to stop him, and as time went by, I became what you can see now... But if you dare to cheat death, time and space you'll have to pay a high price... \""; + // Doomsday related + if (BOSS_POINTS >= 300) goto L_Quest; + close; + +L_Quest: + // Rand() is probably not the best way to do that. + if (!#CRYPT_PASSWORD) + #CRYPT_PASSWORD = rand(4095); + next; + mes "##1--------- The Alacrius Riddle"; + mes ""; + mes "A spell used in the right place and order,"; + mes "will break Keshlam's magical border,"; + mes "but be very aware of a warder."; + next; + mes "Also know, my oh so dear friends,"; + mes "the clues differ for whoever attends."; + mes "If one will fail or succeed depends,"; + mes "on how close attention one spends!"; + next; + mes "##9 Explore the Crypt and find the clues to solve Alacrius' Riddle."; + mes "##9 All clues, hints and riddles you need to solve this one,"; + mes "##9 are inside this crypt. If a clue, hint, or riddle, doesn't make"; + mes "##9 immediate sense, together, they shall lend you their full meaning."; + //mes "##9 And if you're in despair, find the Lord words, they will guide your way."; + close; +} + +027-2,30,78,0 script #AlacriusClue1 NPC400,{ + if (!#CRYPT_PASSWORD) + goto L_Empty; + mes "For those whom search to the answers of Alacrius' Riddles."; + next; + mes "Made with stone, near Krukan's room,"; + mes "lies a forgotten chamber tomb,"; + mes "for those who fell victim to his doom."; + mes ""; + mes "Candles will part the left from the right"; + mes "and the stone sarcophagi hold clues to the rite."; + mes "But only the ones that are still sealed tight,"; + mes "will tell you which candles you have to light."; + mes ""; + mes "And watch out for the five heroes,"; + mes "For the lord's words of wisdom,"; + mes "They carefully guard."; + close; + +L_Empty: + mes "The book pages are blank!"; close; } + +027-2,41,78,0 script #AlacriusClue2 NPC400,{ + if (!#CRYPT_PASSWORD) + goto L_Empty; + mes "For those whom search to the answers of Alacrius' Riddles."; + next; + mes "Not far from Razha's hall,"; + mes "statues of stone adorn the wall,"; + mes "to honor the heroes who caused him to fall."; + mes ""; + mes "Only the ones in unfractured light,"; + mes "might hold a clue to the unholy rite,"; + mes "and tell you which candles you have to light,"; + mes "while others will tell you just lies outright."; + close; + +L_Empty: + mes "The book pages are blank!"; + close; +} + + +027-3,59,22,0 script #AlacriusClue3 NPC400,{ + if (!#CRYPT_PASSWORD) + goto L_Empty; + mes "For those whom search to the answers of Alacrius' Riddles."; + next; + mes "For those who don't get astray,"; + mes "Five sealed gates block the way,"; + mes "to Terogan's vault of foul play."; + mes ""; + mes "A cite on their left or right"; + mes "holds the key to the abysmal rite,"; + mes "that opens the path to an unspeakable site."; + mes "Do you know which candles to light?"; + close; + +L_Empty: + mes "The book pages are blank!"; + close; +} + +027-4,108,87,0 script #AlacriusClue4 NPC400,{ + if (!#CRYPT_PASSWORD) + goto L_Empty; + mes "For those whom search to the answers of Alacrius' Riddles."; + next; + mes "I have nothing to say,"; + mes "But this room has no key."; + mes ""; + mes "Brute force will not get you in,"; + mes "And you don't have to, to the riddle solve."; + mes ""; + mes "But three books shall give you answers,"; + mes "Can you find all of them?"; + close; + +L_Empty: + mes "The book pages are blank!"; + close; +} + diff --git a/npc/099-7/_import.txt b/npc/099-7/_import.txt index 0a53cc52..e284d5dd 100644 --- a/npc/099-7/_import.txt +++ b/npc/099-7/_import.txt @@ -1,2 +1,3 @@ // Map 099-7: Ruined Swamps // This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/099-7/boss.txt", diff --git a/npc/099-7/boss.txt b/npc/099-7/boss.txt new file mode 100644 index 00000000..9668ceed --- /dev/null +++ b/npc/099-7/boss.txt @@ -0,0 +1,711 @@ + +027-4,105,61,0 script #KeshlamClue701 NPC400,{ + if (!#CRYPT_PASSWORD) end; + mes "In memory of the left handed singer"; + if (#CRYPT_PASSWORD & 1) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At south a bright sparks."; + close; + +L_Off: + mes "A reading says: At northeast a bright sparks."; + close; +} + +027-4,91,61,0 script #KeshlamClue702 NPC400,{ + if (!#CRYPT_PASSWORD) end; + mes "In memory of the left handed lone warrior"; + if (#CRYPT_PASSWORD & 1) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At southwest a bright sparks."; + close; + +L_Off: + mes "A reading says: At southeast a bright sparks."; + close; +} + +027-4,99,61,0 script #KeshlamClue703 NPC400,{ + if (!#CRYPT_PASSWORD) end; + mes "In memory of the left handed sailor"; + if (#CRYPT_PASSWORD & 1) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At northwest a bright sparks."; + close; + +L_Off: + mes "A reading says: At south a bright sparks."; + close; +} + +027-4,121,61,0 script #KeshlamClue704 NPC400,{ + if (!#CRYPT_PASSWORD) end; + mes "In memory of the left handed gargoyle"; + if (#CRYPT_PASSWORD & 2) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At southwest a bright sparks."; + close; + +L_Off: + mes "A reading says: At southeast a bright sparks."; + close; +} + + + +027-3,105,88,0 script #KeshlamClue705 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 4) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At northwest a bright sparks."; + close; + +L_Off: + mes "A reading says: At south a bright sparks."; + close; +} + +027-3,111,88,0 script #KeshlamClue706 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 4) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At northeast a bright sparks."; + close; + +L_Off: + mes "A reading says: At southwest a bright sparks."; + close; +} + + + + +027-3,105,83,0 script #KeshlamClue707 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 4) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At north a bright sparks."; + close; + +L_Off: + mes "A reading says: At west a bright sparks."; + close; +} + +027-3,111,83,0 script #KeshlamClue708 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 8) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At east a bright sparks."; + close; + +L_Off: + mes "A reading says: At north a bright sparks."; + close; +} + + + +027-3,105,78,0 script #KeshlamClue709 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 8) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At southeast a bright sparks."; + close; + +L_Off: + mes "A reading says: At northwest a bright sparks."; + close; +} + +027-3,111,78,0 script #KeshlamClue710 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 8) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At northeast a bright sparks."; + close; + +L_Off: + mes "A reading says: At southwest a bright sparks."; + close; +} + + + +027-3,105,73,0 script #KeshlamClue711 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 8) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At north a bright sparks."; + close; + +L_Off: + mes "A reading says: At west a bright sparks."; + close; +} + +027-3,111,73,0 script #KeshlamClue712 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 16) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At east a bright sparks."; + close; + +L_Off: + mes "A reading says: At north a bright sparks."; + close; +} + + + +027-3,106,59,0 script #KeshlamClue713 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 16) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At southeast a bright sparks."; + close; + +L_Off: + mes "A reading says: At northwest a bright sparks."; + close; +} + +027-3,111,59,0 script #KeshlamClue714 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 16) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At south a bright sparks."; + close; + +L_Off: + mes "A reading says: At northeast a bright sparks."; + close; +} + + + +027-3,106,54,0 script #KeshlamClue715 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 32) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At southwest a bright sparks."; + close; + +L_Off: + mes "A reading says: At southeast a bright sparks."; + close; +} + +027-3,111,54,0 script #KeshlamClue716 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 32) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At south a bright sparks."; + close; + +L_Off: + mes "A reading says: At northeast a bright sparks."; + close; +} + +027-4,111,61,0 script #KeshlamClue750 NPC400,{ + if (!#CRYPT_PASSWORD) end; + mes "In memory of the right handed sailor"; + if (#CRYPT_PASSWORD & 64) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At southwest a bright sparks."; + close; + +L_Off: + mes "A reading says: At southeast a bright sparks."; + close; +} + +027-4,108,61,0 script #KeshlamClue751 NPC400,{ + if (!#CRYPT_PASSWORD) end; + mes "In memory of the right handed duo"; + if (#CRYPT_PASSWORD & 64) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At south a bright sparks."; + close; + +L_Off: + mes "A reading says: At northeast a bright sparks."; + close; +} + +027-4,115,61,0 script #KeshlamClue752 NPC400,{ + if (!#CRYPT_PASSWORD) end; + mes "In memory of the right handed Kage"; + if (#CRYPT_PASSWORD & 128) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At northwest a bright sparks."; + close; + +L_Off: + mes "A reading says: At south a bright sparks."; + close; +} + +027-4,119,61,0 script #KeshlamClue753 NPC400,{ + if (!#CRYPT_PASSWORD) end; + mes "In memory of the right handed lone warrior"; + if (#CRYPT_PASSWORD & 128) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At southwest a bright sparks."; + close; + +L_Off: + mes "A reading says: At southeast a bright sparks."; + close; +} + + + +027-3,118,88,0 script #KeshlamClue754 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 256) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At northwest a bright sparks."; + close; + +L_Off: + mes "A reading says: At south a bright sparks."; + close; +} + +027-3,124,88,0 script #KeshlamClue755 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 256) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At northeast a bright sparks."; + close; + +L_Off: + mes "A reading says: At southwest a bright sparks."; + close; +} + + + +027-3,118,83,0 script #KeshlamClue756 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 256) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At north a bright sparks."; + close; + +L_Off: + mes "A reading says: At west a bright sparks."; + close; +} + +027-3,124,83,0 script #KeshlamClue757 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 256) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At east a bright sparks."; + close; + +L_Off: + mes "A reading says: At north a bright sparks."; + close; +} + + + +027-3,118,78,0 script #KeshlamClue758 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 512) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At north a bright sparks."; + close; + +L_Off: + mes "A reading says: At west a bright sparks."; + close; +} + +027-3,124,78,0 script #KeshlamClue759 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 512) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At east a bright sparks."; + close; + +L_Off: + mes "A reading says: At north a bright sparks."; + close; +} + + + +027-3,118,73,0 script #KeshlamClue760 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 512) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At northeast a bright sparks."; + close; + +L_Off: + mes "A reading says: At southwest a bright sparks."; + close; +} + +027-3,124,73,0 script #KeshlamClue761 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 512) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At south a bright sparks."; + close; + +L_Off: + mes "A reading says: At northeast a bright sparks."; + close; +} + + + +027-3,117,59,0 script #KeshlamClue762 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 1024) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At south a bright sparks."; + close; + +L_Off: + mes "A reading says: At northeast a bright sparks."; + close; +} + +027-3,122,59,0 script #KeshlamClue763 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 1024) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At southeast a bright sparks."; + close; + +L_Off: + mes "A reading says: At northwest a bright sparks."; + close; +} + + + +027-3,117,54,0 script #KeshlamClue764 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 2048) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At south a bright sparks."; + close; + +L_Off: + mes "A reading says: At northeast a bright sparks."; + close; +} + +027-3,122,54,0 script #KeshlamClue765 NPC400,{ + if (!#CRYPT_PASSWORD) end; + if (#CRYPT_PASSWORD & 2048) goto L_On; + goto L_Off; + +L_On: + mes "A reading says: At southwest a bright sparks."; + close; + +L_Off: + mes "A reading says: At southeast a bright sparks."; + close; +} + +027-5,68,94,0 script #KeshlamClue791 NPC400,{ + if (!#CRYPT_PASSWORD) end; + mes "There's an inscription on the gate."; + next; + mes "\"Krukan reads from bottom up. Four clues.\""; + close; +} + +027-5,68,87,0 script #KeshlamClue792 NPC400,{ + if (!#CRYPT_PASSWORD) end; + mes "There's an inscription on the gate."; + next; + mes "\"The candle shall lit you, but if you mess up, a different light will show."; + mes "Alas did you knew, that Razha came before Krukan?\""; + close; +} + +027-5,68,73,0 script #KeshlamClue793 NPC400,{ + if (!#CRYPT_PASSWORD) end; + mes "There's an inscription on the gate."; + next; + mes "\"Razha likes to read from left to right. Two clues, Two clues.\""; + close; +} + +027-5,68,59,0 script #KeshlamClue794 NPC400,{ + if (!#CRYPT_PASSWORD) end; + mes "There's an inscription on the gate."; + next; + mes "\"The master's candlesticks are like the fingers of his hand."; + mes "And if it is not to kill, they will never move.\""; + close; +} + +027-5,68,46,0 script #KeshlamClue795 NPC400,{ + if (!#CRYPT_PASSWORD) end; + mes "There's a bloody inscription on the gate."; + next; + mes "\"##B"+get(.invocation$, "reapercry")+"##b\""; + next; + mes "##9You hear the sounds of battle. Candle lights shines in distance."; + next; + mes "##9However, when you turn towards the source - both the light as the sound have already stopped."; + next; + mes "##9Is this a clue of some sort?"; + close; +} + +099-7,75,49,0 script Engraving#Keshlam NPC400,{ + mes "There's an engraving on this tree."; + next; + if (countitem("FlawedLens") < 1) goto L_Tools; + mes "Thanks to the lens on your inventory, you can read this:"; + mes ""; + mes "\"Nu'rem perished here, after the fight with Jande, Tal and Di'Tal."; + mes "For this very reason, this land is plagued forever. We shall give Nu'Rem a proper burrial.\""; + next; + mes "-- The Sparron"; + close; + +L_Tools: + mes "It is too faint to read without some good lens, but you can make the following words out of the engraving:"; + next; + mes "\"Nu'rem .... here .... fight .... Jande ...."; + mes ".... land .... plagued forever. .... Nu'Rem .... proper burrial.\""; + next; + mes "-- The ...."; + close; +} + + +- script Keshlam NPC32767,{ + close; + +OnInit: + areamonster "099-7", 20, 20, 120, 120, "", 1148, 10, "Keshlam::OnDeath8"; + areamonster "099-7", 20, 20, 120, 120, "", 1149, 10, "Keshlam::OnDeath9"; + monster "099-7", 20, 105, "Grim Reaper", 1068, 1, "Keshlam::OnBoss"; + end; + +OnDeath8: +OnDeath9: +OnDeath: + // TODO: Only fire this if timer not running. Set timer to 5min + initnpctimer; + end; + +OnBoss: + initnpctimer; + // If a player is attached, give them 20 Treasure Keys + getitem TreasureKey, 20; + end; + +OnTimer150000: + // 1148 + $@KeshlamMc = mobcount("099-7", "Keshlam::OnDeath8"); + if ($@KeshlamMc < 10) + areamonster "099-7", 20, 20, 120, 120, "", 1148, 10-$@KeshlamMc, "Keshlam::OnDeath8"; + + // 1149 + $@KeshlamMc = mobcount("099-7", "Keshlam::OnDeath9"); + if ($@KeshlamMc < 10) + areamonster "099-7", 20, 20, 120, 120, "", 1149, 10-$@KeshlamMc, "Keshlam::OnDeath9"; + + // Boss (TODO maybe give boss their own timer with 5 minutes) + $@KeshlamMc = mobcount("099-7", "Keshlam::OnBoss"); + if ($@KeshlamMc < 1) + monster "099-7", 20, 105, "Grim Reaper", 1068, 1, "Keshlam::OnBoss"; + + // Done + $@KeshlamMc = 0; + stopnpctimer; + end; +} + +099-7,18,110,0 script Chest#keshlam NPC111,{ + if (FLAGS & FLAG_KESHLAM_RAREDROP) goto L_Finished; + mes "[Chest]"; + mes "Would you try to open it?"; + mes "##1Cost: 1000 Treasure Keys##0"; + next; + menu + "Yes.", L_Yes, + "No.", L_close; + +L_Yes: + if (ispcdead()) + goto L_Not_Enough; + if(countitem(TreasureKey) < 1000) + goto L_Not_Enough; + getinventorylist; + if (@inventorylist_count == 100 + && countitem(TreasureKey) > 1000) + goto L_TooMany; + delitem TreasureKey, 1000; + if (FLAGS & FLAG_KESHLAM_FLAWEDLENS) goto L_Rare; + goto L_FlawedLens; + +L_FlawedLens: + getitem FlawedLens, 1; + getexp 20000000, 0; + FLAGS = FLAGS | FLAG_KESHLAM_FLAWEDLENS; + mes "[Chest]"; + mes "You opened it and found...! Some flawed lens?! Meh."; + next; + mes "[Chest]"; + mes "You notice this chest has a hidden section with another lock."; + mes "You might want try that again later."; + close; + +L_Rare: + getexp 10000000, 0; + FLAGS = FLAGS | FLAG_KESHLAM_RAREDROP; + if (rand(4) == 1) goto L_Amulet; // 25% chance + goto L_Ring; // 75% chance + +L_Amulet: + getitem EnchantersAmulet, 1; + mes "[Chest]"; + mes "You opened it and found...! An Enchanter's Amulet! Lucky!"; + close; + +L_Ring: + getitem MageRing, 1; + mes "[Chest]"; + mes "You opened it and found...! A Mage Ring! Lucky!"; + close; + +L_Not_Enough: + mes "It seems that this is not the right key..."; + close; + +L_Finished: + mes "[Chest]"; + mes "You already opened this chest."; + close; + +L_TooMany: + mes "[Chest]"; + mes "You don't have room for what ever is inside. Maybe you should try again later."; + close; + +L_close: + close; +} + +099-7,95,117,0 script Knowledgeable Tree NPC400,{ + mes "If you kill every monster, this tree can warp you back."; + mes "You will receive experience points for cleaning the map."; + mes ""; + mes "But be warned, monsters respawn on their own every five minutes."; + mes "The boss must also be defeated."; + next; + @KeshlamMc = mobcount("099-7", "Keshlam::OnDeath8"); + @KeshlamMc = @KeshlamMc+mobcount("099-7", "Keshlam::OnDeath9"); + @KeshlamMc = @KeshlamMc+mobcount("099-7", "Keshlam::OnBoss"); + if (@KeshlamMc <= 0) goto L_Done; + mes "There is ##B"+@KeshlamMc+" monsters##b alive."; + close; + +L_Done: + mes l("Go back?"); + if (askyesno() == ASK_NO) + close; + mes ""; + getexp 1000000, 0; + warp "027-2", 50, 29; + close; +} + +027-4,107,61,0 script #NoobJesusalva01 NPC400,{ + if (!#CRYPT_PASSWORD) end; + mes "(The memorial is at right, behind the column.)"; + close; +} +027-4,109,61,0 script #NoobJesusalva02 NPC400,{ + if (!#CRYPT_PASSWORD) end; + mes "(The memorial is at left, behind the column.)"; + close; +} +099-7,73,20,0 script #NoobKytty01 NPC400,0,0,{ + warp "099-7", 72, 17; + end; +} +099-7,73,17,0 script #NoobKytty02 NPC400,0,0,{ + warp "099-7", 72, 20; + end; +} + -- cgit v1.2.3-60-g2f50