summaryrefslogtreecommitdiff
path: root/world/map/npc/009-2/lena.txt
blob: d5ce1d8ee5d5949da0dd61eb417b2bae67a14931 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
// Quest for Fairy Hat and Forest Armor
// Variables used: nibble 0 of QUEST_Hurnscald

009-2.gat,146,43,0|script|Lena|182,
{
    // This NPC previously used the variable TMW_Quest
    callfunc "ClearVarTMW_Quest";

    set @state, ((QUEST_Hurnscald & NIBBLE_0_MASK) >> NIBBLE_0_SHIFT);

    if (@state >= 6) goto L_Lena_Done;
    if (@state == 5) goto L_Lena_Success;
    if (@state == 4) goto L_Lena_Bandit_Leader_Fail;
    if (@state == 3) goto L_Lena_Bandit_Leader_Fail;
    if (@state == 2) goto L_Lena_Bandit_Leader;
    if (@state == 1) goto L_Lena_Fairy_Hat;
    if (BaseLevel >= 30) goto L_Lena_Start;

    mes "[Lena]";
    mes "\"I got ambushed by a group of bandits and one of them stabbed me pretty good. Hopefully I heal up soon so I can fight this menace.\"";
    next;
    mes "\"Ah, I wish my dear friend Nickos could be here. He's one of the guards in Tulimshar and he'd know how to deal with those outlaws!\"";
    goto L_Close;

L_Lena_Start:
    mes "[Lena]";
    mes "\"While wandering through the forest, I was ambushed by bandits. Though I got them all, one of them stabbed me pretty good. I'm still healing from that encounter. I'm worried that the bandit threat may spread.\"";
    menu
        "Don't worry, I can take out some of these scumbags.", L_Lena_Approves,
        "I think I left my courage in another pair of pants. See you later!", L_Lena_No_Fan;

L_Lena_Approves:
    set @state, 1;
    callsub S_Update_Var;
    mes "[Lena]";
    mes "\"You look like you can handle yourself in a fight. If you can take on this scourge I'll reward you with a hat like mine. In order to prove your mettle, bring me 10 Bandit Hoods so I know they've met their match.\"";
    areamonster "008-1.gat",25,60,40,65,"Bandit",1064,3, "::";
    areamonster "011-1.gat",35,40,65,60,"Bandit",1064,3, "::";
    goto L_Close;

L_Lena_No_Fan:
    mes "[Lena]";
    mes "\"What will Hurnscald do if these bandits overrun the town?  I hope you reconsider.\"";
    goto L_Close;

L_Lena_Fairy_Hat:
    if (countitem("BanditHood") < 10)
        goto L_Lena_NotEnough;
    getinventorylist;
    if (@inventorylist_count - (countitem("BanditHood")== 10) > 99)
        goto L_TooMany;
    set @state, 2;
    callsub S_Update_Var;
    delitem "BanditHood", 10;
    getitem "FairyHat", 1;
    mes "[Lena]";
    mes "\"Ah, you've brought me the Bandit Hoods. As promised, here is a hat like mine.\"";
    next;
    mes "\"Unfortunately, I feel this bandit threat may have grown. Perhaps they are being lead?  I noticed many of them seem to hang around a cave just west of Hurnscald. If you could defeat their leader I know they will become less of a threat to Hurnscald. I'll reward you with armor like mine if you do. Sound like something you could do?\"";
    menu
        "Consider it done!", L_Lena_Bandit_Leader_Yes,
        "Woah there, that sounds a bit harder than what I can succeed at.", L_Lena_NoWay;

L_Lena_NotEnough:
    mes "[Lena]";
    mes "\"You don't have enough Bandit Hoods to prove you are taking care of this threat. Please come back with 10 Bandit Hoods to show you are taking care of these bandits.\"";
    goto L_Close;

L_Lena_Bandit_Leader:
    mes "[Lena]";
    mes "\"I feel this bandit threat may have grown. Perhaps they are being lead?  I noticed many of them seem to hang around a cave just west of Hurnscald. If you could defeat their leader I know they will become less of a threat to Hurnscald. I'll reward you with armor like mine if you do. Sound like something you could do?\"";
    menu
        "Consider it done!", L_Lena_Bandit_Leader_Yes,
        "Woah there, that sounds a bit harder than what I can succeed at.", L_Lena_NoWay;

L_Lena_Bandit_Leader_Yes:
    set @state, 3;
    callsub S_Update_Var;
    areamonster "008-1.gat",25,60,40,65,"Bandit",1064,3, "::";
    areamonster "011-1.gat",35,40,65,60,"Bandit",1064,3, "::";
    mes "[Lena]";
    mes "\"You have a brave heart. Though I know you can succeed on your own, I recommend finding others to help you defeat the bandit leader. I believe he could pose a significant threat to solitary individuals seeking to challenge him. Good luck!\"";
    goto L_Close;

L_Lena_NoWay:
    mes "[Lena]";
    mes "\"That is too bad. Feel free to return at any time. This bandit threat needs to be pushed back.\"";
    goto L_Close;

L_Lena_Bandit_Leader_Fail:
    set @state, 3;
    callsub S_Update_Var;
    mes "[Lena]";
    mes "\"You haven't killed the bandit leader yet. This is a big problem. Please be careful.\"";
    goto L_Close;

L_Lena_Success:
    getinventorylist;
    if (@inventorylist_count == 100)
        goto L_TooMany;
    set @state, 6;
    callsub S_Update_Var;
    getitem "ForestArmor", 1;
    mes "[Lena]";
    mes "\"Excellent!  You killed the bandit leader. Here is the armor as I promised you. Safe journeys!\"";
    goto L_Close;

L_Lena_Done:
    mes "[Lena]";
    mes "\"Thank you for all your help. With your efforts, we can only hope this scourge doesn't see a resurgence.\"";
    goto L_Close;

L_TooMany:
    mes "[Lena]";
    mes "\"You have too many items in your inventory. Please get rid of something so I can reward you.\"";
    goto L_Close;

L_Close:
    set @state, 0;
    close;

S_Update_Var:
    set QUEST_Hurnscald, (QUEST_Hurnscald & ~(NIBBLE_0_MASK) | (@state << NIBBLE_0_SHIFT));
    return;
}