diff options
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 } |