mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-13 18:51:29 +00:00
[Bug fix]#reload static should now properly fill the entity_lists for… (#2815)
* [Bug fix]#reload static should now properly fill the entity_lists for objects / doors / groundspawns The individual #reload commands WILL still have issues when trying to use #list afterwards! * Point ReloadDoors, ReloadGroundSpawns, ReloadObjects all to reload static to avoid entity_list data missing
This commit is contained in:
parent
8e831dce36
commit
2e575652f6
@ -1939,16 +1939,6 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
|
|||||||
content_service.SetExpansionContext()->ReloadContentFlags();
|
content_service.SetExpansionContext()->ReloadContentFlags();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ServerOP_ReloadDoors:
|
|
||||||
{
|
|
||||||
if (zone && zone->IsLoaded()) {
|
|
||||||
zone->SendReloadMessage("Doors");
|
|
||||||
entity_list.RemoveAllDoors();
|
|
||||||
zone->LoadZoneDoors();
|
|
||||||
entity_list.RespawnAllDoors();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case ServerOP_ReloadDzTemplates:
|
case ServerOP_ReloadDzTemplates:
|
||||||
{
|
{
|
||||||
if (zone)
|
if (zone)
|
||||||
@ -1958,14 +1948,6 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ServerOP_ReloadGroundSpawns:
|
|
||||||
{
|
|
||||||
if (zone && zone->IsLoaded()) {
|
|
||||||
zone->SendReloadMessage("Ground Spawns");
|
|
||||||
zone->LoadGroundSpawns();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case ServerOP_ReloadLevelEXPMods:
|
case ServerOP_ReloadLevelEXPMods:
|
||||||
{
|
{
|
||||||
if (zone && zone->IsLoaded()) {
|
if (zone && zone->IsLoaded()) {
|
||||||
@ -1995,15 +1977,6 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ServerOP_ReloadObjects:
|
|
||||||
{
|
|
||||||
if (zone && zone->IsLoaded()) {
|
|
||||||
zone->SendReloadMessage("Objects");
|
|
||||||
entity_list.RemoveAllObjects();
|
|
||||||
zone->LoadZoneObjects();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case ServerOP_ReloadPerlExportSettings:
|
case ServerOP_ReloadPerlExportSettings:
|
||||||
{
|
{
|
||||||
zone->SendReloadMessage("Perl Event Export Settings");
|
zone->SendReloadMessage("Perl Event Export Settings");
|
||||||
@ -2016,6 +1989,9 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
|
|||||||
RuleManager::Instance()->LoadRules(&database, RuleManager::Instance()->GetActiveRuleset(), true);
|
RuleManager::Instance()->LoadRules(&database, RuleManager::Instance()->GetActiveRuleset(), true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case ServerOP_ReloadDoors:
|
||||||
|
case ServerOP_ReloadGroundSpawns:
|
||||||
|
case ServerOP_ReloadObjects:
|
||||||
case ServerOP_ReloadStaticZoneData: {
|
case ServerOP_ReloadStaticZoneData: {
|
||||||
if (zone && zone->IsLoaded()) {
|
if (zone && zone->IsLoaded()) {
|
||||||
zone->SendReloadMessage("Static Zone Data");
|
zone->SendReloadMessage("Static Zone Data");
|
||||||
|
|||||||
@ -1231,6 +1231,8 @@ bool Zone::Init(bool is_static) {
|
|||||||
|
|
||||||
void Zone::ReloadStaticData() {
|
void Zone::ReloadStaticData() {
|
||||||
LogInfo("Reloading Zone Static Data");
|
LogInfo("Reloading Zone Static Data");
|
||||||
|
entity_list.RemoveAllObjects(); //Ground spawns are also objects we clear list then fill it
|
||||||
|
entity_list.RemoveAllDoors(); //Some objects are also doors so clear list before filling
|
||||||
|
|
||||||
if (!content_db.LoadStaticZonePoints(&zone_point_list, GetShortName(), GetInstanceVersion())) {
|
if (!content_db.LoadStaticZonePoints(&zone_point_list, GetShortName(), GetInstanceVersion())) {
|
||||||
LogError("Loading static zone points failed");
|
LogError("Loading static zone points failed");
|
||||||
@ -1249,14 +1251,12 @@ void Zone::ReloadStaticData() {
|
|||||||
LogError("Reloading ground spawns failed. continuing");
|
LogError("Reloading ground spawns failed. continuing");
|
||||||
}
|
}
|
||||||
|
|
||||||
entity_list.RemoveAllObjects();
|
|
||||||
LogInfo("Reloading World Objects from DB");
|
LogInfo("Reloading World Objects from DB");
|
||||||
if (!LoadZoneObjects())
|
if (!LoadZoneObjects())
|
||||||
{
|
{
|
||||||
LogError("Reloading World Objects failed. continuing");
|
LogError("Reloading World Objects failed. continuing");
|
||||||
}
|
}
|
||||||
|
|
||||||
entity_list.RemoveAllDoors();
|
|
||||||
LoadZoneDoors();
|
LoadZoneDoors();
|
||||||
entity_list.RespawnAllDoors();
|
entity_list.RespawnAllDoors();
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user