mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-11-10 02:08:20 +00:00
Merge pull request #518 from EmosewaMC/popup-fix
Pop up now appears for life containers
This commit is contained in:
commit
7b32d2f609
@ -215,6 +215,8 @@ void DestroyableComponent::SetHealth(int32_t value) {
|
|||||||
|
|
||||||
void DestroyableComponent::SetMaxHealth(float value, bool playAnim) {
|
void DestroyableComponent::SetMaxHealth(float value, bool playAnim) {
|
||||||
m_DirtyHealth = true;
|
m_DirtyHealth = true;
|
||||||
|
// Used for playAnim if opted in for.
|
||||||
|
int32_t difference = static_cast<int32_t>(std::abs(m_fMaxHealth - value));
|
||||||
m_fMaxHealth = value;
|
m_fMaxHealth = value;
|
||||||
|
|
||||||
if (m_iHealth > m_fMaxHealth) {
|
if (m_iHealth > m_fMaxHealth) {
|
||||||
@ -225,22 +227,20 @@ void DestroyableComponent::SetMaxHealth(float value, bool playAnim) {
|
|||||||
// Now update the player bar
|
// Now update the player bar
|
||||||
if (!m_Parent->GetParentUser()) return;
|
if (!m_Parent->GetParentUser()) return;
|
||||||
AMFStringValue* amount = new AMFStringValue();
|
AMFStringValue* amount = new AMFStringValue();
|
||||||
amount->SetStringValue(std::to_string(value));
|
amount->SetStringValue(std::to_string(difference));
|
||||||
AMFStringValue* type = new AMFStringValue();
|
AMFStringValue* type = new AMFStringValue();
|
||||||
type->SetStringValue("health");
|
type->SetStringValue("health");
|
||||||
|
|
||||||
AMFArrayValue args;
|
AMFArrayValue args;
|
||||||
args.InsertValue("amount", amount);
|
args.InsertValue("amount", amount);
|
||||||
args.InsertValue("type", type);
|
args.InsertValue("type", type);
|
||||||
|
|
||||||
GameMessages::SendUIMessageServerToSingleClient(m_Parent, m_Parent->GetParentUser()->GetSystemAddress(), "MaxPlayerBarUpdate", &args);
|
GameMessages::SendUIMessageServerToSingleClient(m_Parent, m_Parent->GetParentUser()->GetSystemAddress(), "MaxPlayerBarUpdate", &args);
|
||||||
|
|
||||||
delete amount;
|
delete amount;
|
||||||
delete type;
|
delete type;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
EntityManager::Instance()->SerializeEntity(m_Parent);
|
EntityManager::Instance()->SerializeEntity(m_Parent);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DestroyableComponent::SetArmor(int32_t value) {
|
void DestroyableComponent::SetArmor(int32_t value) {
|
||||||
@ -287,9 +287,8 @@ void DestroyableComponent::SetMaxArmor(float value, bool playAnim) {
|
|||||||
delete amount;
|
delete amount;
|
||||||
delete type;
|
delete type;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
EntityManager::Instance()->SerializeEntity(m_Parent);
|
EntityManager::Instance()->SerializeEntity(m_Parent);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DestroyableComponent::SetImagination(int32_t value) {
|
void DestroyableComponent::SetImagination(int32_t value) {
|
||||||
@ -310,6 +309,8 @@ void DestroyableComponent::SetImagination(int32_t value) {
|
|||||||
|
|
||||||
void DestroyableComponent::SetMaxImagination(float value, bool playAnim) {
|
void DestroyableComponent::SetMaxImagination(float value, bool playAnim) {
|
||||||
m_DirtyHealth = true;
|
m_DirtyHealth = true;
|
||||||
|
// Used for playAnim if opted in for.
|
||||||
|
int32_t difference = static_cast<int32_t>(std::abs(m_fMaxImagination - value));
|
||||||
m_fMaxImagination = value;
|
m_fMaxImagination = value;
|
||||||
|
|
||||||
if (m_iImagination > m_fMaxImagination) {
|
if (m_iImagination > m_fMaxImagination) {
|
||||||
@ -320,22 +321,19 @@ void DestroyableComponent::SetMaxImagination(float value, bool playAnim) {
|
|||||||
// Now update the player bar
|
// Now update the player bar
|
||||||
if (!m_Parent->GetParentUser()) return;
|
if (!m_Parent->GetParentUser()) return;
|
||||||
AMFStringValue* amount = new AMFStringValue();
|
AMFStringValue* amount = new AMFStringValue();
|
||||||
amount->SetStringValue(std::to_string(value));
|
amount->SetStringValue(std::to_string(difference));
|
||||||
AMFStringValue* type = new AMFStringValue();
|
AMFStringValue* type = new AMFStringValue();
|
||||||
type->SetStringValue("imagination");
|
type->SetStringValue("imagination");
|
||||||
|
|
||||||
AMFArrayValue args;
|
AMFArrayValue args;
|
||||||
args.InsertValue("amount", amount);
|
args.InsertValue("amount", amount);
|
||||||
args.InsertValue("type", type);
|
args.InsertValue("type", type);
|
||||||
|
|
||||||
GameMessages::SendUIMessageServerToSingleClient(m_Parent, m_Parent->GetParentUser()->GetSystemAddress(), "MaxPlayerBarUpdate", &args);
|
GameMessages::SendUIMessageServerToSingleClient(m_Parent, m_Parent->GetParentUser()->GetSystemAddress(), "MaxPlayerBarUpdate", &args);
|
||||||
|
|
||||||
delete amount;
|
delete amount;
|
||||||
delete type;
|
delete type;
|
||||||
}
|
}
|
||||||
else {
|
EntityManager::Instance()->SerializeEntity(m_Parent);
|
||||||
EntityManager::Instance()->SerializeEntity(m_Parent);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DestroyableComponent::SetDamageToAbsorb(int32_t value)
|
void DestroyableComponent::SetDamageToAbsorb(int32_t value)
|
||||||
|
@ -528,11 +528,11 @@ void Mission::YieldRewards() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (info->reward_maxhealth > 0) {
|
if (info->reward_maxhealth > 0) {
|
||||||
destroyableComponent->SetMaxHealth(destroyableComponent->GetMaxHealth() + static_cast<float>(info->reward_maxhealth));
|
destroyableComponent->SetMaxHealth(destroyableComponent->GetMaxHealth() + static_cast<float>(info->reward_maxhealth), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (info->reward_maximagination > 0) {
|
if (info->reward_maximagination > 0) {
|
||||||
destroyableComponent->SetMaxImagination(destroyableComponent->GetMaxImagination() + static_cast<float>(info->reward_maximagination));
|
destroyableComponent->SetMaxImagination(destroyableComponent->GetMaxImagination() + static_cast<float>(info->reward_maximagination), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
EntityManager::Instance()->SerializeEntity(entity);
|
EntityManager::Instance()->SerializeEntity(entity);
|
||||||
|
Loading…
Reference in New Issue
Block a user