// TMW-2 Script // Author: // Jesusalva // Description: // Nivalis shopkeeper & forge master. He deals with the equipment which Nicholas, // Silversmith and Nahred doesn't works with. 020-5,31,25,0 script Bracco NPC_M_SHOPKEEPER,{ goto L_Start; // 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; } // Start L_Start: mesn; mesq l("Welcome to my fine establishment!"); mes ""; select l("Trade"), l("I'm actually looking for an item forged!"), l("Leave"); if (@menu == 2) goto L_Forge; closedialog; if (@menu == 1) shop .name$; goodbye; close; // Note: the prices are absurd atm, but hey hey, every single one of them are cap items currently L_Forge: mesn; mesq l("Well, if you want warrior craft, perhaps you should look for @@ or @@.", l("Nicholas"), l("Nahrec")); mes ""; select l("Nothing, sorry!"), l("I want leather armbands!"), l("I want copper armbands!"), l("I want iron armbands!"); mes ""; switch (@menu) { case 1: close; break; case 2: blacksmith_create(LeatherPatch, 50, TitaniumIngot, 1, Armbands, 6500); break; case 3: blacksmith_create(CopperIngot, 30, Coal, 40, CopperArmbands, 11000); break; case 4: blacksmith_create(IronIngot, 90, Coal, 80, IronArmbands, 21000); break; } goto L_Forge; OnInit: .@npcId = getnpcid(.name$); setunitdata(.@npcId, UDT_HEADTOP, NPCEyes); setunitdata(.@npcId, UDT_HEADMIDDLE, TneckSweater); setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers); setunitdata(.@npcId, UDT_WEAPON, FurBoots); setunitdata(.@npcId, UDT_HAIRSTYLE, 26); setunitdata(.@npcId, UDT_HAIRCOLOR, 2); tradertype(NST_MARKET); sellitem LeatherShirt, 15000, 1; sellitem LeatherShield, 5000, 1; sellitem ShortBow, 11200, 1; sellitem ArrowAmmoBox,-1,rand(8,12); sellitem IronAmmoBox,-1,rand(3,5); npcsit; .sex = G_MALE; .distance = 5; end; OnWed0000: OnThu0400: OnFri0800: OnSat1200: OnSun1600: OnMon2000: restoreshopitem LeatherShirt, 15000, 1; restoreshopitem LeatherShield, 5000, 1; restoreshopitem ShortBow, 11200, 1; restoreshopitem ArrowAmmoBox,rand(8,12); restoreshopitem IronAmmoBox,rand(3,5); end; }