Adds syndicate cyborgs. Adds Assault cyborgs to nukie uplink (#19733)
* added syndicate cyborgs * add assault cyborg to uplink * updated tags.yml * changed syndicate cyborgs' hitpoints to 200 fixed NPCfaction * added noslip and MovementAlwaysTouching component to syndicate cyborgs akin to carps, as a stop gap for no magboots or jetpack. Access component fix. * fixes nodes * fixes construction * fixed typo and intergrationtests * adds back ammocounter for l6c * fix lawset * fix item size * nono, fix again --------- Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
@@ -121,6 +121,9 @@ uplink-reinforcement-radio-monkey-desc = Call in a trained monkey to assist you
|
|||||||
uplink-reinforcement-radio-name = Reinforcement Teleporter
|
uplink-reinforcement-radio-name = Reinforcement Teleporter
|
||||||
uplink-reinforcement-radio-desc = Radio in a reinforcement agent of extremely questionable quality. No off button, buy this if you're ready to party. They have a pistol with no reserve ammo, and a knife. That's it.
|
uplink-reinforcement-radio-desc = Radio in a reinforcement agent of extremely questionable quality. No off button, buy this if you're ready to party. They have a pistol with no reserve ammo, and a knife. That's it.
|
||||||
|
|
||||||
|
uplink-reinforcement-radio-cyborg-assault-name = Syndicate Assault Cyborg Teleporter
|
||||||
|
uplink-reinforcement-radio-cyborg-assault-desc = A lean, mean killing machine with access to an Energy Sword, LMG, Cryptographic Sequencer, and a Pinpointer.
|
||||||
|
|
||||||
uplink-stealth-box-name = Stealth Box
|
uplink-stealth-box-name = Stealth Box
|
||||||
uplink-stealth-box-desc = A box outfitted with stealth technology, sneak around with this and don't move too fast now!
|
uplink-stealth-box-desc = A box outfitted with stealth technology, sneak around with this and don't move too fast now!
|
||||||
|
|
||||||
|
|||||||
@@ -430,6 +430,22 @@
|
|||||||
tags:
|
tags:
|
||||||
- NukeOpsUplink
|
- NukeOpsUplink
|
||||||
|
|
||||||
|
- type: listing
|
||||||
|
id: UplinkReinforcementRadioSyndicateCyborgAssault
|
||||||
|
name: uplink-reinforcement-radio-cyborg-assault-name
|
||||||
|
description: uplink-reinforcement-radio-cyborg-assault-desc
|
||||||
|
productEntity: ReinforcementRadioSyndicateCyborgAssault
|
||||||
|
icon: { sprite: Mobs/Silicon/chassis.rsi, state: synd_sec }
|
||||||
|
cost:
|
||||||
|
Telecrystal: 65
|
||||||
|
categories:
|
||||||
|
- UplinkUtility
|
||||||
|
conditions:
|
||||||
|
- !type:StoreWhitelistCondition
|
||||||
|
whitelist:
|
||||||
|
tags:
|
||||||
|
- NukeOpsUplink
|
||||||
|
|
||||||
- type: listing
|
- type: listing
|
||||||
id: UplinkReinforcementRadioSyndicateMonkey
|
id: UplinkReinforcementRadioSyndicateMonkey
|
||||||
name: uplink-reinforcement-radio-monkey-name
|
name: uplink-reinforcement-radio-monkey-name
|
||||||
|
|||||||
@@ -224,3 +224,38 @@
|
|||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [["Command"], ["Research"]]
|
access: [["Command"], ["Research"]]
|
||||||
- type: ShowSecurityIcons
|
- type: ShowSecurityIcons
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: BaseBorgChassisSyndicate
|
||||||
|
parent: BaseBorgChassis
|
||||||
|
abstract: true
|
||||||
|
components:
|
||||||
|
- type: Destructible
|
||||||
|
thresholds:
|
||||||
|
- trigger:
|
||||||
|
!type:DamageTrigger
|
||||||
|
damage: 200
|
||||||
|
behaviors:
|
||||||
|
- !type:PlaySoundBehavior
|
||||||
|
sound: /Audio/Effects/metalbreak.ogg
|
||||||
|
- !type:EmptyContainersBehaviour
|
||||||
|
containers:
|
||||||
|
- borg_brain
|
||||||
|
- borg_module
|
||||||
|
- !type:DoActsBehavior
|
||||||
|
acts: [ "Destruction" ]
|
||||||
|
- type: NpcFactionMember
|
||||||
|
factions:
|
||||||
|
- Syndicate
|
||||||
|
- type: Access
|
||||||
|
- type: SiliconLawProvider
|
||||||
|
laws: SyndicateStatic
|
||||||
|
- type: IntrinsicRadioTransmitter
|
||||||
|
channels:
|
||||||
|
- Binary
|
||||||
|
- Syndicate
|
||||||
|
- type: ActiveRadio
|
||||||
|
channels:
|
||||||
|
- Syndicate
|
||||||
|
- type: NoSlip
|
||||||
|
- type: MovementAlwaysTouching
|
||||||
|
|||||||
@@ -263,3 +263,90 @@
|
|||||||
access: [["Service"], ["Command"], ["Research"]]
|
access: [["Service"], ["Command"], ["Research"]]
|
||||||
- type: Inventory
|
- type: Inventory
|
||||||
templateId: borgTall
|
templateId: borgTall
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: BorgChassisSyndicateAssault
|
||||||
|
parent: BaseBorgChassisSyndicate
|
||||||
|
name: Syndicate assault cyborg
|
||||||
|
description: A lean, mean killing machine with access to a varity of deadly modules.
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
layers:
|
||||||
|
- state: synd_sec
|
||||||
|
- 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:
|
||||||
|
tags:
|
||||||
|
- BorgModuleGeneric
|
||||||
|
- BorgModuleSyndicate
|
||||||
|
- BorgModuleSyndicateAssault
|
||||||
|
hasMindState: synd_sec_e
|
||||||
|
noMindState: synd_sec
|
||||||
|
- type: Construction
|
||||||
|
node: syndicateassault
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: BorgChassisSyndicateMedical
|
||||||
|
parent: BaseBorgChassisSyndicate
|
||||||
|
name: Syndicate medical cyborg
|
||||||
|
description: A combat medical cyborg. Has limited offensive potential, but makes more than up for it with its support capabilities.
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
layers:
|
||||||
|
- state: synd_medical
|
||||||
|
- state: synd_medical_e
|
||||||
|
map: ["enum.BorgVisualLayers.Light"]
|
||||||
|
shader: unshaded
|
||||||
|
visible: false
|
||||||
|
- state: synd_medical_l
|
||||||
|
shader: unshaded
|
||||||
|
map: ["light"]
|
||||||
|
visible: false
|
||||||
|
- type: BorgChassis
|
||||||
|
maxModules: 3
|
||||||
|
moduleWhitelist:
|
||||||
|
tags:
|
||||||
|
- BorgModuleGeneric
|
||||||
|
- BorgModuleMedical
|
||||||
|
- BorgModuleSyndicate
|
||||||
|
hasMindState: synd_medical_e
|
||||||
|
noMindState: synd_medical
|
||||||
|
- type: Construction
|
||||||
|
node: syndicatemedical
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: BorgChassisSyndicateSaboteur
|
||||||
|
parent: BaseBorgChassisSyndicate
|
||||||
|
name: Syndicate saboteur cyborg
|
||||||
|
description: A streamlined engineering cyborg, equipped with covert modules. Its chameleon projector lets it disguise itself as a Nanotrasen cyborg.
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
layers:
|
||||||
|
- state: synd_engi
|
||||||
|
- state: synd_engi_e
|
||||||
|
map: ["enum.BorgVisualLayers.Light"]
|
||||||
|
shader: unshaded
|
||||||
|
visible: false
|
||||||
|
- state: synd_engi_l
|
||||||
|
shader: unshaded
|
||||||
|
map: ["light"]
|
||||||
|
visible: false
|
||||||
|
- type: BorgChassis
|
||||||
|
maxModules: 3
|
||||||
|
moduleWhitelist:
|
||||||
|
tags:
|
||||||
|
- BorgModuleGeneric
|
||||||
|
- BorgModuleEngineering
|
||||||
|
- BorgModuleSyndicate
|
||||||
|
hasMindState: synd_engi_e
|
||||||
|
noMindState: synd_engi
|
||||||
|
- type: Construction
|
||||||
|
node: syndicatesaboteur
|
||||||
|
|||||||
@@ -273,3 +273,23 @@
|
|||||||
cell_slot:
|
cell_slot:
|
||||||
name: power-cell-slot-component-slot-name-default
|
name: power-cell-slot-component-slot-name-default
|
||||||
startingItem: PowerCellMedium
|
startingItem: PowerCellMedium
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: PlayerBorgSyndicateAssaultBattery
|
||||||
|
parent: BorgChassisSyndicateAssault
|
||||||
|
suffix: Battery, Module, Operative
|
||||||
|
components:
|
||||||
|
- type: NukeOperative
|
||||||
|
- type: ContainerFill
|
||||||
|
containers:
|
||||||
|
borg_brain:
|
||||||
|
- PositronicBrain
|
||||||
|
borg_module:
|
||||||
|
- BorgModuleOperative
|
||||||
|
- BorgModuleL6C
|
||||||
|
- BorgModuleEsword
|
||||||
|
- type: ItemSlots
|
||||||
|
slots:
|
||||||
|
cell_slot:
|
||||||
|
name: power-cell-slot-component-slot-name-default
|
||||||
|
startingItem: PowerCellHyper
|
||||||
|
|||||||
@@ -39,3 +39,17 @@
|
|||||||
rules: ghost-role-information-syndicate-monkey-reinforcement-rules
|
rules: ghost-role-information-syndicate-monkey-reinforcement-rules
|
||||||
- type: GhostRoleMobSpawner
|
- type: GhostRoleMobSpawner
|
||||||
prototype: MobMonkeySyndicateAgent
|
prototype: MobMonkeySyndicateAgent
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: ReinforcementRadioSyndicate
|
||||||
|
id: ReinforcementRadioSyndicateCyborgAssault # Reinforcement radio exclusive to nukeops uplink
|
||||||
|
name: syndicate assault cyborg reinforcement radio
|
||||||
|
description: Call in a well armed assault cyborg, instantly!
|
||||||
|
suffix: NukeOps
|
||||||
|
components:
|
||||||
|
- type: GhostRole
|
||||||
|
name: Syndicate Assault Cyborg
|
||||||
|
description: Nuclear operatives needs reinforcements. You, a cold silicon killing machine, will help them.
|
||||||
|
rules: Normal syndicate antagonist rules apply. Work with whoever called you in, and don't harm them.
|
||||||
|
- type: GhostRoleMobSpawner
|
||||||
|
prototype: PlayerBorgSyndicateAssaultBattery
|
||||||
|
|||||||
@@ -82,6 +82,24 @@
|
|||||||
tags:
|
tags:
|
||||||
- BorgModuleService
|
- BorgModuleService
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: BaseBorgModuleSyndicate
|
||||||
|
parent: BaseBorgModule
|
||||||
|
abstract: true
|
||||||
|
components:
|
||||||
|
- type: Tag
|
||||||
|
tags:
|
||||||
|
- BorgModuleSyndicate
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: BaseBorgModuleSyndicateAssault
|
||||||
|
parent: BaseBorgModule
|
||||||
|
abstract: true
|
||||||
|
components:
|
||||||
|
- type: Tag
|
||||||
|
tags:
|
||||||
|
- BorgModuleSyndicateAssault
|
||||||
|
|
||||||
# generic modules
|
# generic modules
|
||||||
- type: entity
|
- type: entity
|
||||||
id: BorgModuleCable
|
id: BorgModuleCable
|
||||||
@@ -494,3 +512,50 @@
|
|||||||
items:
|
items:
|
||||||
- WeaponAdvancedLaser
|
- WeaponAdvancedLaser
|
||||||
- Machete
|
- Machete
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: BorgModuleOperative
|
||||||
|
parent: [ BaseBorgModuleSyndicate, BaseProviderBorgModule ]
|
||||||
|
name: Operative cyborg module
|
||||||
|
description: A module that comes with a crowbar, a Cobra pistol, an Emag and a pinpointer.
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
layers:
|
||||||
|
- state: syndicate
|
||||||
|
- state: icon-tools
|
||||||
|
- type: ItemBorgModule
|
||||||
|
items:
|
||||||
|
- Crowbar
|
||||||
|
- WeaponPistolCobra
|
||||||
|
- Emag
|
||||||
|
- PinpointerNuclear
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: BorgModuleEsword
|
||||||
|
parent: [ BaseBorgModuleSyndicate, BaseProviderBorgModule ]
|
||||||
|
name: Energy sword cyborg module
|
||||||
|
description: A module that comes with an energy sword.
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
layers:
|
||||||
|
- state: syndicate
|
||||||
|
- state: icon-tools
|
||||||
|
- type: ItemBorgModule
|
||||||
|
items:
|
||||||
|
- EnergySword
|
||||||
|
- PinpointerNuclear
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: BorgModuleL6C
|
||||||
|
parent: [ BaseBorgModuleSyndicateAssault, BaseProviderBorgModule ]
|
||||||
|
name: L6C ROW cyborg module
|
||||||
|
description: A module that comes with a L6C.
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
layers:
|
||||||
|
- state: syndicate
|
||||||
|
- state: icon-tools
|
||||||
|
- type: ItemBorgModule
|
||||||
|
items:
|
||||||
|
- WeaponLightMachineGunL6C
|
||||||
|
- PinpointerNuclear
|
||||||
|
|||||||
@@ -79,3 +79,39 @@
|
|||||||
steps: 4
|
steps: 4
|
||||||
zeroVisible: true
|
zeroVisible: true
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
name: L6C ROW
|
||||||
|
id: WeaponLightMachineGunL6C
|
||||||
|
parent: BaseItem
|
||||||
|
description: A L6 SAW modified for cyborg use. Feeds .30 rifle ammo from an internal 100 round magazine.
|
||||||
|
components:
|
||||||
|
- type: Gun
|
||||||
|
minAngle: 4
|
||||||
|
maxAngle: 25
|
||||||
|
angleIncrease: 4
|
||||||
|
angleDecay: 16
|
||||||
|
fireRate: 8
|
||||||
|
selectedMode: FullAuto
|
||||||
|
availableModes:
|
||||||
|
- FullAuto
|
||||||
|
soundGunshot:
|
||||||
|
path: /Audio/Weapons/Guns/Gunshots/lmg.ogg
|
||||||
|
soundEmpty:
|
||||||
|
path: /Audio/Weapons/Guns/Empty/lmg_empty.ogg
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Objects/Weapons/Guns/LMGs/l6.rsi
|
||||||
|
layers:
|
||||||
|
- state: base
|
||||||
|
map: [ "enum.GunVisualLayers.Base" ]
|
||||||
|
- state: mag-3
|
||||||
|
map: [ "enum.GunVisualLayers.Mag" ]
|
||||||
|
- type: Item
|
||||||
|
size: Huge
|
||||||
|
- type: ContainerContainer
|
||||||
|
containers:
|
||||||
|
ballistic-ammo: !type:Container
|
||||||
|
- type: BallisticAmmoProvider
|
||||||
|
proto: CartridgeLightRifle
|
||||||
|
capacity: 100
|
||||||
|
- type: AmmoCounter
|
||||||
|
|||||||
@@ -196,3 +196,12 @@
|
|||||||
|
|
||||||
- node: service
|
- node: service
|
||||||
entity: BorgChassisService
|
entity: BorgChassisService
|
||||||
|
|
||||||
|
- node: syndicateassault
|
||||||
|
entity: BorgChassisSyndicateAssault
|
||||||
|
|
||||||
|
- node: syndicatemedical
|
||||||
|
entity: BorgChassisSyndicateMedical
|
||||||
|
|
||||||
|
- node: syndicatesaboteur
|
||||||
|
entity: BorgChassisSyndicateSaboteur
|
||||||
|
|||||||
@@ -166,6 +166,12 @@
|
|||||||
- type: Tag
|
- type: Tag
|
||||||
id: BorgModuleService
|
id: BorgModuleService
|
||||||
|
|
||||||
|
- type: Tag
|
||||||
|
id: BorgModuleSyndicate
|
||||||
|
|
||||||
|
- type: Tag
|
||||||
|
id: BorgModuleSyndicateAssault
|
||||||
|
|
||||||
- type: Tag
|
- type: Tag
|
||||||
id: BorgServiceHead
|
id: BorgServiceHead
|
||||||
|
|
||||||
|
|||||||
@@ -234,6 +234,87 @@
|
|||||||
{
|
{
|
||||||
"name": "service_l",
|
"name": "service_l",
|
||||||
"directions": 4
|
"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
|
||||||
}
|
}
|
||||||
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
Resources/Textures/Mobs/Silicon/chassis.rsi/synd_engi.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
Resources/Textures/Mobs/Silicon/chassis.rsi/synd_engi_e.png
Normal file
|
After Width: | Height: | Size: 425 B |
BIN
Resources/Textures/Mobs/Silicon/chassis.rsi/synd_engi_l.png
Normal file
|
After Width: | Height: | Size: 544 B |
BIN
Resources/Textures/Mobs/Silicon/chassis.rsi/synd_medical.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
Resources/Textures/Mobs/Silicon/chassis.rsi/synd_medical_e.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
Resources/Textures/Mobs/Silicon/chassis.rsi/synd_medical_l.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
Resources/Textures/Mobs/Silicon/chassis.rsi/synd_sec.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
Resources/Textures/Mobs/Silicon/chassis.rsi/synd_sec_e.png
Normal file
|
After Width: | Height: | Size: 521 B |
BIN
Resources/Textures/Mobs/Silicon/chassis.rsi/synd_sec_l.png
Normal file
|
After Width: | Height: | Size: 550 B |