summaryrefslogblamecommitdiff
path: root/npc/005-1/maya.txt
blob: d990abcfc3d23d078434dc2dc6297498f2c7bc7a (plain) (tree)
1
2
3
4
5
6
7
8


                
               
               
             
                           
          


                                                                       

                                                                             
                                                                
 
                                                                
                       
                                    
 




                               
                      
                    
                              

                                











                                                                                                  

                                                                                                                                                                  
                                                                                                                                          



                
                                                                                                                                                                

           

                                                                                                                                             
                                               
                                                                                                                                          

          


                                                                                                                               
                                                                                                                                      
                                                                                                                                          


                 
                 

                           
                         
                           
                          


                             
         
                                                                         

          















                                                                                                                    
                                                                                             










                                                                    
                                                                                                                      






                                                                                                                                                
                         
                            














                                                                                                                                                                  
                   

                                                                                                          
































































                                                                                                

          






















                                                                                                                                                        
        

                
          
 



                    
 
// TMW2 scripts.
// Author:
//    Saulc
//    GonzoDark
//    Jesusalva
// Variables:
//    0    CandorQuest_Maya
// Values:
//    00   Default, no quest selected.
//    01   First quest accepted: Need 3 cotton cloth and 3 maggot slime
//    02   First quest completed: Reward Candor shirt
//    03   Second quest accepted: Need 3 ScorpionStinger and 10 Piou Feathers
//    04   Second quest completed: Reward 700 GP (precise calculation)
//    05   wolvern tooth +20k + 2000monster point ->claw pendant

005-1,49,47,0	script	Maya	NPC_RAIJIN_FEMALE_LEGION_ARTIS,{
    function itemCombo;
    .@maya = getq(CandorQuest_Maya);

    if (.@maya == 0)
        goto L_QuestNotStarted;
    if (.@maya == 1)
        goto L_QuestAccepted;
    if (.@maya == 2)
        goto L_Quest2;
    if (.@maya == 3)
        goto L_Quest2Accepted;
    if (.@maya == 4)
        goto L_NextQuestPending;

L_QuestNotStarted:
    mesn;
    mesq l("Hi there, I can always use a helping hand around here, are you the one for the job?");
    mes "";
    menu
        l("Sure"),L_Next,
        l("No, thanks."),L_Close;

L_Next:
    mes "";
    mesn;
    mesq l("Good! First, let us test if you are resourceful. Bring me 3 @@ and 3 @@. That should be enough!", getitemlink(CottonCloth), getitemlink(MaggotSlime));
    setq CandorQuest_Maya, 1;
    tutmes l("You can use \"%s <monster_name>\" to obtain specified monster drop list and stats.", b("@monsterinfo")), l("Protip"), false;
    close;

L_QuestAccepted:
    mesn;
    mesq l("I see you have brought @@/3 @@ and @@/3 @@ for me",countitem(CottonCloth),getitemlink(CottonCloth),countitem(MaggotSlime),getitemlink(MaggotSlime));
    mes "";
    menu
        rif(countitem(CottonCloth) >= 3 && countitem(MaggotSlime) >= 3, l("Here they are!")), L_QuestCompleted,
        rif(countitem(CottonCloth) < 3 || countitem(MaggotSlime) < 3, l("Oh, then I don't have enough! I'll bring more later!")), L_GetHelp1,
        l("Can we get back to that later?"), -;
    tutmes l("You can use \"%s <monster_name>\" to obtain specified monster drop list and stats.", b("@monsterinfo")), l("Protip"), false;
    close;

L_GetHelp1:
    mes "";
    mesc l("Protip: You can get @@ from shops. Cotton is rumored to be magical, keep this is mind.", getitemlink(CottonCloth));
    mesc l("Protip 2: If you fell stuck, ask at #world, even if nobody is online. Who knows, someone on Discord or IRC might reply!");
    tutmes l("You can use \"%s <monster_name>\" to obtain specified monster drop list and stats.", b("@monsterinfo")), l("Protip"), false;
    next;
    goto L_Close;

L_QuestCompleted:
    delitem CottonCloth, 3;
    delitem MaggotSlime, 3;
    set Zeny, Zeny + 325;
    getitem CandorShirt, 1;
    getexp BaseLevel*8, 5;
    setq CandorQuest_Maya, 2;

    mes "";
    mesn;
    mesq l("Thanks for the help. Here, take this shirt and some money.");
    close;

L_Quest2:
    mesn;
    mesq l("Thanks again for the help. You have proven that you are resourceful.");
    next;
    if (BaseLevel < 7) mesn;
    if (BaseLevel < 7) mesq l("But maybe you should help other people and get some levels before returning to me.");
    if (BaseLevel < 7) close;
    mesn;
    mesq l("As always, I can use a helping hand around here. Interested?");
    mes "";
    menu
        l("Sure"),-,
        l("No, thanks."),L_Close;

    mes "";
    mesn;
    mesq l("Good! I want 3 @@ and 10 @@. I have a contract to transform that in good money.",
           getitemlink(ScorpionStinger), getitemlink(PiouFeathers));
    setq CandorQuest_Maya, 3;
    close;

L_Quest2Accepted:
    mesn;
    mesq l("I see you have brought @@/3 @@ and @@/10 @@ for me.",
            countitem(ScorpionStinger),getitemlink(ScorpionStinger),
            countitem(PiouFeathers),getitemlink(PiouFeathers));
    mes "";
    menu
        rif(countitem(ScorpionStinger) >= 3 && countitem(PiouFeathers) >= 10, l("Here they are!")), L_Quest2Completed,
        rif(countitem(ScorpionStinger) < 3 || countitem(PiouFeathers) < 10, l("Oh, then I don't have enough! I'll bring more later!")), L_Close,
        l("Can we get back to that later?"), -;
    close;

L_Quest2Completed:
    delitem ScorpionStinger, 3;
    delitem PiouFeathers, 10;
    set Zeny, Zeny + 725;
    getexp BaseLevel*10, 10;
    setq CandorQuest_Maya, 4;

    // Reward Calculation: Piou base is 3 and Stinger base is 25.
    // Maya will pay in a 1.5x factor + 300 GP she owed you + a small bonus to round things
    // (3*3*1.5)+(25*10*1.5) = roughly 389 GP + 300 + bonus(11) = 700

    mes "";
    mesn;
    mesq l("Thanks for the help! If you help people, they'll start trusting you. Once they trust you, they'll give you quests which are very important to them;");
    next;
    mesn;
    mesq l("And once they entrust you with what is important for them, they'll pay better. Here is 700 GP. Come back later.");
    close;


L_NextQuestPending:
    mesn;
    mesq l("Thanks again for the help. You have proven that you are resourceful. Come back again later.");
    switch (getequipid(EQI_HEAD_MID)) {
    case CreasedShirt:
        itemCombo(l("Creased"), l("All Stats +1"),
                  CreasedShirt, CreasedBoots, CreasedGloves, CreasedShorts);
        break;
    case CandorShirt:
        itemCombo(l("Candor"), l("All Stats +1, Max HP +1%"),
                  CandorShirt, CandorBoots, CandorGloves, CandorShorts, CandorHeadBand);
        break;
    case CottonShirt:
        itemCombo(l("Cotton"), l("All Stats +1, Max HP +1%, Max MP +5%"),
                  CottonShirt, CottonBoots, CottonGloves, 0,
                  CottonShorts, CottonTrousers, CottonSkirt, MiniSkirt);
        break;
    case MinerTankTop:
        itemCombo(l("Miner"), l("All Stats +1, Vit +2"),
                  MinerTankTop, MinerGloves, MinerHat, 0,
                  MinerKnife, Pickaxe);
        break;
    case WarlordPlate:
        itemCombo(l("Warlord"), l("All Stats +1, Block +2%"),
                  WarlordPlate, WarlordBoots, WarlordGloves, WarlordPants, WarlordHelmet);
        break;
    case GoldenWarlordPlate:
        itemCombo(l("Golden Warlord"), l("All Stats +1, Block +2%"),
                  GoldenWarlordPlate, WarlordBoots, WarlordGloves, WarlordPants, WarlordHelmet);
        break;
    case Chainmail:
        itemCombo(l("Chainmail"), l("Block +1%"),
                  Chainmail, ChainmailSkirt);
        break;
    case GoldenChainmail:
        itemCombo(l("Golden Chainmail"), l("Block +1%"),
                  GoldenChainmail, ChainmailSkirt);
        break;
    case TerraniteArmor:
        itemCombo(l("Terranite"), l("All Stats +1, MDEF +30%"),
                  TerraniteArmor, TerraniteBoots,
                  TerranitePants, TerraniteMask);
        break;
    case LeatherShirt:
        itemCombo(l("Leather"), l("All Stats +2"),
                  LeatherShirt, LeatherBoots, LeatherGloves, LeatherTrousers);
        break;
    case AssassinChest:
        itemCombo(l("Assassin"), l("All Stats +1, Agi +5"),
                  AssassinChest, AssassinBoots, AssassinGloves, AssassinPants);
        break;
    case SaviorArmor:
        itemCombo(l("Savior"), l("All Stats +5"),
                  SaviorArmor, SaviorBoots, SaviorPants, SaviorHelmet, 0,
                  SaviorShield, Skypiercer);
        break;
    case SilkRobe:
        itemCombo(l("Silk"), l("Passive MP Regen"),
                  SilkRobe, CottonBoots, 0,
                  SilkGloves, CottonGloves);
        break;
    case SorcererRobe:
        itemCombo(l("Sorcerer"), l("Passive MP Regen"),
                  SorcererRobe, 0,
                  CottonBoots, WizardMoccasins, WitchBoots, 0,
                  CottonGloves, SilkGloves);
        break;
    }
    close;

function itemCombo {
    next;
    mesn;
    mesq l("I see you're trying to use the %s set, nice!", b(getarg(0)));
    mesq l("This set grants the following effect when complete:");
    mesc getarg(1), 3;
    next;
    mesn;
    mesq l("This set is composed by the following items:");
    mes "";
    for (.@i = 2; .@i < getargcount(); .@i++) {
        if (getarg(.@i) <= 0)
         mesc l("--- AND ANY OF ---");
        else
         mesc l("* %s", getitemlink(getarg(.@i))),(countitem(getarg(.@i)) ? 3 : 9);
    }
    mes "";
    next;
    mesn;
    mesq l("To get the combo, you must fill all slots if one of the listed items. Usually any of the listed ones will do, but in rare cases it won't!");
    return;
}

L_Close:
    closedialog;
    goodbye;
    close;

OnInit:
    .sex = G_FEMALE;
    .distance = 4;
    end;
}