mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-18 07:11:29 +00:00
Feature flag all logic
This commit is contained in:
parent
6424e6a3f3
commit
2d8ef8d286
@ -373,6 +373,7 @@ RULE_BOOL(Zone, AllowCrossZoneSpellsOnBots, false, "Set to true to allow cross z
|
|||||||
RULE_BOOL(Zone, AllowCrossZoneSpellsOnMercs, false, "Set to true to allow cross zone spells (cast/remove) to affect mercenaries")
|
RULE_BOOL(Zone, AllowCrossZoneSpellsOnMercs, false, "Set to true to allow cross zone spells (cast/remove) to affect mercenaries")
|
||||||
RULE_BOOL(Zone, AllowCrossZoneSpellsOnPets, false, "Set to true to allow cross zone spells (cast/remove) to affect pets")
|
RULE_BOOL(Zone, AllowCrossZoneSpellsOnPets, false, "Set to true to allow cross zone spells (cast/remove) to affect pets")
|
||||||
RULE_BOOL(Zone, ZoneShardQuestMenuOnly, false, "Set to true if you only want quests to show the zone shard menu")
|
RULE_BOOL(Zone, ZoneShardQuestMenuOnly, false, "Set to true if you only want quests to show the zone shard menu")
|
||||||
|
RULE_BOOL(Zone, AkkadiusTempPerformanceFeatureFlag, true, "Enable or disable the Akkadius Temp Performance Feature Flag")
|
||||||
RULE_CATEGORY_END()
|
RULE_CATEGORY_END()
|
||||||
|
|
||||||
RULE_CATEGORY(Map)
|
RULE_CATEGORY(Map)
|
||||||
|
|||||||
@ -12968,7 +12968,8 @@ void Client::CheckSendBulkClientPositionUpdate()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if we have seen this mob before and it hasn't moved, skip it
|
// if we have seen this mob before, and it hasn't moved, skip it
|
||||||
|
if (RuleB(Zone, AkkadiusTempPerformanceFeatureFlag)) {
|
||||||
if (m_last_seen_mob_position.contains(mob->GetID())) {
|
if (m_last_seen_mob_position.contains(mob->GetID())) {
|
||||||
if (m_last_seen_mob_position[mob->GetID()] == mob->GetPosition()) {
|
if (m_last_seen_mob_position[mob->GetID()] == mob->GetPosition()) {
|
||||||
LogVisibilityDetail(
|
LogVisibilityDetail(
|
||||||
@ -12979,6 +12980,7 @@ void Client::CheckSendBulkClientPositionUpdate()
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
mob_movement_manager.SendCommandToClients(
|
mob_movement_manager.SendCommandToClients(
|
||||||
mob,
|
mob,
|
||||||
|
|||||||
@ -971,7 +971,9 @@ void Client::CompleteConnect()
|
|||||||
RecordStats();
|
RecordStats();
|
||||||
AutoGrantAAPoints();
|
AutoGrantAAPoints();
|
||||||
|
|
||||||
|
if (RuleB(Zone, AkkadiusTempPerformanceFeatureFlag)) {
|
||||||
m_last_seen_mob_position.reserve(entity_list.GetMobList().size());
|
m_last_seen_mob_position.reserve(entity_list.GetMobList().size());
|
||||||
|
}
|
||||||
|
|
||||||
// enforce some rules..
|
// enforce some rules..
|
||||||
if (!CanEnterZone()) {
|
if (!CanEnterZone()) {
|
||||||
|
|||||||
@ -122,7 +122,11 @@ bool Client::Process() {
|
|||||||
|
|
||||||
/* I haven't naturally updated my position in 10 seconds, updating manually */
|
/* I haven't naturally updated my position in 10 seconds, updating manually */
|
||||||
if (!IsMoving() && m_position_update_timer.Check()) {
|
if (!IsMoving() && m_position_update_timer.Check()) {
|
||||||
|
if (RuleB(Zone, AkkadiusTempPerformanceFeatureFlag)) {
|
||||||
CastToClient()->BroadcastPositionUpdate();
|
CastToClient()->BroadcastPositionUpdate();
|
||||||
|
} else {
|
||||||
|
SentPositionPacket(0.0f, 0.0f, 0.0f, 0.0f, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mana_timer.Check())
|
if (mana_timer.Check())
|
||||||
@ -285,7 +289,7 @@ bool Client::Process() {
|
|||||||
entity_list.ScanCloseMobs(this);
|
entity_list.ScanCloseMobs(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_see_close_mobs_timer.Check()) {
|
if (m_see_close_mobs_timer.Check() && RuleB(Zone, AkkadiusTempPerformanceFeatureFlag)) {
|
||||||
entity_list.UpdateVisibility(this);
|
entity_list.UpdateVisibility(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2871,6 +2871,7 @@ bool EntityList::RemoveMobFromCloseLists(Mob *mob)
|
|||||||
it->second->m_close_mobs.erase(entity_id);
|
it->second->m_close_mobs.erase(entity_id);
|
||||||
it->second->m_can_see_mob.erase(entity_id);
|
it->second->m_can_see_mob.erase(entity_id);
|
||||||
it->second->m_last_seen_mob_position.erase(entity_id);
|
it->second->m_last_seen_mob_position.erase(entity_id);
|
||||||
|
|
||||||
++it;
|
++it;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -852,9 +852,11 @@ void MobMovementManager::SendCommandToClients(
|
|||||||
}
|
}
|
||||||
|
|
||||||
c->QueuePacket(&outapp, false);
|
c->QueuePacket(&outapp, false);
|
||||||
|
if (RuleB(Zone, AkkadiusTempPerformanceFeatureFlag)) {
|
||||||
c->m_last_seen_mob_position[mob->GetID()] = mob->GetPosition();
|
c->m_last_seen_mob_position[mob->GetID()] = mob->GetPosition();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
float short_range = RuleR(Pathing, ShortMovementUpdateRange);
|
float short_range = RuleR(Pathing, ShortMovementUpdateRange);
|
||||||
float long_range = zone->GetMaxUpdateRange();
|
float long_range = zone->GetMaxUpdateRange();
|
||||||
@ -903,10 +905,12 @@ void MobMovementManager::SendCommandToClients(
|
|||||||
}
|
}
|
||||||
|
|
||||||
c->QueuePacket(&outapp, false);
|
c->QueuePacket(&outapp, false);
|
||||||
|
if (RuleB(Zone, AkkadiusTempPerformanceFeatureFlag)) {
|
||||||
c->m_last_seen_mob_position[mob->GetID()] = mob->GetPosition();
|
c->m_last_seen_mob_position[mob->GetID()] = mob->GetPosition();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
float MobMovementManager::FixHeading(float in)
|
float MobMovementManager::FixHeading(float in)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user