diff options
Diffstat (limited to 'npc/017-5/silversmith.txt')
-rw-r--r-- | npc/017-5/silversmith.txt | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/npc/017-5/silversmith.txt b/npc/017-5/silversmith.txt new file mode 100644 index 000000000..60fe9a705 --- /dev/null +++ b/npc/017-5/silversmith.txt @@ -0,0 +1,89 @@ +// TMW2/LoF scripts. +// Authors: +// TMW-LoF Team +// Jesusalva +// Description: +// Crafts silver objects + +017-5,24,25,0 script Silversmith NPC_SILVERSMITH,{ + showavatar NPC_SILVERSMITH; + goto L_Menu; + + // 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 l("Smith Silvers"); + mesq l("Hello, I am your local silversmith, here for all of your smithing needs!"); + next; + select + l("Nothing, sorry!"), + l("I'd like my Crozenite Clover Silvered."), + l("Silver Ring!"), + l("Miere Cleaver!"), + l("Broadsword!"); + + switch (@menu) { + case 2: + blacksmith_create(SilverIngot, 3, CrozeniteFourLeafAmulet, 1, SilverFourLeafAmulet, 5000); + break; + case 3: + blacksmith_create(SilverIngot, 4, TinIngot, 2, SilverRing, 10000); + break; + case 4: + blacksmith_create(SilverIngot, 12, Coal, 8, MiereCleaver, 20000); + break; + case 5: + blacksmith_create(SilverIngot, 27, Coal, 20, Broadsword, 50000); + break; + } + close; + +OnInit: + .sex=G_MALE; + .distance=5; + end; +} + |