aboutsummaryrefslogtreecommitdiff
path: root/src/game
diff options
context:
space:
mode:
Diffstat (limited to 'src/game')
-rw-r--r--src/game/Creature.h1
-rw-r--r--src/game/Player.cpp3
2 files changed, 4 insertions, 0 deletions
diff --git a/src/game/Creature.h b/src/game/Creature.h
index 61cb390b02f..d291aaf9db0 100644
--- a/src/game/Creature.h
+++ b/src/game/Creature.h
@@ -150,6 +150,7 @@ enum CreatureFlagsExtra
CREATURE_FLAG_EXTRA_WORLDEVENT = 0x00004000, // custom flag for world event creatures (left room for merging)
//CREATURE_FLAG_EXTRA_CHARM_AI = 0x00008000, // use ai when charmed
CREATURE_FLAG_EXTRA_NO_CRIT = 0x00020000, // creature can't do critical strikes
+ CREATURE_FLAG_EXTRA_NO_SKILLGAIN = 0x00040000, // creature won't increase weapon skills
};
enum SummonMask
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 6e92e7d4b6a..0b75d090152 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -5288,6 +5288,9 @@ void Player::UpdateWeaponSkill (WeaponAttackType attType)
if(m_form == FORM_TREE)
return; // use weapon but not skill up
+ if(pVictim && pVictim->GetTypeId() == TYPEID_UNIT && (((Creature*)pVictim)->GetCreatureInfo()->flags_extra & CREATURE_FLAG_EXTRA_NO_SKILLGAIN))
+ return;
+
uint32 weapon_skill_gain = sWorld.getConfig(CONFIG_SKILL_GAIN_WEAPON);
switch(attType)