aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/Creature.cpp7
-rw-r--r--src/game/Object.cpp6
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
}