From d049146b4f3e6be9e2ff34feb497fb43c19f3fb3 Mon Sep 17 00:00:00 2001 From: Fate-JH Date: Sat, 2 Mar 2024 23:12:45 -0500 Subject: [PATCH] jammered mines explode again (he mines were exploding for incorrect reasons) (#1175) --- .../scala/net/psforever/objects/ExplosiveDeployable.scala | 6 +++--- .../psforever/objects/vital/etc/TrippedMineReason.scala | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/scala/net/psforever/objects/ExplosiveDeployable.scala b/src/main/scala/net/psforever/objects/ExplosiveDeployable.scala index 201d39d8d..a99d72c15 100644 --- a/src/main/scala/net/psforever/objects/ExplosiveDeployable.scala +++ b/src/main/scala/net/psforever/objects/ExplosiveDeployable.scala @@ -54,7 +54,7 @@ class ExplosiveDeployableDefinition(private val objectId: Int) DetonateOnJamming } - override def Initialize(obj: Deployable, context: ActorContext) = { + override def Initialize(obj: Deployable, context: ActorContext): Unit = { obj.Actor = context.actorOf(Props(classOf[MineDeployableControl], obj), PlanetSideServerObject.UniqueActorName(obj)) } @@ -70,8 +70,8 @@ abstract class ExplosiveDeployableControl(mine: ExplosiveDeployable) extends Actor with DeployableBehavior with Damageable { - def DeployableObject = mine - def DamageableObject = mine + def DeployableObject: ExplosiveDeployable = mine + def DamageableObject: ExplosiveDeployable = mine override def postStop(): Unit = { super.postStop() diff --git a/src/main/scala/net/psforever/objects/vital/etc/TrippedMineReason.scala b/src/main/scala/net/psforever/objects/vital/etc/TrippedMineReason.scala index 3f4595c9d..0cae9c7e1 100644 --- a/src/main/scala/net/psforever/objects/vital/etc/TrippedMineReason.scala +++ b/src/main/scala/net/psforever/objects/vital/etc/TrippedMineReason.scala @@ -17,19 +17,19 @@ import net.psforever.objects.vital.resolution.DamageAndResistance final case class TrippedMineReason(mine: DeployableSource, owner: SourceEntry) extends DamageReason { - def source: DamageProperties = mine.Definition.innateDamage.getOrElse(TrippedMineReason.triggered) + def source: DamageProperties = TrippedMineReason.triggered def resolution: DamageResolution.Value = DamageResolution.Resolved def same(test: DamageReason): Boolean = test match { - case trip: TrippedMineReason => mine == trip.mine && mine.OwnerName == trip.mine.OwnerName - case _ => false + case trip: TrippedMineReason => mine.unique == trip.mine.unique && owner.unique == owner.unique + case _ => false } /** lay the blame on the player who laid this mine, if possible */ def adversary: Option[SourceEntry] = Some(owner) - override def damageModel : DamageAndResistance = mine.Definition + override def damageModel: DamageAndResistance = mine.Definition override def attribution: Int = mine.Definition.ObjectId }