summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2019-05-28 22:44:11 -0300
committerJesusaves <cpntb1@ymail.com>2019-05-28 22:44:11 -0300
commit8c99adcb54d0a13f63a6f93d771ca15f211fb4e3 (patch)
tree5c3a4960a2548edff526896a694426dff5f126a8 /npc
parenteccac500742929097d1724d38a866c1bb0b3a120 (diff)
downloadserverdata-8c99adcb54d0a13f63a6f93d771ca15f211fb4e3.tar.gz
serverdata-8c99adcb54d0a13f63a6f93d771ca15f211fb4e3.tar.bz2
serverdata-8c99adcb54d0a13f63a6f93d771ca15f211fb4e3.tar.xz
serverdata-8c99adcb54d0a13f63a6f93d771ca15f211fb4e3.zip
Item crafting (Bugslayer and Wooden Sword) will now output named items (crafter name).
And these named items will have the crafter's skills on them =D Great, now we need recipes and learning (both of these) :>
Diffstat (limited to 'npc')
-rw-r--r--npc/craft/smith.txt18
-rw-r--r--npc/craft/tweak.txt2
-rw-r--r--npc/functions/main.txt19
3 files changed, 37 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;
}
diff --git a/npc/functions/main.txt b/npc/functions/main.txt
index 807ac6a44..075142e12 100644
--- a/npc/functions/main.txt
+++ b/npc/functions/main.txt
@@ -291,6 +291,25 @@ function script isin {
return false;
}
+// Clear output of getinventorylist()
+// delinventorylist()
+function script delinventorylist {
+ deletearray @inventorylist_id;
+ deletearray @inventorylist_amount;
+ deletearray @inventorylist_equip;
+ deletearray @inventorylist_refine;
+ deletearray @inventorylist_identify;
+ deletearray @inventorylist_attribute;
+ deletearray @inventorylist_card1;
+ deletearray @inventorylist_card2;
+ deletearray @inventorylist_card3;
+ deletearray @inventorylist_card4;
+ deletearray @inventorylist_expire;
+ deletearray @inventorylist_bound;
+ @inventorylist_count=0;
+ return;
+}
+
// Get some acc id, even if offline
// ( Name )
function script gf_accid {