diff options
-rw-r--r-- | npc/Changelog.txt | 1 | ||||
-rw-r--r-- | npc/merchants/socket_enchant.txt | 1315 |
2 files changed, 494 insertions, 822 deletions
diff --git a/npc/Changelog.txt b/npc/Changelog.txt index 4a0a5c117..9d1bd60f0 100644 --- a/npc/Changelog.txt +++ b/npc/Changelog.txt @@ -1,6 +1,7 @@ Date Added ====== 2007/05/22 + * Updated Socket Enchant NPC to official. [SinSloth] * Moved Munak's Grandma quest to monstertamers.txt, it didn't require another file. [SinSloth] - Deleted munak_quest.txt - Updated .conf file due to those changes. diff --git a/npc/merchants/socket_enchant.txt b/npc/merchants/socket_enchant.txt index 34fb5d9bf..4404e6f70 100644 --- a/npc/merchants/socket_enchant.txt +++ b/npc/merchants/socket_enchant.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Sousuke_PL //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= @@ -15,831 +15,502 @@ //= 0.2 Added missing next;'s [Evera] //= 0.3 Fixed Zweihander[+] id [Lupus] //= 1.0 Fixed ingredients check [Lupus] +//= 1.1 Updated to official. [SinSloth] //============================================================ - -lhz_in02,281,35,5 script Socket Enchant 84,{ - - mes "[Socket Enchant]"; - mes "Hello."; - mes "How can I help you?"; - next; - menu "Upgrade my item",-,"Nothing",L_Not; - - mes "[Socket Enchant]"; - mes "This is weapon or armor?"; - next; - menu "Weapon",L_Weapon1,"Armor",L_Armor1; - - -//============================================================ -//= Weapon -//============================================================ - - L_WaepJump: - mes "[Socket Enchant]"; - mes "Choose the number of page. Type 1 to 5:"; - next; - input @weapsite; - if(@weapsite > 5 || @weapsite < 1) goto L_WaepJump; - - if(@weapsite == 1) goto L_Weapon1; - if(@weapsite == 2) goto L_Weapon2; - if(@weapsite == 3) goto L_Weapon3; - if(@weapsite == 4) goto L_Weapon4; - if(@weapsite == 5) goto L_Weapon5; - - - L_Weapon1: - - close2; - mes "[Socket Enchant]"; - mes "Please choose your item:"; - next; - menu "Trident[2]",Trident,"Rope[3]",Rope,"Violin[3]",Violin,"Chain[2]",Chain,"Gladius[2]",Gladius,"Gakkung Bow[1]",Gakkung_Bow,"Next",L_Weapon2,"Jump to page...",L_WaepJump; - - L_Weapon2: - - close2; - mes "[Socket Enchant]"; - mes "Please choose your item:"; - next; - menu "Pike[3]",Pike,"Haedonggum[1]",Haedonggum,"Lute[2]",Lute,"Wire Whip[2]",Wire_Whip,"Waghnak[3]",Waghnak,"Arbalest[1]",Arbalest,"Next",L_Weapon3,"Jump to page...",L_WaepJump; - - L_Weapon3: - - close2; - mes "[Socket Enchant]"; - mes "Please choose your item:"; - next; - menu "Hunter Bow",Hunter_Bow,"(Int) Survivor's Rod",Int_Survivors_Rod,"Zweihander",Zweihander,"Flamberge",Flamberge,"Infiltrator",Infiltrator,"Ballista",Ballista,"Next",L_Weapon4,"Jump to page...",L_WaepJump; - - L_Weapon4: - - close2; - mes "[Socket Enchant]"; - mes "Please choose your item:"; - next; - menu "Stunner",Stunner,"Berserk",Berserk,"Claymore",Claymore,"Gungnir",Gungnir,"Poison Knife",Poison_Knife,"Sucsamad",Sucsamad,"Next",L_Weapon5,"Jump to page...",L_WaepJump; - - L_Weapon5: - - close2; - mes "[Socket Enchant]"; - mes "Please choose your item:"; - next; - menu "Ginnungagap",Ginnungagap,"Cutlus",Cutlus,"Crescent Scythe",Crescent_Scythe,"Ice Pick",Ice_Pick,"(Dex) Survivor's Rod",Dex_Survivors_Rod,"Next",L_Weapon1,"Jump to page...",L_WaepJump; - - - Trident: - set @olditem,1460; - set @newitem,1461; - callfunc "f_weapon_c"; - - Rope: - set @olditem,1950; - set @newitem,1951; - callfunc "f_weapon_c"; - - Violin: - set @olditem,1901; - set @newitem,1902; - callfunc "f_weapon_c"; - - Chain: - set @olditem,1519; - set @newitem,1520; - callfunc "f_weapon_b"; - - Gladius: - set @olditem,1219; - set @newitem,1220; - callfunc "f_weapon_b"; - - Gakkung_Bow: - set @olditem,1714; - set @newitem,1716; - callfunc "f_weapon_b"; - - Pike: - set @olditem,1407; - set @newitem,1408; - callfunc "f_weapon_b"; - - Haedonggum: - set @olditem,1123; - set @newitem,1128; - callfunc "f_weapon_b"; - - Lute: - set @olditem,1905; - set @newitem,1906; - callfunc "f_weapon_b"; - - Wire_Whip: - set @olditem,1954; - set @newitem,1955; - callfunc "f_weapon_b"; - - Waghnak: - set @olditem,1801; - set @newitem,1802; - callfunc "f_weapon_b"; - - Arbalest: - set @olditem,1713; - set @newitem,1715; - callfunc "f_weapon_b"; - - Hunter_Bow: - set @olditem,1718; - set @newitem,1726; - callfunc "f_weapon_a"; - - Int_Survivors_Rod: - set @olditem,1619; - set @newitem,1620; - callfunc "f_weapon_a"; - - Zweihander: - set @olditem,1168; - set @newitem,1171; - callfunc "f_weapon_a3"; - - Flamberge: - set @olditem,1129; - set @newitem,1149; - callfunc "f_weapon_a"; - - Infiltrator: - set @olditem,1261; - set @newitem,1266; - callfunc "f_weapon_a2"; - - Ballista: - set @olditem,1722; - set @newitem,1727; - callfunc "f_weapon_a"; - - Stunner: - set @olditem,1522; - set @newitem,1532; - callfunc "f_weapon_a"; - - Berserk: - set @olditem,1814; - set @newitem,1816; - callfunc "f_weapon_a"; - - Claymore: - set @olditem,1163; - set @newitem,1172; - callfunc "f_weapon_a"; - - Gungnir: - set @olditem,1413; - set @newitem,1418; - callfunc "f_weapon_s"; - - Poison_Knife: - set @olditem,1239; - set @newitem,13016; - callfunc "f_weapon_s"; - - Sucsamad: - set @olditem,1236; - set @newitem,13018; - callfunc "f_weapon_s"; - - Ginnungagap: - set @olditem,13002; - set @newitem,13019; - callfunc "f_weapon_s"; - - Cutlus: - set @olditem,1135; - set @newitem,13400; - callfunc "f_weapon_s"; - - Crescent_Scythe: - set @olditem,1466; - set @newitem,1476; - callfunc "f_weapon_s"; - - Ice_Pick: - set @olditem,1230; - set @newitem,13017; - callfunc "f_weapon_s2"; - - Dex_Survivors_Rod: - set @olditem,1617; - set @newitem,1618; - callfunc "f_weapon_s2"; - - - -//============================================================ -//= Armor -//============================================================ - - L_ArmorJump: - mes "[Socket Enchant]"; - mes "Choose the number of page. Type 1 to 6:"; - next; - input @armorsite; - if(@armorsite > 6 || @armorsite < 1) goto L_ArmorJump; - - if(@armorsite == 1) goto L_Armor1; - if(@armorsite == 2) goto L_Armor2; - if(@armorsite == 3) goto L_Armor3; - if(@armorsite == 4) goto L_Armor4; - if(@armorsite == 5) goto L_Armor5; - if(@armorsite == 6) goto L_Armor6; - - - L_Armor1: - - close2; - mes "[Socket Enchant]"; - mes "Please choose your item:"; - next; - menu "Mantle",Mantle,"Coat",Coat,"Circlet",Circlet,"Biretta",Biretta,"Mirror Shield",Mirror_Shield,"Chain Mail",Chain_Mail,"Shield",Shield,"Bongun Hat",Bongun_Hat,"Next",L_Armor2,"Jump to page...",L_ArmorJump; - - L_Armor2: - - close2; - mes "[Socket Enchant]"; - mes "Please choose your item:"; - next; - menu "Saint's Robe",Saints_Robe,"Silk Robe",Silk_Robe,"Boots",Boots,"Shoes",Shoes,"Muffler",Muffler,"Guard",Guard,"Buckler",Buckler,"Munak Hat",Munak_Hat,"Next",L_Armor3,"Jump to page...",L_ArmorJump; - - L_Armor3: - - close2; - mes "[Socket Enchant]"; - mes "Please choose your item:"; - next; - menu "Gemmed Sallet",Gemmed_Sallet,"Bucket Hat",Bucket_Hat,"Memory Book",Memory_Book,"Tights",Tights,"Legion Plate Armor",Legion_Plate_Armor,"Full Plate",Full_Plate,"Thief Clothes",Thief_Clothes,"Next",L_Armor4,"Jump to page...",L_ArmorJump; - - L_Armor4: - - close2; - mes "[Socket Enchant]"; - mes "Please choose your item:"; - next; - menu "Greaves",Greaves,"Coif",Coif,"Manteau",Manteau,"Helm",Helm,"Ninja Suit",Ninja_Suit,"Orc Helm",Orc_Helm,"Ancient Cape",Ancient_Cape,"Next",L_Armor5,"Jump to page...",L_ArmorJump; - - L_Armor5: - - close2; - mes "[Socket Enchant]"; - mes "Please choose your item:"; - next; - menu "Monk Hat",Monk_Hat,"Golden Gear",Golden_Gear,"Brooch",Brooch,"Tiara",Tiara,"Sphinx Hat",Sphinx_Hat,"Robe of Cast",Robe_of_Cast,"Earring",Earring,"Next",L_Armor6,"Jump to page...",L_ArmorJump; - - L_Armor6: - - close2; - mes "[Socket Enchant]"; - mes "Please choose your item:"; - next; - menu "Ring",Ring,"Bow Thimble",Bow_Thimble,"Majestic Goat",Majestic_Goat,"Spiky Band",Spiky_Band,"Bone Helm",Bone_Helm,"Corsair",Corsair,"Crown",Crown,"Next",L_Armor1,"Jump to page...",L_ArmorJump; - - - Mantle: - set @olditem,2307; - set @newitem,2308; - callfunc "f_armor_c"; - - Coat: - set @olditem,2309; - set @newitem,2310; - callfunc "f_armor_c"; - - Circlet: - set @olditem,2232; - set @newitem,2233; - callfunc "f_armor_c"; - - Biretta: - set @olditem,2216; - set @newitem,2217; - callfunc "f_armor_c"; - - Mirror_Shield: - set @olditem,2107; - set @newitem,2108; - callfunc "f_armor_b"; - - Chain_Mail: - set @olditem,2314; - set @newitem,2315; - callfunc "f_armor_b"; - - Shield: - set @olditem,2105; - set @newitem,2106; - callfunc "f_armor_b"; - - Bongun_Hat: - set @olditem,5046; - set @newitem,5168; - callfunc "f_armor_b"; - - Saints_Robe: - set @olditem,2325; - set @newitem,2326; - callfunc "f_armor_b2"; - - Silk_Robe: - set @olditem,2321; - set @newitem,2322; - callfunc "f_armor_b2"; - - Boots: - set @olditem,2405; - set @newitem,2406; - callfunc "f_armor_b2"; - - Shoes: - set @olditem,2403; - set @newitem,2404; - callfunc "f_armor_b2"; - - Muffler: - set @olditem,2503; - set @newitem,2504; - callfunc "f_armor_b2"; - - Guard: - set @olditem,2101; - set @newitem,2102; - callfunc "f_armor_b2"; - - Buckler: - set @olditem,2103; - set @newitem,2104; - callfunc "f_armor_b2"; - - Munak_Hat: - set @olditem,2264; - set @newitem,5167; - callfunc "f_armor_a"; - - Gemmed_Sallet: - set @olditem,2230; - set @newitem,2231; - callfunc "f_armor_a2"; - - Bucket_Hat: - set @olditem,5114; - set @newitem,5120; - callfunc "f_armor_a2"; - - Memory_Book: - set @olditem,2109; - set @newitem,2121; - callfunc "f_armor_a2"; - - Tights: - set @olditem,2330; - set @newitem,2331; - callfunc "f_armor_a2"; - - Legion_Plate_Armor: - set @olditem,2341; - set @newitem,2342; - callfunc "f_armor_a2"; - - Full_Plate: - set @olditem,2316; - set @newitem,2317; - callfunc "f_armor_a2"; - - Thief_Clothes: - set @olditem,2335; - set @newitem,2336; - callfunc "f_armor_a2"; - - Greaves: - set @olditem,2411; - set @newitem,2412; - callfunc "f_armor_a2"; - - Coif: - set @olditem,5092; - set @newitem,5093; - callfunc "f_armor_a2"; - - Manteau: - set @olditem,2505; - set @newitem,2506; - callfunc "f_armor_a2"; - - Helm: - set @olditem,2228; - set @newitem,2229; - callfunc "f_armor_a2"; - - Ninja_Suit: - set @olditem,2337; - set @newitem,2359; - callfunc "f_armor_a2"; - - Orc_Helm: - set @olditem,2299; - set @newitem,5157; - callfunc "f_armor_a2"; - - Ancient_Cape: - set @olditem,2507; - set @newitem,2525; - callfunc "f_armor_a2"; - - Monk_Hat: - set @olditem,2251; - set @newitem,5158; - callfunc "f_armor_a2"; - - Golden_Gear: - set @olditem,2246; - set @newitem,5159; - callfunc "f_armor_a2"; - - Brooch: - set @olditem,2605; - set @newitem,2625; - callfunc "f_armor_a2"; - - Tiara: - set @olditem,2234; - set @newitem,5164; - callfunc "f_armor_s2"; - - Sphinx_Hat: - set @olditem,5053; - set @newitem,5166; - callfunc "f_armor_s"; - - Robe_of_Cast: - set @olditem,2343; - set @newitem,2360; - callfunc "f_armor_s"; - - Earring: - set @olditem,2602; - set @newitem,2622; - callfunc "f_armor_s"; - - Ring: - set @olditem,2601; - set @newitem,2621; - callfunc "f_armor_s"; - - Bow_Thimble: - set @olditem,2619; - set @newitem,2671; - callfunc "f_armor_s"; - - Majestic_Goat: - set @olditem,2256; - set @newitem,5160; - callfunc "f_armor_s2"; - - Spiky_Band: - set @olditem,2258; - set @newitem,5161; - callfunc "f_armor_s2"; - - Bone_Helm: - set @olditem,5017; - set @newitem,5162; - callfunc "f_armor_s2"; - - Corsair: - set @olditem,5019; - set @newitem,5163; - callfunc "f_armor_s2"; - - Crown: - set @olditem,2235; - set @newitem,5165; - callfunc "f_armor_s2"; - -//============================================================ -//= Other -//============================================================ - - L_Not: - mes "[Socket Enchant]"; - mes "Bye~!"; - close; - -} - -//============================================================ -//= Functions add slots -//============================================================ - -function script addslot { - - mes "[Socket Enchant]"; - mes "Upgrade cost "+@addprice+" zeny and ^5533FF"+@itemupname$+"^000000."; - next; - mes "[Socket Enchant]"; - mes "Are you sure? Remember that it can fail."; - mes "Do you want to continue?"; - next; - menu "Yes",-,"No",L_No; - - - if(countitem(@olditem)<1) goto L_NoItem; - if(Zeny<@addprice) goto L_NoZeny; - if(countitem(@itemup)<@itemupiece) goto L_NoItemUp; - - delitem @itemup,@itemupiece; - set Zeny,Zeny-@addprice; - delitem @olditem,1; - if(@rateit<rand(1,100))goto L_Fail; - misceffect 83; - getitem @newitem,1; - - mes "[Socket Enchant]"; - mes "Ok, take your item, Bye."; - close; - - - L_NoItem: - mes "[Socket Enchant]"; - mes "You don't have this item."; - mes "Come back when you get it."; - close; - - L_NoItemUp: - mes "[Socket Enchant]"; - mes "You don't have all ingridients. Come back when you get it."; - close; - - L_NoZeny: - mes "[Socket Enchant]"; - mes "You don't have enough money. Come back later."; - close; - - L_Fail: - misceffect 183; - mes "[Socket Enchant]"; - mes "Sorry, but i could't upgrade it."; - close; - - L_No: - mes "[Socket Enchant]"; - mes "Ok, Bye."; - close; - -} - -//============================================================ - -function script addslot2 { - - mes "[Socket Enchant]"; - mes "Upgrade cost "+@addprice+" zeny and ^5533FF"+@itemupname1$+"^000000 and ^5533FF"+@itemupname2$+"^000000."; - next; - mes "[Socket Enchant]"; - mes "Are you sure? Remember that it can fail."; - mes "Do you want to continue?"; - next; - menu "Yes",-,"No",L_No; - - - if(countitem(@olditem)<1) goto L_NoItem; - if(Zeny<@addprice) goto L_NoZeny; - if(countitem(@itemup1)<@itemupiece1 || countitem(@itemup2)<@itemupiece2) goto L_NoItemUp; - - delitem @itemup1,@itemupiece1; - delitem @itemup2,@itemupiece2; - set Zeny,Zeny-@addprice; - delitem @olditem,1; - if(@rateit<rand(1,100))goto L_Fail; - misceffect 83; - getitem @newitem,1; - - mes "[Socket Enchant]"; - mes "Ok, take your item, Bye."; - close; - - - L_NoItem: - mes "[Socket Enchant]"; - mes "You don't have this item."; - mes "Come back when you get it."; - close; - - L_NoItemUp: - mes "[Socket Enchant]"; - mes "You don't have all ingridients. Come back when you get it."; - close; - - L_NoZeny: - mes "[Socket Enchant]"; - mes "You don't have enough money. Come back later."; - close; - - L_Fail: - misceffect 183; - mes "[Socket Enchant]"; - mes "Sorry, but i could't upgrade it."; - close; - - L_No: - mes "[Socket Enchant]"; - mes "Ok, Bye."; - close; - -} - - -//============================================================ -//= Functions -//============================================================ - -//= Weapon - -function script f_weapon_c { - - set @rateit,25; //success rate - set @addprice,200000; - set @itemup,1010; - set @itemupiece,10; - set @itemupname$,"10 Phracon"; - callfunc "addslot"; - -} - -function script f_weapon_b { - - set @rateit,20; //success rate - set @addprice,300000; - set @itemup1,984; - set @itemupiece1,2; - set @itemupname1$,"2 Oridecon"; - set @itemup2,999; - set @itemupiece2,5; - set @itemupname2$,"5 Steel"; - callfunc "addslot2"; - -} - -function script f_weapon_a { - - set @rateit,15; //success rate - set @addprice,500000; - set @itemup1,984; - set @itemupiece1,2; - set @itemupname1$,"2 Oridecon"; - set @itemup2,999; - set @itemupiece2,10; - set @itemupname2$,"10 Steel"; - callfunc "addslot2"; - -} - -function script f_weapon_a2 { - - set @rateit,15; //success rate - set @addprice,700000; - set @itemup1,984; - set @itemupiece1,2; - set @itemupname1$,"2 Oridecon"; - set @itemup2,999; - set @itemupiece2,10; - set @itemupname2$,"10 Steel"; - callfunc "addslot2"; - -} - -function script f_weapon_a3 { - - set @rateit,15; //success rate - set @addprice,800000; - set @itemup1,984; - set @itemupiece1,2; - set @itemupname1$,"2 Oridecon"; - set @itemup2,999; - set @itemupiece2,10; - set @itemupname2$,"10 Steel"; - callfunc "addslot2"; - -} - -function script f_weapon_s { - - set @rateit,10; //success rate - set @addprice,1000000; - set @itemup1,984; - set @itemupiece1,5; - set @itemupname1$,"5 Oridecon"; - set @itemup2,999; - set @itemupiece2,10; - set @itemupname2$,"10 Steel"; - callfunc "addslot2"; - -} - -function script f_weapon_s2 { - - set @rateit,10; //success rate - set @addprice,2000000; - set @itemup1,984; - set @itemupiece1,5; - set @itemupname1$,"5 Oridecon"; - set @itemup2,999; - set @itemupiece2,10; - set @itemupname2$,"10 Steel"; - callfunc "addslot2"; - -} - -//= Armor - -function script f_armor_c { - - set @rateit,25; //success rate - set @addprice,200000; - set @itemup,999; - set @itemupiece,3; - set @itemupname$,"3 Steel"; - callfunc "addslot"; - -} - -function script f_armor_b { - - set @rateit,20; //success rate - set @addprice,250000; - set @itemup,999; - set @itemupiece,5; - set @itemupname$,"5 Steel"; - callfunc "addslot"; - -} - -function script f_armor_b2 { - - set @rateit,20; //success rate - set @addprice,300000; - set @itemup,999; - set @itemupiece,5; - set @itemupname$,"5 Steel"; - callfunc "addslot"; - -} - -function script f_armor_a { - - set @rateit,15; //success rate - set @addprice,300000; - set @itemup,985; - set @itemupiece,1; - set @itemupname$,"1 Elunium"; - callfunc "addslot"; - +payon,140,151,5 script Seiyablem 84,{ + + 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."; + next; + mes "[Seiyablem]"; + 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" ) ) + { + 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" ) ) + { + 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" ) ) + { + case 1: + callfunc "Func_Socket",1,1460,1461,40,66,200,1010,10; + + case 2: + callfunc "Func_Socket",1,1950,1951,40,66,200,1010,10; + + case 3: + callfunc "Func_Socket",1,1901,1902,40,66,200,1010,10; + } + + case 2: + mes "[Seiyablem]"; + mes "B Class?"; + mes "Alright, this is the average equipment category."; + mes "Please choose the weapon to wich you'd like me to try to add a Slot."; + next; + 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; + + case 2: + callfunc "Func_Socket",2,1219,1220,40,61,300,984,1,999,5; + + case 3: + callfunc "Func_Socket",2,1714,1716,40,61,300,984,2,999,5; + + case 4: + callfunc "Func_Socket",1,1407,1408,40,61,300,1010,10; + + case 5: + callfunc "Func_Socket",2,1123,1128,40,61,300,984,2,999,5; + + case 6: + callfunc "Func_Socket",1,1905,1906,40,61,300,1011,10; + + case 7: + callfunc "Func_Socket",1,1954,1955,40,61,300,1011,10; + + case 8: + callfunc "Func_Socket",1,1801,1802,40,61,300,1010,10; + + case 9: + callfunc "Func_Socket",2,1713,1715,40,61,300,984,2,999,5; + } + + case 3: + mes "[Seiyablem]"; + mes "Ooh, A Class."; + mes "This is some high risk territory!"; + mes "Alright, wich 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" ) ) + { + case 1: + callfunc "Func_Socket",2,1718,1726,40,61,500,984,2,999,10; + + case 2: + callfunc "Func_Socket",2,1619,1620,40,61,500,984,2,999,10; + + case 3: + callfunc "Func_Socket",2,1168,1171,40,61,800,984,5,999,10; + + case 4: + callfunc "Func_Socket",2,1129,1149,40,61,500,984,2,999,10; + + case 5: + callfunc "Func_Socket",2,1261,1266,40,61,700,984,5,999,10; + + case 6: + callfunc "Func_Socket",2,1722,1727,40,61,500,984,5,999,10; + + case 7: + callfunc "Func_Socket",2,1522,1532,40,61,700,984,2,999,10; + + case 8: + callfunc "Func_Socket",2,1814,1816,40,61,700,984,5,999,10; + + case 9: + callfunc "Func_Socket",2,1163,1172,40,61,700,984,5,999,10; + } + + case 4: + mes "[Seiyablem]"; + mes "Whoa, whoa, whoa..."; + mes "S class? Alright..."; + 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)" ) ) + { + case 1: + callfunc "Func_Socket",2,1413,1418,40,51,1000,984,5,999,10; + + case 2: + callfunc "Func_Socket",2,1239,13016,40,51,1000,984,5,999,10; + + case 3: + callfunc "Func_Socket",2,1230,13017,40,51,1000,984,5,999,10; + + case 4: + callfunc "Func_Socket",2,1236,13018,40,51,1000,984,5,999,10; + + case 5: + callfunc "Func_Socket",2,13002,13019,40,51,1000,984,5,999,10; + + case 6: + callfunc "Func_Socket",2,1135,13400,40,51,1000,984,5,999,10; + + case 7: + callfunc "Func_Socket",2,1466,1476,40,51,1000,984,5,999,10; + + case 8: + callfunc "Func_Socket",2,1618,1619,40,51,2000,984,5,999,10; + } + } + + case 2: + mes "[Seiyablem]"; + mes "Armor, you said?"; + mes "Sure, no problem."; + 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" ) ) + { + case 1: + mes "[Seiyablem]"; + mes "C Class Armor, eh?"; + mes "Sounds reasonable."; + mes "Which armor would you like to try adding a Slot?"; + next; + switch( select( "Mantle","Coat","Circlet","Biretta" ) ) + { + case 1: + callfunc "Func_Socket",1,2307,2308,40,66,200,999,3; + + case 2: + callfunc "Func_Socket",1,2309,2310,40,66,200,999,3; + + case 3: + callfunc "Func_Socket",1,2232,2233,40,66,200,999,3; + + case 4: + callfunc "Func_Socket",1,2216,2217,40,66,200,999,3; + } + + 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" ) ) + { + case 1: + callfunc "Func_Socket",1,2107,2108,40,61,250,999,5; + + case 2: + callfunc "Func_Socket",1,2314,2315,40,61,250,999,5; + + case 3: + callfunc "Func_Socket",1,2326,2327,40,61,300,999,5; + + case 4: + callfunc "Func_Socket",1,2321,2322,40,61,300,999,5; + + case 5: + callfunc "Func_Socket",1,2405,2406,40,61,300,999,5; + + case 6: + callfunc "Func_Socket",1,2403,2404,40,61,300,999,5; + + case 7: + callfunc "Func_Socket",1,2503,2504,40,61,300,999,5; + + case 8: + callfunc "Func_Socket",1,2101,2102,40,61,300,999,5; + + case 9: + callfunc "Func_Socket",1,2103,2104,40,61,300,999,5; + + case 10: + callfunc "Func_Socket",1,2105,2106,40,61,250,999,5; + + case 11: + callfunc "Func_Socket",1,5046,5168,40,61,250,999,5; + } + + case 3: + mes "[Seiyablem]"; + mes "Ooh, A Class."; + mes "This is some high risk territory!"; + mes "Alright, wich 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" ) ) + { + case 1: + callfunc "Func_Socket",1,2230,2231,40,61,400,985,1; + + case 2: + callfunc "Func_Socket",1,5114,5120,40,61,400,985,1; + + case 3: + callfunc "Func_Socket",1,2109,2121,40,61,400,985,1; + + case 4: + callfunc "Func_Socket",1,2330,2331,40,61,400,985,1; + + case 5: + callfunc "Func_Socket",1,2341,2342,40,61,400,985,1; + + case 6: + callfunc "Func_Socket",1,2316,2317,40,61,400,985,1; + + case 7: + callfunc "Func_Socket",1,2335,2336,40,61,400,985,1; + + case 8: + callfunc "Func_Socket",1,2411,2412,40,61,400,985,1; + + case 9: + callfunc "Func_Socket",1,5092,5093,40,61,400,985,1; + + case 10: + callfunc "Func_Socket",1,2505,2506,40,61,400,985,1; + + case 11: + callfunc "Func_Socket",1,2228,2229,40,61,400,985,1; + + case 12: + callfunc "Func_Socket",1,2337,2359,40,61,400,985,1; + + case 13: + callfunc "Func_Socket",1,2299,5157,40,61,400,985,1; + + case 14: + callfunc "Func_Socket",1,2507,2525,40,61,400,985,1; + + case 15: + callfunc "Func_Socket",1,2251,5158,40,61,400,985,1; + + case 16: + callfunc "Func_Socket",1,2246,5159,40,61,400,985,1; + + case 17: + callfunc "Func_Socket",1,2605,2625,40,61,400,985,1; + + case 18: + callfunc "Func_Socket",1,2264,5167,40,61,400,985,1; + } + + 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."; + next; + 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; + + case 2: + callfunc "Func_Socket",1,2258,5161,40,51,2000,985,2; + + case 3: + callfunc "Func_Socket",1,5017,5162,40,51,2000,985,2; + + case 4: + callfunc "Func_Socket",1,5019,5163,40,51,2000,985,2; + + case 5: + callfunc "Func_Socket",1,2235,5165,40,51,2000,985,2; + + case 6: + callfunc "Func_Socket",1,2234,5164,40,51,2000,985,2; + + case 7: + callfunc "Func_Socket",1,5063,5166,40,51,1000,985,2; + + case 8: + callfunc "Func_Socket",1,2343,2360,40,51,1000,985,2; + + case 9: + callfunc "Func_Socket",1,2602,2622,40,51,1000,985,2; + + case 10: + callfunc "Func_Socket",1,2601,2621,40,51,1000,985,2; + + case 11: + callfunc "Func_Socket",1,2619,2671,40,51,1000,985,2; + } + } + + case 3: + mes "[Seiyablem]"; + mes "Well, I haven't really refined the art of Slot Addition."; + mes "It's so complicated that I'd be lying if I told you that I knew every factor that affected the process."; + mes "Still, I do notice a few trends..."; + next; + mes "[Seiyablem]"; + mes "In some towns, Slot addition attempts are more successful for equipment with fewer upgrades."; + mes "In other towns, the opposite is true."; + mes "isn't that really peculiar?"; + next; + mes "[Seiyablem]"; + mes "Oh, theres 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]"; + 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."; + mes "Just remember to be carefull."; + next; + mes "[Seiyablem]"; + 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."; + mes "If you ever want to try adding a Slot to some of your equipment, come back and let me know."; + mes "Seeya~"; + close; + } } - -function script f_armor_a2 { - - set @rateit,15; //success rate - set @addprice,400000; - set @itemup,985; - set @itemupiece,1; - set @itemupname$,"1 Elunium"; - callfunc "addslot"; - + +function script Func_Socket { + + switch(getarg(0)) + { + case 1: + mes "[Seiyablem]"; + mes "You want to add a Slot to a " +getitemname(getarg(1))+ "?"; + mes "Alright, please bring me ^FF0000" +getarg(7)+ " " +getitemname(getarg(6))+ "s^000000, and my^FF0000 " +getarg(5)+",000 zeny^000000 service fee."; + mes "Ah, and don't forget to bring that " +getitemname(getarg(1))+ "!"; + next; + break; + + case 2: + mes "[Seiyablem]"; + mes "You want to add a Slot to a " +getitemname(getarg(1))+ "?"; + 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))+ "!"; + next; + break; + } + if(@sockettype == 1) + { + 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) + { + 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; + } + switch( select( "Attempt Slot Addition","Cancel" ) ) + { + case 1: + switch(getarg(0)) + { + case 1: + if((Zeny < getarg(5)*1000) || (countitem(getarg(6)) < getarg(7)) || (!countitem(getarg(1)))) + { + 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; + + case 2: + if((Zeny < getarg(5)*1000) || (countitem(getarg(6)) < getarg(7)) || (countitem(getarg(8)) < getarg(9)) || (!countitem(getarg(1)))) + { + 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; + } + mes "[Seiyablem]"; + mes "Alright then, let the work begin!"; + mes "You'd better pray for a successful result."; + next; + set .@socketrand,rand(1,100); + if((.@socketrand > getarg(3)) && (.@socketrand < getarg(4))) + { + if(getarg(4) == 51) specialeffect 90; + else specialeffect 83; + 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; + } + specialeffect 108; + 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; + } } -function script f_armor_s { - - set @rateit,10; //success rate - set @addprice,1000000; - set @itemup,985; - set @itemupiece,2; - set @itemupname$,"2 Elunium"; - callfunc "addslot"; - -} - -function script f_armor_s2 { - - set @rateit,10; //success rate - set @addprice,2000000; - set @itemup,985; - set @itemupiece,2; - set @itemupname$,"2 Elunium"; - callfunc "addslot"; - +lhz_in02,281,35,5 duplicate(Seiyablem) Seiyablem 84,0,0 +prt_in,33,70,5 duplicate(Seiyablem) Seiyablem 84,0,0 +morocc,51,41,5 duplicate(Seiyablem) Seiyablem 84,0,0 + +payon,143,143,7 script Young Man#socket 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."; + next; + mes "[Young Man]"; + mes "There's a huge element of luck involved in successfully adding Slots from what I can understand."; + mes "You fail sometimes, but if you're super lucky, you can add two Slots."; + mes "Crazy. Huh?"; + next; + mes "[Young Man]"; + mes "But don't get too excited."; + mes "Only certain equipment can handle the addition of two extra Slots."; + mes "There's so much more I have to learn before I can even be an apprentice..."; + close; } - -prt_in,33,70,5 duplicate(Socket Enchant) Socket Enchant#2 84 -payon,140,151,5 duplicate(Socket Enchant) Socket Enchant#3 84 -morocc,51,41,5 duplicate(Socket Enchant) Socket Enchant#4 84 +lhz_in02,269,33,5 duplicate(Young Man#socket) Young Man 97,0,0 +prt_in,31,57,1 duplicate(Young Man#socket) Young Man 97,0,0 +morocc,60,42,3 duplicate(Young Man#socket) Young Man 97,0,0
\ No newline at end of file |