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
|
//================= Hercules Script =======================================
//= _ _ _
//= | | | | | |
//= | |_| | ___ _ __ ___ _ _| | ___ ___
//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
//= | | | | __/ | | (__| |_| | | __/\__ \
//= \_| |_/\___|_| \___|\__,_|_|\___||___/
//================= License ===============================================
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
//= Copyright (C) 2012-2015 Hercules Dev Team
//= Copyright (C) Euphy
//= Copyright (C) L0ne_W0lf
//= Copyright (C) Muad_Dib (Prometheus Project)
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
//= the Free Software Foundation, either version 3 of the License, or
//= (at your option) any later version.
//=
//= This program is distributed in the hope that it will be useful,
//= but WITHOUT ANY WARRANTY; without even the implied warranty of
//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//= GNU General Public License for more details.
//=
//= You should have received a copy of the GNU General Public License
//= along with this program. If not, see <http://www.gnu.org/licenses/>.
//=========================================================================
//= Arrow Quivers (Renewal)
//================= Description ===========================================
//= Turns arrows into Arrow Quivers.
//================= Current Version =======================================
//= 1.1
//=========================================================================
mora,106,117,3 script Quiver Maker#mora 4_M_RAFLE_GR,{
if (checkweight(Knife,1) == 0) {
mes "[Quiver Maker]";
mes "You have too many things with you.";
mes "Make some space in your inventory and come back. I'll tell you something interesting.";
close;
}
if (MaxWeight - Weight < 2000) {
mes "[Quiver Maker]";
mes "You seem worn out with all that stuff.";
mes "Make some space in your inventory and come back. I'll tell you something interesting.";
close;
}
mes "[Quiver Maker]";
mes "Mora villagers ask what good quivers are. They just don't know how the world works.";
mes "No wonder they don't know a thing about quivers - spreading jam over leaves all day long.";
next;
switch(select("Please make me a quiver.", "What's a quiver?")) {
case 1:
mes "[Quiver Maker]";
mes "At last someone appreciates a quiver!";
mes "I can make Elven Quivers and Hunting Quivers.";
mes "Which do you need?";
next;
switch(select("An Elven Quiver", "A Hunting Quiver", "I don't need a quiver.")) {
case 1: callsub S_BuyQuiver,1773,500,500,12575; //Arrow_Of_Elf_Cntr
case 2: callsub S_BuyQuiver,1774,500,500,12576; //Hunting_Arrow_Cntr
case 3:
mes "[Quiver Maker]";
mes "You can buy arrows off the tool merchant next to me.";
close;
}
case 2:
mes "[Quiver Maker]";
mes "An arrow may be thin and light, but carrying hundreds and thousands of arrows is like carrying a whole log.";
next;
mes "[Quiver Maker]";
mes "But when you have quivers, you can put arrows in them and save weight and space.";
mes "If you're interested in one, I'll stitch one up for you.";
close;
}
end;
// Arguments:
// 0: Type of Arrow to be packaged (item ID).
// 1: How many of each 'getarg(0)' arrow per quiver.
// 2: The cost of making a 'getarg(0)' quiver.
// 3: The quiver given by the NPC (item ID).
S_BuyQuiver:
if (countitem(getarg(0)) < getarg(1)) {
mes "[Quiver Maker]";
mes "Bring more than "+getarg(1)+" "+getitemname(getarg(0))+" and I'll make you a quiver.";
close;
}
mes "[Quiver Maker]";
mes "Oh, I see you have "+getitemname(getarg(0))+" in your hand!";
mes "Are you interested in using a quiver? It's really convenient!";
mes "If you're interested, I can trade "+getarg(1)+" of those arrows for one of these quivers for ^FF3131"+getarg(2)+" zeny^000000.";
next;
switch(select("Trade all the arrows you have", "Get only one quiver", "Don't trade")) {
case 1:
.@arrows = countitem(getarg(0));
.@quiver = .@arrows / getarg(1);
.@arrows_used = .@quiver * getarg(1);
.@arrow_zeny01 = .@quiver * getarg(2);
mes "The number of arrows you have : ^3131FF"+.@arrows+"^000000";
mes "The number of quivers available : ^3131FF"+.@quiver+"^000000";
mes "Zeny needed for trade : ^3131FF"+.@arrow_zeny01+" zeny^000000";
next;
mes "Trade?";
next;
if(select("Trade", "Don't trade") == 2) {
mes "[Quiver Maker]";
mes "Hey, you don't doubt my skills, do you?";
close;
}
break;
case 2:
.@quiver = 1;
.@arrows_used = getarg(1);
.@arrow_zeny01 = getarg(2);
.@zeny_mes = 1;
break;
case 3:
mes "[Quiver Maker]";
mes "Hey, you don't doubt my skills, do you?";
close;
}
if (Zeny < .@arrow_zeny01) {
mes "[Quiver Maker]";
if (.@zeny_mes == 1)
mes "I said I'd accept human coins just for you, and you still don't want to spend the money?";
else
mes "You really don't expect to get your hands on a masterpiece for nothing, do you?";
close;
}
mes "[Quiver Maker]";
mes "Hey, here you are.";
mes "There is ^3131FFsomething you need to know^000000 - try to remember it.";
mes "^FF0000You can't use quivers when your encumbrance is over 70%.^000000";
mes "You'd better keep that in mind, or you might be in trouble later.";
Zeny -= .@arrow_zeny01;
delitem getarg(0),.@arrows_used;
getitem getarg(3),.@quiver;
close;
}
|