diff options
| author | megamage <none@none> | 2009-04-29 16:51:27 -0500 |
|---|---|---|
| committer | megamage <none@none> | 2009-04-29 16:51:27 -0500 |
| commit | e490779de0b741839599a5924a3cc536ef4e763d (patch) | |
| tree | 05a88af3ce96e79d25daddf9587fdf313a860ef1 /src/game | |
| parent | b89d307f758915252670b7392d58b0181f9d5429 (diff) | |
| parent | e695016e94c08fbef0f2e2df4df13fd27f0c86ef (diff) | |
*Merge.
--HG--
branch : trunk
Diffstat (limited to 'src/game')
| -rw-r--r-- | src/game/Player.cpp | 3 | ||||
| -rw-r--r-- | src/game/Spell.cpp | 7 | ||||
| -rw-r--r-- | src/game/SpellEffects.cpp | 13 | ||||
| -rw-r--r-- | src/game/TicketMgr.cpp | 6 |
4 files changed, 21 insertions, 8 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp index e17afc32fd9..a3751ea2345 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -17251,6 +17251,9 @@ void Player::ProhibitSpellScholl(SpellSchoolMask idSchoolMask, uint32 unTimeMs ) if (spellInfo->Attributes & SPELL_ATTR_DISABLED_WHILE_ACTIVE) continue; + if(spellInfo->PreventionType != SPELL_PREVENTION_TYPE_SILENCE) + continue; + if((idSchoolMask & GetSpellSchoolMask(spellInfo)) && GetSpellCooldownDelay(unSpellId) < unTimeMs ) { data << unSpellId; diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 7b5bfca3a05..28cbd541b00 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -1410,9 +1410,10 @@ void Spell::SearchChainTarget(std::list<Unit*> &TagUnitMap, float max_range, uin if(cur->GetDistance(*next) > CHAIN_SPELL_JUMP_RADIUS) break; - while(!cur->IsWithinLOSInMap(*next) - || m_spellInfo->DmgClass==SPELL_DAMAGE_CLASS_MELEE - && !m_caster->isInFront(*next, max_range)) + while(m_spellInfo->DmgClass == SPELL_DAMAGE_CLASS_MELEE + && !m_caster->isInFront(*next, max_range) + || !m_caster->canSeeOrDetect(*next, false) + || !cur->IsWithinLOSInMap(*next)) { ++next; if(next == tempUnitMap.end() || cur->GetDistance(*next) > CHAIN_SPELL_JUMP_RADIUS) diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index b96eb399fc2..9fd70cb676e 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -4788,7 +4788,18 @@ void Spell::EffectScriptEffect(uint32 effIndex) unitTarget->CastSpell(unitTarget, 44870, true); break; - } + } + // spell of Brutallus - Stomp + case 45185: + { + if(!unitTarget) + return; + + if(unitTarget->HasAura(46394)) // spell of Brutallus - Burn + unitTarget->RemoveAurasDueToSpell(46394); + + break; + } // Negative Energy case 46289: { diff --git a/src/game/TicketMgr.cpp b/src/game/TicketMgr.cpp index 69022b7dd27..52cf1ff0db6 100644 --- a/src/game/TicketMgr.cpp +++ b/src/game/TicketMgr.cpp @@ -60,12 +60,10 @@ GM_Ticket* TicketMgr::GetGMTicketByName(const char* name) if(!normalizePlayerName(pname)) return NULL; - Player *plr = objmgr.GetPlayer(pname.c_str()); - if(!plr) + uint64 playerGuid = objmgr.GetPlayerGUIDByName(pname.c_str()); + if(!playerGuid) return NULL; - uint64 playerGuid = plr->GetGUID(); - for(GmTicketList::iterator i = GM_TicketList.begin(); i != GM_TicketList.end();) { if((*i)->playerGuid == playerGuid && (*i)->closed == 0) |
