diff options
Diffstat (limited to 'npc/craft/smith.txt')
-rw-r--r-- | npc/craft/smith.txt | 18 |
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; |