1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-06-13 19:07:45 +00:00

update proper event type check

This commit is contained in:
collett 2021-09-15 16:55:45 +09:00
parent 0fe75c373e
commit 1fa5aadf1c

View file

@ -302,26 +302,28 @@ Sapphire::TerritoryPtr Sapphire::World::Manager::TerritoryMgr::createQuestBattle
if( !pQuestBattleInfo )
return nullptr;
auto questId = pQuestBattleInfo->quest;
if( questId > 0x1FFFF )
auto eventId = pQuestBattleInfo->quest;
auto eventType = static_cast< Event::EventHandler::EventHandlerType >( eventId >> 16 );
switch( eventType )
{
auto arrayEventHandler = exdData.get< Sapphire::Data::ArrayEventHandler >( questId );
if( arrayEventHandler )
case Event::EventHandler::EventHandlerType::Array:
{
int i = 0;
while( i < arrayEventHandler->data.size() )
auto eventArray = exdData.get< Sapphire::Data::ArrayEventHandler >( eventId );
if( eventArray )
{
auto nextId = arrayEventHandler->data[ i ];
if( nextId == 0 )
break;
questId = nextId;
i++;
for( int i = 0; i < eventArray->data.size(); i++ )
{
auto nextId = eventArray->data[ i ];
if( nextId == 0 )
break;
eventId = nextId;
}
}
break;
}
}
auto pQuestInfo = exdData.get< Sapphire::Data::Quest >( questId );
auto pQuestInfo = exdData.get< Sapphire::Data::Quest >( eventId );
if( !pQuestInfo )
return nullptr;