diff options
Diffstat (limited to 'npc')
-rw-r--r-- | npc/012-5/nicholas.txt | 80 |
1 files changed, 76 insertions, 4 deletions
diff --git a/npc/012-5/nicholas.txt b/npc/012-5/nicholas.txt index 7a4d96529..54c6cc75b 100644 --- a/npc/012-5/nicholas.txt +++ b/npc/012-5/nicholas.txt @@ -2,13 +2,13 @@ // Author: // Jesusalva // Description: -// Nicholas is Hurnscald's blakcsmith. He forges stuff, and sell other stuff. +// Nicholas is Hurnscald's blakcsmith. He forges some stuff, and sell other stuff. // // PS. // Iridium + Platyna Platinum // Gold + Coal Gold // Silver + Coal Silver -// Copper + Tin Bronze +// Copper + Tin Bronze (9:1) // Terranite + Coal Terranite // Iron + Coal Iron @@ -17,36 +17,108 @@ // Titanium → + res, + wei 012-5,36,26,0 script Nicholas NPC_CHELIOS,{ + 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 @@ @@, @@ @@ and @@ gp.", + getitemlink(.@prize), .@amon1, getitemlink(.@base1), .@amon2, getitemlink(.@base2), .@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; + + 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("Nothing, thanks!"); + mes "": switch (@menu) { case 1: openshop; closedialog; close; break; + case 2: + goto L_Weapon; + } close; +L_Weapon: + mesn; + mesq l("Very well! We have six class of items: 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."); + select + l("Nothing, sorry!"), + l("Bronze Gladius"), + l("Iron Bug Slayer"), + l("Iron Short Gladius"); + + switch (@menu) { + case 1: + goto L_Menu; + case 2: + blacksmith_create(CopperIngot, 18, TinIngot, 2, BronzeGladius, 5000); + break; + case 3: + blacksmith_create(IronIngot, 12, Coal, 8, BugSlayer, 10000); + break; + case 4: + blacksmith_create(IronIngot, 22, Coal, 18, ShortGladius, 15000); + break; + } + goto L_Weapon; + OnInit: tradertype(NST_MARKET); sellitem Dagger, 4000, 5; - sellitem WoodenSword, 10000, 1; + sellitem SharpKnife, 2000, 10; .sex = G_MALE; .distance = 5; end; OnClock0009: - restoreshopitem WoodenSword, 10000, 1; OnClock0603: OnClock1207: OnClock1801: restoreshopitem Dagger, 4000, 5; + restoreshopitem SharpKnife, 2000, 10; end; } |