summaryrefslogtreecommitdiff
path: root/npc/craft/smith.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/craft/smith.txt')
-rw-r--r--npc/craft/smith.txt18
1 files changed, 17 insertions, 1 deletions
diff --git a/npc/craft/smith.txt b/npc/craft/smith.txt
index ba2155210..7753daeaf 100644
--- a/npc/craft/smith.txt
+++ b/npc/craft/smith.txt
@@ -37,8 +37,24 @@ function script SmithSystem {
if (.@entry < 0) {
.success=false;
} else {
- if (.scope == CRAFT_NPC || .knowledge[.@entry]) {
+ if (.scope == CRAFT_NPC) {
usecraft .@craft;
+ .@it=getcraftcode(.@craft);
+ getitem(.@it, 1);
+ .success=true;
+ } else if (.knowledge[.@entry] || $@GM_OVERRIDE) {
+ // Player craft item
+ usecraft .@craft;
+ .@it=getcraftcode(.@entry);
+ getnameditem(.@it, strcharinfo(0));
+ if (getskilllv(TMW2_CRAFT)) {
+ delinventorylist(); // Needed, because we'll rely on rfind()
+ getinventorylist();
+ .@index=array_rfind(@inventorylist_id, .@it);
+ if (csys_Check(.@index)) {
+ csys_Apply(.@index);
+ }
+ }
.success=true;
} else {
.success=false;