diff options
| author | KingPin <none@none> | 2008-11-05 09:22:56 -0600 |
|---|---|---|
| committer | KingPin <none@none> | 2008-11-05 09:22:56 -0600 |
| commit | 62ed044d08425bd09053bda18d56113bd9f9a2ce (patch) | |
| tree | 28ed72b77f24d88b47df4f1b3ec3f20582b2c18f /src/game/Spell.cpp | |
| parent | a1981ecc77c3da12cdec29c30a1a79a1011333f0 (diff) | |
[svn] *** Source Mangos ***
*Load npc_options at server startup, use cached data at creature gossip menu init.
* Also new .reload table command added
*Implement npc_option localization support, also store in DB BoxText/BoxMoney/Coded
* Use characters.guid instead low guid value from characters.data in charcter enum data prepering for client.
* Fixed crash at .pinfo command use from console.
* Fixed windows ad.exe build
*Creature related code and DB cleanups.
* Rename 2 creature_template fields to more clean names and related code update also.
* Use enum values instead raw values for type_flags, use halper functions instead code repeating.
* Move tamed pet creating code to new function.
** Small code changes to make things compliant with above changes.
** Another rev with big changes so test away.
--HG--
branch : trunk
Diffstat (limited to 'src/game/Spell.cpp')
| -rw-r--r-- | src/game/Spell.cpp | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 4795d64bfcc..7b4c855474c 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -3669,13 +3669,7 @@ uint8 Spell::CanCast(bool strict) return SPELL_FAILED_TARGET_NOT_LOOTED; } - uint32 skill; - if(creature->GetCreatureInfo()->flag1 & 256) - skill = SKILL_HERBALISM; // special case - else if(creature->GetCreatureInfo()->flag1 & 512) - skill = SKILL_MINING; // special case - else - skill = SKILL_SKINNING; // normal case + uint32 skill = creature->GetCreatureInfo()->GetRequiredLootSkill(); int32 skillValue = ((Player*)m_caster)->GetSkillValue(skill); int32 TargetLevel = m_targets.getUnitTarget()->getLevel(); @@ -3967,12 +3961,8 @@ uint8 Spell::CanCast(bool strict) if (m_targets.getUnitTarget()->getLevel() > m_caster->getLevel()) return SPELL_FAILED_HIGHLEVEL; - CreatureInfo const *cinfo = ((Creature*)m_targets.getUnitTarget())->GetCreatureInfo(); - if( cinfo->type != CREATURE_TYPE_BEAST ) - return SPELL_FAILED_BAD_TARGETS; - // use SMSG_PET_TAME_FAILURE? - if( !(cinfo->flag1 & 1) || !(cinfo->family) ) + if (!((Creature*)m_targets.getUnitTarget())->GetCreatureInfo()->isTameable ()) return SPELL_FAILED_BAD_TARGETS; if(m_caster->GetPetGUID()) |
