mirror of
https://github.com/EQEmu/Server.git
synced 2026-09-02 08:26:36 +00:00
[Quest API] Add zone data methods to Perl/Lua (#3342)
# Perl - Add `quest::GetZoneSafeX(zone_id)`. - Add `quest::GetZoneSafeX(zone_id, version)`. - Add `quest::GetZoneSafeY(zone_id)`. - Add `quest::GetZoneSafeY(zone_id, version)`. - Add `quest::GetZoneSafeZ(zone_id)`. - Add `quest::GetZoneSafeZ(zone_id, version)`. - Add `quest::GetZoneSafeHeading(zone_id)`. - Add `quest::GetZoneSafeHeading(zone_id, version)`. - Add `quest::GetZoneMinimumLevel(zone_id)`. - Add `quest::GetZoneMinimumLevel(zone_id, version)`. - Add `quest::GetZoneMaximumLevel(zone_id)`. - Add `quest::GetZoneMaximumLevel(zone_id, version)`. - Add `quest::GetZoneMinimumStatus(zone_id)`. - Add `quest::GetZoneMinimumStatus(zone_id, version)`. - Add `quest::GetZoneTimeZone(zone_id)`. - Add `quest::GetZoneTimeZone(zone_id, version)`. - Add `quest::GetZoneMaximumPlayers(zone_id)`. - Add `quest::GetZoneMaximumPlayers(zone_id, version)`. - Add `quest::GetZoneRuleSet(zone_id)`. - Add `quest::GetZoneRuleSet(zone_id, version)`. - Add `quest::GetZoneNote(zone_id)`. - Add `quest::GetZoneNote(zone_id, version)`. - Add `quest::GetZoneUnderworld(zone_id)`. - Add `quest::GetZoneUnderworld(zone_id, version)`. - Add `quest::GetZoneMinimumClip(zone_id)`. - Add `quest::GetZoneMinimumClip(zone_id, version)`. - Add `quest::GetZoneMaximumClip(zone_id)`. - Add `quest::GetZoneMaximumClip(zone_id, version)`. - Add `quest::GetZoneFogMinimumClip(zone_id)`. - Add `quest::GetZoneFogMinimumClip(zone_id, slot)`. - Add `quest::GetZoneFogMinimumClip(zone_id, slot, version)`. - Add `quest::GetZoneFogMaximumClip(zone_id)`. - Add `quest::GetZoneFogMaximumClip(zone_id, slot)`. - Add `quest::GetZoneFogMaximumClip(zone_id, slot, version)`. - Add `quest::GetZoneFogRed(zone_id)`. - Add `quest::GetZoneFogRed(zone_id, slot)`. - Add `quest::GetZoneFogRed(zone_id, slot, version)`. - Add `quest::GetZoneFogGreen(zone_id)`. - Add `quest::GetZoneFogGreen(zone_id, slot)`. - Add `quest::GetZoneFogGreen(zone_id, slot, version)`. - Add `quest::GetZoneFogBlue(zone_id)`. - Add `quest::GetZoneFogBlue(zone_id, slot)`. - Add `quest::GetZoneFogBlue(zone_id, slot, version)`. - Add `quest::GetZoneSky(zone_id)`. - Add `quest::GetZoneSky(zone_id, version)`. - Add `quest::GetZoneZType(zone_id)`. - Add `quest::GetZoneZType(zone_id, version)`. - Add `quest::GetZoneExperienceMultiplier(zone_id)`. - Add `quest::GetZoneExperienceMultiplier(zone_id, version)`. - Add `quest::GetZoneWalkSpeed(zone_id)`. - Add `quest::GetZoneWalkSpeed(zone_id, version)`. - Add `quest::GetZoneTimeType(zone_id)`. - Add `quest::GetZoneTimeType(zone_id, version)`. - Add `quest::GetZoneFogDensity(zone_id)`. - Add `quest::GetZoneFogDensity(zone_id, version)`. - Add `quest::GetZoneFlagNeeded(zone_id)`. - Add `quest::GetZoneFlagNeeded(zone_id, version)`. - Add `quest::GetZoneCanBind(zone_id)`. - Add `quest::GetZoneCanBind(zone_id, version)`. - Add `quest::GetZoneCanCombat(zone_id)`. - Add `quest::GetZoneCanCombat(zone_id, version)`. - Add `quest::GetZoneCanLevitate(zone_id)`. - Add `quest::GetZoneCanLevitate(zone_id, version)`. - Add `quest::GetZoneCastOutdoor(zone_id)`. - Add `quest::GetZoneCastOutdoor(zone_id, version)`. - Add `quest::GetZoneHotzone(zone_id)`. - Add `quest::GetZoneHotzone(zone_id, version)`. - Add `quest::GetZoneInstanceType(zone_id)`. - Add `quest::GetZoneInstanceType(zone_id, version)`. - Add `quest::GetZoneShutdownDelay(zone_id)`. - Add `quest::GetZoneShutdownDelay(zone_id, version)`. - Add `quest::GetZonePEQZone(zone_id)`. - Add `quest::GetZonePEQZone(zone_id, version)`. - Add `quest::GetZoneExpansion(zone_id)`. - Add `quest::GetZoneExpansion(zone_id, version)`. - Add `quest::GetZoneBypassExpansionCheck(zone_id)`. - Add `quest::GetZoneBypassExpansionCheck(zone_id, version)`. - Add `quest::GetZoneSuspendBuffs(zone_id)`. - Add `quest::GetZoneSuspendBuffs(zone_id, version)`. - Add `quest::GetZoneRainChance(zone_id)`. - Add `quest::GetZoneRainChance(zone_id, slot)`. - Add `quest::GetZoneRainChance(zone_id, slot, version)`. - Add `quest::GetZoneRainDuration(zone_id)`. - Add `quest::GetZoneRainDuration(zone_id, slot)`. - Add `quest::GetZoneRainDuration(zone_id, slot, version)`. - Add `quest::GetZoneSnowChance(zone_id)`. - Add `quest::GetZoneSnowChance(zone_id, slot)`. - Add `quest::GetZoneSnowChance(zone_id, slot, version)`. - Add `quest::GetZoneSnowDuration(zone_id)`. - Add `quest::GetZoneSnowDuration(zone_id, slot)`. - Add `quest::GetZoneSnowDuration(zone_id, slot, version)`. - Add `quest::GetZoneGravity(zone_id)`. - Add `quest::GetZoneGravity(zone_id, version)`. - Add `quest::GetZoneType(zone_id)`. - Add `quest::GetZoneType(zone_id, version)`. - Add `quest::GetZoneSkyLock(zone_id)`. - Add `quest::GetZoneSkyLock(zone_id, version)`. - Add `quest::GetZoneFastRegenHP(zone_id)`. - Add `quest::GetZoneFastRegenHP(zone_id, version)`. - Add `quest::GetZoneFastRegenMana(zone_id)`. - Add `quest::GetZoneFastRegenMana(zone_id, version)`. - Add `quest::GetZoneFastRegenEndurance(zone_id)`. - Add `quest::GetZoneFastRegenEndurance(zone_id, version)`. - Add `quest::GetZoneNPCMaximumAggroDistance(zone_id)`. - Add `quest::GetZoneNPCMaximumAggroDistance(zone_id, version)`. - Add `quest::GetZoneMaximumMovementUpdateRange(zone_id)`. - Add `quest::GetZoneMaximumMovementUpdateRange(zone_id, version)`. - Add `quest::GetZoneMinimumExpansion(zone_id)`. - Add `quest::GetZoneMinimumExpansion(zone_id, version)`. - Add `quest::GetZoneMaximumExpansion(zone_id)`. - Add `quest::GetZoneMaximumExpansion(zone_id, version)`. - Add `quest::GetZoneContentFlags(zone_id)`. - Add `quest::GetZoneContentFlags(zone_id, version)`. - Add `quest::GetZoneContentFlagsDisabled(zone_id)`. - Add `quest::GetZoneContentFlagsDisabled(zone_id, version)`. - Add `quest::GetZoneUnderworldTeleportIndex(zone_id)`. - Add `quest::GetZoneUnderworldTeleportIndex(zone_id, version)`. - Add `quest::GetZoneLavaDamage(zone_id)`. - Add `quest::GetZoneLavaDamage(zone_id, version)`. - Add `quest::GetZoneMinimumLavaDamage(zone_id)`. - Add `quest::GetZoneMinimumLavaDamage(zone_id, version)`. # Lua - Add `eq.get_zone_safe_x(zone_id)`. - Add `eq.get_zone_safe_x(zone_id, version)`. - Add `eq.get_zone_safe_y(zone_id)`. - Add `eq.get_zone_safe_y(zone_id, version)`. - Add `eq.get_zone_safe_z(zone_id)`. - Add `eq.get_zone_safe_z(zone_id, version)`. - Add `eq.get_zone_safe_heading(zone_id)`. - Add `eq.get_zone_safe_heading(zone_id, version)`. - Add `eq.get_zone_minimum_level(zone_id)`. - Add `eq.get_zone_minimum_level(zone_id, version)`. - Add `eq.get_zone_maximum_level(zone_id)`. - Add `eq.get_zone_maximum_level(zone_id, version)`. - Add `eq.get_zone_minimum_status(zone_id)`. - Add `eq.get_zone_minimum_status(zone_id, version)`. - Add `eq.get_zone_time_zone(zone_id)`. - Add `eq.get_zone_time_zone(zone_id, version)`. - Add `eq.get_zone_maximum_players(zone_id)`. - Add `eq.get_zone_maximum_players(zone_id, version)`. - Add `eq.get_zone_rule_set(zone_id)`. - Add `eq.get_zone_rule_set(zone_id, version)`. - Add `eq.get_zone_note(zone_id)`. - Add `eq.get_zone_note(zone_id, version)`. - Add `eq.get_zone_underworld(zone_id)`. - Add `eq.get_zone_underworld(zone_id, version)`. - Add `eq.get_zone_minimum_clip(zone_id)`. - Add `eq.get_zone_minimum_clip(zone_id, version)`. - Add `eq.get_zone_maximum_clip(zone_id)`. - Add `eq.get_zone_maximum_clip(zone_id, version)`. - Add `eq.get_zone_fog_minimum_clip(zone_id)`. - Add `eq.get_zone_fog_minimum_clip(zone_id, slot)`. - Add `eq.get_zone_fog_minimum_clip(zone_id, slot, version)`. - Add `eq.get_zone_fog_maximum_clip(zone_id)`. - Add `eq.get_zone_fog_maximum_clip(zone_id, slot)`. - Add `eq.get_zone_fog_maximum_clip(zone_id, slot, version)`. - Add `eq.get_zone_fog_red(zone_id)`. - Add `eq.get_zone_fog_red(zone_id, slot)`. - Add `eq.get_zone_fog_red(zone_id, slot, version)`. - Add `eq.get_zone_fog_green(zone_id)`. - Add `eq.get_zone_fog_green(zone_id, slot)`. - Add `eq.get_zone_fog_green(zone_id, slot, version)`. - Add `eq.get_zone_fog_blue(zone_id)`. - Add `eq.get_zone_fog_blue(zone_id, slot)`. - Add `eq.get_zone_fog_blue(zone_id, slot, version)`. - Add `eq.get_zone_sky(zone_id)`. - Add `eq.get_zone_sky(zone_id, version)`. - Add `eq.get_zone_ztype(zone_id)`. - Add `eq.get_zone_ztype(zone_id, version)`. - Add `eq.get_zone_experience_multiplier(zone_id)`. - Add `eq.get_zone_experience_multiplier(zone_id, version)`. - Add `eq.get_zone_walk_speed(zone_id)`. - Add `eq.get_zone_walk_speed(zone_id, version)`. - Add `eq.get_zone_time_type(zone_id)`. - Add `eq.get_zone_time_type(zone_id, version)`. - Add `eq.get_zone_fog_density(zone_id)`. - Add `eq.get_zone_fog_density(zone_id, version)`. - Add `eq.get_zone_flag_needed(zone_id)`. - Add `eq.get_zone_flag_needed(zone_id, version)`. - Add `eq.get_zone_can_bind(zone_id)`. - Add `eq.get_zone_can_bind(zone_id, version)`. - Add `eq.get_zone_can_combat(zone_id)`. - Add `eq.get_zone_can_combat(zone_id, version)`. - Add `eq.get_zone_can_levitate(zone_id)`. - Add `eq.get_zone_can_levitate(zone_id, version)`. - Add `eq.get_zone_cast_outdoor(zone_id)`. - Add `eq.get_zone_cast_outdoor(zone_id, version)`. - Add `eq.get_zone_hotzone(zone_id)`. - Add `eq.get_zone_hotzone(zone_id, version)`. - Add `eq.get_zone_instance_type(zone_id)`. - Add `eq.get_zone_instance_type(zone_id, version)`. - Add `eq.get_zone_shutdown_delay(zone_id)`. - Add `eq.get_zone_shutdown_delay(zone_id, version)`. - Add `eq.get_zone_peqzone(zone_id)`. - Add `eq.get_zone_peqzone(zone_id, version)`. - Add `eq.get_zone_expansion(zone_id)`. - Add `eq.get_zone_expansion(zone_id, version)`. - Add `eq.get_zone_bypass_expansion_check(zone_id)`. - Add `eq.get_zone_bypass_expansion_check(zone_id, version)`. - Add `eq.get_zone_suspend_buffs(zone_id)`. - Add `eq.get_zone_suspend_buffs(zone_id, version)`. - Add `eq.get_zone_rain_chance(zone_id)`. - Add `eq.get_zone_rain_chance(zone_id, slot)`. - Add `eq.get_zone_rain_chance(zone_id, slot, version)`. - Add `eq.get_zone_rain_duration(zone_id)`. - Add `eq.get_zone_rain_duration(zone_id, slot)`. - Add `eq.get_zone_rain_duration(zone_id, slot, version)`. - Add `eq.get_zone_snow_chance(zone_id)`. - Add `eq.get_zone_snow_chance(zone_id, slot)`. - Add `eq.get_zone_snow_chance(zone_id, slot, version)`. - Add `eq.get_zone_snow_duration(zone_id)`. - Add `eq.get_zone_snow_duration(zone_id, slot)`. - Add `eq.get_zone_snow_duration(zone_id, slot, version)`. - Add `eq.get_zone_gravity(zone_id)`. - Add `eq.get_zone_gravity(zone_id, version)`. - Add `eq.get_zone_type(zone_id)`. - Add `eq.get_zone_type(zone_id, version)`. - Add `eq.get_zone_sky_lock(zone_id)`. - Add `eq.get_zone_sky_lock(zone_id, version)`. - Add `eq.get_zone_fast_regen_hp(zone_id)`. - Add `eq.get_zone_fast_regen_hp(zone_id, version)`. - Add `eq.get_zone_fast_regen_mana(zone_id)`. - Add `eq.get_zone_fast_regen_mana(zone_id, version)`. - Add `eq.get_zone_fast_regen_endurance(zone_id)`. - Add `eq.get_zone_fast_regen_endurance(zone_id, version)`. - Add `eq.get_zone_npc_maximum_aggro_distance(zone_id)`. - Add `eq.get_zone_npc_maximum_aggro_distance(zone_id, version)`. - Add `eq.get_zone_maximum_movement_update_range(zone_id)`. - Add `eq.get_zone_maximum_movement_update_range(zone_id, version)`. - Add `eq.get_zone_minimum_expansion(zone_id)`. - Add `eq.get_zone_minimum_expansion(zone_id, version)`. - Add `eq.get_zone_maximum_expansion(zone_id)`. - Add `eq.get_zone_maximum_expansion(zone_id, version)`. - Add `eq.get_zone_content_flags(zone_id)`. - Add `eq.get_zone_content_flags(zone_id, version)`. - Add `eq.get_zone_content_flags_disabled(zone_id)`. - Add `eq.get_zone_content_flags_disabled(zone_id, version)`. - Add `eq.get_zone_underworld_teleport_index(zone_id)`. - Add `eq.get_zone_underworld_teleport_index(zone_id, version)`. - Add `eq.get_zone_lava_damage(zone_id)`. - Add `eq.get_zone_lava_damage(zone_id, version)`. - Add `eq.get_zone_minimum_lava_damage(zone_id)`. - Add `eq.get_zone_minimum_lava_damage(zone_id, version)`. # Notes - These methods add support for reading every value that the `zone` table contains, allowing operators to get any information about a specific zone and version they could need.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -24,6 +24,8 @@
|
||||
#include "../common/repositories/zone_repository.h"
|
||||
#include "../common/repositories/base/base_content_flags_repository.h"
|
||||
|
||||
#include <glm/vec4.hpp>
|
||||
|
||||
class ZoneStore {
|
||||
public:
|
||||
ZoneStore();
|
||||
@@ -43,6 +45,62 @@ public:
|
||||
const char *GetZoneName(uint32 zone_id, bool error_unknown = false);
|
||||
const char *GetZoneLongName(uint32 zone_id, bool error_unknown = false);
|
||||
ZoneRepository::Zone *GetZoneWithFallback(uint32 zone_id, int version = 0);
|
||||
|
||||
glm::vec4 GetZoneSafeCoordinates(uint32 zone_id, int version = 0);
|
||||
float GetZoneGraveyardID(uint32 zone_id, int version = 0);
|
||||
uint8 GetZoneMinimumLevel(uint32 zone_id, int version = 0);
|
||||
uint8 GetZoneMaximumLevel(uint32 zone_id, int version = 0);
|
||||
uint8 GetZoneMinimumStatus(uint32 zone_id, int version = 0);
|
||||
int GetZoneTimeZone(uint32 zone_id, int version = 0);
|
||||
int GetZoneMaximumPlayers(uint32 zone_id, int version = 0);
|
||||
uint32 GetZoneRuleSet(uint32 zone_id, int version = 0);
|
||||
const std::string& GetZoneNote(uint32 zone_id, int version = 0);
|
||||
float GetZoneUnderworld(uint32 zone_id, int version = 0);
|
||||
float GetZoneMinimumClip(uint32 zone_id, int version = 0);
|
||||
float GetZoneMaximumClip(uint32 zone_id, int version = 0);
|
||||
float GetZoneFogMinimumClip(uint32 zone_id, uint8 slot = 0, int version = 0);
|
||||
float GetZoneFogMaximumClip(uint32 zone_id, uint8 slot = 0, int version = 0);
|
||||
uint8 GetZoneFogRed(uint32 zone_id, uint8 slot = 0, int version = 0);
|
||||
uint8 GetZoneFogGreen(uint32 zone_id, uint8 slot = 0, int version = 0);
|
||||
uint8 GetZoneFogBlue(uint32 zone_id, uint8 slot = 0, int version = 0);
|
||||
uint8 GetZoneSky(uint32 zone_id, int version = 0);
|
||||
uint8 GetZoneZType(uint32 zone_id, int version = 0);
|
||||
float GetZoneExperienceMultiplier(uint32 zone_id, int version = 0);
|
||||
float GetZoneWalkSpeed(uint32 zone_id, int version = 0);
|
||||
uint8 GetZoneTimeType(uint32 zone_id, int version = 0);
|
||||
float GetZoneFogDensity(uint32 zone_id, int version = 0);
|
||||
const std::string& GetZoneFlagNeeded(uint32 zone_id, int version = 0);
|
||||
int8 GetZoneCanBind(uint32 zone_id, int version = 0);
|
||||
int8 GetZoneCanCombat(uint32 zone_id, int version = 0);
|
||||
int8 GetZoneCanLevitate(uint32 zone_id, int version = 0);
|
||||
int8 GetZoneCastOutdoor(uint32 zone_id, int version = 0);
|
||||
uint8 GetZoneHotzone(uint32 zone_id, int version = 0);
|
||||
uint8 GetZoneInstanceType(uint32 zone_id, int version = 0);
|
||||
uint64 GetZoneShutdownDelay(uint32 zone_id, int version = 0);
|
||||
int8 GetZonePEQZone(uint32 zone_id, int version = 0);
|
||||
int8 GetZoneExpansion(uint32 zone_id, int version = 0);
|
||||
int8 GetZoneBypassExpansionCheck(uint32 zone_id, int version = 0);
|
||||
uint8 GetZoneSuspendBuffs(uint32 zone_id, int version = 0);
|
||||
int GetZoneRainChance(uint32 zone_id, uint8 slot = 0, int version = 0);
|
||||
int GetZoneRainDuration(uint32 zone_id, uint8 slot = 0, int version = 0);
|
||||
int GetZoneSnowChance(uint32 zone_id, uint8 slot = 0, int version = 0);
|
||||
int GetZoneSnowDuration(uint32 zone_id, uint8 slot = 0, int version = 0);
|
||||
float GetZoneGravity(uint32 zone_id, int version = 0);
|
||||
int GetZoneType(uint32 zone_id, int version = 0);
|
||||
int8 GetZoneSkyLock(uint32 zone_id, int version = 0);
|
||||
int GetZoneFastRegenHP(uint32 zone_id, int version = 0);
|
||||
int GetZoneFastRegenMana(uint32 zone_id, int version = 0);
|
||||
int GetZoneFastRegenEndurance(uint32 zone_id, int version = 0);
|
||||
int GetZoneNPCMaximumAggroDistance(uint32 zone_id, int version = 0);
|
||||
uint32 GetZoneMaximumMovementUpdateRange(uint32 zone_id, int version = 0);
|
||||
int8 GetZoneMinimumExpansion(uint32 zone_id, int version = 0);
|
||||
int8 GetZoneMaximumExpansion(uint32 zone_id, int version = 0);
|
||||
const std::string& GetZoneContentFlags(uint32 zone_id, int version = 0);
|
||||
const std::string& GetZoneContentFlagsDisabled(uint32 zone_id, int version = 0);
|
||||
int GetZoneUnderworldTeleportIndex(uint32 zone_id, int version = 0);
|
||||
int GetZoneLavaDamage(uint32 zone_id, int version = 0);
|
||||
int GetZoneMinimumLavaDamage(uint32 zone_id, int version = 0);
|
||||
|
||||
private:
|
||||
std::vector<ZoneRepository::Zone> m_zones;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user