// TMW-2 Script // Author: // Jesusalva // Description: // Nicholas is Hurnscald's blakcsmith. He forges some stuff, and sell other stuff. // Perhaps he should not forge armor? Remember he cannot forge EVERYTHING... // // PS. // Iridium + Platyna Platinum // Gold + Coal Gold // Silver + Coal Silver // Copper + Tin Bronze (9:1) // Terranite + Coal Terranite // Iron + Coal Iron // Resitance and Weight increasing ores // Lead → +++ res, ++++ wei // Titanium → + res, + wei // Originals: Setzer, Steel Shield, Chain Mail, Light Platemail, Warlord Plate, Warlord Boots 012-5,36,26,0 script Nicholas NPC_NICHOLAS,{ goto L_Menu; // blacksmith_header() function blacksmith_header { mesn; mesq l("Very well! We have seven class of items: Wood, Iron, Terranite, Bronze, Silver, Gold and Platinum."); mesq l("Each of them require different items, I'll sort from weakest to strongest, so choose wisely."); return; } // blacksmith_create( BaseItem1, Amount, BaseItem2, Amount, PrizeItem, Price ) function blacksmith_create { .@base1=getarg(0); .@amon1=getarg(1); .@base2=getarg(2); .@amon2=getarg(3); .@prize=getarg(4); .@price=getarg(5); mesn; mesq l("Do you want to craft @@? For that I will need:", getitemlink(.@prize)); mesc l("@@/@@ @@", countitem(.@base1), .@amon1, getitemlink(.@base1)); mesc l("@@/@@ @@", countitem(.@base2), .@amon2, getitemlink(.@base2)); mesc l("@@/@@ GP", format_number(Zeny), format_number(.@price)); select l("Yes"), l("No"); if (@menu == 2) return; if (countitem(.@base1) >= .@amon1 && countitem(.@base2) >= .@amon2 && Zeny >= .@price) { inventoryplace .@prize, 1; delitem .@base1, .@amon1; delitem .@base2, .@amon2; Zeny = Zeny - .@price; getitem .@prize, 1; .@xp=getiteminfo(.@base1, ITEMINFO_SELLPRICE)*.@amon1+getiteminfo(.@base2, ITEMINFO_SELLPRICE)*.@amon2; .@xp=.@xp*2/3; getexp .@xp, rand(1,10); mes ""; mesn; mesq l("Many thanks! Come back soon."); } else { speech S_FIRST_BLANK_LINE,// | S_LAST_NEXT, l("You don't have enough material, sorry."); } return; } L_Menu: mesn; mesq l("Hello there, I am @@, blacksmith of this fine city. What do you want to forge today?", .name$); mes ""; select l("I just want to trade."), l("I want to forge Weapons!"), l("I want to forge Shields!"), l("I want to forge Quivers!"), l("Nothing, thanks!"); mes ""; switch (@menu) { case 1: openshop; closedialog; close; break; case 2: goto L_Weapon; case 3: goto L_Shield; case 4: goto L_Quiver; } close; L_Weapon: blacksmith_header(); select l("Nothing, sorry!"), l("Wooden Sword"), l("Bronze Gladius"), l("Iron Bug Slayer"), l("Iron Short Gladius"); switch (@menu) { case 1: goto L_Menu; case 2: blacksmith_create(WoodenLog, 35, RawLog, 5, WoodenSword, 4500); break; case 3: blacksmith_create(CopperIngot, 18, TinIngot, 2, BronzeGladius, 5000); break; case 4: blacksmith_create(IronIngot, 8, Coal, 12, BugSlayer, 10000); break; case 5: blacksmith_create(IronIngot, 12, Coal, 16, ShortGladius, 15000); break; } goto L_Weapon; L_Shield: blacksmith_header(); select l("Nothing, sorry!"), l("Wooden Shield"); switch (@menu) { case 1: goto L_Menu; case 2: blacksmith_create(WoodenLog, 40, LeatherPatch, 2, WoodenShield, 5000); break; } goto L_Shield; L_Quiver: blacksmith_header(); select l("Nothing, sorry!"), l("Leather Quiver"), l("Terranite Quiver"), l("Platinum Quiver"); switch (@menu) { case 1: goto L_Menu; case 2: blacksmith_create(LeatherPatch, 35, TitaniumIngot, 1, LeatherQuiver, 20000); break; case 3: blacksmith_create(TerraniteOre, 210, Coal, 80, TerraniteQuiver, 30000); // TODO: Terranite Ingot break; case 4: blacksmith_create(PlatinumIngot, 30, IridiumIngot, 10, PlatinumQuiver, 40000); break; } goto L_Quiver; OnInit: tradertype(NST_MARKET); sellitem Dagger, 4000, 5; sellitem SharpKnife, 2000, 10; .sex = G_MALE; .distance = 5; end; OnClock0009: OnClock0603: OnClock1207: OnClock1801: restoreshopitem Dagger, 4000, 5; restoreshopitem SharpKnife, 2000, 10; end; }