* Added more Derelict Borgs.
* minor fix & salvage borg instead of mining borg name.
* I LOVE CAPITALIZATION!
* Fixed Derelict Engineer Cyborg name and added unshaded crystal layer.
* Ordering fixes & other cleanup.
* Updated Derelict Salvage Cyborg Sprites.
* New Salvage borg sprites.
* Updated module comments.
* Update events.yml
Extended the Derelict Syndicate Assault Borg's spawn timer to 25 minutes from 15.
* Fix for new borg hands
* Update events.yml
---------
Co-authored-by: RedBookcase <Usualmoves@gmail.com>
ghost-role-information-syndicate-cyborg-saboteur-name = Syndicate Saboteur Cyborg
ghost-role-information-syndicate-cyborg-description = The Syndicate needs reinforcements. You, a cold silicon killing machine, will help them.
-ghost-role-information-derelict-cyborg-name = Derelict Cyborg
+ghost-role-information-derelict-engineering-cyborg-name = Derelict Engineer Cyborg
+ghost-role-information-derelict-engineering-cyborg-description = You are an engineer cyborg that got lost in space. After years of exposure to ion storms you find yourself near a space station.
+
+ghost-role-information-derelict-cyborg-name = Derelict Generic Cyborg
ghost-role-information-derelict-cyborg-description = You are a regular cyborg that got lost in space. After years of exposure to ion storms you find yourself near a space station.
+ghost-role-information-derelict-janitor-cyborg-name = Derelict Janitor Cyborg
+ghost-role-information-derelict-janitor-cyborg-description = You are a janitor cyborg that got lost in space. After years of exposure to ion storms you find yourself near a space station.
+
+ghost-role-information-derelict-medical-cyborg-name = Derelict Medical Cyborg
+ghost-role-information-derelict-medical-cyborg-description = You are a medical cyborg that got lost in space. After years of exposure to ion storms you find yourself near a space station.
+
+ghost-role-information-derelict-mining-cyborg-name = Derelict Salvage Cyborg
+ghost-role-information-derelict-mining-cyborg-description = You are a salvage cyborg that got lost in space. After years of exposure to ion storms you find yourself near a space station.
+
+ghost-role-information-derelict-syndicate-assault-cyborg-name = Derelict Syndicate Assault Cyborg
+ghost-role-information-derelict-syndicate-assault-cyborg-description = You are an early model syndicate assault cyborg that got lost in space. After years of exposure to ion storms you find yourself near a space station.
+
ghost-role-information-security-name = Security
ghost-role-information-security-description = You are part of a security task force, but seem to have found yourself in a strange situation...
- sprite: Mobs/Aliens/paradox_clone.rsi
state: preview
+- type: entity
+ categories: [ HideSpawnMenu, Spawner ]
+ parent: SpawnPointGhostDerelictCyborg
+ id: SpawnPointGhostDerelictEngineeringCyborg
+ components:
+ - type: GhostRole
+ name: ghost-role-information-derelict-engineering-cyborg-name
+ description: ghost-role-information-derelict-engineering-cyborg-description
+ rules: ghost-role-information-silicon-rules
+ raffle:
+ settings: default
+
- type: entity
categories: [ HideSpawnMenu, Spawner ]
parent: BaseAntagSpawner
- sprite: Mobs/Silicon/chassis.rsi
state: derelict_icon
+- type: entity
+ categories: [ HideSpawnMenu, Spawner ]
+ parent: SpawnPointGhostDerelictCyborg
+ id: SpawnPointGhostDerelictJanitorCyborg
+ components:
+ - type: GhostRole
+ name: ghost-role-information-derelict-janitor-cyborg-name
+ description: ghost-role-information-derelict-janitor-cyborg-description
+ rules: ghost-role-information-silicon-rules
+ raffle:
+ settings: default
+
+- type: entity
+ categories: [ HideSpawnMenu, Spawner ]
+ parent: SpawnPointGhostDerelictCyborg
+ id: SpawnPointGhostDerelictMedicalCyborg
+ components:
+ - type: GhostRole
+ name: ghost-role-information-derelict-medical-cyborg-name
+ description: ghost-role-information-derelict-medical-cyborg-description
+ rules: ghost-role-information-silicon-rules
+ raffle:
+ settings: default
+
+- type: entity
+ categories: [ HideSpawnMenu, Spawner ]
+ parent: SpawnPointGhostDerelictCyborg
+ id: SpawnPointGhostDerelictMiningCyborg
+ components:
+ - type: GhostRole
+ name: ghost-role-information-derelict-mining-cyborg-name
+ description: ghost-role-information-derelict-mining-cyborg-description
+ rules: ghost-role-information-silicon-rules
+ raffle:
+ settings: default
+
+- type: entity
+ categories: [ HideSpawnMenu, Spawner ]
+ parent: SpawnPointGhostDerelictCyborg
+ id: SpawnPointGhostDerelictSyndicateAssaultCyborg
+ components:
+ - type: GhostRole
+ name: ghost-role-information-derelict-syndicate-assault-cyborg-name
+ description: ghost-role-information-derelict-syndicate-assault-cyborg-description
+ rules: ghost-role-information-silicon-rules
+ raffle:
+ settings: default
+
- type: entity
categories: [ HideSpawnMenu, Spawner ]
parent: BaseAntagSpawner
- Syndicate
- type: ActiveRadio
channels:
+ - Binary
- Syndicate
- type: ShowSyndicateIcons
- type: MovementAlwaysTouching
chance: 1
- type: ShowJobIcons
+- type: entity
+ id: BaseBorgChassisSyndicateDerelict #For assault borg and maybe others in time
+ parent: BaseBorgChassisSyndicate
+ abstract: true
+ components:
+ - type: SiliconLawProvider
+ laws: SyndicateStatic #Non-subverted version so they can still be changed
+ - type: StartIonStormed
+ ionStormAmount: 3
+ - type: IonStormTarget
+ chance: 1
+ - type: ShowJobIcons
+
- type: entity
parent: BaseBorgChassisNotIonStormable
id: BaseXenoborgChassis
map: ["light"]
visible: false
- type: BorgChassis
- maxModules: 5 # the sixth one broke lol
+ maxModules: 5 # One less module slot than the regular module to reflect this being a "broken" cyborg.
moduleWhitelist:
tags:
- BorgModuleGeneric
interactSuccessString: petting-success-derelict-cyborg
interactFailureString: petting-failure-derelict-cyborg
interactSuccessSound:
- path: /Audio/Ambience/Objects/periodic_beep.ogg
\ No newline at end of file
+ path: /Audio/Ambience/Objects/periodic_beep.ogg
+
+- type: entity
+ parent: BaseBorgChassisDerelict
+ id: EngineeringBorgChassisDerelict
+ name: derelict engineer cyborg
+ description: A man-machine hybrid that assists the engineering department. This one seems to have chunks of strange crystals pockmarking its surface.
+ components:
+ - type: Sprite
+ layers:
+ - state: engineer_derelict
+ - state: engineer_e_r
+ map: ["enum.BorgVisualLayers.Light"]
+ shader: unshaded
+ visible: false
+ - state: engineer_derelict_crystal #This layer and the layer below are duplicated in order to create a more mellow unshaded layer. See https://github.com/space-wizards/space-station-14/pull/37869 for more info on the method.
+ shader: unshaded
+ - state: engineer_derelict_crystal
+ shader: shaded
+ - state: engineer_l
+ shader: unshaded
+ map: ["light"]
+ visible: false
+ - type: BorgChassis
+ maxModules: 5 # One less module slot than the regular module to reflect this being a "broken" cyborg.
+ moduleWhitelist:
+ tags:
+ - BorgModuleGeneric
+ - BorgModuleEngineering
+ hasMindState: engineer_e
+ noMindState: engineer_e_r
+
+- type: entity
+ parent: BaseBorgChassisDerelict
+ id: JanitorBorgChassisDerelict
+ name: derelict janitor cyborg
+ description: A man-machine hybrid that assists the service department. It's a bigger mess than anything it can clean up.
+ components:
+ - type: Sprite
+ layers:
+ - state: janitor_derelict
+ map: ["movement"]
+ - state: janitor_e_r
+ map: ["enum.BorgVisualLayers.Light"]
+ shader: unshaded
+ visible: false
+ - state: janitor_l
+ shader: unshaded
+ map: ["light"]
+ visible: false
+ - type: SpriteMovement
+ movementLayers:
+ movement:
+ state: janitor_moving_derelict
+ noMovementLayers:
+ movement:
+ state: janitor_derelict
+ - type: BorgChassis
+ maxModules: 5 # One less module slot than the regular module to reflect this being a "broken" cyborg.
+ moduleWhitelist:
+ tags:
+ - BorgModuleGeneric
+ - BorgModuleJanitor
+ hasMindState: janitor_e
+ noMindState: janitor_e_r
+
+- type: entity
+ parent: BaseBorgChassisDerelict
+ id: MedicalBorgChassisDerelict
+ name: derelict medical cyborg
+ description: A man-machine hybrid that assists the medical department. This one's needles don't look very sanitary.
+ components:
+ - type: Sprite
+ layers:
+ - state: medical_derelict
+ map: ["movement"]
+ - state: medical_e_r
+ map: ["enum.BorgVisualLayers.Light"]
+ shader: unshaded
+ visible: false
+ - state: medical_l
+ shader: unshaded
+ map: ["light"]
+ visible: false
+ - type: SpriteMovement
+ movementLayers:
+ movement:
+ state: medical_moving_derelict
+ noMovementLayers:
+ movement:
+ state: medical_derelict
+ - type: BorgChassis
+ maxModules: 6 # One less module slot than the regular module to reflect this being a "broken" cyborg.
+ moduleWhitelist:
+ tags:
+ - BorgModuleGeneric
+ - BorgModuleMedical
+ hasMindState: medical_e
+ noMindState: medical_e_r
+
+- type: entity
+ parent: BaseBorgChassisDerelict
+ id: MiningBorgChassisDerelict
+ name: derelict salvage cyborg
+ description: A man-machine hybrid that assists the cargo department. This one has seen the wrong side of a gibtonite chunk.
+ components:
+ - type: Sprite
+ layers:
+ - state: miner_derelict
+ map: ["movement"]
+ - state: miner_e_r
+ map: ["enum.BorgVisualLayers.Light"]
+ shader: unshaded
+ visible: false
+ - state: miner_l
+ shader: unshaded
+ map: ["light"]
+ visible: false
+ - type: SpriteMovement
+ movementLayers:
+ movement:
+ state: miner_moving_derelict
+ noMovementLayers:
+ movement:
+ state: miner_derelict
+ - type: BorgChassis
+ maxModules: 6 # One less module slot than the regular module to reflect this being a "broken" cyborg.
+ moduleWhitelist:
+ tags:
+ - BorgModuleGeneric
+ - BorgModuleCargo
+ hasMindState: miner_e
+ noMindState: miner_e_r
+
+- type: entity
+ parent: BaseBorgChassisSyndicateDerelict
+ id: SyndicateAssaultBorgChassisDerelict
+ name: derelict syndicate assault cyborg
+ description: A lean, mean killing machine with access to a variety of deadly modules. This one is more rust-orange than blood-red.
+ components:
+ - type: Sprite
+ layers:
+ - state: synd_sec_derelict
+ - state: synd_sec_e
+ map: ["enum.BorgVisualLayers.Light"]
+ shader: unshaded
+ visible: false
+ - state: synd_sec_l
+ shader: unshaded
+ map: ["light"]
+ visible: false
+ - type: BorgChassis
+ maxModules: 3
+ moduleWhitelist: # Note - the Derelict Assault Borg does not have a traversal module. This is intentional as Assault Borgs have space traversal with their c20 and free space movement, and they can navigate to the station using the pinpointer.
+ tags:
+ - BorgModuleGeneric
+ - BorgModuleSyndicate
+ - BorgModuleSyndicateAssault
+ hasMindState: synd_sec_derelict_e
+ noMindState: synd_sec_derelict
+ - type: Construction
+ node: derelictcyborg
borg_module:
- BorgModuleOperative
- BorgModuleL6C
- - BorgModuleEsword
+ - BorgModuleDoubleEsword
- type: ItemSlots
slots:
cell_slot:
- PlayerBorgSyndicateSaboteurGhostRole
- type: entity
- id: PlayerBorgDerelict
+ parent: EngineeringBorgChassisDerelict
+ id: PlayerEngineeringBorgDerelict
+ suffix: Battery, Module
+ components:
+ - type: ContainerFill
+ containers:
+ borg_brain:
+ - PositronicBrain
+ borg_module:
+ - BorgModuleTool
+ - BorgModuleFireExtinguisher
+ - BorgModuleConstruction
+ - BorgModuleRCD
+ - BorgModuleCable
+ - type: ItemSlots
+ slots:
+ cell_slot:
+ name: power-cell-slot-component-slot-name-default
+ startingItem: PowerCellHigh
+ - type: RandomMetadata
+ nameSegments: [NamesBorg]
+
+- type: entity
+ parent: PlayerEngineeringBorgDerelict
+ id: PlayerEngineeringBorgDerelictGhostRole
+ suffix: Ghost role
+ components:
+ - type: GhostRole
+ name: ghost-role-information-derelict-engineering-cyborg-name
+ description: ghost-role-information-derelict-engineering-cyborg-description
+ rules: ghost-role-information-silicon-rules
+ raffle:
+ settings: default
+ - type: GhostTakeoverAvailable
+
+- type: entity
parent: BorgChassisDerelict
+ id: PlayerBorgDerelict
suffix: Battery, Module
components:
- type: ContainerFill
nameSegments: [NamesBorg]
- type: entity
- id: PlayerBorgDerelictGhostRole
parent: PlayerBorgDerelict
+ id: PlayerBorgDerelictGhostRole
suffix: Ghost role
components:
- type: GhostRole
raffle:
settings: default
- type: GhostTakeoverAvailable
+
+- type: entity
+ parent: JanitorBorgChassisDerelict
+ id: PlayerJanitorBorgDerelict
+ suffix: Battery, Module
+ components:
+ - type: ContainerFill
+ containers:
+ borg_brain:
+ - PositronicBrain
+ borg_module:
+ - BorgModuleTool
+ - BorgModuleFireExtinguisher
+ - BorgModuleCleaning
+ - BorgModuleCustodial
+ - type: ItemSlots
+ slots:
+ cell_slot:
+ name: power-cell-slot-component-slot-name-default
+ startingItem: PowerCellHigh
+ - type: RandomMetadata
+ nameSegments: [NamesBorg]
+
+- type: entity
+ parent: PlayerJanitorBorgDerelict
+ id: PlayerJanitorBorgDerelictGhostRole
+ suffix: Ghost role
+ components:
+ - type: GhostRole
+ name: ghost-role-information-derelict-janitor-cyborg-name
+ description: ghost-role-information-derelict-janitor-cyborg-description
+ rules: ghost-role-information-silicon-rules
+ raffle:
+ settings: default
+ - type: GhostTakeoverAvailable
+
+- type: entity
+ parent: MedicalBorgChassisDerelict
+ id: PlayerMedicalBorgDerelict
+ suffix: Battery, Module
+ components:
+ - type: ContainerFill
+ containers:
+ borg_brain:
+ - PositronicBrain
+ borg_module:
+ - BorgModuleTool
+ - BorgModuleFireExtinguisher
+ - BorgModuleChemical
+ - BorgModuleTopicals
+ - BorgModuleRescue
+ - type: ItemSlots
+ slots:
+ cell_slot:
+ name: power-cell-slot-component-slot-name-default
+ startingItem: PowerCellHigh
+ - type: RandomMetadata
+ nameSegments: [NamesBorg]
+
+- type: entity
+ parent: PlayerMedicalBorgDerelict
+ id: PlayerMedicalBorgDerelictGhostRole
+ suffix: Ghost role
+ components:
+ - type: GhostRole
+ name: ghost-role-information-derelict-medical-cyborg-name
+ description: ghost-role-information-derelict-medical-cyborg-description
+ rules: ghost-role-information-silicon-rules
+ raffle:
+ settings: default
+ - type: GhostTakeoverAvailable
+
+- type: entity
+ parent: MiningBorgChassisDerelict
+ id: PlayerMiningBorgDerelict
+ suffix: Battery, Module
+ components:
+ - type: ContainerFill
+ containers:
+ borg_brain:
+ - PositronicBrain
+ borg_module:
+ - BorgModuleTool #No fire extinguisher, traversal is better
+ - BorgModuleMining
+ - BorgModuleTraversal
+ - BorgModuleAppraisal
+ - type: ItemSlots
+ slots:
+ cell_slot:
+ name: power-cell-slot-component-slot-name-default
+ startingItem: PowerCellHigh
+ - type: RandomMetadata
+ nameSegments: [NamesBorg]
+
+- type: entity
+ parent: PlayerMiningBorgDerelict
+ id: PlayerMiningBorgDerelictGhostRole
+ suffix: Ghost role
+ components:
+ - type: GhostRole
+ name: ghost-role-information-derelict-mining-cyborg-name
+ description: ghost-role-information-derelict-mining-cyborg-description
+ rules: ghost-role-information-silicon-rules
+ raffle:
+ settings: default
+ - type: GhostTakeoverAvailable
+
+- type: entity
+ parent: SyndicateAssaultBorgChassisDerelict
+ id: PlayerSyndicateAssaultBorgDerelict
+ suffix: Battery, Module
+ components:
+ - type: ContainerFill
+ containers:
+ borg_brain:
+ - PositronicBrain
+ borg_module:
+ - BorgModuleOperative
+ - BorgModuleC20r
+ - BorgModuleEsword
+ - type: ItemSlots
+ slots:
+ cell_slot:
+ name: power-cell-slot-component-slot-name-default
+ startingItem: PowerCellHyper
+ - type: RandomMetadata
+ nameSegments: [NamesDeathCommando]
+
+- type: entity
+ parent: PlayerSyndicateAssaultBorgDerelict
+ id: PlayerBorgSyndicateDerelictGhostRole
+ suffix: Ghost role
+ components:
+ - type: GhostRole
+ name: ghost-role-information-derelict-syndicate-assault-cyborg-name
+ description: ghost-role-information-derelict-syndicate-assault-cyborg-description
+ rules: ghost-role-information-silicon-rules
+ raffle:
+ settings: default
+ - type: GhostTakeoverAvailable
#syndicate modules
- type: entity
- id: BorgModuleSyndicateWeapon
parent: [ BaseBorgModule, BaseProviderBorgModule, BaseSyndicateContraband ]
+ id: BorgModuleSyndicateWeapon
name: weapon cyborg module
components:
- type: Sprite
price: 2500
- type: entity
- id: BorgModuleOperative
parent: [ BaseBorgModuleSyndicate, BaseProviderBorgModule, BaseSyndicateContraband ]
+ id: BorgModuleOperative
name: operative cyborg module
description: A module that comes with a crowbar, an Emag, an Access Breaker and a syndicate pinpointer.
components:
icon: { sprite: Interface/Actions/actions_borg.rsi, state: syndicate-operative-module }
- type: entity
- id: BorgModuleEsword
parent: [ BaseBorgModuleSyndicate, BaseProviderBorgModule, BaseSyndicateContraband ]
+ id: BorgModuleEsword
name: energy sword cyborg module
- description: A module that comes with a double energy sword.
+ description: A weapons module that comes with an energy sword.
components:
- - type: Sprite
- layers:
- - state: syndicate
- - state: icon-syndicate
- - type: ItemBorgModule
- hands:
- - item: CyborgEnergySwordDouble
- - item: PinpointerSyndicateNuclear
- - type: BorgModuleIcon
- icon: { sprite: Interface/Actions/actions_borg.rsi, state: syndicate-esword-module }
+ - type: Sprite
+ layers:
+ - state: syndicate
+ - state: icon-syndicate
+ - type: ItemBorgModule
+ hands:
+ - item: CyborgEnergySword
+ - item: PinpointerSyndicateNuclear
+ - type: BorgModuleIcon
+ icon: { sprite: Interface/Actions/actions_borg.rsi, state: syndicate-esword-module }
+
+- type: entity
+ id: BorgModuleDoubleEsword
+ parent: [ BaseBorgModuleSyndicate, BaseProviderBorgModule, BaseSyndicateContraband ]
+ name: double energy sword cyborg module
+ description: A weapons module that comes with a double energy sword.
+ components:
+ - type: Sprite
+ layers:
+ - state: syndicate
+ - state: icon-syndicate
+ - type: ItemBorgModule
+ hands:
+ - item: CyborgEnergySwordDouble
+ - item: PinpointerSyndicateNuclear
+ - type: BorgModuleIcon
+ icon: { sprite: Interface/Actions/actions_borg.rsi, state: syndicate-desword-module }
- type: entity
- id: BorgModuleL6C
parent: [ BaseBorgModuleSyndicateAssault, BaseProviderBorgModule, BaseSyndicateContraband ]
+ id: BorgModuleL6C
name: L6C ROW cyborg module
- description: A module that comes with a L6C.
+ description: A weapons module that comes with a L6C.
components:
- - type: Sprite
- layers:
- - state: syndicate
- - state: icon-syndicate
- - type: ItemBorgModule
- hands:
- - item: WeaponLightMachineGunL6C
- - item: PinpointerSyndicateNuclear
- - type: BorgModuleIcon
- icon: { sprite: Interface/Actions/actions_borg.rsi, state: syndicate-l6c-module }
+ - type: Sprite
+ layers:
+ - state: syndicate
+ - state: icon-syndicate
+ - type: ItemBorgModule
+ hands:
+ - item: WeaponLightMachineGunL6C
+ - item: PinpointerSyndicateNuclear
+ - type: BorgModuleIcon
+ icon: { sprite: Interface/Actions/actions_borg.rsi, state: syndicate-l6c-module }
+
+- type: entity
+ parent: [ BaseBorgModuleSyndicateAssault, BaseProviderBorgModule, BaseSyndicateContraband ]
+ id: BorgModuleC20r
+ name: C20-r ROW cyborg module
+ description: A weapons module that comes with a burst-fire C-20r.
+ components:
+ - type: Sprite
+ layers:
+ - state: syndicate
+ - state: icon-syndicate
+ - type: ItemBorgModule
+ hands:
+ - item: WeaponSubMachineGunC20rROW
+ - item: PinpointerSyndicateNuclear
+ - type: BorgModuleIcon
+ icon: { sprite: Interface/Actions/actions_borg.rsi, state: syndicate-c20r-module }
- type: entity
- id: BorgModuleMartyr
parent: [ BaseBorgModule, BaseProviderBorgModule, BaseSyndicateContraband ]
+ id: BorgModuleMartyr
name: martyr cyborg module
description: "A module that comes with an explosive you probably don't want to handle yourself."
components:
- type: StaticPrice
price: 5000
+- type: entity
+ name: C-20r ROW #I think ROW stands for Recharging Onboard Weapon so i'm following the L6C's example
+ id: WeaponSubMachineGunC20rROW
+ parent: BaseItem
+ description: A burst-fire C-20r submachine gun for use by cyborgs. Creates .35 caliber ammo on the fly from an internal ammo fabricator, which slowly self-charges.
+ components:
+ - type: Gun
+ minAngle: 2
+ maxAngle: 16
+ angleIncrease: 4
+ angleDecay: 16
+ fireRate: 8
+ burstFireRate: 8
+ selectedMode: Burst
+ availableModes:
+ - Burst
+ soundGunshot:
+ path: /Audio/Weapons/Guns/Gunshots/c-20r.ogg
+ - type: Sprite
+ sprite: Objects/Weapons/Guns/SMGs/c20r.rsi
+ layers:
+ - state: base
+ map: ["enum.GunVisualLayers.Base"]
+ - state: mag-5
+ map: ["enum.GunVisualLayers.Mag"]
+ - type: Item
+ size: Huge
+ - type: ContainerContainer
+ containers:
+ ballistic-ammo: !type:Container
+ - type: ProjectileBatteryAmmoProvider
+ proto: CartridgePistol
+ fireCost: 100
+ - type: Battery
+ maxCharge: 3000
+ startingCharge: 3000
+ - type: BatterySelfRecharger
+ autoRecharge: true
+ autoRechargeRate: 25
+ - type: AmmoCounter
+
- type: entity
name: Drozd
parent: [BaseWeaponSubMachineGun, BaseSecurityContraband]
spread: 75
# Borgs
+
+- type: entity
+ parent: EnergySword
+ id: CyborgEnergySword
+ suffix: For Borgs
+ description: A very loud & dangerous sword with a beam made of pure, concentrated plasma. Specially designed for syndicate cyborgs.
+
- type: entity
- suffix: One-Handed, For Borgs
parent: EnergySwordDouble
id: CyborgEnergySwordDouble # why is this invalid if ID is BorgEnergySwordDouble
+ suffix: One-Handed, For Borgs
description: Syndicate Command Interns thought that having one blade on the energy sword was not enough. Specially designed for syndicate cyborgs.
components: # could add energy-draining like the L6C
- type: Wieldable
- id: ClosetSkeleton
- id: KingRatMigration
- id: RevenantSpawn
- - id: DerelictCyborgSpawn
+ - !type:NestedSelector
+ tableId: DerelictBorgEventTable
- type: entityTable
id: ModerateAntagEventsTable
- id: ZombieOutbreak
- id: LoneOpsSpawn
- id: WizardSpawn
+ - !type:NestedSelector
+ tableId: DerelictBorgEventTable
+
+- type: entityTable
+ id: DerelictBorgEventTable #For Derelict Borg spawns
+ table: !type:GroupSelector
+ children:
+ - !type:GroupSelector # Standard NT Borgs
+ weight: 85
+ children:
+ - id: DerelictEngineerCyborgSpawn
+ - id: DerelictGenericCyborgSpawn
+ - id: DerelictJanitorCyborgSpawn
+ - id: DerelictMedicalCyborgSpawn
+ - id: DerelictMiningCyborgSpawn
+ - !type:GroupSelector # Other Borgs
+ weight: 15
+ children:
+ - id: DerelictSyndicateAssaultCyborgSpawn
- type: entity
id: BaseStationEvent
earliestStart: 35
weight: 5.5
minimumPlayers: 20
- duration: null # LoneOpsSpawn needs an infinite duration so that it inherits the NukeOpsRule things of an actually appropriate end scrreen (not always "Neutral outcome!") and... ending the game if the station is nuked.
+ duration: null # LoneOpsSpawn needs an infinite duration so that it inherits the NukeOpsRule things of an actually appropriate end screen (not always "Neutral outcome!") and... ending the game if the station is nuked.
- type: RuleGrids
- type: LoadMapRule
gridPath: /Maps/Shuttles/ShuttleEvent/striker.yml
- type: entity
parent: BaseGameRule
- id: DerelictCyborgSpawn
+ id: DerelictEngineerCyborgSpawn
components:
- type: StationEvent
- weight: 5
+ weight: 2.5
+ earliestStart: 15
+ reoccurrenceDelay: 20
+ minimumPlayers: 4
+ duration: null
+ - type: SpaceSpawnRule
+ spawnDistance: 0
+ - type: AntagSpawner
+ prototype: PlayerEngineeringBorgDerelictGhostRole
+ - type: AntagSelection
+ definitions:
+ - spawnerPrototype: SpawnPointGhostDerelictEngineeringCyborg
+ min: 1
+ max: 1
+ pickPlayer: false
+
+- type: entity
+ parent: BaseGameRule
+ id: DerelictGenericCyborgSpawn
+ components:
+ - type: StationEvent
+ weight: 2.5
earliestStart: 15
reoccurrenceDelay: 20
minimumPlayers: 4
- type: SpaceSpawnRule
spawnDistance: 0
- type: AntagSpawner
- prototype: PlayerBorgDerelict
+ prototype: PlayerBorgDerelictGhostRole
- type: AntagSelection
definitions:
- spawnerPrototype: SpawnPointGhostDerelictCyborg
min: 1
max: 1
pickPlayer: false
+
+- type: entity
+ parent: BaseGameRule
+ id: DerelictJanitorCyborgSpawn
+ components:
+ - type: StationEvent
+ weight: 2.5
+ earliestStart: 15
+ reoccurrenceDelay: 20
+ minimumPlayers: 4
+ duration: null
+ - type: SpaceSpawnRule
+ spawnDistance: 0
+ - type: AntagSpawner
+ prototype: PlayerJanitorBorgDerelictGhostRole
+ - type: AntagSelection
+ definitions:
+ - spawnerPrototype: SpawnPointGhostDerelictJanitorCyborg
+ min: 1
+ max: 1
+ pickPlayer: false
+
+- type: entity
+ parent: BaseGameRule
+ id: DerelictMedicalCyborgSpawn
+ components:
+ - type: StationEvent
+ weight: 2.5
+ earliestStart: 15
+ reoccurrenceDelay: 20
+ minimumPlayers: 4
+ duration: null
+ - type: SpaceSpawnRule
+ spawnDistance: 0
+ - type: AntagSpawner
+ prototype: PlayerMedicalBorgDerelictGhostRole
+ - type: AntagSelection
+ definitions:
+ - spawnerPrototype: SpawnPointGhostDerelictMedicalCyborg
+ min: 1
+ max: 1
+ pickPlayer: false
+
+- type: entity
+ parent: BaseGameRule
+ id: DerelictMiningCyborgSpawn
+ components:
+ - type: StationEvent
+ weight: 2.5
+ earliestStart: 15
+ reoccurrenceDelay: 20
+ minimumPlayers: 4
+ duration: null
+ - type: SpaceSpawnRule
+ spawnDistance: 0
+ - type: AntagSpawner
+ prototype: PlayerMiningBorgDerelictGhostRole
+ - type: AntagSelection
+ definitions:
+ - spawnerPrototype: SpawnPointGhostDerelictMiningCyborg
+ min: 1
+ max: 1
+ pickPlayer: false
+
+- type: entity
+ parent: BaseGameRule
+ id: DerelictSyndicateAssaultCyborgSpawn
+ components:
+ - type: StationEvent
+ weight: 2.5
+ earliestStart: 25
+ reoccurrenceDelay: 20
+ minimumPlayers: 15
+ duration: null
+ - type: SpaceSpawnRule
+ spawnDistance: 0
+ - type: AntagSpawner
+ prototype: PlayerBorgSyndicateDerelictGhostRole
+ - type: AntagSelection
+ definitions:
+ - spawnerPrototype: SpawnPointGhostDerelictSyndicateAssaultCyborg
+ min: 1
+ max: 1
+ pickPlayer: false
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "Taken from vgstation at commit https://github.com/vgstation-coders/vgstation13/commit/cdbcb1e858b11f083994a7a269ed67ef5b452ce9, Module actions by Scarky0. chem, adv-chem, and adv-mining by mubururu_, xenoborg actions by Samuka-C (github), advclown by ThatGuyUSA",
+ "copyright": "Taken from vgstation at commit https://github.com/vgstation-coders/vgstation13/commit/cdbcb1e858b11f083994a7a269ed67ef5b452ce9, Module actions by Scarky0. chem, adv-chem, and adv-mining by mubururu_, xenoborg actions by Samuka-C (github), advclown by ThatGuyUSA. c20r and esword by RedBookcase on Github.",
"size": {
"x": 32,
"y": 32
{
"name":"syndicate-operative-module"
},
+ {
+ "name":"syndicate-desword-module"
+ },
{
"name":"syndicate-esword-module"
},
{
"name":"syndicate-l6c-module"
},
+ {
+ "name":"syndicate-c20r-module"
+ },
{
"name":"syndicate-martyr-module"
},
{
- "version": 1,
- "size": {
- "x": 32,
- "y": 32
- },
- "license": "CC-BY-SA-3.0",
- "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/faf6db214927874c19b8fa8585d26b5d40de1acc, derelict sprites modified by GoldenCan(GitHub), xenoborg sprites, created and modified by Samuka-C (github).",
- "states": [
- {
- "name": "clown",
- "directions": 4
- },
- {
- "name": "clown_e",
- "directions": 4
- },
- {
- "name": "clown_e_r",
- "directions": 4
- },
- {
- "name": "clown_l",
- "directions": 4
- },
- {
- "name": "derelict",
- "directions": 4
- },
- {
- "name": "derelict_e",
- "directions": 4
- },
- {
- "name": "derelict_e_r",
- "directions": 4
- },
- {
- "name": "derelict_icon",
- "directions": 1
- },
- {
- "name": "derelict_l",
- "directions": 4
- },
- {
- "name": "engineer",
- "directions": 4
- },
- {
- "name": "engineer_e",
- "directions": 4
- },
- {
- "name": "engineer_e_r",
- "directions": 4
- },
- {
- "name": "engineer_l",
- "directions": 4
- },
- {
- "name": "janitor",
- "directions": 4
- },
- {
- "name": "janitor_moving",
- "directions": 4,
- "delays": [
- [
- 0.1,
- 0.1,
- 0.1,
- 0.1
- ],
- [
- 0.1,
- 0.1,
- 0.1,
- 0.1
- ],
- [
- 0.1,
- 0.1,
- 0.1,
- 0.1
- ],
- [
- 0.1,
- 0.1,
- 0.1,
- 0.1
- ]
- ]
- },
- {
- "name": "janitor_e",
- "directions": 4
- },
- {
- "name": "janitor_e_r",
- "directions": 4
- },
- {
- "name": "janitor_l",
- "directions": 4
- },
- {
- "name": "medical",
- "directions": 4,
- "delays": [
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ]
- ]
- },
- {
- "name": "medical_moving",
- "directions": 4,
- "delays": [
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ]
- ]
- },
- {
- "name": "medical_e",
- "directions": 4
- },
- {
- "name": "medical_e_r",
- "directions": 4
- },
- {
- "name": "medical_l",
- "directions": 4
- },
- {
- "name": "miner",
- "directions": 4
- },
- {
- "name": "miner_moving",
- "directions": 4,
- "delays": [
- [
- 0.1,
- 0.1
- ],
- [
- 0.1,
- 0.1
- ],
- [
- 0.1,
- 0.1
- ],
- [
- 0.1,
- 0.1
- ]
- ]
- },
- {
- "name": "miner_e",
- "directions": 4
- },
- {
- "name": "miner_e_r",
- "directions": 4
- },
- {
- "name": "miner_l",
- "directions": 4
- },
- {
- "name": "robot",
- "directions": 4
- },
- {
- "name": "robot_e",
- "directions": 4
- },
- {
- "name": "robot_e_r",
- "directions": 4
- },
- {
- "name": "robot_l",
- "directions": 4
- },
- {
- "name": "peace",
- "directions": 4
- },
- {
- "name": "peace_e",
- "directions": 4
- },
- {
- "name": "peace_e_r",
- "directions": 4
- },
- {
- "name": "peace_l",
- "directions": 4
- },
- {
- "name": "service",
- "directions": 4
- },
- {
- "name": "service_e",
- "directions": 4
- },
- {
- "name": "service_e_r",
- "directions": 4
- },
- {
- "name": "service_l",
- "directions": 4
- },
- {
- "name": "synd_sec",
- "directions": 4
- },
- {
- "name": "synd_sec_e",
- "directions": 4
- },
- {
- "name": "synd_sec_l",
- "directions": 4
- },
- {
- "name": "synd_medical",
- "directions": 4
- },
- {
- "name": "synd_medical_l",
- "directions": 4,
- "delays": [
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ]
- ]
- },
- {
- "name": "synd_medical_e",
- "directions": 4,
- "delays": [
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ]
- ]
- },
- {
- "name": "synd_engi",
- "directions": 4
- },
- {
- "name": "synd_engi_e",
- "directions": 4
- },
- {
- "name": "synd_engi_l",
- "directions": 4
- },
- {
- "name": "xenoborg_heavy",
- "directions": 4
- },
- {
- "name": "xenoborg_heavy_e",
- "directions": 4
- },
- {
- "name": "xenoborg_heavy_e_r",
- "directions": 4,
- "delays": [
- [
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1
- ],
- [
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1
- ],
- [
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1
- ],
- [
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1
- ]
- ]
- },
- {
- "name": "xenoborg_heavy_l",
- "directions": 4
- },
- {
- "name": "xenoborg_scout",
- "directions": 4
- },
- {
- "name": "xenoborg_scout_l",
- "directions": 4,
- "delays": [
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ]
- ]
- },
- {
- "name": "xenoborg_scout_e",
- "directions": 4,
- "delays": [
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ]
- ]
- },
- {
- "name": "xenoborg_scout_e_r",
- "directions": 4,
- "delays": [
- [
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1
- ],
- [
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1
- ],
- [
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1
- ],
- [
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1
- ]
- ]
- },
- {
- "name": "xenoborg_engi",
- "directions": 4
- },
- {
- "name": "xenoborg_engi_e",
- "directions": 4
- },
- {
- "name": "xenoborg_engi_e_r",
- "directions": 4,
- "delays": [
- [
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1
- ],
- [
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1
- ],
- [
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1
- ],
- [
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1
- ]
- ]
- },
- {
- "name": "xenoborg_engi_l",
- "directions": 4
- },
- {
- "name": "xenoborg_stealth",
- "directions": 4
- },
- {
- "name": "xenoborg_stealth_e",
- "directions": 4,
- "delays": [
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ]
- ]
- },
- {
- "name": "xenoborg_stealth_e_r",
- "directions": 4,
- "delays": [
- [
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1
- ],
- [
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1
- ],
- [
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1
- ],
- [
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1
- ]
- ]
- },
- {
- "name": "xenoborg_stealth_l",
- "directions": 4,
- "delays": [
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ],
- [
- 0.1,
- 0.2,
- 0.1
- ]
- ]
- }
- ]
+ "version": 1,
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/faf6db214927874c19b8fa8585d26b5d40de1acc, derelict generic sprites modified by GoldenCan(GitHub), xenoborg sprites, created and modified by Samuka-C (github). Derelict Engineer, Janitor, Miner, Medical, and Assault Borg sprites by _miket on Discord.",
+ "states": [
+ {
+ "name": "clown",
+ "directions": 4
+ },
+ {
+ "name": "clown_e",
+ "directions": 4
+ },
+ {
+ "name": "clown_e_r",
+ "directions": 4
+ },
+ {
+ "name": "clown_l",
+ "directions": 4
+ },
+ {
+ "name": "derelict",
+ "directions": 4
+ },
+ {
+ "name": "derelict_e",
+ "directions": 4
+ },
+ {
+ "name": "derelict_e_r",
+ "directions": 4
+ },
+ {
+ "name": "derelict_icon",
+ "directions": 1
+ },
+ {
+ "name": "derelict_l",
+ "directions": 4
+ },
+ {
+ "name": "engineer",
+ "directions": 4
+ },
+ {
+ "name": "engineer_e",
+ "directions": 4
+ },
+ {
+ "name": "engineer_e_r",
+ "directions": 4
+ },
+ {
+ "name": "engineer_l",
+ "directions": 4
+ },
+ {
+ "name": "engineer_derelict",
+ "directions": 4
+ },
+ {
+ "name": "engineer_derelict_crystal",
+ "directions": 4
+ },
+ {
+ "name": "janitor",
+ "directions": 4
+ },
+ {
+ "name": "janitor_moving",
+ "directions": 4,
+ "delays": [
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ]
+ ]
+ },
+ {
+ "name": "janitor_e",
+ "directions": 4
+ },
+ {
+ "name": "janitor_e_r",
+ "directions": 4
+ },
+ {
+ "name": "janitor_l",
+ "directions": 4
+ },
+ {
+ "name": "janitor_derelict",
+ "directions": 4
+ },
+ {
+ "name": "janitor_moving_derelict",
+ "directions": 4,
+ "delays": [
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ]
+ ]
+ },
+ {
+ "name": "medical",
+ "directions": 4,
+ "delays": [
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ]
+ ]
+ },
+ {
+ "name": "medical_moving",
+ "directions": 4,
+ "delays": [
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ]
+ ]
+ },
+ {
+ "name": "medical_e",
+ "directions": 4
+ },
+ {
+ "name": "medical_e_r",
+ "directions": 4
+ },
+ {
+ "name": "medical_l",
+ "directions": 4
+ },
+ {
+ "name": "medical_derelict",
+ "directions": 4,
+ "delays": [
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ]
+ ]
+ },
+ {
+ "name": "medical_moving_derelict",
+ "directions": 4,
+ "delays": [
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ]
+ ]
+ },
+ {
+ "name": "miner",
+ "directions": 4
+ },
+ {
+ "name": "miner_moving",
+ "directions": 4,
+ "delays": [
+ [
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1
+ ]
+ ]
+ },
+ {
+ "name": "miner_e",
+ "directions": 4
+ },
+ {
+ "name": "miner_e_r",
+ "directions": 4
+ },
+ {
+ "name": "miner_l",
+ "directions": 4
+ },
+ {
+ "name": "miner_derelict",
+ "directions": 4
+ },
+ {
+ "name": "miner_moving_derelict",
+ "directions": 4,
+ "delays": [
+ [
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1
+ ]
+ ]
+ },
+ {
+ "name": "robot",
+ "directions": 4
+ },
+ {
+ "name": "robot_e",
+ "directions": 4
+ },
+ {
+ "name": "robot_e_r",
+ "directions": 4
+ },
+ {
+ "name": "robot_l",
+ "directions": 4
+ },
+ {
+ "name": "peace",
+ "directions": 4
+ },
+ {
+ "name": "peace_e",
+ "directions": 4
+ },
+ {
+ "name": "peace_e_r",
+ "directions": 4
+ },
+ {
+ "name": "peace_l",
+ "directions": 4
+ },
+ {
+ "name": "service",
+ "directions": 4
+ },
+ {
+ "name": "service_e",
+ "directions": 4
+ },
+ {
+ "name": "service_e_r",
+ "directions": 4
+ },
+ {
+ "name": "service_l",
+ "directions": 4
+ },
+ {
+ "name": "synd_sec",
+ "directions": 4
+ },
+ {
+ "name": "synd_sec_e",
+ "directions": 4
+ },
+ {
+ "name": "synd_sec_l",
+ "directions": 4
+ },
+ {
+ "name": "synd_sec_derelict",
+ "directions": 4
+ },
+ {
+ "name": "synd_sec_derelict_e",
+ "directions": 4
+ },
+ {
+ "name": "synd_sec_derelict_l",
+ "directions": 4
+ },
+ {
+ "name": "synd_medical",
+ "directions": 4
+ },
+ {
+ "name": "synd_medical_l",
+ "directions": 4,
+ "delays": [
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ]
+ ]
+ },
+ {
+ "name": "synd_medical_e",
+ "directions": 4,
+ "delays": [
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ]
+ ]
+ },
+ {
+ "name": "synd_engi",
+ "directions": 4
+ },
+ {
+ "name": "synd_engi_e",
+ "directions": 4
+ },
+ {
+ "name": "synd_engi_l",
+ "directions": 4
+ },
+ {
+ "name": "xenoborg_heavy",
+ "directions": 4
+ },
+ {
+ "name": "xenoborg_heavy_e",
+ "directions": 4
+ },
+ {
+ "name": "xenoborg_heavy_e_r",
+ "directions": 4,
+ "delays": [
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ]
+ ]
+ },
+ {
+ "name": "xenoborg_heavy_l",
+ "directions": 4
+ },
+ {
+ "name": "xenoborg_scout",
+ "directions": 4
+ },
+ {
+ "name": "xenoborg_scout_l",
+ "directions": 4,
+ "delays": [
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ]
+ ]
+ },
+ {
+ "name": "xenoborg_scout_e",
+ "directions": 4,
+ "delays": [
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ]
+ ]
+ },
+ {
+ "name": "xenoborg_scout_e_r",
+ "directions": 4,
+ "delays": [
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ]
+ ]
+ },
+ {
+ "name": "xenoborg_engi",
+ "directions": 4
+ },
+ {
+ "name": "xenoborg_engi_e",
+ "directions": 4
+ },
+ {
+ "name": "xenoborg_engi_e_r",
+ "directions": 4,
+ "delays": [
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ]
+ ]
+ },
+ {
+ "name": "xenoborg_engi_l",
+ "directions": 4
+ },
+ {
+ "name": "xenoborg_stealth",
+ "directions": 4
+ },
+ {
+ "name": "xenoborg_stealth_e",
+ "directions": 4,
+ "delays": [
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ]
+ ]
+ },
+ {
+ "name": "xenoborg_stealth_e_r",
+ "directions": 4,
+ "delays": [
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ]
+ ]
+ },
+ {
+ "name": "xenoborg_stealth_l",
+ "directions": 4,
+ "delays": [
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.2,
+ 0.1
+ ]
+ ]
+ }
+ ]
}