// 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;
}