aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Creature
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-03-09 00:54:27 +0100
committerShauren <shauren.trinity@gmail.com>2024-03-09 00:54:27 +0100
commitfccf6fb72b60b08dfbe6d5fb17fba55239944fca (patch)
treed34819afa3813592e60825b1f0d88e1262496dd1 /src/server/game/Entities/Creature
parent1439535c6ac2ca8db13990e4fee29d4c1312f87a (diff)
Core/Objects: Implemented vignettes
Diffstat (limited to 'src/server/game/Entities/Creature')
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp7
-rw-r--r--src/server/game/Entities/Creature/CreatureData.h2
2 files changed, 8 insertions, 1 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index c122e51800a..2ceaa8ce7b1 100644
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -1820,6 +1820,10 @@ bool Creature::CreateFromProto(ObjectGuid::LowType guidlow, uint32 entry, Creatu
if (CreateVehicleKit(vehId, entry, true))
UpdateDisplayPower();
+ if (!IsPet())
+ if (uint32 vignetteId = GetCreatureTemplate()->VignetteID)
+ SetVignette(vignetteId);
+
return true;
}
@@ -2284,6 +2288,9 @@ void Creature::setDeathState(DeathState s)
RemoveUnitFlag(UNIT_FLAG_IN_COMBAT);
SetMeleeDamageSchool(SpellSchools(cInfo->dmgschool));
+
+ if (uint32 vignetteId = cInfo->VignetteID)
+ SetVignette(vignetteId);
}
Motion_Initialize();
diff --git a/src/server/game/Entities/Creature/CreatureData.h b/src/server/game/Entities/Creature/CreatureData.h
index 1e386ff2da5..976244a8f85 100644
--- a/src/server/game/Entities/Creature/CreatureData.h
+++ b/src/server/game/Entities/Creature/CreatureData.h
@@ -488,7 +488,7 @@ struct TC_GAME_API CreatureTemplate
std::vector<uint32> GossipMenuIds;
std::unordered_map<Difficulty, CreatureDifficulty> difficultyStore;
uint32 RequiredExpansion;
- uint32 VignetteID; /// @todo Read Vignette.db2
+ uint32 VignetteID;
uint32 faction;
uint64 npcflag;
float speed_walk;