Add DynamicZone class for expedition instancing

Add DynamicZone sql table schema

Add DynamicZones logging category

Modify CreateExpedition to take DynamicZone and ExpeditionRequest objects

Implement DynamicZone compass, safereturn, and zone-in coordinates.

Implement live-like DynamicZone instance kick timer for removed members

Implement updating multiple client compasses (supports existing quest compass)

fix: Send client compass update after entering zones to clear existing compass

Implement Client::MovePCDynamicZone to invoke DynamicZoneSwitchListWnd
when entering a zone where client has multiple dynamic zones assigned

Implement OP_DzChooseZoneReply handling

Add Lua api methods for expedition's associated dynamic zone

Add #dz list gm command to list current DynamicZone instances from database
This commit is contained in:
hg
2020-04-18 14:11:28 -04:00
parent f74605d339
commit 8eef2ae089
35 changed files with 1416 additions and 185 deletions
+8 -2
View File
@@ -38,7 +38,6 @@ namespace luabind {
using adl::object;
}
luabind::scope lua_register_dynamiczone_types();
luabind::scope lua_register_expedition();
luabind::scope lua_register_expedition_member_status();
@@ -57,15 +56,22 @@ public:
void AddLockout(std::string event_name, uint32_t seconds);
void AddReplayLockout(uint32_t seconds);
uint32_t GetID();
int GetInstanceID();
std::string GetLeaderName();
uint32_t GetMemberCount();
luabind::object GetMembers(lua_State* L);
std::string GetName();
int GetType();
int GetSecondsRemaining();
int GetZoneID();
luabind::object GetLockouts(lua_State* L);
bool HasLockout(std::string event_name);
bool HasReplayLockout();
void RemoveLockout(std::string event_name);
void SetCompass(uint32 zone_id, float x, float y, float z);
void SetCompass(std::string zone_name, float x, float y, float z);
void SetSafeReturn(uint32 zone_id, float x, float y, float z, float heading);
void SetSafeReturn(std::string zone_name, float x, float y, float z, float heading);
void SetZoneInLocation(float x, float y, float z, float heading);
};
#endif // LUA_EQEMU