diff --git a/src/main/scala/net/psforever/objects/SpecialEmp.scala b/src/main/scala/net/psforever/objects/SpecialEmp.scala index 17da3b46..5578690a 100644 --- a/src/main/scala/net/psforever/objects/SpecialEmp.scala +++ b/src/main/scala/net/psforever/objects/SpecialEmp.scala @@ -118,8 +118,8 @@ object SpecialEmp { case _ => OwnerGuid_=(Some(owner.GUID)) } Position = position - def Faction = faction - def Definition = proxy_definition + def Faction: PlanetSideEmpire.Value = faction + def Definition: ObjectDefinition with VitalityDefinition = proxy_definition }) } diff --git a/src/main/scala/net/psforever/objects/vehicles/control/VehicleCapacitance.scala b/src/main/scala/net/psforever/objects/vehicles/control/VehicleCapacitance.scala index bb2ca937..2b84932a 100644 --- a/src/main/scala/net/psforever/objects/vehicles/control/VehicleCapacitance.scala +++ b/src/main/scala/net/psforever/objects/vehicles/control/VehicleCapacitance.scala @@ -1,7 +1,7 @@ // Copyright (c) 2021 PSForever package net.psforever.objects.vehicles.control -import akka.actor.Actor +import akka.actor.{Actor, Cancellable} import net.psforever.objects._ import net.psforever.services.Service import net.psforever.services.vehicle.{VehicleAction, VehicleServiceMessage} @@ -16,7 +16,7 @@ trait VehicleCapacitance { _: Actor => def CapacitanceObject: Vehicle - protected var capacitor = Default.Cancellable + protected var capacitor: Cancellable = Default.Cancellable startCapacitorTimer() diff --git a/src/main/scala/net/psforever/objects/vital/etc/EmpReason.scala b/src/main/scala/net/psforever/objects/vital/etc/EmpReason.scala index 7269fab5..f62b5a13 100644 --- a/src/main/scala/net/psforever/objects/vital/etc/EmpReason.scala +++ b/src/main/scala/net/psforever/objects/vital/etc/EmpReason.scala @@ -1,9 +1,9 @@ // Copyright (c) 2021 PSForever package net.psforever.objects.vital.etc -import net.psforever.objects.PlanetSideGameObject +import net.psforever.objects.{PlanetSideGameObject, Vehicle} import net.psforever.objects.serverobject.affinity.FactionAffinity -import net.psforever.objects.sourcing.SourceEntry +import net.psforever.objects.sourcing.{SourceEntry, VehicleSource} import net.psforever.objects.vital.Vitality import net.psforever.objects.vital.base.{DamageReason, DamageResolution} import net.psforever.objects.vital.prop.DamageWithPosition @@ -41,6 +41,10 @@ object EmpReason { source: DamageWithPosition, target: PlanetSideGameObject with Vitality ): EmpReason = { - EmpReason(SourceEntry(owner), source, target.DamageModel, owner.Definition.ObjectId) + val ownerSource = owner match { + case v: Vehicle => VehicleSource(v).occupants.head + case _ => SourceEntry(owner) + } + EmpReason(ownerSource, source, target.DamageModel, owner.Definition.ObjectId) } }