Few adjustments

This commit is contained in:
Akkadius 2018-11-19 02:40:10 -06:00
parent 1061788610
commit d215ccfa8c
4 changed files with 40 additions and 7 deletions

View File

@ -22,6 +22,7 @@
#include "mob.h"
#include "../common/races.h"
#include "../common/say_link.h"
#include "npc_scale_manager.h"
std::string commify(const std::string &number)
{
@ -588,9 +589,13 @@ inline void NPCCommandsMenu(Client* client, NPC* npc)
menu_commands += "[" + EQEmu::SayLinkEngine::GenerateQuestSaylink(saylink, false, "Emotes") + "] ";
}
if (npc->GetLoottableID() > 0) {
menu_commands += "[" + EQEmu::SayLinkEngine::GenerateQuestSaylink("#npcloot show", false, "Loot") + "] ";
}
if (menu_commands.length() > 0) {
client->Message(0, "| # Show Commmands");
client->Message(0, "| %s", menu_commands.c_str());
// client->Message(0, "| # Show Commmands");
client->Message(0, "| [Show Commands] %s", menu_commands.c_str());
}
}
@ -676,6 +681,7 @@ void Mob::DisplayInfo(Mob *mob)
"DSMit",
"avoidance",
};
window_text += WriteDisplayInfoSection(mob, "Mod Defensive", mod_defensive, 1, true);
std::vector<std::string> mod_offensive = {
@ -764,13 +770,20 @@ void Mob::DisplayInfo(Mob *mob)
window_text += WriteDisplayInfoSection(mob, "Proximity", npc_proximity, 1, true);
}
npc->QueryLoot(client);
int8 npc_type = npc_scale_manager->GetNPCScalingType(npc);
std::string npc_type_string = npc_scale_manager->GetNPCScalingTypeName(npc);
client->Message(
0,
"| # Target: %s Type: %i (%s)",
npc->GetCleanName(),
npc_type,
npc_type_string.c_str());
NPCCommandsMenu(client, npc);
}
std::cout << "Window Length: " << window_text.length() << std::endl;
// std::cout << "Window " << window_text << std::endl;
if (client->GetDisplayMobInfoWindow()) {
client->SendFullPopup(

View File

@ -603,7 +603,7 @@ void NPC::ClearItemList() {
void NPC::QueryLoot(Client* to)
{
to->Message(0, "| # Loot [%s]", GetName());
to->Message(0, "| # Current Loot (%s) LootTableID: %i", GetName(), GetLoottableID());
int item_count = 0;
for (auto cur = itemlist.begin(); cur != itemlist.end(); ++cur, ++item_count) {

View File

@ -408,13 +408,13 @@ uint32 NpcScaleManager::GetClassLevelDamageMod(uint32 level, uint32 npc_class)
/**
* @param npc
* @return
* @return int8
*/
int8 NpcScaleManager::GetNPCScalingType(NPC *&npc)
{
std::string npc_name = npc->GetName();
if (npc->IsRareSpawn() || npc_name.find('#') != std::string::npos) {
if (npc->IsRareSpawn() || npc_name.find('#') != std::string::npos || isupper(npc_name[0])) {
return 1;
}
@ -425,6 +425,25 @@ int8 NpcScaleManager::GetNPCScalingType(NPC *&npc)
return 0;
}
/**
* @param npc
* @return std::string
*/
std::string NpcScaleManager::GetNPCScalingTypeName(NPC *&npc)
{
int8 scaling_type = GetNPCScalingType(npc);
if (scaling_type == 1) {
return "Named";
}
if (npc->IsRaidTarget()) {
return "Raid";
}
return "Trash";
}
/**
* Returns false if scaling data not found
* @param npc

View File

@ -95,6 +95,7 @@ public:
std::map<std::pair<int, int>, global_npc_scale> npc_global_base_scaling_data;
int8 GetNPCScalingType(NPC * &npc);
std::string GetNPCScalingTypeName(NPC * &npc);
bool ApplyGlobalBaseScalingToNPCStatically(NPC * &npc);
bool ApplyGlobalBaseScalingToNPCDynamically(NPC * &npc);