mirror of
https://github.com/psforever/PSF-LoginServer.git
synced 2026-07-16 08:55:18 +00:00
short the cooldown
This commit is contained in:
parent
e724a04d1a
commit
b688b77037
2 changed files with 120 additions and 113 deletions
|
|
@ -17,55 +17,55 @@ import scala.concurrent.duration._
|
|||
|
||||
object Avatar {
|
||||
val purchaseCooldowns: Map[BasicDefinition, FiniteDuration] = Map(
|
||||
GlobalDefinitions.ams -> 5.minutes,
|
||||
GlobalDefinitions.ant -> 4.minutes,
|
||||
GlobalDefinitions.apc_nc -> 5.minutes,
|
||||
GlobalDefinitions.apc_tr -> 5.minutes,
|
||||
GlobalDefinitions.apc_vs -> 5.minutes,
|
||||
GlobalDefinitions.aphelion_flight -> 15.minutes, //Temporarily - Default is 25 minutes
|
||||
GlobalDefinitions.aphelion_gunner -> 15.minutes, //Temporarily - Default is 25 minutes
|
||||
GlobalDefinitions.aurora -> 5.minutes,
|
||||
GlobalDefinitions.battlewagon -> 5.minutes,
|
||||
GlobalDefinitions.colossus_flight -> 15.minutes, //Temporarily - Default is 25 minutes
|
||||
GlobalDefinitions.colossus_gunner -> 15.minutes, //Temporarily - Default is 25 minutes
|
||||
GlobalDefinitions.dropship -> 5.minutes,
|
||||
GlobalDefinitions.flail -> 5.minutes,
|
||||
GlobalDefinitions.fury -> 2.minutes,
|
||||
GlobalDefinitions.galaxy_gunship -> 15.minutes, //Temporary - Default is 10 minutes
|
||||
GlobalDefinitions.lodestar -> 5.minutes,
|
||||
GlobalDefinitions.liberator -> 5.minutes,
|
||||
GlobalDefinitions.lightgunship -> 5.minutes,
|
||||
GlobalDefinitions.lightning -> 5.minutes,
|
||||
GlobalDefinitions.magrider -> 5.minutes,
|
||||
GlobalDefinitions.mediumtransport -> 5.minutes,
|
||||
GlobalDefinitions.mosquito -> 5.minutes,
|
||||
GlobalDefinitions.peregrine_flight -> 15.minutes, //Temporarily - Default is 25 minutes
|
||||
GlobalDefinitions.peregrine_gunner -> 15.minutes, //Temporarily - Default is 25 minutes
|
||||
GlobalDefinitions.phantasm -> 5.minutes,
|
||||
GlobalDefinitions.prowler -> 5.minutes,
|
||||
GlobalDefinitions.quadassault -> 2.minutes,
|
||||
GlobalDefinitions.quadstealth -> 2.minutes,
|
||||
GlobalDefinitions.router -> 5.minutes,
|
||||
GlobalDefinitions.switchblade -> 5.minutes,
|
||||
GlobalDefinitions.skyguard -> 2.minutes,
|
||||
GlobalDefinitions.threemanheavybuggy -> 2.minutes,
|
||||
GlobalDefinitions.thunderer -> 5.minutes,
|
||||
GlobalDefinitions.two_man_assault_buggy -> 2.minutes,
|
||||
GlobalDefinitions.twomanhoverbuggy -> 2.minutes,
|
||||
GlobalDefinitions.twomanheavybuggy -> 2.minutes,
|
||||
GlobalDefinitions.vanguard -> 5.minutes,
|
||||
GlobalDefinitions.vulture -> 5.minutes,
|
||||
GlobalDefinitions.wasp -> 5.minutes,
|
||||
GlobalDefinitions.flamethrower -> 3.minutes,
|
||||
GlobalDefinitions.nchev_sparrow -> 5.minutes,
|
||||
GlobalDefinitions.nchev_falcon -> 5.minutes,
|
||||
GlobalDefinitions.nchev_scattercannon -> 5.minutes,
|
||||
GlobalDefinitions.vshev_comet -> 5.minutes,
|
||||
GlobalDefinitions.vshev_quasar -> 5.minutes,
|
||||
GlobalDefinitions.vshev_starfire -> 5.minutes,
|
||||
GlobalDefinitions.trhev_burster -> 5.minutes,
|
||||
GlobalDefinitions.trhev_dualcycler -> 5.minutes,
|
||||
GlobalDefinitions.trhev_pounder -> 5.minutes
|
||||
GlobalDefinitions.ams -> 0.minutes,
|
||||
GlobalDefinitions.ant -> 0.minutes,
|
||||
GlobalDefinitions.apc_nc -> 0.minutes,
|
||||
GlobalDefinitions.apc_tr -> 0.minutes,
|
||||
GlobalDefinitions.apc_vs -> 0.minutes,
|
||||
GlobalDefinitions.aphelion_flight -> 0.minutes, //Temporarily - Default is 25 minutes
|
||||
GlobalDefinitions.aphelion_gunner -> 0.minutes, //Temporarily - Default is 25 minutes
|
||||
GlobalDefinitions.aurora -> 0.minutes,
|
||||
GlobalDefinitions.battlewagon -> 0.minutes,
|
||||
GlobalDefinitions.colossus_flight -> 0.minutes, //Temporarily - Default is 25 minutes
|
||||
GlobalDefinitions.colossus_gunner -> 0.minutes, //Temporarily - Default is 25 minutes
|
||||
GlobalDefinitions.dropship -> 0.minutes,
|
||||
GlobalDefinitions.flail -> 0.minutes,
|
||||
GlobalDefinitions.fury -> 0.minutes,
|
||||
GlobalDefinitions.galaxy_gunship -> 0.minutes, //Temporary - Default is 10 minutes
|
||||
GlobalDefinitions.lodestar -> 0.minutes,
|
||||
GlobalDefinitions.liberator -> 0.minutes,
|
||||
GlobalDefinitions.lightgunship -> 0.minutes,
|
||||
GlobalDefinitions.lightning -> 0.minutes,
|
||||
GlobalDefinitions.magrider -> 0.minutes,
|
||||
GlobalDefinitions.mediumtransport -> 0.minutes,
|
||||
GlobalDefinitions.mosquito -> 0.minutes,
|
||||
GlobalDefinitions.peregrine_flight -> 0.minutes, //Temporarily - Default is 25 minutes
|
||||
GlobalDefinitions.peregrine_gunner -> 0.minutes, //Temporarily - Default is 25 minutes
|
||||
GlobalDefinitions.phantasm -> 0.minutes,
|
||||
GlobalDefinitions.prowler -> 0.minutes,
|
||||
GlobalDefinitions.quadassault -> 0.minutes,
|
||||
GlobalDefinitions.quadstealth -> 0.minutes,
|
||||
GlobalDefinitions.router -> 0.minutes,
|
||||
GlobalDefinitions.switchblade -> 0.minutes,
|
||||
GlobalDefinitions.skyguard -> 0.minutes,
|
||||
GlobalDefinitions.threemanheavybuggy -> 0.minutes,
|
||||
GlobalDefinitions.thunderer -> 0.minutes,
|
||||
GlobalDefinitions.two_man_assault_buggy -> 0.minutes,
|
||||
GlobalDefinitions.twomanhoverbuggy -> 0.minutes,
|
||||
GlobalDefinitions.twomanheavybuggy -> 0.minutes,
|
||||
GlobalDefinitions.vanguard -> 0.minutes,
|
||||
GlobalDefinitions.vulture -> 0.minutes,
|
||||
GlobalDefinitions.wasp -> 0.minutes,
|
||||
GlobalDefinitions.flamethrower -> 0.minutes,
|
||||
GlobalDefinitions.nchev_sparrow -> 0.minutes,
|
||||
GlobalDefinitions.nchev_falcon -> 0.minutes,
|
||||
GlobalDefinitions.nchev_scattercannon -> 0.minutes,
|
||||
GlobalDefinitions.vshev_comet -> 0.minutes,
|
||||
GlobalDefinitions.vshev_quasar -> 0.minutes,
|
||||
GlobalDefinitions.vshev_starfire -> 0.minutes,
|
||||
GlobalDefinitions.trhev_burster -> 0.minutes,
|
||||
GlobalDefinitions.trhev_dualcycler -> 0.minutes,
|
||||
GlobalDefinitions.trhev_pounder -> 0.minutes
|
||||
)
|
||||
|
||||
val useCooldowns: Map[BasicDefinition, FiniteDuration] = Map(
|
||||
|
|
@ -75,45 +75,52 @@ object Avatar {
|
|||
GlobalDefinitions.super_staminakit -> 5.minutes // Temporary - Default value is 20 minutes
|
||||
)
|
||||
|
||||
def apply(charId: Int, name: String, faction: PlanetSideEmpire.Value, sex: CharacterSex, head: Int, voice: CharacterVoice.Value): Avatar = {
|
||||
def apply(
|
||||
charId: Int,
|
||||
name: String,
|
||||
faction: PlanetSideEmpire.Value,
|
||||
sex: CharacterSex,
|
||||
head: Int,
|
||||
voice: CharacterVoice.Value
|
||||
): Avatar = {
|
||||
Avatar(charId, BasicCharacterData(name, faction, sex, head, voice))
|
||||
}
|
||||
|
||||
def makeLocker(): LockerContainer = {
|
||||
new LockerContainer({
|
||||
val inv = new LocallyRegisteredInventory(numbers = 40150 until 40450) // TODO var bad
|
||||
inv.Resize(30,20)
|
||||
inv.Resize(30, 20)
|
||||
inv
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
case class Cooldowns(
|
||||
/** Timestamps of when a vehicle or equipment was last purchased */
|
||||
purchase: Map[String, LocalDateTime] = Map(),
|
||||
/** Timestamps of when a vehicle or equipment was last purchased */
|
||||
use: Map[String, LocalDateTime] = Map()
|
||||
)
|
||||
/** Timestamps of when a vehicle or equipment was last purchased */
|
||||
purchase: Map[String, LocalDateTime] = Map(),
|
||||
/** Timestamps of when a vehicle or equipment was last purchased */
|
||||
use: Map[String, LocalDateTime] = Map()
|
||||
)
|
||||
|
||||
case class Loadouts(
|
||||
suit: Seq[Option[Loadout]] = Seq.fill(20)(None),
|
||||
squad: Seq[Option[SquadLoadout]] = Seq.fill(10)(None)
|
||||
)
|
||||
suit: Seq[Option[Loadout]] = Seq.fill(20)(None),
|
||||
squad: Seq[Option[SquadLoadout]] = Seq.fill(10)(None)
|
||||
)
|
||||
|
||||
case class ProgressDecoration(
|
||||
cosmetics: Option[Set[Cosmetic]] = None,
|
||||
ribbonBars: RibbonBars = RibbonBars(),
|
||||
firstTimeEvents: Set[String] =
|
||||
FirstTimeEvents.Maps ++ FirstTimeEvents.Monoliths ++
|
||||
FirstTimeEvents.Standard.All ++ FirstTimeEvents.Cavern.All ++
|
||||
FirstTimeEvents.TR.All ++ FirstTimeEvents.NC.All ++ FirstTimeEvents.VS.All ++
|
||||
FirstTimeEvents.Generic
|
||||
)
|
||||
cosmetics: Option[Set[Cosmetic]] = None,
|
||||
ribbonBars: RibbonBars = RibbonBars(),
|
||||
firstTimeEvents: Set[String] =
|
||||
FirstTimeEvents.Maps ++ FirstTimeEvents.Monoliths ++
|
||||
FirstTimeEvents.Standard.All ++ FirstTimeEvents.Cavern.All ++
|
||||
FirstTimeEvents.TR.All ++ FirstTimeEvents.NC.All ++ FirstTimeEvents.VS.All ++
|
||||
FirstTimeEvents.Generic
|
||||
)
|
||||
|
||||
case class MemberLists(
|
||||
friend: List[Friend] = List[Friend](),
|
||||
ignored: List[Ignored] = List[Ignored]()
|
||||
)
|
||||
friend: List[Friend] = List[Friend](),
|
||||
ignored: List[Ignored] = List[Ignored]()
|
||||
)
|
||||
|
||||
case class Avatar(
|
||||
/** unique identifier corresponding to a database table row index */
|
||||
|
|
|
|||
|
|
@ -21,134 +21,134 @@ case object Certification extends IntEnum[Certification] {
|
|||
|
||||
case object StandardAssault extends Certification(value = 0, name = "standard_assault", cost = 0)
|
||||
|
||||
case object MediumAssault extends Certification(value = 1, name = "medium_assault", cost = 2)
|
||||
case object MediumAssault extends Certification(value = 1, name = "medium_assault", cost = 0)
|
||||
|
||||
case object HeavyAssault
|
||||
extends Certification(value = 2, name = "heavy_assault", cost = 4, requires = Set(MediumAssault))
|
||||
extends Certification(value = 2, name = "heavy_assault", cost = 0, requires = Set(MediumAssault))
|
||||
|
||||
case object SpecialAssault
|
||||
extends Certification(value = 3, name = "special_assault", cost = 3, requires = Set(MediumAssault))
|
||||
extends Certification(value = 3, name = "special_assault", cost = 0, requires = Set(MediumAssault))
|
||||
|
||||
case object AntiVehicular
|
||||
extends Certification(value = 4, name = "anti_vehicular", cost = 3, requires = Set(MediumAssault))
|
||||
extends Certification(value = 4, name = "anti_vehicular", cost = 0, requires = Set(MediumAssault))
|
||||
|
||||
case object Sniping extends Certification(value = 5, name = "sniper", cost = 3, requires = Set(MediumAssault))
|
||||
case object Sniping extends Certification(value = 5, name = "sniper", cost = 0, requires = Set(MediumAssault))
|
||||
|
||||
case object EliteAssault
|
||||
extends Certification(value = 6, name = "special_assault_2", cost = 1, requires = Set(SpecialAssault))
|
||||
extends Certification(value = 6, name = "special_assault_2", cost = 0, requires = Set(SpecialAssault))
|
||||
|
||||
case object AirCavalryScout extends Certification(value = 7, name = "air_cavalry_scout", cost = 3)
|
||||
case object AirCavalryScout extends Certification(value = 7, name = "air_cavalry_scout", cost = 0)
|
||||
|
||||
case object AirCavalryInterceptor
|
||||
extends Certification(value = 8, name = "air_cavalry_interceptor", cost = 2, requires = Set(AirCavalryScout))
|
||||
extends Certification(value = 8, name = "air_cavalry_interceptor", cost = 0, requires = Set(AirCavalryScout))
|
||||
|
||||
case object AirCavalryAssault
|
||||
extends Certification(
|
||||
value = 9,
|
||||
name = "air_cavalry_assault",
|
||||
cost = 2,
|
||||
cost = 0,
|
||||
requires = Set(AirCavalryScout)
|
||||
)
|
||||
|
||||
case object AirSupport extends Certification(value = 10, name = "air_support", cost = 3)
|
||||
case object AirSupport extends Certification(value = 10, name = "air_support", cost = 0)
|
||||
|
||||
case object ATV extends Certification(value = 11, name = "quad_all", cost = 1)
|
||||
case object ATV extends Certification(value = 11, name = "quad_all", cost = 0)
|
||||
|
||||
case object LightScout
|
||||
extends Certification(
|
||||
value = 12,
|
||||
name = "light_scout",
|
||||
cost = 5,
|
||||
cost = 0,
|
||||
replaces = Set(AirCavalryScout, AssaultBuggy, Harasser)
|
||||
)
|
||||
|
||||
case object AssaultBuggy extends Certification(value = 13, name = "assault_buggy", cost = 3, replaces = Set(Harasser))
|
||||
case object AssaultBuggy extends Certification(value = 13, name = "assault_buggy", cost = 0, replaces = Set(Harasser))
|
||||
|
||||
case object ArmoredAssault1 extends Certification(value = 14, name = "armored_assault1", cost = 2)
|
||||
case object ArmoredAssault1 extends Certification(value = 14, name = "armored_assault1", cost = 0)
|
||||
|
||||
case object ArmoredAssault2
|
||||
extends Certification(value = 15, name = "armored_assault2", cost = 3, requires = Set(ArmoredAssault1))
|
||||
extends Certification(value = 15, name = "armored_assault2", cost = 0, requires = Set(ArmoredAssault1))
|
||||
|
||||
case object GroundTransport extends Certification(value = 16, name = "ground_transport", cost = 2)
|
||||
case object GroundTransport extends Certification(value = 16, name = "ground_transport", cost = 0)
|
||||
|
||||
case object GroundSupport extends Certification(value = 17, name = "ground_support", cost = 2)
|
||||
case object GroundSupport extends Certification(value = 17, name = "ground_support", cost = 0)
|
||||
|
||||
case object BattleFrameRobotics
|
||||
extends Certification(value = 18, name = "bfr_basic", cost = 4, requires = Set(ArmoredAssault2))
|
||||
extends Certification(value = 18, name = "bfr_basic", cost = 0, requires = Set(ArmoredAssault2))
|
||||
|
||||
case object Flail extends Certification(value = 19, name = "flail", cost = 1, requires = Set(ArmoredAssault2))
|
||||
case object Flail extends Certification(value = 19, name = "flail", cost = 0, requires = Set(ArmoredAssault2))
|
||||
|
||||
case object Switchblade extends Certification(value = 20, name = "switchblade", cost = 1, requires = Set(ATV))
|
||||
case object Switchblade extends Certification(value = 20, name = "switchblade", cost = 0, requires = Set(ATV))
|
||||
|
||||
case object Harasser extends Certification(value = 21, name = "harasser", cost = 1)
|
||||
case object Harasser extends Certification(value = 21, name = "harasser", cost = 0)
|
||||
|
||||
case object Phantasm extends Certification(value = 22, name = "phantasm", cost = 3, requires = Set(InfiltrationSuit))
|
||||
case object Phantasm extends Certification(value = 22, name = "phantasm", cost = 0, requires = Set(InfiltrationSuit))
|
||||
|
||||
case object GalaxyGunship extends Certification(value = 23, name = "gunship", cost = 2, requires = Set(AirSupport))
|
||||
case object GalaxyGunship extends Certification(value = 23, name = "gunship", cost = 0, requires = Set(AirSupport))
|
||||
|
||||
case object BFRAntiAircraft
|
||||
extends Certification(value = 24, name = "bfr_aa_gunnery", cost = 1, requires = Set(BattleFrameRobotics))
|
||||
extends Certification(value = 24, name = "bfr_aa_gunnery", cost = 0, requires = Set(BattleFrameRobotics))
|
||||
|
||||
case object BFRAntiInfantry
|
||||
extends Certification(value = 25, name = "bfr_ai_gunnery", cost = 1, requires = Set(BattleFrameRobotics))
|
||||
extends Certification(value = 25, name = "bfr_ai_gunnery", cost = 0, requires = Set(BattleFrameRobotics))
|
||||
|
||||
case object StandardExoSuit extends Certification(value = 26, name = "standard_armor", cost = 0)
|
||||
|
||||
case object AgileExoSuit extends Certification(value = 27, name = "agile_armor", cost = 0)
|
||||
|
||||
case object ReinforcedExoSuit extends Certification(value = 28, name = "reinforced_armor", cost = 3)
|
||||
case object ReinforcedExoSuit extends Certification(value = 28, name = "reinforced_armor", cost = 0)
|
||||
|
||||
case object InfiltrationSuit extends Certification(value = 29, name = "infiltration_suit", cost = 2)
|
||||
case object InfiltrationSuit extends Certification(value = 29, name = "infiltration_suit", cost = 0)
|
||||
|
||||
case object AAMAX extends Certification(value = 30, name = "max_anti_aircraft", cost = 2)
|
||||
case object AAMAX extends Certification(value = 30, name = "max_anti_aircraft", cost = 0)
|
||||
|
||||
case object AIMAX extends Certification(value = 31, name = "max_anti_personnel", cost = 3)
|
||||
case object AIMAX extends Certification(value = 31, name = "max_anti_personnel", cost = 0)
|
||||
|
||||
case object AVMAX extends Certification(value = 32, name = "max_anti_vehicular", cost = 3)
|
||||
case object AVMAX extends Certification(value = 32, name = "max_anti_vehicular", cost = 0)
|
||||
|
||||
case object UniMAX extends Certification(value = 33, name = "max_all", cost = 6, replaces = Set(AAMAX, AIMAX, AVMAX))
|
||||
case object UniMAX extends Certification(value = 33, name = "max_all", cost = 0, replaces = Set(AAMAX, AIMAX, AVMAX))
|
||||
|
||||
case object Medical extends Certification(value = 34, name = "Medical", cost = 3)
|
||||
case object Medical extends Certification(value = 34, name = "Medical", cost = 0)
|
||||
|
||||
case object AdvancedMedical
|
||||
extends Certification(value = 35, name = "advanced_medical", cost = 2, requires = Set(Medical))
|
||||
extends Certification(value = 35, name = "advanced_medical", cost = 0, requires = Set(Medical))
|
||||
|
||||
case object Hacking extends Certification(value = 36, name = "Hacking", cost = 3)
|
||||
case object Hacking extends Certification(value = 36, name = "Hacking", cost = 0)
|
||||
|
||||
case object AdvancedHacking
|
||||
extends Certification(value = 37, name = "advanced_hacking", cost = 2, requires = Set(Hacking))
|
||||
extends Certification(value = 37, name = "advanced_hacking", cost = 0, requires = Set(Hacking))
|
||||
|
||||
case object ExpertHacking
|
||||
extends Certification(value = 38, name = "expert_hacking", cost = 2, requires = Set(AdvancedHacking))
|
||||
extends Certification(value = 38, name = "expert_hacking", cost = 0, requires = Set(AdvancedHacking))
|
||||
|
||||
case object DataCorruption
|
||||
extends Certification(value = 39, name = "virus_hacking", cost = 3, requires = Set(AdvancedHacking))
|
||||
extends Certification(value = 39, name = "virus_hacking", cost = 0, requires = Set(AdvancedHacking))
|
||||
|
||||
case object ElectronicsExpert
|
||||
extends Certification(
|
||||
value = 40,
|
||||
name = "electronics_expert",
|
||||
cost = 4,
|
||||
cost = 0,
|
||||
requires = Set(AdvancedHacking),
|
||||
replaces = Set(DataCorruption, ExpertHacking)
|
||||
)
|
||||
|
||||
case object Engineering extends Certification(value = 41, name = "Repair", cost = 3)
|
||||
case object Engineering extends Certification(value = 41, name = "Repair", cost = 0)
|
||||
|
||||
case object CombatEngineering
|
||||
extends Certification(value = 42, name = "combat_engineering", cost = 2, requires = Set(Engineering))
|
||||
extends Certification(value = 42, name = "combat_engineering", cost = 0, requires = Set(Engineering))
|
||||
|
||||
case object FortificationEngineering
|
||||
extends Certification(value = 43, name = "ce_defense", cost = 3, requires = Set(CombatEngineering))
|
||||
extends Certification(value = 43, name = "ce_defense", cost = 0, requires = Set(CombatEngineering))
|
||||
|
||||
case object AssaultEngineering
|
||||
extends Certification(value = 44, name = "ce_offense", cost = 3, requires = Set(CombatEngineering))
|
||||
extends Certification(value = 44, name = "ce_offense", cost = 0, requires = Set(CombatEngineering))
|
||||
|
||||
case object AdvancedEngineering
|
||||
extends Certification(
|
||||
value = 45,
|
||||
name = "ce_advanced",
|
||||
cost = 5,
|
||||
cost = 0,
|
||||
requires = Set(CombatEngineering),
|
||||
replaces = Set(AssaultEngineering, FortificationEngineering)
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue