mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-05-25 19:17:45 +00:00
provoke
This commit is contained in:
parent
90f4a8f10f
commit
31ee05734a
6 changed files with 17 additions and 1 deletions
|
@ -636,6 +636,7 @@ namespace Sapphire::Common
|
||||||
* @param flags Required to be 128, doesn't show combo rings on hotbars otherwise
|
* @param flags Required to be 128, doesn't show combo rings on hotbars otherwise
|
||||||
* @param value The actionid that starts/continues the combo. eg, 3617 will start a spinning slash and/or syphon strike combo
|
* @param value The actionid that starts/continues the combo. eg, 3617 will start a spinning slash and/or syphon strike combo
|
||||||
*/
|
*/
|
||||||
|
Provoke = 24,
|
||||||
StartActionCombo = 27, // shifted one up from 5.18
|
StartActionCombo = 27, // shifted one up from 5.18
|
||||||
ComboSucceed = 28, // shifted one up from 5.18, on retail this is not seen anymore, still working though.
|
ComboSucceed = 28, // shifted one up from 5.18, on retail this is not seen anymore, still working though.
|
||||||
Knockback = 33,
|
Knockback = 33,
|
||||||
|
|
|
@ -21,7 +21,7 @@ public:
|
||||||
if( chara )
|
if( chara )
|
||||||
{
|
{
|
||||||
chara->onActionHostile( action.getSourceChara() );
|
chara->onActionHostile( action.getSourceChara() );
|
||||||
// todo: missing flying text
|
action.getEffectbuilder()->provoke( chara );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -127,6 +127,13 @@ void EffectBuilder::mount( Entity::CharaPtr& target, uint16_t mountId, uint64_t
|
||||||
moveToResultList( target, nextResult );
|
moveToResultList( target, nextResult );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Sapphire::World::Action::EffectBuilder::provoke( Entity::CharaPtr& target )
|
||||||
|
{
|
||||||
|
EffectResultPtr nextResult = make_EffectResult( target, 0 );
|
||||||
|
nextResult->provoke();
|
||||||
|
moveToResultList( target, nextResult );
|
||||||
|
}
|
||||||
|
|
||||||
void EffectBuilder::setAnimationLock( float animationLock )
|
void EffectBuilder::setAnimationLock( float animationLock )
|
||||||
{
|
{
|
||||||
m_animationLock = animationLock;
|
m_animationLock = animationLock;
|
||||||
|
|
|
@ -43,6 +43,8 @@ namespace Sapphire::World::Action
|
||||||
|
|
||||||
void mount( Entity::CharaPtr& target, uint16_t mountId, uint64_t resultDelayMs = 600 );
|
void mount( Entity::CharaPtr& target, uint16_t mountId, uint64_t resultDelayMs = 600 );
|
||||||
|
|
||||||
|
void provoke( Entity::CharaPtr& target );
|
||||||
|
|
||||||
void buildAndSendPackets();
|
void buildAndSendPackets();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -148,6 +148,11 @@ void EffectResult::mount( uint16_t mountId )
|
||||||
m_type = Common::ActionEffectType::Mount;
|
m_type = Common::ActionEffectType::Mount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Sapphire::World::Action::EffectResult::provoke()
|
||||||
|
{
|
||||||
|
m_type = Common::ActionEffectType::Provoke;
|
||||||
|
}
|
||||||
|
|
||||||
Common::EffectEntry EffectResult::buildEffectEntry() const
|
Common::EffectEntry EffectResult::buildEffectEntry() const
|
||||||
{
|
{
|
||||||
Common::EffectEntry entry{};
|
Common::EffectEntry entry{};
|
||||||
|
|
|
@ -30,6 +30,7 @@ namespace Sapphire::World::Action
|
||||||
void applyStatusEffect( StatusEffect::StatusEffectPtr pStatusEffect );
|
void applyStatusEffect( StatusEffect::StatusEffectPtr pStatusEffect );
|
||||||
void statusNoEffect( uint16_t statusId );
|
void statusNoEffect( uint16_t statusId );
|
||||||
void mount( uint16_t mountId );
|
void mount( uint16_t mountId );
|
||||||
|
void provoke( );
|
||||||
|
|
||||||
Entity::CharaPtr getSource() const;
|
Entity::CharaPtr getSource() const;
|
||||||
Entity::CharaPtr getTarget() const;
|
Entity::CharaPtr getTarget() const;
|
||||||
|
|
Loading…
Add table
Reference in a new issue