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"+"reapercry"+"##b\"";
learnskill SKILL_REAPERCRY, 1;
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;
}
099-7,95,33,0 script An Evil Obelisk NPC185,{
mes l("An evil obelisk. Totally not suspcious. At all.");
// 1 = Assigned; 2 = Warped; 3 = Obelisk
if (getq(Quest_Reapercry) == 2) {
next;
// FIXME: Infuse a Soul in the Broken Doll obtained from Fey Sprite
// Then sacrifice it, opening the portal. [HOCUSIDEA]
mesc l("(You touch the mysterious obelisk. Somehow you feels peace and pain at the same time.)");
mesc l("(Suddenly a strange sensation flows through you. It feels like your body leaves your soul and becomes one with the stone.)");
mesc l("(As suddenly as the feeling started it stops. The strange attraction is away from one moment to the next and the obelisk feels like just an ordinary evil stone.)");
setq Quest_Reapercry, 3;
}
close;
OnInit:
.distance=3;
end;
}