[Scaling] Add support for zone ID and instance version to NPC Scaling (#2968)

* [Scaling] Add support for zone ID and instance version to NPC Scaling

# Notes
- Adds `zone_id` and `instance_version` to `npc_scale_global_base` table to allow for zone and version-specific scaling.
- Defaults back to `zone_id` of `0` and `instance_version` of `0` for global scaling.
- Scaling load precedence is as follows:
- `zone_id` of current zone and `instance_version` of current instance
- `zone_id` of current zone and `instance_version` of `0`
- `zone_id` of `0` and `instance_version` of `0`

* Remove debug comment.

* Use zone not NPC.

* SQL
This commit is contained in:
Alex King
2023-02-24 21:17:07 -05:00
committed by GitHub
parent de2dfc1a7e
commit 2a20c69c69
9 changed files with 273 additions and 170 deletions
+8 -10
View File
@@ -795,21 +795,19 @@ void Mob::DisplayInfo(Mob *mob)
window_text += WriteDisplayInfoSection(mob, "Proximity", npc_proximity, 1, true);
}
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());
Chat::White,
fmt::format(
"| # Target: {} Type: {} ({})",
npc->GetCleanName(),
npc_scale_manager->GetNPCScalingType(npc),
npc_scale_manager->GetNPCScalingTypeName(npc)
).c_str()
);
NPCCommandsMenu(client, npc);
}
// std::cout << "Window Length: " << window_text.length() << std::endl;
if (client->GetDisplayMobInfoWindow()) {
client->SendFullPopup(
"GM: Entity Info",