1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-05-25 11:07: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 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
ComboSucceed = 28, // shifted one up from 5.18, on retail this is not seen anymore, still working though.
Knockback = 33,

View file

@ -21,7 +21,7 @@ public:
if( chara )
{
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 );
}
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 )
{
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 provoke( Entity::CharaPtr& target );
void buildAndSendPackets();
private:

View file

@ -148,6 +148,11 @@ void EffectResult::mount( uint16_t mountId )
m_type = Common::ActionEffectType::Mount;
}
void Sapphire::World::Action::EffectResult::provoke()
{
m_type = Common::ActionEffectType::Provoke;
}
Common::EffectEntry EffectResult::buildEffectEntry() const
{
Common::EffectEntry entry{};

View file

@ -30,6 +30,7 @@ namespace Sapphire::World::Action
void applyStatusEffect( StatusEffect::StatusEffectPtr pStatusEffect );
void statusNoEffect( uint16_t statusId );
void mount( uint16_t mountId );
void provoke( );
Entity::CharaPtr getSource() const;
Entity::CharaPtr getTarget() const;