mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-27 22:57:45 +00:00
Fixed an issue with teleport not picking the correct target position, eventaction unlocks player now
This commit is contained in:
parent
c2a95a2d7e
commit
b806535f11
7 changed files with 5 additions and 21 deletions
|
@ -172,6 +172,7 @@ Core::Data::Aetheryte::Aetheryte( uint32_t row_id, Core::Data::ExdDataGenerated*
|
||||||
placeName = exdData->getField< uint16_t >( row, 8 );
|
placeName = exdData->getField< uint16_t >( row, 8 );
|
||||||
aethernetName = exdData->getField< uint16_t >( row, 9 );
|
aethernetName = exdData->getField< uint16_t >( row, 9 );
|
||||||
territory = exdData->getField< uint16_t >( row, 10 );
|
territory = exdData->getField< uint16_t >( row, 10 );
|
||||||
|
levelId = exdData->getField< uint32_t >( row, 11 );
|
||||||
isAetheryte = exdData->getField< bool >( row, 15 );
|
isAetheryte = exdData->getField< bool >( row, 15 );
|
||||||
aethernetGroup = exdData->getField< uint8_t >( row, 16 );
|
aethernetGroup = exdData->getField< uint8_t >( row, 16 );
|
||||||
map = exdData->getField< uint16_t >( row, 19 );
|
map = exdData->getField< uint16_t >( row, 19 );
|
||||||
|
|
|
@ -496,6 +496,7 @@ struct Aetheryte
|
||||||
uint16_t placeName;
|
uint16_t placeName;
|
||||||
uint16_t aethernetName;
|
uint16_t aethernetName;
|
||||||
uint16_t territory;
|
uint16_t territory;
|
||||||
|
uint32_t levelId;
|
||||||
bool isAetheryte;
|
bool isAetheryte;
|
||||||
uint8_t aethernetGroup;
|
uint8_t aethernetGroup;
|
||||||
uint16_t map;
|
uint16_t map;
|
||||||
|
|
|
@ -53,7 +53,8 @@ void Core::Action::EventAction::onStart()
|
||||||
if( m_pSource->isPlayer() )
|
if( m_pSource->isPlayer() )
|
||||||
{
|
{
|
||||||
m_pSource->sendToInRangeSet( control, true );
|
m_pSource->sendToInRangeSet( control, true );
|
||||||
//m_pSource->getAsPlayer()->setStateFlag( PlayerStateFlag::Occupied2 );
|
if( m_pSource->getAsPlayer()->hasStateFlag( PlayerStateFlag::InNpcEvent ) )
|
||||||
|
m_pSource->getAsPlayer()->unsetStateFlag( PlayerStateFlag::InNpcEvent );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
m_pSource->sendToInRangeSet( control );
|
m_pSource->sendToInRangeSet( control );
|
||||||
|
|
|
@ -300,7 +300,7 @@ void Core::Entity::Player::teleport( uint16_t aetheryteId, uint8_t type )
|
||||||
|
|
||||||
setStateFlag( PlayerStateFlag::BetweenAreas );
|
setStateFlag( PlayerStateFlag::BetweenAreas );
|
||||||
|
|
||||||
auto targetPos = g_territoryMgr.getTerritoryPosition( data->territory );
|
auto targetPos = g_territoryMgr.getTerritoryPosition( data->levelId );
|
||||||
|
|
||||||
Common::FFXIVARR_POSITION3 pos;
|
Common::FFXIVARR_POSITION3 pos;
|
||||||
pos.x = 0;
|
pos.x = 0;
|
||||||
|
@ -652,17 +652,6 @@ void Core::Entity::Player::gainLevel()
|
||||||
classInfoPacket.data().currentExp = getExp();
|
classInfoPacket.data().currentExp = getExp();
|
||||||
queuePacket( classInfoPacket );
|
queuePacket( classInfoPacket );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void Core::Entity::Player::unlock()
|
|
||||||
{
|
|
||||||
queuePacket( PlayerStateFlagsPacket( *getAsPlayer(), PlayerStateFlagList{} ) );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Core::Entity::Player::sendStatusUpdate( bool toSelf )
|
void Core::Entity::Player::sendStatusUpdate( bool toSelf )
|
||||||
|
|
|
@ -56,7 +56,6 @@ Core::DebugCommandHandler::DebugCommandHandler()
|
||||||
registerCommand( "replay", &DebugCommandHandler::replay, "Replays a saved capture folder.", 1 );
|
registerCommand( "replay", &DebugCommandHandler::replay, "Replays a saved capture folder.", 1 );
|
||||||
registerCommand( "nudge", &DebugCommandHandler::nudge, "Nudges you forward/up/down.", 1 );
|
registerCommand( "nudge", &DebugCommandHandler::nudge, "Nudges you forward/up/down.", 1 );
|
||||||
registerCommand( "info", &DebugCommandHandler::serverInfo, "Show server info.", 0 );
|
registerCommand( "info", &DebugCommandHandler::serverInfo, "Show server info.", 0 );
|
||||||
registerCommand( "unlock", &DebugCommandHandler::unlockCharacter, "Unlock character.", 1 );
|
|
||||||
registerCommand( "help", &DebugCommandHandler::help, "Shows registered commands.", 0 );
|
registerCommand( "help", &DebugCommandHandler::help, "Shows registered commands.", 0 );
|
||||||
registerCommand( "script", &DebugCommandHandler::script, "Server script utilities.", 1 );
|
registerCommand( "script", &DebugCommandHandler::script, "Server script utilities.", 1 );
|
||||||
registerCommand( "instance", &DebugCommandHandler::instance, "Instance utilities", 1 );
|
registerCommand( "instance", &DebugCommandHandler::instance, "Instance utilities", 1 );
|
||||||
|
@ -574,11 +573,6 @@ void Core::DebugCommandHandler::serverInfo( char * data, Entity::Player& player,
|
||||||
player.sendDebug( "Sessions: " + std::to_string( g_serverZone.getSessionCount() ) );
|
player.sendDebug( "Sessions: " + std::to_string( g_serverZone.getSessionCount() ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Core::DebugCommandHandler::unlockCharacter( char* data, Entity::Player& player, boost::shared_ptr< DebugCommand > command )
|
|
||||||
{
|
|
||||||
player.unlock();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Core::DebugCommandHandler::script( char* data, Entity::Player &player, boost::shared_ptr< DebugCommand > command )
|
void Core::DebugCommandHandler::script( char* data, Entity::Player &player, boost::shared_ptr< DebugCommand > command )
|
||||||
{
|
{
|
||||||
std::string subCommand;
|
std::string subCommand;
|
||||||
|
|
|
@ -39,7 +39,6 @@ public:
|
||||||
|
|
||||||
}, 0 );
|
}, 0 );
|
||||||
|
|
||||||
player.unlock();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -211,7 +211,6 @@ public:
|
||||||
|
|
||||||
player.eventActionStart( 0x050002, 0x13, event, nullptr, 0x050002 );
|
player.eventActionStart( 0x050002, 0x13, event, nullptr, 0x050002 );
|
||||||
|
|
||||||
player.unlock();
|
|
||||||
}
|
}
|
||||||
else if( actor == ACTOR2 )
|
else if( actor == ACTOR2 )
|
||||||
Scene00002( player );
|
Scene00002( player );
|
||||||
|
|
Loading…
Add table
Reference in a new issue