action refactor proper ecs edition (#27422)

This commit is contained in:
deltanedas
2025-05-28 19:52:11 +00:00
committed by GitHub
parent a9f7cfbcb6
commit b3825dce97
111 changed files with 1995 additions and 2901 deletions

View File

@@ -556,11 +556,13 @@
Hair: HEAD
- type: entity
parent: BaseAction
id: ActionToggleJusticeHelm
name: Toggle Justice Helm
description: Toggles the justice helm on and off.
components:
- type: InstantAction
- type: Action
useDelay: 1
itemIconStyle: BigItem
- type: InstantAction
event: !type:ToggleActionEvent

View File

@@ -242,13 +242,10 @@
accent: OwOAccent
- type: entity
categories: [ Actions, HideSpawnMenu ]
parent: BaseToggleAction
id: ActionBecomeValid
name: Become Valid
description: "*notices your killsign* owo whats this"
components:
- type: InstantAction
event: !type:ToggleActionEvent
- type: entity
parent: ClothingHeadBase

View File

@@ -20,13 +20,15 @@
- type: Mask
- type: entity
parent: BaseAction
id: ActionToggleMask
name: Toggle Mask
description: Handy, but prevents insertion of pie into your pie hole.
components:
- type: InstantAction
- type: Action
icon: { sprite: Clothing/Mask/gas.rsi, state: icon }
iconOn: Interface/Default/blocked.png
- type: InstantAction
event: !type:ToggleMaskEvent
- type: entity

View File

@@ -50,17 +50,20 @@
- type: Stethoscope
- type: entity
parent: BaseAction
id: ActionStethoscope
name: Listen with stethoscope
components:
- type: EntityTargetAction
- type: Action
icon:
sprite: Clothing/Neck/Misc/stethoscope.rsi
state: icon
event: !type:StethoscopeActionEvent
checkCanInteract: false
priority: -1
itemIconStyle: BigAction
checkCanInteract: false
- type: TargetAction
- type: EntityTargetAction
event: !type:StethoscopeActionEvent
- type: entity
parent: ClothingNeckBase

View File

@@ -115,10 +115,12 @@
size: Normal
- type: entity
parent: BaseAction
id: ActionToggleMagboots
name: Toggle Magboots
description: Toggles the magboots on and off.
components:
- type: InstantAction
- type: Action
itemIconStyle: BigItem
- type: InstantAction
event: !type:ToggleActionEvent

View File

@@ -155,12 +155,14 @@
tags: []
- type: entity
parent: BaseAction
id: ActionToggleSpeedBoots
name: Toggle Speed Boots
description: Toggles the speed boots on and off.
components:
- type: InstantAction
- type: Action
itemIconStyle: BigItem
- type: InstantAction
event: !type:ToggleActionEvent
- type: entity

View File

@@ -99,11 +99,12 @@
amount: 3
- type: entity
parent: BaseAction
id: ActionGoliathTentacle
name: "[color=red]Tentacle Slam[/color]"
description: Use your tentacles to grab and stun a target player!
components:
- type: EntityWorldTargetAction
- type: Action
raiseOnUser: true
icon:
sprite: Mobs/Aliens/Asteroid/goliath.rsi
@@ -113,9 +114,11 @@
state: goliath_tentacle_wiggle
sound:
path: "/Audio/Weapons/slash.ogg"
event: !type:GoliathSummonTentacleAction
useDelay: 8
- type: TargetAction
range: 10
- type: WorldTargetAction
event: !type:GoliathSummonTentacleAction
- type: entity
id: GoliathTentacle

View File

@@ -315,35 +315,40 @@
IngotGold1: 5 #loot
- type: entity
parent: BaseAction
id: ActionRatKingRaiseArmy
name: Raise Army
description: Spend some hunger to summon an allied rat to help defend you.
components:
- type: InstantAction
- type: Action
useDelay: 4
icon:
sprite: Interface/Actions/actions_rat_king.rsi
state: ratKingArmy
- type: InstantAction
event: !type:RatKingRaiseArmyActionEvent
- type: entity
parent: BaseAction
id: ActionRatKingDomain
name: Rat King's Domain
description: Spend some hunger to release a cloud of ammonia into the air.
components:
- type: InstantAction
- type: Action
useDelay: 6
icon:
sprite: Interface/Actions/actions_rat_king.rsi
state: ratKingDomain
- type: InstantAction
event: !type:RatKingDomainActionEvent
- type: entity
parent: BaseAction
id: ActionRatKingOrderStay
name: Stay
description: Command your army to stand in place.
components:
- type: InstantAction
- type: Action
useDelay: 1
icon:
sprite: Interface/Actions/actions_rat_king.rsi
@@ -351,17 +356,18 @@
iconOn:
sprite: Interface/Actions/actions_rat_king.rsi
state: stay
event:
!type:RatKingOrderActionEvent
type: Stay
priority: 5
- type: InstantAction
event: !type:RatKingOrderActionEvent
type: Stay
- type: entity
parent: BaseAction
id: ActionRatKingOrderFollow
name: Follow
description: Command your army to follow you around.
components:
- type: InstantAction
- type: Action
useDelay: 1
icon:
sprite: Interface/Actions/actions_rat_king.rsi
@@ -369,17 +375,18 @@
iconOn:
sprite: Interface/Actions/actions_rat_king.rsi
state: follow
event:
!type:RatKingOrderActionEvent
type: Follow
priority: 6
- type: InstantAction
event: !type:RatKingOrderActionEvent
type: Follow
- type: entity
parent: BaseAction
id: ActionRatKingOrderCheeseEm
name: Cheese 'Em
description: Command your army to attack whoever you point at.
components:
- type: InstantAction
- type: Action
useDelay: 1
icon:
sprite: Interface/Actions/actions_rat_king.rsi
@@ -387,17 +394,18 @@
iconOn:
sprite: Interface/Actions/actions_rat_king.rsi
state: attack
event:
!type:RatKingOrderActionEvent
type: CheeseEm
priority: 7
- type: InstantAction
event: !type:RatKingOrderActionEvent
type: CheeseEm
- type: entity
parent: BaseAction
id: ActionRatKingOrderLoose
name: Loose
description: Command your army to act at their own will.
components:
- type: InstantAction
- type: Action
useDelay: 1
icon:
sprite: Interface/Actions/actions_rat_king.rsi
@@ -405,7 +413,8 @@
iconOn:
sprite: Interface/Actions/actions_rat_king.rsi
state: loose
priority: 8
- type: InstantAction
event:
!type:RatKingOrderActionEvent
type: Loose
priority: 8

View File

@@ -103,73 +103,86 @@
- type: BypassInteractionChecks
- type: entity
abstract: true
parent: BaseAction
id: BaseAGhostAction
components:
- type: Action
icon: { sprite: Structures/Machines/parts.rsi, state: box_0 }
iconOn: Structures/Machines/parts.rsi/box_2.png
keywords: [ "AI", "console", "interface" ]
priority: -10
- type: entity
parent: BaseAGhostAction
id: ActionAGhostShowSolar
name: Solar Control Interface
description: View a Solar Control Interface.
components:
- type: InstantAction
icon: { sprite: Structures/Machines/parts.rsi, state: box_0 }
iconOn: Structures/Machines/parts.rsi/box_2.png
keywords: [ "AI", "console", "interface" ]
priority: -10
event: !type:ToggleIntrinsicUIEvent { key: enum.SolarControlConsoleUiKey.Key }
- type: entity
parent: BaseAGhostAction
id: ActionAGhostShowCommunications
name: Communications Interface
description: View a Communications Interface.
components:
- type: InstantAction
- type: Action
icon: { sprite: Interface/Actions/actions_ai.rsi, state: comms_console }
iconOn: Interface/Actions/actions_ai.rsi/comms_console.png
keywords: [ "AI", "console", "interface" ]
priority: -4
- type: InstantAction
event: !type:ToggleIntrinsicUIEvent { key: enum.CommunicationsConsoleUiKey.Key }
- type: entity
parent: BaseAGhostAction
id: ActionAGhostShowRadar
name: Mass Scanner Interface
description: View a Mass Scanner Interface.
components:
- type: InstantAction
- type: Action
icon: { sprite: Interface/Actions/actions_ai.rsi, state: mass_scanner }
iconOn: Interface/Actions/actions_ai.rsi/mass_scanner.png
keywords: [ "AI", "console", "interface" ]
priority: -6
- type: InstantAction
event: !type:ToggleIntrinsicUIEvent { key: enum.RadarConsoleUiKey.Key }
- type: entity
parent: BaseAGhostAction
id: ActionAGhostShowCargo
name: Cargo Ordering Interface
description: View a Cargo Ordering Interface.
components:
- type: InstantAction
icon: { sprite: Structures/Machines/parts.rsi, state: box_0 }
iconOn: Structures/Machines/parts.rsi/box_2.png
keywords: [ "AI", "console", "interface" ]
priority: -10
event: !type:ToggleIntrinsicUIEvent { key: enum.CargoConsoleUiKey.Orders }
- type: entity
parent: BaseAGhostAction
id: ActionAGhostShowCrewMonitoring
name: Crew Monitoring Interface
description: View a Crew Monitoring Interface.
components:
- type: InstantAction
- type: Action
icon: { sprite: Interface/Actions/actions_ai.rsi, state: crew_monitor }
iconOn: Interface/Actions/actions_ai.rsi/crew_monitor.png
keywords: [ "AI", "console", "interface" ]
priority: -8
- type: InstantAction
event: !type:ToggleIntrinsicUIEvent { key: enum.CrewMonitoringUIKey.Key }
- type: entity
parent: BaseAGhostAction
id: ActionAGhostShowStationRecords
name: Station Records Interface
description: View a Station Records Interface.
components:
- type: InstantAction
- type: Action
icon: { sprite: Interface/Actions/actions_ai.rsi, state: station_records }
iconOn: Interface/Actions/actions_ai.rsi/station_records.png
keywords: [ "AI", "console", "interface" ]
priority: -7
- type: InstantAction
event: !type:ToggleIntrinsicUIEvent { key: enum.GeneralStationRecordConsoleKey.Key }

View File

@@ -230,39 +230,47 @@
Brute: 12
- type: entity
parent: BaseAction
id: ActionSpawnRift
name: Summon Carp Rift
description: Summons a carp rift that will periodically spawns carps.
components:
- type: InstantAction
- type: Action
icon:
sprite: Interface/Actions/carp_rift.rsi
state: icon
event: !type:DragonSpawnRiftActionEvent
useDelay: 1
priority: 3
- type: InstantAction
event: !type:DragonSpawnRiftActionEvent
- type: entity
parent: BaseAction
id: ActionDevour
name: "[color=red]Devour[/color]"
description: Attempt to break a structure with your jaws or swallow a creature.
components:
- type: EntityTargetAction
- type: Action
icon: { sprite : Interface/Actions/devour.rsi, state: icon }
iconOn: { sprite : Interface/Actions/devour.rsi, state: icon-on }
event: !type:DevourActionEvent
priority: 1
- type: TargetAction
- type: EntityTargetAction
event: !type:DevourActionEvent
- type: entity
parent: BaseAction
id: ActionDragonsBreath
name: "[color=orange]Dragon's Breath[/color]"
description: Spew out flames at anyone foolish enough to attack you!
components:
- type: WorldTargetAction
# TODO: actual sprite
- type: Action
# TODO: actual sprite and iconOn
icon: { sprite : Objects/Weapons/Guns/Projectiles/magic.rsi, state: fireball }
event: !type:ActionGunShootEvent
itemIconStyle: BigAction
priority: 2
- type: TargetAction
checkCanAccess: false
range: 0
itemIconStyle: BigAction
- type: WorldTargetAction
event: !type:ActionGunShootEvent

View File

@@ -261,13 +261,13 @@
task: SimpleHumanoidHostileCompound
- type: entity
parent: BaseMentalAction
id: ActionToggleGuardian
name: Toggle Guardian
description: Either manifests the guardian or recalls it back into your body
components:
- type: InstantAction
- type: Action
icon: Interface/Actions/manifest.png
event: !type:GuardianToggleActionEvent
useDelay: 2
checkCanInteract: false
checkConsciousness: false
- type: InstantAction
event: !type:GuardianToggleActionEvent

View File

@@ -80,59 +80,65 @@
- AllowGhostShownByEvent
- type: entity
parent: BaseMentalAction
id: ActionGhostBoo
name: Boo!
description: Scare your crew members because of boredom!
components:
- type: InstantAction
- type: Action
icon: Interface/Actions/scream.png
checkCanInteract: false
event: !type:BooActionEvent
startDelay: true
useDelay: 120
- type: InstantAction
event: !type:BooActionEvent
- type: entity
parent: BaseMentalAction
id: ActionToggleLighting
name: Toggle Lighting
description: Toggle light rendering to better observe dark areas.
components:
- type: InstantAction
- type: Action
icon: Interface/VerbIcons/light.svg.192dpi.png
clientExclusive: true
checkCanInteract: false
- type: InstantAction
event: !type:ToggleLightingActionEvent
- type: entity
parent: BaseMentalAction
id: ActionToggleFov
name: Toggle FoV
description: Toggles field-of-view in order to see what players see.
components:
- type: InstantAction
- type: Action
icon: Interface/VerbIcons/vv.svg.192dpi.png
clientExclusive: true
checkCanInteract: false
- type: InstantAction
event: !type:ToggleFoVActionEvent
- type: entity
parent: BaseMentalAction
id: ActionToggleGhosts
name: Toggle Ghosts
description: Toggle the visibility of other ghosts.
components:
- type: InstantAction
- type: Action
icon: { sprite: Mobs/Ghosts/ghost_human.rsi, state: icon }
clientExclusive: true
checkCanInteract: false
- type: InstantAction
event: !type:ToggleGhostsActionEvent
- type: entity
parent: BaseMentalAction
id: ActionToggleGhostHearing
name: Toggle Ghost Hearing
description: Toggle between hearing all messages and hearing only radio & nearby messages.
components:
- type: InstantAction
checkCanInteract: false
- type: Action
icon:
sprite: Clothing/Ears/Headsets/base.rsi
state: icon
iconOn: Interface/Actions/ghostHearingToggled.png
- type: InstantAction
event: !type:ToggleGhostHearingActionEvent

View File

@@ -12,7 +12,7 @@
components:
- Anchorable
- Item
tags:
tags:
- Bot # for funny bot moments
blacklist:
components:
@@ -39,23 +39,27 @@
# actions
- type: entity
parent: BaseAction
id: ActionDisguiseNoRot
name: Toggle Rotation
description: Use this to prevent your disguise from rotating, making it easier to hide in some scenarios.
components:
- type: InstantAction
- type: Action
icon: Interface/VerbIcons/refresh.svg.192dpi.png
itemIconStyle: BigAction
- type: InstantAction
event: !type:DisguiseToggleNoRotEvent
- type: entity
parent: BaseAction
id: ActionDisguiseAnchor
name: Toggle Anchored
description: For many objects you will want to be anchored to not be completely obvious.
components:
- type: InstantAction
- type: Action
icon:
sprite: Objects/Tools/wrench.rsi
state: icon
itemIconStyle: BigAction
- type: InstantAction
event: !type:DisguiseToggleAnchoredEvent

View File

@@ -160,51 +160,51 @@
node: potatoai
- type: entity
parent: BaseMentalAction
id: ActionPAIOpenShop
name: Software Catalog
description: Install new software to assist your owner.
components:
- type: InstantAction
checkCanInteract: false
checkConsciousness: false
- type: Action
icon: Interface/Actions/shop.png
- type: InstantAction
event: !type:PAIShopActionEvent
- type: entity
parent: BaseMentalAction
id: ActionPAIMassScanner
name: Mass Scanner
description: View a mass scanner interface.
components:
- type: InstantAction
checkCanInteract: false
checkConsciousness: false
- type: Action
icon: { sprite: Interface/Actions/actions_ai.rsi, state: mass_scanner }
itemIconStyle: NoItem
- type: InstantAction
event: !type:OpenUiActionEvent
key: enum.RadarConsoleUiKey.Key
key: enum.RadarConsoleUiKey.Key
- type: entity
parent: BaseMentalAction
id: ActionPAIPlayMidi
name: Play MIDI
description: Open your portable MIDI interface to soothe your owner.
components:
- type: InstantAction
checkCanInteract: false
checkConsciousness: false
- type: Action
icon: Interface/Actions/pai-midi.png
itemIconStyle: NoItem
- type: InstantAction
event: !type:OpenUiActionEvent
key: enum.InstrumentUiKey.Key
- type: entity
parent: BaseMentalAction
id: ActionPAIOpenMap
name: Open Map
description: Open your map interface and guide your owner.
components:
- type: InstantAction
checkCanInteract: false
checkConsciousness: false
icon: { sprite: Interface/Actions/pai-map.rsi, state: icon }
itemIconStyle: NoItem
event: !type:OpenUiActionEvent
key: enum.StationMapUiKey.Key
- type: Action
icon: { sprite: Interface/Actions/pai-map.rsi, state: icon }
itemIconStyle: NoItem
- type: InstantAction
event: !type:OpenUiActionEvent
key: enum.StationMapUiKey.Key

View File

@@ -84,11 +84,13 @@
sprite: Objects/Specific/Chapel/necronomicon.rsi
- type: entity
parent: BaseAction
id: ActionBibleSummon
name: Summon familiar
description: Summon a familiar that will aid you and gain humanlike intelligence once inhabited by a soul.
components:
- type: InstantAction
- type: Action
icon: { sprite: Clothing/Head/Hats/witch.rsi, state: icon }
event: !type:SummonActionEvent
useDelay: 1
- type: InstantAction
event: !type:SummonActionEvent

View File

@@ -49,13 +49,15 @@
provided_container: !type:Container { }
- type: entity
parent: BaseAction
id: ActionBorgSwapModule
name: Swap Module
description: Select this module, enabling you to use the tools it provides.
components:
- type: InstantAction
- type: Action
itemIconStyle: BigAction
useDelay: 0.5
- type: InstantAction
event: !type:BorgModuleActionSelectedEvent
- type: entity

View File

@@ -51,13 +51,15 @@
Acidic: [Touch]
- type: entity
parent: BaseAction
id: ActionArtifactActivate
name: Activate Artifact
description: Activate yourself, causing chaos to those near you.
components:
- type: InstantAction
- type: Action
icon:
sprite: Objects/Specific/Xenoarchaeology/xeno_artifacts.rsi
state: ano29
useDelay: 300
- type: InstantAction
event: !type:ArtifactSelfActivateEvent

View File

@@ -56,11 +56,12 @@
price: 100
- type: entity
parent: BaseAction
id: ActionToggleJetpack
name: Toggle jetpack
description: Toggles the jetpack, giving you movement outside the station.
components:
- type: InstantAction
- type: Action
icon:
sprite: Objects/Tanks/Jetpacks/blue.rsi
state: icon
@@ -68,6 +69,7 @@
sprite: Objects/Tanks/Jetpacks/blue.rsi
state: icon-on
useDelay: 1.0
- type: InstantAction
event: !type:ToggleJetpackEvent
#Empty blue