diff options
Diffstat (limited to 'npc/merchants/socket_enchant.txt')
-rw-r--r-- | npc/merchants/socket_enchant.txt | 405 |
1 files changed, 165 insertions, 240 deletions
diff --git a/npc/merchants/socket_enchant.txt b/npc/merchants/socket_enchant.txt index cd2f6a501..a369a499d 100644 --- a/npc/merchants/socket_enchant.txt +++ b/npc/merchants/socket_enchant.txt @@ -1,14 +1,14 @@ //===== eAthena Script ======================================= -//= Socket Enchant +//= Episode 11.1 Socket Enchant NPC //===== By: ================================================== //= eAthena dev team //===== Current Version: ===================================== -//= 1.8 +//= 1.9 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= -//= item loses all element refinement and upgrades but -//= cards too? +//= [Aegis Conversion] +//= Adds slots to selected weapons and armor. //===== Additional Comments: ================================= //= 0.1a added missing L_No: to 2 funcs [Lupus] //= 0.1b Removed duplicates [Toms] @@ -24,10 +24,20 @@ //= 1.6 Replaced effect numerics with constants. [Samuray22] //= 1.7 Adjusted prices on some armor and weapons. [L0ne_W0lf] //= 1.8 Added missing Gae Bolg and Dragon Slayer. [Kisuka] +//= 1.9 Moved Episode 12 items to separate NPC. +//= Some cleanup & optimization. [Gepard] //============================================================ -payon,140,151,5 script Seiyablem 84,{ - +payon,140,151,5 script Seiyablem#pay 84,{ + if (checkweight(1201,1) == 0) + { + mes "- Wait a minute !! -"; + mes "- Currently you're carrying -"; + mes "- too many items with you. -"; + mes "- Please try again -"; + mes "- after you loose some weight. -"; + close; + } mes "[Seiyablem]"; mes "I'm an engineer that specializes in adding Slots to normal Weapons and Armor."; mes "My service fee, the required materials and the chance of success all depend on the specific item I'm working on."; @@ -36,88 +46,63 @@ payon,140,151,5 script Seiyablem 84,{ mes "Adding Slots may seem simple, but it's far more complicated than it looks."; mes "If you're interested in my service, let me know."; next; - switch( select( "Add Slot to Weapon","Add Slot to Armor","Slot Attempt Info","Cancel" ) ) + switch(select("Add Slot to Weapon:Add Slot to Armor:Slot Attempt Info:Cancel")) { case 1: mes "[Seiyablem]"; mes "You want to add a Slot to a weapon?"; mes "I categorize weapons by their difficulty in adding a Slot, C Class being easiest and S Class the most difficult."; mes "Which class would you like to try?"; - set @sockettype,1; next; - switch( select( "C Class","B Class","A Class","S Class" ) ) + switch(select("C Class:B Class:A Class:S Class")) { case 1: mes "[Seiyablem]"; mes "C Class, eh?"; 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."; next; - switch( select( "Trident","Rope","Violin","Book of Billows","Book of Mother Earth","Book of the Blazing Sun","Book of Gust of Wind" ) ) + switch(select("Trident:Rope:Violin")) { - case 1: callfunc "Func_Socket",1,1460,1461,40,66,200,1010,10; break; - case 2: callfunc "Func_Socket",1,1950,1951,40,66,200,1010,10; break; - case 3: callfunc "Func_Socket",1,1901,1902,40,66,200,1010,10; break; - case 4: callfunc "Func_Socket",1,1553,1568,40,66,200,1010,10; break; - case 5: callfunc "Func_Socket",1,1554,1569,40,66,200,1010,10; break; - case 6: callfunc "Func_Socket",1,1555,1570,40,66,200,1010,10; break; - case 7: callfunc "Func_Socket",1,1556,1571,40,66,200,1010,10; break; + case 1: callfunc "Func_Socket",1460,1461,40,66,200,1010,10; + case 2: callfunc "Func_Socket",1950,1951,40,66,200,1010,10; + case 3: callfunc "Func_Socket",1901,1902,40,66,200,1010,10; } - break; - case 2: mes "[Seiyablem]"; mes "B Class?"; mes "Alright, this is the average equipment category."; mes "Please choose the weapon to which you'd like me to try to add a Slot."; next; - switch( select( "Chain","Gladius","Gakkung Bow","Pike","Haedonggum","Lute","Wire","Waghnakh","Arbalest Bow","Orcish Axe","Scimitar","Spike" ) ) + switch(select("Chain:Gladius:Gakkung Bow:Pike:Haedonggum:Lute:Wire:Waghnakh:Arbalest Bow")) { - case 1: callfunc "Func_Socket",1,1519,1520,40,61,300,1010,10; break; - case 2: callfunc "Func_Socket",2,1219,1220,40,61,300,984,1,999,5; break; - case 3: callfunc "Func_Socket",2,1714,1716,40,61,300,984,2,999,5; break; - case 4: callfunc "Func_Socket",1,1407,1408,40,61,200,1010,10; break; - case 5: callfunc "Func_Socket",2,1123,1128,40,61,300,984,2,999,5; break; - case 6: callfunc "Func_Socket",1,1905,1906,40,61,300,1011,10; break; - case 7: callfunc "Func_Socket",1,1954,1955,40,61,300,1011,10; break; - case 8: callfunc "Func_Socket",1,1801,1802,40,61,300,1010,10; break; - case 9: callfunc "Func_Socket",2,1713,1715,40,61,300,984,2,999,5; break; - case 10: callfunc "Func_Socket",1,1304,1309,40,61,200,984,1; break; - case 11: callfunc "Func_Socket",1,1113,1114,40,61,200,984,1; break; - case 12: callfunc "Func_Socket",1,1523,1538,40,61,300,984,1; break; + case 1: callfunc "Func_Socket",1519,1520,40,61,300,1010,10; + case 2: callfunc "Func_Socket",1219,1220,40,61,300, 984, 1,999,5; + case 3: callfunc "Func_Socket",1714,1716,40,61,300, 984, 2,999,5; + case 4: callfunc "Func_Socket",1407,1408,40,61,200,1010,10; + case 5: callfunc "Func_Socket",1123,1128,40,61,300, 984, 2,999,5; + case 6: callfunc "Func_Socket",1905,1906,40,61,300,1011,10; + case 7: callfunc "Func_Socket",1954,1955,40,61,300,1011,10; + case 8: callfunc "Func_Socket",1801,1802,40,61,300,1010,10; + case 9: callfunc "Func_Socket",1713,1715,40,61,300, 984, 2,999,5; } - break; - case 3: mes "[Seiyablem]"; mes "Ooh, A Class."; mes "This is some high risk territory!"; mes "Alright, which weapon would you like me to try adding a Slot?"; next; - 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" ) ) + switch(select("Hunter Bow:Survivor's Rod(INT):Zweihander:Flamberge:Infiltrator:Ballista:Stunner:Berserk:Claymore")) { - case 1: callfunc "Func_Socket",2,1718,1726,40,61,500,984,2,999,10; break; - case 2: callfunc "Func_Socket",2,1619,1620,40,61,500,984,5,999,10; break; - case 3: callfunc "Func_Socket",2,1168,1171,40,61,800,984,5,999,10; break; - case 4: callfunc "Func_Socket",2,1129,1149,40,61,500,984,2,999,10; break; - case 5: callfunc "Func_Socket",2,1261,1266,40,61,700,984,5,999,10; break; - case 6: callfunc "Func_Socket",2,1722,1727,40,61,500,984,5,999,10; break; - case 7: callfunc "Func_Socket",2,1522,1532,40,61,500,984,2,999,10; break; - case 8: callfunc "Func_Socket",2,1814,1816,40,61,500,984,5,999,10; break; - case 9: callfunc "Func_Socket",2,1163,1172,40,61,500,984,5,999,10; break; - case 10: callfunc "Func_Socket",1,13001,13030,40,61,500,984,2; break; - case 11: callfunc "Func_Socket",1,1256,1275,40,61,500,984,2; break; - case 12: callfunc "Func_Socket",1,1257,1276,40,61,500,984,2; break; - case 13: callfunc "Func_Socket",1,1258,1277,40,61,500,984,2; break; - case 14: callfunc "Func_Socket",1,1259,1278,40,61,500,984,2; break; - case 15: callfunc "Func_Socket",1,1524,1539,40,61,500,984,2; break; - case 16: callfunc "Func_Socket",1,1918,1922,40,61,500,984,2; break; - case 17: callfunc "Func_Socket",1,1970,1976,40,61,500,984,2; break; - case 18: callfunc "Func_Socket",1,1477,1479,40,61,500,984,2; break; - case 19: callfunc "Func_Socket",1,1474,1480,40,61,500,984,2; break; - case 20: callfunc "Func_Socket",1,1167,1178,40,61,500,984,2; break; + case 1: callfunc "Func_Socket",1718,1726,40,61,500,984,2,999,10; + case 2: callfunc "Func_Socket",1619,1620,40,61,500,984,5,999,10; + case 3: callfunc "Func_Socket",1168,1171,40,61,800,984,5,999,10; + case 4: callfunc "Func_Socket",1129,1149,40,61,500,984,2,999,10; + case 5: callfunc "Func_Socket",1261,1266,40,61,700,984,5,999,10; + case 6: callfunc "Func_Socket",1722,1727,40,61,500,984,5,999,10; + case 7: callfunc "Func_Socket",1522,1532,40,61,500,984,2,999,10; + case 8: callfunc "Func_Socket",1814,1816,40,61,500,984,5,999,10; + case 9: callfunc "Func_Socket",1163,1172,40,61,500,984,2,999,10; // NPC says "5 Oridecon" (Aegis) but takes only 2 } - break; - case 4: mes "[Seiyablem]"; mes "Whoa, whoa, whoa..."; @@ -125,28 +110,18 @@ payon,140,151,5 script Seiyablem 84,{ mes "It'd be a near miracle if I can actually pull this off."; mes "Okay... Which weapon shall we try adding a Slot to?"; next; - 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" ) ) + switch(select("Gungnir:Poison Knife:Ice Pick:Sucsamad:Ginnungagap:Cutlas:Crescent Scythe:Survivor's Rod(DEX)")) { - case 1: callfunc "Func_Socket",2,1413,1418,40,51,1000,984,5,999,10; break; - case 2: callfunc "Func_Socket",2,1239,13016,40,51,1000,984,5,999,10; break; - case 3: callfunc "Func_Socket",2,1230,13017,40,51,2000,984,5,999,10; break; - case 4: callfunc "Func_Socket",2,1236,13018,40,51,1000,984,5,999,10; break; - case 5: callfunc "Func_Socket",2,13002,13019,40,51,1000,984,5,999,10; break; - case 6: callfunc "Func_Socket",2,1135,13400,40,51,1000,984,5,999,10; break; - case 7: callfunc "Func_Socket",2,1466,1476,40,51,1000,984,5,999,10; break; - case 8: callfunc "Func_Socket",2,1617,1618,40,51,2000,984,5,999,10; break; - case 9: callfunc "Func_Socket",2,1468,1481,40,51,1000,984,5,999,10; break; - case 10: callfunc "Func_Socket",2,1225,13032,40,51,1000,984,5,999,10; break; - case 11: callfunc "Func_Socket",2,1166,1180,40,51,1000,984,5,999,10; break; - case 12: callfunc "Func_Socket",2,1224,13031,40,51,1000,984,5,999,10; break; - case 13: callfunc "Func_Socket",2,1232,13033,40,51,1000,984,5,999,10; break; - case 14: callfunc "Func_Socket",2,1528,1540,40,51,1000,984,5,999,10; break; - case 15: callfunc "Func_Socket",2,1169,1179,40,51,1000,984,5,999,10; break; + case 1: callfunc "Func_Socket", 1413, 1418,40,51,1000,984,5,999,10; + case 2: callfunc "Func_Socket", 1239,13016,40,51,1000,984,5,999,10; + case 3: callfunc "Func_Socket", 1230,13017,40,51,2000,984,5,999,10; + case 4: callfunc "Func_Socket", 1236,13018,40,51,1000,984,5,999,10; + case 5: callfunc "Func_Socket",13002,13019,40,51,1000,984,5,999,10; + case 6: callfunc "Func_Socket", 1135,13400,40,51,1000,984,5,999,10; + case 7: callfunc "Func_Socket", 1466, 1476,40,51,1000,984,5,999,10; + case 8: callfunc "Func_Socket", 1617, 1618,40,51,2000,984,5,999,10; } - break; } - break; - case 2: mes "[Seiyablem]"; mes "Armor, you said?"; @@ -154,9 +129,8 @@ payon,140,151,5 script Seiyablem 84,{ mes "Armor is divided into 4 different classes, depending on the work difficulty."; mes "C Class is the easiest one, and S Class he hardest one."; mes "Which class would you like to try?"; - set @sockettype,2; next; - switch( select( "C Class","B Class","A Class","S Class" ) ) + switch(select("C Class:B Class:A Class:S Class")) { case 1: mes "[Seiyablem]"; @@ -164,102 +138,80 @@ payon,140,151,5 script Seiyablem 84,{ mes "Sounds reasonable."; mes "Which armor would you like to try adding a Slot?"; next; - switch( select( "Mantle","Coat","Circlet","Biretta","Sunflower","Ph.D Hat","Big Ribbon","Boys Cap" ) ) + switch(select("Mantle:Coat:Circlet:Biretta")) { - case 1: callfunc "Func_Socket",1,2307,2308,40,66,200,999,3; break; - case 2: callfunc "Func_Socket",1,2309,2310,40,66,200,999,3; break; - case 3: callfunc "Func_Socket",1,2232,2233,40,66,200,999,3; break; - case 4: callfunc "Func_Socket",1,2216,2217,40,66,200,999,3; break; - case 5: callfunc "Func_Socket",1,2253,5351,40,66,100,999,3; break; - case 6: callfunc "Func_Socket",1,5012,5347,40,66,200,999,3; break; - case 7: callfunc "Func_Socket",1,2244,5348,40,66,200,999,5; break; - case 8: callfunc "Func_Socket",1,5016,5349,40,66,200,999,5; break; + case 1: callfunc "Func_Socket",2307,2308,40,66,200,999,3; + case 2: callfunc "Func_Socket",2309,2310,40,66,200,999,3; + case 3: callfunc "Func_Socket",2232,2233,40,66,200,999,3; + case 4: callfunc "Func_Socket",2216,2217,40,66,200,999,3; } - break; - case 2: mes "[Seiyablem]"; mes "You have chosen average B Class."; mes "So, what kind of armor do you have?"; next; - switch( select( "Mirror Shield","Chain Mail","Saint Robe","Silk Robe","Boots","Shoes","Muffler","Guard","Buckler","Shield","Bongun Hat","Skull Ring","High Heels" ) ) + switch(select("Mirror Shield:Chain Mail:Saint Robe:Silk Robe:Boots:Shoes:Muffler:Guard:Buckler:Shield:Bongun Hat")) { - case 1: callfunc "Func_Socket",1,2107,2108,40,61,250,999,5; break; - case 2: callfunc "Func_Socket",1,2314,2315,40,61,250,999,5; break; - case 3: callfunc "Func_Socket",1,2325,2326,40,61,300,999,5; break; - case 4: callfunc "Func_Socket",1,2321,2322,40,61,300,999,5; break; - case 5: callfunc "Func_Socket",1,2405,2406,40,61,300,999,5; break; - case 6: callfunc "Func_Socket",1,2403,2404,40,61,300,999,5; break; - case 7: callfunc "Func_Socket",1,2503,2504,40,61,300,999,5; break; - case 8: callfunc "Func_Socket",1,2101,2102,40,61,300,999,5; break; - case 9: callfunc "Func_Socket",1,2103,2104,40,61,300,999,5; break; - case 10: callfunc "Func_Socket",1,2105,2106,40,61,250,999,5; break; - case 11: callfunc "Func_Socket",1,5046,5168,40,61,250,999,5; break; - case 12: callfunc "Func_Socket",1,2609,2715,40,61,300,999,5; break; - case 13: callfunc "Func_Socket",1,2409,2432,40,61,300,999,5; break; + case 1: callfunc "Func_Socket",2107,2108,40,61,250,999,5; + case 2: callfunc "Func_Socket",2314,2315,40,61,250,999,5; + case 3: callfunc "Func_Socket",2325,2326,40,61,300,999,5; + case 4: callfunc "Func_Socket",2321,2322,40,61,300,999,5; + case 5: callfunc "Func_Socket",2405,2406,40,61,300,999,5; + case 6: callfunc "Func_Socket",2403,2404,40,61,300,999,5; + case 7: callfunc "Func_Socket",2503,2504,40,61,300,999,5; + case 8: callfunc "Func_Socket",2101,2102,40,61,300,999,5; + case 9: callfunc "Func_Socket",2103,2104,40,61,300,999,5; + case 10: callfunc "Func_Socket",2105,2106,40,61,250,999,5; + case 11: callfunc "Func_Socket",5046,5168,40,61,250,999,5; } - break; - case 3: mes "[Seiyablem]"; mes "Ooh, A Class."; mes "This is some high risk territory!"; mes "Alright, which armor would you like me to try adding a Slot?"; next; - 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" ) ) + 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")) { - case 1: callfunc "Func_Socket",1,2230,2231,40,61,400,985,1; break; - case 2: callfunc "Func_Socket",1,5114,5120,40,61,400,985,1; break; - case 3: callfunc "Func_Socket",1,2109,2121,40,61,400,985,1; break; - case 4: callfunc "Func_Socket",1,2330,2331,40,61,400,985,1; break; - case 5: callfunc "Func_Socket",1,2341,2342,40,61,400,985,1; break; - case 6: callfunc "Func_Socket",1,2316,2317,40,61,400,985,1; break; - case 7: callfunc "Func_Socket",1,2335,2336,40,61,400,985,1; break; - case 8: callfunc "Func_Socket",1,2411,2412,40,61,400,985,1; break; - case 9: callfunc "Func_Socket",1,5092,5093,40,61,400,985,1; break; - case 10: callfunc "Func_Socket",1,2505,2506,40,61,400,985,1; break; - case 11: callfunc "Func_Socket",1,2228,2229,40,61,400,985,1; break; - case 12: callfunc "Func_Socket",1,2337,2359,40,61,400,985,1; break; - case 13: callfunc "Func_Socket",1,2299,5157,40,61,400,985,1; break; - case 14: callfunc "Func_Socket",1,2507,2525,40,61,400,985,1; break; - case 15: callfunc "Func_Socket",1,2251,5158,40,61,400,985,1; break; - case 16: callfunc "Func_Socket",1,2246,5159,40,61,400,985,1; break; - case 17: callfunc "Func_Socket",1,2605,2625,40,61,400,985,1; break; - case 18: callfunc "Func_Socket",1,2264,5167,40,61,300,985,1; break; - case 19: callfunc "Func_Socket",1,2287,5350,40,61,500,985,1; break; - case 20: callfunc "Func_Socket",1,2425,2434,40,61,500,985,1; break; + case 1: callfunc "Func_Socket",2230,2231,40,61,400,985,1; + case 2: callfunc "Func_Socket",5114,5120,40,61,400,985,1; + case 3: callfunc "Func_Socket",2109,2121,40,61,400,985,1; + case 4: callfunc "Func_Socket",2330,2331,40,61,400,985,1; + case 5: callfunc "Func_Socket",2341,2342,40,61,400,985,1; + case 6: callfunc "Func_Socket",2316,2317,40,61,400,985,1; + case 7: callfunc "Func_Socket",2335,2336,40,61,400,985,1; + case 8: callfunc "Func_Socket",2411,2412,40,61,400,985,1; + case 9: callfunc "Func_Socket",5092,5093,40,61,400,985,1; + case 10: callfunc "Func_Socket",2505,2506,40,61,400,985,1; + case 11: callfunc "Func_Socket",2228,2229,40,61,400,985,1; + case 12: callfunc "Func_Socket",2337,2359,40,61,400,985,1; + case 13: callfunc "Func_Socket",2299,5157,40,61,400,985,1; + case 14: callfunc "Func_Socket",2507,2525,40,61,400,985,1; + case 15: callfunc "Func_Socket",2251,5158,40,61,400,985,1; + case 16: callfunc "Func_Socket",2246,5159,40,61,400,985,1; + case 17: callfunc "Func_Socket",2605,2625,40,61,400,985,1; + case 18: callfunc "Func_Socket",2264,5167,40,61,300,985,1; } - break; - case 4: mes "[Seiyablem]"; mes "Um... S Class?"; mes "You sure about this?"; - 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."; + mes "Alright... Let me know the Armor to which you'd like to add a Sot, and I'll tell what I need to try it."; next; - 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" ) ) + switch(select("Majestic Goat:Spiky Band:Bone Helm:Corsair:Crown:Tiara:Sphinx Hat:Robe of Cast:Earring:Ring:Bow Thimble")) { - case 1: callfunc "Func_Socket",1,2256,5160,40,51,2000,985,2; break; - case 2: callfunc "Func_Socket",1,2258,5161,40,51,2000,985,2; break; - case 3: callfunc "Func_Socket",1,5017,5162,40,51,2000,985,2; break; - case 4: callfunc "Func_Socket",1,5019,5163,40,51,2000,985,2; break; - case 5: callfunc "Func_Socket",1,2235,5165,40,51,2000,985,2; break; - case 6: callfunc "Func_Socket",1,2234,5164,40,51,2000,985,2; break; - case 7: callfunc "Func_Socket",1,5053,5166,40,51,2000,985,2; break; - case 8: callfunc "Func_Socket",1,2343,2360,40,51,2000,985,2; break; - case 9: callfunc "Func_Socket",1,2602,2622,40,51,2000,985,2; break; - case 10: callfunc "Func_Socket",1,2601,2621,40,51,2000,985,2; break; - case 11: callfunc "Func_Socket",1,2619,2671,40,51,2000,985,2; break; - case 12: callfunc "Func_Socket",1,2334,2372,40,51,1000,985,1; break; - case 13: callfunc "Func_Socket",1,2327,2373,40,51,1000,985,1; break; - case 14: callfunc "Func_Socket",1,2111,2128,40,51,1000,985,1; break; - case 15: callfunc "Func_Socket",1,2522,2523,40,51,1000,985,1; break; - case 16: callfunc "Func_Socket",1,2339,2371,40,51,1000,985,1; break; + case 1: callfunc "Func_Socket",2256,5160,40,51,2000,985,2; + case 2: callfunc "Func_Socket",2258,5161,40,51,2000,985,2; + case 3: callfunc "Func_Socket",5017,5162,40,51,2000,985,2; + case 4: callfunc "Func_Socket",5019,5163,40,51,2000,985,2; + case 5: callfunc "Func_Socket",2235,5165,40,51,2000,985,2; + case 6: callfunc "Func_Socket",2234,5164,40,51,2000,985,2; + case 7: callfunc "Func_Socket",5053,5166,40,51,1000,985,2; + case 8: callfunc "Func_Socket",2343,2360,40,51,1000,985,2; + case 9: callfunc "Func_Socket",2602,2622,40,51,1000,985,2; + case 10: callfunc "Func_Socket",2601,2621,40,51,1000,985,2; + case 11: callfunc "Func_Socket",2619,2671,40,51,1000,985,2; } - break; } - break; - case 3: mes "[Seiyablem]"; mes "Well, I haven't really refined the art of Slot Addition."; @@ -272,7 +224,7 @@ payon,140,151,5 script Seiyablem 84,{ mes "isn't that really peculiar?"; next; mes "[Seiyablem]"; - mes "Oh, theres also something really important that you should know."; + mes "Oh, there's also something really important that you should know."; mes "If you ask me to add a Slot to something, make sure that you don't have multiples of it in your inventory."; next; mes "[Seiyablem]"; @@ -283,7 +235,6 @@ payon,140,151,5 script Seiyablem 84,{ mes "Again, ^FF0000only carry one of the equipment to wich you want me to add a Slot^000000."; mes "All other equipment with the same name should be placed in your Kafra Storage, got it?"; close; - case 4: mes "[Seiyablem]"; mes "Take it easy, adventurer."; @@ -292,127 +243,101 @@ payon,140,151,5 script Seiyablem 84,{ close; } } - + function script Func_Socket { mes "[Seiyablem]"; - mes "You want to add a Slot to a " +getitemname(getarg(1))+ "?"; - if (getarg(0) == 1) - { - 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."; - else mes "Alright, please bring me ^FF0000" +getarg(7)+ " " +getitemname(getarg(6))+ "s^000000, and my^FF0000 " +getarg(5)+",000 zeny^000000 service fee."; - } - else if (getarg(0) == 2) - { - 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."; - 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."; - } - mes "Ah, and don't forget to bring that " +getitemname(getarg(1))+ "!"; + mes "You want to add a Slot to a " + getitemname(getarg(0)) + "?"; + mes "Alright, please bring me ^FF0000" + getarg(6) + " " + getitemname(getarg(5)) + (getarg(6) > 1 && getarg(5) != 999 ? "s":"") + "^000000, " + (getarg(7,0) != 0 && getarg(8,0) != 0 ? ("^FF0000" + getarg(8,0) + " " + getitemname(getarg(7,0)) + (getarg(8,0) > 1 && getarg(7,0) != 999 ? "s":"") + "^000000 ") : "") + "and my ^FF0000" + (getarg(4) >= 1000 ? (getarg(4)/1000 + ",000") : getarg(4)) + ",000 zeny^000000 service fee."; + mes "Ah, and don't forget to bring that " + getitemname(getarg(0)) + "!"; next; - - if(@sockettype == 1) + mes "[Seiyablem]"; + if (getiteminfo(getarg(0),5)&2) // EQP_HAND_R = 2, it's a weapon { - mes "[Seiyablem]"; mes "I can try to add a slot now if you have the required items and zeny."; mes "However, you should know that there's a chance that I might fail."; mes "Therefore, I need to give you a fair warning..."; next; mes "[Seiyablem]"; 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."; - mes "Do you still want to try to add a Slot?"; - next; } - else if(@sockettype == 2) + else // armor { - mes "[Seiyablem]"; 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."; mes "But before that, I must warn you of the risk."; next; mes "[Seiyablem]"; 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."; - mes "Do you still want to try to add a Slot?"; - next; - } - - if ( select("Attempt Slot Addition","Cancel") == 2 ) - { - mes "[Seiyablem]"; - mes "Need some time to think about it, huh?"; - mes "Alright, I can understand."; - mes "Just remember that life's no fun if you're always playing it safe~"; - close; } - - mes "[Seiyablem]"; - mes "Alright then, let the work begin!"; - mes "You'd better pray for a successful result."; + mes "Do you still want to try to add a Slot?"; next; - switch(getarg(0)) + switch(select("Attempt Slot Addition:Cancel")) { case 1: - if((Zeny < getarg(5)*1000) || (countitem(getarg(6)) < getarg(7)) || (!countitem(getarg(1)))) + if ((Zeny >= getarg(4)*1000) && (countitem(getarg(5)) >= getarg(6)) && (countitem(getarg(7,512)) >= getarg(8,0)) && (countitem(getarg(0)) > 0)) // if there's no getarg(7) and getarg(8) provided, check itemcount against 0 (we still need a valid item ID though) { mes "[Seiyablem]"; - mes "I'd like to go ahead with this Slot Addition attempt, but you're missing a few things."; - mes "You sure that you have the equipment, required materials and the zeny?"; - close; + mes "Alright then, let the work begin!"; + mes "You'd better pray for a successful result."; + next; + set .@a, rand(1,100); + if ((.@a > getarg(2)) && (.@a < getarg(3))) + { + specialeffect getarg(3) == 51 ? EF_LORD : EF_SANCTUARY; // only S Class items have Lord of Vermillion effect + mes "[Seiyablem]"; + mes "Great, it seems to be successful."; + mes "It looks pretty well done. Congratulations!"; + delitem getarg(0),1; + delitem getarg(5),getarg(6); + if (getarg(7,0) != 0 && getarg(8,0) != 0) + delitem getarg(7),getarg(8); + set Zeny, Zeny - getarg(4)*1000; + getitem getarg(1),1; + next; + mes "[Seiyablem]"; + mes "See you again, buddy!"; + close; + } + else + { + specialeffect EF_SUI_EXPLOSION; + mes "[Seiyablem]"; + mes "Wah! ...I am so sorry, it failed."; + mes "However, I am completely innocent."; + mes "This is your luck, and it is destined by god, okay?"; + mes "Don't be so disappointed, and try next time."; + delitem getarg(0),1; + delitem getarg(5),getarg(6); + if (getarg(7,0) != 0 && getarg(8,0) != 0) + delitem getarg(7),getarg(8); + set Zeny, Zeny - getarg(4)*1000; + next; + mes "[Seiyablem]"; + mes "I wish you good luck next time!"; + close; + } } - break; - - case 2: - if((Zeny < getarg(5)*1000) || (countitem(getarg(6)) < getarg(7)) || (countitem(getarg(8)) < getarg(9)) || (!countitem(getarg(1)))) + else { mes "[Seiyablem]"; mes "I'd like to go ahead with this Slot Addition attempt, but you're missing a few things."; mes "You sure that you have the equipment, required materials and the zeny?"; close; } - break; - } - - set .@socketrand,rand(1,100); - if((.@socketrand > getarg(3)) && (.@socketrand < getarg(4))) - { - if(getarg(4) == 51) specialeffect EF_LORD; - else specialeffect EF_SANCTUARY; - mes "[Seiyablem]"; - mes "Great, it seems to be successful."; - mes "It looks pretty well done. Congratulations!"; - delitem getarg(1),1; - delitem getarg(6),getarg(7); - if(getarg(0) == 2) delitem getarg(8),getarg(9); - set Zeny,Zeny - getarg(5)*1000; - getitem getarg(2),1; - next; - mes "[Seiyablem]"; - mes "See you again, buddy!"; - close; - } - else - { - specialeffect EF_FREEZING; - mes "[Seiyablem]"; - mes "Wah! ...I am so sorry, it failed."; - mes "However, I am completely innocent."; - mes "This is your luck, and it is destined by god, okay?"; - mes "Don't be so disappointed, and try next time."; - delitem getarg(1),1; - delitem getarg(6),getarg(7); - if(getarg(0) == 2) delitem getarg(8),getarg(9); - set Zeny,Zeny - getarg(5)*1000; - next; - mes "[Seiyablem]"; - mes "I wish you good luck next time!"; - close; + case 2: + mes "[Seiyablem]"; + mes "Need some time to think about it, huh?"; + mes "Alright, I can understand."; + mes "Just remember that life's no fun if you're always playing it safe~"; + close; } } -lhz_in02,281,35,5 duplicate(Seiyablem) Seiyablem#lhz 84 -prt_in,33,70,5 duplicate(Seiyablem) Seiyablem#prt 84 -morocc,51,41,5 duplicate(Seiyablem) Seiyablem#moc 84 - -payon,143,143,7 script Young Man#socket 97,{ +lhz_in02,281,35,5 duplicate(Seiyablem#pay) Seiyablem#lhz 84 +prt_in,33,70,5 duplicate(Seiyablem#pay) Seiyablem#prt 84 +morocc,51,41,4 duplicate(Seiyablem#pay) Seiyablem#moc 84 +prt_in,31,57,1 script Young Man#prt 97,{ mes "[Young Man]"; mes "I'm considering becoming a Slotting Engineer."; 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."; @@ -429,6 +354,6 @@ payon,143,143,7 script Young Man#socket 97,{ close; } -lhz_in02,269,33,5 duplicate(Young Man#socket) Young Man#lhz 97 -prt_in,31,57,1 duplicate(Young Man#socket) Young Man#prt 97 -morocc,60,42,3 duplicate(Young Man#socket) Young Man#moc 97 +payon,143,143,7 duplicate(Young Man#prt) Young Man#pay 97 +morocc,60,42,3 duplicate(Young Man#prt) Young Man#moc 97 +lhz_in02,269,33,5 duplicate(Young Man#prt) Young Man#lhz 97 |