Show
Ignore:
Timestamp:
11/19/08 13:40:41 (17 years ago)
Author:
yumileroy
Message:

[svn] Fix tame beast.

Original author: megamage
Date: 2008-11-02 11:00:14-06:00

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/game/Spell.cpp

    r147 r148  
    35633563                break; 
    35643564            } 
    3565             case SPELL_EFFECT_TAMECREATURE: 
    3566             { 
    3567                 if (!m_targets.getUnitTarget() || m_targets.getUnitTarget()->GetTypeId() == TYPEID_PLAYER) 
    3568                     return SPELL_FAILED_BAD_IMPLICIT_TARGETS; 
    3569  
    3570                 if (m_targets.getUnitTarget()->getLevel() > m_caster->getLevel()) 
    3571                     return SPELL_FAILED_HIGHLEVEL; 
    3572  
    3573                 CreatureInfo const *cinfo = ((Creature*)m_targets.getUnitTarget())->GetCreatureInfo(); 
    3574                 if( cinfo->type != CREATURE_TYPE_BEAST ) 
    3575                     return SPELL_FAILED_BAD_TARGETS; 
    3576  
    3577                 // use SMSG_PET_TAME_FAILURE? 
    3578                 if( !(cinfo->flag1 & 1) || !(cinfo->family) ) 
    3579                     return SPELL_FAILED_BAD_TARGETS; 
    3580  
    3581                 if(m_caster->GetPetGUID()) 
    3582                     return SPELL_FAILED_ALREADY_HAVE_SUMMON; 
    3583  
    3584                 if(m_caster->GetCharmGUID()) 
    3585                     return SPELL_FAILED_ALREADY_HAVE_CHARM; 
    3586  
    3587                 break; 
    3588             } 
    35893565            case SPELL_EFFECT_LEARN_SPELL: 
    35903566            { 
     
    39763952        switch(m_spellInfo->EffectApplyAuraName[i]) 
    39773953        { 
     3954            case SPELL_AURA_DUMMY: 
     3955            { 
     3956                if(m_spellInfo->Id == 1515) 
     3957                { 
     3958                    if (!m_targets.getUnitTarget() || m_targets.getUnitTarget()->GetTypeId() == TYPEID_PLAYER) 
     3959                        return SPELL_FAILED_BAD_IMPLICIT_TARGETS; 
     3960 
     3961                    if (m_targets.getUnitTarget()->getLevel() > m_caster->getLevel()) 
     3962                        return SPELL_FAILED_HIGHLEVEL; 
     3963 
     3964                    CreatureInfo const *cinfo = ((Creature*)m_targets.getUnitTarget())->GetCreatureInfo(); 
     3965                    if( cinfo->type != CREATURE_TYPE_BEAST ) 
     3966                        return SPELL_FAILED_BAD_TARGETS; 
     3967 
     3968                    // use SMSG_PET_TAME_FAILURE? 
     3969                    if( !(cinfo->flag1 & 1) || !(cinfo->family) ) 
     3970                        return SPELL_FAILED_BAD_TARGETS; 
     3971 
     3972                    if(m_caster->GetPetGUID()) 
     3973                        return SPELL_FAILED_ALREADY_HAVE_SUMMON; 
     3974 
     3975                    if(m_caster->GetCharmGUID()) 
     3976                        return SPELL_FAILED_ALREADY_HAVE_CHARM; 
     3977                } 
     3978            }break; 
    39783979            case SPELL_AURA_MOD_POSSESS: 
    39793980            case SPELL_AURA_MOD_CHARM: