mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-11 21:01:29 +00:00
I don't think this should open up any chance to exploit Trying to use a ZL to go somewhere else is still detected etc This should really cut down on false positives and we really can't see real cheater from all the noise this creates
44 lines
1.1 KiB
C++
44 lines
1.1 KiB
C++
#ifndef EQEMU_WATER_MAP_H
|
|
#define EQEMU_WATER_MAP_H
|
|
|
|
#include "../common/types.h"
|
|
#include "position.h"
|
|
#include "zone_config.h"
|
|
#include <string>
|
|
|
|
extern const ZoneConfig *Config;
|
|
|
|
enum WaterRegionType : int {
|
|
RegionTypeUnsupported = -2,
|
|
RegionTypeUntagged = -1,
|
|
RegionTypeNormal = 0,
|
|
RegionTypeWater = 1,
|
|
RegionTypeLava = 2,
|
|
RegionTypeZoneLine = 3,
|
|
RegionTypePVP = 4,
|
|
RegionTypeSlime = 5,
|
|
RegionTypeIce = 6,
|
|
RegionTypeVWater = 7
|
|
};
|
|
|
|
class WaterMap
|
|
{
|
|
public:
|
|
WaterMap() { }
|
|
virtual ~WaterMap() { }
|
|
|
|
static WaterMap* LoadWaterMapfile(std::string zone_name);
|
|
virtual WaterRegionType ReturnRegionType(const glm::vec3& location) const = 0;
|
|
virtual bool InWater(const glm::vec3& location) const = 0;
|
|
virtual bool InVWater(const glm::vec3& location) const = 0;
|
|
virtual bool InLava(const glm::vec3& location) const = 0;
|
|
virtual bool InLiquid(const glm::vec3& location) const = 0;
|
|
virtual bool InPvP(const glm::vec3& location) const = 0;
|
|
virtual bool InZoneLine(const glm::vec3& location) const = 0;
|
|
|
|
protected:
|
|
virtual bool Load(FILE *fp) { return false; }
|
|
};
|
|
|
|
#endif
|