diff options
author | aven_coda <none@none> | 2009-07-09 18:06:08 +0200 |
---|---|---|
committer | aven_coda <none@none> | 2009-07-09 18:06:08 +0200 |
commit | b39bff681f41b12c483d2fa0a58623bd26ff5871 (patch) | |
tree | 619fde170568437df9ef1d0cd659212eb117a464 | |
parent | 5206cd8a4ebc42c3c08d5d933f986298676b2d6d (diff) |
*Allow to fish in shallow water.
--HG--
branch : trunk
-rw-r--r-- | src/game/Map.cpp | 4 | ||||
-rw-r--r-- | src/game/Map.h | 2 | ||||
-rw-r--r-- | src/game/SpellEffects.cpp | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/src/game/Map.cpp b/src/game/Map.cpp index 044d48cac36..4d6c10107eb 100644 --- a/src/game/Map.cpp +++ b/src/game/Map.cpp @@ -1989,7 +1989,7 @@ void Map::GetZoneAndAreaIdByAreaFlag(uint32& zoneid, uint32& areaid, uint16 area zoneid = entry ? (( entry->zone != 0 ) ? entry->zone : entry->ID) : 0; } -bool Map::IsInWater(float x, float y, float pZ) const +bool Map::IsInWater(float x, float y, float pZ, float min_depth) const { // Check surface in x, y point for liquid if (GridMap* gmap = const_cast<Map*>(this)->GetGrid(x, y)) @@ -1997,7 +1997,7 @@ bool Map::IsInWater(float x, float y, float pZ) const LiquidData liquid_status; if (getLiquidStatus(x, y, pZ, MAP_ALL_LIQUIDS, &liquid_status)) { - if (liquid_status.level - liquid_status.depth_level > 2) + if (liquid_status.level - liquid_status.depth_level > min_depth) return true; } } diff --git a/src/game/Map.h b/src/game/Map.h index 4caa1942c3c..0e0c3cdc1c8 100644 --- a/src/game/Map.h +++ b/src/game/Map.h @@ -310,7 +310,7 @@ class MANGOS_DLL_SPEC Map : public GridRefManager<NGridType>, public MaNGOS::Obj // can return INVALID_HEIGHT if under z+2 z coord not found height float GetHeight(float x, float y, float z, bool pCheckVMap=true) const; float GetVmapHeight(float x, float y, float z, bool useMaps) const; - bool IsInWater(float x, float y, float z) const; // does not use z pos. This is for future use + bool IsInWater(float x, float y, float z, float min_depth = 2.0f) const; ZLiquidStatus getLiquidStatus(float x, float y, float z, uint8 ReqLiquidType, LiquidData *data = 0) const; diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 4f44c7f98ed..961e479a276 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -6423,7 +6423,7 @@ void Spell::EffectTransmitted(uint32 effIndex) if(goinfo->type==GAMEOBJECT_TYPE_FISHINGNODE) { - if ( !cMap->IsInWater(fx, fy, fz-0.5f)) // Hack to prevent fishing bobber from failing to land on fishing hole + 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); |