1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-26 14:37:44 +00:00

Merge pull request #271 from Minoost/develop-qte_cmd

Add a qte event command
This commit is contained in:
Mordred 2018-03-09 17:02:51 +01:00 committed by GitHub
commit c1e85cf9f1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 63 additions and 0 deletions

View file

@ -792,4 +792,35 @@ void Core::DebugCommandHandler::instance( char* data, Entity::Player &player, bo
player.getCurrentZone()->setCurrentFestival( 0 );
}
else if ( subCommand == "qte_start" )
{
auto instance = boost::dynamic_pointer_cast< InstanceContent >( player.getCurrentZone() );
if ( !instance )
return;
player.sendDebug( "qte start" );
instance->startQte();
}
else if ( subCommand == "event_start" )
{
auto instance = boost::dynamic_pointer_cast< InstanceContent >( player.getCurrentZone() );
if ( !instance )
return;
player.sendDebug( "evt start" );
instance->startEventCutscene();
}
else if ( subCommand == "event_end" )
{
auto instance = boost::dynamic_pointer_cast< InstanceContent >( player.getCurrentZone() );
if ( !instance )
return;
player.sendDebug( "evt end" );
instance->endEventCutscene();
}
else
{
player.sendDebug( "Unknown sub command." );
}
}

View file

@ -271,6 +271,34 @@ void Core::InstanceContent::setBranch( uint8_t value )
}
}
void Core::InstanceContent::startQte()
{
for ( const auto& playerIt : m_playerMap )
{
auto player = playerIt.second;
player->queuePacket( ActorControlPacket143( player->getId(), DirectorUpdate, getDirectorId(), 0x8000000A ) );
}
}
void Core::InstanceContent::startEventCutscene()
{
// TODO: lock player movement
for ( const auto& playerIt : m_playerMap )
{
auto player = playerIt.second;
player->queuePacket( ActorControlPacket143( player->getId(), DirectorUpdate, getDirectorId(), 0x80000008 ) );
}
}
void Core::InstanceContent::endEventCutscene()
{
for ( const auto& playerIt : m_playerMap )
{
auto player = playerIt.second;
player->queuePacket( ActorControlPacket143( player->getId(), DirectorUpdate, getDirectorId(), 0x80000009 ) );
}
}
void Core::InstanceContent::onRegisterEObj( Entity::EventObjectPtr object )
{
if( object->getName() != "none" )

View file

@ -46,6 +46,10 @@ public:
void setSequence( uint8_t value );
void setBranch( uint8_t value );
void startQte();
void startEventCutscene();
void endEventCutscene();
boost::shared_ptr< Core::Data::InstanceContent > getInstanceContentInfo() const;
uint32_t getInstanceContentId() const;