- Timestamp:
- 11/19/08 13:50:23 (17 years ago)
- Location:
- trunk/src/game
- Files:
-
- 3 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/game/ArenaTeam.cpp
r245 r246 98 98 if(pl) 99 99 { 100 if(pl->GetArenaTeamId(Get Slot()))100 if(pl->GetArenaTeamId(GetType())) 101 101 { 102 102 sLog.outError("Arena::AddMember() : player already in this sized team"); -
trunk/src/game/GameObject.cpp
r230 r246 1281 1281 { 1282 1282 trigger->setFaction(14); 1283 trigger->CastSpell(target, spell, true );1283 trigger->CastSpell(target, spell, true, 0, 0, target->GetGUID()); 1284 1284 } 1285 1285 //trigger->setDeathState(JUST_DIED); -
trunk/src/game/SpellEffects.cpp
r240 r246 334 334 break; 335 335 } 336 // must only affect demons 336 // must only affect demons (also undead?) 337 337 case 45072: 338 338 { 339 if(unitTarget->GetCreatureType() != CREATURE_TYPE_DEMON) 339 if(unitTarget->GetCreatureType() != CREATURE_TYPE_DEMON 340 || unitTarget->GetCreatureType() != CREATURE_TYPE_UNDEAD) 340 341 return; 341 342 break; 342 343 } 344 // gruul's shatter 345 case 33671: 346 { 347 // don't damage self and only players 348 if(unitTarget->GetGUID() == m_caster->GetGUID() || unitTarget->GetTypeId() != TYPEID_PLAYER) 349 return; 350 351 float radius = GetSpellRadius(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[0])); 352 if(!radius) return; 353 float distance = m_caster->GetDistance2d(unitTarget); 354 damage = (distance > radius ) ? 0 : (int32)(m_spellInfo->EffectBasePoints[0]*((radius - distance)/radius)); 355 }break; 343 356 } 344 357 break; … … 2638 2651 float radius = GetSpellRadius(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[i])); 2639 2652 Unit *caster = m_originalCasterGUID ? m_originalCaster : m_caster; 2653 if(!caster) return; 2640 2654 2641 2655 if(Player* modOwner = caster->GetSpellModOwner())