void PlanetManagerImplementation::initialize() { performanceLocations = new MissionTargetMap(); numberOfCities = 0; info("Loading planet."); planetTravelPointList->setZoneName(zone->getZoneName()); loadClientRegions(); loadClientPoiData(); loadLuaConfig(); loadTravelFares(); loadBadgeAreas(); loadPerformanceLocations(); loadStaticTangibleObjects(); if (zone->getZoneName() == "dathomir") { Reference<ActiveArea*> area = zone->getZoneServer()->createObject(String("object/fs_village_area.iff").hashCode(), 0).castTo<ActiveArea*>(); area->setRadius(512.f); area->initializePosition(5306, 0, -4145); zone->transferObject(area, -1, true); } }
void PlanetManagerImplementation::loadLuaConfig() { String planetName = zone->getZoneName(); Lua* lua = new Lua(); lua->init(); lua->runFile("scripts/managers/planet_manager.lua"); //Get's the configuration settings object for this planet. LuaObject luaObject = lua->getGlobalObject(planetName); if (luaObject.isValidTable()) { bool weatherEnabled = luaObject.getIntField("weatherEnabled"); if(weatherEnabled) { weatherManager = new WeatherManager(zone); weatherManager->initialize(); } else { info("Weather Disabled", true); } bool gcwEnabled = luaObject.getIntField("gcwEnabled"); if(gcwEnabled) { gcwManager = new GCWManager(zone); gcwManager->start(); } LuaObject planetTravelPointsTable = luaObject.getObjectField("planetTravelPoints"); planetTravelPointList->readLuaObject(&planetTravelPointsTable); planetTravelPointsTable.pop(); loadSnapshotObjects(); LuaObject planetObjectsTable = luaObject.getObjectField("planetObjects"); loadPlanetObjects(&planetObjectsTable); planetObjectsTable.pop(); LuaObject badges = luaObject.getObjectField("badgeAreas"); loadBadgeAreas(&badges); badges.pop(); } else { warning("Configuration settings not found."); } luaObject.pop(); // Configure shuttleport timing if ((shuttleportAwayTime = lua->getGlobalInt("shuttleportAwayTime")) <= 0) shuttleportAwayTime = 300; if ((shuttleportLandedTime = lua->getGlobalInt("shuttleportLandedTime")) <= 0) shuttleportLandedTime = 120; if ((shuttleportLandingTime = lua->getGlobalInt("shuttleportLandingTime")) <= 0) shuttleportLandingTime = 11; // Configure starport timing if ((starportAwayTime = lua->getGlobalInt("starportAwayTime")) <= 0) starportAwayTime = 60; if ((starportLandedTime = lua->getGlobalInt("starportLandedTime")) <= 0) starportLandedTime = 120; if ((starportLandingTime = lua->getGlobalInt("starportLandingTime")) <= 0) starportLandingTime = 120; delete lua; lua = NULL; }