summaryrefslogblamecommitdiff
path: root/world/map/npc/022-1/anwar.txt
blob: b45b5fd2c1f9fb27fc5f5f0bc5bb8601a0a63400 (plain) (tree)


















                                                                                                                      

                                





                                             

                                   























                                                                                                
                                                                                                                                                                                                             
         
                                                                                                                                                                                                                           







                                                                                
                                                                                                                                                                                                               





















                                                                                                              
                                                           



                                                                                                           
                                                           







                                                                       
                                                                                                                                                                                                                                   

                       
                                       
























                                                                                                                                 
                                                                                                                                            



                                          
                                                                        




































                                                                                                              

                                                                                                                                                      






















                                                                                                                 
// Anwar needs a magic fertilizer for his field
// Quest uses Nibble 3 of QUEST_NorthTulimshar
// Author: Jenalya
// state 1: Anwar sent to Tinris for help to get a magic fertilizer
// state 2: Tinris asked for chocolate cake as present for his girlfriend
// state 3: Tinris asked for ingredients for the fertilizer
// state 4: Tinris gave you the fertilizer
// state 5: Anwar tried it out and it doesn't work well, sent you back to Tinris
// state 6: Tinris asked for more ingredients for a new try
// state 7: Tinris says it's really hard, gives you the fertilizer and tells you to ask Eomie to cast a spell on it
// state 8: Eomie sends you to get some stuff so she can interrupt her spell on the spot of grass
// state 9: Eomie casted a spell on the fertilizer
// state 10: Anwar used it and it worked. he asks you to help him preparing a thank-you-gift for each Tinris and Eomis
// state 11: Anwar asked to bring present to Tinris
// state 12: gave present to Tinris
// state 13: Anwar asked to bring present to Eomie
// state 14: gave present to Eomie
// state 15: reported back to Anwar and done

-|script|#magicfieldNTconfig|-1,
{
OnInit:
    set $@magicfieldNT_MASK, NIBBLE_3_MASK;
    set $@magicfieldNT_SHIFT, NIBBLE_3_SHIFT;
    end;
}

022-1.gat,41,46,0|script|Anwar|156,
{
    set @state, ((QUEST_NorthTulimshar & $@magicfieldNT_MASK) >> $@magicfieldNT_SHIFT);

    set @cloth_amount, 3;
    set @silk_amount, 30;

    set @firstTry_exp, 400;
    set @secondTry_exp, 700;
    set @material_exp, 1000;
    set @final_exp, 2000;

    if (@state >= 15) goto L_Done;
    if (@state >= 13) goto L_GiveEomie;
    if (@state >= 11) goto L_GiveTinris;
    if (@state == 10) goto L_GiftMaterial;
    if (@state >= 5) goto L_SecondTry;
    if (@state >= 1) goto L_FirstTry;

    mes "[Anwar]";
    mes "\"Hello. You look like one of those young people who come here to go on an adventure.";
    mes "Would you be interested in doing some small errand for me?\"";
    menu
        "Sure!",-,
        "I'm busy, sorry.",L_Close;
    mes "[Anwar]";
    mes "\"That's the spirit! Ok, I'm tired of spending most of my time working on this field. I heard the magicians at the magic school are researching ways to enhance the growth of plants with magic.\"";
    next;
    mes "\"I can't go there myself, since this area of the city is full of sneaky ragtags and they will rob my field if I leave here. Could you go to the magic school and ask for some magic enhancement for my field?\"";
    next;
    mes "\"To find the school just follow the street south and then go west.\"";
    set @state, 1;
    callsub S_Update_Mask;
    goto L_Close;

L_FirstTry: // @state >= 1 but below 5
    mes "[Anwar]";
    mes "\"I hope the wizards at the magic school can help me with the field. I'd really like to have more free time. I want to make clothing, but I'm not experienced enough to make a living out of that.\"";
    if (@state != 4)
        goto L_Close;
    menu
        "Tinris gave me a magic fertilizer for your field, but he isn't sure if it works.",-;
    mes "[Anwar]";
    mes "\"Really? Well, let's try it out!\"";
    mes "He takes the fertilizer and starts to bespatter the field.";
    next;
    mes "But it doesn't seem to be good for the plants, they start to shrivel and get brown.";
    mes "[Anwar]";
    mes "\"Oh no! What is this? It's damaging my plants! Go back to Tinris and tell him it doesn't work!\"";
    getexp @firstTry_exp, 0;
    set @state, 5;
    callsub S_Update_Mask;
    goto L_Close;

L_SecondTry: // @state >= 5 but below 10
    mes "[Anwar]";
    mes "\"I hope Tinris can come up with a better fertilizer. My plants are suffering from the first try.\"";
    if (@state != 9)
        goto L_Close;
    menu
        "Here is another one. Eomie cast a spell on it.",-;
    mes "[Anwar]";
    mes "\"Eomie? I heard she's amazingly skilled with nature magic. I'll try if this works better.\"";
    mes "He takes the fertilizer and puts it on only a few plants, then waits a moment to see the result.";
    next;
    mes "The plants recover a bit and become green again.";
    mes "[Anwar]";
    mes "\"Ah, this one is better. I'll put it on the entire field.\"";
    getexp @secondTry_exp, 0;
    set @state, 10;
    callsub S_Update_Mask;
    next;
L_GiftMaterial: // @state == 10
    mes "[Anwar]";
    mes "\"I want to show my gratitude to Tinris and Eomie. Can you help me once again? I would like to make some clothes for them and need " + @cloth_amount + " pieces of Cotton Cloth and " + @silk_amount + " Silk Cocoons.\"";
    menu
        "I have it.",-,
        "Where can I get that?",L_Hint,
        "I'll see what I can do.",L_Close;
    getinventorylist;
    if (@inventorylist_count == 100)
        goto L_Full_Inv;
    if ((countitem("CottonCloth") < @cloth_amount) || (countitem("SilkCocoon") < @silk_amount))
        goto L_NoItem;
    delitem "CottonCloth", @cloth_amount;
    delitem "SilkCocoon", @silk_amount;
    getexp @material_exp, 0;

    getitem "GreenVNeckSweater", 1;
    set @state, 11;
    callsub S_Update_Mask;
    mes "[Anwar]";
    mes "\"Great! I'll start right away with the present for Tinris. That shouldn't take long.\"";
    mes "After a short while of cutting and sewing he holds a V-Neck Sweater in his hands. Then he dyes it green.";
    next;
    mes "[Anwar]";
    mes "\"Wonderful! Could you please bring this to Tinris to show him my gratitude?\"";
    goto L_Close;

L_Hint:
    mes "[Anwar]";
    mes "\"As far as I know Cotton Cloth is given out as reward for hunting monsters. You should talk to Aidan on the bazaar.\"";
    next;
    mes "\"And silk cocoons come from Silkworms. They live in the woodland area around Hurnscald. You can get there by taking the ferry.\"";
    goto L_Close;

L_GiveTinris: // @state >= 11 but below 13
    mes "[Anwar]";
    mes "\"Did you already bring the Green V-Neck Sweater to Tinris?\"";
    if (@state != 12)
        menu
            "Not yet.",L_Close;
    menu
        "Yes, he was very happy.",-;
    getinventorylist;
    if (@inventorylist_count == 100)
        goto L_Full_Inv;
    mes "[Anwar]";
    mes "\"Wonderful! I also finished the present for Eomie. Can you bring it to her?\"";
    getitem "SilkHeadband", 1;
    set @state, 13;
    callsub S_Update_Mask;
    goto L_Close;

L_GiveEomie: // @state >= 13 but below 15
    getinventorylist;
    if (@inventorylist_count == 100)
        goto L_Full_Inv;
    mes "[Anwar]";
    mes "\"Did you give the Silk Headband to Eomie?\"";
    if (@state != 14)
        menu
            "Not yet.",L_Close;
    menu
        "Yes. She asked me to thank you.",-;
    mes "Anwar smiles.";
    mes "[Anwar]";
    mes "\"I'm so happy. Thank you so much for your help. I made this for you while you went to see Eomie.\"";
    getexp @final_exp, 0;
    getitem "DarkGreenCottonTrousers", 1;
    set @state, 15;
    callsub S_Update_Mask;
    goto L_Close;

L_Done: // @state == 15
    mes "[Anwar]";
    mes "\"Thank you so much for your help. The plants are growing much better now. I don't have to spend all my time working in the field any more.";
    mes "Finally I can do what I'm really interested in and work on getting better at sewing clothes.\"";
    goto L_Close;

L_NoItem:
    mes "[Anwar]";
    mes "\"You don't have it!\"";
    goto L_Close;

L_FullInv:
    mes "[Anwar]";
    mes "\"You carry a lot of stuff. Come back when you have more room.\"";
    goto L_Close;

L_Close:
    set @state, 0;
    set @cloth_amount, 0;
    set @silk_amount, 0;
    set @inventorylist_count, 0;
    close;

S_Update_Mask:
    set QUEST_NorthTulimshar, (QUEST_NorthTulimshar & ~($@magicfieldNT_MASK)) | (@state << $@magicfieldNT_SHIFT);
    return;
}