mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-28 15:17:46 +00:00
Basic dot/hot ticks implemented
This commit is contained in:
parent
7ad9f9687e
commit
51b7740a6f
3 changed files with 11 additions and 7 deletions
|
@ -851,13 +851,13 @@ void Sapphire::Entity::Chara::onTick()
|
|||
auto thisEffect = effectIt.second->getTickEffect();
|
||||
switch( thisEffect.first )
|
||||
{
|
||||
case 1:
|
||||
case Common::ParamModifier::TickDamage:
|
||||
{
|
||||
thisTickDmg += thisEffect.second;
|
||||
break;
|
||||
}
|
||||
|
||||
case 2:
|
||||
case Common::ParamModifier::TickHeal:
|
||||
{
|
||||
thisTickHeal += thisEffect.second;
|
||||
break;
|
||||
|
|
|
@ -55,12 +55,12 @@ Sapphire::StatusEffect::StatusEffect::~StatusEffect()
|
|||
{
|
||||
}
|
||||
|
||||
void Sapphire::StatusEffect::StatusEffect::registerTickEffect( uint8_t type, uint32_t param )
|
||||
void Sapphire::StatusEffect::StatusEffect::registerTickEffect( ParamModifier type, uint32_t param )
|
||||
{
|
||||
m_currTickEffect = std::make_pair( type, param );
|
||||
}
|
||||
|
||||
std::pair< uint8_t, uint32_t > Sapphire::StatusEffect::StatusEffect::getTickEffect()
|
||||
std::pair< ParamModifier, uint32_t > Sapphire::StatusEffect::StatusEffect::getTickEffect()
|
||||
{
|
||||
return m_currTickEffect;
|
||||
}
|
||||
|
@ -98,6 +98,10 @@ void Sapphire::StatusEffect::StatusEffect::applyStatus()
|
|||
// TODO: ticks
|
||||
if( mod.modifier != Common::ParamModifier::TickDamage && mod.modifier != Common::ParamModifier::TickHeal )
|
||||
m_targetActor->addModifier( mod.modifier, mod.value );
|
||||
else if( mod.modifier == Common::ParamModifier::TickDamage )
|
||||
registerTickEffect( mod.modifier, mod.value );
|
||||
else if( mod.modifier == Common::ParamModifier::TickHeal )
|
||||
registerTickEffect( mod.modifier, mod.value );
|
||||
}
|
||||
|
||||
m_targetActor->calculateStats();
|
||||
|
|
|
@ -45,9 +45,9 @@ public:
|
|||
|
||||
void setParam( uint16_t param );
|
||||
|
||||
void registerTickEffect( uint8_t type, uint32_t param );
|
||||
void registerTickEffect( Common::ParamModifier type, uint32_t param );
|
||||
|
||||
std::pair< uint8_t, uint32_t > getTickEffect();
|
||||
std::pair< Common::ParamModifier, uint32_t > getTickEffect();
|
||||
|
||||
const std::string& getName() const;
|
||||
|
||||
|
@ -61,7 +61,7 @@ private:
|
|||
uint64_t m_lastTick;
|
||||
uint16_t m_param;
|
||||
std::string m_name;
|
||||
std::pair< uint8_t, uint32_t > m_currTickEffect;
|
||||
std::pair< Common::ParamModifier, uint32_t > m_currTickEffect;
|
||||
std::vector< World::Action::StatusModifier > m_modifiers;
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue