From 396989f143673ffa7c253b98d6a3d550f311242a Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Fri, 3 Jul 2020 01:52:03 +0200 Subject: [PATCH] Fixes items' used skills list keys missing associated base traits. --- code/_onclick/item_attack.dm | 4 ++-- code/game/objects/items.dm | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 106db7f40a..2084ad4c4f 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -123,7 +123,7 @@ if(totitemdamage) totitemdamage = user.mind.item_action_skills_mod(I, totitemdamage, I.skill_difficulty, SKILL_ATTACK_OBJ, bad_trait) for(var/skill in I.used_skills) - if(!(I.used_skills[skill] & SKILL_TRAIN_ATTACK_OBJ)) + if(!(SKILL_TRAIN_ATTACK_OBJ in I.used_skills[skill])) continue user.mind.auto_gain_experience(skill, I.skill_gain) @@ -192,7 +192,7 @@ if(.) . = user.mind.item_action_skills_mod(I, ., I.skill_difficulty, SKILL_ATTACK_MOB, bad_trait) for(var/skill in I.used_skills) - if(!(I.used_skills[skill] & SKILL_TRAIN_ATTACK_MOB)) + if(!(SKILL_TRAIN_ATTACK_MOB in I.used_skills[skill])) continue user.mind.auto_gain_experience(skill, I.skill_gain) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 9f1b830cf0..d6596581a8 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -179,6 +179,11 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb if(damtype == "brute") hitsound = "swing_hit" + if(used_skills) + for(var/path in used_skills) + var/datum/skill/S = GLOB.skill_datums[path] + LAZYADD(used_skills[path], S.skill_traits) + /obj/item/Destroy() item_flags &= ~DROPDEL //prevent reqdels if(ismob(loc)) @@ -880,7 +885,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb for(var/skill in used_skills) if(!(SKILL_TRAINING_TOOL in used_skills[skill])) continue - user.mind.auto_gain_experience(skill, gain*skill_gain_mult, GET_STANDARD_LVL(max_level)) + user.mind.auto_gain_experience(skill, gain*skill_gain_mult, max_level) return TRUE