Cleanup subdermal implant code (#39755)
This commit is contained in:
@@ -376,6 +376,7 @@
|
||||
iconOn: { sprite: Interface/Actions/actions_fakemindshield.rsi, state: icon-on }
|
||||
itemIconStyle: NoItem
|
||||
useDelay: 1
|
||||
raiseOnUser: true
|
||||
- type: InstantAction
|
||||
event: !type:FakeMindShieldToggleEvent
|
||||
- type: Tag
|
||||
|
||||
@@ -6,89 +6,89 @@
|
||||
parent: BaseItem
|
||||
abstract: true
|
||||
components:
|
||||
- type: ItemSlots
|
||||
- type: ContainerContainer
|
||||
containers:
|
||||
implanter_slot: !type:ContainerSlot { }
|
||||
- type: Implanter
|
||||
- type: ItemSlots
|
||||
- type: ContainerContainer
|
||||
containers:
|
||||
implanter_slot: !type:ContainerSlot { }
|
||||
- type: Implanter
|
||||
whitelist:
|
||||
components:
|
||||
- MobState # no chair microbomb
|
||||
blacklist:
|
||||
components:
|
||||
- Guardian # no holoparasite macrobomb wombo combo
|
||||
tags:
|
||||
- Unimplantable
|
||||
currentMode: Draw
|
||||
implanterSlot:
|
||||
name: Implant
|
||||
locked: True
|
||||
priority: 0
|
||||
whitelist:
|
||||
components:
|
||||
- MobState # no chair microbomb
|
||||
blacklist:
|
||||
components:
|
||||
- Guardian # no holoparasite macrobomb wombo combo
|
||||
tags:
|
||||
- Unimplantable
|
||||
currentMode: Draw
|
||||
implanterSlot:
|
||||
name: Implant
|
||||
locked: True
|
||||
priority: 0
|
||||
whitelist:
|
||||
tags:
|
||||
- SubdermalImplant
|
||||
allowDeimplantAll: false
|
||||
deimplantWhitelist:
|
||||
- SadTromboneImplant
|
||||
- LightImplant
|
||||
- BikeHornImplant
|
||||
- TrackingImplant
|
||||
- StorageImplant
|
||||
- FreedomImplant
|
||||
- UplinkImplant
|
||||
- EmpImplant
|
||||
- ScramImplant
|
||||
- DnaScramblerImplant
|
||||
- MicroBombImplant
|
||||
- MacroBombImplant
|
||||
- DeathAcidifierImplant
|
||||
- DeathRattleImplant
|
||||
- MindShieldImplant
|
||||
- FakeMindShieldImplant
|
||||
- RadioImplant
|
||||
- ChameleonControllerImplant
|
||||
deimplantFailureDamage:
|
||||
types:
|
||||
Cellular: 50
|
||||
Heat: 10
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Medical/implanter.rsi
|
||||
state: implanter0
|
||||
layers:
|
||||
- state: implanter0
|
||||
map: [ "implantOnly" ]
|
||||
visible: true
|
||||
- state: implanter1
|
||||
map: [ "implantFull" ]
|
||||
visible: false
|
||||
- type: Item
|
||||
sprite: Objects/Specific/Medical/implanter.rsi
|
||||
heldPrefix: implanter
|
||||
size: Small
|
||||
- type: Appearance
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.ImplanterVisuals.Full:
|
||||
implantFull:
|
||||
True: {visible: true}
|
||||
False: {visible: false}
|
||||
enum.ImplanterImplantOnlyVisuals.ImplantOnly:
|
||||
implantOnly:
|
||||
True: {state: broken}
|
||||
False: {state: implanter0}
|
||||
- type: UserInterface
|
||||
interfaces:
|
||||
enum.DeimplantUiKey.Key:
|
||||
type: DeimplantBoundUserInterface
|
||||
- SubdermalImplant
|
||||
allowDeimplantAll: false
|
||||
deimplantWhitelist:
|
||||
- SadTromboneImplant
|
||||
- LightImplant
|
||||
- BikeHornImplant
|
||||
- TrackingImplant
|
||||
- StorageImplant
|
||||
- FreedomImplant
|
||||
- UplinkImplant
|
||||
- EmpImplant
|
||||
- ScramImplant
|
||||
- DnaScramblerImplant
|
||||
- MicroBombImplant
|
||||
- MacroBombImplant
|
||||
- DeathAcidifierImplant
|
||||
- DeathRattleImplant
|
||||
- MindShieldImplant
|
||||
- FakeMindShieldImplant
|
||||
- RadioImplant
|
||||
- ChameleonControllerImplant
|
||||
deimplantFailureDamage:
|
||||
types:
|
||||
Cellular: 50
|
||||
Heat: 10
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Medical/implanter.rsi
|
||||
state: implanter0
|
||||
layers:
|
||||
- state: implanter0
|
||||
map: [ "implantOnly" ]
|
||||
visible: true
|
||||
- state: implanter1
|
||||
map: [ "implantFull" ]
|
||||
visible: false
|
||||
- type: Item
|
||||
sprite: Objects/Specific/Medical/implanter.rsi
|
||||
heldPrefix: implanter
|
||||
size: Small
|
||||
- type: Appearance
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.ImplanterVisuals.Full:
|
||||
implantFull:
|
||||
True: {visible: true}
|
||||
False: {visible: false}
|
||||
enum.ImplanterImplantOnlyVisuals.ImplantOnly:
|
||||
implantOnly:
|
||||
True: {state: broken}
|
||||
False: {state: implanter0}
|
||||
- type: UserInterface
|
||||
interfaces:
|
||||
enum.DeimplantUiKey.Key:
|
||||
type: DeimplantBoundUserInterface
|
||||
|
||||
- type: entity
|
||||
id: Implanter
|
||||
parent: BaseImplanter
|
||||
description: A disposable syringe exclusively designed for the injection and extraction of subdermal implants.
|
||||
components:
|
||||
- type: Tag
|
||||
tags:
|
||||
- Trash
|
||||
- type: Tag
|
||||
tags:
|
||||
- Trash
|
||||
|
||||
- type: entity
|
||||
parent: Implanter
|
||||
@@ -108,18 +108,18 @@
|
||||
description: A disposable syringe exclusively designed for the injection of subdermal implants.
|
||||
abstract: true
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Medical/implanter.rsi
|
||||
state: implanter0
|
||||
layers:
|
||||
- state: implanter1
|
||||
map: [ "implantFull" ]
|
||||
visible: true
|
||||
- state: implanter0
|
||||
map: [ "implantOnly" ]
|
||||
- type: Implanter
|
||||
currentMode: Inject
|
||||
implantOnly: true
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Medical/implanter.rsi
|
||||
state: implanter0
|
||||
layers:
|
||||
- state: implanter1
|
||||
map: [ "implantFull" ]
|
||||
visible: true
|
||||
- state: implanter0
|
||||
map: [ "implantOnly" ]
|
||||
- type: Implanter
|
||||
currentMode: Inject
|
||||
implantOnly: true
|
||||
|
||||
- type: entity
|
||||
id: BaseImplantOnlyImplanterSyndi
|
||||
@@ -128,30 +128,30 @@
|
||||
description: A compact disposable syringe exclusively designed for the injection of subdermal implants. Make sure to scrub it with soap or a rag to remove residual DNA after use!
|
||||
abstract: true
|
||||
components:
|
||||
- type: Item
|
||||
sprite: Objects/Specific/Medical/syndi_implanter.rsi
|
||||
heldPrefix: implanter
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Medical/syndi_implanter.rsi
|
||||
state: implanter1
|
||||
layers:
|
||||
- state: implanter0
|
||||
map: [ "implantFull" ]
|
||||
visible: true
|
||||
- state: implanter1
|
||||
map: [ "implantOnly" ]
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.ImplanterVisuals.Full:
|
||||
implantFull:
|
||||
True: {visible: true}
|
||||
False: {visible: false}
|
||||
enum.ImplanterImplantOnlyVisuals.ImplantOnly:
|
||||
implantOnly:
|
||||
True: {state: broken}
|
||||
False: {state: implanter1}
|
||||
- type: Tag
|
||||
tags: []
|
||||
- type: Item
|
||||
sprite: Objects/Specific/Medical/syndi_implanter.rsi
|
||||
heldPrefix: implanter
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Medical/syndi_implanter.rsi
|
||||
state: implanter1
|
||||
layers:
|
||||
- state: implanter0
|
||||
map: [ "implantFull" ]
|
||||
visible: true
|
||||
- state: implanter1
|
||||
map: [ "implantOnly" ]
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.ImplanterVisuals.Full:
|
||||
implantFull:
|
||||
True: {visible: true}
|
||||
False: {visible: false}
|
||||
enum.ImplanterImplantOnlyVisuals.ImplantOnly:
|
||||
implantOnly:
|
||||
True: {state: broken}
|
||||
False: {state: implanter1}
|
||||
- type: Tag
|
||||
tags: []
|
||||
|
||||
#Fun implanters
|
||||
|
||||
@@ -160,24 +160,24 @@
|
||||
name: sad trombone implanter
|
||||
parent: BaseImplantOnlyImplanter
|
||||
components:
|
||||
- type: Implanter
|
||||
implant: SadTromboneImplant
|
||||
- type: Implanter
|
||||
implant: SadTromboneImplant
|
||||
|
||||
- type: entity
|
||||
id: LightImplanter
|
||||
name: light implanter
|
||||
parent: BaseImplantOnlyImplanter
|
||||
components:
|
||||
- type: Implanter
|
||||
implant: LightImplant
|
||||
- type: Implanter
|
||||
implant: LightImplant
|
||||
|
||||
- type: entity
|
||||
id: BikeHornImplanter
|
||||
name: bike horn implanter
|
||||
parent: BaseImplantOnlyImplanter
|
||||
components:
|
||||
- type: Implanter
|
||||
implant: BikeHornImplant
|
||||
- type: Implanter
|
||||
implant: BikeHornImplant
|
||||
|
||||
#Security implanters
|
||||
|
||||
@@ -186,8 +186,8 @@
|
||||
name: tracking implanter
|
||||
parent: BaseImplantOnlyImplanter
|
||||
components:
|
||||
- type: Implanter
|
||||
implant: TrackingImplant
|
||||
- type: Implanter
|
||||
implant: TrackingImplant
|
||||
|
||||
#Traitor implanters
|
||||
|
||||
@@ -196,16 +196,16 @@
|
||||
name: storage implanter
|
||||
parent: BaseImplantOnlyImplanterSyndi
|
||||
components:
|
||||
- type: Implanter
|
||||
implant: StorageImplant
|
||||
- type: Implanter
|
||||
implant: StorageImplant
|
||||
|
||||
- type: entity
|
||||
id: FreedomImplanter
|
||||
name: freedom implanter
|
||||
parent: BaseImplantOnlyImplanterSyndi
|
||||
components:
|
||||
- type: Implanter
|
||||
implant: FreedomImplant
|
||||
- type: Implanter
|
||||
implant: FreedomImplant
|
||||
|
||||
- type: entity
|
||||
id: RadioImplanter
|
||||
@@ -228,24 +228,24 @@
|
||||
name: EMP implanter
|
||||
parent: BaseImplantOnlyImplanterSyndi
|
||||
components:
|
||||
- type: Implanter
|
||||
implant: EmpImplant
|
||||
- type: Implanter
|
||||
implant: EmpImplant
|
||||
|
||||
- type: entity
|
||||
id: ScramImplanter
|
||||
name: scram implanter
|
||||
parent: BaseImplantOnlyImplanterSyndi
|
||||
components:
|
||||
- type: Implanter
|
||||
implant: ScramImplant
|
||||
- type: Implanter
|
||||
implant: ScramImplant
|
||||
|
||||
- type: entity
|
||||
id: DnaScramblerImplanter
|
||||
name: DNA scrambler implanter
|
||||
parent: BaseImplantOnlyImplanterSyndi
|
||||
components:
|
||||
- type: Implanter
|
||||
implant: DnaScramblerImplant
|
||||
- type: Implanter
|
||||
implant: DnaScramblerImplant
|
||||
|
||||
- type: entity
|
||||
id: ChameleonControllerImplanter
|
||||
@@ -262,24 +262,24 @@
|
||||
name: micro-bomb implanter
|
||||
parent: BaseImplantOnlyImplanterSyndi
|
||||
components:
|
||||
- type: Implanter
|
||||
implant: MicroBombImplant
|
||||
- type: Implanter
|
||||
implant: MicroBombImplant
|
||||
|
||||
- type: entity
|
||||
id: MacroBombImplanter
|
||||
name: macro-bomb implanter
|
||||
parent: BaseImplantOnlyImplanterSyndi
|
||||
components:
|
||||
- type: Implanter
|
||||
implant: MacroBombImplant
|
||||
- type: Implanter
|
||||
implant: MacroBombImplant
|
||||
|
||||
- type: entity
|
||||
id: DeathRattleImplanter
|
||||
name: death rattle implanter
|
||||
parent: BaseImplantOnlyImplanterSyndi
|
||||
components:
|
||||
- type: Implanter
|
||||
implant: DeathRattleImplant
|
||||
- type: Implanter
|
||||
implant: DeathRattleImplant
|
||||
|
||||
- type: entity
|
||||
id: DeathAcidifierImplanter
|
||||
@@ -304,8 +304,8 @@
|
||||
name: mindshield implanter
|
||||
parent: BaseImplantOnlyImplanter
|
||||
components:
|
||||
- type: Implanter
|
||||
implant: MindShieldImplant
|
||||
- type: Implanter
|
||||
implant: MindShieldImplant
|
||||
|
||||
# Centcomm implanters
|
||||
|
||||
|
||||
@@ -19,18 +19,18 @@
|
||||
description: This implant plays a sad tune when the user dies.
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: SubdermalImplant
|
||||
whitelist:
|
||||
components:
|
||||
- MobState # admeme implanting a chair with trombone implant needs to give the chair mobstate so it can die first
|
||||
- type: TriggerOnMobstateChange
|
||||
mobState:
|
||||
- Dead
|
||||
- type: EmitSoundOnTrigger
|
||||
sound:
|
||||
collection: SadTrombone
|
||||
params:
|
||||
variation: 0.125
|
||||
- type: SubdermalImplant
|
||||
whitelist:
|
||||
components:
|
||||
- MobState # admeme implanting a chair with trombone implant needs to give the chair mobstate so it can die first
|
||||
- type: TriggerOnMobstateChange
|
||||
mobState:
|
||||
- Dead
|
||||
- type: EmitSoundOnTrigger
|
||||
sound:
|
||||
collection: SadTrombone
|
||||
params:
|
||||
variation: 0.125
|
||||
|
||||
- type: entity
|
||||
parent: BaseSubdermalImplant
|
||||
@@ -39,20 +39,20 @@
|
||||
description: This implant emits light from the user's skin on activation.
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: SubdermalImplant
|
||||
implantAction: ActionToggleLight
|
||||
- type: PointLight
|
||||
enabled: false
|
||||
radius: 2.5
|
||||
softness: 5
|
||||
mask: /Textures/Effects/LightMasks/cone.png
|
||||
autoRot: true
|
||||
- type: Tag
|
||||
tags:
|
||||
- SubdermalImplant
|
||||
- HideContextMenu
|
||||
- Flashlight
|
||||
- type: UnpoweredFlashlight
|
||||
- type: SubdermalImplant
|
||||
implantAction: ActionToggleLight
|
||||
- type: PointLight
|
||||
enabled: false
|
||||
radius: 2.5
|
||||
softness: 5
|
||||
mask: /Textures/Effects/LightMasks/cone.png
|
||||
autoRot: true
|
||||
- type: Tag
|
||||
tags:
|
||||
- SubdermalImplant
|
||||
- HideContextMenu
|
||||
- Flashlight
|
||||
- type: UnpoweredFlashlight
|
||||
|
||||
- type: entity
|
||||
parent: BaseSubdermalImplant
|
||||
@@ -108,6 +108,7 @@
|
||||
description: This implant grants hidden storage within a person's body using bluespace technology.
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: StorageImplant
|
||||
- type: SubdermalImplant
|
||||
implantAction: ActionOpenStorageImplant
|
||||
whitelist:
|
||||
@@ -280,6 +281,10 @@
|
||||
components:
|
||||
- type: SubdermalImplant
|
||||
permanent: true
|
||||
- type: ReplacementImplant
|
||||
whitelist:
|
||||
tags:
|
||||
- MicroBomb # replace microbomb implant with macrobomb
|
||||
- type: TriggerOnMobstateChange #activates the timer
|
||||
mobState:
|
||||
- Dead
|
||||
@@ -306,9 +311,9 @@
|
||||
canCreateVacuum: true
|
||||
- type: Tag
|
||||
tags:
|
||||
- SubdermalImplant
|
||||
- HideContextMenu
|
||||
- MacroBomb
|
||||
- SubdermalImplant
|
||||
- HideContextMenu
|
||||
- MacroBomb
|
||||
|
||||
- type: entity
|
||||
parent: BaseSubdermalImplant
|
||||
@@ -362,9 +367,11 @@
|
||||
description: This implant allows the implanter to produce a fake signal that NT security huds use to identify individuals implanted with a mindshield.
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: SubdermalImplant
|
||||
implantAction: FakeMindShieldToggleAction
|
||||
- type: FakeMindShieldImplant
|
||||
- type: SubdermalImplant
|
||||
implantAction: FakeMindShieldToggleAction
|
||||
implantComponents:
|
||||
- type: FakeMindShield # TODO: put the component on the implant and use implant relay events for the status icon
|
||||
- type: FakeMindShieldImplant
|
||||
|
||||
# Sec and Command implants
|
||||
|
||||
|
||||
Reference in New Issue
Block a user