mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-05-05 10:17:46 +00:00
More framework changes, linker still unhappy
This commit is contained in:
parent
83cb17610c
commit
250b1aef79
15 changed files with 661 additions and 614 deletions
|
@ -2,19 +2,19 @@
|
|||
|
||||
#include "Aethernet.cpp"
|
||||
#include "Aetheryte.cpp"
|
||||
#include "CmnDefCutSceneReplay.cpp"
|
||||
#include "CmnDefInnBed.cpp"
|
||||
#include "CmnDefLinkShell.cpp"
|
||||
#include "HouFurOrchestrion.cpp"
|
||||
#include "CmnDefInnBed.cpp"
|
||||
#include "CmnDefCutSceneReplay.cpp"
|
||||
#include "CmnDefLinkShell.cpp"
|
||||
|
||||
const ScriptObject* ptrs[] =
|
||||
{
|
||||
static_cast< ScriptObject* >( new Aethernet ),
|
||||
static_cast< ScriptObject* >( new Aetheryte ),
|
||||
static_cast< ScriptObject* >( new CmnDefCutSceneReplay ),
|
||||
static_cast< ScriptObject* >( new CmnDefInnBed ),
|
||||
static_cast< ScriptObject* >( new CmnDefLinkShell ),
|
||||
static_cast< ScriptObject* >( new HouFurOrchestrion ),
|
||||
static_cast< ScriptObject* >( new CmnDefInnBed ),
|
||||
static_cast< ScriptObject* >( new CmnDefCutSceneReplay ),
|
||||
static_cast< ScriptObject* >( new CmnDefLinkShell ),
|
||||
|
||||
nullptr
|
||||
};
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,13 +1,13 @@
|
|||
#include <Script/NativeScriptApi.h>
|
||||
|
||||
#include "OpeningGridania.cpp"
|
||||
#include "OpeningLimsa.cpp"
|
||||
#include "OpeningGridania.cpp"
|
||||
#include "OpeningUldah.cpp"
|
||||
|
||||
const ScriptObject* ptrs[] =
|
||||
{
|
||||
static_cast< ScriptObject* >( new OpeningGridania ),
|
||||
static_cast< ScriptObject* >( new OpeningLimsa ),
|
||||
static_cast< ScriptObject* >( new OpeningGridania ),
|
||||
static_cast< ScriptObject* >( new OpeningUldah ),
|
||||
|
||||
nullptr
|
||||
|
|
|
@ -1,32 +1,32 @@
|
|||
#include <Script/NativeScriptApi.h>
|
||||
|
||||
#include "ManFst001.cpp"
|
||||
#include "ManFst004.cpp"
|
||||
#include "ManSea002.cpp"
|
||||
#include "ManFst002.cpp"
|
||||
#include "ManFst003.cpp"
|
||||
#include "ManFst004.cpp"
|
||||
#include "ManSea001.cpp"
|
||||
#include "ManSea002.cpp"
|
||||
#include "ManWil001.cpp"
|
||||
#include "ManWil002.cpp"
|
||||
#include "subquest/gridania/SubFst001.cpp"
|
||||
#include "ManFst001.cpp"
|
||||
#include "subquest/gridania/SubFst002.cpp"
|
||||
#include "subquest/gridania/SubFst010.cpp"
|
||||
#include "subquest/gridania/SubFst013.cpp"
|
||||
#include "subquest/gridania/SubFst001.cpp"
|
||||
#include "subquest/gridania/SubFst010.cpp"
|
||||
#include "ManSea001.cpp"
|
||||
|
||||
const ScriptObject* ptrs[] =
|
||||
{
|
||||
static_cast< ScriptObject* >( new ManFst001 ),
|
||||
static_cast< ScriptObject* >( new ManFst004 ),
|
||||
static_cast< ScriptObject* >( new ManSea002 ),
|
||||
static_cast< ScriptObject* >( new ManFst002 ),
|
||||
static_cast< ScriptObject* >( new ManFst003 ),
|
||||
static_cast< ScriptObject* >( new ManFst004 ),
|
||||
static_cast< ScriptObject* >( new ManSea001 ),
|
||||
static_cast< ScriptObject* >( new ManSea002 ),
|
||||
static_cast< ScriptObject* >( new ManWil001 ),
|
||||
static_cast< ScriptObject* >( new ManWil002 ),
|
||||
static_cast< ScriptObject* >( new SubFst001 ),
|
||||
static_cast< ScriptObject* >( new ManFst001 ),
|
||||
static_cast< ScriptObject* >( new SubFst002 ),
|
||||
static_cast< ScriptObject* >( new SubFst010 ),
|
||||
static_cast< ScriptObject* >( new SubFst013 ),
|
||||
static_cast< ScriptObject* >( new SubFst001 ),
|
||||
static_cast< ScriptObject* >( new SubFst010 ),
|
||||
static_cast< ScriptObject* >( new ManSea001 ),
|
||||
|
||||
nullptr
|
||||
};
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
#include "Forwards.h"
|
||||
#include "Framework.h"
|
||||
|
||||
extern Core::Framework g_framework;
|
||||
extern Core::Framework g_fw;
|
||||
|
||||
using namespace Core::Common;
|
||||
using namespace Core::Network::Packets;
|
||||
|
@ -109,7 +109,8 @@ void Core::Network::GameConnection::gm1Handler( const Packets::GamePacket& inPac
|
|||
uint32_t param2 = inPacket.getValAt< uint32_t >( 0x28 );
|
||||
uint32_t param3 = inPacket.getValAt< uint32_t >( 0x38 );
|
||||
|
||||
g_framework.getLogger().debug( player.getName() + " used GM1 commandId: " + std::to_string( commandId ) +
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->debug( player.getName() + " used GM1 commandId: " + std::to_string( commandId ) +
|
||||
", params: " + std::to_string( param1 ) + ", " +
|
||||
std::to_string( param2 ) + ", " + std::to_string( param3 ) );
|
||||
|
||||
|
@ -409,19 +410,20 @@ void Core::Network::GameConnection::gm1Handler( const Packets::GamePacket& inPac
|
|||
}
|
||||
case GmCommand::Teri:
|
||||
{
|
||||
if( auto instance = g_framework.getTerritoryMgr().getInstanceZonePtr( param1 ) )
|
||||
auto pTeriMgr = g_fw.get< TerritoryMgr >();
|
||||
if( auto instance = pTeriMgr->getInstanceZonePtr( param1 ) )
|
||||
{
|
||||
player.sendDebug( "Found instance: " + instance->getName() + ", id: " + std::to_string( param1 ) );
|
||||
|
||||
player.setInstance( instance );
|
||||
}
|
||||
else if( !g_framework.getTerritoryMgr().isValidTerritory( param1 ) )
|
||||
else if( !pTeriMgr->isValidTerritory( param1 ) )
|
||||
{
|
||||
player.sendUrgent( "Invalid zone " + std::to_string( param1 ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
auto pZone = g_framework.getTerritoryMgr().getZoneByTerriId( param1 );
|
||||
auto pZone = pTeriMgr->getZoneByTerriId( param1 );
|
||||
if( !pZone )
|
||||
{
|
||||
player.sendUrgent( "No zone instance found for " + std::to_string( param1 ) );
|
||||
|
@ -468,12 +470,15 @@ void Core::Network::GameConnection::gm2Handler( const Packets::GamePacket& inPac
|
|||
if( player.getGmRank() <= 0 )
|
||||
return;
|
||||
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
auto pServerZone = g_fw.get< ServerZone >();
|
||||
|
||||
uint32_t commandId = inPacket.getValAt< uint32_t >( 0x20 );
|
||||
std::string param1 = inPacket.getStringAt( 0x34 );
|
||||
|
||||
g_framework.getLogger().debug( player.getName() + " used GM2 commandId: " + std::to_string( commandId ) + ", params: " + param1 );
|
||||
pLog->debug( player.getName() + " used GM2 commandId: " + std::to_string( commandId ) + ", params: " + param1 );
|
||||
|
||||
auto targetSession = g_framework.getServerZone().getSession( param1 );
|
||||
auto targetSession = pServerZone->getSession( param1 );
|
||||
Core::Entity::CharaPtr targetActor;
|
||||
|
||||
if( targetSession != nullptr )
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "Forwards.h"
|
||||
#include "Framework.h"
|
||||
|
||||
extern Core::Framework g_framework;
|
||||
extern Core::Framework g_fw;
|
||||
|
||||
using namespace Core::Common;
|
||||
using namespace Core::Network::Packets;
|
||||
|
@ -54,9 +54,11 @@ void Core::Network::GameConnection::inventoryModifyHandler( const Packets::GameP
|
|||
ackPacket.data().type = 7;
|
||||
player.queuePacket( ackPacket );
|
||||
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
|
||||
g_framework.getLogger().debug( inPacket.toString() );
|
||||
g_framework.getLogger().debug( "InventoryAction: " + std::to_string( action ) );
|
||||
|
||||
pLog->debug( inPacket.toString() );
|
||||
pLog->debug( "InventoryAction: " + std::to_string( action ) );
|
||||
|
||||
// TODO: other inventory operations need to be implemented
|
||||
switch( action )
|
||||
|
|
|
@ -7,6 +7,9 @@
|
|||
#include <Network/PacketContainer.h>
|
||||
#include <Network/PacketDef/Chat/ServerChatDef.h>
|
||||
#include <Database/DatabaseDef.h>
|
||||
#include <Database/DbWorkerPool.h>
|
||||
#include <Database/CharaDbConnection.h>
|
||||
|
||||
#include <boost/format.hpp>
|
||||
#include <unordered_map>
|
||||
#include "Network/GameConnection.h"
|
||||
|
@ -43,7 +46,7 @@
|
|||
#include "Forwards.h"
|
||||
#include "Framework.h"
|
||||
|
||||
extern Core::Framework g_framework;
|
||||
extern Core::Framework g_fw;
|
||||
|
||||
using namespace Core::Common;
|
||||
using namespace Core::Network::Packets;
|
||||
|
@ -285,20 +288,20 @@ void Core::Network::GameConnection::updatePositionHandler( const Packets::GamePa
|
|||
void Core::Network::GameConnection::reqEquipDisplayFlagsHandler( const Packets::GamePacket& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
g_framework.getLogger().info( "[" + std::to_string( player.getId() ) + "] Setting EquipDisplayFlags to " + std::to_string( inPacket.getValAt< uint8_t >( 0x20 ) ) );
|
||||
player.setEquipDisplayFlags( inPacket.getValAt< uint8_t >( 0x20 ) );
|
||||
}
|
||||
|
||||
void Core::Network::GameConnection::zoneLineHandler( const Packets::GamePacket& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto pTeriMgr = g_fw.get< TerritoryMgr >();
|
||||
uint32_t zoneLineId = inPacket.getValAt< uint32_t >( 0x20 );
|
||||
|
||||
player.sendDebug( "Walking ZoneLine " + std::to_string( zoneLineId ) );
|
||||
|
||||
auto pZone = player.getCurrentZone();
|
||||
|
||||
auto pLine = g_framework.getTerritoryMgr().getTerritoryPosition( zoneLineId );
|
||||
auto pLine = pTeriMgr->getTerritoryPosition( zoneLineId );
|
||||
|
||||
Common::FFXIVARR_POSITION3 targetPos{};
|
||||
uint32_t targetZone;
|
||||
|
@ -337,7 +340,9 @@ void Core::Network::GameConnection::discoveryHandler( const Packets::GamePacket&
|
|||
{
|
||||
uint32_t ref_position_id = inPacket.getValAt< uint32_t >( 0x20 );
|
||||
|
||||
auto pQR = g_framework.getCharaDb().query( "SELECT id, map_id, discover_id "
|
||||
auto pDb = g_fw.get< Db::DbWorkerPool< Db::CharaDbConnection > >();
|
||||
|
||||
auto pQR = pDb->query( "SELECT id, map_id, discover_id "
|
||||
"FROM discoveryinfo "
|
||||
"WHERE id = " + std::to_string( ref_position_id ) + ";" );
|
||||
|
||||
|
@ -489,6 +494,7 @@ void Core::Network::GameConnection::chatHandler( const Packets::GamePacket& inPa
|
|||
Entity::Player& player )
|
||||
{
|
||||
|
||||
auto pDebugCom = g_fw.get< DebugCommandHandler >();
|
||||
std::string chatString( inPacket.getStringAt( 0x3a ) );
|
||||
|
||||
uint32_t sourceId = inPacket.getValAt< uint32_t >( 0x24 );
|
||||
|
@ -496,7 +502,7 @@ void Core::Network::GameConnection::chatHandler( const Packets::GamePacket& inPa
|
|||
if( chatString.at( 0 ) == '!' )
|
||||
{
|
||||
// execute game console command
|
||||
g_framework.getDebugCommandHandler().execCommand( const_cast< char * >( chatString.c_str() ) + 1, player );
|
||||
pDebugCom->execCommand( const_cast< char * >( chatString.c_str() ) + 1, player );
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -553,15 +559,15 @@ void Core::Network::GameConnection::tellHandler( const Packets::GamePacket& inPa
|
|||
std::string targetPcName = inPacket.getStringAt( 0x21 );
|
||||
std::string msg = inPacket.getStringAt( 0x41 );
|
||||
|
||||
auto pSession = g_framework.getServerZone().getSession( targetPcName );
|
||||
auto pZoneServer = g_fw.get< ServerZone >();
|
||||
|
||||
auto pSession = pZoneServer->getSession( targetPcName );
|
||||
|
||||
if( !pSession )
|
||||
{
|
||||
ChatChannelPacket< FFXIVIpcTellErrNotFound > tellErrPacket( player.getId() );
|
||||
strcpy( tellErrPacket.data().receipientName, targetPcName.c_str() );
|
||||
sendSinglePacket( tellErrPacket );
|
||||
|
||||
g_framework.getLogger().debug( "TargetPc not found" );
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
#include "Forwards.h"
|
||||
#include "Framework.h"
|
||||
|
||||
extern Core::Framework g_framework;
|
||||
extern Core::Framework g_fw;
|
||||
|
||||
using namespace Core::Common;
|
||||
using namespace Core::Network::Packets;
|
||||
|
@ -48,6 +48,9 @@ void Core::Network::GameConnection::skillHandler( const Packets::GamePacket& inP
|
|||
|
||||
player.sendDebug( "Skill type:" + std::to_string( type ) );
|
||||
|
||||
auto pExdData = g_fw.get< Data::ExdDataGenerated >();
|
||||
auto pScriptMgr = g_fw.get< Scripting::ScriptMgr >();
|
||||
|
||||
switch( type )
|
||||
{
|
||||
case Common::SkillType::Normal:
|
||||
|
@ -57,7 +60,7 @@ void Core::Network::GameConnection::skillHandler( const Packets::GamePacket& inP
|
|||
std::string actionIdStr = boost::str( boost::format( "%|04X|" ) % action );
|
||||
player.sendDebug( "---------------------------------------" );
|
||||
player.sendDebug( "ActionHandler ( " + actionIdStr + " | " +
|
||||
g_framework.getExdDataGen().get< Core::Data::Action >( action )->name +
|
||||
pExdData->get< Core::Data::Action >( action )->name +
|
||||
" | " + std::to_string( targetId ) + " )" );
|
||||
|
||||
player.queuePacket( ActorControlPacket142( player.getId(), ActorControlType::ActionStart, 0x01, action ) );
|
||||
|
@ -80,7 +83,7 @@ void Core::Network::GameConnection::skillHandler( const Packets::GamePacket& inP
|
|||
|
||||
if( !player.actionHasCastTime( action ) )
|
||||
{
|
||||
g_framework.getScriptMgr().onCastFinish( player, targetActor->getAsChara(), action );
|
||||
pScriptMgr->onCastFinish( player, targetActor->getAsChara(), action );
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -97,11 +100,10 @@ void Core::Network::GameConnection::skillHandler( const Packets::GamePacket& inP
|
|||
}
|
||||
else if( action < 3000000 ) // item action
|
||||
{
|
||||
auto info = g_framework.getExdDataGen().get< Core::Data::EventItem >( action );
|
||||
auto info = pExdData->get< Core::Data::EventItem >( action );
|
||||
if( info )
|
||||
{
|
||||
g_framework.getLogger().debug( info->name );
|
||||
g_framework.getScriptMgr().onEventItem( player, action, info->quest, info->castTime, targetId );
|
||||
pScriptMgr->onEventItem( player, action, info->quest, info->castTime, targetId );
|
||||
}
|
||||
}
|
||||
else if( action > 3000000 ) // unknown
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
#include <boost/filesystem.hpp>
|
||||
|
||||
#include "Framework.h"
|
||||
extern Core::Framework g_framework;
|
||||
extern Core::Framework g_fw;
|
||||
|
||||
namespace fs = boost::filesystem;
|
||||
|
||||
|
@ -36,30 +36,34 @@ bool Core::Scripting::ScriptLoader::unloadModule( ModuleHandle handle )
|
|||
bool success = dlclose( handle ) == 0;
|
||||
#endif
|
||||
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
|
||||
if( !success )
|
||||
{
|
||||
g_framework.getLogger().error( "Failed to unload module @ 0x" + boost::str( boost::format( "%|08X|" ) % handle ) );
|
||||
pLog->error( "Failed to unload module @ 0x" + boost::str( boost::format( "%|08X|" ) % handle ) );
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
g_framework.getLogger().debug( "Unloaded module @ 0x" + boost::str( boost::format( "%|08X|" ) % handle ) );
|
||||
pLog->debug( "Unloaded module @ 0x" + boost::str( boost::format( "%|08X|" ) % handle ) );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Core::Scripting::ScriptInfo* Core::Scripting::ScriptLoader::loadModule( const std::string& path )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
auto pConfig = g_fw.get< XMLConfig >();
|
||||
fs::path f( path );
|
||||
|
||||
if( isModuleLoaded( f.stem().string() ) )
|
||||
{
|
||||
g_framework.getLogger().error( "Unable to load module '" + f.stem().string() + "' as it is already loaded" );
|
||||
pLog->error( "Unable to load module '" + f.stem().string() + "' as it is already loaded" );
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
// copy to temp dir
|
||||
fs::path cacheDir( f.parent_path() /= g_framework.getServerZone().getConfig()->getValue< std::string >( "Settings.General.Scripts.CachePath", "./cache/" ) );
|
||||
fs::path cacheDir( f.parent_path() /= pConfig->getValue< std::string >( "Settings.General.Scripts.CachePath", "./cache/" ) );
|
||||
fs::create_directories( cacheDir );
|
||||
fs::path dest( cacheDir /= f.filename().string() );
|
||||
|
||||
|
@ -69,7 +73,7 @@ Core::Scripting::ScriptInfo* Core::Scripting::ScriptLoader::loadModule( const st
|
|||
}
|
||||
catch( const boost::filesystem::filesystem_error& err )
|
||||
{
|
||||
g_framework.getLogger().error( "Error copying file to cache: " + err.code().message() );
|
||||
pLog->error( "Error copying file to cache: " + err.code().message() );
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
@ -83,12 +87,12 @@ Core::Scripting::ScriptInfo* Core::Scripting::ScriptLoader::loadModule( const st
|
|||
|
||||
if( !handle )
|
||||
{
|
||||
g_framework.getLogger().error( "Failed to load module from: " + path );
|
||||
pLog->error( "Failed to load module from: " + path );
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
g_framework.getLogger().debug( "Loaded module '" + f.filename().string() + "' @ 0x" + boost::str( boost::format( "%|08X|" ) % handle ) );
|
||||
pLog->debug( "Loaded module '" + f.filename().string() + "' @ 0x" + boost::str( boost::format( "%|08X|" ) % handle ) );
|
||||
|
||||
auto info = new ScriptInfo;
|
||||
info->handle = handle;
|
||||
|
@ -104,6 +108,7 @@ Core::Scripting::ScriptInfo* Core::Scripting::ScriptLoader::loadModule( const st
|
|||
ScriptObject** Core::Scripting::ScriptLoader::getScripts( ModuleHandle handle )
|
||||
{
|
||||
using getScripts = ScriptObject**( *)( );
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
|
||||
#ifdef _WIN32
|
||||
getScripts func = reinterpret_cast< getScripts >( GetProcAddress( handle, "getScripts" ) );
|
||||
|
@ -115,7 +120,7 @@ ScriptObject** Core::Scripting::ScriptLoader::getScripts( ModuleHandle handle )
|
|||
{
|
||||
auto ptr = func();
|
||||
|
||||
g_framework.getLogger().debug( "got ScriptObject array @ 0x" + boost::str( boost::format( "%|08X|" ) % ptr ) );
|
||||
pLog->debug( "got ScriptObject array @ 0x" + boost::str( boost::format( "%|08X|" ) % ptr ) );
|
||||
|
||||
return ptr;
|
||||
}
|
||||
|
@ -130,6 +135,7 @@ bool Core::Scripting::ScriptLoader::unloadScript( Core::Scripting::ScriptInfo* i
|
|||
|
||||
bool Core::Scripting::ScriptLoader::unloadScript( ModuleHandle handle )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
for( auto it = m_scriptMap.begin(); it != m_scriptMap.end(); ++it )
|
||||
{
|
||||
if( it->second->handle == handle )
|
||||
|
@ -148,7 +154,7 @@ bool Core::Scripting::ScriptLoader::unloadScript( ModuleHandle handle )
|
|||
return true;
|
||||
}
|
||||
|
||||
g_framework.getLogger().error( "failed to unload module: " + info->library_name );
|
||||
pLog->error( "failed to unload module: " + info->library_name );
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
// enable the ambiguity fix for every platform to avoid #define nonsense
|
||||
#define WIN_AMBIGUITY_FIX
|
||||
|
||||
extern Core::Framework g_framework;
|
||||
extern Core::Framework g_fw;
|
||||
|
||||
Core::Scripting::ScriptMgr::ScriptMgr() :
|
||||
m_firstScriptChangeNotificiation( false )
|
||||
|
@ -51,8 +51,10 @@ void Core::Scripting::ScriptMgr::update()
|
|||
bool Core::Scripting::ScriptMgr::init()
|
||||
{
|
||||
std::set< std::string > files;
|
||||
auto pConfig = g_fw.get< XMLConfig >();
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
|
||||
loadDir( g_framework.getServerZone().getConfig()->getValue< std::string >( "Settings.General.Scripts.Path", "./compiledscripts/" ),
|
||||
loadDir( pConfig->getValue< std::string >( "Settings.General.Scripts.Path", "./compiledscripts/" ),
|
||||
files, m_nativeScriptMgr->getModuleExtension() );
|
||||
|
||||
uint32_t scriptsFound = 0;
|
||||
|
@ -68,7 +70,7 @@ bool Core::Scripting::ScriptMgr::init()
|
|||
scriptsLoaded++;
|
||||
}
|
||||
|
||||
g_framework.getLogger().info( "ScriptMgr: Loaded " + std::to_string( scriptsLoaded ) + "/" + std::to_string( scriptsFound ) + " scripts successfully" );
|
||||
pLog->info( "ScriptMgr: Loaded " + std::to_string( scriptsLoaded ) + "/" + std::to_string( scriptsFound ) + " scripts successfully" );
|
||||
|
||||
watchDirectories();
|
||||
|
||||
|
@ -77,11 +79,12 @@ bool Core::Scripting::ScriptMgr::init()
|
|||
|
||||
void Core::Scripting::ScriptMgr::watchDirectories()
|
||||
{
|
||||
auto shouldWatch = g_framework.getServerZone().getConfig()->getValue< bool >( "Settings.General.Scripts.HotSwap.Enabled", true );
|
||||
auto pConfig = g_fw.get< XMLConfig >();
|
||||
auto shouldWatch = pConfig->getValue< bool >( "Settings.General.Scripts.HotSwap.Enabled", true );
|
||||
if( !shouldWatch )
|
||||
return;
|
||||
|
||||
Watchdog::watchMany( g_framework.getServerZone().getConfig()->getValue< std::string >( "Settings.General.Scripts.Path", "./compiledscripts/" ) + "*" + m_nativeScriptMgr->getModuleExtension(),
|
||||
Watchdog::watchMany( pConfig->getValue< std::string >( "Settings.General.Scripts.Path", "./compiledscripts/" ) + "*" + m_nativeScriptMgr->getModuleExtension(),
|
||||
[ this ]( const std::vector< ci::fs::path >& paths )
|
||||
{
|
||||
if( !m_firstScriptChangeNotificiation )
|
||||
|
@ -91,18 +94,19 @@ void Core::Scripting::ScriptMgr::watchDirectories()
|
|||
m_firstScriptChangeNotificiation = true;
|
||||
return;
|
||||
}
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
|
||||
for( auto path : paths )
|
||||
{
|
||||
if( m_nativeScriptMgr->isModuleLoaded( path.stem().string() ) )
|
||||
{
|
||||
g_framework.getLogger().debug( "Reloading changed script: " + path.stem().string() );
|
||||
pLog->debug( "Reloading changed script: " + path.stem().string() );
|
||||
|
||||
m_nativeScriptMgr->queueScriptReload( path.stem( ).string( ));
|
||||
}
|
||||
else
|
||||
{
|
||||
g_framework.getLogger().debug( "Loading new script: " + path.stem().string() );
|
||||
pLog->debug( "Loading new script: " + path.stem().string() );
|
||||
|
||||
m_nativeScriptMgr->loadScript( path.string() );
|
||||
}
|
||||
|
@ -113,7 +117,8 @@ void Core::Scripting::ScriptMgr::watchDirectories()
|
|||
void Core::Scripting::ScriptMgr::loadDir( const std::string& dirname, std::set<std::string> &files, const std::string& ext )
|
||||
{
|
||||
|
||||
g_framework.getLogger().info( "ScriptEngine: loading scripts from " + dirname );
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->info( "ScriptEngine: loading scripts from " + dirname );
|
||||
|
||||
boost::filesystem::path targetDir( dirname );
|
||||
|
||||
|
@ -145,13 +150,14 @@ void Core::Scripting::ScriptMgr::onPlayerFirstEnterWorld( Entity::Player& player
|
|||
bool Core::Scripting::ScriptMgr::onTalk( Entity::Player& player, uint64_t actorId, uint32_t eventId )
|
||||
{
|
||||
|
||||
auto pExdData = g_fw.get< Data::ExdDataGenerated >();
|
||||
uint16_t eventType = eventId >> 16;
|
||||
uint32_t scriptId = eventId;
|
||||
|
||||
// aethernet/aetherytes need to be handled separately
|
||||
if( eventType == Event::EventHandler::EventHandlerType::Aetheryte )
|
||||
{
|
||||
auto aetherInfo = g_framework.getExdDataGen().get< Core::Data::Aetheryte >( eventId & 0xFFFF );
|
||||
auto aetherInfo = pExdData->get< Core::Data::Aetheryte >( eventId & 0xFFFF );
|
||||
scriptId = EVENTSCRIPT_AETHERYTE_ID;
|
||||
if( !aetherInfo->isAetheryte )
|
||||
scriptId = EVENTSCRIPT_AETHERNET_ID;
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
#include "StatusEffect.h"
|
||||
#include "Framework.h"
|
||||
|
||||
extern Core::Framework g_framework;
|
||||
extern Core::Framework g_fw;
|
||||
|
||||
using namespace Core::Common;
|
||||
using namespace Core::Network::Packets;
|
||||
|
@ -33,7 +33,8 @@ Core::StatusEffect::StatusEffect::StatusEffect( uint32_t id, Entity::CharaPtr so
|
|||
, m_tickRate( tickRate )
|
||||
, m_lastTick( 0 )
|
||||
{
|
||||
auto entry = g_framework.getExdDataGen().get< Core::Data::Status >( id );
|
||||
auto pExdData = g_fw.get< Data::ExdDataGenerated >();
|
||||
auto entry = pExdData->get< Core::Data::Status >( id );
|
||||
m_name = entry->name;
|
||||
|
||||
std::replace( m_name.begin(), m_name.end(), ' ', '_' );
|
||||
|
@ -66,8 +67,9 @@ std::pair< uint8_t, uint32_t> Core::StatusEffect::StatusEffect::getTickEffect()
|
|||
|
||||
void Core::StatusEffect::StatusEffect::onTick()
|
||||
{
|
||||
auto pScriptMgr = g_fw.get< Scripting::ScriptMgr >();
|
||||
m_lastTick = Util::getTimeMs();
|
||||
g_framework.getScriptMgr().onStatusTick( m_targetActor, *this );
|
||||
pScriptMgr->onStatusTick( m_targetActor, *this );
|
||||
}
|
||||
|
||||
uint32_t Core::StatusEffect::StatusEffect::getSrcActorId() const
|
||||
|
@ -88,6 +90,7 @@ uint16_t Core::StatusEffect::StatusEffect::getParam() const
|
|||
void Core::StatusEffect::StatusEffect::applyStatus()
|
||||
{
|
||||
m_startTime = Util::getTimeMs();
|
||||
auto pScriptMgr = g_fw.get< Scripting::ScriptMgr >();
|
||||
|
||||
// this is only right when an action is being used by the player
|
||||
// else you probably need to use an actorcontrol
|
||||
|
@ -107,14 +110,13 @@ void Core::StatusEffect::StatusEffect::applyStatus()
|
|||
//effectPacket.data().effects[4].unknown_5 = 0x80;
|
||||
//m_sourceActor->sendToInRangeSet( effectPacket, true );
|
||||
|
||||
g_framework.getLogger().debug( "StatusEffect applied: " + m_name );
|
||||
g_framework.getScriptMgr().onStatusReceive( m_targetActor, m_id );
|
||||
pScriptMgr->onStatusReceive( m_targetActor, m_id );
|
||||
}
|
||||
|
||||
void Core::StatusEffect::StatusEffect::removeStatus()
|
||||
{
|
||||
g_framework.getLogger().debug( "StatusEffect removed: " + m_name );
|
||||
g_framework.getScriptMgr().onStatusTimeOut( m_targetActor, m_id );
|
||||
auto pScriptMgr = g_fw.get< Scripting::ScriptMgr >();
|
||||
pScriptMgr->onStatusTimeOut( m_targetActor, m_id );
|
||||
}
|
||||
|
||||
uint32_t Core::StatusEffect::StatusEffect::getId() const
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#include "InstanceContent.h"
|
||||
#include "Framework.h"
|
||||
|
||||
extern Core::Framework g_framework;
|
||||
extern Core::Framework g_fw;
|
||||
|
||||
using namespace Core::Common;
|
||||
using namespace Core::Network::Packets;
|
||||
|
@ -44,7 +44,8 @@ Core::InstanceContent::InstanceContent( boost::shared_ptr< Core::Data::InstanceC
|
|||
|
||||
bool Core::InstanceContent::init()
|
||||
{
|
||||
g_framework.getScriptMgr().onInstanceInit( getAsInstanceContent() );
|
||||
auto pScriptMgr = g_fw.get< Scripting::ScriptMgr >();
|
||||
pScriptMgr->onInstanceInit( getAsInstanceContent() );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -67,7 +68,8 @@ Core::Data::ExdDataGenerated::InstanceContentPtr Core::InstanceContent::getInsta
|
|||
|
||||
void Core::InstanceContent::onPlayerZoneIn( Entity::Player& player )
|
||||
{
|
||||
g_framework.getLogger().debug( "InstanceContent::onEnterTerritory: Zone#" + std::to_string( getGuId() ) + "|"
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->debug( "InstanceContent::onEnterTerritory: Zone#" + std::to_string( getGuId() ) + "|"
|
||||
+ std::to_string( getInstanceContentId() ) +
|
||||
+ ", Entity#" + std::to_string( player.getId() ) );
|
||||
|
||||
|
@ -83,7 +85,8 @@ void Core::InstanceContent::onPlayerZoneIn( Entity::Player& player )
|
|||
|
||||
void Core::InstanceContent::onLeaveTerritory( Entity::Player& player )
|
||||
{
|
||||
g_framework.getLogger().debug( "InstanceContent::onLeaveTerritory: Zone#" + std::to_string( getGuId() ) + "|"
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->debug( "InstanceContent::onLeaveTerritory: Zone#" + std::to_string( getGuId() ) + "|"
|
||||
+ std::to_string( getInstanceContentId() ) +
|
||||
+ ", Entity#" + std::to_string( player.getId() ) );
|
||||
sendDirectorClear( player );
|
||||
|
@ -149,8 +152,8 @@ void Core::InstanceContent::onUpdate( uint32_t currTime )
|
|||
case DutyFinished:
|
||||
break;
|
||||
}
|
||||
|
||||
g_framework.getScriptMgr().onInstanceUpdate( getAsInstanceContent(), currTime );
|
||||
auto pScriptMgr = g_fw.get< Scripting::ScriptMgr >();
|
||||
pScriptMgr->onInstanceUpdate( getAsInstanceContent(), currTime );
|
||||
|
||||
}
|
||||
|
||||
|
@ -275,12 +278,14 @@ void Core::InstanceContent::onRegisterEObj( Entity::EventObjectPtr object )
|
|||
if( object->getObjectId() == 2000182 ) // start
|
||||
m_pEntranceEObj = object;
|
||||
|
||||
auto objData = g_framework.getExdDataGen().get< Core::Data::EObj >( object->getObjectId() );
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
auto pExdData = g_fw.get< Data::ExdDataGenerated >();
|
||||
auto objData = pExdData->get< Core::Data::EObj >( object->getObjectId() );
|
||||
if( objData )
|
||||
// todo: data should be renamed to eventId
|
||||
m_eventIdToObjectMap[objData->data] = object;
|
||||
else
|
||||
g_framework.getLogger().error( "InstanceContent::onRegisterEObj Zone " +
|
||||
pLog->error( "InstanceContent::onRegisterEObj Zone " +
|
||||
m_internalName + ": No EObj data found for EObj with ID: " +
|
||||
std::to_string( object->getObjectId() ) );
|
||||
}
|
||||
|
@ -334,5 +339,6 @@ void Core::InstanceContent::onTalk( Core::Entity::Player& player, uint32_t event
|
|||
|
||||
void Core::InstanceContent::onEnterTerritory( Entity::Player& player, uint32_t eventId, uint16_t param1, uint16_t param2 )
|
||||
{
|
||||
g_framework.getScriptMgr().onInstanceEnterTerritory( getAsInstanceContent(), player, eventId, param1, param2 );
|
||||
auto pScriptMgr = g_fw.get< Scripting::ScriptMgr >();
|
||||
pScriptMgr->onInstanceEnterTerritory( getAsInstanceContent(), player, eventId, param1, param2 );
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
#include "TerritoryMgr.h"
|
||||
#include "Framework.h"
|
||||
|
||||
extern Core::Framework g_framework;
|
||||
extern Core::Framework g_fw;
|
||||
|
||||
Core::TerritoryMgr::TerritoryMgr() :
|
||||
m_lastInstanceId( 10000 )
|
||||
|
@ -22,11 +22,12 @@ Core::TerritoryMgr::TerritoryMgr() :
|
|||
|
||||
void Core::TerritoryMgr::loadTerritoryTypeDetailCache()
|
||||
{
|
||||
auto idList = g_framework.getExdDataGen().getTerritoryTypeIdList();
|
||||
auto pExdData = g_fw.get< Data::ExdDataGenerated >();
|
||||
auto idList = pExdData->getTerritoryTypeIdList();
|
||||
|
||||
for( auto id : idList )
|
||||
{
|
||||
auto teri1 = g_framework.getExdDataGen().get< Core::Data::TerritoryType >( id );
|
||||
auto teri1 = pExdData->get< Core::Data::TerritoryType >( id );
|
||||
|
||||
if( !teri1->name.empty() )
|
||||
m_territoryTypeDetailCacheMap[id] = teri1;
|
||||
|
@ -97,6 +98,8 @@ bool Core::TerritoryMgr::isPrivateTerritory( uint32_t territoryTypeId ) const
|
|||
|
||||
bool Core::TerritoryMgr::createDefaultTerritories()
|
||||
{
|
||||
auto pExdData = g_fw.get< Data::ExdDataGenerated >();
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
// for each entry in territoryTypeExd, check if it is a normal and if so, add the zone object
|
||||
for( const auto& territory : m_territoryTypeDetailCacheMap )
|
||||
{
|
||||
|
@ -107,13 +110,13 @@ bool Core::TerritoryMgr::createDefaultTerritories()
|
|||
if( territoryInfo->name.empty() )
|
||||
continue;
|
||||
|
||||
auto pPlaceName = g_framework.getExdDataGen().get< Core::Data::PlaceName >( territoryInfo->placeName );
|
||||
auto pPlaceName = pExdData->get< Core::Data::PlaceName >( territoryInfo->placeName );
|
||||
|
||||
if( !pPlaceName || pPlaceName->name.empty() || !isDefaultTerritory( territoryId ) )
|
||||
continue;
|
||||
|
||||
uint32_t guid = getNextInstanceId();
|
||||
g_framework.getLogger().info( std::to_string( territoryId ) +
|
||||
pLog->info( std::to_string( territoryId ) +
|
||||
"\t" + std::to_string( guid ) +
|
||||
"\t" + std::to_string( territoryInfo->territoryIntendedUse ) +
|
||||
"\t" + ( territoryInfo->name.length() <= 4 ? territoryInfo->name + "\t" : territoryInfo->name ) +
|
||||
|
@ -142,13 +145,15 @@ Core::ZonePtr Core::TerritoryMgr::createTerritoryInstance( uint32_t territoryTyp
|
|||
if( isInstanceContentTerritory( territoryTypeId ) )
|
||||
return nullptr;
|
||||
|
||||
auto pExdData = g_fw.get< Data::ExdDataGenerated >();
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
auto pTeri = getTerritoryDetail( territoryTypeId );
|
||||
auto pPlaceName = g_framework.getExdDataGen().get< Core::Data::PlaceName >( pTeri->placeName );
|
||||
auto pPlaceName = pExdData->get< Core::Data::PlaceName >( pTeri->placeName );
|
||||
|
||||
if( !pTeri || !pPlaceName )
|
||||
return nullptr;
|
||||
|
||||
g_framework.getLogger().debug( "Starting instance for territory: " + std::to_string( territoryTypeId ) + " (" + pPlaceName->name + ")" );
|
||||
pLog->debug( "Starting instance for territory: " + std::to_string( territoryTypeId ) + " (" + pPlaceName->name + ")" );
|
||||
|
||||
auto pZone = make_Zone( territoryTypeId, getNextInstanceId(), pTeri->name, pPlaceName->name );
|
||||
pZone->init();
|
||||
|
@ -161,7 +166,8 @@ Core::ZonePtr Core::TerritoryMgr::createTerritoryInstance( uint32_t territoryTyp
|
|||
|
||||
Core::ZonePtr Core::TerritoryMgr::createInstanceContent( uint32_t instanceContentId )
|
||||
{
|
||||
auto pInstanceContent = g_framework.getExdDataGen().get< Core::Data::InstanceContent >( instanceContentId );
|
||||
auto pExdData = g_fw.get< Data::ExdDataGenerated >();
|
||||
auto pInstanceContent = pExdData->get< Core::Data::InstanceContent >( instanceContentId );
|
||||
if( !pInstanceContent )
|
||||
return nullptr;
|
||||
|
||||
|
@ -173,7 +179,8 @@ Core::ZonePtr Core::TerritoryMgr::createInstanceContent( uint32_t instanceConten
|
|||
if( !pTeri || pInstanceContent->name.empty() )
|
||||
return nullptr;
|
||||
|
||||
g_framework.getLogger().debug( "Starting instance for InstanceContent id: " + std::to_string( instanceContentId ) +
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->debug( "Starting instance for InstanceContent id: " + std::to_string( instanceContentId ) +
|
||||
" (" + pInstanceContent->name + ")" );
|
||||
|
||||
auto pZone = make_InstanceContent( pInstanceContent, getNextInstanceId(),
|
||||
|
@ -221,7 +228,8 @@ Core::ZonePtr Core::TerritoryMgr::getInstanceZonePtr( uint32_t instanceId ) cons
|
|||
|
||||
void Core::TerritoryMgr::loadTerritoryPositionMap()
|
||||
{
|
||||
auto pQR = g_framework.getCharaDb().query( "SELECT id, target_zone_id, pos_x, pos_y, pos_z, pos_o, radius FROM zonepositions;" );
|
||||
auto pDb = g_fw.get< Db::DbWorkerPool< Db::CharaDbConnection > >();
|
||||
auto pQR = pDb->query( "SELECT id, target_zone_id, pos_x, pos_y, pos_z, pos_o, radius FROM zonepositions;" );
|
||||
|
||||
while( pQR->next() )
|
||||
{
|
||||
|
@ -308,9 +316,10 @@ bool Core::TerritoryMgr::movePlayer( uint32_t territoryId, Core::Entity::PlayerP
|
|||
|
||||
bool Core::TerritoryMgr::movePlayer( ZonePtr pZone, Core::Entity::PlayerPtr pPlayer )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
if( !pZone )
|
||||
{
|
||||
g_framework.getLogger().error( "Zone not found on this server." );
|
||||
pLog->error( "Zone not found on this server." );
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ using namespace Core::Common;
|
|||
using namespace Core::Network::Packets;
|
||||
using namespace Core::Network::Packets::Server;
|
||||
|
||||
extern Core::Framework g_framework;
|
||||
extern Core::Framework g_fw;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -60,6 +60,7 @@ Core::Zone::Zone( uint16_t territoryId, uint32_t guId, const std::string& intern
|
|||
m_currentWeather( Weather::FairSkies ),
|
||||
m_nextEObjId( 0x400D0000 )
|
||||
{
|
||||
auto pExdData = g_fw.get< Data::ExdDataGenerated >();
|
||||
m_guId = guId;
|
||||
|
||||
m_territoryId = territoryId;
|
||||
|
@ -68,7 +69,7 @@ Core::Zone::Zone( uint16_t territoryId, uint32_t guId, const std::string& intern
|
|||
m_lastMobUpdate = 0;
|
||||
|
||||
m_weatherOverride = Weather::None;
|
||||
m_territoryTypeInfo = g_framework.getExdDataGen().get< Core::Data::TerritoryType >( territoryId );
|
||||
m_territoryTypeInfo = pExdData->get< Core::Data::TerritoryType >( territoryId );
|
||||
|
||||
loadWeatherRates();
|
||||
|
||||
|
@ -78,17 +79,15 @@ Core::Zone::Zone( uint16_t territoryId, uint32_t guId, const std::string& intern
|
|||
void Core::Zone::loadWeatherRates()
|
||||
{
|
||||
if( !m_territoryTypeInfo )
|
||||
{
|
||||
g_framework.getLogger().error( std::string( __FUNCTION__ ) + " TerritoryTypeInfo not loaded!" );
|
||||
return;
|
||||
}
|
||||
|
||||
auto pExdData = g_fw.get< Data::ExdDataGenerated >();
|
||||
|
||||
uint8_t weatherRateId = m_territoryTypeInfo->weatherRate > g_framework.getExdDataGen().getWeatherRateIdList().size() ?
|
||||
uint8_t weatherRateId = m_territoryTypeInfo->weatherRate > pExdData->getWeatherRateIdList().size() ?
|
||||
uint8_t{ 0 } : m_territoryTypeInfo->weatherRate;
|
||||
|
||||
uint8_t sumPc = 0;
|
||||
auto weatherRateFields = g_framework.getExdDataGen().m_WeatherRateDat.get_row( weatherRateId );
|
||||
auto weatherRateFields = pExdData->m_WeatherRateDat.get_row( weatherRateId );
|
||||
for( size_t i = 0; i < 16; )
|
||||
{
|
||||
int32_t weatherId = boost::get< int32_t >( weatherRateFields[i] );
|
||||
|
@ -108,8 +107,9 @@ Core::Zone::~Zone()
|
|||
|
||||
bool Core::Zone::init()
|
||||
{
|
||||
auto pScriptMgr = g_fw.get< Scripting::ScriptMgr >();
|
||||
|
||||
if( g_framework.getScriptMgr().onZoneInit( shared_from_this() ) )
|
||||
if( pScriptMgr->onZoneInit( shared_from_this() ) )
|
||||
{
|
||||
// all good
|
||||
}
|
||||
|
@ -214,7 +214,8 @@ void Core::Zone::pushActor( Entity::ActorPtr pActor )
|
|||
{
|
||||
auto pPlayer = pActor->getAsPlayer();
|
||||
|
||||
auto pSession = g_framework.getServerZone().getSession( pPlayer->getId() );
|
||||
auto pServerZone = g_fw.get< ServerZone >();
|
||||
auto pSession = pServerZone->getSession( pPlayer->getId() );
|
||||
if( pSession )
|
||||
m_sessionSet.insert( pSession );
|
||||
m_playerMap[pPlayer->getId()] = pPlayer;
|
||||
|
@ -257,9 +258,11 @@ void Core::Zone::removeActor( Entity::ActorPtr pActor )
|
|||
|
||||
void Core::Zone::queueOutPacketForRange( Entity::Player& sourcePlayer, uint32_t range, GamePacketPtr pPacketEntry )
|
||||
{
|
||||
if( g_framework.getTerritoryMgr().isPrivateTerritory( getTerritoryId() ) )
|
||||
auto pTeriMgr = g_fw.get< TerritoryMgr >();
|
||||
if( pTeriMgr->isPrivateTerritory( getTerritoryId() ) )
|
||||
return;
|
||||
|
||||
auto pServerZone = g_fw.get< ServerZone >();
|
||||
for( auto entry : m_playerMap )
|
||||
{
|
||||
auto player = entry.second;
|
||||
|
@ -273,7 +276,7 @@ void Core::Zone::queueOutPacketForRange( Entity::Player& sourcePlayer, uint32_t
|
|||
if( ( distance < range ) && sourcePlayer.getId() != player->getId() )
|
||||
{
|
||||
|
||||
auto pSession = g_framework.getServerZone().getSession( player->getId() );
|
||||
auto pSession = pServerZone->getSession( player->getId() );
|
||||
pPacketEntry->setValAt< uint32_t >( 0x08, player->getId() );
|
||||
if( pSession )
|
||||
pSession->getZoneConnection()->queueOutPacket( pPacketEntry );
|
||||
|
@ -313,9 +316,6 @@ bool Core::Zone::checkWeather()
|
|||
if( m_weatherOverride != m_currentWeather )
|
||||
{
|
||||
m_currentWeather = m_weatherOverride;
|
||||
g_framework.getLogger().debug( "[Zone:" + m_internalName + "] overriding weather to : " +
|
||||
std::to_string( static_cast< uint8_t >( m_weatherOverride ) ) );
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -325,9 +325,6 @@ bool Core::Zone::checkWeather()
|
|||
if( nextWeather != m_currentWeather )
|
||||
{
|
||||
m_currentWeather = nextWeather;
|
||||
|
||||
g_framework.getLogger().debug( "[Zone:" + m_internalName + "] changing weather to : " +
|
||||
std::to_string( static_cast< uint8_t >( nextWeather ) ) );
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -588,8 +585,9 @@ void Core::Zone::updateInRangeSet( Entity::ActorPtr pActor, Cell* pCell )
|
|||
if( pCell == nullptr )
|
||||
return;
|
||||
|
||||
auto pTeriMgr = g_fw.get< TerritoryMgr >();
|
||||
// TODO: make sure gms can overwrite this. Potentially temporary solution
|
||||
if( g_framework.getTerritoryMgr().isPrivateTerritory( getTerritoryId() ) )
|
||||
if( pTeriMgr->isPrivateTerritory( getTerritoryId() ) )
|
||||
return;
|
||||
|
||||
auto iter = pCell->m_actors.begin();
|
||||
|
@ -637,13 +635,15 @@ void Core::Zone::updateInRangeSet( Entity::ActorPtr pActor, Cell* pCell )
|
|||
|
||||
void Core::Zone::onPlayerZoneIn( Entity::Player &player )
|
||||
{
|
||||
g_framework.getLogger().debug( "Zone::onEnterTerritory: Zone#" + std::to_string( getGuId() ) + "|" + std::to_string( getTerritoryId() ) +
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->debug( "Zone::onEnterTerritory: Zone#" + std::to_string( getGuId() ) + "|" + std::to_string( getTerritoryId() ) +
|
||||
+ ", Entity#" + std::to_string( player.getId() ) );
|
||||
}
|
||||
|
||||
void Core::Zone::onLeaveTerritory( Entity::Player& player )
|
||||
{
|
||||
g_framework.getLogger().debug( "Zone::onLeaveTerritory: Zone#" + std::to_string( getGuId() ) + "|" + std::to_string( getTerritoryId() ) +
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->debug( "Zone::onLeaveTerritory: Zone#" + std::to_string( getGuId() ) + "|" + std::to_string( getTerritoryId() ) +
|
||||
+ ", Entity#" + std::to_string( player.getId() ) );
|
||||
}
|
||||
|
||||
|
@ -671,7 +671,7 @@ void Core::Zone::registerEObj( Entity::EventObjectPtr object )
|
|||
{
|
||||
if( !object )
|
||||
return;
|
||||
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
object->setId( getNextEObjId() );
|
||||
pushActor( object );
|
||||
|
||||
|
@ -679,7 +679,7 @@ void Core::Zone::registerEObj( Entity::EventObjectPtr object )
|
|||
|
||||
onRegisterEObj( object );
|
||||
|
||||
g_framework.getLogger().debug( "Registered instance eobj: " + std::to_string( object->getId() ) );
|
||||
pLog->debug( "Registered instance eobj: " + std::to_string( object->getId() ) );
|
||||
}
|
||||
|
||||
Core::Entity::EventObjectPtr Core::Zone::getEObj( uint32_t objId )
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include <Database/DbWorkerPool.h>
|
||||
#include "Linkshell/LinkshellMgr.h"
|
||||
#include "Zone/TerritoryMgr.h"
|
||||
#include "DebugCommand/DebugCommandHandler.h"
|
||||
|
||||
Core::Framework g_fw;
|
||||
|
||||
|
@ -26,6 +27,7 @@ bool setupFramework()
|
|||
auto pDb = boost::make_shared< Db::DbWorkerPool< Db::CharaDbConnection > >();
|
||||
auto pLsMgr = boost::make_shared< LinkshellMgr >();
|
||||
auto pTeriMgr = boost::make_shared< TerritoryMgr >();
|
||||
auto pDebugCom = boost::make_shared< DebugCommandHandler >();
|
||||
|
||||
pLogger->setLogPath( "log/SapphireZone_" );
|
||||
pLogger->init();
|
||||
|
@ -38,6 +40,7 @@ bool setupFramework()
|
|||
g_fw.set< Db::DbWorkerPool< Db::CharaDbConnection > >( pDb );
|
||||
g_fw.set< LinkshellMgr >( pLsMgr );
|
||||
g_fw.set< TerritoryMgr >( pTeriMgr );
|
||||
g_fw.set< DebugCommandHandler >( pDebugCom );
|
||||
|
||||
// actuall catch errors here...
|
||||
return true;
|
||||
|
|
Loading…
Add table
Reference in a new issue