socket_enchant.txt 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434
  1. //===== eAthena Script =======================================
  2. //= Socket Enchant
  3. //===== By: ==================================================
  4. //= eAthena dev team
  5. //===== Current Version: =====================================
  6. //= 1.8
  7. //===== Compatible With: =====================================
  8. //= eAthena SVN
  9. //===== Description: =========================================
  10. //= item loses all element refinement and upgrades but
  11. //= cards too?
  12. //===== Additional Comments: =================================
  13. //= 0.1a added missing L_No: to 2 funcs [Lupus]
  14. //= 0.1b Removed duplicates [Toms]
  15. //= 0.2 Added missing next;'s [Evera]
  16. //= 0.3 Fixed Zweihander[+] id [Lupus]
  17. //= 1.0 Fixed ingredients check [Lupus]
  18. //= 1.1 Updated to official. [SinSloth]
  19. //= 1.1b Optimized/cleaned [ultramage]
  20. //= 1.2 Fixed some typos and a nasty bug. [SinSloth]
  21. //= 1.3 Fixed a wrong item ID with Sphinx Hat. [SinSloth]
  22. //= 1.4 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf]
  23. //= 1.5 Removed Ontouch trigger area from NPCs. [L0ne_W0lf]
  24. //= 1.6 Replaced effect numerics with constants. [Samuray22]
  25. //= 1.7 Adjusted prices on some armor and weapons. [L0ne_W0lf]
  26. //= 1.8 Added missing Gae Bolg and Dragon Slayer. [Kisuka]
  27. //============================================================
  28. payon,140,151,5 script Seiyablem 84,{
  29. mes "[Seiyablem]";
  30. mes "I'm an engineer that specializes in adding Slots to normal Weapons and Armor.";
  31. mes "My service fee, the required materials and the chance of success all depend on the specific item I'm working on.";
  32. next;
  33. mes "[Seiyablem]";
  34. mes "Adding Slots may seem simple, but it's far more complicated than it looks.";
  35. mes "If you're interested in my service, let me know.";
  36. next;
  37. switch( select( "Add Slot to Weapon","Add Slot to Armor","Slot Attempt Info","Cancel" ) )
  38. {
  39. case 1:
  40. mes "[Seiyablem]";
  41. mes "You want to add a Slot to a weapon?";
  42. mes "I categorize weapons by their difficulty in adding a Slot, C Class being easiest and S Class the most difficult.";
  43. mes "Which class would you like to try?";
  44. set @sockettype,1;
  45. next;
  46. switch( select( "C Class","B Class","A Class","S Class" ) )
  47. {
  48. case 1:
  49. mes "[Seiyablem]";
  50. mes "C Class, eh?";
  51. mes "Now, I can only upgrade certain equipment in that class, so please choose one of the following items, so we can try to add a Slot to it.";
  52. next;
  53. switch( select( "Trident","Rope","Violin","Book of Billows","Book of Mother Earth","Book of the Blazing Sun","Book of Gust of Wind" ) )
  54. {
  55. case 1: callfunc "Func_Socket",1,1460,1461,40,66,200,1010,10; break;
  56. case 2: callfunc "Func_Socket",1,1950,1951,40,66,200,1010,10; break;
  57. case 3: callfunc "Func_Socket",1,1901,1902,40,66,200,1010,10; break;
  58. case 4: callfunc "Func_Socket",1,1553,1568,40,66,200,1010,10; break;
  59. case 5: callfunc "Func_Socket",1,1554,1569,40,66,200,1010,10; break;
  60. case 6: callfunc "Func_Socket",1,1555,1570,40,66,200,1010,10; break;
  61. case 7: callfunc "Func_Socket",1,1556,1571,40,66,200,1010,10; break;
  62. }
  63. break;
  64. case 2:
  65. mes "[Seiyablem]";
  66. mes "B Class?";
  67. mes "Alright, this is the average equipment category.";
  68. mes "Please choose the weapon to which you'd like me to try to add a Slot.";
  69. next;
  70. switch( select( "Chain","Gladius","Gakkung Bow","Pike","Haedonggum","Lute","Wire","Waghnakh","Arbalest Bow","Orcish Axe","Scimitar","Spike" ) )
  71. {
  72. case 1: callfunc "Func_Socket",1,1519,1520,40,61,300,1010,10; break;
  73. case 2: callfunc "Func_Socket",2,1219,1220,40,61,300,984,1,999,5; break;
  74. case 3: callfunc "Func_Socket",2,1714,1716,40,61,300,984,2,999,5; break;
  75. case 4: callfunc "Func_Socket",1,1407,1408,40,61,200,1010,10; break;
  76. case 5: callfunc "Func_Socket",2,1123,1128,40,61,300,984,2,999,5; break;
  77. case 6: callfunc "Func_Socket",1,1905,1906,40,61,300,1011,10; break;
  78. case 7: callfunc "Func_Socket",1,1954,1955,40,61,300,1011,10; break;
  79. case 8: callfunc "Func_Socket",1,1801,1802,40,61,300,1010,10; break;
  80. case 9: callfunc "Func_Socket",2,1713,1715,40,61,300,984,2,999,5; break;
  81. case 10: callfunc "Func_Socket",1,1304,1309,40,61,200,984,1; break;
  82. case 11: callfunc "Func_Socket",1,1113,1114,40,61,200,984,1; break;
  83. case 12: callfunc "Func_Socket",1,1523,1538,40,61,300,984,1; break;
  84. }
  85. break;
  86. case 3:
  87. mes "[Seiyablem]";
  88. mes "Ooh, A Class.";
  89. mes "This is some high risk territory!";
  90. mes "Alright, which weapon would you like me to try adding a Slot?";
  91. next;
  92. switch( select( "Hunter Bow","Survivor's Rod(INT)","Zweihander","Flamberge","Infiltrator","Ballista","Stunner","Berserk","Claymore","Dragon Killer","Katar of Frozen Icicle","Katar of Quaking","Katar of Raging Blaze","Katar of Piercing Wind","Golden Mace","Oriental Lute","Queen's Whip","Phantom Spear","Gae Bolg","Schweizersabel" ) )
  93. {
  94. case 1: callfunc "Func_Socket",2,1718,1726,40,61,500,984,2,999,10; break;
  95. case 2: callfunc "Func_Socket",2,1619,1620,40,61,500,984,5,999,10; break;
  96. case 3: callfunc "Func_Socket",2,1168,1171,40,61,800,984,5,999,10; break;
  97. case 4: callfunc "Func_Socket",2,1129,1149,40,61,500,984,2,999,10; break;
  98. case 5: callfunc "Func_Socket",2,1261,1266,40,61,700,984,5,999,10; break;
  99. case 6: callfunc "Func_Socket",2,1722,1727,40,61,500,984,5,999,10; break;
  100. case 7: callfunc "Func_Socket",2,1522,1532,40,61,500,984,2,999,10; break;
  101. case 8: callfunc "Func_Socket",2,1814,1816,40,61,500,984,5,999,10; break;
  102. case 9: callfunc "Func_Socket",2,1163,1172,40,61,500,984,5,999,10; break;
  103. case 10: callfunc "Func_Socket",1,13001,13030,40,61,500,984,2; break;
  104. case 11: callfunc "Func_Socket",1,1256,1275,40,61,500,984,2; break;
  105. case 12: callfunc "Func_Socket",1,1257,1276,40,61,500,984,2; break;
  106. case 13: callfunc "Func_Socket",1,1258,1277,40,61,500,984,2; break;
  107. case 14: callfunc "Func_Socket",1,1259,1278,40,61,500,984,2; break;
  108. case 15: callfunc "Func_Socket",1,1524,1539,40,61,500,984,2; break;
  109. case 16: callfunc "Func_Socket",1,1918,1922,40,61,500,984,2; break;
  110. case 17: callfunc "Func_Socket",1,1970,1976,40,61,500,984,2; break;
  111. case 18: callfunc "Func_Socket",1,1477,1479,40,61,500,984,2; break;
  112. case 19: callfunc "Func_Socket",1,1474,1480,40,61,500,984,2; break;
  113. case 20: callfunc "Func_Socket",1,1167,1178,40,61,500,984,2; break;
  114. }
  115. break;
  116. case 4:
  117. mes "[Seiyablem]";
  118. mes "Whoa, whoa, whoa...";
  119. mes "S class? Alright...";
  120. mes "It'd be a near miracle if I can actually pull this off.";
  121. mes "Okay... Which weapon shall we try adding a Slot to?";
  122. next;
  123. switch( select( "Gungnir","Poison Knife","Ice Pick","Sucsamad","Ginnungagap","Cutlas","Crescent Scythe","Survivor's Rod(DEX)","Zephyrus","Mailbreaker","Dragon Slayer","Swordbreaker","Assassin Dagger","Grand Cross","Executioner" ) )
  124. {
  125. case 1: callfunc "Func_Socket",2,1413,1418,40,51,1000,984,5,999,10; break;
  126. case 2: callfunc "Func_Socket",2,1239,13016,40,51,1000,984,5,999,10; break;
  127. case 3: callfunc "Func_Socket",2,1230,13017,40,51,2000,984,5,999,10; break;
  128. case 4: callfunc "Func_Socket",2,1236,13018,40,51,1000,984,5,999,10; break;
  129. case 5: callfunc "Func_Socket",2,13002,13019,40,51,1000,984,5,999,10; break;
  130. case 6: callfunc "Func_Socket",2,1135,13400,40,51,1000,984,5,999,10; break;
  131. case 7: callfunc "Func_Socket",2,1466,1476,40,51,1000,984,5,999,10; break;
  132. case 8: callfunc "Func_Socket",2,1617,1618,40,51,2000,984,5,999,10; break;
  133. case 9: callfunc "Func_Socket",2,1468,1481,40,51,1000,984,5,999,10; break;
  134. case 10: callfunc "Func_Socket",2,1225,13032,40,51,1000,984,5,999,10; break;
  135. case 11: callfunc "Func_Socket",2,1166,1180,40,51,1000,984,5,999,10; break;
  136. case 12: callfunc "Func_Socket",2,1224,13031,40,51,1000,984,5,999,10; break;
  137. case 13: callfunc "Func_Socket",2,1232,13033,40,51,1000,984,5,999,10; break;
  138. case 14: callfunc "Func_Socket",2,1528,1540,40,51,1000,984,5,999,10; break;
  139. case 15: callfunc "Func_Socket",2,1169,1179,40,51,1000,984,5,999,10; break;
  140. }
  141. break;
  142. }
  143. break;
  144. case 2:
  145. mes "[Seiyablem]";
  146. mes "Armor, you said?";
  147. mes "Sure, no problem.";
  148. mes "Armor is divided into 4 different classes, depending on the work difficulty.";
  149. mes "C Class is the easiest one, and S Class he hardest one.";
  150. mes "Which class would you like to try?";
  151. set @sockettype,2;
  152. next;
  153. switch( select( "C Class","B Class","A Class","S Class" ) )
  154. {
  155. case 1:
  156. mes "[Seiyablem]";
  157. mes "C Class Armor, eh?";
  158. mes "Sounds reasonable.";
  159. mes "Which armor would you like to try adding a Slot?";
  160. next;
  161. switch( select( "Mantle","Coat","Circlet","Biretta","Sunflower","Ph.D Hat","Big Ribbon","Boys Cap" ) )
  162. {
  163. case 1: callfunc "Func_Socket",1,2307,2308,40,66,200,999,3; break;
  164. case 2: callfunc "Func_Socket",1,2309,2310,40,66,200,999,3; break;
  165. case 3: callfunc "Func_Socket",1,2232,2233,40,66,200,999,3; break;
  166. case 4: callfunc "Func_Socket",1,2216,2217,40,66,200,999,3; break;
  167. case 5: callfunc "Func_Socket",1,2253,5351,40,66,100,999,3; break;
  168. case 6: callfunc "Func_Socket",1,5012,5347,40,66,200,999,3; break;
  169. case 7: callfunc "Func_Socket",1,2244,5348,40,66,200,999,5; break;
  170. case 8: callfunc "Func_Socket",1,5016,5349,40,66,200,999,5; break;
  171. }
  172. break;
  173. case 2:
  174. mes "[Seiyablem]";
  175. mes "You have chosen average B Class.";
  176. mes "So, what kind of armor do you have?";
  177. next;
  178. switch( select( "Mirror Shield","Chain Mail","Saint Robe","Silk Robe","Boots","Shoes","Muffler","Guard","Buckler","Shield","Bongun Hat","Skull Ring","High Heels" ) )
  179. {
  180. case 1: callfunc "Func_Socket",1,2107,2108,40,61,250,999,5; break;
  181. case 2: callfunc "Func_Socket",1,2314,2315,40,61,250,999,5; break;
  182. case 3: callfunc "Func_Socket",1,2325,2326,40,61,300,999,5; break;
  183. case 4: callfunc "Func_Socket",1,2321,2322,40,61,300,999,5; break;
  184. case 5: callfunc "Func_Socket",1,2405,2406,40,61,300,999,5; break;
  185. case 6: callfunc "Func_Socket",1,2403,2404,40,61,300,999,5; break;
  186. case 7: callfunc "Func_Socket",1,2503,2504,40,61,300,999,5; break;
  187. case 8: callfunc "Func_Socket",1,2101,2102,40,61,300,999,5; break;
  188. case 9: callfunc "Func_Socket",1,2103,2104,40,61,300,999,5; break;
  189. case 10: callfunc "Func_Socket",1,2105,2106,40,61,250,999,5; break;
  190. case 11: callfunc "Func_Socket",1,5046,5168,40,61,250,999,5; break;
  191. case 12: callfunc "Func_Socket",1,2609,2715,40,61,300,999,5; break;
  192. case 13: callfunc "Func_Socket",1,2409,2432,40,61,300,999,5; break;
  193. }
  194. break;
  195. case 3:
  196. mes "[Seiyablem]";
  197. mes "Ooh, A Class.";
  198. mes "This is some high risk territory!";
  199. mes "Alright, which armor would you like me to try adding a Slot?";
  200. next;
  201. switch( select( "Gemmed Sallet","Bucket Hat","Memory Book","Tights","Legion Plate Armor","Full Plate","Thief Clothes","Greaves","Coif","Manteau","Helm","Ninja Suit","Orc Helm","Ancient Cape","Monk Hat","Golden Gear","Brooch","Munak Hat","Pirate Bandana","Black Leather Boots" ) )
  202. {
  203. case 1: callfunc "Func_Socket",1,2230,2231,40,61,400,985,1; break;
  204. case 2: callfunc "Func_Socket",1,5114,5120,40,61,400,985,1; break;
  205. case 3: callfunc "Func_Socket",1,2109,2121,40,61,400,985,1; break;
  206. case 4: callfunc "Func_Socket",1,2330,2331,40,61,400,985,1; break;
  207. case 5: callfunc "Func_Socket",1,2341,2342,40,61,400,985,1; break;
  208. case 6: callfunc "Func_Socket",1,2316,2317,40,61,400,985,1; break;
  209. case 7: callfunc "Func_Socket",1,2335,2336,40,61,400,985,1; break;
  210. case 8: callfunc "Func_Socket",1,2411,2412,40,61,400,985,1; break;
  211. case 9: callfunc "Func_Socket",1,5092,5093,40,61,400,985,1; break;
  212. case 10: callfunc "Func_Socket",1,2505,2506,40,61,400,985,1; break;
  213. case 11: callfunc "Func_Socket",1,2228,2229,40,61,400,985,1; break;
  214. case 12: callfunc "Func_Socket",1,2337,2359,40,61,400,985,1; break;
  215. case 13: callfunc "Func_Socket",1,2299,5157,40,61,400,985,1; break;
  216. case 14: callfunc "Func_Socket",1,2507,2525,40,61,400,985,1; break;
  217. case 15: callfunc "Func_Socket",1,2251,5158,40,61,400,985,1; break;
  218. case 16: callfunc "Func_Socket",1,2246,5159,40,61,400,985,1; break;
  219. case 17: callfunc "Func_Socket",1,2605,2625,40,61,400,985,1; break;
  220. case 18: callfunc "Func_Socket",1,2264,5167,40,61,300,985,1; break;
  221. case 19: callfunc "Func_Socket",1,2287,5350,40,61,500,985,1; break;
  222. case 20: callfunc "Func_Socket",1,2425,2434,40,61,500,985,1; break;
  223. }
  224. break;
  225. case 4:
  226. mes "[Seiyablem]";
  227. mes "Um... S Class?";
  228. mes "You sure about this?";
  229. mes "Alright... Let me know the Armor to which you'd like to add a Slot, and I'll tell what I need to try it.";
  230. next;
  231. switch( select( "Majestic Goat","Spiky Band","Bone Helm","Corsair","Crown","Tiara","Sphinx Hat","Robe of Cast","Earring","Ring","Bow Thimble","Mage Coat","Holy Robe","Sacred Mission","Undershirt","Pantie" ) )
  232. {
  233. case 1: callfunc "Func_Socket",1,2256,5160,40,51,2000,985,2; break;
  234. case 2: callfunc "Func_Socket",1,2258,5161,40,51,2000,985,2; break;
  235. case 3: callfunc "Func_Socket",1,5017,5162,40,51,2000,985,2; break;
  236. case 4: callfunc "Func_Socket",1,5019,5163,40,51,2000,985,2; break;
  237. case 5: callfunc "Func_Socket",1,2235,5165,40,51,2000,985,2; break;
  238. case 6: callfunc "Func_Socket",1,2234,5164,40,51,2000,985,2; break;
  239. case 7: callfunc "Func_Socket",1,5053,5166,40,51,2000,985,2; break;
  240. case 8: callfunc "Func_Socket",1,2343,2360,40,51,2000,985,2; break;
  241. case 9: callfunc "Func_Socket",1,2602,2622,40,51,2000,985,2; break;
  242. case 10: callfunc "Func_Socket",1,2601,2621,40,51,2000,985,2; break;
  243. case 11: callfunc "Func_Socket",1,2619,2671,40,51,2000,985,2; break;
  244. case 12: callfunc "Func_Socket",1,2334,2372,40,51,1000,985,1; break;
  245. case 13: callfunc "Func_Socket",1,2327,2373,40,51,1000,985,1; break;
  246. case 14: callfunc "Func_Socket",1,2111,2128,40,51,1000,985,1; break;
  247. case 15: callfunc "Func_Socket",1,2522,2523,40,51,1000,985,1; break;
  248. case 16: callfunc "Func_Socket",1,2339,2371,40,51,1000,985,1; break;
  249. }
  250. break;
  251. }
  252. break;
  253. case 3:
  254. mes "[Seiyablem]";
  255. mes "Well, I haven't really refined the art of Slot Addition.";
  256. mes "It's so complicated that I'd be lying if I told you that I knew every factor that affected the process.";
  257. mes "Still, I do notice a few trends...";
  258. next;
  259. mes "[Seiyablem]";
  260. mes "In some towns, Slot addition attempts are more successful for equipment with fewer upgrades.";
  261. mes "In other towns, the opposite is true.";
  262. mes "isn't that really peculiar?";
  263. next;
  264. mes "[Seiyablem]";
  265. mes "Oh, theres also something really important that you should know.";
  266. mes "If you ask me to add a Slot to something, make sure that you don't have multiples of it in your inventory.";
  267. next;
  268. mes "[Seiyablem]";
  269. mes "Heres an example: if you have a +7 Manteau and a normal Manteau in your inventory, then I will randomly pick on of them for my Slot Addition attempt.";
  270. mes "Just remember to be careful.";
  271. next;
  272. mes "[Seiyablem]";
  273. mes "Again, ^FF0000only carry one of the equipment to wich you want me to add a Slot^000000.";
  274. mes "All other equipment with the same name should be placed in your Kafra Storage, got it?";
  275. close;
  276. case 4:
  277. mes "[Seiyablem]";
  278. mes "Take it easy, adventurer.";
  279. mes "If you ever want to try adding a Slot to some of your equipment, come back and let me know.";
  280. mes "Seeya~";
  281. close;
  282. }
  283. }
  284. function script Func_Socket {
  285. mes "[Seiyablem]";
  286. mes "You want to add a Slot to a " +getitemname(getarg(1))+ "?";
  287. if (getarg(0) == 1)
  288. {
  289. if(getarg(5) > 999) mes "Alright, please bring me ^FF0000" +getarg(7)+ " " +getitemname(getarg(6))+ "s^000000, and my^FF0000 " +getarg(5) / 1000+",000,000 zeny^000000 service fee.";
  290. else mes "Alright, please bring me ^FF0000" +getarg(7)+ " " +getitemname(getarg(6))+ "s^000000, and my^FF0000 " +getarg(5)+",000 zeny^000000 service fee.";
  291. }
  292. else if (getarg(0) == 2)
  293. {
  294. if(getarg(5) > 999) mes "Alright, please bring me ^FF0000" +getarg(7)+ " " +getitemname(getarg(6))+ "^000000, ^FF0000" +getarg(9)+ " " +getitemname(getarg(8))+ "^000000 and my^FF0000 " +getarg(5) / 1000+",000,000 zeny^000000 service fee.";
  295. else mes "Alright, please bring me ^FF0000" +getarg(7)+ " " +getitemname(getarg(6))+ "^000000, ^FF0000" +getarg(9)+ " " +getitemname(getarg(8))+ "^000000 and my^FF0000 " +getarg(5)+",000 zeny^000000 service fee.";
  296. }
  297. mes "Ah, and don't forget to bring that " +getitemname(getarg(1))+ "!";
  298. next;
  299. if(@sockettype == 1)
  300. {
  301. mes "[Seiyablem]";
  302. mes "I can try to add a slot now if you have the required items and zeny.";
  303. mes "However, you should know that there's a chance that I might fail.";
  304. mes "Therefore, I need to give you a fair warning...";
  305. next;
  306. mes "[Seiyablem]";
  307. mes "If this attempt to add a Slot to your Weapon fails, then the ^FF0000Weapon^000000, ^FF0000and any Cards compounded to it will be destroyed^000000.";
  308. mes "Do you still want to try to add a Slot?";
  309. next;
  310. }
  311. else if(@sockettype == 2)
  312. {
  313. mes "[Seiyablem]";
  314. mes "If you have all the required materials, my zeny service fee and the Armor, then we can go ahead with the Slot Addition attempt.";
  315. mes "But before that, I must warn you of the risk.";
  316. next;
  317. mes "[Seiyablem]";
  318. mes "If this attempt to add a Slot to your Armor fails, then the ^FF0000Armor^000000, ^FF0000it's upgrades^000000 ^FF0000and any Cards compounded to it will be destroyed^000000.";
  319. mes "Do you still want to try to add a Slot?";
  320. next;
  321. }
  322. if ( select("Attempt Slot Addition","Cancel") == 2 )
  323. {
  324. mes "[Seiyablem]";
  325. mes "Need some time to think about it, huh?";
  326. mes "Alright, I can understand.";
  327. mes "Just remember that life's no fun if you're always playing it safe~";
  328. close;
  329. }
  330. mes "[Seiyablem]";
  331. mes "Alright then, let the work begin!";
  332. mes "You'd better pray for a successful result.";
  333. next;
  334. switch(getarg(0))
  335. {
  336. case 1:
  337. if((Zeny < getarg(5)*1000) || (countitem(getarg(6)) < getarg(7)) || (!countitem(getarg(1))))
  338. {
  339. mes "[Seiyablem]";
  340. mes "I'd like to go ahead with this Slot Addition attempt, but you're missing a few things.";
  341. mes "You sure that you have the equipment, required materials and the zeny?";
  342. close;
  343. }
  344. break;
  345. case 2:
  346. if((Zeny < getarg(5)*1000) || (countitem(getarg(6)) < getarg(7)) || (countitem(getarg(8)) < getarg(9)) || (!countitem(getarg(1))))
  347. {
  348. mes "[Seiyablem]";
  349. mes "I'd like to go ahead with this Slot Addition attempt, but you're missing a few things.";
  350. mes "You sure that you have the equipment, required materials and the zeny?";
  351. close;
  352. }
  353. break;
  354. }
  355. set .@socketrand,rand(1,100);
  356. if((.@socketrand > getarg(3)) && (.@socketrand < getarg(4)))
  357. {
  358. if(getarg(4) == 51) specialeffect EF_LORD;
  359. else specialeffect EF_SANCTUARY;
  360. mes "[Seiyablem]";
  361. mes "Great, it seems to be successful.";
  362. mes "It looks pretty well done. Congratulations!";
  363. delitem getarg(1),1;
  364. delitem getarg(6),getarg(7);
  365. if(getarg(0) == 2) delitem getarg(8),getarg(9);
  366. set Zeny,Zeny - getarg(5)*1000;
  367. getitem getarg(2),1;
  368. next;
  369. mes "[Seiyablem]";
  370. mes "See you again, buddy!";
  371. close;
  372. }
  373. else
  374. {
  375. specialeffect EF_FREEZING;
  376. mes "[Seiyablem]";
  377. mes "Wah! ...I am so sorry, it failed.";
  378. mes "However, I am completely innocent.";
  379. mes "This is your luck, and it is destined by god, okay?";
  380. mes "Don't be so disappointed, and try next time.";
  381. delitem getarg(1),1;
  382. delitem getarg(6),getarg(7);
  383. if(getarg(0) == 2) delitem getarg(8),getarg(9);
  384. set Zeny,Zeny - getarg(5)*1000;
  385. next;
  386. mes "[Seiyablem]";
  387. mes "I wish you good luck next time!";
  388. close;
  389. }
  390. }
  391. lhz_in02,281,35,5 duplicate(Seiyablem) Seiyablem#lhz 84
  392. prt_in,33,70,5 duplicate(Seiyablem) Seiyablem#prt 84
  393. morocc,51,41,5 duplicate(Seiyablem) Seiyablem#moc 84
  394. payon,143,143,7 script Young Man#socket 97,{
  395. mes "[Young Man]";
  396. mes "I'm considering becoming a Slotting Engineer.";
  397. mes "It's a new field where you can add Slots to equipment, and it'd be cool if I can work in such a lucrative career.";
  398. next;
  399. mes "[Young Man]";
  400. mes "There's a huge element of luck involved in successfully adding Slots from what I can understand.";
  401. mes "You fail sometimes, but if you're super lucky, you can add two Slots.";
  402. mes "Crazy. Huh?";
  403. next;
  404. mes "[Young Man]";
  405. mes "But don't get too excited.";
  406. mes "Only certain equipment can handle the addition of two extra Slots.";
  407. mes "There's so much more I have to learn before I can even be an apprentice...";
  408. close;
  409. }
  410. lhz_in02,269,33,5 duplicate(Young Man#socket) Young Man#lhz 97
  411. prt_in,31,57,1 duplicate(Young Man#socket) Young Man#prt 97
  412. morocc,60,42,3 duplicate(Young Man#socket) Young Man#moc 97