summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/00000SAVE/smiths/009-1_silversmith.txt126
-rw-r--r--npc/017-5/_import.txt1
-rw-r--r--npc/017-5/silversmith.txt87
3 files changed, 88 insertions, 126 deletions
diff --git a/npc/00000SAVE/smiths/009-1_silversmith.txt b/npc/00000SAVE/smiths/009-1_silversmith.txt
deleted file mode 100644
index 5f9e9e23b..000000000
--- a/npc/00000SAVE/smiths/009-1_silversmith.txt
+++ /dev/null
@@ -1,126 +0,0 @@
-// TODO: Silversmith on 24, 25
-
-017-5,24,25,0 script Silversmith NPC135,{
-
- mesn "Smith Silvers";
- mes "\"Hello, I am your local silversmith, here for all of your smithing needs!\"";
- goto L_Smithmenu;
-
-L_Smithmenu:
- menu
- "Can you smith my Short Sword?", L_Sword,
- "How about a Crusade Helmet?", L_Helm,
- "Can you silver my Forest Bow?", L_Bow,
- "I'd like my Clover Silvered.", L_Clover,
- "I think I have everything I need, thanks.", L_close;
-
-L_Sword:
- mesn "Smith Silvers";
- mes "\"I can, it will cost you 9 Silver Ore, 5 Raw Coal, and 40,000 gp.\"";
- menu
- "Sure.", L_sword2,
- "What a ripoff! No way!", L_close;
-
-L_Helm:
- mesn "Smith Silvers";
- mes "\"I can silver that helmet for 6 Silver Ore, 9 Raw coal, and 50,000 gp.\"";
- menu
- "Here you go.", L_helm2,
- "Are you nuts?! Forget it!", L_close;
-
-L_Bow:
- mesn "Smith Silvers";
- mes "\"I can silver that bow for 18 Silver Ore, 18 Raw Coal, and 200,000 gp.\"";
- menu
- "Sure.", L_bow2,
- "Whoa, that's way too much.", L_close;
-
-L_Clover:
- mesn "Smith Silvers";
- mes "\"I can silver your clover for 4 Silver Ore, 5 Raw Coal, and 50,000 gp.\"";
- menu
- "I have them right here.", L_Clover2,
- "Whoa, that's way too much.", L_close;
-
-L_sword2:
- if (countitem("SilverOre") < 9) goto L_Missing;
- if (countitem("RawCoal") < 5) goto L_Missing;
- if (countitem("ShortSword") < 1) goto L_Missing;
- if (Zeny < 40000) goto L_NotEnoughMoney;
- delitem "SilverOre", 9;
- delitem "RawCoal", 5;
- delitem "ShortSword", 1;
- Zeny = Zeny - 40000;
- getitem "SilverSword", 1;
- mesn "Smith Silvers";
- mes "\"There you go! Want me to silver anything else?\"";
- menu
- "Yes.", L_Smithmenu,
- "Nope.", L_No;
-
-L_helm2:
- if (countitem("SilverOre") < 6) goto L_Missing;
- if (countitem("RawCoal") < 9) goto L_Missing;
- if (countitem("UnsilveredCrusadeHelmet") < 1) goto L_Missing;
- if (Zeny < 50000) goto L_NotEnoughMoney;
- delitem "RawCoal", 9;
- delitem "SilverOre", 6;
- delitem "UnsilveredCrusadeHelmet", 1;
- Zeny = Zeny - 50000;
- getitem "CrusadeHelmet", 1;
- mesn "Smith Silvers";
- mes "\"There you go. Would you like anything else silvered?\"";
- menu
- "Yes.", L_Smithmenu,
- "No.", L_No;
-
-L_bow2:
- if (countitem("SilverOre") < 18) goto L_Missing;
- if (countitem("RawCoal") < 18) goto L_Missing;
- if (countitem("ForestBow") < 1) goto L_Missing;
- if (Zeny < 200000) goto L_NotEnoughMoney;
- delitem "RawCoal", 18;
- delitem "SilverOre", 18;
- delitem "ForestBow", 1;
- Zeny = Zeny - 200000;
- getitem "SilverBow", 1;
- mesn "Smith Silvers";
- mes "\"There you go. Would you like anything else silvered?\"";
- menu
- "Yes.", L_Smithmenu,
- "No.", L_No;
-
-L_Clover2:
- if (countitem("SilverOre") < 4) goto L_Missing;
- if (countitem("RawCoal") < 5) goto L_Missing;
- if (countitem("FourLeafClover") < 1) goto L_Missing;
- if (Zeny < 50000) goto L_NotEnoughMoney;
- delitem "RawCoal", 5;
- delitem "SilverOre", 4;
- delitem "FourLeafClover", 1;
- Zeny = Zeny - 50000;
- getitem "SilverFourLeafAmulet", 1;
- mesn "Smith Silvers";
- mes "\"There you go. Would you like anything else silvered?\"";
- menu
- "Yes.", L_Smithmenu,
- "No.", L_No;
-
-L_Missing:
- mesn "Smith Silvers";
- mes "\"It looks like you're missing some items. Please come back when you have what I need!\"";
- goto L_close;
-
-L_NotEnoughMoney:
- mesn "Smith Silvers";
- mes "\"You don't have enough money, come back later!\"";
- goto L_close;
-
-L_No:
- mesn "Smith Silvers";
- mes "\"Have a great day!\"";
- goto L_close;
-
-L_close:
- close;
-}
diff --git a/npc/017-5/_import.txt b/npc/017-5/_import.txt
index 3c5b312d2..ac4bb9e62 100644
--- a/npc/017-5/_import.txt
+++ b/npc/017-5/_import.txt
@@ -2,3 +2,4 @@
// This file is generated automatically. All manually added changes will be removed when running the Converter.
"npc/017-5/_warps.txt",
"npc/017-5/nahrec.txt",
+"npc/017-5/silversmith.txt",
diff --git a/npc/017-5/silversmith.txt b/npc/017-5/silversmith.txt
new file mode 100644
index 000000000..d57d8ed01
--- /dev/null
+++ b/npc/017-5/silversmith.txt
@@ -0,0 +1,87 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Crafts silver objects
+
+017-5,24,25,0 script Silversmith 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;
+ 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;
+}
+