1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-05-25 19:17:45 +00:00
This commit is contained in:
collett 2020-04-09 16:59:12 +09:00
parent 90f4a8f10f
commit 31ee05734a
6 changed files with 17 additions and 1 deletions

View file

@ -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,

View file

@ -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 );
} }
} }
}; };

View file

@ -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;

View file

@ -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:

View file

@ -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{};

View file

@ -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;