From 15cf5c61a3a429ad7138bba39544329c8cda738a Mon Sep 17 00:00:00 2001 From: ScrawnyRonnie Date: Sun, 23 Nov 2025 21:13:42 -0500 Subject: [PATCH] isolate chatmsg, disable bfr, fix cc hack logic --- .../main/resources/overrides/game_objects0.adb.lst | 12 ++++++------ .../net/psforever/actors/net/MiddlewareActor.scala | 8 +++++++- .../serverobject/hackable/GenericHackables.scala | 8 +++----- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/server/src/main/resources/overrides/game_objects0.adb.lst b/server/src/main/resources/overrides/game_objects0.adb.lst index dab132d98..5c86f5d4b 100644 --- a/server/src/main/resources/overrides/game_objects0.adb.lst +++ b/server/src/main/resources/overrides/game_objects0.adb.lst @@ -99,27 +99,27 @@ add_property trek allowed false add_property trek equiptime 500 add_property trek holstertime 500 add_property vulture requirement_award0 false -add_property aphelion allowed true +add_property aphelion allowed false add_property aphelion_flight allowed false -add_property aphelion_gunner allowed true +add_property aphelion_gunner allowed false add_property aphelion_armor_siphon allowed false add_property aphelion_armor_siphon_left allowed false add_property aphelion_armor_siphon_right allowed false add_property aphelion_ntu_siphon allowed false add_property aphelion_ntu_siphon_left allowed false add_property aphelion_ntu_siphon_right allowed false -add_property colossus allowed true +add_property colossus allowed false add_property colossus_flight allowed false -add_property colossus_gunner allowed true +add_property colossus_gunner allowed false add_property colossus_armor_siphon allowed false add_property colossus_armor_siphon_left allowed false add_property colossus_armor_siphon_right allowed false add_property colossus_ntu_siphon allowed false add_property colossus_ntu_siphon_left allowed false add_property colossus_ntu_siphon_right allowed false -add_property peregrine allowed true +add_property peregrine allowed false add_property peregrine_flight allowed false -add_property peregrine_gunner allowed true +add_property peregrine_gunner allowed false add_property peregrine_armor_siphon allowed false add_property peregrine_armor_siphon_left allowed false add_property peregrine_armor_siphon_right allowed false diff --git a/src/main/scala/net/psforever/actors/net/MiddlewareActor.scala b/src/main/scala/net/psforever/actors/net/MiddlewareActor.scala index 0be4fffa0..9433192cb 100644 --- a/src/main/scala/net/psforever/actors/net/MiddlewareActor.scala +++ b/src/main/scala/net/psforever/actors/net/MiddlewareActor.scala @@ -145,6 +145,11 @@ object MiddlewareActor { packet.isInstanceOf[SquadDetailDefinitionUpdateMessage] } + /** `ChatMsg` [sometimes] causes the same issue as the squad packet above. Isolating for now */ + private def chatMsgGuard(packet: PlanetSidePacket): Boolean = { + packet.isInstanceOf[ChatMsg] + } + /** * A function for blanking tasks related to inbound packet resolution. * Do nothing. @@ -253,7 +258,8 @@ class MiddlewareActor( private val packetsBundledByThemselves: List[PlanetSidePacket => Boolean] = List( MiddlewareActor.keepAliveMessageGuard, MiddlewareActor.characterInfoMessageGuard, - MiddlewareActor.squadDetailDefinitionMessageGuard + MiddlewareActor.squadDetailDefinitionMessageGuard, + MiddlewareActor.chatMsgGuard ) private val smpHistoryLength: Int = 100 diff --git a/src/main/scala/net/psforever/objects/serverobject/hackable/GenericHackables.scala b/src/main/scala/net/psforever/objects/serverobject/hackable/GenericHackables.scala index cd8109b67..5c6aca70c 100644 --- a/src/main/scala/net/psforever/objects/serverobject/hackable/GenericHackables.scala +++ b/src/main/scala/net/psforever/objects/serverobject/hackable/GenericHackables.scala @@ -6,7 +6,7 @@ import net.psforever.objects.serverobject.terminals.capture.CaptureTerminal import net.psforever.objects.{Player, Vehicle} import net.psforever.objects.serverobject.{CommonMessages, PlanetSideServerObject} import net.psforever.packet.game.{HackMessage, HackState, HackState1, HackState7} -import net.psforever.types.{PlanetSideEmpire, PlanetSideGUID, PlanetSideGeneratorState} +import net.psforever.types.{PlanetSideEmpire, PlanetSideGUID} import net.psforever.services.Service import net.psforever.services.avatar.{AvatarAction, AvatarServiceMessage} import net.psforever.services.local.{LocalAction, LocalServiceMessage} @@ -166,14 +166,12 @@ object GenericHackables { friendlyBaseOpt.exists { fb => fb.Faction == hacker.Faction && !fb.CaptureTerminalIsHacked && - fb.NtuLevel > 0 && - fb.Generator.forall(_.Condition != PlanetSideGeneratorState.Destroyed) + fb.NtuLevel > 0 } case b => b.Faction == hacker.Faction && !b.CaptureTerminalIsHacked && - b.NtuLevel > 0 && - b.Generator.forall(_.Condition != PlanetSideGeneratorState.Destroyed) + b.NtuLevel > 0 } case None => 0 }