1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-26 14:37:44 +00:00

Add more StatusEffect scripting, fix Sprint

This commit is contained in:
amibu 2017-08-10 16:12:54 +02:00
parent f2e74458a9
commit 5c07181b13
6 changed files with 20 additions and 3 deletions

View file

@ -10,7 +10,7 @@ class skillDef_3Def
def onFinish( player, target ) def onFinish( player, target )
{ {
player.addStatusEffectById(50, 20000); player.addStatusEffectById(50, 20000, 3791585310);
} }
}; };

View file

@ -605,9 +605,10 @@ void Core::Entity::Actor::addStatusEffect( StatusEffect::StatusEffectPtr pEffect
} }
/*! \param StatusEffectPtr to be applied to the actor */ /*! \param StatusEffectPtr to be applied to the actor */
void Core::Entity::Actor::addStatusEffectById( int32_t id, int32_t duration ) void Core::Entity::Actor::addStatusEffectById( int32_t id, int32_t duration, uint32_t power )
{ {
StatusEffect::StatusEffectPtr effect( new StatusEffect::StatusEffect( id, shared_from_this(), shared_from_this(), duration, 3000 ) ); StatusEffect::StatusEffectPtr effect( new StatusEffect::StatusEffect( id, shared_from_this(), shared_from_this(), duration, 3000 ) );
effect->setPower( power );
addStatusEffect( effect ); addStatusEffect( effect );
} }

View file

@ -290,7 +290,7 @@ public:
void addStatusEffect( StatusEffect::StatusEffectPtr pEffect ); void addStatusEffect( StatusEffect::StatusEffectPtr pEffect );
// add a status effect by id // add a status effect by id
void addStatusEffectById( int32_t id, int32_t duration ); void addStatusEffectById( int32_t id, int32_t duration, uint32_t power = 0 );
// TODO: Why did i even declare them publicly here?! // TODO: Why did i even declare them publicly here?!
std::set< ActorPtr > m_inRangeActors; std::set< ActorPtr > m_inRangeActors;

View file

@ -67,6 +67,11 @@ uint32_t Core::StatusEffect::StatusEffect::getTargetActorId() const
return m_targetActor->getId(); return m_targetActor->getId();
} }
uint32_t Core::StatusEffect::StatusEffect::getPower() const
{
return m_power;
}
void Core::StatusEffect::StatusEffect::applyStatus() void Core::StatusEffect::StatusEffect::applyStatus()
{ {
m_startTime = Util::getTimeMs(); m_startTime = Util::getTimeMs();
@ -129,6 +134,12 @@ void Core::StatusEffect::StatusEffect::setLastTick( uint64_t lastTick )
m_lastTick = lastTick; m_lastTick = lastTick;
} }
void Core::StatusEffect::StatusEffect::setPower( uint32_t power )
{
m_power = power;
}
const std::string& Core::StatusEffect::StatusEffect::getName() const const std::string& Core::StatusEffect::StatusEffect::getName() const
{ {
return m_name; return m_name;

View file

@ -30,7 +30,9 @@ public:
uint32_t getTargetActorId() const; uint32_t getTargetActorId() const;
uint64_t getLastTickMs() const; uint64_t getLastTickMs() const;
uint64_t getStartTimeMs() const; uint64_t getStartTimeMs() const;
uint32_t getPower() const;
void setLastTick( uint64_t lastTick ); void setLastTick( uint64_t lastTick );
void setPower( uint32_t power );
const std::string& getName() const; const std::string& getName() const;
private: private:
@ -41,6 +43,7 @@ private:
uint64_t m_startTime; uint64_t m_startTime;
uint32_t m_tickRate; uint32_t m_tickRate;
uint64_t m_lastTick; uint64_t m_lastTick;
uint32_t m_power; //Figure out what this actually is supposed to be
std::string m_name; std::string m_name;
}; };

View file

@ -68,6 +68,8 @@ void Core::StatusEffect::StatusEffectContainer::addStatusEffect( StatusEffectPtr
statusEffectAdd.data().max_hp = m_pOwner->getMaxHp(); statusEffectAdd.data().max_hp = m_pOwner->getMaxHp();
statusEffectAdd.data().max_mp = m_pOwner->getMaxMp(); statusEffectAdd.data().max_mp = m_pOwner->getMaxMp();
statusEffectAdd.data().max_something = 1; statusEffectAdd.data().max_something = 1;
//statusEffectAdd.data().unknown2 = 28;
statusEffectAdd.data().power = pEffect->getPower();
bool sendToSelf = m_pOwner->isPlayer() ? true : false; bool sendToSelf = m_pOwner->isPlayer() ? true : false;
m_pOwner->sendToInRangeSet( statusEffectAdd, sendToSelf ); m_pOwner->sendToInRangeSet( statusEffectAdd, sendToSelf );