summaryrefslogblamecommitdiff
path: root/npc/002-3/nard.txt
blob: 931a5b587a71cc3ea1674262c74b6347ff1b6d14 (plain) (tree)
1
2
3
4
5
6
7
8
9
                


                   
               

                           
                                             
                                                         
 
                                          

                                                           


                                        
                                  
                                                   








                                                                                                                    
                                                                                                              


































                                                                                                                                                         
         
                                           
                                                                         

                       
                                                   




                                                                

                                                                     

                             
                                                                                              










                                                                      
                                             

                                                                    

                                  






                                                                                                                 

                        
                                         

                                                                                         
                         
                              
                 






                                                                                                                
                        
     
 

          



           
                                                                                        
         
                                                        
         
                     





                            
                                                                                                    





















                                                                                                                           
               

           
                                                                                                           
         
                                                                              
         
                                                                              
         
 
                     

         
                 





                                               


                                                                            

           
         


                                                                                  
                                 

                            

                                                      
                   
                    
                                     





                                                               




                                                                                                                                                           
             
             

                                                                                                                                           
             

                                                                                                   

                                                          

                                                                                  
     

          
         
                                                            
                
                                            
 



                                                  

                                                         

                                                                                                              
 
                                                                                                    
            

                                                                                             

                                                                                                                                                 







                                                                    
                      
                      





                                                                        




                                                       

         
                      
                     
                             
 




                                                                   




                                                       
 



















                                                                                                                                                                         
          

           
                    

                                         
                         
                                  





                                                                                                                      


          




                  
// TMW2 scripts.
// Authors:
//    Qwerty Dragon
//    Reid
//    Jesusalva
// Description:
//    Captain Nard dialogs.
//    Nard is a fair merchant ship's captain.
//    Original Nard's from Evol by Qwerty Dragon and Reid

002-3,36,25,0	script	Nard	NPC_NARD,{
    showavatar NPC_NARD;  // this is handled by avatars.xml

    .@narrator = getq(General_Narrator);

L_Checker:
    if (.@narrator) goto L_Travel;
    if (getq(ShipQuests_Julia) >= 3) goto L_NotYet;
    // Introduction
    mesn;
    mesq l("Hello.");
    next;
    mesq l("Let me introduce myself, I am Nard, captain of this ship.");
    next;
    mesq lg("I am pleased to see that you have woken up and are active. Elmo came here to tell me this good news!");
    next;
    mesn;
    mesq l("Hehehe, he is a bit nervous, please forgive him, it is not everyday we find someone on the sea!");
    next;
    mesq l("So, how do you feel? I see that Juliet did a marvellous job! You look like you're in good health now.");
    next;

L_Menu:
    menu
        lg("I feel ok."), L_Ok,
        l("Who's this Juliet?"), L_Juliet,
        lg("I'm a bit sick..."), -;

    mes "";
    mesn;
    mesq l("Oh, I was going to ask you if you wanted to help the crew search for some food and explore the island out there.");
    next;

L_MenuQuest:
    menu
        l("What do you need?"), -,
        l("Is there a reward?"), L_NeedHead,
        l("Wait, you never came here before?"), L_CandorIsland;

    mes "";
    mesn;
    mesq l("Ship travels are not free. See if you can gather some money, and I'll bring you to Tulimshar!");
    next;
    showavatar NPC_ELMO;
    setcamnpc "Elmo";
    mesn l("Elmo");
    mesq l("I, Elmo, captain's deputy, will help you to make the maximum possible money in Candor!");
    next;
    showavatar NPC_NARD;
    mesn;
    mesq l("Why we're going Tulimshar, you may ask? Because well, believe me, if you want to find out anything, the best place to ask around is Tulim!");
    LOCATION$ = "Candor";
    setq ShipQuests_Julia, 3;
    next;
    mesc b(l(".:: Main Quest 1-3 ::.")), 3;
    msObjective(Zeny >= .@price, l("* Collect @@/@@ GP", Zeny, .@price));

    // Referral program
    if (#REFERRAL_PROG == 0 && $REFERRAL_ENABLED) {
        next;
        clear;
        showavatar NPC_LOF_RICH;
        mesc l("But before, a message from our developers!"), 3;
        next;
        mesn l("TMW2 Staff");
        mesc l("Hello, and welcome to TMW2: Moubootaur Legends!"), 3;
        next;
        mesn l("TMW2 Staff");
        mesc l("Did you came here by someone advise? If yes, write their name down here!"), 3;
        mesc l("If this is not the case, just click on \"Send\"."), 3;
        .@ref$="";
        do
        {
            input .@ref$;
            debugmes "Hercules is bugged: "+.@ref$;
            mes "";
            if (.@ref$ != "") {
                .@ref=gf_accid(strip(.@ref$));
                if (.@ref > 0) {
                    if (.@ref == getcharid(3)) {
                        mesn l("TMW2 Staff");
                        mesc l("Hahah, silly, that's yourself!"), 3;
                        mesc l("Try again!"), 3;
                        next;
                        .@ref$="";
                    } else {
                        #REFERRAL_PROG=.@ref;
                        getitembound FriendGift, 1, 1;
                        mesn l("TMW2 Staff");
                        mesc l("Well, welcome to the game! If you have any doubt, shout on #world for help!"), 3;
                        mesc l("Your friend also sent you a gift - open it when you get level 5!"), 3;
                        next;
                    }
                } else {
                    mesn l("TMW2 Staff");
                    mesc l("Oops, there is nobody known as @@ on this game.", .@ref$), 3;
                    mesc l("Could you try again? There could be a typo!"), 3;
                    next;
                    .@ref$="";
                }
            } else {
                .@ref$="None";
                mesn l("TMW2 Staff");
                mesc l("I see. Well, welcome to the game! If you have any doubt, shout on #world for help!"), 3;
                next;
            }
        } while (.@ref$ == "");
    showavatar NPC_NARD;
    }

    close;


L_NeedHead:
    mes "";
    mesn;
    mesq l("You're pretty much stranded on this forsaken island if you don't help me!");
    next;
    mesq l("Also, I believe hard work always pay off.");
    next;
    goto L_MenuQuest;

L_Ok:
    mes "";
    mesn;
    mesq l("Good to know.");
    next;
    mesq l("We have made a stop at a little island, before making it on to the port of Tulimshar.");
    next;
    mesq l("It would be good for you to do some exercise, the ship isn't big enough for that.");
    next;

    goto L_SpecialTask;

L_Juliet:
    mes "";
    mesn;
    mesq l("You have an awful case of amnesia.");
    next;
    mesq l("She is the nurse and shipkeeper of this ship.");
    next;
    mesq lg("But most important, she is the one who took care of you when you were unconscious.");
    next;

L_SpecialTask:
    mesq l("I know that you are just starting to feel better, but I'd like you to explore the island we're currently at.");
    next;

    goto L_MenuQuest;

L_CandorIsland:
    mes "";
    mesn;
    mesq l("I never said that. I come here frequently to trade. It is you who should explore the island.");
    next;
    mesq l("This is ##BCandor Island##b. A very small community lives here.");
    next;
    mesq l("If they were any bigger, monsters would come and kill everyone.");
    next;

    goto L_MenuQuest;

L_NotYet:
    .@price=1200;
    mesc b(l(".:: Main Quest 1-1 ::.")), 3;
    if (Zeny >= .@price)
        mesc l("* @@/@@ GP", Zeny, .@price), 2;
    else
        mesc l("* @@/@@ GP", Zeny, .@price), 9;
    mes "";
    select
        rif(Zeny >= .@price, l("I've brought the money you've asked for.")),
        l("Please excuse me, captain.");

    mes "";
    mesn;
    if (Zeny >= .@price) {
        mesq l("Ten, fifty, thousand... Yep, this is the amount I've asked for.");
        next;
        setq General_Narrator, 1;
        Zeny = Zeny-.@price;
        LOCATION$="Tulim";
        mesq l("Set sail! We're going to Tulimshar!");
        next;
        showavatar;
        setcam 0, 0;
        mesc l("Some time later...");
        next;
        restorecam;
        showavatar NPC_NARD;  // this is handled by avatars.xml
        mesn;
        mesq l("Welcome to Tulimshar, @@!", strcharinfo(0));
        next;
        mesn;
        mesq l("You can explore the city as you want, but if I were you, I would ##Btouch the Soul Menhir##b, north of here, to don't respawn at Candor.");
        next;
        mesn;
        mesq l("Other than that, you can explore the city as you want, but as you had a memory loss, You should visit the townhall.");
        next;
        mesn;
        mesq l("When you get out of the ship, it is the first building you'll see. Talk to ##BLua##b, she is an alliance representative.");
        next;
        mesn;
        mesq l("The Alliance have records of everyone. And if you need another trip, talk to me!");

    } else {
        mesq l("You still haven't completed your tasks.");
        mes "";
        mesc l("You still need @@ GP for the trip to Tulimshar.", (.@price-Zeny));
    }
    close;

L_Travel:
    // Current nard_reputation() value for 100% discount: 15
    .@price=800;
    .@price-=min(780, nard_reputation()*54);

    mesn;
    mesq l("Hi @@.", strcharinfo(0));
    next;
    mesq l("You are currently at @@.", LOCATION$);
    mes "";
    mes l("A ship travel will cost you @@ GP.", .@price);
    if (ST_TIER == 8)
        mesc l("What are you doing? Go talk to @@  and bring me a @@!", b("Elanore"), getitemlink(Lifestone));

    if (Zeny >= .@price || ((ST_TIER == 7 || ST_TIER == 9) && gettimetick(2) < QUEST_ELEVARTEMPO)) {
        menu
            rif(Zeny >= .@price && LOCATION$ != "Candor", l("To Candor Island.")), L_TCandor,
            rif(Zeny >= .@price && LOCATION$ != "Tulim", l("To Tulimshar.")), L_TTulim,
            rif(ST_TIER == 7 && gettimetick(2) < QUEST_ELEVARTEMPO ,l("Help me, I need Jesusaves Grimorie!")), L_Tier2,
            rif(ST_TIER == 9 && countitem(Lifestone) && gettimetick(2) < QUEST_ELEVARTEMPO ,l("Help me, I need Jesusaves Grimorie!")), L_Tier2Ok,
            l("No, I'll save my money."), -;
    } else {
        mes l("You still need @@ GP to afford it.", (.@price-Zeny));
    }

    close;

L_TCandor:
    Zeny=Zeny-.@price;
    PC_DEST$="Candor";

    mes "";
    mesn;
    mesq l("Candor Island, then? Yes, that is a pretty island, right?");
    next;
    mesq l("I was planning to go there soon, anyway. All aboard!");
    close2;
    addtimer nard_time(PC_DEST$), "#NardShip::OnEvent";
    @timer_navio_running = 1;
    warp "002-5", 39, 26;
    end;

L_TTulim:
    Zeny=Zeny-.@price;
    PC_DEST$="Tulim";
    @timer_navio_running = 1;

    mes "";
    mesn;
    mesq l("Tulimshar, right? The oldest human city-state!");
    next;
    mesq l("I was planning to go there soon, anyway. All aboard!");
    close2;
    addtimer nard_time(PC_DEST$), "#NardShip::OnEvent";
    @timer_navio_running = 1;
    warp "002-5", 39, 26;
    end;

L_Tier2:
    mes "";
    mesn;
    mesq l("WHAT?! ARE YOU OUT OF MIND?!?!");
    next;
    mesn;
    if (nard_reputation() < 8) {
        mesq l("THAT GRIMORIE IS A SUPER DUPER MEGA UPER RARE BOOK, I CANNOT GIVE IT TO ANYBODY ASKING ME ABOUT!!");
        next;
        mesn;
        mesq l("GET OUT OF HERE, YOUR NOBODY!");
        close;
    }
    mesq l("That is a rare, precious book, which writes itself!");
    next;
    mesn;
    mesq l("I cannot just give it to you for nothing. Run to Elanore and fetch me a @@. You need to make a new one, an old one I won't accept.", getitemlink(Lifestone));
    ST_TIER=8;
    close;

L_Tier2Ok:
    mes "";
    mesn;
    mesc l("*tut*");
    next;
    inventoryplace JesusalvaGrimorium, 1;
    delitem Lifestone, 1;
    getitem JesusalvaGrimorium, 1;
    getexp 200, 0;
    ST_TIER=10;
    mesn;
    mesq l("Here, take it. If the mana goes out of your body, I'll have your class master to return the book to me.");
    close;

L_Close:
    close;

OnInit:
    .sex = G_MALE;
    .distance = 5;
    end;
}