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
|
// TMW-2 Script
// Author:
// Jesusalva
// Description:
// Alan is Hurnscald's bowmaster. He may craft the Forest Bow, and sell ammo.
012-3,44,40,0 script Alan NPC_BOWMASTER,{
.@q=getq(HurnscaldQuest_ForestBow);
.@q2=getq2(HurnscaldQuest_ForestBow);
.@q3=getq3(HurnscaldQuest_ForestBow);
switch (.@q) {
case 1:
npctalk3 l("Ah, if Jack and that fisherman from Halinarzo still gave me materials...");
break;
case 2:
npctalk3 l("The bow I gave you was a masterpiece.");
break;
}
mesn;
mesq l("Only the finest bows and arrows, in the land where wood is abundant!");
mes "";
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 == 1 && .@q2 == .@q3 && .@q2 == 99, l("I have the sturdy wood and the string.")), L_Craft;
L_Shop:
npcshopattach(.name$);
openshop;
closedialog;
close;
L_ForestBow:
mesn;
mesq l("Well, I know how to do a @@, 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. 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:
// q2 → Wood Part
// q3 → String Part
setq HurnscaldQuest_ForestBow, 1, 0, 0;
goto L_Close;
L_Craft:
inventoryplace ForestBow, 1;
getitem ForestBow, 1;
getexp 900, 0;
setq HurnscaldQuest_ForestBow, 2, 0, 0;
mesn;
mesq l("Here you go - have fun with it.");
next;
goto L_Close;
L_Close:
closedialog;
goodbye;
close;
OnInit:
.sex = G_MALE;
.distance = 5;
tradertype(NST_MARKET);
sellitem ShortBow, 9000, 1;
sellitem WoodenBow, 4000, 2;
sellitem TrainingArrow, -1, 2000;
sellitem Arrow, -1, 1000;
sellitem IronArrow, -1, 500;
if ($ARKIM_ST > 1400)
sellitem CursedArrow, -1, $ARKIM_ST-1400;
if ($ARKIM_ST > 2800)
sellitem PoisonArrow, -1, $ARKIM_ST-2800;
sellitem TrainingAmmoBox, -1, 10;
sellitem ArrowAmmoBox, -1, 5;
sellitem IronAmmoBox, -1, 2;
if ($ARKIM_ST > 2800)
sellitem CursedAmmoBox, -1, (($ARKIM_ST-1400)/200);
if ($ARKIM_ST > 5600)
sellitem PoisonAmmoBox, -1, (($ARKIM_ST-2800)/200);
end;
OnClock2357:
OnClock1151:
restoreshopitem ShortBow, 9000, 1;
restoreshopitem WoodenBow, 4000, 2;
restoreshopitem TrainingAmmoBox, -1, 10;
restoreshopitem ArrowAmmoBox, -1, 5;
restoreshopitem IronAmmoBox, -1, 2;
if ($ARKIM_ST > 2800)
restoreshopitem CursedAmmoBox, -1, (($ARKIM_ST-1400)/200);
if ($ARKIM_ST > 5600)
restoreshopitem PoisonAmmoBox, -1, (($ARKIM_ST-2800)/200);
OnClock0611:
OnClock1800:
restoreshopitem TrainingArrow, -1, 2000;
restoreshopitem Arrow, -1, 1000;
restoreshopitem IronArrow, -1, 500;
if ($ARKIM_ST > 2800)
restoreshopitem CursedArrow, -1, (($ARKIM_ST-1400)/200);
if ($ARKIM_ST > 5600)
restoreshopitem PoisonArrow, -1, (($ARKIM_ST-2800)/200);
end;
// Pay your taxes!
OnBuyItem:
PurchaseTaxes("Hurns");
end;
OnSellItem:
debugmes("Sale confirmed");
SaleTaxes("Hurns");
end;
}
|