mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-16 22:58:34 +00:00
[Rule] Allow GMs to silently summon (#3910)
* [Rule] Allow GMs to silently summon Disable to silently summon players with #summon. Converted SummonPC to a MessageString * Implementing an automatic detection of gm hidden mode and silent summoning.
This commit is contained in:
+7
-1
@@ -88,6 +88,7 @@ void Client::Handle_OP_ZoneChange(const EQApplicationPacket *app) {
|
||||
target_zone_id = zone->GetZoneID();
|
||||
break;
|
||||
case GMSummon:
|
||||
case GMHiddenSummon:
|
||||
case ZoneSolicited: //we told the client to zone somewhere, so we know where they are going.
|
||||
target_zone_id = zonesummon_id;
|
||||
break;
|
||||
@@ -276,6 +277,7 @@ void Client::Handle_OP_ZoneChange(const EQApplicationPacket *app) {
|
||||
target_heading = safe_heading;
|
||||
break;
|
||||
case GMSummon:
|
||||
case GMHiddenSummon:
|
||||
target_x = m_ZoneSummonLocation.x;
|
||||
target_y = m_ZoneSummonLocation.y;
|
||||
target_z = m_ZoneSummonLocation.z;
|
||||
@@ -697,6 +699,9 @@ void Client::ProcessMovePC(uint32 zoneID, uint32 instance_id, float x, float y,
|
||||
Message(Chat::Yellow, "You have been summoned by a GM!");
|
||||
ZonePC(zoneID, instance_id, x, y, z, heading, ignorerestrictions, zm);
|
||||
break;
|
||||
case GMHiddenSummon:
|
||||
ZonePC(zoneID, instance_id, x, y, z, heading, ignorerestrictions, zm);
|
||||
break;
|
||||
case ZoneToBindPoint:
|
||||
ZonePC(zoneID, instance_id, x, y, z, heading, ignorerestrictions, zm);
|
||||
break;
|
||||
@@ -704,7 +709,7 @@ void Client::ProcessMovePC(uint32 zoneID, uint32 instance_id, float x, float y,
|
||||
ZonePC(zoneID, instance_id, x, y, z, heading, ignorerestrictions, zm);
|
||||
break;
|
||||
case SummonPC:
|
||||
Message(Chat::Yellow, "You have been summoned!");
|
||||
MessageString(Chat::Yellow, PLAYER_SUMMONED);
|
||||
ZonePC(zoneID, instance_id, x, y, z, heading, ignorerestrictions, zm);
|
||||
break;
|
||||
case Rewind:
|
||||
@@ -761,6 +766,7 @@ void Client::ZonePC(uint32 zoneID, uint32 instance_id, float x, float y, float z
|
||||
heading = zone_safe_point.w;
|
||||
break;
|
||||
case GMSummon:
|
||||
case GMHiddenSummon:
|
||||
m_Position = glm::vec4(x, y, z, heading);
|
||||
m_ZoneSummonLocation = m_Position;
|
||||
zonesummon_id = zoneID;
|
||||
|
||||
Reference in New Issue
Block a user