mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-05-25 19:17:45 +00:00
kaiten
This commit is contained in:
parent
2e37354656
commit
3c3238ae46
5 changed files with 37 additions and 7 deletions
|
@ -1051,6 +1051,7 @@ namespace Sapphire::Common
|
|||
BlockParryRateBonus = 14,
|
||||
MPRestorePerGCD = 15,
|
||||
AlwaysCombo = 16,
|
||||
PotencyMultiplier = 17,
|
||||
};
|
||||
|
||||
enum class ActionTypeFilter : int32_t
|
||||
|
|
|
@ -668,6 +668,11 @@ void Action::Action::buildEffects()
|
|||
player->gaugeGnbSetAmmo( std::min( 2, player->gaugeGnbGetAmmo() + m_lutEntry.bonusDataByte4 ) );
|
||||
break;
|
||||
}
|
||||
case Common::ClassJob::Samurai:
|
||||
{
|
||||
player->gaugeSamSetKenki( std::min( 100, player->gaugeSamGetKenki() + m_lutEntry.bonusDataByte4 ) );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1160,12 +1165,12 @@ Action::EffectBuilderPtr Action::Action::getEffectbuilder()
|
|||
return m_effectBuilder;
|
||||
}
|
||||
|
||||
Data::ActionPtr Action::Action::getActionData() const
|
||||
Data::ActionPtr Action::Action::getActionData()
|
||||
{
|
||||
return m_actionData;
|
||||
}
|
||||
|
||||
Action::ActionEntry Action::Action::getActionEntry() const
|
||||
Action::ActionEntry& Action::Action::getActionEntry()
|
||||
{
|
||||
return m_lutEntry;
|
||||
}
|
||||
|
|
|
@ -126,8 +126,8 @@ namespace Sapphire::World::Action
|
|||
*/
|
||||
Entity::CharaPtr getHitChara();
|
||||
|
||||
Data::ActionPtr getActionData() const;
|
||||
ActionEntry getActionEntry() const;
|
||||
Data::ActionPtr getActionData();
|
||||
ActionEntry& getActionEntry();
|
||||
float getAnimationLock();
|
||||
|
||||
void setPrimaryCost( Common::ActionPrimaryCostType type, uint16_t cost );
|
||||
|
|
|
@ -3023,8 +3023,8 @@ ActionLut::StatusEffectTable ActionLut::m_statusEffectTable =
|
|||
//Jinpu, 陣風: DamageMultiplier, All, 13%
|
||||
//{ 1298, { 1, 255, 13, 0, 0 } },
|
||||
|
||||
//Kaiten, 必殺剣・回天: DamageMultiplier, All, 50%
|
||||
{ 1229, { 1, 255, 50, 0, 0 } },
|
||||
//Kaiten, 必殺剣・回天: PotencyMultiplier, 1 uses, 50%
|
||||
{ 1229, { 17, 1, 0, 3, 50 } },
|
||||
|
||||
//Higanbana, 彼岸花: Dot, Physical, potency 60
|
||||
{ 1228, { 4, 1, 60, 0, 0 } },
|
||||
|
|
|
@ -380,8 +380,32 @@ void Sapphire::StatusEffect::StatusEffect::onBeforeActionStart( Sapphire::World:
|
|||
}
|
||||
action->setAlwaysCombo();
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case Common::StatusEffectType::PotencyMultiplier:
|
||||
{
|
||||
if( checkAction1( action, m_effectEntry ) )
|
||||
{
|
||||
if( m_effectEntry.effectValue1 > 0 )
|
||||
{
|
||||
if( m_effectEntry.effectValue1 == getStacks() )
|
||||
{
|
||||
// if stacks equal to remaining uses, assume it is synced
|
||||
setStacks( getStacks() - 1 );
|
||||
m_targetActor->sendStatusEffectUpdate();
|
||||
}
|
||||
m_effectEntry.effectValue1--;
|
||||
if( m_effectEntry.effectValue1 == 0 )
|
||||
{
|
||||
markToRemove();
|
||||
}
|
||||
action->getActionEntry().damagePotency *= 1.0 + ( m_effectEntry.effectValue4 / 100.0 );
|
||||
action->getActionEntry().damageComboPotency *= 1.0 + ( m_effectEntry.effectValue4 / 100.0 );
|
||||
action->getActionEntry().damageDirectionalPotency *= 1.0 + ( m_effectEntry.effectValue4 / 100.0 );
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue