All pastes #1050221 Raw Copy code Copy link Edit

Stuff

public unlisted diff v1 · immutable
#1050221 ·published 2008-06-18 15:39 UTC
rendered paste body
Index: src/game/GameObject.cpp===================================================================--- src/game/GameObject.cpp	(revision 6126)+++ src/game/GameObject.cpp	(working copy)@@ -752,8 +752,17 @@     if(!trapSpell)                                          // checked at load already         return; -    float range = GetSpellMaxRange(sSpellRangeStore.LookupEntry(trapSpell->rangeIndex));-+    //all spells associated with GO type 6 have range 0 yards (self), use effect radius for trap search+    float distance = 0.0f;+    float radius;+    //search largest Effect Radius+    for (int i = 0; i < 3; i++)+    {+	radius = GetSpellRadius(sSpellRadiusStore.LookupEntry(trapSpell->EffectRadiusIndex[i]));+	if ( radius  > distance ) distance = radius;+    }+    +    sLog.outDebug("Triggering trap [id: %u] with Spell [entry:%u] in distance %f yards",trapEntry,trapInfo->trap.spellId, distance);     // search nearest linked GO     GameObject* trapGO = NULL;     {@@ -762,7 +771,7 @@         Cell cell(p);         cell.data.Part.reserved = ALL_DISTRICT; -        MaNGOS::NearestGameObjectEntryInObjectRangeCheck go_check(*target,trapEntry,range);+        MaNGOS::NearestGameObjectEntryInObjectRangeCheck go_check(*target,trapEntry,distance);         MaNGOS::GameObjectLastSearcher<MaNGOS::NearestGameObjectEntryInObjectRangeCheck> checker(trapGO,go_check);          TypeContainerVisitor<MaNGOS::GameObjectLastSearcher<MaNGOS::NearestGameObjectEntryInObjectRangeCheck>, GridTypeMapContainer > object_checker(checker);@@ -774,6 +783,7 @@     // FIXME: when GO casting will be implemented trap must cast spell to target     if(trapGO)         target->CastSpell(target,trapSpell,true);+    else sLog.outDebug("Trap [id: %u] not found in distance %f yards",trapEntry, distance); }  GameObject* GameObject::LookupFishingHoleAround(float range)