aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRat <none@none>2010-04-21 13:55:43 +0200
committerRat <none@none>2010-04-21 13:55:43 +0200
commitb7a44ae2baede5000b13c911f434d33a523d9c4c (patch)
treebc3ae2453a40e8bc486c67b76e3eeb989fef2872 /src
parentb0daeeb4ab06403fd9af1ca21cc8efc860b96c64 (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')
-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
}