summaryrefslogtreecommitdiff
path: root/npc/012-3/alan.txt
blob: 23fb07f59efcc69f6162f1c0b8d9eb1221e08154 (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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
// TMW-2 Script
// Author:
//    Jesusalva
// Description:
//    Alan is Hurnscald's bowmaster. He may craft the Forest Bow, and sell ammo.

012-3,99,23,0	script	Alan	NPC_RAIJIN,{
    .@q=getq(HurscaldQuest_ForestBow);
    switch (.@q) {
        case 1:
            npctalk3 l("The Forest Bow is my specialty. I wish I could keep crafting them forever...");
        case 2:
        case 3:
        case 4:
        case 5:
            break;
    }

    mesn;
    mesq l("Only the finest bows and arrows, in the land where wood is abundant!");
    next;
    menu
        l("Ok, thanks."), L_Close,
        l("I want to trade."), L_Shop,
        rif(.@q == 0, l("Do you accept special requests? Could you make me a really good bow?"), L_ForestBow,
        rif(.@q == 2, l("I have the sturdy wood and the string."), L_Craft;

L_Shop:
    openshop;
    closedialog;
    close;

L_ForestBow:
    mesn;
    mesq l("Well, I know how to do @@, a sturdy bow, but I am not making those anymore, sorry.", getitemlink(ForestBow));
    next;
    menu
        l("Oh, too bad."), L_Close,
        l("What? Why not?"), L_Next;

L_Next:
    mesn;
    mesq l("You see, I cannot use any raw material on @@. It must be sturdier than the usual, and I don't have the materials for it.");
    next;
    mesn;
    mesq l("The wood, Jack the Lumberjack used to deliver me, but he isn't delivering anymore. And the string was imported from Halinarzo.");
    next;
    mesn;
    mesq l("Perhaps, you could convince Jack to give me the wood, and seek for a fisherman on Halinarzo to give you the string? I won't charge anything.");
    next;
    menu
        l("Not really, sorry."), L_Close,
        l("Right'o, I'll arrange the material!"), L_Start;

L_Start:
    setq HurscaldQuest_ForestBow, 1, 0;
    goto L_Close;

L_State_3:
    mesn;
    mes "\"How is the hunt going? Did you bring me any wood?\"";
    if (countitem("RawLog") < 1)
        goto L_Close;
    next;
    menu
        "Here, take a look!", L_State_3_try,
        "Yes, but I need it for something else.", L_Close;

L_State_3_try:
    if (countitem("RawLog") < 1)
        goto L_No_Log;
    delitem "RawLog", 1;
    mesn;
    mes "\"Hmmm... looks ok, but is it strong enough?\"";
    mes "Alan bends the log over his knee.";
    next;
    @Temp1 = rand(20);
    if (@Temp1 == 0) goto L_State_3_success;
    mes "The log breaks with a loud crack.";
    getexp @BROKENLOG_EXP, 0;
    next;
    mesn;
    mes "\"Sorry, this log was too weak for one of my forest bows. Now it is junk. Give me another.\"";
    if (countitem("RawLog") < 1)
        goto L_Close;
    next;
    menu
        "Sure, here you go.", L_State_3_try,
        "Hey! Stop breaking my stuff!", L_Close;

L_State_3_success:
    mes "Alan tries as hard as he can but the log won't bend.";
    next;
    mesn;
    mes "\"Aaah! Yes! That is a really fine piece of wood you brought me. It will make an excellent bow!\"";
    close;

L_Craft:
    inventoryplace ForestBow, 1;
    getitem ForestBow, 1;
    setq HurscaldQuest_ForestBow, 5;
    mesn;
    mes "\"Here you go - have fun with it.\"";
    goto L_Close;


L_Close:
    closedialog;
    goodbye;
    close;

OnInit:
    .@npcId = getnpcid(0, .name$);
    setunitdata(.@npcId, UDT_HEADTOP, Boots);
    setunitdata(.@npcId, UDT_HEADMIDDLE, CottonShirt);
    setunitdata(.@npcId, UDT_HEADBOTTOM, JeanChaps);
    setunitdata(.@npcId, UDT_WEAPON, WoodenBow);
    setunitdata(.@npcId, UDT_HAIRSTYLE, 7);
    setunitdata(.@npcId, UDT_HAIRCOLOR, 17);

	tradertype(NST_MARKET);

    sellitem ShortBow, 9000, 1;
    sellitem WoodenBow, 4000, 2;

    sellitem TrainingArrow, -1, 2000;
    sellitem Arrow, -1, 1000;
    sellitem IronArrow, -1, 500;

    .sex = G_MALE;
    .distance = 5;
    end;

OnClock2357:
OnClock1151:
    restoreshopitem ShortBow, 9000, 1;
    restoreshopitem WoodenBow, 4000, 2;
OnClock0611:
OnClock1800:
    restoreshopitem TrainingArrow, -1, 2000;
    restoreshopitem Arrow, -1, 1000;
    restoreshopitem IronArrow, -1, 500;

}