Merge pull request #1266 from ScrawnyRonnie/capturebase

Capturebase Tweak & Misc. Things
This commit is contained in:
ScrawnyRonnie 2025-05-21 20:06:59 -04:00 committed by GitHub
commit a0149cddcf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 134 additions and 16 deletions

View file

@ -156,3 +156,101 @@ add_property portable_order_terminal forsale_six_shooter ordertype_weapon
add_property portable_order_terminal forsale_six_shooter_ammo
add_property portable_order_terminal forsale_winchester ordertype_weapon
add_property portable_order_terminal forsale_winchester_ammo
add_property bullet_105mm purchase_empire all
add_property bullet_150mm purchase_empire all
add_property bullet_15mm purchase_empire all
add_property anniversary_gun purchase_empire all
add_property anniversary_guna purchase_empire all
add_property anniversary_gunb purchase_empire all
add_property apc_nc purchase_empire all
add_property apc_tr purchase_empire all
add_property apc_vs purchase_empire all
add_property aphelion purchase_empire all
add_property aphelion_flight purchase_empire all
add_property aphelion_gunner purchase_empire all
add_property aphelion_armor_siphon purchase_empire all
add_property aphelion_immolation_cannon purchase_empire all
add_property aphelion_immolation_cannon_ammo purchase_empire all
add_property aphelion_laser purchase_empire all
add_property aphelion_laser_ammo purchase_empire all
add_property aphelion_ntu_siphon purchase_empire all
add_property aphelion_plasma_rocket_ammo purchase_empire all
add_property aphelion_plasma_rocket_pod purchase_empire all
add_property aphelion_ppa purchase_empire all
add_property aphelion_ppa_ammo purchase_empire all
add_property aphelion_starfire purchase_empire all
add_property aphelion_starfire_ammo purchase_empire all
add_property aurora purchase_empire all
add_property battlewagon purchase_empire all
add_property beamer purchase_empire all
add_property burster_ammo purchase_empire all
add_property colossus purchase_empire all
add_property colossus_flight purchase_empire all
add_property colossus_gunner purchase_empire all
add_property colossus_100mm_cannon_ammo purchase_empire all
add_property colossus_armor_siphon purchase_empire all
add_property colossus_burster purchase_empire all
add_property colossus_burster_ammo purchase_empire all
add_property colossus_chaingun purchase_empire all
add_property colossus_chaingun_ammo purchase_empire all
add_property colossus_cluster_bomb_ammo purchase_empire all
add_property colossus_cluster_bomb_pod purchase_empire all
add_property colossus_dual_100mm_cannons purchase_empire all
add_property colossus_ntu_siphon purchase_empire all
add_property colossus_tank_cannon purchase_empire all
add_property colossus_tank_cannon_ammo purchase_empire all
add_property comet_ammo purchase_empire all
add_property cycler purchase_empire all
add_property cycler_v2 purchase_empire all
add_property cycler_v3 purchase_empire all
add_property cycler_v4 purchase_empire all
add_property dualcycler_ammo purchase_empire all
add_property energy_cell purchase_empire all
add_property falcon_ammo purchase_empire all
add_property firebird_missile purchase_empire all
add_property flux_cannon_thresher_battery purchase_empire all
add_property fluxpod_ammo purchase_empire all
add_property gauss purchase_empire all
add_property gauss_cannon_ammo purchase_empire all
add_property heavy_rail_beam_battery purchase_empire all
add_property hunter_seeker_missile purchase_empire all
add_property hunterseeker purchase_empire all
add_property isp purchase_empire all
add_property lancer purchase_empire all
add_property lancer_cartridge purchase_empire all
add_property lasher purchase_empire all
add_property magrider purchase_empire all
add_property mini_chaingun purchase_empire all
add_property peregrine purchase_empire all
add_property peregrine_flight purchase_empire all
add_property peregrine_gunner purchase_empire all
add_property peregrine_armor_siphon purchase_empire all
add_property peregrine_dual_machine_gun purchase_empire all
add_property peregrine_dual_machine_gun_ammo purchase_empire all
add_property peregrine_dual_rocket_pods purchase_empire all
add_property peregrine_mechhammer purchase_empire all
add_property peregrine_mechhammer_ammo purchase_empire all
add_property peregrine_ntu_siphon purchase_empire all
add_property peregrine_particle_cannon purchase_empire all
add_property peregrine_particle_cannon_ammo purchase_empire all
add_property peregrine_rocket_pod_ammo purchase_empire all
add_property peregrine_sparrow purchase_empire all
add_property peregrine_sparrow_ammo purchase_empire all
add_property phoenix_missile purchase_empire all
add_property pounder_ammo purchase_empire all
add_property prowler purchase_empire all
add_property pulsar purchase_empire all
add_property pulse_battery purchase_empire all
add_property quasar_ammo purchase_empire all
add_property r_shotgun purchase_empire all
add_property repeater purchase_empire all
add_property scattercannon_ammo purchase_empire all
add_property sparrow_ammo purchase_empire all
add_property starfire_ammo purchase_empire all
add_property striker purchase_empire all
add_property striker_missile_ammo purchase_empire all
add_property threemanheavybuggy purchase_empire all
add_property thunderer purchase_empire all
add_property twomanheavybuggy purchase_empire all
add_property twomanhoverbuggy purchase_empire all
add_property vanguard purchase_empire all

View file

@ -28,21 +28,21 @@ class SquadHandlerLogic(val ops: SessionSquadHandlers, implicit val context: Act
/* packet */
def handleSquadDefinitionAction(pkt: SquadDefinitionActionMessage): Unit = {
if (!player.spectator) {
val SquadDefinitionActionMessage(u1, u2, action) = pkt
squadService ! SquadServiceMessage(player, continent, SquadServiceAction.Definition(u1, u2, action))
}
/*if (!player.spectator) {
val SquadDefinitionActionMessage(u1, u2, action) = pkt
squadService ! SquadServiceMessage(player, continent, SquadServiceAction.Definition(u1, u2, action))
}*/
}
def handleSquadMemberRequest(pkt: SquadMembershipRequest): Unit = {
if (!player.spectator) {
/* if (!player.spectator) {
val SquadMembershipRequest(request_type, char_id, unk3, player_name, unk5) = pkt
squadService ! SquadServiceMessage(
player,
continent,
SquadServiceAction.Membership(request_type, char_id, unk3, player_name, unk5)
)
}
}*/
}
def handleSquadWaypointRequest(pkt: SquadWaypointRequest): Unit = {

View file

@ -28,17 +28,17 @@ class SquadHandlerLogic(val ops: SessionSquadHandlers, implicit val context: Act
/* packet */
def handleSquadDefinitionAction(pkt: SquadDefinitionActionMessage): Unit = {
val SquadDefinitionActionMessage(u1, u2, action) = pkt
squadService ! SquadServiceMessage(player, continent, SquadServiceAction.Definition(u1, u2, action))
/*val SquadDefinitionActionMessage(u1, u2, action) = pkt
squadService ! SquadServiceMessage(player, continent, SquadServiceAction.Definition(u1, u2, action))*/
}
def handleSquadMemberRequest(pkt: SquadMembershipRequest): Unit = {
val SquadMembershipRequest(request_type, char_id, unk3, player_name, unk5) = pkt
/*val SquadMembershipRequest(request_type, char_id, unk3, player_name, unk5) = pkt
squadService ! SquadServiceMessage(
player,
continent,
SquadServiceAction.Membership(request_type, char_id, unk3, player_name, unk5)
)
)*/
}
def handleSquadWaypointRequest(pkt: SquadWaypointRequest): Unit = {

View file

@ -15,6 +15,7 @@ import net.psforever.services.local.{LocalAction, LocalServiceMessage}
import net.psforever.types.ChatMessageType.CMT_QUIT
import org.log4s.Logger
import java.util.concurrent.{Executors, TimeUnit}
import scala.annotation.unused
import scala.collection.{Seq, mutable}
import scala.concurrent.duration._
@ -59,6 +60,7 @@ class ChatOperations(
private var channels: List[ChatChannel] = List()
private var silenceTimer: Cancellable = Default.Cancellable
private[session] var transitoryCommandEntered: Option[ChatMessageType] = None
private val scheduler = Executors.newScheduledThreadPool(2)
/**
* when another player is listed as one of our ignored players,
* and that other player sends an emote,
@ -352,8 +354,25 @@ class ChatOperations(
//evaluate results
(resolvedFacilities, resolvedFaction, resolvedTimer) match {
case (Some(buildings), Some(faction), Some(_)) =>
buildings.foreach { building =>
//TODO implement timer
//schedule processing of buildings with a delay
processBuildingsWithDelay(buildings, faction, 1000) //delay of 1000ms between each building operation
true
case _ =>
false
}
}
def processBuildingsWithDelay(
buildings: Seq[Building],
faction: PlanetSideEmpire.Value,
delayMillis: Long
): Unit = {
val buildingIterator = buildings.iterator
scheduler.scheduleAtFixedRate(
() => {
if (buildingIterator.hasNext) {
val building = buildingIterator.next()
val terminal = building.CaptureTerminal.get
val zone = building.Zone
val zoneActor = zone.actor
@ -373,10 +392,11 @@ class ChatOperations(
//push for map updates again
zoneActor ! ZoneActor.ZoneMapUpdate()
}
true
case _ =>
false
}
},
0,
delayMillis,
TimeUnit.MILLISECONDS
)
}
def commandVoice(session: Session, message: ChatMsg, contents: String, toChannel: ChatChannel): Unit = {

View file

@ -343,7 +343,7 @@ class WeaponAndProjectileOperations(
case citem: ConstructionItem =>
log.info(s"${player.Name} switched ${player.Sex.possessive} ${obj.Definition.Name} to construct ${citem.AmmoType} (mode #$modeIndex)")
case _ =>
log.info(s"${player.Name} changed ${player.Sex.possessive} her ${obj.Definition.Name}'s fire mode to #$modeIndex")
log.info(s"${player.Name} changed ${player.Sex.possessive} ${obj.Definition.Name}'s fire mode to #$modeIndex")
}
sendResponse(ChangeFireModeMessage(item_guid, modeIndex))
continent.AvatarEvents ! AvatarServiceMessage(