isolate chatmsg, disable bfr, fix cc hack logic

This commit is contained in:
ScrawnyRonnie 2025-11-23 21:13:42 -05:00
parent 9646b3f99e
commit 15cf5c61a3
3 changed files with 16 additions and 12 deletions

View file

@ -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

View file

@ -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
}