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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
|
//================= Hercules Script =======================================
//= _ _ _
//= | | | | | |
//= | |_| | ___ _ __ ___ _ _| | ___ ___
//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
//= | | | | __/ | | (__| |_| | | __/\__ \
//= \_| |_/\___|_| \___|\__,_|_|\___||___/
//================= License ===============================================
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
//= Copyright (C) 2012-2020 Hercules Dev Team
//= Copyright (C) Euphy
//= Copyright (C) Skorm
//=
//= 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/>.
//=========================================================================
//= Upgrade Weapon Enchants
//================= Description ===========================================
//= Adds enchantments to Upgrade weapons.
//================= Current Version =======================================
//= 1.1
//=========================================================================
prt_in,28,73,3 script Devil Enchant Master#prq 1_M_SMITH,{
disable_items;
if (checkweight(Knife,1) == 0) {
mes "You are carrying too many items, please reduce it and come back again!";
close;
}
if (MaxWeight - Weight < 10000) {
mes "You are over the weight limit, please reduce it and come back again!";
close;
}
mes "[Devil Enchant Master]";
mes "Yes?";
mes "You are looking for me?";
next;
switch(select("This is the first time seeing you!", "I heard that you are the best!", "Please initialize the enchant.")) {
case 1:
mes "[Devil Enchant Master]";
mes "Ha ha ha~ Of course, I am not the kind of person that simply deals with people.";
next;
mes "[Devil Enchant Master]";
mes "Including you! Even if you offer me plenty of money, I will not simply enchant for you!!";
next;
mes "[Devil Enchant Master]";
mes "Have you seen my title? Very few people have this title for a reason!";
next;
mes "[Devil Enchant Master]";
mes "I will only enchant if you bring an ^0000ffEnchant Book^000000 along!";
next;
mes "[Devil Enchant Master]";
mes "Else, I will not enchant for you....";
close;
case 2:
if (!countitem(Enchant_Book)) {
mes "[Devil Enchant Master]";
mes "Are you listening to me? I will only do for you if you bring the Enchant Book!";
close;
}
.@select = 1;
break;
case 3:
mes "[Devil Enchant Master]";
if (Zeny < 100000) {
mes "Initializing will cost 100,000 zeny. It seems you do not have enough zeny...";
close;
}
mes "Initializing will cost 100,000 zeny and confirming whether the weapon is enchanted!";
next;
if (select("Let me think about it.", "Initialize it now!") == 1) {
mes "[Devil Enchant Master]";
mes "Come back after you have confirmed!";
close;
}
.@select = 2;
break;
}
.@part = EQI_HAND_R;
mes "[Devil Enchant Master]";
if (!getequipisequiped(.@part)) {
mes "Are you trying to remove the enchanted equipment?";
close;
}
setarray .@equip_card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
if (!getequipisequiped(.@part)) {
mes "It is dangerous to remove equipment during enchant process!";
close;
}
.@equip_id = getequipid(.@part);
.@item$ = "|1292|1394|1491|1585|2015|13071|13115|16019|18112|21000|";
if (!compare(.@item$,"|"+.@equip_id+"|")) {
mes "I don't want to touch your equipment now!";
close;
}
.@equip_refine = getequiprefinerycnt(.@part);
if (.@select == 1) {
if (!countitem(Enchant_Book)) {
mes "Are you listening to me? I will only do for you if you bring the Enchant Book!";
close;
}
mes "Which type of effect do you want to enchant?";
next;
switch(select("Let me think about it.", "Physical Series", "Magical Series")) {
case 1:
mes "[Devil Enchant Master]";
mes "Come back again after you change your mind!";
close;
case 2:
.@enc_type = 1;
break;
case 3:
.@enc_type = 2;
break;
}
mes "[Devil Enchant Master]";
if (.@equip_card[3]) {
mes "This equipment has been enchanted! You need to initialize first before you want to enchant it again.";
close;
}
mes "The enchant process might fail, and ^ff0000it will reduce partial refine level^000000, but the slotted card and weapon will not be broken! Are you sure you want to continue?";
next;
if (select("Next time!", "Start now!") == 1) {
mes "[Devil Enchant Master]";
mes "Come back again after you have decided!";
close;
}
if (.@equip_card[3]) {
mes "[Devil Enchant Master]";
mes "It seems there's a problem, let me take a look.";
close;
}
if (.@enc_type == 1) { // Physical Series
.@i = rand(1,1300);
if (.@i < 51) .@enchant = 4734; //Agility5
else if (.@i < 76) .@enchant = 4735; //Agility6
else if (.@i < 88) .@enchant = 4736; //Agility7
else if (.@i < 93) .@enchant = 4737; //Agility8
else if (.@i < 95) .@enchant = 4738; //Agility9
else if (.@i < 96) .@enchant = 4739; //Agility10
else if (.@i < 146) .@enchant = 4724; //Dexterity5
else if (.@i < 171) .@enchant = 4725; //Dexterity6
else if (.@i < 183) .@enchant = 4726; //Dexterity7
else if (.@i < 188) .@enchant = 4727; //Dexterity8
else if (.@i < 190) .@enchant = 4728; //Dexterity9
else if (.@i < 191) .@enchant = 4729; //Dexterity10
else if (.@i < 291) .@enchant = 4704; //Strength5
else if (.@i < 341) .@enchant = 4705; //Strength6
else if (.@i < 366) .@enchant = 4706; //Strength7
else if (.@i < 378) .@enchant = 4707; //Strength8
else if (.@i < 383) .@enchant = 4708; //Strength9
else if (.@i < 384) .@enchant = 4709; //Strength10
else if (.@i < 434) .@enchant = 4754; //Luck5
else if (.@i < 459) .@enchant = 4755; //Luck6
else if (.@i < 471) .@enchant = 4756; //Luck7
else if (.@i < 476) .@enchant = 4757; //Luck8
else if (.@i < 478) .@enchant = 4758; //Luck9
else if (.@i < 479) .@enchant = 4759; //Luck10
else if (.@i < 679) .@enchant = 4744; //Vitality5
else if (.@i < 779) .@enchant = 4745; //Vitality6
else if (.@i < 829) .@enchant = 4746; //Vitality7
else if (.@i < 854) .@enchant = 4747; //Vitality8
else if (.@i < 866) .@enchant = 4748; //Vitality9
else if (.@i < 867) .@enchant = 4749; //Vitality10
else if (.@i < 967) .@enchant = 4808; //Fighting_Spirit4
else if (.@i < 992) .@enchant = 4820; //Fighting_Spirit5
else if (.@i < 1092) .@enchant = 4835; //Expert_Archer4
else if (.@i < 1117) .@enchant = 4836; //Expert_Archer5
else if (.@i < 1217) .@enchant = 4835; //Expert_Archer4
else if (.@i < 1242) .@enchant = 4836; //Expert_Archer5
else .@enchant = 0;
} else if (.@enc_type == 2) { // Magical Series
.@i = rand(1,1200);
if (.@i < 51) .@enchant = 4714; //Inteligence5
else if (.@i < 76) .@enchant = 4715; //Inteligence6
else if (.@i < 88) .@enchant = 4716; //Inteligence7
else if (.@i < 93) .@enchant = 4717; //Inteligence8
else if (.@i < 95) .@enchant = 4718; //Inteligence9
else if (.@i < 96) .@enchant = 4719; //Inteligence10
else if (.@i < 146) .@enchant = 4724; //Dexterity5
else if (.@i < 171) .@enchant = 4725; //Dexterity6
else if (.@i < 183) .@enchant = 4726; //Dexterity7
else if (.@i < 188) .@enchant = 4727; //Dexterity8
else if (.@i < 190) .@enchant = 4728; //Dexterity9
else if (.@i < 191) .@enchant = 4729; //Dexterity10
else if (.@i < 291) .@enchant = 4734; //Agility5
else if (.@i < 341) .@enchant = 4735; //Agility6
else if (.@i < 366) .@enchant = 4736; //Agility7
else if (.@i < 378) .@enchant = 4737; //Agility8
else if (.@i < 383) .@enchant = 4738; //Agility9
else if (.@i < 384) .@enchant = 4739; //Agility10
else if (.@i < 484) .@enchant = 4754; //Luck5
else if (.@i < 534) .@enchant = 4755; //Luck6
else if (.@i < 559) .@enchant = 4756; //Luck7
else if (.@i < 571) .@enchant = 4757; //Luck8
else if (.@i < 576) .@enchant = 4758; //Luck9
else if (.@i < 577) .@enchant = 4759; //Luck10
else if (.@i < 777) .@enchant = 4744; //Vitality5
else if (.@i < 877) .@enchant = 4745; //Vitality6
else if (.@i < 927) .@enchant = 4746; //Vitality7
else if (.@i < 952) .@enchant = 4747; //Vitality8
else if (.@i < 964) .@enchant = 4748; //Vitality9
else if (.@i < 969) .@enchant = 4749; //Vitality10
else if (.@i < 1069) .@enchant = 4812; //Spell4
else if (.@i < 1094) .@enchant = 4826; //Spell5
else if (.@i < 1119) .@enchant = 4761; //Matk2
else if (.@i < 1124) .@enchant = 4806; //Matk3
else .@enchant = 0;
} else {
mes "[Devil Enchant Master]";
mes "Hmm! This item is having a problem, please check it again!";
close;
}
mes "[Devil Enchant Master]";
if (.@equip_card[3]) {
mes "This item has been enchanted!";
close;
}
if (!countitem(Enchant_Book)) {
mes "Are you listening to me? I will only do for you if you bring the Enchant Book!";
close;
}
if (.@enchant == 0) {
specialeffect EF_SHIELDCHARGE;
mes "Oh! Unbelievable!! It failed!! Please come again!";
.@lost_refine = rand(0,.@equip_refine);
.@equip_refine -= .@lost_refine;
} else {
specialeffect EF_REPAIRWEAPON;
mes "The slot ^9900004^000000 has been enchanted!";
}
delitem Enchant_Book,1;
delequip .@part;
// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@enchant
getitem2 .@equip_id,1,1,.@equip_refine,0,.@equip_card[0],.@equip_card[1],.@equip_card[2],.@enchant;
if (.@lost_refine) {
next;
mes "[Devil Enchant Master]";
mes "The failure has reduced the refine by "+.@lost_refine+" level"+((.@lost_refine == 1)?"":"s")+"! Don't be depressed!";
}
close;
} else if (.@select == 2) {
if (Zeny < 100000) {
mes "You need to bring some money to initialize!!";
close;
}
if (.@equip_card[3] < 4700) { // Armor Enchant System
mes "This item is not enchanted!";
close;
}
if (!getequipisequiped(.@part)) {
mes "Are you unequipping now?";
close;
}
specialeffect EF_REPAIRWEAPON;
mes "I initialized the enchant effects.";
Zeny -= 100000;
delequip .@part;
// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] 0
getitem2 .@equip_id,1,1,.@equip_refine,0,.@equip_card[0],.@equip_card[1],.@equip_card[2],0;
close;
} else {
mes "It seems you have chosen the wrong job??";
close;
}
}
|