mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-06-14 11:27:45 +00:00
update proper event type check
This commit is contained in:
parent
0fe75c373e
commit
1fa5aadf1c
1 changed files with 15 additions and 13 deletions
|
@ -302,26 +302,28 @@ Sapphire::TerritoryPtr Sapphire::World::Manager::TerritoryMgr::createQuestBattle
|
||||||
if( !pQuestBattleInfo )
|
if( !pQuestBattleInfo )
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
||||||
auto questId = pQuestBattleInfo->quest;
|
auto eventId = pQuestBattleInfo->quest;
|
||||||
|
auto eventType = static_cast< Event::EventHandler::EventHandlerType >( eventId >> 16 );
|
||||||
if( questId > 0x1FFFF )
|
switch( eventType )
|
||||||
{
|
{
|
||||||
auto arrayEventHandler = exdData.get< Sapphire::Data::ArrayEventHandler >( questId );
|
case Event::EventHandler::EventHandlerType::Array:
|
||||||
if( arrayEventHandler )
|
|
||||||
{
|
{
|
||||||
int i = 0;
|
auto eventArray = exdData.get< Sapphire::Data::ArrayEventHandler >( eventId );
|
||||||
while( i < arrayEventHandler->data.size() )
|
if( eventArray )
|
||||||
{
|
{
|
||||||
auto nextId = arrayEventHandler->data[ i ];
|
for( int i = 0; i < eventArray->data.size(); i++ )
|
||||||
if( nextId == 0 )
|
{
|
||||||
break;
|
auto nextId = eventArray->data[ i ];
|
||||||
questId = nextId;
|
if( nextId == 0 )
|
||||||
i++;
|
break;
|
||||||
|
eventId = nextId;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
auto pQuestInfo = exdData.get< Sapphire::Data::Quest >( questId );
|
auto pQuestInfo = exdData.get< Sapphire::Data::Quest >( eventId );
|
||||||
if( !pQuestInfo )
|
if( !pQuestInfo )
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue