diff --git a/src/main/scala/net/psforever/actors/session/support/SessionAvatarHandlers.scala b/src/main/scala/net/psforever/actors/session/support/SessionAvatarHandlers.scala index 1fa6bf7c..a85c2dcf 100644 --- a/src/main/scala/net/psforever/actors/session/support/SessionAvatarHandlers.scala +++ b/src/main/scala/net/psforever/actors/session/support/SessionAvatarHandlers.scala @@ -119,7 +119,7 @@ class SessionAvatarHandlers( Some(modifiedExp) }*/ //if not in squad (temporary) - exp.ToDatabase.reportFacilityCapture(charId, buildingId, zoneNumber, cep, expType="bep") + exp.ToDatabase.reportFacilityCapture(charId, zoneNumber, buildingId, cep, expType="bep") avatarActor ! AvatarActor.AwardFacilityCaptureBep(cep) } diff --git a/src/main/scala/net/psforever/objects/serverobject/structures/participation/MajorFacilityHackParticipation.scala b/src/main/scala/net/psforever/objects/serverobject/structures/participation/MajorFacilityHackParticipation.scala index 634ad019..230aa222 100644 --- a/src/main/scala/net/psforever/objects/serverobject/structures/participation/MajorFacilityHackParticipation.scala +++ b/src/main/scala/net/psforever/objects/serverobject/structures/participation/MajorFacilityHackParticipation.scala @@ -251,11 +251,14 @@ final case class MajorFacilityHackParticipation(building: Building) extends Faci overallTimeMultiplier * Config.app.game.experience.cep.rate + competitionBonus ).toLong - //8. reward participants - //Classically, only players in the SOI are rewarded, and the llu runner too + //8. reward participants that are still in the zone val hackerId = hacker.CharId + val contributingPlayers = contributionVictor + .filter { case (player, _, _) => player.Zone.id == building.Zone.id } + .map { case (player, _, _) => player } + .toList //terminal hacker (always cep) - if (playersInSoi.exists(_.CharId == hackerId) && flagCarrier.map(_.CharId).getOrElse(0L) != hackerId) { + if (contributingPlayers.exists(_.CharId == hackerId) && flagCarrier.map(_.CharId).getOrElse(0L) != hackerId) { ToDatabase.reportFacilityCapture( hackerId, zoneNumber, @@ -266,7 +269,7 @@ final case class MajorFacilityHackParticipation(building: Building) extends Faci events ! AvatarServiceMessage(hacker.Name, AvatarAction.AwardCep(hackerId, finalCep)) } //bystanders (cep if squad leader, bep otherwise) - playersInSoi + contributingPlayers .filterNot { _.CharId == hackerId } .foreach { player => val charId = player.CharId