Partial fix for issue #104
@@ -9188,4 +9188,25 @@ int EQ2Emu_lua_CheckLOSByCoordinates(lua_State* state) {
return spawn->CheckLoS(glm::vec3(spawn->GetX(), spawn->GetZ(), spawn->GetY() + 1.0f), glm::vec3(x, z, y+1.0f));
return 0;
+}
+
+int EQ2Emu_lua_SetZoneExpansionFlag(lua_State* state) {
+ if (!lua_interface)
+ return 0;
+ ZoneServer* zone = lua_interface->GetZone(state);
+ int32 xpackFlag = lua_interface->GetInt32Value(state, 2);
+ if (zone)
+ zone->SetExpansionFlag(xpackFlag);
+int EQ2Emu_lua_GetZoneExpansionFlag(lua_State* state) {
+ if (zone) {
+ lua_interface->SetInt32Value(state, zone->GetExpansionFlag());
+ return 1;
+ }
}
@@ -413,4 +413,7 @@ int EQ2Emu_lua_ProcHate(lua_State* state);
int EQ2Emu_lua_CheckLOS(lua_State* state);
int EQ2Emu_lua_CheckLOSByCoordinates(lua_State* state);
+int EQ2Emu_lua_SetZoneExpansionFlag(lua_State* state);
+int EQ2Emu_lua_GetZoneExpansionFlag(lua_State* state);
#endif
@@ -1016,6 +1016,9 @@ void LuaInterface::RegisterFunctions(lua_State* state) {
lua_register(state, "CheckLOS", EQ2Emu_lua_CheckLOS);
lua_register(state, "CheckLOSByCoordinates", EQ2Emu_lua_CheckLOSByCoordinates);
+ lua_register(state, "SetZoneExpansionFlag", EQ2Emu_lua_SetZoneExpansionFlag);
+ lua_register(state, "GetZoneExpansionFlag", EQ2Emu_lua_GetZoneExpansionFlag);
void LuaInterface::LogError(const char* error, ...) {