mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-02-21 07:33:34 +00:00
separated aggravation behavior and uara management behavior; moved files into packages and deleted old files
This commit is contained in:
parent
a79fc6bd2f
commit
89d7aea633
16 changed files with 451 additions and 514 deletions
|
|
@ -8,7 +8,7 @@ import net.psforever.objects.definition._
|
|||
import net.psforever.objects.definition.converter._
|
||||
import net.psforever.objects.equipment._
|
||||
import net.psforever.objects.inventory.InventoryTile
|
||||
import net.psforever.objects.serverobject.aggravated.Aura
|
||||
import net.psforever.objects.serverobject.aura.Aura
|
||||
import net.psforever.objects.serverobject.doors.DoorDefinition
|
||||
import net.psforever.objects.serverobject.generator.GeneratorDefinition
|
||||
import net.psforever.objects.serverobject.implantmech.ImplantTerminalMechDefinition
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import net.psforever.objects.equipment.{Equipment, EquipmentSize, EquipmentSlot,
|
|||
import net.psforever.objects.inventory.{Container, GridInventory, InventoryItem}
|
||||
import net.psforever.objects.serverobject.PlanetSideServerObject
|
||||
import net.psforever.objects.serverobject.affinity.FactionAffinity
|
||||
import net.psforever.objects.serverobject.aggravated.AuraContainer
|
||||
import net.psforever.objects.serverobject.aura.AuraContainer
|
||||
import net.psforever.objects.vital.resistance.ResistanceProfile
|
||||
import net.psforever.objects.vital.{DamageResistanceModel, Vitality}
|
||||
import net.psforever.objects.zones.ZoneAware
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import net.psforever.objects.inventory.{Container, GridInventory, InventoryItem,
|
|||
import net.psforever.objects.serverobject.mount.Mountable
|
||||
import net.psforever.objects.serverobject.PlanetSideServerObject
|
||||
import net.psforever.objects.serverobject.affinity.FactionAffinity
|
||||
import net.psforever.objects.serverobject.aggravated.AuraContainer
|
||||
import net.psforever.objects.serverobject.aura.AuraContainer
|
||||
import net.psforever.objects.serverobject.deploy.Deployment
|
||||
import net.psforever.objects.serverobject.hackable.Hackable
|
||||
import net.psforever.objects.serverobject.structures.AmenityOwner
|
||||
|
|
|
|||
|
|
@ -8,7 +8,8 @@ import net.psforever.objects.ballistics.{PlayerSource, ResolvedProjectile}
|
|||
import net.psforever.objects.equipment._
|
||||
import net.psforever.objects.inventory.{GridInventory, InventoryItem}
|
||||
import net.psforever.objects.loadouts.Loadout
|
||||
import net.psforever.objects.serverobject.aggravated.AuraEffectBehavior
|
||||
import net.psforever.objects.serverobject.aggravated.AggravatedBehavior
|
||||
import net.psforever.objects.serverobject.aura.AuraEffectBehavior
|
||||
import net.psforever.objects.serverobject.containable.{Containable, ContainableBehavior}
|
||||
import net.psforever.objects.vital.{PlayerSuicide, Vitality}
|
||||
import net.psforever.objects.serverobject.{CommonMessages, PlanetSideServerObject}
|
||||
|
|
@ -32,6 +33,7 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm
|
|||
with JammableBehavior
|
||||
with Damageable
|
||||
with ContainableBehavior
|
||||
with AggravatedBehavior
|
||||
with AuraEffectBehavior {
|
||||
def JammableObject = player
|
||||
|
||||
|
|
@ -39,6 +41,8 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm
|
|||
|
||||
def ContainerObject = player
|
||||
|
||||
def AggravatedObject = player
|
||||
|
||||
def AuraTargetObject = player
|
||||
|
||||
private[this] val log = org.log4s.getLogger(player.Name)
|
||||
|
|
@ -58,11 +62,13 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm
|
|||
lockerControlAgent ! akka.actor.PoisonPill
|
||||
player.avatar.locker.Actor = Default.Actor
|
||||
EndAllEffects()
|
||||
EndAllAggravation()
|
||||
}
|
||||
|
||||
def receive: Receive =
|
||||
jammableBehavior
|
||||
.orElse(takesDamage)
|
||||
.orElse(aggravatedBehavior)
|
||||
.orElse(auraBehavior)
|
||||
.orElse(containerBehavior)
|
||||
.orElse {
|
||||
|
|
@ -554,7 +560,11 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm
|
|||
if (Damageable.CanJammer(target, cause)) {
|
||||
TryJammerEffectActivate(target, cause)
|
||||
}
|
||||
TryAggravationEffect(cause)
|
||||
TryAggravationEffect(cause) match {
|
||||
case Some(aggravation) =>
|
||||
StartAuraEffect(aggravation.effect_type, aggravation.timing.duration)
|
||||
case _ => ;
|
||||
}
|
||||
} else {
|
||||
DestructionAwareness(target, Some(cause))
|
||||
}
|
||||
|
|
@ -609,6 +619,8 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm
|
|||
target.Die
|
||||
//aura effects cancel
|
||||
EndAllEffects()
|
||||
//aggravation cancel
|
||||
EndAllAggravation()
|
||||
//unjam
|
||||
CancelJammeredSound(target)
|
||||
CancelJammeredStatus(target)
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@ import net.psforever.objects.inventory.{GridInventory, InventoryItem}
|
|||
import net.psforever.objects.serverobject.CommonMessages
|
||||
import net.psforever.objects.serverobject.mount.{Mountable, MountableBehavior}
|
||||
import net.psforever.objects.serverobject.affinity.{FactionAffinity, FactionAffinityBehavior}
|
||||
import net.psforever.objects.serverobject.aggravated.AuraEffectBehavior
|
||||
import net.psforever.objects.serverobject.aggravated.AggravatedBehavior
|
||||
import net.psforever.objects.serverobject.aura.AuraEffectBehavior
|
||||
import net.psforever.objects.serverobject.containable.{Containable, ContainableBehavior}
|
||||
import net.psforever.objects.serverobject.damage.Damageable.Target
|
||||
import net.psforever.objects.serverobject.damage.DamageableVehicle
|
||||
|
|
@ -54,11 +55,12 @@ class VehicleControl(vehicle: Vehicle)
|
|||
with JammableMountedWeapons
|
||||
with ContainableBehavior
|
||||
with AntTransferBehavior
|
||||
with AggravatedBehavior
|
||||
with AuraEffectBehavior {
|
||||
|
||||
//make control actors belonging to utilities when making control actor belonging to vehicle
|
||||
vehicle.Utilities.foreach({ case (_, util) => util.Setup })
|
||||
|
||||
|
||||
def MountableObject = vehicle
|
||||
|
||||
def CargoObject = vehicle
|
||||
|
|
@ -79,6 +81,8 @@ class VehicleControl(vehicle: Vehicle)
|
|||
|
||||
def AuraTargetObject = vehicle
|
||||
|
||||
def AggravatedObject = vehicle
|
||||
|
||||
if(vehicle.Definition == GlobalDefinitions.ant) {
|
||||
findChargeTargetFunc = Vehicles.FindANTChargingSource
|
||||
findDischargeTargetFunc = Vehicles.FindANTDischargingTarget
|
||||
|
|
@ -101,6 +105,7 @@ class VehicleControl(vehicle: Vehicle)
|
|||
util().Actor = Default.Actor
|
||||
}
|
||||
EndAllEffects()
|
||||
EndAllAggravation()
|
||||
}
|
||||
|
||||
def Enabled: Receive =
|
||||
|
|
@ -109,6 +114,7 @@ class VehicleControl(vehicle: Vehicle)
|
|||
.orElse(cargoBehavior)
|
||||
.orElse(jammableBehavior)
|
||||
.orElse(takesDamage)
|
||||
.orElse(aggravatedBehavior)
|
||||
.orElse(auraBehavior)
|
||||
.orElse(canBeRepairedByNanoDispenser)
|
||||
.orElse(containerBehavior)
|
||||
|
|
@ -592,7 +598,11 @@ class VehicleControl(vehicle: Vehicle)
|
|||
cause: ResolvedProjectile,
|
||||
amount: Int
|
||||
): Unit = {
|
||||
TryAggravationEffect(cause)
|
||||
TryAggravationEffect(cause) match {
|
||||
case Some(aggravation) =>
|
||||
StartAuraEffect(aggravation.effect_type, aggravation.timing.duration)
|
||||
case _ => ;
|
||||
}
|
||||
super.DamageAwareness(target, cause, amount)
|
||||
}
|
||||
|
||||
|
|
@ -602,6 +612,8 @@ class VehicleControl(vehicle: Vehicle)
|
|||
): Unit = {
|
||||
//aura effects cancel
|
||||
EndAllEffects()
|
||||
//aggravation cancel
|
||||
EndAllAggravation()
|
||||
super.DestructionAwareness(target, cause)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -255,7 +255,7 @@ object GamePacketOpcode extends Enumeration {
|
|||
// 0x68
|
||||
case 0x68 => game.DroppodFreefallingMessage.decode
|
||||
case 0x69 => game.AvatarFirstTimeEventMessage.decode
|
||||
case 0x6a => noDecoder(AggravatedDamageMessage)
|
||||
case 0x6a => game.AggravatedDamageMessage.decode
|
||||
case 0x6b => game.TriggerSoundMessage.decode
|
||||
case 0x6c => game.LootItemMessage.decode
|
||||
case 0x6d => game.VehicleSubStateMessage.decode
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue