From c67c6a1ab243c3dcb0f29e3efe771b02e73041a8 Mon Sep 17 00:00:00 2001 From: Perize Date: Sat, 17 Mar 2018 02:27:46 +0900 Subject: [PATCH] fixed #277 --- .../sapphire_zone/Network/Handlers/SkillHandler.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/servers/sapphire_zone/Network/Handlers/SkillHandler.cpp b/src/servers/sapphire_zone/Network/Handlers/SkillHandler.cpp index 4ae0ebfe..3af720a8 100644 --- a/src/servers/sapphire_zone/Network/Handlers/SkillHandler.cpp +++ b/src/servers/sapphire_zone/Network/Handlers/SkillHandler.cpp @@ -76,11 +76,20 @@ void Core::Network::GameConnection::skillHandler( const Packets::GamePacket& inP else { Core::Entity::ActorPtr targetActor = player.getAsPlayer(); + if( targetId != player.getId() ) { targetActor = player.lookupTargetById( targetId ); } + // Check if we actually have an actor + if ( targetActor == nullptr ) + { + // todo: interrupt a cast. + player.sendDebug( "Invalid target." ); + return; + } + if( !player.actionHasCastTime( action ) ) { pScriptMgr->onCastFinish( player, targetActor->getAsChara(), action );