mirror of
https://github.com/psforever/PSF-LoginServer.git
synced 2026-01-19 18:44:45 +00:00
Merge pull request #481 from Mazo/property-overrides
Zone specific property override config files
This commit is contained in:
commit
73f4c45f93
|
|
@ -75,6 +75,9 @@ class InterstellarCluster(zones : List[Zone]) extends Actor {
|
|||
}
|
||||
sender ! InterstellarCluster.PlayerList(players)
|
||||
|
||||
case InterstellarCluster.GetZoneIds() =>
|
||||
sender ! InterstellarCluster.ZoneIds(zones.map(_.Number))
|
||||
|
||||
case msg @ Zone.Lattice.RequestSpecificSpawnPoint(zone_number, _, _, _) =>
|
||||
recursiveFindWorldInCluster(zones.iterator, _.Number == zone_number) match {
|
||||
case Some(zone) =>
|
||||
|
|
@ -219,4 +222,7 @@ object InterstellarCluster {
|
|||
* @param zone_num the zone number to request building map updates for
|
||||
*/
|
||||
final case class ZoneMapUpdate(zone_num : Int)
|
||||
|
||||
final case class GetZoneIds()
|
||||
final case class ZoneIds(zoneIds : List[Int])
|
||||
}
|
||||
|
|
|
|||
|
|
@ -187,6 +187,8 @@ object ObjectClass {
|
|||
final val katana = 421
|
||||
final val lancer = 425
|
||||
final val lasher = 429
|
||||
final val lasher_projectile = 430
|
||||
final val lasher_projectile_ap = 431
|
||||
final val liberator_25mm_cannon = 433
|
||||
final val liberator_bomb_bay = 435
|
||||
final val liberator_weapon_system = 440
|
||||
|
|
@ -398,6 +400,53 @@ object ObjectClass {
|
|||
final val targeting_laser_dispenser = 851
|
||||
final val teleportpad_terminal = 853
|
||||
|
||||
// For property overrides
|
||||
final val delivererv = 239
|
||||
final val apc = 62
|
||||
final val colossus = 179
|
||||
final val peregrine = 632
|
||||
final val aphelion = 79
|
||||
final val vshev = 964
|
||||
final val trhev = 884
|
||||
final val nchev = 583
|
||||
final val med_armor = 528
|
||||
final val heavy_armor = 390
|
||||
final val bfr_terminal = 143
|
||||
final val vshev_antiaircraft = 965
|
||||
final val vshev_antipersonnel = 966
|
||||
final val vshev_antivehicular = 967
|
||||
final val trhev_antiaircraft = 885
|
||||
final val trhev_antipersonnel = 886
|
||||
final val trhev_antivehicular = 887
|
||||
final val nchev_antiaircraft = 584
|
||||
final val nchev_antipersonnel = 585
|
||||
final val nchev_antivehicular = 586
|
||||
final val standard_issue_armor = 829
|
||||
final val lite_armor = 449
|
||||
final val air_vehicle_terminal = 43
|
||||
final val generic_bfr = 353
|
||||
final val stealth_armor = 837
|
||||
final val vehicle_terminal_combined = 952
|
||||
|
||||
final val objectClassMap = scala.collection.mutable.Map[String, Int]()
|
||||
|
||||
def ByName(name : String) : Int = {
|
||||
// This whole thing is a dirty "temporary" hack so I don't have to make a huge map out of the above object vars by hand
|
||||
// Forgive me.
|
||||
if(objectClassMap.size == 0) {
|
||||
val objectClassMethods = ObjectClass.getClass.getDeclaredMethods
|
||||
objectClassMethods.foreach(x => {
|
||||
if(x.getReturnType.getName == "int" && x.getParameterTypes.isEmpty) { // ints only & Ignore functions with parameters
|
||||
val objectName = x.getName
|
||||
val value = ObjectClass.getClass.getMethod(objectName).invoke(ObjectClass)
|
||||
objectClassMap.put(objectName, value.asInstanceOf[Int])
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
objectClassMap(name.toLowerCase())
|
||||
}
|
||||
|
||||
//TODO refactor the following functions into another object later
|
||||
/**
|
||||
* Given an object class, retrieve the `Codec` used to parse and translate the constructor data for that type.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,131 @@
|
|||
package services.properties
|
||||
|
||||
|
||||
import akka.actor.{Actor, ActorRef, Stash}
|
||||
import net.psforever.objects.zones.InterstellarCluster
|
||||
import net.psforever.packet.game.{GamePropertyTarget, PropertyOverrideMessage}
|
||||
import net.psforever.packet.game.PropertyOverrideMessage.GamePropertyScope
|
||||
import net.psforever.packet.game.objectcreate.ObjectClass
|
||||
import services.ServiceManager
|
||||
import services.ServiceManager.Lookup
|
||||
|
||||
import scala.collection.mutable.ListBuffer
|
||||
|
||||
class PropertyOverrideManager extends Actor with Stash {
|
||||
private[this] val log = org.log4s.getLogger("PropertyOverrideManager")
|
||||
|
||||
private var overrides : Map[Int, Map[String, List[(String, String)]]] = Map()
|
||||
private var gamePropertyScopes : List[PropertyOverrideMessage.GamePropertyScope] = List()
|
||||
private var interstellarCluster : ActorRef = Actor.noSender
|
||||
private var zoneIds : List[Int] = List()
|
||||
|
||||
override def preStart = {
|
||||
log.info(s"Starting PropertyOverrideManager")
|
||||
ServiceManager.serviceManager ! Lookup("cluster")
|
||||
}
|
||||
|
||||
override def receive = ServiceLookup
|
||||
|
||||
def ServiceLookup : Receive = {
|
||||
case ServiceManager.LookupResult("cluster", endpoint) =>
|
||||
interstellarCluster = endpoint
|
||||
|
||||
if (interstellarCluster != ActorRef.noSender) {
|
||||
interstellarCluster ! InterstellarCluster.GetZoneIds()
|
||||
}
|
||||
|
||||
case InterstellarCluster.ZoneIds(zoneIds) =>
|
||||
this.zoneIds = zoneIds
|
||||
|
||||
unstashAll()
|
||||
LoadOverridesFromFile(zoneId = 0) // Global overrides
|
||||
for(zoneId <- zoneIds) {
|
||||
LoadOverridesFromFile(zoneId)
|
||||
}
|
||||
|
||||
ProcessGamePropertyScopes()
|
||||
|
||||
context.become(ReceiveCommand)
|
||||
|
||||
case _ => stash()
|
||||
}
|
||||
|
||||
def ReceiveCommand: Receive = {
|
||||
case PropertyOverrideManager.GetOverridesMessage => {
|
||||
sender ! gamePropertyScopes
|
||||
}
|
||||
case _ => ;
|
||||
}
|
||||
|
||||
private def LoadOverridesFromFile(zoneId : Int): Unit = {
|
||||
val zoneOverrides = LoadFile(s"game_objects${zoneId}.adb.lst")
|
||||
|
||||
if(zoneOverrides == null) {
|
||||
log.info(s"No overrides found for zone ${zoneId} using filename game_objects${zoneId}.adb.lst")
|
||||
return
|
||||
}
|
||||
|
||||
val grouped = zoneOverrides.groupBy(_._1).view.mapValues(_.map(x => (x._2, x._3)).toList).toMap
|
||||
|
||||
log.info(s"Loaded property overrides for zone $zoneId: ${grouped.toString}")
|
||||
overrides += (zoneId -> grouped)
|
||||
}
|
||||
|
||||
private def ProcessGamePropertyScopes(): Unit = {
|
||||
val scopesBuffer : ListBuffer[GamePropertyScope] = ListBuffer()
|
||||
|
||||
for(over <- overrides) {
|
||||
val zoneId = over._1
|
||||
val overrideMap = over._2
|
||||
|
||||
val gamePropertyTargets : ListBuffer[PropertyOverrideMessage.GamePropertyTarget] = ListBuffer()
|
||||
|
||||
for(propOverride <- overrideMap) {
|
||||
val objectId = ObjectClass.ByName(propOverride._1)
|
||||
val props = GamePropertyTarget(objectId,propOverride._2)
|
||||
gamePropertyTargets += props
|
||||
}
|
||||
|
||||
val scope = GamePropertyScope(zoneId, gamePropertyTargets.toList)
|
||||
|
||||
scopesBuffer += scope
|
||||
}
|
||||
|
||||
gamePropertyScopes = scopesBuffer.toList
|
||||
}
|
||||
|
||||
def LoadFile(path : String): ListBuffer[(String, String, String)] = {
|
||||
val stream = getClass.getClassLoader.getResourceAsStream(path)
|
||||
if(stream == null) {
|
||||
return null
|
||||
}
|
||||
|
||||
val content = scala.io.Source.fromInputStream(stream).getLines().filter(x => x.startsWith("add_property"))
|
||||
var data : ListBuffer[(String, String, String)] = ListBuffer()
|
||||
|
||||
for(line <- content) {
|
||||
val splitLine = line.split(" ")
|
||||
if(splitLine.length >= 3) {
|
||||
val objectName = splitLine(1)
|
||||
val property = splitLine(2)
|
||||
|
||||
var propertyValue = ""
|
||||
for(i <- 3 to splitLine.length - 1) {
|
||||
propertyValue += splitLine(i) + " "
|
||||
}
|
||||
propertyValue = propertyValue.trim
|
||||
|
||||
data += ((objectName, property, propertyValue))
|
||||
}
|
||||
}
|
||||
|
||||
stream.close()
|
||||
|
||||
data
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
object PropertyOverrideManager {
|
||||
final case class GetOverridesMessage()
|
||||
}
|
||||
98
pslogin/src/main/resources/game_objects0.adb.lst
Normal file
98
pslogin/src/main/resources/game_objects0.adb.lst
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
add_property ace allowed false
|
||||
add_property ace equiptime 500
|
||||
add_property ace holstertime 500
|
||||
add_property ace_deployable allowed false
|
||||
add_property ace_deployable equiptime 500
|
||||
add_property ace_deployable holstertime 500
|
||||
add_property advanced_ace equiptime 750
|
||||
add_property advanced_ace holstertime 750
|
||||
add_property anniversary_gun equiptime 500
|
||||
add_property anniversary_gun holstertime 500
|
||||
add_property anniversary_guna equiptime 500
|
||||
add_property anniversary_guna holstertime 500
|
||||
add_property anniversary_gunb equiptime 500
|
||||
add_property anniversary_gunb holstertime 500
|
||||
add_property aphelion_flight requirement_award0 false
|
||||
add_property applicator equiptime 500
|
||||
add_property applicator firemode0_refiretime 500
|
||||
add_property applicator firemode1_refiretime 500
|
||||
add_property applicator holstertime 500
|
||||
add_property bank equiptime 500
|
||||
add_property bank holstertime 500
|
||||
add_property beamer equiptime 500
|
||||
add_property beamer holstertime 500
|
||||
add_property boomer_trigger equiptime 500
|
||||
add_property chainblade equiptime 250
|
||||
add_property chainblade holstertime 250
|
||||
add_property colossus_flight requirement_award0 false
|
||||
add_property command_detonater allowed false
|
||||
add_property command_detonater equiptime 500
|
||||
add_property command_detonater holstertime 500
|
||||
add_property cycler equiptime 600
|
||||
add_property cycler holstertime 600
|
||||
add_property cycler_v2 equiptime 600
|
||||
add_property cycler_v2 holstertime 600
|
||||
add_property cycler_v3 equiptime 600
|
||||
add_property cycler_v3 holstertime 600
|
||||
add_property cycler_v4 equiptime 600
|
||||
add_property cycler_v4 holstertime 600
|
||||
add_property flail_targeting_laser equiptime 500
|
||||
add_property flail_targeting_laser holstertime 500
|
||||
add_property flamethrower equiptime 1000
|
||||
add_property flamethrower holstertime 1000
|
||||
add_property flechette equiptime 600
|
||||
add_property flechette holstertime 600
|
||||
add_property forceblade equiptime 250
|
||||
add_property forceblade holstertime 250
|
||||
add_property gauss equiptime 600
|
||||
add_property gauss holstertime 600
|
||||
add_property ilc9 equiptime 500
|
||||
add_property ilc9 holstertime 500
|
||||
add_property isp equiptime 500
|
||||
add_property isp holstertime 500
|
||||
add_property katana equiptime 250
|
||||
add_property katana holstertime 250
|
||||
add_property lasher equiptime 750
|
||||
add_property lasher holstertime 750
|
||||
add_property lasher_projectile lash_delay 0.00
|
||||
add_property lasher_projectile_ap lash_delay 0.00
|
||||
add_property lasher_projectile_ap lasher_projectile_ap false
|
||||
add_property lasher_projectile_ap lasher_projectile true
|
||||
add_property maelstrom equiptime 1000
|
||||
add_property maelstrom holstertime 1000
|
||||
add_property magcutter equiptime 250
|
||||
add_property magcutter holstertime 250
|
||||
add_property medicalapplicator equiptime 500
|
||||
add_property medicalapplicator holstertime 500
|
||||
add_property medicalapplicator firemode0_refiretime 500
|
||||
add_property medicalapplicator firemode1_refiretime 500
|
||||
add_property mini_chaingun equiptime 750
|
||||
add_property mini_chaingun holstertime 750
|
||||
add_property nano_dispenser equiptime 750
|
||||
add_property nano_dispenser holstertime 750
|
||||
add_property pellet_gun equiptime 600
|
||||
add_property pellet_gun holstertime 600
|
||||
add_property peregrine_flight requirement_award0 false
|
||||
add_property pulsar equiptime 600
|
||||
add_property pulsar holstertime 600
|
||||
add_property punisher equiptime 600
|
||||
add_property punisher holstertime 600
|
||||
add_property r_shotgun equiptime 750
|
||||
add_property r_shotgun holstertime 750
|
||||
add_property remote_electronics_kit equiptime 500
|
||||
add_property remote_electronics_kit holstertime 500
|
||||
add_property repeater equiptime 500
|
||||
add_property repeater holstertime 500
|
||||
add_property six_shooter equiptime 500
|
||||
add_property six_shooter holstertime 500
|
||||
add_property spiker equiptime 500
|
||||
add_property spiker holstertime 500
|
||||
add_property super_staminakit allowed true
|
||||
add_property super_staminakit medkit_reuse_delay 300
|
||||
add_property super_staminakit nodrop false
|
||||
add_property super_staminakit requirement_award0 false
|
||||
add_property suppressor equiptime 600
|
||||
add_property suppressor holstertime 600
|
||||
add_property trek equiptime 500
|
||||
add_property trek holstertime 500
|
||||
add_property vulture requirement_award0 false
|
||||
54
pslogin/src/main/resources/game_objects29.adb.lst
Normal file
54
pslogin/src/main/resources/game_objects29.adb.lst
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
add_property ams requirement_certification0 false
|
||||
add_property apc requirement_certification0 false
|
||||
add_property aphelion allowed false
|
||||
add_property aphelion_flight allowed false
|
||||
add_property aphelion_gunner allowed false
|
||||
add_property aurora requirement_certification0 false
|
||||
add_property battlewagon requirement_certification0 false
|
||||
add_property colossus allowed false
|
||||
add_property colossus_flight allowed false
|
||||
add_property colossus_gunner allowed false
|
||||
add_property delivererv requirement_certification0 false
|
||||
add_property dropship allowed false
|
||||
add_property flail requirement_certification0 false
|
||||
add_property fury requirement_certification0 false
|
||||
add_property galaxy_gunship allowed false
|
||||
add_property liberator allowed false
|
||||
add_property lightgunship allowed false
|
||||
add_property lightning requirement_certification0 false
|
||||
add_property lodestar allowed false
|
||||
add_property magrider purchase_tech_plant false
|
||||
add_property magrider requirement_certification0 false
|
||||
add_property mediumtransport requirement_certification0 false
|
||||
add_property mosquito allowed false
|
||||
add_property nano_dispenser requirement_certification0 false
|
||||
add_property nchev_antiaircraft allowed false
|
||||
add_property order_terminal forsale_nchev_antiaircraft false
|
||||
add_property order_terminal forsale_trhev_antiaircraft false
|
||||
add_property order_terminal forsale_vshev_antiaircraft false
|
||||
add_property peregrine allowed false
|
||||
add_property peregrine_flight allowed false
|
||||
add_property peregrine_gunner allowed false
|
||||
add_property phantasm allowed false
|
||||
add_property prowler purchase_tech_plant false
|
||||
add_property prowler requirement_certification0 false
|
||||
add_property quadassault requirement_certification0 false
|
||||
add_property quadstealth requirement_certification0 false
|
||||
add_property skyguard requirement_certification0 false
|
||||
add_property skyguard requirement_certification1 false
|
||||
add_property threemanheavybuggy requirement_certification0 false
|
||||
add_property threemanheavybuggy requirement_certification1 false
|
||||
add_property thunderer requirement_certification0 false
|
||||
add_property trhev_antiaircraft allowed false
|
||||
add_property two_man_assault_buggy requirement_certification0 false
|
||||
add_property two_man_assault_buggy requirement_certification1 false
|
||||
add_property two_man_assault_buggy requirement_certification2 false
|
||||
add_property twomanheavybuggy requirement_certification0 false
|
||||
add_property twomanheavybuggy requirement_certification1 false
|
||||
add_property twomanhoverbuggy requirement_certification0 false
|
||||
add_property twomanhoverbuggy requirement_certification1 false
|
||||
add_property vanguard purchase_tech_plant false
|
||||
add_property vanguard requirement_certification0 false
|
||||
add_property vshev_antiaircraft allowed false
|
||||
add_property vulture allowed false
|
||||
add_property wasp allowed false
|
||||
61
pslogin/src/main/resources/game_objects30.adb.lst
Normal file
61
pslogin/src/main/resources/game_objects30.adb.lst
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
add_property air_vehicle_terminal forsale_dropship
|
||||
add_property air_vehicle_terminal forsale_galaxy_gunship
|
||||
add_property air_vehicle_terminal forsale_lodestar
|
||||
add_property apc allowed false
|
||||
add_property apc_nc allowed false
|
||||
add_property apc_tr allowed false
|
||||
add_property apc_vs allowed false
|
||||
add_property aphelion allowed false
|
||||
add_property aphelion_flight allowed false
|
||||
add_property aurora allowed false
|
||||
add_property battlewagon allowed false
|
||||
add_property colossus_flight allowed false
|
||||
add_property colossus_gunner allowed false
|
||||
add_property dropship requirement_certification0 false
|
||||
add_property flail allowed false
|
||||
add_property fury allowed false
|
||||
add_property galaxy_gunship requirement_certification0 false
|
||||
add_property hunterseeker requirement_certification0 false
|
||||
add_property lancer requirement_certification0 false
|
||||
add_property liberator requirement_certification0 false
|
||||
add_property liberator purchase_tech_plant false
|
||||
add_property lightgunship requirement_certification0 false
|
||||
add_property lightgunship purchase_tech_plant false
|
||||
add_property lightning allowed false
|
||||
add_property lodestar requirement_certification0 false
|
||||
add_property magrider allowed false
|
||||
add_property mediumtransport allowed false
|
||||
add_property mosquito requirement_certification0 false
|
||||
add_property mosquito requirement_certification1 false
|
||||
add_property nano_dispenser requirement_certification0 false
|
||||
add_property nchev_antiaircraft allowed false
|
||||
add_property order_terminal forsale_nchev_antiaircraft false
|
||||
add_property order_terminal forsale_trhev_antiaircraft false
|
||||
add_property order_terminal forsale_vshev_antiaircraft false
|
||||
add_property peregrine_flight allowed false
|
||||
add_property peregrine_gunner allowed false
|
||||
add_property phantasm requirement_certification0 false
|
||||
add_property phoenix requirement_certification0 false
|
||||
add_property prowler allowed false
|
||||
add_property quadassault allowed false
|
||||
add_property quadstealth allowed false
|
||||
add_property skyguard allowed false
|
||||
add_property striker requirement_certification0 false
|
||||
add_property switchblade allowed false
|
||||
add_property threemanheavybuggy allowed false
|
||||
add_property thunderer allowed false
|
||||
add_property trhev_antiaircraft allowed false
|
||||
add_property two_man_assault_buggy allowed false
|
||||
add_property twomanheavybuggy allowed false
|
||||
add_property twomanhoverbuggy allowed false
|
||||
add_property vanguard allowed false
|
||||
add_property vehicle_terminal_combined forsale_dropship
|
||||
add_property vehicle_terminal_combined forsale_galaxy_gunship
|
||||
add_property vehicle_terminal_combined forsale_lodestar
|
||||
add_property vshev_antiaircraft allowed false
|
||||
add_property vulture requirement_award0 false
|
||||
add_property vulture requirement_certification0 false
|
||||
add_property vulture purchase_tech_plant false
|
||||
add_property wasp purchase_tech_plant false
|
||||
add_property wasp requirement_certification0 false
|
||||
add_property wasp requirement_certification1 false
|
||||
134
pslogin/src/main/resources/game_objects31.adb.lst
Normal file
134
pslogin/src/main/resources/game_objects31.adb.lst
Normal file
|
|
@ -0,0 +1,134 @@
|
|||
add_property ace requirement_certification0 false # combat_engineering
|
||||
add_property ace_deployable requirement_certification0 false # combat_engineering
|
||||
add_property advanced_ace firemode0_requirement_certification0 false # ce_defense
|
||||
add_property advanced_ace firemode0_requirement_certification1 false # ce_advanced
|
||||
add_property advanced_ace firemode1_requirement_certification0 false # ce_offense
|
||||
add_property advanced_ace firemode1_requirement_certification1 false # ce_advanced
|
||||
add_property advanced_ace firemode2_requirement_certification0 false # ce_offense
|
||||
add_property advanced_ace firemode2_requirement_certification1 false # ce_advanced
|
||||
add_property advanced_ace requirement_certification0 false # ce_defense
|
||||
add_property advanced_ace requirement_certification1 false # ce_offense
|
||||
add_property advanced_ace requirement_certification2 false # ce_advanced
|
||||
add_property air_vehicle_terminal forsale_dropship
|
||||
add_property air_vehicle_terminal forsale_galaxy_gunship
|
||||
add_property air_vehicle_terminal forsale_lodestar
|
||||
add_property ams requirement_certification0 false # ground_support
|
||||
add_property anniversary_gun requirement_certification0 false # medium_assault
|
||||
add_property ant requirement_certification0 false # vehicles
|
||||
add_property apc requirement_certification0 false # ground_transport
|
||||
add_property aphelion_flight requirement_award0 false # bfr_advanced
|
||||
add_property aphelion_laser requirement_certification0 false # bfr_ai_gunnery
|
||||
add_property aphelion_starfire requirement_certification0 false # bfr_aa_gunnery
|
||||
add_property applicator requirement_certification0 false # Medical
|
||||
add_property aurora requirement_certification0 false # ground_transport
|
||||
add_property bank requirement_certification0 false # Repair
|
||||
add_property beamer requirement_certification0 false # standard_assault
|
||||
add_property bfr_terminal requirement_certification0 false # bfr_basic
|
||||
add_property bolt_driver requirement_certification0 false # sniper
|
||||
add_property boomer_trigger requirement_certification0 false # combat_engineering
|
||||
add_property colossus_burster requirement_certification0 false # bfr_aa_gunnery
|
||||
add_property colossus_chaingun requirement_certification0 false # bfr_ai_gunnery
|
||||
add_property colossus_flight requirement_award0 false # bfr_advanced
|
||||
add_property cycler requirement_certification0 false # medium_assault
|
||||
add_property cycler_v2 requirement_certification0 false # medium_assault
|
||||
add_property cycler_v3 requirement_certification0 false # medium_assault
|
||||
add_property cycler_v4 requirement_certification0 false # medium_assault
|
||||
add_property delivererv requirement_certification0 false # ground_transport
|
||||
add_property dropship requirement_certification0 false # air_support
|
||||
add_property flail requirement_certification0 false # flail
|
||||
add_property flamethrower requirement_certification0 false # special_assault_2
|
||||
add_property flechette requirement_certification0 false # medium_assault
|
||||
add_property fury requirement_certification0 false # quad_all
|
||||
add_property galaxy_gunship requirement_certification0 false # gunship
|
||||
add_property gauss requirement_certification0 false # medium_assault
|
||||
add_property generic_bfr requirement_certification0 false # bfr_basic
|
||||
add_property heavy_sniper requirement_certification0 false # sniper
|
||||
add_property hunterseeker requirement_certification0 false # anti_vehicular
|
||||
add_property ilc9 requirement_certification0 false # standard_assault
|
||||
add_property isp requirement_certification0 false # standard_assault
|
||||
add_property katana requirement_award0 false # 2007_fan_faire
|
||||
add_property lancer requirement_certification0 false # anti_vehicular
|
||||
add_property lasher requirement_certification0 false # heavy_assault
|
||||
add_property liberator requirement_certification0 false # air_support
|
||||
add_property lightgunship requirement_certification0 false # air_cavalry_assault
|
||||
add_property lightning requirement_certification0 false # armored_assault1
|
||||
add_property lite_armor requirement_certification0 false # agile_armor
|
||||
add_property lodestar requirement_certification0 false # air_support
|
||||
add_property maelstrom requirement_certification0 false # heavy_assault
|
||||
add_property magrider requirement_certification0 false # armored_assault2
|
||||
add_property med_armor requirement_certification0 false # reinforced_armor
|
||||
add_property mediumtransport requirement_certification0 false # ground_transport
|
||||
add_property mini_chaingun requirement_certification0 false # heavy_assault
|
||||
add_property mosquito requirement_certification0 false # light_scout
|
||||
add_property mosquito requirement_certification1 false # air_cavalry_scout
|
||||
add_property nano_dispenser requirement_certification0 false # Repair
|
||||
add_property nchev_antiaircraft requirement_certification0 false # max_anti_aircraft
|
||||
add_property nchev_antiaircraft requirement_certification1 false # max_all
|
||||
add_property nchev_antipersonnel requirement_certification0 false # max_anti_personnel
|
||||
add_property nchev_antipersonnel requirement_certification1 false # max_all
|
||||
add_property nchev_antivehicular requirement_certification0 false # max_anti_vehicular
|
||||
add_property nchev_antivehicular requirement_certification1 false # max_all
|
||||
add_property oicw requirement_certification0 false # special_assault_2
|
||||
add_property pellet_gun requirement_certification0 false # standard_assault
|
||||
add_property peregrine_flight requirement_award0 false # bfr_advanced
|
||||
add_property peregrine_mechhammer requirement_certification0 false # bfr_ai_gunnery
|
||||
add_property peregrine_sparrow requirement_certification0 false # bfr_aa_gunnery
|
||||
add_property phantasm requirement_certification0 false # phantasm
|
||||
add_property phoenix requirement_certification0 false # anti_vehicular
|
||||
add_property prowler requirement_certification0 false # armored_assault2
|
||||
add_property pulsar requirement_certification0 false # medium_assault
|
||||
add_property punisher requirement_certification0 false # medium_assault
|
||||
add_property quadassault requirement_certification0 false # quad_all
|
||||
add_property quadstealth requirement_certification0 false # quad_all
|
||||
add_property r_shotgun requirement_certification0 false # heavy_assault
|
||||
add_property radiator requirement_certification0 false # special_assault
|
||||
add_property repeater requirement_certification0 false # standard_assault
|
||||
add_property rocklet requirement_certification0 false # special_assault
|
||||
add_property router requirement_certification0 false # ground_support
|
||||
add_property six_shooter requirement_certification0 false # standard_assault
|
||||
add_property skyguard requirement_certification0 false # assault_buggy
|
||||
add_property skyguard requirement_certification1 false # light_scout
|
||||
add_property spiker requirement_certification0 false # medium_assault
|
||||
add_property standard_issue_armor requirement_certification0 false # empire_issue
|
||||
add_property stealth_armor requirement_certification0 false # infiltration_suit
|
||||
add_property striker requirement_certification0 false # anti_vehicular
|
||||
add_property super_armorkit requirement_award0 false # xmas_spirit
|
||||
add_property super_medkit requirement_award0 false # xmas_snowman
|
||||
add_property super_staminakit requirement_award0 false # xmas_gingerman
|
||||
add_property suppressor requirement_certification0 false # standard_assault
|
||||
add_property switchblade requirement_certification0 false # switchblade
|
||||
add_property threemanheavybuggy requirement_certification0 false # assault_buggy
|
||||
add_property threemanheavybuggy requirement_certification1 false # light_scout
|
||||
add_property thumper requirement_certification0 false # special_assault
|
||||
add_property thunderer requirement_certification0 false # ground_transport
|
||||
add_property trek requirement_certification0 false # virus_hacking
|
||||
add_property trek requirement_certification1 false # electronics_expert
|
||||
add_property trhev_antiaircraft requirement_certification0 false # max_anti_aircraft
|
||||
add_property trhev_antiaircraft requirement_certification1 false # max_all
|
||||
add_property trhev_antipersonnel requirement_certification0 false # max_anti_personnel
|
||||
add_property trhev_antipersonnel requirement_certification1 false # max_all
|
||||
add_property trhev_antivehicular requirement_certification0 false # max_anti_vehicular
|
||||
add_property trhev_antivehicular requirement_certification1 false # max_all
|
||||
add_property two_man_assault_buggy requirement_certification0 false # light_scout
|
||||
add_property two_man_assault_buggy requirement_certification1 false # harasser
|
||||
add_property two_man_assault_buggy requirement_certification2 false # assault_buggy
|
||||
add_property twomanheavybuggy requirement_certification0 false # assault_buggy
|
||||
add_property twomanheavybuggy requirement_certification1 false # light_scout
|
||||
add_property twomanhoverbuggy requirement_certification0 false # assault_buggy
|
||||
add_property twomanhoverbuggy requirement_certification1 false # light_scout
|
||||
add_property twomanhoverbuggy_destroyed requirement_certification0 false # buggy_assault
|
||||
add_property vanguard requirement_certification0 false # armored_assault2
|
||||
add_property vehicle_terminal_combined forsale_dropship
|
||||
add_property vehicle_terminal_combined forsale_galaxy_gunship
|
||||
add_property vehicle_terminal_combined forsale_lodestar
|
||||
add_property vshev_antiaircraft requirement_certification0 false # max_anti_aircraft
|
||||
add_property vshev_antiaircraft requirement_certification1 false # max_all
|
||||
add_property vshev_antipersonnel requirement_certification0 false # max_anti_personnel
|
||||
add_property vshev_antipersonnel requirement_certification1 false # max_all
|
||||
add_property vshev_antivehicular requirement_certification0 false # max_anti_vehicular
|
||||
add_property vshev_antivehicular requirement_certification1 false # max_all
|
||||
add_property vulture requirement_award0 false # bomber_ace2
|
||||
add_property vulture requirement_certification0 false # air_support
|
||||
add_property wasp requirement_certification0 false # air_cavalry_interceptor
|
||||
add_property wasp requirement_certification1 false # air_cavalry_interceptor
|
||||
add_property winchester requirement_certification0 false # standard_assault
|
||||
80
pslogin/src/main/resources/game_objects32.adb.lst
Normal file
80
pslogin/src/main/resources/game_objects32.adb.lst
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
add_property ams requirement_certification0 false
|
||||
add_property anniversary_gun requirement_certification0 false
|
||||
add_property apc allowed false
|
||||
add_property apc_nc allowed false
|
||||
add_property apc_tr allowed false
|
||||
add_property apc_vs allowed false
|
||||
add_property aphelion allowed false
|
||||
add_property aphelion_flight allowed false
|
||||
add_property aphelion_gunner allowed false
|
||||
add_property aurora allowed false
|
||||
add_property battlewagon allowed false
|
||||
add_property colossus allowed false
|
||||
add_property colossus_flight allowed false
|
||||
add_property colossus_gunner allowed false
|
||||
add_property cycler requirement_certification0 false
|
||||
add_property delivererv allowed false
|
||||
add_property dropship requirement_certification0 false
|
||||
add_property flail allowed false
|
||||
add_property flechette requirement_certification0 false
|
||||
add_property fury allowed false
|
||||
add_property galaxy_gunship allowed false
|
||||
add_property gauss requirement_certification0 false
|
||||
add_property heavy_armor allowed false
|
||||
add_property hunterseeker requirement_certification0 false
|
||||
add_property lancer requirement_certification0 false
|
||||
add_property lasher requirement_certification0 false
|
||||
add_property liberator allowed false
|
||||
add_property lightgunship allowed false
|
||||
add_property lightning allowed false
|
||||
add_property lodestar allowed false
|
||||
add_property magrider allowed false
|
||||
add_property mediumtransport allowed false
|
||||
add_property mini_chaingun requirement_certification0 false
|
||||
add_property mosquito allowed false
|
||||
add_property nano_dispenser requirement_certification0 false
|
||||
add_property nchev allowed false
|
||||
add_property nchev_antiaircraft allowed false
|
||||
add_property nchev_antipersonnel allowed false
|
||||
add_property nchev_antivehicular allowed false
|
||||
add_property order_terminal forsale_nchev_antiaircraft false
|
||||
add_property order_terminal forsale_nchev_antipersonnel false
|
||||
add_property order_terminal forsale_nchev_antivehicular false
|
||||
add_property order_terminal forsale_trhev_antiaircraft false
|
||||
add_property order_terminal forsale_trhev_antipersonnel false
|
||||
add_property order_terminal forsale_trhev_antivehicular false
|
||||
add_property order_terminal forsale_vshev_antiaircraft false
|
||||
add_property order_terminal forsale_vshev_antipersonnel false
|
||||
add_property order_terminal forsale_vshev_antivehicular false
|
||||
add_property peregrine allowed false
|
||||
add_property peregrine_flight allowed false
|
||||
add_property peregrine_gunner allowed false
|
||||
add_property phantasm purchase_tech_plant false
|
||||
add_property phantasm requirement_certification0 false
|
||||
add_property phoenix requirement_certification0 false
|
||||
add_property prowler allowed false
|
||||
add_property pulsar requirement_certification0 false
|
||||
add_property punisher requirement_certification0 false
|
||||
add_property quadassault allowed false
|
||||
add_property quadstealth allowed false
|
||||
add_property r_shotgun requirement_certification0 false
|
||||
add_property router requirement_certification0 false
|
||||
add_property skyguard allowed false
|
||||
add_property striker requirement_certification0 false
|
||||
add_property switchblade allowed false
|
||||
add_property threemanheavybuggy allowed false
|
||||
add_property thunderer allowed false
|
||||
add_property trhev allowed false
|
||||
add_property trhev_antiaircraft allowed false
|
||||
add_property trhev_antipersonnel allowed false
|
||||
add_property trhev_antivehicular allowed false
|
||||
add_property two_man_assault_buggy allowed false
|
||||
add_property twomanheavybuggy allowed false
|
||||
add_property twomanhoverbuggy allowed false
|
||||
add_property vanguard allowed false
|
||||
add_property vshev allowed false
|
||||
add_property vshev_antiaircraft allowed false
|
||||
add_property vshev_antipersonnel allowed false
|
||||
add_property vshev_antivehicular allowed false
|
||||
add_property vulture allowed false
|
||||
add_property wasp allowed false
|
||||
|
|
@ -30,8 +30,8 @@ import services.teamwork.SquadService
|
|||
import scala.collection.JavaConverters._
|
||||
import scala.concurrent.Await
|
||||
import scala.concurrent.duration._
|
||||
|
||||
import kamon.Kamon
|
||||
import services.properties.PropertyOverrideManager
|
||||
|
||||
object PsLogin {
|
||||
private val logger = org.log4s.getLogger
|
||||
|
|
@ -279,6 +279,7 @@ object PsLogin {
|
|||
serviceManager ! ServiceManager.Register(Props[SquadService], "squad")
|
||||
serviceManager ! ServiceManager.Register(Props(classOf[InterstellarCluster], continentList), "cluster")
|
||||
serviceManager ! ServiceManager.Register(Props[AccountPersistenceService], "accountPersistence")
|
||||
serviceManager ! ServiceManager.Register(Props[PropertyOverrideManager], "propertyOverrideManager")
|
||||
|
||||
logger.info("Initializing loginRouter & worldRouter")
|
||||
/** Create two actors for handling the login and world server endpoints */
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ import scala.concurrent.duration._
|
|||
import scala.concurrent.ExecutionContext.Implicits.global
|
||||
import scala.util.Success
|
||||
import scodec.bits.ByteVector
|
||||
import services.properties.PropertyOverrideManager
|
||||
//project imports
|
||||
import csr.{CSRWarp, CSRZone, Traveler}
|
||||
import MDCContextAware.Implicits._
|
||||
|
|
@ -91,8 +92,9 @@ class WorldSessionActor extends Actor
|
|||
var chatService : ActorRef = ActorRef.noSender
|
||||
var galaxyService : ActorRef = ActorRef.noSender
|
||||
var squadService : ActorRef = ActorRef.noSender
|
||||
var taskResolver : ActorRef = ActorRef.noSender
|
||||
var cluster : ActorRef = ActorRef.noSender
|
||||
var taskResolver : ActorRef = Actor.noSender
|
||||
var propertyOverrideManager : ActorRef = Actor.noSender
|
||||
var cluster : ActorRef = Actor.noSender
|
||||
var continent : Zone = Zone.Nowhere
|
||||
var account : Account = null
|
||||
var player : Player = null
|
||||
|
|
@ -242,6 +244,7 @@ class WorldSessionActor extends Actor
|
|||
serviceManager ! Lookup("cluster")
|
||||
serviceManager ! Lookup("galaxy")
|
||||
serviceManager ! Lookup("squad")
|
||||
serviceManager ! Lookup("propertyOverrideManager")
|
||||
|
||||
case _ =>
|
||||
log.error("Unknown message")
|
||||
|
|
@ -286,6 +289,9 @@ class WorldSessionActor extends Actor
|
|||
case LookupResult("squad", endpoint) =>
|
||||
squadService = endpoint
|
||||
log.info("ID: " + sessionId + " Got squad service " + endpoint)
|
||||
case LookupResult("propertyOverrideManager", endpoint) =>
|
||||
propertyOverrideManager = endpoint
|
||||
log.info("ID: " + sessionId + " Got propertyOverrideManager service " + endpoint)
|
||||
|
||||
case ControlPacket(_, ctrl) =>
|
||||
handleControlPkt(ctrl)
|
||||
|
|
@ -1015,313 +1021,14 @@ class WorldSessionActor extends Actor
|
|||
StartBundlingPackets()
|
||||
//PropertyOverrideMessage
|
||||
|
||||
/*
|
||||
List Of all Changes
|
||||
Super Stamina Kits Enabled
|
||||
Super Stamina Kit Cooldown 20min -> 5min
|
||||
AP Lasher Bug Fix for Lash
|
||||
Lasher Balance Change (Lash start immediately instead of 5meters)
|
||||
Disable ACE and FDU (bug prevention)
|
||||
Equip/Holster Time Changes for Quality of Life
|
||||
Ascension, Extinction, and Nexus Battle Island Event Rulesets, Desolation is just default continent ruleset
|
||||
*/
|
||||
sendResponse(
|
||||
PropertyOverrideMessage(List(
|
||||
GamePropertyScope(0, List(
|
||||
//Event Kits - Super Stamina Kit
|
||||
GamePropertyTarget(ObjectClass.super_staminakit, "requirement_award0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.super_staminakit, "allowed" -> "true"),
|
||||
GamePropertyTarget(ObjectClass.super_staminakit, "nodrop" -> "false"),
|
||||
import akka.pattern.ask
|
||||
import akka.util.Timeout
|
||||
implicit val timeout = Timeout(1 seconds)
|
||||
val future = ask(propertyOverrideManager, PropertyOverrideManager.GetOverridesMessage).mapTo[List[PropertyOverrideMessage.GamePropertyScope]]
|
||||
val overrides = Await.result(future, 1 second)
|
||||
|
||||
//Super Stamina Kit -- Cooldown Timer (5 minutes)
|
||||
GamePropertyTarget(ObjectClass.super_staminakit, "medkit_reuse_delay" -> "300"),
|
||||
sendResponse(PropertyOverrideMessage(overrides))
|
||||
|
||||
//Fixes bug preventing AP Lasher from Lashing
|
||||
GamePropertyTarget(431, "lasher_projectile_ap" -> "false"),
|
||||
GamePropertyTarget(431, "lasher_projectile" -> "true"),
|
||||
|
||||
//Lasher Balance Change (Time until Orb starts Lashing)
|
||||
GamePropertyTarget(430, "lash_delay" -> "0.00"),
|
||||
|
||||
//Disable ACE and FDU (bug prevention)
|
||||
GamePropertyTarget(ObjectClass.ace, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.ace_deployable, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.advanced_ace, "allowed" -> "false"),
|
||||
|
||||
//Equip/Holster Time Changes (Quality of Life)
|
||||
//Heavy Items -- Equip/Holster Time Changes -- 0.75 seconds
|
||||
GamePropertyTarget(ObjectClass.r_shotgun, "equiptime" -> "750"),
|
||||
GamePropertyTarget(ObjectClass.r_shotgun, "holstertime" -> "750"),
|
||||
GamePropertyTarget(ObjectClass.mini_chaingun, "equiptime" -> "750"),
|
||||
GamePropertyTarget(ObjectClass.mini_chaingun, "holstertime" -> "750"),
|
||||
GamePropertyTarget(ObjectClass.lasher, "equiptime" -> "750"),
|
||||
GamePropertyTarget(ObjectClass.lasher, "holstertime" -> "750"),
|
||||
GamePropertyTarget(ObjectClass.flamethrower, "equiptime" -> "750"),
|
||||
GamePropertyTarget(ObjectClass.flamethrower, "holstertime" -> "750"),
|
||||
GamePropertyTarget(ObjectClass.maelstrom, "equiptime" -> "750"),
|
||||
GamePropertyTarget(ObjectClass.maelstrom, "holstertime" -> "750"),
|
||||
GamePropertyTarget(ObjectClass.advanced_ace, "equiptime" -> "750"),
|
||||
GamePropertyTarget(ObjectClass.advanced_ace, "holstertime" -> "750"),
|
||||
|
||||
//Medium Items -- Equip/Holster Time Changes -- 0.6 seconds
|
||||
GamePropertyTarget(ObjectClass.suppressor, "equiptime" -> "600"),
|
||||
GamePropertyTarget(ObjectClass.suppressor, "holstertime" -> "600"),
|
||||
GamePropertyTarget(ObjectClass.punisher, "equiptime" -> "600"),
|
||||
GamePropertyTarget(ObjectClass.punisher, "holstertime" -> "600"),
|
||||
GamePropertyTarget(ObjectClass.gauss, "equiptime" -> "600"),
|
||||
GamePropertyTarget(ObjectClass.gauss, "holstertime" -> "600"),
|
||||
GamePropertyTarget(ObjectClass.cycler, "equiptime" -> "600"),
|
||||
GamePropertyTarget(ObjectClass.cycler, "holstertime" -> "600"),
|
||||
GamePropertyTarget(ObjectClass.cycler_v2, "equiptime" -> "600"),
|
||||
GamePropertyTarget(ObjectClass.cycler_v2, "holstertime" -> "600"),
|
||||
GamePropertyTarget(ObjectClass.cycler_v3, "equiptime" -> "600"),
|
||||
GamePropertyTarget(ObjectClass.cycler_v3, "holstertime" -> "600"),
|
||||
GamePropertyTarget(ObjectClass.cycler_v4, "equiptime" -> "600"),
|
||||
GamePropertyTarget(ObjectClass.cycler_v4, "holstertime" -> "600"),
|
||||
GamePropertyTarget(ObjectClass.pulsar, "equiptime" -> "600"),
|
||||
GamePropertyTarget(ObjectClass.pulsar, "holstertime" -> "600"),
|
||||
GamePropertyTarget(ObjectClass.radiator, "equiptime" -> "600"),
|
||||
GamePropertyTarget(ObjectClass.radiator, "holstertime" -> "600"),
|
||||
GamePropertyTarget(ObjectClass.nano_dispenser, "equiptime" -> "600"),
|
||||
GamePropertyTarget(ObjectClass.nano_dispenser, "holstertime" -> "600"),
|
||||
GamePropertyTarget(ObjectClass.flechette, "equiptime" -> "600"),
|
||||
GamePropertyTarget(ObjectClass.flechette, "holstertime" -> "600"),
|
||||
GamePropertyTarget(ObjectClass.oicw, "equiptime" -> "750"),
|
||||
GamePropertyTarget(ObjectClass.oicw, "holstertime" -> "750"),
|
||||
GamePropertyTarget(ObjectClass.pellet_gun, "equiptime" -> "750"),
|
||||
GamePropertyTarget(ObjectClass.pellet_gun, "holstertime" -> "750"),
|
||||
|
||||
//Small Items -- Equip/Holster Time Changes -- 0.5s
|
||||
GamePropertyTarget(ObjectClass.medicalapplicator, "equiptime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.medicalapplicator, "holstertime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.bank, "equiptime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.bank, "holstertime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.trek, "equiptime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.trek, "holstertime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.spiker, "equiptime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.spiker, "holstertime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.isp, "equiptime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.isp, "holstertime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.ilc9, "equiptime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.ilc9, "holstertime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.six_shooter, "equiptime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.six_shooter, "holstertime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.beamer, "equiptime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.beamer, "holstertime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.repeater, "equiptime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.repeater, "holstertime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.remote_electronics_kit, "equiptime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.remote_electronics_kit, "holstertime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.flail_targeting_laser, "equiptime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.flail_targeting_laser, "holstertime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.anniversary_gun, "equiptime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.anniversary_gun, "holstertime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.anniversary_guna, "equiptime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.anniversary_guna, "holstertime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.anniversary_gunb, "equiptime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.anniversary_gunb, "holstertime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.ace, "equiptime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.ace, "holstertime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.ace_deployable, "equiptime" -> "500"),
|
||||
GamePropertyTarget(ObjectClass.ace_deployable, "holstertime" -> "500"),
|
||||
|
||||
//Knives -- Equip/Holster Time Changes -- 0.25 seconds
|
||||
GamePropertyTarget(ObjectClass.katana, "equiptime" -> "250"),
|
||||
GamePropertyTarget(ObjectClass.katana, "holstertime" -> "250"),
|
||||
GamePropertyTarget(ObjectClass.forceblade, "equiptime" -> "250"),
|
||||
GamePropertyTarget(ObjectClass.forceblade, "holstertime" -> "250"),
|
||||
GamePropertyTarget(ObjectClass.magcutter, "equiptime" -> "250"),
|
||||
GamePropertyTarget(ObjectClass.magcutter, "holstertime" -> "250"),
|
||||
GamePropertyTarget(ObjectClass.chainblade, "equiptime" -> "250"),
|
||||
GamePropertyTarget(ObjectClass.chainblade, "holstertime" -> "250")
|
||||
)),
|
||||
|
||||
GamePropertyScope(29, List(
|
||||
//Extinction (i1) - ground based bridge brawls! - Battle Island Event
|
||||
|
||||
//Free Certification Grants
|
||||
GamePropertyTarget(ObjectClass.nano_dispenser, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.ams, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.quadstealth, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.quadassault, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.fury, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.two_man_assault_buggy, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.skyguard, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.twomanhoverbuggy, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.threemanheavybuggy, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.twomanheavybuggy, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.lightning, "requirement_certification0" -> "false"),
|
||||
|
||||
//No Air Vehicles
|
||||
GamePropertyTarget(ObjectClass.dropship, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.galaxy_gunship, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.liberator, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.lightgunship, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.lodestar, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.mosquito, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.phantasm, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.vulture, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.wasp, "allowed" -> "false"),
|
||||
|
||||
//No Tanks, no BFRs, no Flails, no Deliverer Variants
|
||||
GamePropertyTarget(ObjectClass.mediumtransport, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.aurora, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.battlewagon, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.flail, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.magrider, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.prowler, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.thunderer, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.vanguard, "allowed" -> "false"),
|
||||
|
||||
//A Tank, but commented out for population purposes
|
||||
// GamePropertyTarget(ObjectClass.lightning, "allowed" -> "false"),
|
||||
|
||||
//No BFRs
|
||||
GamePropertyTarget(ObjectClass.aphelion_flight, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.aphelion_gunner, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.colossus_flight, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.colossus_gunner, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.peregrine_flight, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.peregrine_gunner, "allowed" -> "false")
|
||||
)),
|
||||
GamePropertyScope(30, List(
|
||||
//Ascension (i2) - battle for air supremacy! - Battle Island Event
|
||||
//No Skyguards, no Deliverer Variants, no AA MAX, no BFRs, no Tanks, no Flails Zone specific change – Everyone has access to Empire AV weapons and can pilot air vehicles
|
||||
|
||||
//Allow Galaxy Gunship and Lodestar at Vehicle Terminals on Ascension
|
||||
GamePropertyTarget(952, "forsale_galaxy_gunship" -> "true"),
|
||||
GamePropertyTarget(43, "forsale_galaxy_gunship" -> "true"),
|
||||
GamePropertyTarget(952, "forsale_lodestar" -> "true"),
|
||||
GamePropertyTarget(43, "forsale_lodestar" -> "true"),
|
||||
|
||||
//Allow Tech Benefit required Aircraft Vehicles at non Tech Benefited Bases
|
||||
GamePropertyTarget(ObjectClass.liberator, "purchase_tech_plant" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.lightgunship, "purchase_tech_plant" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.vulture, "purchase_tech_plant" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.wasp, "purchase_tech_plant" -> "false"),
|
||||
|
||||
//Cert Grants
|
||||
GamePropertyTarget(ObjectClass.dropship, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.galaxy_gunship, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.liberator, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.lightgunship, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.lodestar, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.mosquito, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.phantasm, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.vulture, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.wasp, "requirement_certification0" -> "false"),
|
||||
|
||||
GamePropertyTarget(ObjectClass.striker, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.lancer, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.phoenix, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.hunterseeker, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.nano_dispenser, "requirement_certification0" -> "false"),
|
||||
|
||||
//No AA MAXes
|
||||
GamePropertyTarget(ObjectClass.order_terminal, "forsale_nchev_antiaircraft" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.order_terminal, "forsale_vshev_antiaircraft" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.order_terminal, "forsale_trhev_antiaircraft" -> "false"),
|
||||
|
||||
//Custom Setup: Only AMS, Router and ANT can be purchased at the Ground Vehicle Terminals. Take to the skies!
|
||||
GamePropertyTarget(ObjectClass.apc_nc, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.apc_tr, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.apc_vs, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.aurora, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.battlewagon, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.flail, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.fury, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.lightning, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.magrider, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.mediumtransport, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.prowler, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.quadassault, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.quadstealth, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.skyguard, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.switchblade, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.threemanheavybuggy, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.thunderer, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.two_man_assault_buggy, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.twomanheavybuggy, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.twomanhoverbuggy, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.vanguard, "allowed" -> "false"),
|
||||
|
||||
//No BFRs
|
||||
GamePropertyTarget(ObjectClass.aphelion_flight, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.aphelion_gunner, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.colossus_flight, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.colossus_gunner, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.peregrine_flight, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.peregrine_gunner, "allowed" -> "false")
|
||||
)),
|
||||
|
||||
GamePropertyScope(32, List(
|
||||
//Nexus (i4) - t3h footzerg! - Battle Island Event
|
||||
|
||||
//Free Vehicle Certification Grants
|
||||
GamePropertyTarget(ObjectClass.dropship, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.phantasm, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.router, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.ams, "requirement_certification0" -> "false"),
|
||||
|
||||
//Free Weapon Certification Grants
|
||||
GamePropertyTarget(ObjectClass.anniversary_gun, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.flechette, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.punisher, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.cycler, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.gauss, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.pulsar, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.mini_chaingun, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.r_shotgun, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.lasher, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.striker, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.lancer, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.phoenix, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.hunterseeker, "requirement_certification0" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.nano_dispenser, "requirement_certification0" -> "false"),
|
||||
|
||||
//Only Galaxies and Phantasms can be purchased at the Dropship Terminal
|
||||
GamePropertyTarget(ObjectClass.galaxy_gunship, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.liberator, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.lightgunship, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.lodestar, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.mosquito, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.vulture, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.wasp, "allowed" -> "false"),
|
||||
|
||||
//Only Routers and ANTs can be purchased at the Ground Vehicle Terminal (also allowing the AMS for now)
|
||||
//GamePropertyTarget(ObjectClass.ams, "allowed" -> "false"), //normally disabled
|
||||
GamePropertyTarget(ObjectClass.apc_nc, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.apc_tr, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.apc_vs, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.aurora, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.battlewagon, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.flail, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.fury, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.lightning, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.magrider, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.mediumtransport, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.prowler, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.quadassault, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.quadstealth, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.skyguard, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.switchblade, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.threemanheavybuggy, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.thunderer, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.two_man_assault_buggy, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.twomanheavybuggy, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.twomanhoverbuggy, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.vanguard, "allowed" -> "false"),
|
||||
|
||||
//No BFRs
|
||||
GamePropertyTarget(ObjectClass.aphelion_flight, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.aphelion_gunner, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.colossus_flight, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.colossus_gunner, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.peregrine_flight, "allowed" -> "false"),
|
||||
GamePropertyTarget(ObjectClass.peregrine_gunner, "allowed" -> "false")
|
||||
))
|
||||
))
|
||||
)
|
||||
sendResponse(PlanetsideAttributeMessage(PlanetSideGUID(0), 112, 0)) // disable festive backpacks
|
||||
sendResponse(ReplicationStreamMessage(5, Some(6), Vector.empty)) //clear squad list
|
||||
sendResponse(FriendsResponse(FriendAction.InitializeFriendList, 0, true, true, Nil))
|
||||
|
|
|
|||
Loading…
Reference in a new issue