mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-29 07:37:45 +00:00
eventPlay -> playScene, added playSceneChain
This commit is contained in:
parent
d7006574ac
commit
dd8ed62430
25 changed files with 276 additions and 257 deletions
|
@ -21,10 +21,8 @@ public:
|
||||||
{
|
{
|
||||||
if( player.isAetheryteRegistered( eventId & 0xFFFF ) )
|
if( player.isAetheryteRegistered( eventId & 0xFFFF ) )
|
||||||
{
|
{
|
||||||
player.eventPlay( eventId, 2, 0, []( Entity::Player& player, const Event::SceneResult& result )
|
player.playScene( eventId, 2, 0, []( Entity::Player& player, const Event::SceneResult& result ) {
|
||||||
{
|
if( result.param1 == 256 ) {
|
||||||
if( result.param1 == 256 )
|
|
||||||
{
|
|
||||||
player.teleport( result.param2, 2 );
|
player.teleport( result.param2, 2 );
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
|
@ -34,7 +32,7 @@ public:
|
||||||
player.eventActionStart( eventId, ACTION_ATTUNE, []( Entity::Player& player, uint32_t eventId, uint64_t additional )
|
player.eventActionStart( eventId, ACTION_ATTUNE, []( Entity::Player& player, uint32_t eventId, uint64_t additional )
|
||||||
{
|
{
|
||||||
player.registerAetheryte( eventId & 0xFFFF );
|
player.registerAetheryte( eventId & 0xFFFF );
|
||||||
player.eventPlay( eventId, 3, 0, 0, 0 );
|
player.playScene( eventId, 3, 0, 0, 0 );
|
||||||
},
|
},
|
||||||
[] ( Entity::Player& ply, uint32_t evntId, uint64_t additional )
|
[] ( Entity::Player& ply, uint32_t evntId, uint64_t additional )
|
||||||
{
|
{
|
||||||
|
|
|
@ -23,20 +23,16 @@ public:
|
||||||
{
|
{
|
||||||
if( player.isAetheryteRegistered( eventId & 0xFFFF ) )
|
if( player.isAetheryteRegistered( eventId & 0xFFFF ) )
|
||||||
{
|
{
|
||||||
player.eventPlay( eventId, 0, 1, []( Entity::Player& player, const Event::SceneResult& result )
|
player.playScene( eventId, 0, 1, []( Entity::Player& player, const Event::SceneResult& result ) {
|
||||||
{
|
|
||||||
if( result.param1 == 256 ) // set homepoint
|
if( result.param1 == 256 ) // set homepoint
|
||||||
{
|
{
|
||||||
player.setHomepoint( result.eventId & 0xFFFF );
|
player.setHomepoint( result.eventId & 0xFFFF );
|
||||||
player.sendQuestMessage( result.eventId, 2, 0xEA, 0, 0 );
|
player.sendQuestMessage( result.eventId, 2, 0xEA, 0, 0 );
|
||||||
}
|
} else if( result.param1 == 512 ) // aethernet access
|
||||||
else if( result.param1 == 512 ) // aethernet access
|
|
||||||
{
|
|
||||||
if( result.param2 == 4 )
|
|
||||||
{
|
{
|
||||||
|
if( result.param2 == 4 ) {
|
||||||
player.teleport( result.param3, 2 );
|
player.teleport( result.param3, 2 );
|
||||||
}
|
} else if( result.param2 == 2 ) // register favored destination
|
||||||
else if( result.param2 == 2 ) // register favored destination
|
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 0, 0x2000, 0, 1, callback );
|
player.playScene( getId( ), 0, 0x2000, 0, 1, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00001( Entity::Player& player, uint16_t returnScene )
|
void Scene00001( Entity::Player& player, uint16_t returnScene )
|
||||||
|
@ -28,7 +28,7 @@ public:
|
||||||
// todo: this is fucked
|
// todo: this is fucked
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 1, 0xFB2EC8F8, 0, 1, returnScene, callback );
|
player.playScene( getId( ), 1, 0xFB2EC8F8, 0, 1, returnScene, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||||
|
|
|
@ -17,7 +17,7 @@ public:
|
||||||
Scene00001( player, result.param2 );
|
Scene00001( player, result.param2 );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 0, 0x2000, 0, 1, callback );
|
player.playScene( getId( ), 0, 0x2000, 0, 1, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
// lay down
|
// lay down
|
||||||
|
@ -28,13 +28,13 @@ public:
|
||||||
Scene00002( player, result.param2 );
|
Scene00002( player, result.param2 );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 1, 0xF32E48F8, 0, 1, param, callback );
|
player.playScene( getId( ), 1, 0xF32E48F8, 0, 1, param, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
// logout
|
// logout
|
||||||
void Scene00002( Entity::Player& player, uint16_t param )
|
void Scene00002( Entity::Player& player, uint16_t param )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 2, 0xF32E48F8, 0, 1, param, nullptr );
|
player.playScene( getId( ), 2, 0xF32E48F8, 0, 1, param, nullptr );
|
||||||
}
|
}
|
||||||
|
|
||||||
// wake up
|
// wake up
|
||||||
|
@ -43,7 +43,7 @@ public:
|
||||||
auto callback = []( Entity::Player& player, const Event::SceneResult& result )
|
auto callback = []( Entity::Player& player, const Event::SceneResult& result )
|
||||||
{};
|
{};
|
||||||
|
|
||||||
player.eventPlay( getId(), 100, 0x800, 0, 0, callback );
|
player.playScene( getId( ), 100, 0x800, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||||
|
|
|
@ -32,25 +32,25 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 1, 0, 0, 0, callback );
|
player.playScene( getId( ), 1, 0, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
// create linkshell
|
// create linkshell
|
||||||
void Scene00002( Entity::Player& player )
|
void Scene00002( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 2, 0, 0, 0 );
|
player.playScene( getId( ), 2, 0, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
// rename linkshell
|
// rename linkshell
|
||||||
void Scene00003( Entity::Player& player )
|
void Scene00003( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 3, 0, 0, 0 );
|
player.playScene( getId( ), 3, 0, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
// remove linkshell
|
// remove linkshell
|
||||||
void Scene00004( Entity::Player& player )
|
void Scene00004( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 4, 0, 0, 0 );
|
player.playScene( getId( ), 4, 0, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||||
|
|
|
@ -10,7 +10,7 @@ public:
|
||||||
|
|
||||||
void Scene00000( Entity::Player& player )
|
void Scene00000( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 0, 0x2000, 0, 1 );
|
player.playScene( getId( ), 0, 0x2000, 0, 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||||
|
|
|
@ -34,24 +34,24 @@ private:
|
||||||
Scene00001( player );
|
Scene00001( player );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 0, NO_DEFAULT_CAMERA | INVIS_ENPC |
|
player.playScene( getId( ), 0, NO_DEFAULT_CAMERA | INVIS_ENPC |
|
||||||
CONDITION_CUTSCENE | HIDE_UI |
|
CONDITION_CUTSCENE | HIDE_UI |
|
||||||
HIDE_HOTBAR | SILENT_ENTER_TERRI_ENV, 0, 1, callback );
|
HIDE_HOTBAR | SILENT_ENTER_TERRI_ENV, 0, 1, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00001( Entity::Player& player )
|
void Scene00001( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 1, NO_DEFAULT_CAMERA | HIDE_HOTBAR, 1, 0x32 );
|
player.playScene( getId( ), 1, NO_DEFAULT_CAMERA | HIDE_HOTBAR, 1, 0x32 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00020( Entity::Player& player )
|
void Scene00020( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 20, NO_DEFAULT_CAMERA | HIDE_HOTBAR, 0, 1 );
|
player.playScene( getId( ), 20, NO_DEFAULT_CAMERA | HIDE_HOTBAR, 0, 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00030( Entity::Player& player )
|
void Scene00030( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 30, NO_DEFAULT_CAMERA | HIDE_HOTBAR, 0, 0 );
|
player.playScene( getId( ), 30, NO_DEFAULT_CAMERA | HIDE_HOTBAR, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00040( Entity::Player& player )
|
void Scene00040( Entity::Player& player )
|
||||||
|
@ -65,7 +65,7 @@ private:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 40, 1, 2, 1, callback );
|
player.playScene( getId( ), 40, 1, 2, 1, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -49,24 +49,24 @@ private:
|
||||||
Scene00001( player );
|
Scene00001( player );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 0, NO_DEFAULT_CAMERA | INVIS_ENPC |
|
player.playScene( getId( ), 0, NO_DEFAULT_CAMERA | INVIS_ENPC |
|
||||||
CONDITION_CUTSCENE | HIDE_UI |
|
CONDITION_CUTSCENE | HIDE_UI |
|
||||||
HIDE_HOTBAR | SILENT_ENTER_TERRI_ENV, 0, 1, callback );
|
HIDE_HOTBAR | SILENT_ENTER_TERRI_ENV, 0, 1, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00001( Entity::Player& player )
|
void Scene00001( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 1, NO_DEFAULT_CAMERA | HIDE_HOTBAR, 1, 0x32 );
|
player.playScene( getId( ), 1, NO_DEFAULT_CAMERA | HIDE_HOTBAR, 1, 0x32 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00020( Entity::Player& player )
|
void Scene00020( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 20, NO_DEFAULT_CAMERA | HIDE_HOTBAR, 0, 1 );
|
player.playScene( getId( ), 20, NO_DEFAULT_CAMERA | HIDE_HOTBAR, 0, 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00030( Entity::Player& player )
|
void Scene00030( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 30, NO_DEFAULT_CAMERA | HIDE_HOTBAR, 0, 0 );
|
player.playScene( getId( ), 30, NO_DEFAULT_CAMERA | HIDE_HOTBAR, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00040( Entity::Player& player )
|
void Scene00040( Entity::Player& player )
|
||||||
|
@ -80,7 +80,7 @@ private:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 40, NO_DEFAULT_CAMERA, 2, 1, callback );
|
player.playScene( getId( ), 40, NO_DEFAULT_CAMERA, 2, 1, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -35,24 +35,24 @@ private:
|
||||||
Scene00001( player );
|
Scene00001( player );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 0, NO_DEFAULT_CAMERA | INVIS_ENPC |
|
player.playScene( getId( ), 0, NO_DEFAULT_CAMERA | INVIS_ENPC |
|
||||||
CONDITION_CUTSCENE | HIDE_UI |
|
CONDITION_CUTSCENE | HIDE_UI |
|
||||||
HIDE_HOTBAR | SILENT_ENTER_TERRI_ENV, 0, 1, callback );
|
HIDE_HOTBAR | SILENT_ENTER_TERRI_ENV, 0, 1, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00001( Entity::Player& player )
|
void Scene00001( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 1, HIDE_HOTBAR | NO_DEFAULT_CAMERA, 1, 0x32 );
|
player.playScene( getId( ), 1, HIDE_HOTBAR | NO_DEFAULT_CAMERA, 1, 0x32 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00020( Entity::Player& player )
|
void Scene00020( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 20, HIDE_HOTBAR | NO_DEFAULT_CAMERA, 0, 1 );
|
player.playScene( getId( ), 20, HIDE_HOTBAR | NO_DEFAULT_CAMERA, 0, 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00030( Entity::Player& player )
|
void Scene00030( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 30, HIDE_HOTBAR | NO_DEFAULT_CAMERA, 0, 0 );
|
player.playScene( getId( ), 30, HIDE_HOTBAR | NO_DEFAULT_CAMERA, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00040( Entity::Player& player )
|
void Scene00040( Entity::Player& player )
|
||||||
|
@ -63,7 +63,7 @@ private:
|
||||||
Scene00030( player );
|
Scene00030( player );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 40, NO_DEFAULT_CAMERA, 2, 1, callback );
|
player.playScene( getId( ), 40, NO_DEFAULT_CAMERA, 2, 1, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ private:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 0, HIDE_HOTBAR, 0, 0, callback );
|
player.playScene( getId( ), 0, HIDE_HOTBAR, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00001( Entity::Player& player )
|
void Scene00001( Entity::Player& player )
|
||||||
|
@ -54,7 +54,7 @@ private:
|
||||||
Scene00002( player );
|
Scene00002( player );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 1, DISABLE_SKIP | HIDE_HOTBAR | SET_BASE, 0, 0, callback );
|
player.playScene( getId( ), 1, DISABLE_SKIP | HIDE_HOTBAR | SET_BASE, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00002( Entity::Player& player )
|
void Scene00002( Entity::Player& player )
|
||||||
|
@ -63,10 +63,10 @@ private:
|
||||||
{
|
{
|
||||||
player.updateQuest( getId(), SEQ_FINISH );
|
player.updateQuest( getId(), SEQ_FINISH );
|
||||||
|
|
||||||
player.eventPlay( OPENING_EVENT_HANDLER, 0x1E, HIDE_HOTBAR | NO_DEFAULT_CAMERA, 0, 0 );
|
player.playScene( OPENING_EVENT_HANDLER, 0x1E, HIDE_HOTBAR | NO_DEFAULT_CAMERA, 0, 0 );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 2, 0, 0, 0, callback );
|
player.playScene( getId( ), 2, 0, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00004( Entity::Player& player )
|
void Scene00004( Entity::Player& player )
|
||||||
|
@ -76,7 +76,7 @@ private:
|
||||||
Scene00005( player );
|
Scene00005( player );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 4, FADE_OUT | HIDE_HOTBAR | CONDITION_CUTSCENE | HIDE_UI , 0, 0, callback );
|
player.playScene( getId( ), 4, FADE_OUT | HIDE_HOTBAR | CONDITION_CUTSCENE | HIDE_UI, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00005( Entity::Player& player )
|
void Scene00005( Entity::Player& player )
|
||||||
|
@ -90,7 +90,7 @@ private:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 5, INVIS_OTHER_PC, 0, 0, callback );
|
player.playScene( getId( ), 5, INVIS_OTHER_PC, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -88,7 +88,7 @@ private:
|
||||||
Scene00050( player );
|
Scene00050( player );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), SEQ_0_ACTOR0, HIDE_HOTBAR, 0, 0, callback );
|
player.playScene( getId( ), SEQ_0_ACTOR0, HIDE_HOTBAR, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00001( Entity::Player& player )
|
void Scene00001( Entity::Player& player )
|
||||||
|
@ -99,7 +99,7 @@ private:
|
||||||
checkQuestCompletion( player, 0 );
|
checkQuestCompletion( player, 0 );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), SEQ_1_ACTOR1, 0x0EFB, 0, 0, callback );
|
player.playScene( getId( ), SEQ_1_ACTOR1, 0x0EFB, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00002( Entity::Player& player )
|
void Scene00002( Entity::Player& player )
|
||||||
|
@ -110,7 +110,7 @@ private:
|
||||||
checkQuestCompletion( player, 3 );
|
checkQuestCompletion( player, 3 );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), SEQ_1_ACTOR2, NONE, 0, 0, callback );
|
player.playScene( getId( ), SEQ_1_ACTOR2, NONE, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00003( Entity::Player& player )
|
void Scene00003( Entity::Player& player )
|
||||||
|
@ -123,12 +123,12 @@ private:
|
||||||
Scene00099( player );
|
Scene00099( player );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), SEQ_1_ACTOR3, NONE, 0, 0, callback );
|
player.playScene( getId( ), SEQ_1_ACTOR3, NONE, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00004( Entity::Player& player )
|
void Scene00004( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), SEQ_1_ACTOR0, NONE, 0, 0 );
|
player.playScene( getId( ), SEQ_1_ACTOR0, NONE, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00005( Entity::Player& player )
|
void Scene00005( Entity::Player& player )
|
||||||
|
@ -142,7 +142,7 @@ private:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), SEQ_2_ACTOR4, FADE_OUT | CONDITION_CUTSCENE | HIDE_UI, 0, 0, callback );
|
player.playScene( getId( ), SEQ_2_ACTOR4, FADE_OUT | CONDITION_CUTSCENE | HIDE_UI, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00050( Entity::Player& player )
|
void Scene00050( Entity::Player& player )
|
||||||
|
@ -157,27 +157,17 @@ private:
|
||||||
player.forceZoneing( TERRITORYTYPE0 );
|
player.forceZoneing( TERRITORYTYPE0 );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), SEQ_0_ACTOR0_LQ, FADE_OUT | CONDITION_CUTSCENE | HIDE_UI, 0, 0, callback );
|
player.playScene( getId( ), SEQ_0_ACTOR0_LQ, FADE_OUT | CONDITION_CUTSCENE | HIDE_UI, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00051( Entity::Player& player )
|
void Scene00051( Entity::Player& player )
|
||||||
{
|
{
|
||||||
auto callback = [&]( Entity::Player& player, const Event::SceneResult& result )
|
player.playSceneChain( getId(), SEQ_1_ACTOR1_WAIT, NONE, Scene00001 );
|
||||||
{
|
|
||||||
Scene00001( player );
|
|
||||||
};
|
|
||||||
|
|
||||||
player.eventPlay( getId(), SEQ_1_ACTOR1_WAIT, NONE, 0, 0, callback );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00099( Entity::Player& player )
|
void Scene00099( Entity::Player& player )
|
||||||
{
|
{
|
||||||
auto callback = [&]( Entity::Player& player, const Event::SceneResult& result )
|
player.playSceneChain( getId(), SEQ_1_ACTOR3_NPCTRADENO, NONE, Scene00004 );
|
||||||
{
|
|
||||||
Scene00004( player );
|
|
||||||
};
|
|
||||||
|
|
||||||
player.eventPlay( getId(), SEQ_1_ACTOR3_NPCTRADENO, NONE, 0, 0, callback );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00100( Entity::Player& player )
|
void Scene00100( Entity::Player& player )
|
||||||
|
@ -190,7 +180,7 @@ private:
|
||||||
checkQuestCompletion( player, 2 );
|
checkQuestCompletion( player, 2 );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), SEQ_1_ACTOR3_NPCTRADEOK, 0x0EFB, 0, 0, callback );
|
player.playScene( getId( ), SEQ_1_ACTOR3_NPCTRADEOK, 0x0EFB, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -143,113 +143,100 @@ class ManFst004 : public EventScript
|
||||||
// Available Scenes in this quest, not necessarly all are used
|
// Available Scenes in this quest, not necessarly all are used
|
||||||
void Scene00000( Entity::Player& player )
|
void Scene00000( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( m_id, 0, 0x2000,
|
player.playScene( m_id, 0, 0x2000,
|
||||||
[&]( Entity::Player& player, const Event::SceneResult& result )
|
[&]( Entity::Player& player, const Event::SceneResult& result ) {
|
||||||
{
|
|
||||||
if( result.param2 == 1 ) // accept quest
|
if( result.param2 == 1 ) // accept quest
|
||||||
{
|
{
|
||||||
Scene00050( player );
|
Scene00050( player );
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00001( Entity::Player& player )
|
void Scene00001( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( m_id, 1, 0,
|
player.playScene( m_id, 1, 0,
|
||||||
[&]( Entity::Player& player, const Event::SceneResult& result )
|
[&]( Entity::Player& player, const Event::SceneResult& result ) {
|
||||||
{
|
|
||||||
player.setQuestUI8AL( m_id, 1 );
|
player.setQuestUI8AL( m_id, 1 );
|
||||||
checkQuestCompletion( player, 0 );
|
checkQuestCompletion( player, 0 );
|
||||||
});
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00002( Entity::Player& player )
|
void Scene00002( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( m_id, 2, 0,
|
player.playScene( m_id, 2, 0,
|
||||||
[&]( Entity::Player& player, const Event::SceneResult& result )
|
[&]( Entity::Player& player, const Event::SceneResult& result ) {
|
||||||
{
|
|
||||||
player.setQuestUI8BH( m_id, 1 );
|
player.setQuestUI8BH( m_id, 1 );
|
||||||
checkQuestCompletion( player, 3 );
|
checkQuestCompletion( player, 3 );
|
||||||
});
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00003( Entity::Player& player )
|
void Scene00003( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( m_id, 3, 0,
|
player.playScene( m_id, 3, 0,
|
||||||
[&]( Entity::Player& player, const Event::SceneResult& result )
|
[&]( Entity::Player& player, const Event::SceneResult& result ) {
|
||||||
{
|
if( result.param2 == 1 ) {
|
||||||
if( result.param2 == 1 )
|
|
||||||
{
|
|
||||||
Scene00100( player );
|
Scene00100( player );
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
Scene00099( player );
|
Scene00099( player );
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00004( Entity::Player& player )
|
void Scene00004( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( m_id, 4, 0, 0, 0 );
|
player.playScene( m_id, 4, 0, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00005( Entity::Player& player )
|
void Scene00005( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( m_id, 5, FADE_OUT | CONDITION_CUTSCENE | HIDE_UI, 0, 0,
|
player.playScene( m_id, 5, FADE_OUT | CONDITION_CUTSCENE | HIDE_UI, 0, 0,
|
||||||
[&]( Entity::Player& player, const Event::SceneResult& result )
|
[&]( Entity::Player& player, const Event::SceneResult& result ) {
|
||||||
{
|
|
||||||
if( result.param2 == 1 ) // finish quest
|
if( result.param2 == 1 ) // finish quest
|
||||||
{
|
{
|
||||||
if( player.giveQuestRewards( m_id, 0 ) )
|
if( player.giveQuestRewards( m_id, 0 )) {
|
||||||
{
|
|
||||||
player.finishQuest( m_id );
|
player.finishQuest( m_id );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00050( Entity::Player& player )
|
void Scene00050( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( m_id, 50, FADE_OUT | CONDITION_CUTSCENE | HIDE_UI, 0/*unk*/, 0/*unk*/,
|
player.playScene( m_id, 50, FADE_OUT | CONDITION_CUTSCENE | HIDE_UI, 0/*unk*/, 0/*unk*/,
|
||||||
[&]( Entity::Player& player, const Event::SceneResult& result )
|
[&]( Entity::Player& player, const Event::SceneResult& result ) {
|
||||||
{
|
|
||||||
// accepting quest "close to home"
|
// accepting quest "close to home"
|
||||||
player.updateQuest( m_id, 1 );
|
player.updateQuest( m_id, 1 );
|
||||||
player.setQuestUI8CH( m_id, 1 ); // receive key item
|
player.setQuestUI8CH( m_id, 1 ); // receive key item
|
||||||
// event is done, need to teleport to real zone.
|
// event is done, need to teleport to real zone.
|
||||||
player.setZone( 132 );
|
player.setZone( 132 );
|
||||||
//player.setZone(183); back to starting griania for debug purpose
|
//player.setZone(183); back to starting griania for debug purpose
|
||||||
});
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00051( Entity::Player& player )
|
void Scene00051( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( m_id, 51, NONE,
|
player.playScene( m_id, 51, NONE,
|
||||||
[&]( Entity::Player& player, const Event::SceneResult& result )
|
[&]( Entity::Player& player, const Event::SceneResult& result ) {
|
||||||
{
|
|
||||||
Scene00001( player );
|
Scene00001( player );
|
||||||
});
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00099( Entity::Player& player )
|
void Scene00099( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( m_id, 99, NONE,
|
player.playScene( m_id, 99, NONE,
|
||||||
[&]( Entity::Player& player, const Event::SceneResult& result )
|
[&]( Entity::Player& player, const Event::SceneResult& result ) {
|
||||||
{
|
|
||||||
Scene00004( player );
|
Scene00004( player );
|
||||||
});
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00100( Entity::Player& player )
|
void Scene00100( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( m_id, 100, NONE,
|
player.playScene( m_id, 100, NONE,
|
||||||
[&]( Entity::Player& player, const Event::SceneResult& result )
|
[&]( Entity::Player& player, const Event::SceneResult& result ) {
|
||||||
{
|
|
||||||
player.setQuestUI8CH( m_id, 0 ); // remove key item, since we have just traded it
|
player.setQuestUI8CH( m_id, 0 ); // remove key item, since we have just traded it
|
||||||
player.setQuestUI8BL( m_id, 1 );
|
player.setQuestUI8BL( m_id, 1 );
|
||||||
checkQuestCompletion( player, 2 );
|
checkQuestCompletion( player, 2 );
|
||||||
});
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
|
@ -36,7 +36,7 @@ private:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 0, HIDE_HOTBAR, 0, 0, callback );
|
player.playScene( getId( ), 0, HIDE_HOTBAR, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00001( Entity::Player& player )
|
void Scene00001( Entity::Player& player )
|
||||||
|
@ -46,7 +46,7 @@ private:
|
||||||
Scene00002( player );
|
Scene00002( player );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 1, DISABLE_SKIP | HIDE_HOTBAR | SET_BASE, 0, 0, callback );
|
player.playScene( getId( ), 1, DISABLE_SKIP | HIDE_HOTBAR | SET_BASE, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00002( Entity::Player& player )
|
void Scene00002( Entity::Player& player )
|
||||||
|
@ -56,22 +56,22 @@ private:
|
||||||
Scene00003( player );
|
Scene00003( player );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 2, NONE, 0, 0, callback );
|
player.playScene( getId( ), 2, NONE, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00003( Entity::Player& player )
|
void Scene00003( Entity::Player& player )
|
||||||
{
|
{
|
||||||
auto callback = [ this ]( Entity::Player& player, const Event::SceneResult& result )
|
auto callback = [ this ]( Entity::Player& player, const Event::SceneResult& result )
|
||||||
{
|
{
|
||||||
player.eventPlay( OPENING_EVENT_HANDLER, 0x1E, HIDE_HOTBAR | NO_DEFAULT_CAMERA, 1, 0 );
|
player.playScene( OPENING_EVENT_HANDLER, 0x1E, HIDE_HOTBAR | NO_DEFAULT_CAMERA, 1, 0 );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 3, NONE, 0, 0, callback );
|
player.playScene( getId( ), 3, NONE, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00004( Entity::Player& player )
|
void Scene00004( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 4, NONE, 0, 0 );
|
player.playScene( getId( ), 4, NONE, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00005( Entity::Player& player )
|
void Scene00005( Entity::Player& player )
|
||||||
|
@ -81,7 +81,7 @@ private:
|
||||||
Scene00006( player );
|
Scene00006( player );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 5, HIDE_HOTBAR, 0, 0, callback );
|
player.playScene( getId( ), 5, HIDE_HOTBAR, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00006( Entity::Player& player )
|
void Scene00006( Entity::Player& player )
|
||||||
|
@ -93,27 +93,27 @@ private:
|
||||||
player.changePosition( 9, 40, 14, 2 );
|
player.changePosition( 9, 40, 14, 2 );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 6, INVIS_OTHER_PC, 0, 0, callback );
|
player.playScene( getId( ), 6, INVIS_OTHER_PC, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00007( Entity::Player& player )
|
void Scene00007( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 7, NONE, 0, 0 );
|
player.playScene( getId( ), 7, NONE, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00008( Entity::Player& player )
|
void Scene00008( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 8, NONE, 0, 0 );
|
player.playScene( getId( ), 8, NONE, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00009( Entity::Player& player )
|
void Scene00009( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 9, NONE, 0, 0 );
|
player.playScene( getId( ), 9, NONE, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00010( Entity::Player& player )
|
void Scene00010( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 10, NONE, 0, 0 );
|
player.playScene( getId( ), 10, NONE, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00011( Entity::Player& player )
|
void Scene00011( Entity::Player& player )
|
||||||
|
@ -123,7 +123,7 @@ private:
|
||||||
Scene00012( player );
|
Scene00012( player );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 11, 0x2c02, 0, 0, callback );
|
player.playScene( getId( ), 11, 0x2c02, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00012( Entity::Player& player )
|
void Scene00012( Entity::Player& player )
|
||||||
|
@ -137,12 +137,12 @@ private:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 12, INVIS_OTHER_PC, 0, 0, callback );
|
player.playScene( getId( ), 12, INVIS_OTHER_PC, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00013( Entity::Player& player )
|
void Scene00013( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 13, NONE, 0, 0 );
|
player.playScene( getId( ), 13, NONE, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -41,7 +41,7 @@ private:
|
||||||
Scene00050( player );
|
Scene00050( player );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 0, HIDE_HOTBAR, 0, 0, callback );
|
player.playScene( getId( ), 0, HIDE_HOTBAR, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00001( Entity::Player& player )
|
void Scene00001( Entity::Player& player )
|
||||||
|
@ -51,7 +51,7 @@ private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 1, NONE, callback );
|
player.playScene( getId( ), 1, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00002( Entity::Player& player )
|
void Scene00002( Entity::Player& player )
|
||||||
|
@ -61,7 +61,7 @@ private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 2, NONE, callback );
|
player.playScene( getId( ), 2, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00003( Entity::Player& player )
|
void Scene00003( Entity::Player& player )
|
||||||
|
@ -71,7 +71,7 @@ private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 3, NONE, callback );
|
player.playScene( getId( ), 3, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00004( Entity::Player& player )
|
void Scene00004( Entity::Player& player )
|
||||||
|
@ -81,7 +81,7 @@ private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 4, NONE, callback );
|
player.playScene( getId( ), 4, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00005( Entity::Player& player )
|
void Scene00005( Entity::Player& player )
|
||||||
|
@ -91,7 +91,7 @@ private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 5, NONE, callback );
|
player.playScene( getId( ), 5, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00006( Entity::Player& player )
|
void Scene00006( Entity::Player& player )
|
||||||
|
@ -101,7 +101,7 @@ private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 6, NONE, callback );
|
player.playScene( getId( ), 6, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00007( Entity::Player& player )
|
void Scene00007( Entity::Player& player )
|
||||||
|
@ -111,7 +111,7 @@ private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 7, NONE, callback );
|
player.playScene( getId( ), 7, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00008( Entity::Player& player )
|
void Scene00008( Entity::Player& player )
|
||||||
|
@ -121,7 +121,7 @@ private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 8, NONE, callback );
|
player.playScene( getId( ), 8, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00050( Entity::Player& player )
|
void Scene00050( Entity::Player& player )
|
||||||
|
@ -136,7 +136,7 @@ private:
|
||||||
player.forceZoneing( 128 );
|
player.forceZoneing( 128 );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 50, FADE_OUT | CONDITION_CUTSCENE | HIDE_UI, 0, 0, callback );
|
player.playScene( getId( ), 50, FADE_OUT | CONDITION_CUTSCENE | HIDE_UI, 0, 0, callback );
|
||||||
}
|
}
|
||||||
public:
|
public:
|
||||||
ManSea002() : EventScript( 65644 ) {}
|
ManSea002() : EventScript( 65644 ) {}
|
||||||
|
|
|
@ -37,7 +37,7 @@ private:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 0, HIDE_HOTBAR, 0, 0, callback );
|
player.playScene( getId( ), 0, HIDE_HOTBAR, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00001( Entity::Player& player )
|
void Scene00001( Entity::Player& player )
|
||||||
|
@ -47,22 +47,22 @@ private:
|
||||||
Scene00002( player );
|
Scene00002( player );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 1, DISABLE_SKIP | HIDE_HOTBAR | SET_BASE, 0, 0, callback );
|
player.playScene( getId( ), 1, DISABLE_SKIP | HIDE_HOTBAR | SET_BASE, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00002( Entity::Player& player )
|
void Scene00002( Entity::Player& player )
|
||||||
{
|
{
|
||||||
auto callback = [ this ]( Entity::Player& player, const Event::SceneResult& result )
|
auto callback = [ this ]( Entity::Player& player, const Event::SceneResult& result )
|
||||||
{
|
{
|
||||||
player.eventPlay( OPENING_EVENT_HANDLER, 0x1E, HIDE_HOTBAR | NO_DEFAULT_CAMERA, 0, 0 );
|
player.playScene( OPENING_EVENT_HANDLER, 0x1E, HIDE_HOTBAR | NO_DEFAULT_CAMERA, 0, 0 );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 2, NONE, 0, 0, callback );
|
player.playScene( getId( ), 2, NONE, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00003( Entity::Player& player )
|
void Scene00003( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 3, NONE, 0, 0 );
|
player.playScene( getId( ), 3, NONE, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00004( Entity::Player& player )
|
void Scene00004( Entity::Player& player )
|
||||||
|
@ -72,7 +72,7 @@ private:
|
||||||
Scene00005( player );
|
Scene00005( player );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 4, 0x2c02, 0, 0, callback );
|
player.playScene( getId( ), 4, 0x2c02, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00005( Entity::Player& player )
|
void Scene00005( Entity::Player& player )
|
||||||
|
@ -86,47 +86,47 @@ private:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 5, INVIS_OTHER_PC, 0, 0, callback );
|
player.playScene( getId( ), 5, INVIS_OTHER_PC, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00006( Entity::Player& player )
|
void Scene00006( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 6, 0, 0, 0 );
|
player.playScene( getId( ), 6, 0, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00007( Entity::Player& player )
|
void Scene00007( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 7, 0, 0, 0 );
|
player.playScene( getId( ), 7, 0, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00008( Entity::Player& player )
|
void Scene00008( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 8, 0, 0, 0 );
|
player.playScene( getId( ), 8, 0, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00009( Entity::Player& player )
|
void Scene00009( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 9, 0, 0, 0 );
|
player.playScene( getId( ), 9, 0, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00010( Entity::Player& player )
|
void Scene00010( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 10, 0, 0, 0 );
|
player.playScene( getId( ), 10, 0, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00011( Entity::Player& player )
|
void Scene00011( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 11, 0, 0, 0 );
|
player.playScene( getId( ), 11, 0, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00012( Entity::Player& player )
|
void Scene00012( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 12, 0, 0, 0 );
|
player.playScene( getId( ), 12, 0, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00013( Entity::Player& player )
|
void Scene00013( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 13, 0, 0, 0 );
|
player.playScene( getId( ), 13, 0, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@ private:
|
||||||
Scene00050( player );
|
Scene00050( player );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 0, HIDE_HOTBAR, 0, 0, callback );
|
player.playScene( getId( ), 0, HIDE_HOTBAR, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00001( Entity::Player& player )
|
void Scene00001( Entity::Player& player )
|
||||||
|
@ -57,7 +57,7 @@ private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 1, NONE, callback );
|
player.playScene( getId( ), 1, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00002( Entity::Player& player )
|
void Scene00002( Entity::Player& player )
|
||||||
|
@ -67,7 +67,7 @@ private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 2, NONE, callback );
|
player.playScene( getId( ), 2, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00003( Entity::Player& player )
|
void Scene00003( Entity::Player& player )
|
||||||
|
@ -77,7 +77,7 @@ private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 3, NONE, callback );
|
player.playScene( getId( ), 3, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00004( Entity::Player& player )
|
void Scene00004( Entity::Player& player )
|
||||||
|
@ -87,7 +87,7 @@ private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 4, NONE, callback );
|
player.playScene( getId( ), 4, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00005( Entity::Player& player )
|
void Scene00005( Entity::Player& player )
|
||||||
|
@ -97,7 +97,7 @@ private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 5, NONE, callback );
|
player.playScene( getId( ), 5, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00006( Entity::Player& player )
|
void Scene00006( Entity::Player& player )
|
||||||
|
@ -107,7 +107,7 @@ private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 6, NONE, callback );
|
player.playScene( getId( ), 6, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00007( Entity::Player& player )
|
void Scene00007( Entity::Player& player )
|
||||||
|
@ -117,7 +117,7 @@ private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 7, NONE, callback );
|
player.playScene( getId( ), 7, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00008( Entity::Player& player )
|
void Scene00008( Entity::Player& player )
|
||||||
|
@ -127,7 +127,7 @@ private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 8, NONE, callback );
|
player.playScene( getId( ), 8, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00050( Entity::Player& player )
|
void Scene00050( Entity::Player& player )
|
||||||
|
@ -142,7 +142,7 @@ private:
|
||||||
player.forceZoneing( 130 );
|
player.forceZoneing( 130 );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 50, FADE_OUT | CONDITION_CUTSCENE | HIDE_UI, 0, 0, callback );
|
player.playScene( getId( ), 50, FADE_OUT | CONDITION_CUTSCENE | HIDE_UI, 0, 0, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -34,17 +34,17 @@ private:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 0, NONE, callback );
|
player.playScene( getId( ), 0, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00001( Entity::Player& player )
|
void Scene00001( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 1, NONE );
|
player.playScene( getId( ), 1, NONE );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00099( Entity::Player& player )
|
void Scene00099( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 99, NONE );
|
player.playScene( getId( ), 99, NONE );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00100( Entity::Player& player )
|
void Scene00100( Entity::Player& player )
|
||||||
|
@ -58,7 +58,7 @@ private:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 100, NONE, callback );
|
player.playScene( getId( ), 100, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ private:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId (), 0, NONE, callback );
|
player.playScene( getId( ), 0, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00001(Entity::Player& player)
|
void Scene00001(Entity::Player& player)
|
||||||
|
@ -45,7 +45,7 @@ private:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 1, NONE, callback );
|
player.playScene( getId( ), 1, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -27,7 +27,7 @@ private:
|
||||||
player.updateQuest( getId(), SEQ_FINISH );
|
player.updateQuest( getId(), SEQ_FINISH );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 0, NONE, callback );
|
player.playScene( getId( ), 0, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00001( Entity::Player& player )
|
void Scene00001( Entity::Player& player )
|
||||||
|
@ -41,7 +41,7 @@ private:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 1, NONE, callback );
|
player.playScene( getId( ), 1, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -49,12 +49,12 @@ private:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 0, NONE, callback );
|
player.playScene( getId( ), 0, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00001( Entity::Player& player )
|
void Scene00001( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 2, NONE );
|
player.playScene( getId( ), 2, NONE );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00002( Entity::Player& player )
|
void Scene00002( Entity::Player& player )
|
||||||
|
@ -64,12 +64,12 @@ private:
|
||||||
player.updateQuest( getId(), SEQ_3 );
|
player.updateQuest( getId(), SEQ_3 );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 2, NONE, callback );
|
player.playScene( getId( ), 2, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00003( Entity::Player& player )
|
void Scene00003( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 3, NONE );
|
player.playScene( getId( ), 3, NONE );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00004( Entity::Player& player )
|
void Scene00004( Entity::Player& player )
|
||||||
|
@ -79,12 +79,12 @@ private:
|
||||||
player.updateQuest( getId(), SEQ_5 );
|
player.updateQuest( getId(), SEQ_5 );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 4, NONE, callback );
|
player.playScene( getId( ), 4, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00005( Entity::Player& player )
|
void Scene00005( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 5, NONE );
|
player.playScene( getId( ), 5, NONE );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00006( Entity::Player& player )
|
void Scene00006( Entity::Player& player )
|
||||||
|
@ -98,12 +98,12 @@ private:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 6, NONE, callback );
|
player.playScene( getId( ), 6, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00095( Entity::Player& player )
|
void Scene00095( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 95, NONE );
|
player.playScene( getId( ), 95, NONE );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00096( Entity::Player& player )
|
void Scene00096( Entity::Player& player )
|
||||||
|
@ -114,12 +114,12 @@ private:
|
||||||
player.sendQuestMessage( getId(), 4, 2, 0, 0 );
|
player.sendQuestMessage( getId(), 4, 2, 0, 0 );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 96, NONE, callback );
|
player.playScene( getId( ), 96, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00097( Entity::Player& player )
|
void Scene00097( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 97, NONE );
|
player.playScene( getId( ), 97, NONE );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00098( Entity::Player& player )
|
void Scene00098( Entity::Player& player )
|
||||||
|
@ -130,12 +130,12 @@ private:
|
||||||
player.sendQuestMessage( getId(), 2, 2, 0, 0 );
|
player.sendQuestMessage( getId(), 2, 2, 0, 0 );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 98, NONE, callback );
|
player.playScene( getId( ), 98, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00099( Entity::Player& player )
|
void Scene00099( Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.eventPlay( getId(), 99, NONE );
|
player.playScene( getId( ), 99, NONE );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene00100( Entity::Player& player )
|
void Scene00100( Entity::Player& player )
|
||||||
|
@ -146,7 +146,7 @@ private:
|
||||||
player.sendQuestMessage( getId(), 0, 2, 0, 0 );
|
player.sendQuestMessage( getId(), 0, 2, 0, 0 );
|
||||||
};
|
};
|
||||||
|
|
||||||
player.eventPlay( getId(), 100, NONE, callback );
|
player.playScene( getId( ), 100, NONE, callback );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -56,22 +56,35 @@ public:
|
||||||
/*! start/register a normal event */
|
/*! start/register a normal event */
|
||||||
void eventStart( uint64_t actorId, uint32_t eventId, Event::EventHandler::EventType eventParam, uint8_t eventParam1, uint32_t eventParam2 );
|
void eventStart( uint64_t actorId, uint32_t eventId, Event::EventHandler::EventType eventParam, uint8_t eventParam1, uint32_t eventParam2 );
|
||||||
/*! play a subevent */
|
/*! play a subevent */
|
||||||
void eventPlay( uint32_t eventId, uint32_t scene, uint32_t flags, uint32_t eventParam2, uint32_t eventParam3 );
|
void playScene( uint32_t eventId, uint32_t scene, uint32_t flags, uint32_t eventParam2, uint32_t eventParam3 );
|
||||||
|
|
||||||
void directorPlayScene( uint32_t eventId, uint32_t scene, uint32_t flags, uint32_t eventParam3, uint32_t eventParam4, uint32_t eventParam5 = 0 );
|
void directorPlayScene( uint32_t eventId, uint32_t scene, uint32_t flags, uint32_t eventParam3, uint32_t eventParam4, uint32_t eventParam5 = 0 );
|
||||||
|
|
||||||
/*! play a subevent */
|
/*! play a subevent */
|
||||||
void eventPlay( uint32_t eventId, uint32_t scene, uint32_t flags,
|
void playScene( uint32_t eventId, uint32_t scene, uint32_t flags,
|
||||||
uint32_t eventParam2, uint32_t eventParam3, Event::EventHandler::SceneReturnCallback eventReturnCallback );
|
uint32_t eventParam2, uint32_t eventParam3, Event::EventHandler::SceneReturnCallback eventReturnCallback );
|
||||||
/*! play a subevent */
|
/*! play a subevent */
|
||||||
void eventPlay( uint32_t eventId, uint32_t scene, uint32_t flags,
|
void playScene( uint32_t eventId, uint32_t scene, uint32_t flags,
|
||||||
uint32_t eventParam2, uint32_t eventParam3, uint32_t eventParam4,
|
uint32_t eventParam2, uint32_t eventParam3, uint32_t eventParam4,
|
||||||
Event::EventHandler::SceneReturnCallback eventReturnCallback );
|
Event::EventHandler::SceneReturnCallback eventReturnCallback );
|
||||||
/*! play a subevent */
|
/*! play a subevent */
|
||||||
void eventPlay( uint32_t eventId, uint32_t scene, uint32_t flags,
|
void playScene( uint32_t eventId, uint32_t scene, uint32_t flags,
|
||||||
Event::EventHandler::SceneReturnCallback eventReturnCallback );
|
Event::EventHandler::SceneReturnCallback eventReturnCallback );
|
||||||
/*! play a subevent */
|
/*! play a subevent */
|
||||||
void eventPlay( uint32_t eventId, uint32_t scene, uint32_t flags );
|
void playScene( uint32_t eventId, uint32_t scene, uint32_t flags );
|
||||||
|
/*! play a subevent */
|
||||||
|
void playSceneChain( uint32_t eventId, uint32_t scene, uint32_t flags,
|
||||||
|
uint32_t eventParam2, uint32_t eventParam3, uint32_t eventParam4,
|
||||||
|
Event::EventHandler::SceneChainCallback sceneChainCallback );
|
||||||
|
/*! play a subevent */
|
||||||
|
void playSceneChain( uint32_t eventId, uint32_t scene, uint32_t flags,
|
||||||
|
uint32_t eventParam2, uint32_t eventParam3,
|
||||||
|
Event::EventHandler::SceneChainCallback sceneChainCallback );
|
||||||
|
/*! play a subevent */
|
||||||
|
void playSceneChain( uint32_t eventId, uint32_t scene, uint32_t flags,
|
||||||
|
Event::EventHandler::SceneChainCallback sceneChainCallback );
|
||||||
|
/*! setup the event and return a ptr to it */
|
||||||
|
Event::EventHandlerPtr bootstrapSceneEvent( uint32_t eventId, uint32_t flags );
|
||||||
/*! finish / unregister an event */
|
/*! finish / unregister an event */
|
||||||
void eventFinish( uint32_t eventId, uint32_t freePlayer );
|
void eventFinish( uint32_t eventId, uint32_t freePlayer );
|
||||||
/*! add an event to the event array */
|
/*! add an event to the event array */
|
||||||
|
|
|
@ -113,56 +113,32 @@ void Core::Entity::Player::eventStart( uint64_t actorId, uint32_t eventId,
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Core::Entity::Player::eventPlay( uint32_t eventId, uint32_t scene,
|
void Core::Entity::Player::playScene( uint32_t eventId, uint32_t scene,
|
||||||
uint32_t flags, uint32_t eventParam2,
|
uint32_t flags, uint32_t eventParam2,
|
||||||
uint32_t eventParam3 )
|
uint32_t eventParam3 )
|
||||||
{
|
{
|
||||||
eventPlay( eventId, scene, flags, eventParam2, eventParam3, nullptr );
|
playScene( eventId, scene, flags, eventParam2, eventParam3, nullptr );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Core::Entity::Player::eventPlay( uint32_t eventId, uint32_t scene,
|
void Core::Entity::Player::playScene( uint32_t eventId, uint32_t scene,
|
||||||
uint32_t flags, Event::EventHandler::SceneReturnCallback eventCallback )
|
uint32_t flags, Event::EventHandler::SceneReturnCallback eventCallback )
|
||||||
{
|
{
|
||||||
eventPlay( eventId, scene, flags, 0, 0, eventCallback );
|
playScene( eventId, scene, flags, 0, 0, eventCallback );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Core::Entity::Player::eventPlay( uint32_t eventId, uint32_t scene, uint32_t flags )
|
void Core::Entity::Player::playScene( uint32_t eventId, uint32_t scene, uint32_t flags )
|
||||||
{
|
{
|
||||||
eventPlay( eventId, scene, flags, 0, 0, nullptr );
|
playScene( eventId, scene, flags, 0, 0, nullptr );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Core::Entity::Player::eventPlay( uint32_t eventId, uint32_t scene,
|
void Core::Entity::Player::playScene( uint32_t eventId, uint32_t scene,
|
||||||
uint32_t flags, uint32_t eventParam2,
|
uint32_t flags, uint32_t eventParam2,
|
||||||
uint32_t eventParam3, Event::EventHandler::SceneReturnCallback eventCallback )
|
uint32_t eventParam3, Event::EventHandler::SceneReturnCallback eventCallback )
|
||||||
{
|
{
|
||||||
if( flags & 0x02 )
|
playScene( eventId, scene, flags, eventParam2, eventParam3, 0, eventCallback );
|
||||||
setStateFlag( PlayerStateFlag::WatchingCutscene );
|
|
||||||
|
|
||||||
auto pEvent = getEvent( eventId );
|
|
||||||
if( !pEvent && getEventCount() )
|
|
||||||
{
|
|
||||||
// We're trying to play a nested event, need to start it first.
|
|
||||||
eventStart( getId(), eventId, Event::EventHandler::Nest, 0, 0 );
|
|
||||||
pEvent = getEvent( eventId );
|
|
||||||
}
|
|
||||||
else if( !pEvent )
|
|
||||||
{
|
|
||||||
auto pLog = g_fw.get< Logger >();
|
|
||||||
pLog->error( "Could not find event " + std::to_string( eventId ) + ", event has not been started!" );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
pEvent->setPlayedScene( true );
|
|
||||||
pEvent->setEventReturnCallback( eventCallback );
|
|
||||||
EventPlayPacket eventPlay( getId(), pEvent->getActorId(), pEvent->getId(),
|
|
||||||
scene, flags, eventParam2, eventParam3 );
|
|
||||||
|
|
||||||
queuePacket( eventPlay );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Core::Entity::Player::eventPlay( uint32_t eventId, uint32_t scene,
|
Core::Event::EventHandlerPtr Core::Entity::Player::bootstrapSceneEvent( uint32_t eventId, uint32_t flags )
|
||||||
uint32_t flags, uint32_t eventParam2,
|
|
||||||
uint32_t eventParam3, uint32_t eventParam4, Event::EventHandler::SceneReturnCallback eventCallback )
|
|
||||||
{
|
{
|
||||||
if( flags & 0x02 )
|
if( flags & 0x02 )
|
||||||
setStateFlag( PlayerStateFlag::WatchingCutscene );
|
setStateFlag( PlayerStateFlag::WatchingCutscene );
|
||||||
|
@ -178,9 +154,20 @@ void Core::Entity::Player::eventPlay( uint32_t eventId, uint32_t scene,
|
||||||
{
|
{
|
||||||
auto pLog = g_fw.get< Logger >();
|
auto pLog = g_fw.get< Logger >();
|
||||||
pLog->error( "Could not find event " + std::to_string( eventId ) + ", event has not been started!" );
|
pLog->error( "Could not find event " + std::to_string( eventId ) + ", event has not been started!" );
|
||||||
return;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return pEvent;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Core::Entity::Player::playScene( uint32_t eventId, uint32_t scene,
|
||||||
|
uint32_t flags, uint32_t eventParam2,
|
||||||
|
uint32_t eventParam3, uint32_t eventParam4, Event::EventHandler::SceneReturnCallback eventCallback )
|
||||||
|
{
|
||||||
|
auto pEvent = bootstrapSceneEvent( eventId, flags );
|
||||||
|
if( !pEvent )
|
||||||
|
return;
|
||||||
|
|
||||||
pEvent->setPlayedScene( true );
|
pEvent->setPlayedScene( true );
|
||||||
pEvent->setEventReturnCallback( eventCallback );
|
pEvent->setEventReturnCallback( eventCallback );
|
||||||
EventPlayPacket eventPlay( getId(), pEvent->getActorId(), pEvent->getId(),
|
EventPlayPacket eventPlay( getId(), pEvent->getActorId(), pEvent->getId(),
|
||||||
|
@ -189,6 +176,35 @@ void Core::Entity::Player::eventPlay( uint32_t eventId, uint32_t scene,
|
||||||
queuePacket( eventPlay );
|
queuePacket( eventPlay );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Core::Entity::Player::playSceneChain( uint32_t eventId, uint32_t scene, uint32_t flags,
|
||||||
|
uint32_t eventParam2, uint32_t eventParam3, uint32_t eventParam4,
|
||||||
|
Core::Event::EventHandler::SceneChainCallback sceneChainCallback )
|
||||||
|
{
|
||||||
|
auto pEvent = bootstrapSceneEvent( eventId, flags );
|
||||||
|
if( !pEvent )
|
||||||
|
return;
|
||||||
|
|
||||||
|
pEvent->setPlayedScene( true );
|
||||||
|
pEvent->setSceneChainCallback( sceneChainCallback );
|
||||||
|
EventPlayPacket eventPlay( getId(), pEvent->getActorId(), pEvent->getId(),
|
||||||
|
scene, flags, eventParam2, eventParam3, eventParam4 );
|
||||||
|
|
||||||
|
queuePacket( eventPlay );
|
||||||
|
}
|
||||||
|
|
||||||
|
void Core::Entity::Player::playSceneChain( uint32_t eventId, uint32_t scene, uint32_t flags,
|
||||||
|
uint32_t eventParam2, uint32_t eventParam3,
|
||||||
|
Core::Event::EventHandler::SceneChainCallback sceneChainCallback )
|
||||||
|
{
|
||||||
|
playSceneChain( eventId, scene, flags, eventParam2, eventParam3, 0, sceneChainCallback );
|
||||||
|
}
|
||||||
|
|
||||||
|
void Core::Entity::Player::playSceneChain( uint32_t eventId, uint32_t scene, uint32_t flags,
|
||||||
|
Core::Event::EventHandler::SceneChainCallback sceneChainCallback )
|
||||||
|
{
|
||||||
|
playSceneChain( eventId, scene, flags, 0, 0, 0, sceneChainCallback );
|
||||||
|
}
|
||||||
|
|
||||||
void Core::Entity::Player::eventFinish( uint32_t eventId, uint32_t freePlayer )
|
void Core::Entity::Player::eventFinish( uint32_t eventId, uint32_t freePlayer )
|
||||||
{
|
{
|
||||||
auto pEvent = getEvent( eventId );
|
auto pEvent = getEvent( eventId );
|
||||||
|
|
|
@ -10,7 +10,7 @@ Core::Event::EventHandler::EventHandler( Entity::Player* pOwner, uint64_t actorI
|
||||||
m_entryId = static_cast< uint16_t >( eventId );
|
m_entryId = static_cast< uint16_t >( eventId );
|
||||||
m_type = static_cast< uint16_t >( eventId >> 16 );
|
m_type = static_cast< uint16_t >( eventId >> 16 );
|
||||||
m_eventParam = eventParam;
|
m_eventParam = eventParam;
|
||||||
m_callback = nullptr;
|
m_returnCallback = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t Core::Event::EventHandler::getActorId() const
|
uint64_t Core::Event::EventHandler::getActorId() const
|
||||||
|
@ -45,12 +45,22 @@ uint32_t Core::Event::EventHandler::getEventParam() const
|
||||||
|
|
||||||
Core::Event::EventHandler::SceneReturnCallback Core::Event::EventHandler::getEventReturnCallback() const
|
Core::Event::EventHandler::SceneReturnCallback Core::Event::EventHandler::getEventReturnCallback() const
|
||||||
{
|
{
|
||||||
return m_callback;
|
return m_returnCallback;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Core::Event::EventHandler::setEventReturnCallback( SceneReturnCallback callback )
|
void Core::Event::EventHandler::setEventReturnCallback( SceneReturnCallback callback )
|
||||||
{
|
{
|
||||||
m_callback = callback;
|
m_returnCallback = callback;
|
||||||
|
}
|
||||||
|
|
||||||
|
Core::Event::EventHandler::SceneChainCallback Core::Event::EventHandler::getSceneChainCallback() const
|
||||||
|
{
|
||||||
|
return m_chainCallback;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Core::Event::EventHandler::setSceneChainCallback( Core::Event::EventHandler::SceneChainCallback callback )
|
||||||
|
{
|
||||||
|
m_chainCallback = callback;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Core::Event::EventHandler::hasPlayedScene() const
|
bool Core::Event::EventHandler::hasPlayedScene() const
|
||||||
|
|
|
@ -72,7 +72,8 @@ namespace Core {
|
||||||
ICDirector = 0x8003,
|
ICDirector = 0x8003,
|
||||||
};
|
};
|
||||||
|
|
||||||
using SceneReturnCallback = std::function< void( Entity::Player&, const SceneResult& ) > ;
|
using SceneReturnCallback = std::function< void( Entity::Player&, const SceneResult& ) >;
|
||||||
|
using SceneChainCallback = std::function< void( Entity::Player& ) >;
|
||||||
|
|
||||||
EventHandler( Entity::Player* pOwner, uint64_t actorId, uint32_t eventId, EventType eventType, uint32_t eventParam );
|
EventHandler( Entity::Player* pOwner, uint64_t actorId, uint32_t eventId, EventType eventType, uint32_t eventParam );
|
||||||
|
|
||||||
|
@ -98,6 +99,10 @@ namespace Core {
|
||||||
|
|
||||||
void setEventReturnCallback( SceneReturnCallback callback );
|
void setEventReturnCallback( SceneReturnCallback callback );
|
||||||
|
|
||||||
|
SceneChainCallback getSceneChainCallback() const;
|
||||||
|
|
||||||
|
void setSceneChainCallback( SceneChainCallback callback );
|
||||||
|
|
||||||
bool hasNestedEvent() const;
|
bool hasNestedEvent() const;
|
||||||
|
|
||||||
void removeNestedEvent();
|
void removeNestedEvent();
|
||||||
|
@ -114,7 +119,8 @@ namespace Core {
|
||||||
uint32_t m_eventParam;
|
uint32_t m_eventParam;
|
||||||
EventHandlerPtr m_pNestedEvent;
|
EventHandlerPtr m_pNestedEvent;
|
||||||
bool m_playedScene;
|
bool m_playedScene;
|
||||||
SceneReturnCallback m_callback;
|
SceneReturnCallback m_returnCallback;
|
||||||
|
SceneChainCallback m_chainCallback;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -218,6 +218,9 @@ void Core::Network::GameConnection::eventHandlerReturn( const Packets::GamePacke
|
||||||
result.param3 = param3;
|
result.param3 = param3;
|
||||||
eventCallback( player, result );
|
eventCallback( player, result );
|
||||||
}
|
}
|
||||||
|
// we might have a scene chain callback instead so check for that too
|
||||||
|
else if( auto chainCallback = pEvent->getSceneChainCallback() )
|
||||||
|
chainCallback( player );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue