aboutsummaryrefslogtreecommitdiff
path: root/src/game
diff options
context:
space:
mode:
authormegamage <none@none>2009-04-29 16:51:27 -0500
committermegamage <none@none>2009-04-29 16:51:27 -0500
commite490779de0b741839599a5924a3cc536ef4e763d (patch)
tree05a88af3ce96e79d25daddf9587fdf313a860ef1 /src/game
parentb89d307f758915252670b7392d58b0181f9d5429 (diff)
parente695016e94c08fbef0f2e2df4df13fd27f0c86ef (diff)
*Merge.
--HG-- branch : trunk
Diffstat (limited to 'src/game')
-rw-r--r--src/game/Player.cpp3
-rw-r--r--src/game/Spell.cpp7
-rw-r--r--src/game/SpellEffects.cpp13
-rw-r--r--src/game/TicketMgr.cpp6
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)