summaryrefslogblamecommitdiff
path: root/npc/006-2-5/pouf.txt
blob: 4d974e96d00a59daab27dc0ee8116171963d1b43 (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, 12);
    
    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 my challenge?"), 1;
        if (askyesno() == ASK_NO)
            return;
        poufQuest();
    }
    else if (.@q == 1)
    {
        poufQuestReport();
    }
    else if (.@q == 2)
    {
        poufQuestReward();
    }
    else
    {
        poufQuestFinished();
    }
    return;
}

function poufQuest { // L_Quest:
    mes "";
    mesn;
    mesq l("Defeat 12 of my bravest @@ 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, 24989);
    setq LilitQuest_Pouf, 3, 0;
    mesn;
    return;
}

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

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