1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-23 21:27:45 +00:00
This commit is contained in:
Dantestyle 2018-06-20 20:17:45 +02:00
parent 7716fe8f54
commit 72500b83c7
3 changed files with 115 additions and 131 deletions

View file

@ -1,7 +1,6 @@
#include <Script/NativeScriptApi.h>
#include <Actor/Player.h> #include <Actor/Player.h>
#include "Event/EventHelper.h" #include "Event/EventHelper.h"
#include "../ScriptObject.h" #include <ScriptObject.h>
// Quest Script: ManSea002_00108 // Quest Script: ManSea002_00108
// Quest Name: Close to Home // Quest Name: Close to Home
@ -51,15 +50,13 @@ public:
{ {
player.eventActionStart( 0x050002, 0x13, player.eventActionStart( 0x050002, 0x13,
[&]( Entity::Player& player, uint32_t eventId, uint64_t additional ) [&]( Entity::Player& player, uint32_t eventId, uint64_t additional )
{ {
player.sendQuestMessage( 0x050002, 0, 1, 0, 0 ); player.sendQuestMessage( 0x050002, 0, 1, 0, 0 );
player.registerAetheryte( 2 ); player.registerAetheryte( 2 );
player.learnAction( 1 ); player.learnAction( 1 );
Scene00002( player ); Scene00002( player );
}, },
[&]( Entity::Player& player, uint32_t eventId, uint64_t additional ) nullptr, eventId );
{},
eventId );
} }
else if( actor == ACTOR1 ) else if( actor == ACTOR1 )
{ {
@ -108,88 +105,89 @@ private:
{ {
player.playScene( getId(), 0, HIDE_HOTBAR, player.playScene( getId(), 0, HIDE_HOTBAR,
[&]( Entity::Player& player, const Event::SceneResult& result ) [&]( Entity::Player& player, const Event::SceneResult& result )
{ {
if( result.param2 == 1 ) // accept quest if (result.param2 == 1)
Scene00001( player ); {
} ); Scene00001(player);
}
} );
} }
void Scene00001( Entity::Player& player ) void Scene00001( Entity::Player& player )
{ {
player.playScene( getId(), 1, FADE_OUT | CONDITION_CUTSCENE | HIDE_UI, player.playScene( getId(), 1, FADE_OUT | CONDITION_CUTSCENE | HIDE_UI,
[&]( Entity::Player& player, const Event::SceneResult& result ) [&]( Entity::Player& player, const Event::SceneResult& result )
{ {
// on quest accept player.updateQuest( getId(), 1 );
player.updateQuest( getId(), 1 ); player.setQuestUI8CH( getId(), 1 );
player.setQuestUI8CH( getId(), 1 ); // receive key item } );
} );
} }
void Scene00002( Entity::Player& player ) void Scene00002( Entity::Player& player )
{ {
player.playScene( getId(), 2, HIDE_HOTBAR, player.playScene( getId(), 2, HIDE_HOTBAR,
[&]( Entity::Player& player, const Event::SceneResult& result ) [&]( Entity::Player& player, const Event::SceneResult& result )
{ {
Scene00003( player ); Scene00003( player );
} ); } );
} }
void Scene00003( Entity::Player& player ) void Scene00003( Entity::Player& player )
{ {
player.playScene( getId(), 3, SET_EOBJ_BASE | HIDE_HOTBAR | INVIS_EOBJ, player.playScene( getId(), 3, SET_EOBJ_BASE | HIDE_HOTBAR | INVIS_EOBJ,
[&]( Entity::Player& player, const Event::SceneResult& result ) [&]( Entity::Player& player, const Event::SceneResult& result )
{ {
player.setQuestUI8BL( getId(), 1 ); player.setQuestUI8BL( getId(), 1 );
checkQuestCompletion( player, 0 ); checkQuestCompletion( player, 0 );
} ); } );
} }
void Scene00004( Entity::Player& player ) void Scene00004( Entity::Player& player )
{ {
player.playScene( getId(), 4, HIDE_HOTBAR, player.playScene( getId(), 4, HIDE_HOTBAR,
[&]( Entity::Player& player, const Event::SceneResult& result ) [&]( Entity::Player& player, const Event::SceneResult& result )
{
if( result.param2 == 1 )
{ {
Scene00005( player ); if( result.param2 == 1 )
} {
else return; Scene00005( player );
} ); }
else return;
} );
} }
void Scene00005( Entity::Player& player ) void Scene00005( Entity::Player& player )
{ {
player.playScene( getId(), 5, SET_EOBJ_BASE | HIDE_HOTBAR | INVIS_EOBJ, 0, 0, player.playScene( getId(), 5, SET_EOBJ_BASE | HIDE_HOTBAR | INVIS_EOBJ, 0, 0,
[&]( Entity::Player& player, const Event::SceneResult& result ) [&]( Entity::Player& player, const Event::SceneResult& result )
{ {
player.setQuestUI8CH( getId(), 0 ); // remove key item, since we have just traded it player.setQuestUI8CH( getId(), 0 );
player.setQuestUI8BH( getId(), 1 ); player.setQuestUI8BH( getId(), 1 );
checkQuestCompletion( player, 1 ); checkQuestCompletion( player, 1 );
} ); } );
} }
void Scene00006( Entity::Player& player ) void Scene00006( Entity::Player& player )
{ {
player.playScene( getId(), 6, HIDE_HOTBAR, player.playScene( getId(), 6, HIDE_HOTBAR,
[&]( Entity::Player& player, const Event::SceneResult& result ) [&]( Entity::Player& player, const Event::SceneResult& result )
{ {
player.setQuestUI8AL( getId(), 1 ); player.setQuestUI8AL( getId(), 1 );
checkQuestCompletion( player, 2 ); checkQuestCompletion( player, 2 );
} ); } );
} }
void Scene00007( Entity::Player& player ) void Scene00007( Entity::Player& player )
{ {
player.playScene( getId(), 7, SET_EOBJ_BASE | HIDE_HOTBAR | INVIS_EOBJ, 0, 0, player.playScene( getId(), 7, SET_EOBJ_BASE | HIDE_HOTBAR | INVIS_EOBJ, 0, 0,
[&]( Entity::Player& player, const Event::SceneResult& result ) [&]( Entity::Player& player, const Event::SceneResult& result )
{
if ( result.param2 == 1 ) // finish quest
{ {
if (player.giveQuestRewards( getId(), 0 ) ) if ( result.param2 == 1 )
{ {
player.finishQuest( getId() ); if (player.giveQuestRewards( getId(), 0 ) )
{
player.finishQuest( getId() );
}
} }
} } );
} );
} }
}; };

View file

@ -1,4 +1,3 @@
#include <Script/NativeScriptApi.h>
#include <Actor/Player.h> #include <Actor/Player.h>
#include "Event/EventHelper.h" #include "Event/EventHelper.h"
#include <ScriptObject.h> #include <ScriptObject.h>
@ -66,15 +65,13 @@ class ManSea003 : public EventScript
{ {
player.eventActionStart( 0x050002, 0x13, player.eventActionStart( 0x050002, 0x13,
[&]( Entity::Player& player, uint32_t eventId, uint64_t additional ) [&]( Entity::Player& player, uint32_t eventId, uint64_t additional )
{ {
player.sendQuestMessage( 0x050002, 0, 1, 0, 0 ); player.sendQuestMessage( 0x050002, 0, 1, 0, 0 );
player.registerAetheryte( 2 ); player.registerAetheryte( 2 );
player.learnAction( 1 ); player.learnAction( 1 );
Scene00002( player ); Scene00002( player );
}, },
[&]( Entity::Player& player, uint32_t eventId, uint64_t additional ) nullptr, eventId );
{},
eventId );
} }
else if( actor == Actor1 ) else if( actor == Actor1 )
{ {
@ -123,88 +120,89 @@ class ManSea003 : public EventScript
{ {
player.playScene( getId(), 0, HIDE_HOTBAR, player.playScene( getId(), 0, HIDE_HOTBAR,
[&]( Entity::Player& player, const Event::SceneResult& result ) [&]( Entity::Player& player, const Event::SceneResult& result )
{ {
if( result.param2 == 1 ) // accept quest if (result.param2 == 1)
Scene00001( player ); {
} ); Scene00001(player);
}
} );
} }
void Scene00001( Entity::Player& player) void Scene00001( Entity::Player& player)
{ {
player.playScene( getId(), 1, FADE_OUT | CONDITION_CUTSCENE | HIDE_UI, player.playScene( getId(), 1, FADE_OUT | CONDITION_CUTSCENE | HIDE_UI,
[&]( Entity::Player& player, const Event::SceneResult& result ) [&]( Entity::Player& player, const Event::SceneResult& result )
{ {
// on quest accept player.updateQuest( getId(), 1 );
player.updateQuest( getId(), 1 ); player.setQuestUI8CH( getId(), 1 );
player.setQuestUI8CH( getId(), 1 ); // receive key item } );
} );
} }
void Scene00002( Entity::Player& player) void Scene00002( Entity::Player& player)
{ {
player.playScene( getId(), 2, HIDE_HOTBAR, player.playScene( getId(), 2, HIDE_HOTBAR,
[&]( Entity::Player& player, const Event::SceneResult& result ) [&]( Entity::Player& player, const Event::SceneResult& result )
{ {
Scene00003( player ); Scene00003( player );
} ); } );
} }
void Scene00003( Entity::Player& player) void Scene00003( Entity::Player& player)
{ {
player.playScene( getId(), 3, SET_EOBJ_BASE | HIDE_HOTBAR | INVIS_EOBJ, player.playScene( getId(), 3, SET_EOBJ_BASE | HIDE_HOTBAR | INVIS_EOBJ,
[&]( Entity::Player& player, const Event::SceneResult& result ) [&]( Entity::Player& player, const Event::SceneResult& result )
{ {
player.setQuestUI8BL( getId(), 1 ); player.setQuestUI8BL( getId(), 1 );
checkQuestCompletion( player, 0 ); checkQuestCompletion( player, 0 );
} ); } );
} }
void Scene00004( Entity::Player& player) void Scene00004( Entity::Player& player)
{ {
player.playScene( getId(), 4, HIDE_HOTBAR, player.playScene( getId(), 4, HIDE_HOTBAR,
[&]( Entity::Player& player, const Event::SceneResult& result ) [&]( Entity::Player& player, const Event::SceneResult& result )
{
if( result.param2 == 1 )
{ {
Scene00005( player ); if( result.param2 == 1 )
} {
else return; Scene00005( player );
} ); }
else return;
} );
} }
void Scene00005( Entity::Player& player) void Scene00005( Entity::Player& player)
{ {
player.playScene( getId(), 5, SET_EOBJ_BASE | HIDE_HOTBAR | INVIS_EOBJ, 0, 0, player.playScene( getId(), 5, SET_EOBJ_BASE | HIDE_HOTBAR | INVIS_EOBJ, 0, 0,
[&]( Entity::Player& player, const Event::SceneResult& result ) [&]( Entity::Player& player, const Event::SceneResult& result )
{ {
player.setQuestUI8CH( getId(), 0 ); // remove key item, since we have just traded it player.setQuestUI8CH( getId(), 0 );
player.setQuestUI8BH( getId(), 1 ); player.setQuestUI8BH( getId(), 1 );
checkQuestCompletion( player, 1 ); checkQuestCompletion( player, 1 );
} ); } );
} }
void Scene00006( Entity::Player& player) void Scene00006( Entity::Player& player)
{ {
player.playScene( getId(), 6, HIDE_HOTBAR, player.playScene( getId(), 6, HIDE_HOTBAR,
[&]( Entity::Player& player, const Event::SceneResult& result ) [&]( Entity::Player& player, const Event::SceneResult& result )
{ {
player.setQuestUI8AL( getId(), 1 ); player.setQuestUI8AL( getId(), 1 );
checkQuestCompletion( player, 2 ); checkQuestCompletion( player, 2 );
} ); } );
} }
void Scene00007( Entity::Player& player) void Scene00007( Entity::Player& player)
{ {
player.playScene( getId(), 7, SET_EOBJ_BASE | HIDE_HOTBAR | INVIS_EOBJ, 0, 0, player.playScene( getId(), 7, SET_EOBJ_BASE | HIDE_HOTBAR | INVIS_EOBJ, 0, 0,
[&]( Entity::Player& player, const Event::SceneResult& result ) [&]( Entity::Player& player, const Event::SceneResult& result )
{
if( result.param2 == 1 ) // finish quest
{ {
if(player.giveQuestRewards( getId(), 0 ) ) if( result.param2 == 1 )
{ {
player.finishQuest( getId() ); if(player.giveQuestRewards( getId(), 0 ) )
{
player.finishQuest( getId() );
}
} }
} } );
} );
} }
}; };

View file

@ -76,67 +76,55 @@ public:
{ {
player.eventActionStart( getId(), 0x0E, player.eventActionStart( getId(), 0x0E,
[&]( Entity::Player& player, uint32_t eventId, uint64_t additional ) [&]( Entity::Player& player, uint32_t eventId, uint64_t additional )
{ {
Scene00003( player ); Scene00003( player );
}, },
[&]( Entity::Player& player, uint32_t eventId, uint64_t additional ) nullptr, eventId );
{},
eventId );
} }
else if(actor == Eobject1 ) else if(actor == Eobject1 )
{ {
player.eventActionStart( getId(), 0x0E, player.eventActionStart( getId(), 0x0E,
[&]( Entity::Player& player, uint32_t eventId, uint64_t additional ) [&]( Entity::Player& player, uint32_t eventId, uint64_t additional )
{ {
Scene00005( player ); Scene00005( player );
}, },
[&]( Entity::Player& player, uint32_t eventId, uint64_t additional ) nullptr, eventId );
{},
eventId );
} }
else if( actor == Eobject2 ) else if( actor == Eobject2 )
{ {
player.eventActionStart( getId(), 0x0E, player.eventActionStart( getId(), 0x0E,
[&]( Entity::Player& player, uint32_t eventId, uint64_t additional ) [&]( Entity::Player& player, uint32_t eventId, uint64_t additional )
{ {
Scene00007( player ); Scene00007( player );
}, },
[&]( Entity::Player& player, uint32_t eventId, uint64_t additional ) nullptr, eventId );
{},
eventId );
} }
else if( actor == Eobject3 ) else if( actor == Eobject3 )
{ {
player.eventActionStart( getId(), 0x0E, player.eventActionStart( getId(), 0x0E,
[&]( Entity::Player& player, uint32_t eventId, uint64_t additional ) [&]( Entity::Player& player, uint32_t eventId, uint64_t additional )
{ {
Scene00009( player ); Scene00009( player );
}, },
[&]( Entity::Player& player, uint32_t eventId, uint64_t additional ) nullptr, eventId );
{},
eventId );
} }
else if( actor == Eobject4 ) else if( actor == Eobject4 )
{ {
player.eventActionStart( getId(), 0x0E, player.eventActionStart( getId(), 0x0E,
[&]( Entity::Player& player, uint32_t eventId, uint64_t additional ) [&]( Entity::Player& player, uint32_t eventId, uint64_t additional )
{ {
Scene00011( player ); Scene00011( player );
}, },
[&]( Entity::Player& player, uint32_t eventId, uint64_t additional ) nullptr, eventId );
{},
eventId );
} }
else if( actor == Eobject5 ) else if( actor == Eobject5 )
{ {
player.eventActionStart( getId(), 0x0E, player.eventActionStart( getId(), 0x0E,
[&]( Entity::Player& player, uint32_t eventId, uint64_t additional ) [&]( Entity::Player& player, uint32_t eventId, uint64_t additional )
{ {
Scene00013( player ); Scene00013( player );
}, },
[&]( Entity::Player& player, uint32_t eventId, uint64_t additional ) nullptr, eventId );
{},
eventId );
} }
}; };