diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp | 4 | ||||
-rw-r--r-- | src/game/SpellEffects.cpp | 12 |
2 files changed, 13 insertions, 3 deletions
diff --git a/src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp b/src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp index ebeda6aa565..4819b03ddc1 100644 --- a/src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp +++ b/src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp @@ -130,6 +130,10 @@ struct TRINITY_DLL_DECL instance_serpentshrine_cavern : public ScriptedInstance StrangePool = pGo->GetGUID(); if (pGo->isActiveObject()) SetData(DATA_STRANGE_POOL, DONE); + break; + case GAMEOBJECT_FISHINGNODE_ENTRY: + //todo (yes this works) + break; } } diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 9645ff7118c..2c748bba89d 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -6627,10 +6627,15 @@ void Spell::EffectTransmitted(uint32 effIndex) } Map *cMap = m_caster->GetMap(); - if(goinfo->type==GAMEOBJECT_TYPE_FISHINGNODE) { - if ( !cMap->IsInWater(fx, fy, fz-0.5f, 0.5f)) // Hack to prevent fishing bobber from failing to land on fishing hole + //dirty way to hack serpent shrine pool + if(cMap->GetId() == 548 && m_caster->GetDistance(36.69, -416.38, -19.9645) <= 16)//center of strange pool + { + fx = 36.69+irand(-8,8);//random place for the bobber + fy = -416.38+irand(-8,8); + fz = -19.9645;//serpentshrine water level + }else if ( !cMap->IsInWater(fx, fy, fz-0.5f, 0.5f)) // Hack to prevent fishing bobber from failing to land on fishing hole { // but this is not proper, we really need to ignore not materialized objects SendCastResult(SPELL_FAILED_NOT_HERE); SendChannelUpdate(0); @@ -6638,7 +6643,8 @@ void Spell::EffectTransmitted(uint32 effIndex) } // replace by water level in this case - fz = cMap->GetWaterLevel(fx, fy); + if(cMap->GetId() != 548)//if map is not serpentshrine caverns + fz = cMap->GetWaterLevel(fx, fy); } // if gameobject is summoning object, it should be spawned right on caster's position else if(goinfo->type==GAMEOBJECT_TYPE_SUMMONING_RITUAL) |