Fake mindshield componentry and Implanter (#34079)

* Fake Mindshield (With some bad sprites)

- Add FakeMindshield System and Component

- Add FakeMindsheildImplantSystem and Component

- modify ShowMindShieldIconsSystem to check for FakeMindshields

- add all supporting yaml for the Implants, action and uplink

- add loc file stuff

- add unfinished sprites

* Cleanup, add to thief toolbox, remove metagame

- Move Implant sameness check to AFTER the implant DoAfter
to prevent instant identification of Deception Implants

- cleanup the systems and components

- add the fake mindshield to the Thief toolbox

* part 1 of fixing the folder problem

* Make the fakemindshield sprite folder lowercase

* CR - Move ImplantCheck into shared, cleanup

- Moved ImplantCheck and eventsubscription into Shared

- Remove Client/Server extensions of FakeMindshieldImplantSystem and
FakeMindShieldSystem and make shared Sealed

- make OnToggleMindshield Private, use the event!

* CR - Cleanup extra lines, fix some Prototype

- cleaned up extra liens in ImplanterSystem and
SharedFakeMindshieldSystem from when i was developing

- Uplink catalog no longer lists the implant in 2 spots,
only implants now, also uses the On state action icon

- added a comment about why it's reraising the action event
rather than directly interacting with the FakeMindshield Component

* Fake Mindshield CR:

- Added a comment about IsEnabled

- moved OnFakeMindShieldToggle to Entity<> from Uid, Comp

- fixed some formatting in uplink_catalog

* CR - Add a bit more comment
This commit is contained in:
Zachary Higgs
2025-01-27 22:37:46 -04:00
committed by GitHub
parent c212273301
commit c5045883ac
17 changed files with 183 additions and 18 deletions

View File

@@ -328,3 +328,15 @@
itemIconStyle: NoItem
useDelay: 1 # emote spam
event: !type:ToggleActionEvent
- type: entity
id: FakeMindShieldToggleAction
name: action-name-toggle-fake-mindshield
description: action-description-toggle-fake-mindshield
components:
- type: InstantAction
icon: { sprite: Interface/Actions/actions_fakemindshield.rsi, state: icon }
iconOn: { sprite: Interface/Actions/actions_fakemindshield.rsi, state: icon-on }
itemIconStyle: NoItem
useDelay: 1
event: !type:FakeMindShieldToggleEvent

View File

@@ -17,6 +17,7 @@
- ClothingShoesChameleon
- BarberScissors
- ChameleonProjector
- FakeMindShieldImplanter
- AgentIDCard
- type: thiefBackpackSet

View File

@@ -1422,6 +1422,20 @@
components:
- SurplusBundle
- type: listing
id: UplinkFakeMindshield
name: uplink-fake-mindshield-name
description: uplink-fake-mindshield-desc
icon: { sprite: Interface/Actions/actions_fakemindshield.rsi, state: icon-on }
productEntity: FakeMindShieldImplanter
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 4
categories:
- UplinkImplants
# Wearables
- type: listing

View File

@@ -245,6 +245,14 @@
- type: Implanter
implant: DeathAcidifierImplant
- type: entity
id: FakeMindShieldImplanter
suffix: fake mindshield
parent: BaseImplantOnlyImplanterSyndi
components:
- type: Implanter
implant: FakeMindShieldImplant
# Security and Command implanters
- type: entity

View File

@@ -311,6 +311,17 @@
- Dead
- type: Rattle
- type: entity
parent: BaseSubdermalImplant
id: FakeMindShieldImplant
name: fake mindshield implant
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
# Sec and Command implants
- type: entity