*enable fishing in Serpentshrine caverns' strange pool
it's a hack but don't have better idea --HG-- branch : trunk
This commit is contained in:
+4
@@ -130,6 +130,10 @@ struct TRINITY_DLL_DECL instance_serpentshrine_cavern : public ScriptedInstance
|
|||||||
StrangePool = pGo->GetGUID();
|
StrangePool = pGo->GetGUID();
|
||||||
if (pGo->isActiveObject())
|
if (pGo->isActiveObject())
|
||||||
SetData(DATA_STRANGE_POOL, DONE);
|
SetData(DATA_STRANGE_POOL, DONE);
|
||||||
|
break;
|
||||||
|
case GAMEOBJECT_FISHINGNODE_ENTRY:
|
||||||
|
//todo (yes this works)
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6627,10 +6627,15 @@ void Spell::EffectTransmitted(uint32 effIndex)
|
|||||||
}
|
}
|
||||||
|
|
||||||
Map *cMap = m_caster->GetMap();
|
Map *cMap = m_caster->GetMap();
|
||||||
|
|
||||||
if(goinfo->type==GAMEOBJECT_TYPE_FISHINGNODE)
|
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
|
{ // but this is not proper, we really need to ignore not materialized objects
|
||||||
SendCastResult(SPELL_FAILED_NOT_HERE);
|
SendCastResult(SPELL_FAILED_NOT_HERE);
|
||||||
SendChannelUpdate(0);
|
SendChannelUpdate(0);
|
||||||
@@ -6638,7 +6643,8 @@ void Spell::EffectTransmitted(uint32 effIndex)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// replace by water level in this case
|
// 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
|
// if gameobject is summoning object, it should be spawned right on caster's position
|
||||||
else if(goinfo->type==GAMEOBJECT_TYPE_SUMMONING_RITUAL)
|
else if(goinfo->type==GAMEOBJECT_TYPE_SUMMONING_RITUAL)
|
||||||
|
|||||||
Reference in New Issue
Block a user