summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/012-5/nicholas.txt80
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;
}