diff options
author | Rat <none@none> | 2010-04-21 13:55:43 +0200 |
---|---|---|
committer | Rat <none@none> | 2010-04-21 13:55:43 +0200 |
commit | b7a44ae2baede5000b13c911f434d33a523d9c4c (patch) | |
tree | bc3ae2453a40e8bc486c67b76e3eeb989fef2872 /src/game | |
parent | b0daeeb4ab06403fd9af1ca21cc8efc860b96c64 (diff) |
*fix visibility for trigger creatures
NOTE: if you see any trigger (in player mode) with a visible model (DB bug), please report creature entry + modelid in bugtracker
--HG--
branch : trunk
Diffstat (limited to 'src/game')
-rw-r--r-- | src/game/Creature.cpp | 7 | ||||
-rw-r--r-- | src/game/Object.cpp | 6 |
2 files changed, 7 insertions, 6 deletions
diff --git a/src/game/Creature.cpp b/src/game/Creature.cpp index 6ae8a97504c..f64cc29b116 100644 --- a/src/game/Creature.cpp +++ b/src/game/Creature.cpp @@ -414,7 +414,7 @@ bool Creature::UpdateEntry(uint32 Entry, uint32 team, const CreatureData *data) SetPvP(false); } - // HACK: trigger creature is always not selectable + // trigger creature is always not selectable and can not be attacked if (isTrigger()) SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); @@ -1751,8 +1751,9 @@ bool Creature::IsVisibleInGridForPlayer(Player const* pl) const return true; // Trigger shouldn't be visible for players - if (isTrigger()) - return false; + //if (isTrigger()) + // return false; + // Rat: this makes no sense, triggers are always sent to players, but with invisible model and can not be attacked or targeted! // Live player (or with not release body see live creatures or death creatures with corpse disappearing time > 0 if (pl->isAlive() || pl->GetDeathTimer() > 0) diff --git a/src/game/Object.cpp b/src/game/Object.cpp index 8b58a7c7300..2a7397db8b8 100644 --- a/src/game/Object.cpp +++ b/src/game/Object.cpp @@ -585,14 +585,14 @@ void Object::_BuildValuesUpdate(uint8 updatetype, ByteBuffer * data, UpdateMask if (target->isGameMaster()) { if (cinfo->Modelid1) - *data << cinfo->Modelid1; + *data << cinfo->Modelid1;//Modelid1 is a visible model for gms else *data << 17519; // world invisible trigger's model } else { - if (cinfo->Modelid3) - *data << cinfo->Modelid3; + if (cinfo->Modelid2) + *data << cinfo->Modelid2;//Modelid2 is an invisible model for players else *data << 11686; // world invisible trigger's model } |