summaryrefslogblamecommitdiff
path: root/npc/099-1/main.txt
blob: cbd57a0d5af1fed50eff0959ece46e27af1b62cc (plain) (tree)

















































































































































































































































































                                                                                    
099-1,35,28,0	script	Note#DD5Core	NPC400,{
    // Default distance is 4 tiles - all we need
    callfunc "PCtoNPCRange";
    if(@npc_check) end;

	mes ".:: Keshlam's Adventurer Guild ::.";
    mes "";
    mes "Welcome to the Adventurers Guild!";
    mes "Sorry I could not wait for you. It's your fault for being late.";
    next;
    mes "So, it has been a long time since you were here.";
    mes "I hope you still remember the directions?";
    mes "Hahaha! There is a lot of fake rooms in this building.";
    next;
    mes "You should have known me for long enough to know I do not take chances.";
    mes "I've put the docks where I'm waiting for you in an overlapping dimension.";
    mes "This should be enough to stop any Sparron who makes back to here.";
    next;
    mes "My dimension, my rules.";
    mes "I've set a rule that anything dying here should not respawn.";
    mes "I'm not sure if it'll work, but I did enough tests on that.";
    next;
    mes "In case you forgot, this is an, *ahem*, \"deleted\" dimension.";
    mes "You'll see notes from the adventurers who used to inhabit here.";
    mes "Maybe you even find something which used to belong to them?";
    next;
    mes "I'm sure they tried to write down possible ways to stop me.";
    mes "I do not like them, so if you find anything which belong to them...";
    mes "...Well, you're free to take it.";
    next;
    mes "I've stationed a guard here and there, to stop intruders.";
    mes "Use invisibility magic if you need to go past them.";
    mes "I'll talk to you later. Do not leave me waiting!";
    next;
    mes "Signed,";
    mes "Xakelbael the Dark";
	close;
}

099-3,69,38,0	script	Ritual Book#099-31	NPC400,{
    // Default distance is 4 tiles - all we need
    callfunc "PCtoNPCRange";
    if(@npc_check) end;

	mes ".:: Ritual Book ::.";
    mes "";
    mes "In this maze, sixteen numeric passwords lie.";
    mes "All sixteen passwords must be chanted in their sequence.";
    mes "";
    mes "Chanting can be done on the book at right.";
    mes "##9Only one player may chant all passwords.";
    mes "##9No reward is provided.";
    mes "##9If you get a number wrong, you'll be penalized!";
	close;
}

099-3,75,38,0	script	Ritual Book#099-32	NPC400,{
    // Default distance is 4 tiles - all we need
    callfunc "PCtoNPCRange";
    if(@npc_check) end;
    if ($@DD5_OPENSESAME) goto L_Complete;

	mes ".:: Ritual Book ::.";
    mes "Perform the ritual?";
    next;
    menu
        "Yes", L_RB_0,
        "No", L_close;

L_RB_0:
    mes "Say the password - ##B NULL##b";
    input @pass;

    if (@pass != $@DD5_PASSWORDS[0]) goto L_Failure;
    goto L_RB_1;

L_RB_1:
    mes "Say the password - ##B EIN##b";
    input @pass;

    if (@pass != $@DD5_PASSWORDS[1]) goto L_Failure;
    goto L_RB_2;

L_RB_2:
    mes "Say the password - ##B ZWEI##b";
    input @pass;

    if (@pass != $@DD5_PASSWORDS[2]) goto L_Failure;
    goto L_RB_3;

L_RB_3:
    mes "Say the password - ##B DREI##b";
    input @pass;

    if (@pass != $@DD5_PASSWORDS[3]) goto L_Failure;
    goto L_RB_4;

L_RB_4:
    mes "Say the password - ##B VIER##b";
    input @pass;

    if (@pass != $@DD5_PASSWORDS[4]) goto L_Failure;
    goto L_RB_5;

L_RB_5:
    mes "Say the password - ##B FUNF##b";
    input @pass;

    if (@pass != $@DD5_PASSWORDS[5]) goto L_Failure;
    goto L_RB_6;

L_RB_6:
    mes "Say the password - ##B SECHS##b";
    input @pass;

    if (@pass != $@DD5_PASSWORDS[6]) goto L_Failure;
    goto L_RB_7;

L_RB_7:
    mes "Say the password - ##B SIEBEN##b";
    input @pass;

    if (@pass != $@DD5_PASSWORDS[7]) goto L_Failure;
    goto L_RB_8;

L_RB_8:
    mes "Say the password - ##B ACHT##b";
    input @pass;

    if (@pass != $@DD5_PASSWORDS[8]) goto L_Failure;
    goto L_RB_9;

L_RB_9:
    mes "Say the password - ##B NEUN##b";
    input @pass;

    if (@pass != $@DD5_PASSWORDS[9]) goto L_Failure;
    goto L_RB_10;

L_RB_10:
    mes "Say the password - ##B ZEHN##b";
    input @pass;

    if (@pass != $@DD5_PASSWORDS[10]) goto L_Failure;
    goto L_RB_11;

L_RB_11:
    mes "Say the password - ##B ELF##b";
    input @pass;

    if (@pass != $@DD5_PASSWORDS[11]) goto L_Failure;
    goto L_RB_12;

L_RB_12:
    mes "Say the password - ##B ZWOLF##b";
    input @pass;

    if (@pass != $@DD5_PASSWORDS[12]) goto L_Failure;
    goto L_RB_13;

L_RB_13:
    mes "Say the password - ##B DREIZEHN##b";
    input @pass;

    if (@pass != $@DD5_PASSWORDS[13]) goto L_Failure;
    goto L_RB_14;

L_RB_14:
    mes "Say the password - ##B VIERZEHN##b";
    input @pass;

    if (@pass != $@DD5_PASSWORDS[14]) goto L_Failure;
    goto L_RB_15;

L_RB_15:
    mes "Say the password - ##B FUNFZEHN##b";
    input @pass;

    if (@pass != $@DD5_PASSWORDS[15]) goto L_Failure;
    goto L_Success;

L_Failure:
    mes "##1THAT WAS WRONG!";
    mes "##1THE RITUAL BACKFIRES!";
    Hp = 1;
    warp "099-1", 0, 0;
    close;

L_Success:
    $@DD5_OPENSESAME = 1;
	mes ".:: Ritual Book ::.";
    mes "The portal magic is now active.";
    close;

L_Complete:
	mes ".:: Ritual Book ::.";
    mes "The ritual was already performed.";
    close;

L_close:
	close;
}

099-3,72,75,0	script	#WarpToFinalShowdown	NPC424,0,0,{
    // Default distance is 4 tiles - all we need
    callfunc "PCtoNPCRange";
    if(@npc_check) end;

    if ($@DD5_TSWITCH != 18)
        goto L_NotSwitch;

    if (!$@DD5_OPENSESAME)
        goto L_NotSesame;

	mes "Walk here to go to the ##BFinal Showdown##b.";
    mes "";
    mes "##1##BWARNING:##b##0 Come prepared!";
	close;

L_NotSwitch:
    mes "All 18 switches must be flipped in order to this warp to work!";
    close;

L_NotSesame:
    mes "The ritual need to be performed to use this warp!";
    close;

L_Busy:
    mes "This warp cannot be used while players are on the other side!";
    close;

OnTouch:
    if ($DOOMSDAY_VANILLA)
        goto L_Menu;

    if ($@DD5_TSWITCH != 18)
        goto L_NotSwitch;

    if (!$@DD5_OPENSESAME)
        goto L_NotSesame;

    goto L_Menu;

L_Menu:
    if ($@DD5_STATUS > 1)
        goto L_Busy;

	mes b(l("Go to the final showdown?"));
    mes l("You cannot return from there!");
    mes "";
    mesc l("Warning: Warp will be unavailable during fights!"), 1;
    // Since Evolved, the rose is required to begin the fight, not for the warp
    if (!$@DD5_STATUS) {
        mes "";
        mesc l("Cost: 1x %s", getitemlink(BlackRose)), 1;
        if (!countitem(BlackRose)) close;
    }

    menu
        "Yes", L_Yes,
        "No", L_No;
L_No:
    close;
L_Yes:
    warp "099-5", 50, 66;
    if (!$@DD5_STATUS) {
        // Ensure the fight will NOT initiate w/o the rose
        delitem BlackRose, 1;
        donpcevent "#TMWFinalExam::OnWarn0";
    }
    close;
}