Changeset 174 for trunk/src/game/SpellEffects.cpp
- Timestamp:
- 11/19/08 13:43:15 (17 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/game/SpellEffects.cpp
r168 r174 133 133 &Spell::EffectPickPocket, // 71 SPELL_EFFECT_PICKPOCKET 134 134 &Spell::EffectAddFarsight, // 72 SPELL_EFFECT_ADD_FARSIGHT 135 &Spell::EffectSummon Guardian,// 73 SPELL_EFFECT_SUMMON_POSSESSED135 &Spell::EffectSummonPossessed, // 73 SPELL_EFFECT_SUMMON_POSSESSED 136 136 &Spell::EffectSummonTotem, // 74 SPELL_EFFECT_SUMMON_TOTEM 137 137 &Spell::EffectHealMechanical, // 75 SPELL_EFFECT_HEAL_MECHANICAL one spell: Mechanical Patch Kit … … 3128 3128 { 3129 3129 case SUMMON_TYPE_GUARDIAN: 3130 EffectSummonGuardian(i); 3131 break; 3130 3132 case SUMMON_TYPE_POSESSED: 3131 3133 case SUMMON_TYPE_POSESSED2: 3132 EffectSummon Guardian(i);3134 EffectSummonPossessed(i); 3133 3135 break; 3134 3136 case SUMMON_TYPE_WILD: … … 3676 3678 map->Add((Creature*)spawnCreature); 3677 3679 } 3680 } 3681 3682 void Spell::EffectSummonPossessed(uint32 i) 3683 { 3684 uint32 creatureEntry = m_spellInfo->EffectMiscValue[i]; 3685 if(!creatureEntry) 3686 return; 3687 3688 if(m_caster->GetTypeId() != TYPEID_PLAYER) 3689 return; 3690 3691 uint32 level = m_caster->getLevel(); 3692 3693 float px, py, pz; 3694 m_caster->GetClosePoint(px, py, pz, DEFAULT_WORLD_OBJECT_SIZE); 3695 3696 int32 duration = GetSpellDuration(m_spellInfo); 3697 3698 TempSummonType summonType = (duration == 0) ? TEMPSUMMON_DEAD_DESPAWN : TEMPSUMMON_TIMED_OR_DEAD_DESPAWN; 3699 3700 Creature* c = m_caster->SummonCreature(creatureEntry, px, py, pz, m_caster->GetOrientation(), summonType, duration); 3701 ((Player*)m_caster)->Possess(c); 3678 3702 } 3679 3703