mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-16 18:52:22 +00:00
[Commands] Consolidate #show commands into a singular #show command (#3478)
* [Cleanup] Consolidate #show commands into a singular #show command # Notes - All `#show` commands like `#showbuffs` are now subcommands of `#show`. - All aliases like `#showbuffs` still function. * Push up progress. * Final push. * Cleanup. * Update ip_lookup.cpp * emotes not emote * Cleanup * Update servertalk.h * Update show.cpp * Fix * Final push. * #aggro * #who
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
#include "../../client.h"
|
||||
|
||||
void ShowProximity(Client *c, const Seperator *sep)
|
||||
{
|
||||
if (!c->GetTarget() || !c->GetTarget()->IsNPC()) {
|
||||
c->Message(Chat::White, "You must target an NPC to use this command.");
|
||||
return;
|
||||
}
|
||||
|
||||
for (const auto& n : entity_list.GetNPCList()) {
|
||||
if (
|
||||
n.second &&
|
||||
Strings::Contains(n.second->GetName(), "Proximity")
|
||||
) {
|
||||
n.second->Depop();
|
||||
}
|
||||
}
|
||||
|
||||
const auto t = c->GetTarget()->CastToNPC();
|
||||
|
||||
std::vector<FindPerson_Point> v;
|
||||
|
||||
FindPerson_Point p {};
|
||||
|
||||
if (t->IsProximitySet()) {
|
||||
glm::vec4 position;
|
||||
position.w = t->GetHeading();
|
||||
position.x = t->GetProximityMinX();
|
||||
position.y = t->GetProximityMinY();
|
||||
position.z = t->GetZ();
|
||||
|
||||
position.x = t->GetProximityMinX();
|
||||
position.y = t->GetProximityMinY();
|
||||
NPC::SpawnNodeNPC("Proximity", "", position);
|
||||
|
||||
position.x = t->GetProximityMinX();
|
||||
position.y = t->GetProximityMaxY();
|
||||
NPC::SpawnNodeNPC("Proximity", "", position);
|
||||
|
||||
position.x = t->GetProximityMaxX();
|
||||
position.y = t->GetProximityMinY();
|
||||
NPC::SpawnNodeNPC("Proximity", "", position);
|
||||
|
||||
position.x = t->GetProximityMaxX();
|
||||
position.y = t->GetProximityMaxY();
|
||||
NPC::SpawnNodeNPC("Proximity", "", position);
|
||||
|
||||
p.x = t->GetProximityMinX();
|
||||
p.y = t->GetProximityMinY();
|
||||
p.z = t->GetZ();
|
||||
v.push_back(p);
|
||||
|
||||
p.x = t->GetProximityMinX();
|
||||
p.y = t->GetProximityMaxY();
|
||||
v.push_back(p);
|
||||
|
||||
p.x = t->GetProximityMaxX();
|
||||
p.y = t->GetProximityMaxY();
|
||||
v.push_back(p);
|
||||
|
||||
p.x = t->GetProximityMaxX();
|
||||
p.y = t->GetProximityMinY();
|
||||
v.push_back(p);
|
||||
|
||||
p.x = t->GetProximityMinX();
|
||||
p.y = t->GetProximityMinY();
|
||||
v.push_back(p);
|
||||
}
|
||||
|
||||
if (c->ClientVersion() >= EQ::versions::ClientVersion::RoF) {
|
||||
c->SendPathPacket(v);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user