From 5010aed6b30890973048826de43a8b67f0f78b9f Mon Sep 17 00:00:00 2001 From: Maru Date: Tue, 29 Aug 2017 21:52:40 -0300 Subject: [PATCH] Base raise skill; --- scripts/chai/skill/cnj/skillDef_125.chai | 18 ++++++++++++++++++ src/servers/Server_Common/Common.h | 7 +++++++ .../Network/Handlers/ActionHandler.cpp | 15 +++++++++++++-- 3 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 scripts/chai/skill/cnj/skillDef_125.chai diff --git a/scripts/chai/skill/cnj/skillDef_125.chai b/scripts/chai/skill/cnj/skillDef_125.chai new file mode 100644 index 00000000..5adb4eca --- /dev/null +++ b/scripts/chai/skill/cnj/skillDef_125.chai @@ -0,0 +1,18 @@ +// Skill Name: Raise +// Skill ID: 125 + +class skillDef_125Def +{ + def skillDef_125Def() + { + + } + + def onFinish( player, target ) + { + target.addStatusEffectByIdIfNotExist( 148, 60000, 0 ); + } + +}; + +GLOBAL skillDef_125 = skillDef_125Def(); diff --git a/src/servers/Server_Common/Common.h b/src/servers/Server_Common/Common.h index 75c1d5ae..954f08cc 100644 --- a/src/servers/Server_Common/Common.h +++ b/src/servers/Server_Common/Common.h @@ -114,6 +114,13 @@ namespace Core { FadeIn = 5, }; + enum struct ResurrectType : uint8_t + { + None = 0, + RaiseSpell = 5, + Return = 8 + }; + enum Tribe : uint8_t { Midlander = 1, diff --git a/src/servers/Server_Zone/Network/Handlers/ActionHandler.cpp b/src/servers/Server_Zone/Network/Handlers/ActionHandler.cpp index 21efdb93..91be50ea 100644 --- a/src/servers/Server_Zone/Network/Handlers/ActionHandler.cpp +++ b/src/servers/Server_Zone/Network/Handlers/ActionHandler.cpp @@ -128,8 +128,19 @@ void Core::Network::GameConnection::actionHandler( const Packets::GamePacket& in } case 0xC8: // return dead { - pPlayer->returnToHomepoint(); - break; + switch ( static_cast < ResurrectType >( param1 ) ) + { + case ResurrectType::RaiseSpell: + // todo: handle raise case (set position to raiser, apply weakness status, set hp/mp/tp as well as packet) + pPlayer->returnToHomepoint(); + break; + case ResurrectType::Return: + pPlayer->returnToHomepoint(); + break; + default: + break; + } + } case 0xC9: // Finish zoning {