summaryrefslogtreecommitdiff
path: root/npc/craft
diff options
context:
space:
mode:
Diffstat (limited to 'npc/craft')
-rw-r--r--npc/craft/smith.txt18
-rw-r--r--npc/craft/tweak.txt2
2 files changed, 18 insertions, 2 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;
diff --git a/npc/craft/tweak.txt b/npc/craft/tweak.txt
index ba5a4b2bb..9bc786d33 100644
--- a/npc/craft/tweak.txt
+++ b/npc/craft/tweak.txt
@@ -21,7 +21,7 @@ function script SmithTweakReset {
if (!csys_Confirm(.@id))
return;
- csys_Check();
+ csys_Check(.@id);
return;
}