summaryrefslogblamecommitdiff
path: root/npc/099-7/boss.txt
blob: 93398de8b033334ccbb3911b0d9024776774a99c (plain) (tree)




























































                                                        



























                                                        



























                                                    



























                                                        



























                                                    



























                                                        























































































                                                        



























                                                        



























                                                    



























                                                    



























                                                        



























                                                        

































































                                                                                       

                                    








                                                                                                           
                                                        

























                                                                                                                     


                                                                             










                                                                   













                                                                                                                                                



              

                                                         
                                                                                             

           

                                                         
                                                                                             

                                                                 

                                                       
                                                                            

           
                    



                 
                                                




































                                                                        
                                                   































                                                                                         
                                                        



























                                                                           
 




                                                        


                                                    

        


                                                    


        
                                                



                                                             

                                                                           











                                                                                                                                                                                    
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,95,65,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", 37, 36, 142, 140, "", 1148, 10, "Keshlam::OnDeath8";
    areamonster "099-7", 37, 36, 142, 140, "", 1149, 10, "Keshlam::OnDeath9";
    monster "099-7", 40, 121, "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 (playerattached()) {
        // If a player is attached, give them 20 Treasure Keys
        getitem TreasureKey, 20;
        BOSS_POINTS+=10;
        if (getq(Quest_Reapercry) < 3) {
            dispbottom l("Somehow, it does not feel *right* - Maybe you need to perform some sort of ritual before defeating the Grim Reaper?");
        } else if (getq(Quest_Reapercry) == 3) {
            getitembound UnderworldKey, 1, 4;
            setq Quest_Reapercry, 4;
            dispbottom l("The Reaper drops a key - It might be valuable, so you keep it.");
        } else {
            dispbottom l("Somehow, it does not feel *right* - We already defeated the Grim Reaper before anyway, didn't we?");
        }
    }
    end;

OnTimer150000:
    // 1148
    .@KeshlamMc = mobcount("099-7", "Keshlam::OnDeath8");
    if (.@KeshlamMc < 10)
        areamonster "099-7", 37, 36, 142, 140, "", 1148, 10-.@KeshlamMc, "Keshlam::OnDeath8";

    // 1149
    .@KeshlamMc = mobcount("099-7", "Keshlam::OnDeath9");
    if (.@KeshlamMc < 10)
        areamonster "099-7", 37, 36, 142, 140, "", 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", 40, 121, "Grim Reaper", 1068, 1, "Keshlam::OnBoss";

    // Done
    .@KeshlamMc = 0;
    stopnpctimer;
    end;
}

099-7,38,126,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 (rand2(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,115,133,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,93,36,0	script	#NoobKytty01	NPC400,0,0,{
    warp "099-7", 94, 33;
    end;
}

099-7,93,33,0	script	#NoobKytty02	NPC400,0,0,{
    warp "099-7", 92, 36;
    end;
}

099-7,100,30,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;
}