mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-27 14:57:44 +00:00
Sorted out power property of status (partially)
This commit is contained in:
parent
db1832aeef
commit
f124b5eac4
8 changed files with 33 additions and 13 deletions
|
@ -10,7 +10,7 @@ class skillDef_3Def
|
|||
|
||||
def onFinish( player, target )
|
||||
{
|
||||
player.addStatusEffectById(50, 20000, 3791585310);
|
||||
player.addStatusEffectById(50, 20000, 30, 65505);
|
||||
}
|
||||
|
||||
};
|
||||
|
|
|
@ -339,7 +339,8 @@ struct FFXIVIpcAddStatusEffect : FFXIVIpcBasePacket<AddStatusEffect>
|
|||
uint8_t effect_index; // which position do i display this
|
||||
uint8_t unknown3;
|
||||
uint16_t effect_id;
|
||||
uint32_t power;
|
||||
uint16_t unkpower1;
|
||||
uint16_t unkpower2;
|
||||
float duration;
|
||||
uint32_t actor_id1;
|
||||
uint8_t unknown4[52];
|
||||
|
|
|
@ -605,10 +605,11 @@ void Core::Entity::Actor::addStatusEffect( StatusEffect::StatusEffectPtr pEffect
|
|||
}
|
||||
|
||||
/*! \param StatusEffectPtr to be applied to the actor */
|
||||
void Core::Entity::Actor::addStatusEffectById( int32_t id, int32_t duration, uint32_t power )
|
||||
void Core::Entity::Actor::addStatusEffectById( int32_t id, int32_t duration, uint16_t power, uint16_t power_2 )
|
||||
{
|
||||
StatusEffect::StatusEffectPtr effect( new StatusEffect::StatusEffect( id, shared_from_this(), shared_from_this(), duration, 3000 ) );
|
||||
effect->setPower( power );
|
||||
effect->setPower_2( power_2 );
|
||||
addStatusEffect( effect );
|
||||
}
|
||||
|
||||
|
|
|
@ -290,7 +290,7 @@ public:
|
|||
void addStatusEffect( StatusEffect::StatusEffectPtr pEffect );
|
||||
|
||||
// add a status effect by id
|
||||
void addStatusEffectById( int32_t id, int32_t duration, uint32_t power = 0 );
|
||||
void addStatusEffectById( int32_t id, int32_t duration, uint16_t power = 0, uint16_t power_2 = 0 );
|
||||
|
||||
// TODO: Why did i even declare them publicly here?!
|
||||
std::set< ActorPtr > m_inRangeActors;
|
||||
|
|
|
@ -363,10 +363,15 @@ void Core::GameCommandHandler::add( char * data, Core::Entity::PlayerPtr pPlayer
|
|||
{
|
||||
int32_t id;
|
||||
int32_t duration;
|
||||
uint16_t power;
|
||||
|
||||
sscanf( params.c_str(), "%d %d", &id, &duration );
|
||||
uint16_t power_2;
|
||||
|
||||
sscanf( params.c_str(), "%d %d %hd %hd", &id, &duration, &power, &power_2 );
|
||||
|
||||
StatusEffect::StatusEffectPtr effect( new StatusEffect::StatusEffect( id, pPlayer, pPlayer, duration, 3000 ) );
|
||||
effect->setPower( power );
|
||||
effect->setPower_2( power_2 );
|
||||
pPlayer->addStatusEffect( effect );
|
||||
}
|
||||
else if( subCommand == "spawn" )
|
||||
|
|
|
@ -67,9 +67,14 @@ uint32_t Core::StatusEffect::StatusEffect::getTargetActorId() const
|
|||
return m_targetActor->getId();
|
||||
}
|
||||
|
||||
uint32_t Core::StatusEffect::StatusEffect::getPower() const
|
||||
uint16_t Core::StatusEffect::StatusEffect::getPower() const
|
||||
{
|
||||
return m_power;
|
||||
return m_unkpower1;
|
||||
}
|
||||
|
||||
uint16_t Core::StatusEffect::StatusEffect::getPower_2() const
|
||||
{
|
||||
return m_unkpower2;
|
||||
}
|
||||
|
||||
void Core::StatusEffect::StatusEffect::applyStatus()
|
||||
|
@ -134,11 +139,15 @@ void Core::StatusEffect::StatusEffect::setLastTick( uint64_t lastTick )
|
|||
m_lastTick = lastTick;
|
||||
}
|
||||
|
||||
void Core::StatusEffect::StatusEffect::setPower( uint32_t power )
|
||||
void Core::StatusEffect::StatusEffect::setPower( uint16_t power )
|
||||
{
|
||||
m_power = power;
|
||||
m_unkpower1 = power;
|
||||
}
|
||||
|
||||
void Core::StatusEffect::StatusEffect::setPower_2( uint16_t power )
|
||||
{
|
||||
m_unkpower2 = power;
|
||||
}
|
||||
|
||||
const std::string& Core::StatusEffect::StatusEffect::getName() const
|
||||
{
|
||||
|
|
|
@ -30,9 +30,11 @@ public:
|
|||
uint32_t getTargetActorId() const;
|
||||
uint64_t getLastTickMs() const;
|
||||
uint64_t getStartTimeMs() const;
|
||||
uint32_t getPower() const;
|
||||
uint16_t getPower() const;
|
||||
uint16_t getPower_2() const;
|
||||
void setLastTick( uint64_t lastTick );
|
||||
void setPower( uint32_t power );
|
||||
void setPower( uint16_t power );
|
||||
void setPower_2( uint16_t power );
|
||||
const std::string& getName() const;
|
||||
|
||||
private:
|
||||
|
@ -43,7 +45,8 @@ private:
|
|||
uint64_t m_startTime;
|
||||
uint32_t m_tickRate;
|
||||
uint64_t m_lastTick;
|
||||
uint32_t m_power; //Figure out what this actually is supposed to be
|
||||
uint16_t m_unkpower1;
|
||||
uint16_t m_unkpower2; //Figure out what this actually is supposed to be
|
||||
std::string m_name;
|
||||
|
||||
};
|
||||
|
|
|
@ -69,7 +69,8 @@ void Core::StatusEffect::StatusEffectContainer::addStatusEffect( StatusEffectPtr
|
|||
statusEffectAdd.data().max_mp = m_pOwner->getMaxMp();
|
||||
statusEffectAdd.data().max_something = 1;
|
||||
//statusEffectAdd.data().unknown2 = 28;
|
||||
statusEffectAdd.data().power = pEffect->getPower();
|
||||
statusEffectAdd.data().unkpower1 = pEffect->getPower();
|
||||
statusEffectAdd.data().unkpower2 = pEffect->getPower_2();
|
||||
|
||||
bool sendToSelf = m_pOwner->isPlayer() ? true : false;
|
||||
m_pOwner->sendToInRangeSet( statusEffectAdd, sendToSelf );
|
||||
|
|
Loading…
Add table
Reference in a new issue