[1] | 1 | //===== eAthena Script ======================================= |
---|
| 2 | //= Mage Job Quest |
---|
| 3 | //===== By: ================================================== |
---|
| 4 | //= kobra_k88; L0ne_W0lf |
---|
| 5 | //===== Current Version: ===================================== |
---|
| 6 | //= 1.7a |
---|
| 7 | //===== Compatible With: ===================================== |
---|
| 8 | //= eAthena SVN |
---|
| 9 | //===== Description: ========================================= |
---|
| 10 | //= [Aegis Conversion] |
---|
| 11 | //= Job quest for Mage classes |
---|
| 12 | //===== Additional Comments: ================================= |
---|
| 13 | //= Fully working |
---|
| 14 | //= 1.1 Fixed input ingridients bug [Lupus] |
---|
| 15 | //= v1.2 Added instant job change for High Novice [Lupus] |
---|
| 16 | //= 1.3 Added Baby Class support [Lupus] |
---|
| 17 | //= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] |
---|
| 18 | //= 1.5 Now saves/restores all quest skills [Lupus] |
---|
| 19 | //= 1.6 Merged back JFunc, CHANGED NUMBERS TO CONSTANTS [Lupus] |
---|
| 20 | //= 1.7 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] |
---|
| 21 | //= No longer uses function "F_ToHigh" |
---|
| 22 | //= 1.7a Fixed a "If" in the quest. (bugreport:489) [Samuray22] |
---|
| 23 | //============================================================ |
---|
| 24 | |
---|
| 25 | geffen_in,164,124,4 script Mage Guildsman 123,{ |
---|
| 26 | if (Upper == 1) { |
---|
| 27 | if (ADVJOB == Job_High_Wizard || ADVJOB == Job_Professor) { |
---|
| 28 | if (Class == Job_Novice_High) { |
---|
| 29 | mes "[Mage Guildsman]"; |
---|
| 30 | mes "Whoa, long time no see! But weren't you supposed to be dead?"; |
---|
| 31 | next; |
---|
| 32 | mes "[Mage Guildsman]"; |
---|
| 33 | mes "Ah, you must have been reborn. Well, I'm glad to have you back."; |
---|
| 34 | next; |
---|
| 35 | if (getskilllv("NV_BASIC") < 9) { |
---|
| 36 | mes "[Mage Guildsman]"; |
---|
| 37 | mes "I'm sorry, but I don't think you're ready to learn magic yet. Why don't you go finish learning the Basic Skills first?"; |
---|
| 38 | next; |
---|
| 39 | mes "[Mage Guildsman]"; |
---|
| 40 | mes "Take your time. The more you learn, the more ready you'll be to learn magic again."; |
---|
| 41 | close; |
---|
| 42 | } |
---|
| 43 | mes "[Mage Guildsman]"; |
---|
| 44 | mes "Well, since you have passed the Mage test once, I will not question your qualification. You want to have your magic skills back immediately, don't you?"; |
---|
| 45 | next; |
---|
| 46 | skill 143,0,0; |
---|
| 47 | jobchange Job_Mage_High; |
---|
| 48 | skill 157,1,0; |
---|
| 49 | mes "[Mage Guildsman]"; |
---|
| 50 | mes "Wow, for some reason, you look way better than you did before. Anyway, I believe you will do a better job being a Mage as well."; |
---|
| 51 | close; |
---|
| 52 | } |
---|
| 53 | else { |
---|
| 54 | mes "[Mage Guildsman]"; |
---|
| 55 | mes "Is there anything more I can help you with? If not, why don't you go test your skills? The world is waiting for you~!"; |
---|
| 56 | close; |
---|
| 57 | } |
---|
| 58 | } |
---|
| 59 | else { |
---|
| 60 | mes "[Mage Guildsman]"; |
---|
| 61 | mes "What, are you interested in the Mage guild? I didn't want to tell you this, but you don't belong here."; |
---|
| 62 | next; |
---|
| 63 | mes "[Mage Guildsman]"; |
---|
| 64 | mes "I am not sure why you're still standing in front of me, but I can tell that you're not meant to be a Mage."; |
---|
| 65 | close; |
---|
| 66 | } |
---|
| 67 | } |
---|
| 68 | mes "[Mage Guildsman]"; |
---|
| 69 | mes "Yo. What's up?"; |
---|
| 70 | next; |
---|
| 71 | switch(select("I want to be a Mage.:Tell me the Requirements.:Pretty much nothing.")) { |
---|
| 72 | case 1: |
---|
| 73 | mes "[Mage Guildsman]"; |
---|
| 74 | if (BaseJob == Job_Mage) { |
---|
| 75 | mes "Hey, haven't you realized? You're aleady a Mage, silly!"; |
---|
| 76 | next; |
---|
| 77 | mes "[Mage Guildsman]"; |
---|
| 78 | mes "One of these days you'll realize the power inside of you when you can make Fire with your mind!"; |
---|
| 79 | close; |
---|
| 80 | } |
---|
| 81 | if (BaseJob != Job_Novice) { |
---|
| 82 | mes "Hey~ C'mon. Quit playing games. You can't be a Mage because you already have another Job."; |
---|
| 83 | close; |
---|
| 84 | } |
---|
| 85 | if (job_magician_q == 0) { |
---|
| 86 | mes "Wanna be a Mage, eh...?"; |
---|
| 87 | if (sex) |
---|
| 88 | mes "Hey, look at you! You're kinda cute~! Not my type though..."; |
---|
| 89 | else { |
---|
| 90 | mes "Oooh, you're such a hot babe~!"; |
---|
| 91 | mes "I like girls like you~"; |
---|
| 92 | } |
---|
| 93 | next; |
---|
| 94 | mes "[Mage Guildsman]"; |
---|
| 95 | mes "Right, you said that you wanna be a Mage? Alright then, please sign the Mage Application."; |
---|
| 96 | next; |
---|
| 97 | if (select("Sign Up.:Quit.") == 1) { |
---|
| 98 | mes "[Mage Guildsman]"; |
---|
| 99 | mes "Okay. Sign right there. Oh, you're very good at spelling. Alright. So your name is... " + strcharinfo(0) + "."; |
---|
| 100 | next; |
---|
| 101 | mes "[Mage Guildsman]"; |
---|
| 102 | mes "Now it's time for"; |
---|
| 103 | mes "me to give you the test."; |
---|
| 104 | switch(rand(3)) { |
---|
| 105 | case 1: |
---|
| 106 | mes "Make me a ^3355FFMixed Solution No. 1^000000"; |
---|
| 107 | mes "and bring it back to me."; |
---|
| 108 | set job_magician_q,1; |
---|
| 109 | break; |
---|
| 110 | case 2: |
---|
| 111 | mes "Make me a ^3355FFMixed Solution No. 2^000000"; |
---|
| 112 | mes "and bring it back to me."; |
---|
| 113 | set job_magician_q,2; |
---|
| 114 | break; |
---|
| 115 | case 3: |
---|
| 116 | mes "Make me a ^3355FFMixed Solution No. 3^000000"; |
---|
| 117 | mes "and bring it back to me."; |
---|
| 118 | set job_magician_q,3; |
---|
| 119 | break; |
---|
| 120 | default: |
---|
| 121 | mes "Make me a ^3355FFMixed Solution No. 4^000000"; |
---|
| 122 | mes "and bring it back to me."; |
---|
| 123 | set job_magician_q,4; |
---|
| 124 | } |
---|
| 125 | next; |
---|
| 126 | getitem 1092,1; //Empty_Cylinder |
---|
| 127 | mes "[Mage Guildsman]"; |
---|
| 128 | mes "You can find the neccessary ingredients inside the Guide Book in this Guild. So you better look up what you need before you go."; |
---|
| 129 | next; |
---|
| 130 | mes "[Mage Guildsman]"; |
---|
| 131 | mes "Once you collect all the ingredients you, use the machine in the center of the room to mix the solution. Good luck!"; |
---|
| 132 | close; |
---|
| 133 | } |
---|
| 134 | mes "[Mage Guildsman]"; |
---|
| 135 | mes "Whaaaaat~?! Right after you tell me that you wanna become a Mage, you change your mind?! Be a bit more decisive!"; |
---|
| 136 | close; |
---|
| 137 | } |
---|
| 138 | mes "Yeah? Ready...?"; |
---|
| 139 | if (getskilllv("NV_BASIC") < 9) { |
---|
| 140 | mes "Oh, what a bummer. You haven't met the requirements yet."; |
---|
| 141 | next; |
---|
| 142 | mes "[Mage Guildsman]"; |
---|
| 143 | mes "Go back and reach Novice Job level 9 first. Don't forget that you also have to learn all of the Basic Skills before you come back."; |
---|
| 144 | close; |
---|
| 145 | } |
---|
| 146 | mes "" + strcharinfo(0) + "'s test was..."; |
---|
| 147 | if (job_magician_q == 1) |
---|
| 148 | mes "Making Mixed Solution No. 1."; |
---|
| 149 | else if (job_magician_q == 2) |
---|
| 150 | mes "Making Mixed Solution No. 2."; |
---|
| 151 | else if (job_magician_q == 3) |
---|
| 152 | mes "Making Mixed Solution No. 3."; |
---|
| 153 | else |
---|
| 154 | mes "Making Mixed Solution No. 4."; |
---|
| 155 | next; |
---|
| 156 | mes "[Mage Guildsman]"; |
---|
| 157 | mes "Okay, let me"; |
---|
| 158 | mes "check if you made your"; |
---|
| 159 | mes "solution accurately..."; |
---|
| 160 | next; |
---|
| 161 | mes "[Mage Guildsman]"; |
---|
| 162 | if (countitem(1071) == 0 && countitem(1085) == 0 && countitem(1086) == 0 && countitem(1087) == 0 && countitem(1090) == 0) { |
---|
| 163 | mes "Hey, where's the Solution"; |
---|
| 164 | mes "I asked for...? I can't check it if you don't show it to me, right?"; |
---|
| 165 | close; |
---|
| 166 | } |
---|
| 167 | else { |
---|
| 168 | if ((job_magician_q == 1 && countitem(1071) == 0) || (job_magician_q == 2 && countitem(1085) == 0) || (job_magician_q == 3 && countitem(1086) == 0) || (job_magician_q == 4 && countitem(1087) == 0)) { |
---|
| 169 | mes "Wait."; |
---|
| 170 | mes "This isn't the"; |
---|
| 171 | mes "Solution I asked for!"; |
---|
| 172 | next; |
---|
| 173 | mes "[Mage Guildsman]"; |
---|
| 174 | if (job_magician_q == 1) |
---|
| 175 | mes "You're supposed to make Mixed Solution No. 1 and bring it back to me. Now go and try it again."; |
---|
| 176 | else if (job_magician_q == 2) |
---|
| 177 | mes "You're supposed to make Mixed Solution No. 2 and bring it back to me. Now go and try it again."; |
---|
| 178 | else if (job_magician_q == 3) |
---|
| 179 | mes "You're supposed to make Mixed Solution No. 3 and bring it back to me. Now go and try it again."; |
---|
| 180 | else |
---|
| 181 | mes "You're supposed to make Mixed Solution No. 4 and bring it back to me. Now go and try it again."; |
---|
| 182 | |
---|
| 183 | if (countitem(1071) != 0) delitem 1071,1; //Mage_Test_1 |
---|
| 184 | else if (countitem(1085) != 0) delitem 1085,1; //Mage_Test_2 |
---|
| 185 | else if (countitem(1086) != 0) delitem 1086,1; //Mage_Test_3 |
---|
| 186 | else if (countitem(1087) != 0) delitem 1087,1; //Mage_Test_4 |
---|
| 187 | else delitem 1090,1; //Mage_Test_Etc |
---|
| 188 | close; |
---|
| 189 | } |
---|
| 190 | } |
---|
| 191 | if (countitem(1071) != 0) delitem 1071,1; //Mage_Test_1 |
---|
| 192 | else if (countitem(1085) != 0) delitem 1085,1; //Mage_Test_2 |
---|
| 193 | else if (countitem(1086) != 0) delitem 1086,1; //Mage_Test_3 |
---|
| 194 | else if (countitem(1087) != 0) delitem 1087,1; //Mage_Test_4 |
---|
| 195 | else delitem 1090,1; //Mage_Test_Etc |
---|
| 196 | mes "Hmm. I can see that you tried really hard. For a beginner's attempt, this is really good."; |
---|
| 197 | mes "Great work!"; |
---|
| 198 | next; |
---|
| 199 | mes "[Mage Guildsman]"; |
---|
| 200 | mes "Alright! I'm pleased to say that you've passed the Mage Test. I will transform you right away!"; |
---|
| 201 | next; |
---|
| 202 | mes "[Mage Guildsman]"; |
---|
| 203 | mes "*Ahem*"; |
---|
| 204 | mes "Congratulations!"; |
---|
| 205 | mes "You are now a Mage!"; |
---|
| 206 | next; |
---|
| 207 | callfunc "Job_Change",Job_Mage; |
---|
| 208 | callfunc "F_ClearJobVar"; |
---|
| 209 | set Zeny,Zeny+50; |
---|
| 210 | mes "[Mage Guildsman]"; |
---|
| 211 | mes "'Welcome to My World~'"; |
---|
| 212 | mes "Heh heh, I just wanted to say that. You know, it's a quote from a well-known movie~"; |
---|
| 213 | next; |
---|
| 214 | mes "[Mage Guildsman]"; |
---|
| 215 | mes "Now that you're a Mage just like us, let's be friends, okay?"; |
---|
| 216 | close; |
---|
| 217 | case 2: |
---|
| 218 | mes "[Mage Guildsman]"; |
---|
| 219 | mes "Wanna be a Mage, eh?"; |
---|
| 220 | if (sex) |
---|
| 221 | mes "For a cutie like you, I'd be happy to explain the requirements!"; |
---|
| 222 | else |
---|
| 223 | mes "I'd be happy to explain the requirements for a pretty girl like you!"; |
---|
| 224 | next; |
---|
| 225 | mes "[Mage Guildsman]"; |
---|
| 226 | mes "First of all, you have to reach Novice Job Level 10 and learn all of the Basic Skills. Then, you'll have to pass the Mage Test."; |
---|
| 227 | next; |
---|
| 228 | if (job_magician_q != 0) { |
---|
| 229 | mes "[Mage Guildsman]"; |
---|
| 230 | mes "Your test is to"; |
---|
| 231 | switch(job_magician_q) { |
---|
| 232 | case 1: |
---|
| 233 | mes "make me a"; |
---|
| 234 | mes "^3355FFMixed Solution No. 1^000000"; |
---|
| 235 | mes "and bring it back to me."; |
---|
| 236 | break; |
---|
| 237 | case 2: |
---|
| 238 | mes "make me a"; |
---|
| 239 | mes "^3355FFMixed Solution No. 2^000000"; |
---|
| 240 | mes "and bring it back to me."; |
---|
| 241 | break; |
---|
| 242 | case 3: |
---|
| 243 | mes "make me a"; |
---|
| 244 | mes "^3355FFMixed Solution No. 3^000000"; |
---|
| 245 | mes "and bring it back to me."; |
---|
| 246 | break; |
---|
| 247 | default: |
---|
| 248 | mes "make me a"; |
---|
| 249 | mes "^3355FFMixed Solution No. 4^000000"; |
---|
| 250 | mes "and bring it back to me."; |
---|
| 251 | } |
---|
| 252 | next; |
---|
| 253 | mes "[Mage Guildsman]"; |
---|
| 254 | mes "You can look up the ingredients you'll need to make the Solution inside the Guide Book in this Guild."; |
---|
| 255 | } |
---|
| 256 | else { |
---|
| 257 | mes "[Mage Guildsman]"; |
---|
| 258 | mes "You will be informed as to which Mixed Solution you will need to create after signing the application form."; |
---|
| 259 | } |
---|
| 260 | next; |
---|
| 261 | mes "[Mage Guildsman]"; |
---|
| 262 | mes "Let me know when you are ready to become a Mage, alright?"; |
---|
| 263 | close; |
---|
| 264 | case 3: |
---|
| 265 | mes "[Mage Guildsman]"; |
---|
| 266 | mes "Nothing...?"; |
---|
| 267 | close; |
---|
| 268 | } |
---|
| 269 | } |
---|
| 270 | |
---|
| 271 | geffen_in,164,112,4 script Mixing Machine 111,{ |
---|
| 272 | mes "[Mixing Machine]"; |
---|
| 273 | mes "This machine is the property of the Geffen Mage Guild and is used only for mixing solutions for magic purposes."; |
---|
| 274 | next; |
---|
| 275 | if (select("Use Machine.:Cancel.") == 1) { |
---|
| 276 | mes "[Mixing Machine]"; |
---|
| 277 | mes "Choose the"; |
---|
| 278 | mes "Solvent for"; |
---|
| 279 | mes "the Solution."; |
---|
| 280 | next; |
---|
| 281 | switch(select("Payon Solution.:Morroc Solution.:No Solvent.")) { |
---|
| 282 | case 1: |
---|
| 283 | if (countitem(1089) == 0) { |
---|
| 284 | mes "[Mixing Machine]"; |
---|
| 285 | mes "Error."; |
---|
| 286 | mes "Cannot find the item."; |
---|
| 287 | mes "Please check again."; |
---|
| 288 | mes "Process Halting."; |
---|
| 289 | close; |
---|
| 290 | } |
---|
| 291 | set .@mixitem2,1; |
---|
| 292 | break; |
---|
| 293 | case 2: |
---|
| 294 | if (countitem(1088) == 0) { |
---|
| 295 | mes "[Mixing Machine]"; |
---|
| 296 | mes "Error."; |
---|
| 297 | mes "Cannot find the item."; |
---|
| 298 | mes "Please check again."; |
---|
| 299 | mes "Process Halting."; |
---|
| 300 | close; |
---|
| 301 | } |
---|
| 302 | set .@mixitem2,2; |
---|
| 303 | break; |
---|
| 304 | case 3: |
---|
| 305 | set .@mixitem2,0; |
---|
| 306 | break; |
---|
| 307 | } |
---|
| 308 | while (1) { |
---|
| 309 | if (.@progress == 2) { |
---|
| 310 | mes "[Mixing Machine]"; |
---|
| 311 | if (.@mixitem1_1 != 0) mes "Jellopy: " + .@mixitem1_1 + " ea."; |
---|
| 312 | if (.@mixitem1_2 != 0) mes "Fluff: " + .@mixitem1_2 + " ea."; |
---|
| 313 | if (.@mixitem1_3 != 0) mes "Milk: " + .@mixitem1_3 + " ea."; |
---|
| 314 | if (.@mixitem2 == 0) mes "Solvent: None."; |
---|
| 315 | if (.@mixitem2 == 1) mes "Solvent: Payon Solution."; |
---|
| 316 | if (.@mixitem2 == 2) mes "Solvent: Morroc Solution."; |
---|
| 317 | next; |
---|
| 318 | mes "[Mixing Machine]"; |
---|
| 319 | mes "Please choose if you wish to begin mixing, or to re-enter the number of items to be mixed."; |
---|
| 320 | next; |
---|
| 321 | switch(select("Begin Mixing.:Re-Enter Number of Items.:Reset.")) { |
---|
| 322 | case 1: |
---|
| 323 | mes "[Mixing Machine]"; |
---|
| 324 | mes "Please place the items into the Mixing Receptacle. Make sure the item amounts are correct."; |
---|
| 325 | next; |
---|
| 326 | mes "[Mixing Machine]"; |
---|
| 327 | mes "You cannot adjust or restore items once they are placed into the Mixing Receptacle."; |
---|
| 328 | next; |
---|
| 329 | mes "[Mixing Machine]"; |
---|
| 330 | mes "If everything is correct, press the 'Mix' button when you are ready. Otherwise, press the 'Cancel' button."; |
---|
| 331 | next; |
---|
| 332 | if (select("Press 'Mix' Button.:Press 'Cancel' Button.") == 1) { |
---|
| 333 | mes "[Mixing Machine]"; |
---|
| 334 | mes "Place items into the Mixing Receptacle now. Please wait."; |
---|
| 335 | next; |
---|
| 336 | mes "[Mixing Machine]"; |
---|
| 337 | if (countitem(909) < .@mixitem1_1) { |
---|
| 338 | mes "Insufficient Jellopy."; |
---|
| 339 | mes "Please Check again."; |
---|
| 340 | mes "Process Halted."; |
---|
| 341 | close; |
---|
| 342 | } |
---|
| 343 | else if (countitem(914) < .@mixitem1_2) { |
---|
| 344 | mes "Insufficient Fluff."; |
---|
| 345 | mes "Please Check again."; |
---|
| 346 | mes "Process Halted."; |
---|
| 347 | close; |
---|
| 348 | } |
---|
| 349 | else if (countitem(519) < .@mixitem1_3) { |
---|
| 350 | mes "Insufficient Milk."; |
---|
| 351 | mes "Please Check again."; |
---|
| 352 | mes "Process Halted."; |
---|
| 353 | close; |
---|
| 354 | } |
---|
| 355 | else if (.@mixitem2 == 1 || .@mixitem2 == 2) { |
---|
| 356 | if (countitem(1089) == 0 && countitem(1088) == 0) { |
---|
| 357 | mes "Solution not found."; |
---|
| 358 | mes "Please Check again."; |
---|
| 359 | mes "Process Halted."; |
---|
| 360 | close; |
---|
| 361 | } |
---|
| 362 | } |
---|
| 363 | if (.@mixitem1_1 != 0) delitem 909,.@mixitem1_1; //Jellopy |
---|
| 364 | if (.@mixitem1_2 != 0) delitem 914,.@mixitem1_2; //Fluff |
---|
| 365 | if (.@mixitem1_3 != 0) delitem 519,.@mixitem1_3; //Milk |
---|
| 366 | if (.@mixitem2 == 1) delitem 1089,1; //Payon_Potion |
---|
| 367 | if (.@mixitem2 == 2) delitem 1088,1; //Morocc_Potion |
---|
| 368 | mes "Items are Ready."; |
---|
| 369 | mes "Close the Lid."; |
---|
| 370 | set .@progress,3; |
---|
| 371 | next; |
---|
| 372 | } |
---|
| 373 | break; |
---|
| 374 | case 2: |
---|
| 375 | set .@continue,0; |
---|
| 376 | next; |
---|
| 377 | break; |
---|
| 378 | case 3: |
---|
| 379 | set .@mixitem1_1,0; |
---|
| 380 | set .@mixitem1_2,0; |
---|
| 381 | set .@mixitem1_3,0; |
---|
| 382 | set .@progress,0; |
---|
| 383 | set .@continue,0; |
---|
| 384 | mes "[Mixing Machine]"; |
---|
| 385 | mes "Reset Complete."; |
---|
| 386 | mes "Initiate again?"; |
---|
| 387 | next; |
---|
| 388 | if (select("Yes.:No.") == 1) |
---|
| 389 | break; |
---|
| 390 | mes "[Mixing Machine]"; |
---|
| 391 | mes "Process Halted."; |
---|
| 392 | mes "Thank you."; |
---|
| 393 | close; |
---|
| 394 | } |
---|
| 395 | if (.@progress == 3) break; |
---|
| 396 | } |
---|
| 397 | else if (.@progress == 1) { |
---|
| 398 | mes "[Mixing Machine]"; |
---|
| 399 | mes "Nothing found."; |
---|
| 400 | next; |
---|
| 401 | } |
---|
| 402 | mes "[Mixing Machine]"; |
---|
| 403 | mes "Select items to mix."; |
---|
| 404 | while(1) { |
---|
| 405 | switch(select("Jellopy.:Fluff.:Milk.:Ready to Mix.")) { |
---|
| 406 | case 1: |
---|
| 407 | while(1) { |
---|
| 408 | input .@input; |
---|
| 409 | if (.@input > 10000) { |
---|
| 410 | next; |
---|
| 411 | mes "[Mixing Machine]"; |
---|
| 412 | mes "Error: Item limit exceeded. Please enter values less than 10,000 try again."; |
---|
| 413 | next; |
---|
| 414 | } |
---|
| 415 | else { |
---|
| 416 | if (countitem(909) > 0) set .@mixitem1_1,.@mixitem1_1 + .@input; |
---|
| 417 | set .@progress,2; |
---|
| 418 | break; |
---|
| 419 | } |
---|
| 420 | } |
---|
| 421 | break; |
---|
| 422 | case 2: |
---|
| 423 | while(1) { |
---|
| 424 | input .@input; |
---|
| 425 | if (.@input > 10000) { |
---|
| 426 | next; |
---|
| 427 | mes "[Mixing Machine]"; |
---|
| 428 | mes "Error: Item limit exceeded. Please enter values less than 10,000 try again."; |
---|
| 429 | next; |
---|
| 430 | } |
---|
| 431 | else { |
---|
| 432 | if (countitem(914) > 0) set .@mixitem1_2,.@mixitem1_2 + .@input; |
---|
| 433 | set .@progress,2; |
---|
| 434 | break; |
---|
| 435 | } |
---|
| 436 | } |
---|
| 437 | break; |
---|
| 438 | case 3: |
---|
| 439 | while(1) { |
---|
| 440 | input .@input; |
---|
| 441 | if (.@input > 10000) { |
---|
| 442 | next; |
---|
| 443 | mes "[Mixing Machine]"; |
---|
| 444 | mes "Error: Item limit exceeded. Please enter values less than 10,000 try again."; |
---|
| 445 | next; |
---|
| 446 | } |
---|
| 447 | else { |
---|
| 448 | if (countitem(519) > 0) set .@mixitem1_3,.@mixitem1_3 + .@input; |
---|
| 449 | set .@progress,2; |
---|
| 450 | break; |
---|
| 451 | } |
---|
| 452 | } |
---|
| 453 | break; |
---|
| 454 | |
---|
| 455 | case 4: |
---|
| 456 | if (.@progress != 2) |
---|
| 457 | set .@progress,1; |
---|
| 458 | set .@continue,1; |
---|
| 459 | next; |
---|
| 460 | } |
---|
| 461 | if (.@continue) break; |
---|
| 462 | } |
---|
| 463 | } |
---|
| 464 | mes "[Mixing Machine]"; |
---|
| 465 | mes "Please enter the "; |
---|
| 466 | mes "Serial Number of"; |
---|
| 467 | mes "the Magic Powder."; |
---|
| 468 | next; |
---|
| 469 | while(1) { |
---|
| 470 | input .@input; |
---|
| 471 | if (.@input < 1000 || .@input > 9999) { |
---|
| 472 | mes "[Mixing Machine]"; |
---|
| 473 | if (.@input == 0) { |
---|
| 474 | mes "Do you want to skip this Menu?"; |
---|
| 475 | next; |
---|
| 476 | if (select("Yes.:No.") == 1) { |
---|
| 477 | break; |
---|
| 478 | } |
---|
| 479 | } |
---|
| 480 | else { |
---|
| 481 | mes "Invalid Serial Number."; |
---|
| 482 | mes "Please try again."; |
---|
| 483 | next; |
---|
| 484 | } |
---|
| 485 | } |
---|
| 486 | else { |
---|
| 487 | mes "[Mixing Machine]"; |
---|
| 488 | mes "The Serial Number is #" + .@input + ", correct?"; |
---|
| 489 | next; |
---|
| 490 | if (select("Confirm.:Cancel.") == 1) { |
---|
| 491 | if (.@input == 8472) |
---|
| 492 | set .@magic_powder,1; |
---|
| 493 | else if (.@input == 3735) |
---|
| 494 | set .@magic_powder,2; |
---|
| 495 | else if (.@input == 2750) |
---|
| 496 | set .@magic_powder,3; |
---|
| 497 | else if (.@input == 5429) |
---|
| 498 | set .@magic_powder,4; |
---|
| 499 | else |
---|
| 500 | set .@magic_powder,5; |
---|
| 501 | } |
---|
| 502 | break; |
---|
| 503 | } |
---|
| 504 | } |
---|
| 505 | mes "[Mixing Machine]"; |
---|
| 506 | mes "Choose a"; |
---|
| 507 | mes "Catalyst Stone."; |
---|
| 508 | next; |
---|
| 509 | switch(select("Yellow Gemstone.:Red Gemstone.:Blue Gemstone.:1carat Diamond.:Skip.")) { |
---|
| 510 | case 1: set .@mixitem3,1; break; |
---|
| 511 | case 2: set .@mixitem3,2; break; |
---|
| 512 | case 3: set .@mixitem3,3; break; |
---|
| 513 | case 4: set .@mixitem3,4; break; |
---|
| 514 | case 5: break; |
---|
| 515 | } |
---|
| 516 | mes "[Mixing Machine]"; |
---|
| 517 | mes "All Set."; |
---|
| 518 | mes "Initiating"; |
---|
| 519 | mes "Mixing process."; |
---|
| 520 | mes "Please Wait."; |
---|
| 521 | next; |
---|
| 522 | mes "[Mixing Machine]"; |
---|
| 523 | mes "- Proverb of the Day -"; |
---|
| 524 | switch(rand(1,5)) { |
---|
| 525 | case 1: |
---|
| 526 | mes "An Eye for an Eye: When you take from a person, you must replace or repay in some way."; |
---|
| 527 | break; |
---|
| 528 | case 2: |
---|
| 529 | mes "Credibility is a Man's Currency: There's a value in genuine trust that cannot be measured."; |
---|
| 530 | break; |
---|
| 531 | case 3: |
---|
| 532 | mes "What Goes Around Comes Around: Ultimately, you will be treated in the way you treat others."; |
---|
| 533 | mes "It means 'When you harm Another you will be harmed by him in an unavoidable situation'."; |
---|
| 534 | break; |
---|
| 535 | case 4: |
---|
| 536 | mes "A good neighbor is better than a distant brother: When you need help, you can count on those close to you."; |
---|
| 537 | break; |
---|
| 538 | default: |
---|
| 539 | mes "Birds of a Feather Flock Together: You can look at a person's friends as an indicator of their character."; |
---|
| 540 | } |
---|
| 541 | next; |
---|
| 542 | if (.@mixitem1_1 == 2 && .@mixitem1_2 == 3 && .@mixitem1_3 == 1 && .@mixitem2 == 1 && .@mixitem3 == 1 && .@magic_powder == 1) { |
---|
| 543 | mes "[Mixing Machine]"; |
---|
| 544 | mes "Mage Test Solution No. 1."; |
---|
| 545 | getitem 1071,1; //Mage_Test_1 |
---|
| 546 | next; |
---|
| 547 | } |
---|
| 548 | else if (.@mixitem1_1 == 3 && .@mixitem1_2 == 1 && .@mixitem1_3 == 1 && .@mixitem2 == 0 && .@mixitem3 == 2 && .@magic_powder == 2) { |
---|
| 549 | mes "[Mixing Machine]"; |
---|
| 550 | mes "Mage Test Solution No. 2."; |
---|
| 551 | getitem 1085,1; //Mage_Test_2 |
---|
| 552 | next; |
---|
| 553 | } |
---|
| 554 | else if (.@mixitem1_1 == 6 && .@mixitem1_2 == 1 && .@mixitem1_3 == 0 && .@mixitem2 == 1 && .@mixitem3 == 3 && .@magic_powder == 3) { |
---|
| 555 | mes "[Mixing Machine]"; |
---|
| 556 | mes "Mage Test Solution No. 3."; |
---|
| 557 | getitem 1086,1; //Mage_Test_3 |
---|
| 558 | next; |
---|
| 559 | } |
---|
| 560 | else if (.@mixitem1_1 == 2 && .@mixitem1_2 == 3 && .@mixitem1_3 == 0 && .@mixitem2 == 2 && .@mixitem3 == 4 && .@magic_powder == 4) { |
---|
| 561 | mes "[Mixing Machine]"; |
---|
| 562 | mes "Mage Test Solution No. 4."; |
---|
| 563 | getitem 1087,1; //Mage_Test_4 |
---|
| 564 | next; |
---|
| 565 | } |
---|
| 566 | else { |
---|
| 567 | mes "[Mixing Machine]"; |
---|
| 568 | mes "Unexpected"; |
---|
| 569 | mes "Error Occurred."; |
---|
| 570 | getitem 1090,1; //Mage_Test_Etc |
---|
| 571 | next; |
---|
| 572 | } |
---|
| 573 | mes "[Mixing Machine]"; |
---|
| 574 | mes "Mixing Complete."; |
---|
| 575 | mes "Thank you."; |
---|
| 576 | close; |
---|
| 577 | } |
---|
| 578 | close; |
---|
| 579 | } |
---|
| 580 | |
---|
| 581 | pay_arche,122,100,0 script Dollshoi 88,{ |
---|
| 582 | mes "[Mage Guildsman]"; |
---|
| 583 | mes "You want a Solution? Hmm, give me 50 Zeny and at least 1 Empty Test Tube."; |
---|
| 584 | next; |
---|
| 585 | if (select("Alright, Deal.:Nah, forget it.") == 1) { |
---|
| 586 | mes "[Mage Guildsman]"; |
---|
| 587 | if (Zeny < 50) { |
---|
| 588 | mes "Hey! You don't have enough money to cover my 50 Zeny charge."; |
---|
| 589 | close; |
---|
| 590 | } |
---|
| 591 | if (countitem(1092) == 0) { |
---|
| 592 | mes "You can't carry solutions without a bottle! Bring me an Empty Test Tube."; |
---|
| 593 | close; |
---|
| 594 | } |
---|
| 595 | delitem 1092,1; //Empty_Cylinder |
---|
| 596 | set zeny,zeny-50; |
---|
| 597 | getitem 1089,1; //Payon_Potion |
---|
| 598 | } |
---|
| 599 | close; |
---|
| 600 | } |
---|
| 601 | |
---|
| 602 | moc_ruins,91,150,0 script Ponka-Hontas 93,{ |
---|
| 603 | mes "[Mage Guildsman]"; |
---|
| 604 | mes "Would you like a Solution? Then please give me 50 Zeny and at least 1 Empty Testtube."; |
---|
| 605 | next; |
---|
| 606 | IF (select("Alright, Deal.:Nah, forget it.") == 1) { |
---|
| 607 | mes "[Mage Guildsman]"; |
---|
| 608 | if (zENY < 50) { |
---|
| 609 | mes "I'm sorry, but you don't have enough money to cover the 50 Zeny fee."; |
---|
| 610 | close; |
---|
| 611 | } |
---|
| 612 | if (countitem(1092) == 0) { |
---|
| 613 | mes "You can't carry liquids without using a bottle. Bring an Empty Test Tube the next time you see me."; |
---|
| 614 | close; |
---|
| 615 | } |
---|
| 616 | delitem 1092,1; //Empty_Cylinder |
---|
| 617 | set zeny,zeny-50; |
---|
| 618 | getitem 1088,1; //Morocc_Potion |
---|
| 619 | } |
---|
| 620 | CLOSE; |
---|
| 621 | } |
---|
| 622 | |
---|
| 623 | geffen_in,177,112,4 script Bookshelf 111,{ |
---|
| 624 | mes "[Guide Book]"; |
---|
| 625 | mes "This Guide Book is the property of the Geffen Mage Association. Please handle with care."; |
---|
| 626 | next; |
---|
| 627 | switch(select("Solution No. 1.:Solution No. 2.:Solution No. 3.:Solution No. 4.:Close.")) { |
---|
| 628 | case 1: |
---|
| 629 | mes "[Mage Test Solution No. 1]"; |
---|
| 630 | mes "* Ingredients List *"; |
---|
| 631 | mes "2 Jellopy"; |
---|
| 632 | mes "3 Fluff"; |
---|
| 633 | mes "1 Milk"; |
---|
| 634 | next; |
---|
| 635 | mes "[Mage Test Solution No. 1]"; |
---|
| 636 | mes "* Solvent Agent *"; |
---|
| 637 | mes "Payon Solution"; |
---|
| 638 | mes "Where to Find:"; |
---|
| 639 | mes "A small spring in Payon, the Archer Village."; |
---|
| 640 | next; |
---|
| 641 | mes "[Mage Test Solution No. 1]"; |
---|
| 642 | mes "* Magic Power Serial Code *"; |
---|
| 643 | mes "8472"; |
---|
| 644 | next; |
---|
| 645 | mes "[Mage Test Solution No. 1]"; |
---|
| 646 | mes "* Catalyst *"; |
---|
| 647 | mes "Yellow Gemstone"; |
---|
| 648 | mes "(Provided by"; |
---|
| 649 | mes "Mixing Machine)"; |
---|
| 650 | close; |
---|
| 651 | case 2: |
---|
| 652 | mes "[Mage Test Solution No. 2]"; |
---|
| 653 | mes "* Ingredients List *"; |
---|
| 654 | mes "3 Jellopy"; |
---|
| 655 | mes "1 Fluff"; |
---|
| 656 | mes "1 Milk"; |
---|
| 657 | next; |
---|
| 658 | mes "[Mage Test Solution No. 2]"; |
---|
| 659 | mes "* Solvent Agent *"; |
---|
| 660 | mes "None"; |
---|
| 661 | next; |
---|
| 662 | mes "[Mage Test Solution No. 2]"; |
---|
| 663 | mes "* Magic Power Serial Code *"; |
---|
| 664 | mes "3735"; |
---|
| 665 | next; |
---|
| 666 | mes "[Mage Test Solution No. 2]"; |
---|
| 667 | mes "* Catalyst *"; |
---|
| 668 | mes "Red Gemstone"; |
---|
| 669 | mes "(Provided by"; |
---|
| 670 | mes "Mixing Machine)"; |
---|
| 671 | close; |
---|
| 672 | case 3: |
---|
| 673 | mes "[Mage Test Solution No. 3]"; |
---|
| 674 | mes "* Ingredients List *"; |
---|
| 675 | mes "6 Jellopy"; |
---|
| 676 | mes "1 Fluff"; |
---|
| 677 | next; |
---|
| 678 | mes "[Mage Test Solution No. 3]"; |
---|
| 679 | mes "* Solvent Agent *"; |
---|
| 680 | mes "Payon Solution"; |
---|
| 681 | mes "Where to Find:"; |
---|
| 682 | mes "A small spring in Payon, the Archer Village."; |
---|
| 683 | next; |
---|
| 684 | mes "[Mage Test Solution No. 3]"; |
---|
| 685 | mes "* Magic Power Serial Code *"; |
---|
| 686 | mes "2750"; |
---|
| 687 | next; |
---|
| 688 | mes "[Mage Test Solution No. 3]"; |
---|
| 689 | mes "* Catalyst *"; |
---|
| 690 | mes "Blue Gemstone"; |
---|
| 691 | mes "(Provided by"; |
---|
| 692 | mes "Mixing Machine)"; |
---|
| 693 | close; |
---|
| 694 | case 4: |
---|
| 695 | mes "[Mage Test Solution No. 4]"; |
---|
| 696 | mes "* Ingredients List *"; |
---|
| 697 | mes "2 Jellopy"; |
---|
| 698 | mes "3 Fluff"; |
---|
| 699 | next; |
---|
| 700 | mes "[Mage Test Solution No. 4]"; |
---|
| 701 | mes "* Solvent Agent *"; |
---|
| 702 | mes "Morroc Solution"; |
---|
| 703 | mes "Where to Find:"; |
---|
| 704 | mes "A small spring near entrance of pyramid in Morroc."; |
---|
| 705 | next; |
---|
| 706 | mes "[Mage Test Solution No. 4]"; |
---|
| 707 | mes "* Magic Power Serial Code *"; |
---|
| 708 | mes "5429"; |
---|
| 709 | next; |
---|
| 710 | mes "[Mage Test Solution No. 4]"; |
---|
| 711 | mes "* Catalyst *"; |
---|
| 712 | mes "1 carat Diamond"; |
---|
| 713 | mes "(Provided by"; |
---|
| 714 | mes "Mixing Machine)"; |
---|
| 715 | close; |
---|
| 716 | } |
---|
| 717 | } |
---|