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:
parent
f2e74458a9
commit
5c07181b13
6 changed files with 20 additions and 3 deletions
|
@ -10,7 +10,7 @@ class skillDef_3Def
|
||||||
|
|
||||||
def onFinish( player, target )
|
def onFinish( player, target )
|
||||||
{
|
{
|
||||||
player.addStatusEffectById(50, 20000);
|
player.addStatusEffectById(50, 20000, 3791585310);
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -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 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -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 );
|
||||||
|
|
Loading…
Add table
Reference in a new issue