mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-28 07:07:45 +00:00
Pieity bonus applies to mp and vitality to hp now
This commit is contained in:
parent
35d859d57a
commit
8cacf35e4b
4 changed files with 22 additions and 4 deletions
|
@ -386,6 +386,11 @@ void Sapphire::Entity::Chara::setCurrentAction( Sapphire::Action::ActionPtr pAct
|
||||||
m_pCurrentAction = std::move( pAction );
|
m_pCurrentAction = std::move( pAction );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint32_t Sapphire::Entity::Chara::getBonusStat( Common::BaseParam bonus ) const
|
||||||
|
{
|
||||||
|
return m_bonusStats[ static_cast< uint8_t >( bonus ) ];
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Autoattack prototype implementation
|
Autoattack prototype implementation
|
||||||
TODO: move the check if the autoAttack can be performed to the callee
|
TODO: move the check if the autoAttack can be performed to the callee
|
||||||
|
|
|
@ -243,6 +243,8 @@ namespace Sapphire::Entity
|
||||||
|
|
||||||
void setCurrentAction( Action::ActionPtr pAction );
|
void setCurrentAction( Action::ActionPtr pAction );
|
||||||
|
|
||||||
|
uint32_t getBonusStat( Common::BaseParam bonus ) const;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -239,7 +239,12 @@ void Sapphire::Entity::Player::equipItem( Common::GearSetSlot equipSlotId, ItemP
|
||||||
m_bonusStats[ static_cast< uint8_t >( Common::BaseParam::Defense ) ] += pItem->getDefense();
|
m_bonusStats[ static_cast< uint8_t >( Common::BaseParam::Defense ) ] += pItem->getDefense();
|
||||||
m_bonusStats[ static_cast< uint8_t >( Common::BaseParam::MagicDefense ) ] += pItem->getDefenseMag();
|
m_bonusStats[ static_cast< uint8_t >( Common::BaseParam::MagicDefense ) ] += pItem->getDefenseMag();
|
||||||
|
|
||||||
|
calculateStats();
|
||||||
|
if( sendUpdate )
|
||||||
|
{
|
||||||
sendStats();
|
sendStats();
|
||||||
|
sendStatusUpdate();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -270,9 +275,12 @@ void Sapphire::Entity::Player::unequipItem( Common::GearSetSlot equipSlotId, Ite
|
||||||
m_bonusStats[ static_cast< uint8_t >( Common::BaseParam::Defense ) ] -= pItem->getDefense();
|
m_bonusStats[ static_cast< uint8_t >( Common::BaseParam::Defense ) ] -= pItem->getDefense();
|
||||||
m_bonusStats[ static_cast< uint8_t >( Common::BaseParam::MagicDefense ) ] -= pItem->getDefenseMag();
|
m_bonusStats[ static_cast< uint8_t >( Common::BaseParam::MagicDefense ) ] -= pItem->getDefenseMag();
|
||||||
|
|
||||||
|
calculateStats();
|
||||||
|
|
||||||
if( sendUpdate )
|
if( sendUpdate )
|
||||||
{
|
{
|
||||||
sendStats();
|
sendStats();
|
||||||
|
sendStatusUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -136,8 +136,9 @@ uint32_t CalcStats::calculateMaxHp( PlayerPtr pPlayer, Sapphire::FrameworkPtr pF
|
||||||
|
|
||||||
uint8_t level = pPlayer->getLevel();
|
uint8_t level = pPlayer->getLevel();
|
||||||
|
|
||||||
|
auto vitMod = pPlayer->getBonusStat( Common::BaseParam::Vitality );
|
||||||
float baseStat = calculateBaseStat( pPlayer );
|
float baseStat = calculateBaseStat( pPlayer );
|
||||||
uint16_t vitStat = pPlayer->getStats().vit;
|
uint16_t vitStat = pPlayer->getStats().vit + static_cast< uint16_t >( vitMod );
|
||||||
uint16_t hpMod = paramGrowthInfo->hpModifier;
|
uint16_t hpMod = paramGrowthInfo->hpModifier;
|
||||||
uint16_t jobModHp = classInfo->modifierHitPoints;
|
uint16_t jobModHp = classInfo->modifierHitPoints;
|
||||||
float approxBaseHp = 0.0f; // Read above
|
float approxBaseHp = 0.0f; // Read above
|
||||||
|
@ -169,8 +170,10 @@ uint32_t CalcStats::calculateMaxMp( PlayerPtr pPlayer, Sapphire::FrameworkPtr pF
|
||||||
if( !classInfo || !paramGrowthInfo )
|
if( !classInfo || !paramGrowthInfo )
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
auto pieMod = pPlayer->getBonusStat( Common::BaseParam::Piety );
|
||||||
|
|
||||||
float baseStat = calculateBaseStat( pPlayer );
|
float baseStat = calculateBaseStat( pPlayer );
|
||||||
uint16_t piety = pPlayer->getStats().pie;
|
uint16_t piety = pPlayer->getStats().pie + pieMod;
|
||||||
uint16_t pietyScalar = paramGrowthInfo->mpModifier;
|
uint16_t pietyScalar = paramGrowthInfo->mpModifier;
|
||||||
uint16_t jobModMp = classInfo->modifierManaPoints;
|
uint16_t jobModMp = classInfo->modifierManaPoints;
|
||||||
uint16_t baseMp = paramGrowthInfo->mpModifier;
|
uint16_t baseMp = paramGrowthInfo->mpModifier;
|
||||||
|
|
Loading…
Add table
Reference in a new issue