mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-25 22:17:45 +00:00
costcheck refactored to has/consumeResources
This commit is contained in:
parent
89f60df2c8
commit
48870f72b6
2 changed files with 16 additions and 7 deletions
|
@ -267,7 +267,7 @@ void Sapphire::Action::Action::execute()
|
||||||
assert( m_pSource );
|
assert( m_pSource );
|
||||||
|
|
||||||
// subtract costs first, if somehow the caster stops meeting those requirements cancel the cast
|
// subtract costs first, if somehow the caster stops meeting those requirements cancel the cast
|
||||||
if( !costCheck( true ) )
|
if( !consumeResources() )
|
||||||
{
|
{
|
||||||
interrupt();
|
interrupt();
|
||||||
return;
|
return;
|
||||||
|
@ -405,7 +405,7 @@ bool Sapphire::Action::Action::playerPrecheck( Entity::Player& player )
|
||||||
// validate range
|
// validate range
|
||||||
|
|
||||||
|
|
||||||
if( !costCheck() )
|
if( !hasResources() )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -433,11 +433,6 @@ bool Sapphire::Action::Action::isComboAction() const
|
||||||
return m_actionData->actionCombo == lastActionId;
|
return m_actionData->actionCombo == lastActionId;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Sapphire::Action::Action::costCheck( bool subtractCosts )
|
|
||||||
{
|
|
||||||
return primaryCostCheck( subtractCosts ) && secondaryCostCheck( subtractCosts );
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Sapphire::Action::Action::primaryCostCheck( bool subtractCosts )
|
bool Sapphire::Action::Action::primaryCostCheck( bool subtractCosts )
|
||||||
{
|
{
|
||||||
switch( m_primaryCostType )
|
switch( m_primaryCostType )
|
||||||
|
@ -485,4 +480,14 @@ bool Sapphire::Action::Action::secondaryCostCheck( bool subtractCosts )
|
||||||
{
|
{
|
||||||
// todo: these need to be mapped
|
// todo: these need to be mapped
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Sapphire::Action::Action::hasResources()
|
||||||
|
{
|
||||||
|
return primaryCostCheck( false ) && secondaryCostCheck( false );
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Sapphire::Action::Action::consumeResources()
|
||||||
|
{
|
||||||
|
return primaryCostCheck( true ) && secondaryCostCheck( true );
|
||||||
}
|
}
|
|
@ -54,6 +54,10 @@ namespace Sapphire::Action
|
||||||
*/
|
*/
|
||||||
bool costCheck( bool subtractCosts = false );
|
bool costCheck( bool subtractCosts = false );
|
||||||
|
|
||||||
|
bool hasResources();
|
||||||
|
|
||||||
|
bool consumeResources();
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* @brief Checks if the action *may* target a resident instead of an actor
|
* @brief Checks if the action *may* target a resident instead of an actor
|
||||||
* @return true if the target *may* be a resident and not an actor, otherwise false.
|
* @return true if the target *may* be a resident and not an actor, otherwise false.
|
||||||
|
|
Loading…
Add table
Reference in a new issue