summaryrefslogblamecommitdiff
path: root/npc/006-2-5/pouf.txt
blob: f824a203e6a6ffc857ed512c6cc318ac93a44d37 (plain) (tree)
1
2
3
4
5
6
7
8
9
10






                                                                           
                                         

                               
                                                                     
























































































































                                                                                                                                   
// TMW-2 scripts.
// Original Authors: Hal9000 & Qwerty Dragon
// TMW-2 Authors:
//    dangerDuck
//	  +seeds
// Description:
//    Piou royal who asks players to prove themselves against piou knights.
function	script	PoufMobCount	{
    .@q=getq(LilitQuest_Pouf);
    .@t=getq2(LilitQuest_Pouf);
    if (getmap() == "006-2-4" && .@q == 1 && killedrid == PiouKnight)
    {
        setq2 LilitQuest_Pouf, .@t+1;
    }
    if (.@t+1 >= 12) {
        setq LilitQuest_Pouf, 2, 0;
    }
    
    // Report progress
    dispbottom l("@@/@@", .@t+1, 8);
    
    return;
}

006-2-5,38,23,0	script	Princess Pouf	NPC_PIOU_QUEEN,{
    function poufChallenge;
    function poufQuest;
    function poufQuestReport;
    function poufQuestReward;
    function poufQuestFinished;
    .@q=getq(LilitQuest_Pouf);
    if (BaseLevel < 60)
    {
        mesn;
        mesq l("You are too weak to pass my test.");
        mesc l("Return when you are stronger.");
    }
    else
    {
        poufChallenge();
    }
    closedialog;
    close;

function poufChallenge {
    if (.@q == 0)
    {
        mesn;
        mesq l("Welcome to my Isles, traveller.");
        next;
        mesc l("To show you are worthy of remaining here, you must prove yourself to me! Do you accept?"), 1;
        if (askyesno() == ASK_NO)
            return;
        poufQuest();
    }
    elseif (.@q == 1)
    {
        poufQuestReport();
    }
    elseif (.@q == 2)
    {
        poufQuestReward();
    }
    else
    {
        poufQuestFinished();
    }
    return;
}

function poufQuest { // L_Quest:
    mes "";
    mesn;
    mesq l("Defeat 6 of my brave @@ to prove yourself a warrior, brave of heart and strong of arm!", getmonsterlink(PiouKnight));
    next;
    select
        l("Point the way! Little yellow birds can't be that hard."),
	    l("Scary pious with armor? No thank you!");
    mes "";
    switch (@menu) {
        case 1:
            mesn;
            mesq l("Excellent. You will find them in the training room beneath this chamber.");
            setq LilitQuest_Pouf, 1, 0;
            break;
        case 2:
            mesn;
            mesq l("You are clearly not brave enough for this test. Leave my sight at once, chicken.");
            break;
    }
    return;
}

function poufQuestReport { // L_Report:
    mesn;
    mesq l("You've only killed @@/8 @@! You must defeat more to win my favor.", getq2(LilitQuest_Pouf),getmonsterlink(PiouKnight));
    return;
}

function poufQuestReward { // L_Reward:
    mesn;
    mesq l("You've defeated 8 of my knights without flinching! You are truly a brave warrior.");
    mesn;
    mesc l("The princess flies off her perch and alights upon your right and left shoulder in succession.")
    mesn;
    mesq l("I dub thee Honorary Piou Knight @@, with all the rewards and duties of the position!", strcharinfo(0));
    mesn;
    mesc l("The princess produces a small, shiny bronze feather and pins it to your lapel, then returns to her perch.");
    mesn;
    mesq l("Make me proud, knight!")
    inventoryplace BronzePin, 1;
    getitem BronzePin, 1;
    getexp 91479;
    setq LilitQuest_Pouf, 3, 0;
    mesn;
    return;
}

function poufQuestFinished { // L_Finished:
    next;
	.@r = rand2(3);
    if (.@r == 0) mesq l("I bid you a good %s, brave knight.", (is_night() ? l("evening") : l("day")));
    if (.@r == 1) mesq l("Fight bravely for Queen +seeds and country, my knight!");
    if (.@r == 2) mesq l("I wish you success on your ventures, Knight @@.", strcharinfo(0));
    return;
}

OnInit:
    .sex = G_Other;
    .distance = 3;
    end;
}