mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-28 15:17:46 +00:00
only allow area aoe actions through the aoe handler
This commit is contained in:
parent
8e74681db1
commit
29f1f9b6bc
1 changed files with 18 additions and 0 deletions
|
@ -22,9 +22,17 @@ void World::Manager::ActionMgr::handleAoEPlayerAction( Entity::Player& player, u
|
||||||
{
|
{
|
||||||
player.sendDebug( "got aoe act: {0}", actionData->name );
|
player.sendDebug( "got aoe act: {0}", actionData->name );
|
||||||
|
|
||||||
|
|
||||||
auto action = Action::make_Action( player.getAsPlayer(), actionId, actionData, framework() );
|
auto action = Action::make_Action( player.getAsPlayer(), actionId, actionData, framework() );
|
||||||
action->setPos( pos );
|
action->setPos( pos );
|
||||||
|
|
||||||
|
if( !actionData->targetArea )
|
||||||
|
{
|
||||||
|
// not an action that has an aoe, cancel it
|
||||||
|
action->castInterrupt();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
bootstrapAction( player, action, *actionData );
|
bootstrapAction( player, action, *actionData );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,6 +41,13 @@ void World::Manager::ActionMgr::handleTargetedPlayerAction( Entity::Player& play
|
||||||
{
|
{
|
||||||
auto action = Action::make_Action( player.getAsPlayer(), actionId, actionData, framework() );
|
auto action = Action::make_Action( player.getAsPlayer(), actionId, actionData, framework() );
|
||||||
|
|
||||||
|
// cancel any aoe actions casted with this packet
|
||||||
|
if( actionData->targetArea )
|
||||||
|
{
|
||||||
|
action->castInterrupt();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if( targetId != player.getId() )
|
if( targetId != player.getId() )
|
||||||
{
|
{
|
||||||
auto target = player.lookupTargetById( targetId );
|
auto target = player.lookupTargetById( targetId );
|
||||||
|
@ -126,6 +141,9 @@ bool World::Manager::ActionMgr::canPlayerUseAction( Entity::Player& player,
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// validate range
|
||||||
|
|
||||||
|
|
||||||
auto& actionCost = currentAction.getCostArray();
|
auto& actionCost = currentAction.getCostArray();
|
||||||
for( uint8_t i = 0; i < actionCost.size(); ++i )
|
for( uint8_t i = 0; i < actionCost.size(); ++i )
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue