available chat prompts can now be different based on player mode without testing flags

This commit is contained in:
Fate-JH 2024-04-30 19:29:37 -04:00
parent 79c0afa2c2
commit b5b72e5b7b
3 changed files with 1028 additions and 806 deletions

File diff suppressed because it is too large Load diff

View file

@ -3,7 +3,9 @@ package net.psforever.actors.session.normal
import akka.actor.Actor.Receive
import akka.actor.ActorRef
import net.psforever.actors.session.ChatActor
import net.psforever.actors.session.support.{GeneralFunctions, LocalHandlerFunctions, MountHandlerFunctions, SquadHandlerFunctions, TerminalHandlerFunctions, VehicleFunctions, VehicleHandlerFunctions, WeaponAndProjectileFunctions}
import net.psforever.objects.Session
import net.psforever.packet.game.UplinkRequest
//
import net.psforever.actors.session.{AvatarActor, SessionActor}
@ -42,6 +44,11 @@ class NormalModeLogic(data: SessionData) extends ModeLogic {
val vehicles: VehicleFunctions = VehicleLogic(data.vehicles)
val vehicleResponse: VehicleHandlerFunctions = VehicleHandlerLogic(data.vehicleResponseOperations)
override def switchTo(session: Session): Unit = {
data.general.chatActor ! ChatActor.SetMode("normal")
super.switchTo(session)
}
def parse(sender: ActorRef): Receive = {
/* really common messages (very frequently, every life) */
case packet: PlanetSideGamePacket =>

View file

@ -3,6 +3,7 @@ package net.psforever.actors.session.spectator
import akka.actor.Actor.Receive
import akka.actor.ActorRef
import net.psforever.actors.session.ChatActor
import net.psforever.actors.session.support.{AvatarHandlerFunctions, GalaxyHandlerFunctions, GeneralFunctions, LocalHandlerFunctions, MountHandlerFunctions, SquadHandlerFunctions, TerminalHandlerFunctions, VehicleFunctions, VehicleHandlerFunctions, WeaponAndProjectileFunctions}
import net.psforever.actors.zone.ZoneActor
import net.psforever.objects.avatar.{BattleRank, CommandRank, DeployableToolbox, FirstTimeEvents, Implant, ProgressDecoration, Shortcut => AvatarShortcut}
@ -116,6 +117,7 @@ class SpectatorModeLogic(data: SessionData) extends ModeLogic {
player.LogActivity(originalEvent)
player.spectator = true
//
data.general.chatActor ! ChatActor.SetMode("spectator")
val newPlayer = SpectatorModeLogic.spectatorCharacter(player)
val cud = new SimpleItem(GlobalDefinitions.command_detonater)
cud.GUID = player.avatar.locker.GUID