[12665] Correct summon object slot effects

This commit is contained in:
Dramacydal 2013-08-08 15:54:38 +04:00 committed by Antz
parent 2cbca9deb6
commit 48568c3219
5 changed files with 16 additions and 24 deletions

View file

@ -828,10 +828,10 @@ enum SpellEffects
SPELL_EFFECT_FEED_PET = 101,
SPELL_EFFECT_DISMISS_PET = 102,
SPELL_EFFECT_REPUTATION = 103,
SPELL_EFFECT_SUMMON_OBJECT_SLOT1 = 104,
SPELL_EFFECT_SUMMON_OBJECT_SLOT2 = 105,
SPELL_EFFECT_SUMMON_OBJECT_SLOT3 = 106,
SPELL_EFFECT_SUMMON_OBJECT_SLOT4 = 107,
SPELL_EFFECT_SUMMON_OBJECT_SLOT = 104,
SPELL_EFFECT_SURVEY = 105,
SPELL_EFFECT_SUMMON_RAID_MARKER = 106,
SPELL_EFFECT_LOOT_CORPSE = 107,
SPELL_EFFECT_DISPEL_MECHANIC = 108,
SPELL_EFFECT_SUMMON_DEAD_PET = 109,
SPELL_EFFECT_DESTROY_ALL_TOTEMS = 110,

View file

@ -4332,10 +4332,7 @@ void Spell::SendLogExecute()
case SPELL_EFFECT_SUMMON_OBJECT_WILD:
case SPELL_EFFECT_CREATE_HOUSE:
case SPELL_EFFECT_DUEL:
case SPELL_EFFECT_SUMMON_OBJECT_SLOT1:
//case SPELL_EFFECT_SUMMON_OBJECT_SLOT2:
//case SPELL_EFFECT_SUMMON_OBJECT_SLOT3:
//case SPELL_EFFECT_SUMMON_OBJECT_SLOT4:
case SPELL_EFFECT_SUMMON_OBJECT_SLOT:
case SPELL_EFFECT_171:
if (Unit* unit = m_targets.getUnitTarget())
data << unit->GetPackGUID();

View file

@ -164,10 +164,10 @@ pEffect SpellEffects[TOTAL_SPELL_EFFECTS] =
&Spell::EffectFeedPet, //101 SPELL_EFFECT_FEED_PET
&Spell::EffectDismissPet, //102 SPELL_EFFECT_DISMISS_PET
&Spell::EffectReputation, //103 SPELL_EFFECT_REPUTATION
&Spell::EffectSummonObject, //104 SPELL_EFFECT_SUMMON_OBJECT_SLOT1
&Spell::EffectSummonObject, //105 SPELL_EFFECT_SUMMON_OBJECT_SLOT2
&Spell::EffectSummonObject, //106 SPELL_EFFECT_SUMMON_OBJECT_SLOT3
&Spell::EffectSummonObject, //107 SPELL_EFFECT_SUMMON_OBJECT_SLOT4
&Spell::EffectSummonObject, //104 SPELL_EFFECT_SUMMON_OBJECT_SLOT
&Spell::EffectNULL, //105 SPELL_EFFECT_SURVEY
&Spell::EffectNULL, //106 SPELL_EFFECT_SUMMON_RAID_MARKER
&Spell::EffectNULL, //107 SPELL_EFFECT_LOOT_CORPSE
&Spell::EffectDispelMechanic, //108 SPELL_EFFECT_DISPEL_MECHANIC
&Spell::EffectSummonDeadPet, //109 SPELL_EFFECT_SUMMON_DEAD_PET
&Spell::EffectDestroyAllTotems, //110 SPELL_EFFECT_DESTROY_ALL_TOTEMS
@ -9360,16 +9360,9 @@ void Spell::EffectDismissPet(SpellEffectEntry const* /*effect*/)
void Spell::EffectSummonObject(SpellEffectEntry const* effect)
{
uint32 go_id = effect->EffectMiscValue;
uint8 slot = 0;
switch(effect->Effect)
{
case SPELL_EFFECT_SUMMON_OBJECT_SLOT1: slot = 0; break;
case SPELL_EFFECT_SUMMON_OBJECT_SLOT2: slot = 1; break;
case SPELL_EFFECT_SUMMON_OBJECT_SLOT3: slot = 2; break;
case SPELL_EFFECT_SUMMON_OBJECT_SLOT4: slot = 3; break;
default: return;
}
uint8 slot = effect->EffectMiscValueB;
if (slot >= MAX_OBJECT_SLOT)
return;
if (ObjectGuid guid = m_caster->m_ObjectSlotGuid[slot])
{

View file

@ -1227,6 +1227,8 @@ enum IgnoreUnitState
struct SpellProcEventEntry; // used only privately
#define MAX_OBJECT_SLOT 5
class MANGOS_DLL_SPEC Unit : public WorldObject
{
public:
@ -2410,7 +2412,7 @@ class MANGOS_DLL_SPEC Unit : public WorldObject
bool CheckAndIncreaseCastCounter();
void DecreaseCastCounter() { if (m_castCounter) --m_castCounter; }
ObjectGuid m_ObjectSlotGuid[4];
ObjectGuid m_ObjectSlotGuid[MAX_OBJECT_SLOT];
uint32 m_detectInvisibilityMask;
uint32 m_invisibilityMask;

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "12664"
#define REVISION_NR "12665"
#endif // __REVISION_NR_H__