diff options
author | Meji <alvaro.megias@outlook.com> | 2022-12-18 01:10:39 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-18 01:10:39 +0100 |
commit | 9653f96f9930c1c27bfec887bdbdc1a81b10babd (patch) | |
tree | 85b50811f1b78541b8f0491ca0fcca67260143f2 | |
parent | 263ce0cd308d508235d0201937b3b29911600722 (diff) |
Core/Units: Implemented UNIT_VIS_FLAGS_INVISIBLE (#28448)
-rw-r--r-- | src/server/game/Entities/Unit/UnitDefines.h | 4 | ||||
-rw-r--r-- | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 8 |
2 files changed, 8 insertions, 4 deletions
diff --git a/src/server/game/Entities/Unit/UnitDefines.h b/src/server/game/Entities/Unit/UnitDefines.h index 0f9b5e35032..93adec7dd4b 100644 --- a/src/server/game/Entities/Unit/UnitDefines.h +++ b/src/server/game/Entities/Unit/UnitDefines.h @@ -49,8 +49,8 @@ enum UnitStandStateType : uint8 // byte flag value (UNIT_FIELD_BYTES_1, 2) enum UnitVisFlags : uint8 { - UNIT_VIS_FLAGS_UNK1 = 0x01, - UNIT_VIS_FLAGS_CREEP = 0x02, + UNIT_VIS_FLAGS_INVISIBLE = 0x01, + UNIT_VIS_FLAGS_STEALTHED = 0x02, UNIT_VIS_FLAGS_UNTRACKABLE = 0x04, UNIT_VIS_FLAGS_UNK4 = 0x08, UNIT_VIS_FLAGS_UNK5 = 0x10, diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 48c3e5f23da..2c0a8f11c3d 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -1474,6 +1474,8 @@ void AuraEffect::HandleModInvisibility(AuraApplication const* aurApp, uint8 mode target->m_invisibility.AddFlag(type); target->m_invisibility.AddValue(type, GetAmount()); + + target->SetVisFlag(UNIT_VIS_FLAGS_INVISIBLE); } else { @@ -1485,6 +1487,8 @@ void AuraEffect::HandleModInvisibility(AuraApplication const* aurApp, uint8 mode playerTarget->RemoveAuraVision(PLAYER_FIELD_BYTE2_INVISIBILITY_GLOW); target->m_invisibility.DelFlag(type); + + target->RemoveVisFlag(UNIT_VIS_FLAGS_INVISIBLE); } else { @@ -1562,7 +1566,7 @@ void AuraEffect::HandleModStealth(AuraApplication const* aurApp, uint8 mode, boo target->m_stealth.AddFlag(type); target->m_stealth.AddValue(type, GetAmount()); - target->SetVisFlag(UNIT_VIS_FLAGS_CREEP); + target->SetVisFlag(UNIT_VIS_FLAGS_STEALTHED); if (Player * playerTarget = target->ToPlayer()) playerTarget->AddAuraVision(PLAYER_FIELD_BYTE2_STEALTH); } @@ -1574,7 +1578,7 @@ void AuraEffect::HandleModStealth(AuraApplication const* aurApp, uint8 mode, boo { target->m_stealth.DelFlag(type); - target->RemoveVisFlag(UNIT_VIS_FLAGS_CREEP); + target->RemoveVisFlag(UNIT_VIS_FLAGS_STEALTHED); if (Player * playerTarget = target->ToPlayer()) playerTarget->RemoveAuraVision(PLAYER_FIELD_BYTE2_STEALTH); } |