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

@@ -1,9 +1,11 @@
- type: entity
parent: BaseAction
id: ActionAnomalyPulse
name: Anomaly pulse
description: Release a pulse of energy of your abnormal nature
components:
- type: InstantAction
- type: Action
useDelay: 30
icon: Structures/Specific/anomaly.rsi/anom1.png
- type: InstantAction
event: !type:ActionAnomalyPulseEvent
useDelay: 30

View File

@@ -1,26 +1,28 @@
- type: entity
- type: entity
parent: BaseMentalAction # allow reading laws when crit
id: ActionViewLaws
name: View Laws
description: View the laws that you must follow.
components:
- type: InstantAction
checkCanInteract: false
checkConsciousness: false
- type: Action
itemIconStyle: NoItem
icon:
sprite: Interface/Actions/actions_borg.rsi
state: state-laws
event: !type:ToggleLawsScreenEvent
useDelay: 0.5
- type: InstantAction
event: !type:ToggleLawsScreenEvent
- type: entity
parent: BaseAction
id: ActionSelectBorgType
name: Select Cyborg Type
components:
- type: InstantAction
- type: Action
itemIconStyle: NoItem
icon:
sprite: Interface/Actions/actions_borg.rsi
state: select-type
event: !type:BorgToggleSelectTypeEvent
useDelay: 0.5
- type: InstantAction
event: !type:BorgToggleSelectTypeEvent

View File

@@ -1,47 +1,50 @@
# Actions added to mobs in crit.
- type: entity
abstract: true
parent: BaseMentalAction
id: BaseCritAction
components:
- type: Action
itemIconStyle: NoItem
- type: entity
parent: BaseCritAction
id: ActionCritSuccumb
name: Succumb
description: Accept your fate.
components:
- type: InstantAction
itemIconStyle: NoItem
checkCanInteract: false
checkConsciousness: false
- type: Action
startDelay: true
useDelay: 10
icon:
sprite: Mobs/Ghosts/ghost_human.rsi
state: icon
- type: InstantAction
event: !type:CritSuccumbEvent
startDelay: true
useDelay: 10
- type: entity
parent: BaseCritAction
id: ActionCritFakeDeath
name: Fake Death
description: Pretend to take your final breath while staying alive.
components:
- type: InstantAction
itemIconStyle: NoItem
checkCanInteract: false
checkConsciousness: false
- type: Action
useDelay: 30
icon:
sprite: Interface/Actions/actions_crit.rsi
state: fakedeath
- type: InstantAction
event: !type:CritFakeDeathEvent
useDelay: 30
- type: entity
parent: ActionCritSuccumb # for use delay
id: ActionCritLastWords
name: Say Last Words
description: Whisper your last words to anyone nearby, and then succumb to your fate. You only have 30 characters to work with.
components:
- type: InstantAction
itemIconStyle: NoItem
checkCanInteract: false
checkConsciousness: false
- type: Action
icon:
sprite: Interface/Actions/actions_crit.rsi
state: lastwords
- type: InstantAction
event: !type:CritLastWordsEvent
startDelay: true
useDelay: 10

View File

@@ -1,24 +1,26 @@
- type: entity
parent: BaseSuicideAction
id: DionaGibAction
name: Gib Yourself!
description: Split apart into 3 nymphs.
components:
- type: InstantAction
- type: Action
icon:
sprite: Mobs/Species/Diona/organs.rsi
state: brain
- type: InstantAction
event: !type:GibActionEvent {}
checkCanInteract: false
checkConsciousness: false
- type: entity
parent: BaseAction
id: DionaReformAction
name: Reform
description: Reform back into a whole Diona.
components:
- type: InstantAction
- type: Action
useDelay: 600 # Once every 10 minutes. Keep them dead for a fair bit before reforming
icon:
sprite: Mobs/Species/Diona/parts.rsi
state: full
- type: InstantAction
event: !type:ReformEvent {}
useDelay: 600 # Once every 10 minutes. Keep them dead for a fair bit before reforming

View File

@@ -1,14 +1,16 @@
- type: entity
- type: entity
parent: BaseAction
id: ActionToggleInternals
name: Toggle Internals
description: Breathe from the equipped gas tank. Also requires equipped breath mask.
components:
- type: InstantAction
- type: Action
useDelay: 1
icon:
sprite: Interface/Alerts/internals.rsi
state: internal2
iconOn:
sprite: Interface/Alerts/internals.rsi
state: internal1
- type: InstantAction
event: !type:ToggleActionEvent
useDelay: 1

View File

@@ -0,0 +1,48 @@
- type: entity
abstract: true
parent: BaseMentalAction
id: BaseMappingAction
components:
- type: Action
clientExclusive: true
- type: entity
parent: BaseMappingAction
id: BaseMappingDecalAction # not abstract but the event has to be set in code
components:
- type: TargetAction
repeat: true
range: -1
- type: WorldTargetAction
event: null # has to be set with SetEvent in DecalPlacementSystem
- type: entity
parent: BaseMappingAction
id: BaseMappingSpawnAction # not abstract but the event has to be set in code
components:
- type: Action
icon: Tiles/cropped_parallax.png
- type: InstantAction
event: null # has to be set with SetEvent in MappingSystem
- type: entity
parent: BaseMappingAction
id: ActionMappingEraser
name: action-name-mapping-erase
components:
- type: Action
icon: Interface/VerbIcons/delete.svg.192dpi.png
- type: InstantAction
event: !type:StartPlacementActionEvent
eraser: true
# these are used for mapping actions yml files
- type: entity
parent: BaseMappingSpawnAction
id: BaseMappingEntityAction # not abstract but the event has to be set in code
components:
- type: Action
autoPopulate: False
temporary: True
- type: InstantAction
event: null # has to be set with SetEvent in ActionsSystem

View File

@@ -1,37 +1,48 @@
- type: entity
abstract: true
parent: BaseAction
id: BaseMechAction
components:
- type: Action
itemIconStyle: NoItem
- type: entity
parent: BaseMechAction
id: ActionMechCycleEquipment
name: Cycle
description: Cycles currently selected equipment
components:
- type: InstantAction
itemIconStyle: NoItem
- type: Action
useDelay: 0.5
icon:
sprite: Interface/Actions/actions_mecha.rsi
state: mech_cycle_equip_on
- type: InstantAction
event: !type:MechToggleEquipmentEvent
useDelay: 0.5
- type: entity
parent: BaseMechAction
id: ActionMechOpenUI
name: Control Panel
description: Opens the control panel for the mech
components:
- type: InstantAction
itemIconStyle: NoItem
- type: Action
useDelay: 1
icon:
sprite: Interface/Actions/actions_mecha.rsi
state: mech_view_stats
- type: InstantAction
event: !type:MechOpenUiEvent
useDelay: 1
- type: entity
parent: BaseMechAction
id: ActionMechEject
name: Eject
description: Ejects the pilot from the mech
components:
- type: InstantAction
itemIconStyle: NoItem
- type: Action
icon:
sprite: Interface/Actions/actions_mecha.rsi
state: mech_eject
- type: InstantAction
event: !type:MechEjectPilotEvent

View File

@@ -1,73 +1,82 @@
# gloves
- type: entity
parent: BaseToggleAction
id: ActionToggleNinjaGloves
name: Toggle ninja gloves
description: Toggles all glove actions on left click. Includes your doorjack, draining power, stunning enemies and hacking certain computers.
components:
- type: InstantAction
- type: Action
priority: -13
event: !type:ToggleActionEvent {}
# suit
- type: entity
parent: BaseAction
id: ActionCreateThrowingStar
name: Create throwing star
description: Channels suit power into creating a throwing star that deals extra stamina damage.
components:
- type: InstantAction
- type: Action
useDelay: 0.5
icon:
sprite: Objects/Weapons/Throwable/throwing_star.rsi
state: icon
itemIconStyle: NoItem
priority: -10
- type: InstantAction
event: !type:CreateItemEvent {}
- type: entity
parent: BaseAction
id: ActionRecallKatana
name: Recall katana
description: Teleports the Energy Katana linked to this suit to its wearer, cost based on distance.
components:
- type: InstantAction
- type: Action
useDelay: 1
icon:
sprite: Objects/Weapons/Melee/energykatana.rsi
state: icon
itemIconStyle: NoItem
priority: -11
- type: InstantAction
event: !type:RecallKatanaEvent {}
- type: entity
parent: BaseAction
id: ActionNinjaEmp
name: EM Burst
description: Disable any nearby technology with an electro-magnetic pulse.
components:
- type: InstantAction
- type: Action
icon:
sprite: Objects/Weapons/Grenades/empgrenade.rsi
state: icon
itemIconStyle: BigAction
priority: -13
- type: InstantAction
event: !type:NinjaEmpEvent {}
- type: entity
parent: BaseAction
id: ActionTogglePhaseCloak
name: Phase cloak
description: Toggles your suit's phase cloak. Beware that if you are hit, all abilities are disabled for 5 seconds, including your cloak!
components:
- type: InstantAction
- type: Action
# have to plan (un)cloaking ahead of time
useDelay: 5
priority: -9
- type: InstantAction
event: !type:ToggleActionEvent
# katana
- type: entity
parent: BaseAction
id: ActionEnergyKatanaDash
name: Katana dash
description: Teleport to anywhere you can see, if your Energy Katana is in your hand.
components:
- type: WorldTargetAction
- type: Action
icon:
sprite: Objects/Magic/magicactions.rsi
state: blink
@@ -77,6 +86,8 @@
params:
volume: 5
priority: -12
event: !type:DashEvent
- type: TargetAction
checkCanAccess: false
range: 0
- type: WorldTargetAction
event: !type:DashEvent

View File

@@ -1,4 +1,5 @@
- type: entity
- type: entity
parent: BaseAction
id: ActionRevertPolymorph
name: Revert
description: Revert back into your original form.
@@ -7,54 +8,59 @@
event: !type:RevertPolymorphActionEvent
- type: entity
id: ActionPolymorph
abstract: true
parent: BaseAction
id: BaseActionPolymorph
components:
- type: Action
itemIconStyle: NoItem
useDelay: 60
- type: InstantAction
event: !type:PolymorphActionEvent
itemIconStyle: NoItem
- type: entity
parent: BaseActionPolymorph
id: ActionPolymorphWizardSpider
name: Spider Polymorph
description: Polymorphs you into a Spider.
components:
- type: InstantAction
useDelay: 60
event: !type:PolymorphActionEvent
protoId: WizardSpider
itemIconStyle: NoItem
- type: Action
icon:
sprite: Mobs/Animals/spider.rsi
state: tarantula
- type: InstantAction
event: !type:PolymorphActionEvent
protoId: WizardSpider
- type: entity
parent: BaseActionPolymorph
id: ActionPolymorphWizardRod
name: Rod Form
description: CLANG!
components:
- type: InstantAction
useDelay: 60
event: !type:PolymorphActionEvent
protoId: WizardRod
itemIconStyle: NoItem
- type: Action
icon:
sprite: Objects/Fun/immovable_rod.rsi
state: icon
- type: InstantAction
event: !type:PolymorphActionEvent
protoId: WizardRod
- type: entity
parent: BaseActionPolymorph
id: ActionPolymorphJaunt
name: Ethereal Jaunt
description: Melt into the Ethereal Plane for a quick getaway!
components:
- type: Magic
- type: InstantAction
- type: Action
useDelay: 30
event: !type:PolymorphActionEvent
protoId: Jaunt
itemIconStyle: NoItem
icon:
sprite: Objects/Magic/magicactions.rsi
state: jaunt
- type: InstantAction
event: !type:PolymorphActionEvent
protoId: Jaunt
# TODO: Effect ECS (from cardboard box)
- type: ActionUpgrade
effectedLevels:
@@ -62,31 +68,19 @@
3: ActionPolymorphJauntIII
- type: entity
id: ActionPolymorphJauntII
parent: ActionPolymorphJaunt
id: ActionPolymorphJauntII
name: Ethereal Jaunt II
description: Melt into the Ethereal Plane for an even quicker getaway!
components:
- type: InstantAction
- type: Action
useDelay: 25
event: !type:PolymorphActionEvent
protoId: Jaunt
itemIconStyle: NoItem
icon:
sprite: Objects/Magic/magicactions.rsi
state: jaunt
- type: entity
id: ActionPolymorphJauntIII
parent: ActionPolymorphJaunt
id: ActionPolymorphJauntIII
name: Ethereal Jaunt III
description: Are you even tangible anymore?
components:
- type: InstantAction
- type: Action
useDelay: 20
event: !type:PolymorphActionEvent
protoId: Jaunt
itemIconStyle: NoItem
icon:
sprite: Objects/Magic/magicactions.rsi
state: jaunt

View File

@@ -1,48 +1,58 @@
- type: entity
parent: BaseAction
id: ActionRevenantShop
name: Shop
description: Opens the ability shop.
components:
- type: InstantAction
- type: Action
icon: Interface/Actions/shop.png
- type: InstantAction
event: !type:RevenantShopActionEvent
- type: entity
parent: BaseAction
id: ActionRevenantDefile
name: Defile
description: Costs 30 Essence.
components:
- type: InstantAction
icon: Interface/Actions/defile.png
event: !type:RevenantDefileActionEvent
- type: Action
useDelay: 15
icon: Interface/Actions/defile.png
- type: InstantAction
event: !type:RevenantDefileActionEvent
- type: entity
parent: BaseAction
id: ActionRevenantOverloadLights
name: Overload Lights
description: Costs 40 Essence.
components:
- type: InstantAction
- type: Action
icon: Interface/Actions/overloadlight.png
event: !type:RevenantOverloadLightsActionEvent
useDelay: 20
- type: InstantAction
event: !type:RevenantOverloadLightsActionEvent
#- type: entity
# parent: BaseAction
# id: ActionRevenantBlight
# name: Blight
# description: Costs 50 Essence.
# components:
# - type: InstantAction
# - type: Action
# icon: Interface/Actions/blight.png
# event: !type:RevenantBlightActionEvent
# useDelay: 20
# - type: InstantAction
# event: !type:RevenantBlightActionEvent
- type: entity
parent: BaseAction
id: ActionRevenantMalfunction
name: Malfunction
description: Costs 60 Essence.
components:
- type: InstantAction
- type: Action
icon: Interface/Actions/malfunction.png
event: !type:RevenantMalfunctionActionEvent
useDelay: 20
- type: InstantAction
event: !type:RevenantMalfunctionActionEvent

View File

@@ -1,5 +1,6 @@
# gloves
- type: entity
parent: BaseAction
id: ActionToggleKnuckleDustersStun
name: Toggle stun knuckle dusters
description: Toggles the duster's built in stun baton.

View File

@@ -1,10 +1,12 @@
- type: entity
- type: entity
parent: BaseAction
id: ActionConfigureMeleeSpeech
name: Set Battlecry
description: Set a custom battlecry for when you attack!
components:
- type: InstantAction
- type: Action
itemIconStyle: BigItem
priority: -20
useDelay: 1
- type: InstantAction
event: !type:MeleeSpeechConfigureActionEvent

View File

@@ -1,19 +1,23 @@
- type: entity
parent: BaseAction
id: ActionSpiderWeb
name: Spider Web
description: Spawns a web that slows your prey down.
components:
- type: InstantAction
- type: Action
icon: Interface/Actions/web.png
event: !type:SpiderWebActionEvent
useDelay: 25
- type: InstantAction
event: !type:SpiderWebActionEvent
- type: entity
parent: BaseAction
id: ActionSericulture
name: Weave silk
description: Weave a bit of silk for use in arts and crafts.
components:
- type: InstantAction
- type: Action
icon: Interface/Actions/web.png
event: !type:SericultureActionEvent
useDelay: 1
- type: InstantAction
event: !type:SericultureActionEvent

View File

@@ -1,28 +1,32 @@
# Actions
# Actions
- type: entity
parent: BaseAction
id: ActionJumpToCore
name: Jump to core
description: Sends your eye back to the core.
components:
- type: InstantAction
- type: Action
priority: -9
itemIconStyle: BigAction
icon:
sprite: Interface/Actions/actions_ai.rsi
state: ai_core
- type: InstantAction
event: !type:JumpToCoreEvent
- type: entity
parent: BaseAction
id: ActionSurvCameraLights
name: Toggle camera lights
description: Enable surveillance camera lights near wherever you're viewing.
components:
- type: InstantAction
- type: Action
priority: -5
itemIconStyle: BigAction
icon:
sprite: Interface/Actions/actions_ai.rsi
state: camera_light
- type: InstantAction
event: !type:RelayedActionComponentChangeEvent
components:
- type: LightOnCollideCollider
@@ -39,17 +43,17 @@
- type: entity
parent: BaseMentalAction
id: ActionAIViewLaws
name: View Laws
description: View the laws that you must follow.
components:
- type: InstantAction
checkCanInteract: false
checkConsciousness: false
- type: Action
priority: -3
itemIconStyle: NoItem
icon:
sprite: Interface/Actions/actions_ai.rsi
state: state_laws
event: !type:ToggleLawsScreenEvent
useDelay: 0.5
- type: InstantAction
event: !type:ToggleLawsScreenEvent

View File

@@ -1,130 +1,167 @@
# base actions
# base prototype for all action entities
- type: entity
id: BaseSuicideAction
abstract: true
id: BaseAction
components:
- type: Action
# an action that is done all in le head and cant be prevented by any means
- type: entity
abstract: true
parent: BaseAction
id: BaseMentalAction
components:
- type: Action
checkCanInteract: false
checkConsciousness: false
- type: entity
abstract: true
parent: BaseMentalAction
id: BaseSuicideAction
components:
- type: ConfirmableAction
popup: suicide-action-popup
- type: entity
abstract: true
parent: BaseAction
id: BaseImplantAction
components:
- type: InstantAction
event: !type:ActivateImplantEvent
- type: entity
abstract: true
parent: BaseAction
id: BaseToggleAction
components:
- type: InstantAction
event: !type:ToggleActionEvent
# actions
- type: entity
parent: BaseAction
id: ActionScream
name: Scream
description: AAAAAAAAAAAAAAAAAAAAAAAAA
components:
- type: InstantAction
- type: Action
useDelay: 10
icon: Interface/Actions/scream.png
event: !type:ScreamActionEvent
checkCanInteract: false
- type: InstantAction
event: !type:ScreamActionEvent
- type: entity
parent: BaseMentalAction
id: ActionTurnUndead
name: Turn Undead
description: Succumb to your infection and become a zombie.
components:
- type: InstantAction
checkCanInteract: false
checkConsciousness: false
- type: Action
icon: Interface/Actions/zombie-turn.png
- type: InstantAction
event: !type:ZombifySelfActionEvent
- type: entity
parent: BaseToggleAction
id: ActionToggleLight
name: Toggle Light
description: Turn the light on and off.
components:
- type: InstantAction
- type: Action
useDelay: 1
icon: { sprite: Objects/Tools/flashlight.rsi, state: flashlight }
iconOn: { sprite: Objects/Tools/flashlight.rsi, state: flashlight-on }
event: !type:ToggleActionEvent
- type: entity
parent: BaseAction
id: ActionOpenStorageImplant
name: Toggle Storage Implant
description: Opens or closes the storage implant embedded under your skin
components:
- type: InstantAction
- type: Action
itemIconStyle: BigAction
priority: -20
icon:
sprite: Clothing/Back/Backpacks/backpack.rsi
state: icon
event: !type:OpenStorageImplantEvent
useDelay: 1
- type: InstantAction
event: !type:OpenStorageImplantEvent
- type: entity
parent: BaseSuicideAction
parent: [BaseSuicideAction, BaseImplantAction]
id: ActionActivateMicroBomb
name: Activate Microbomb
description: Activates your internal microbomb, completely destroying you and your equipment
components:
- type: InstantAction
checkCanInteract: false
checkConsciousness: false
- type: Action
itemIconStyle: BigAction
priority: -20
icon:
sprite: Actions/Implants/implants.rsi
state: explosive
event: !type:ActivateImplantEvent
- type: entity
parent: BaseSuicideAction
parent: [BaseSuicideAction, BaseImplantAction]
id: ActionActivateDeathAcidifier
name: Activate Death-Acidifier
description: Activates your death-acidifier, completely melting you and your equipment
components:
- type: InstantAction
checkCanInteract: false
checkConsciousness: false
- type: Action
itemIconStyle: BigAction
priority: -20
icon:
sprite: Objects/Magic/magicactions.rsi
state: gib
event: !type:ActivateImplantEvent
- type: entity
parent: BaseAction
id: ActionActivateFreedomImplant
name: Break Free
description: Activating your freedom implant will free you from any hand restraints
components:
- type: LimitedCharges
maxCharges: 3
- type: InstantAction
- type: Action
checkCanInteract: false
itemIconStyle: BigAction
priority: -20
icon:
sprite: Actions/Implants/implants.rsi
state: freedom
- type: InstantAction
event: !type:UseFreedomImplantEvent
- type: entity
parent: BaseAction
id: ActionOpenUplinkImplant
name: Open Uplink
description: Opens the syndicate uplink embedded under your skin
components:
- type: InstantAction
- type: Action
itemIconStyle: BigAction
priority: -20
icon:
sprite: Objects/Devices/communication.rsi
state: old-radio
- type: InstantAction
event: !type:OpenUplinkImplantEvent
- type: entity
parent: BaseImplantAction
id: ActionActivateEmpImplant
name: Activate EMP
description: Triggers a small EMP pulse around you
components:
- type: LimitedCharges
maxCharges: 3
- type: InstantAction
- type: Action
checkCanInteract: false
useDelay: 5
itemIconStyle: BigAction
@@ -132,16 +169,16 @@
icon:
sprite: Objects/Weapons/Grenades/empgrenade.rsi
state: icon
event: !type:ActivateImplantEvent
- type: entity
parent: BaseAction
id: ActionActivateScramImplant
name: SCRAM!
description: Randomly teleports you within a large distance.
components:
- type: LimitedCharges
maxCharges: 2
- type: InstantAction
- type: Action
checkCanInteract: false
useDelay: 5
itemIconStyle: BigAction
@@ -149,9 +186,11 @@
icon:
sprite: Structures/Specific/anomaly.rsi
state: anom4
- type: InstantAction
event: !type:UseScramImplantEvent
- type: entity
parent: BaseAction
id: ActionActivateDnaScramblerImplant
name: Scramble DNA
description: Randomly changes your name and appearance.
@@ -160,190 +199,199 @@
popup: dna-scrambler-action-popup
- type: LimitedCharges
maxCharges: 1
- type: InstantAction
- type: Action
itemIconStyle: BigAction
priority: -20
icon:
sprite: Clothing/OuterClothing/Hardsuits/lingspacesuit.rsi
state: icon
- type: InstantAction
event: !type:UseDnaScramblerImplantEvent
- type: entity
parent: BaseAction
id: ActionToggleSuitPiece
name: Toggle Suit Piece
description: Remember to equip the important pieces of your suit before going into action.
components:
- type: InstantAction
- type: Action
itemIconStyle: BigItem
useDelay: 1 # equip noise spam.
- type: InstantAction
event: !type:ToggleClothingEvent
- type: entity
parent: BaseAction
id: ActionCombatModeToggle
name: "[color=red]Combat Mode[/color]"
description: Enter combat mode
components:
- type: InstantAction
checkCanInteract: false
checkConsciousness: false
- type: Action
icon: Interface/Actions/harmOff.png
iconOn: Interface/Actions/harm.png
event: !type:ToggleCombatActionEvent
priority: -100
- type: InstantAction
event: !type:ToggleCombatActionEvent
- type: entity
id: ActionCombatModeToggleOff
parent: ActionCombatModeToggle
name: "[color=red]Combat Mode[/color]"
description: Enter combat mode
id: ActionCombatModeToggleOff
components:
- type: InstantAction
- type: Action
enabled: false
autoPopulate: false
priority: -100
- type: entity
parent: BaseAction
id: ActionChangeVoiceMask
name: Set name
description: Change the name others hear to something else.
components:
- type: InstantAction
- type: Action
icon: { sprite: Interface/Actions/voice-mask.rsi, state: icon }
- type: InstantAction
event: !type:VoiceMaskSetNameEvent
- type: entity
parent: BaseAction
id: ActionVendingThrow
name: Dispense Item
description: Randomly dispense an item from your stock.
components:
- type: InstantAction
- type: Action
useDelay: 30
- type: InstantAction
event: !type:VendingMachineSelfDispenseEvent
- type: entity
parent: BaseToggleAction
id: ActionToggleBlock
name: Block
description: Raise or lower your shield.
components:
- type: InstantAction
- type: Action
icon: { sprite: Objects/Weapons/Melee/shields.rsi, state: teleriot-icon }
iconOn: Objects/Weapons/Melee/shields.rsi/teleriot-on.png
event: !type:ToggleActionEvent
iconOn: { sprite: Objects/Weapons/Melee/shields.rsi, state: teleriot-on }
- type: entity
parent: BaseMentalAction
id: ActionClearNetworkLinkOverlays
name: Clear network link overlays
description: Clear network link overlays.
components:
- type: InstantAction
- type: Action
clientExclusive: true
checkCanInteract: false
checkConsciousness: false
temporary: true
icon: { sprite: Objects/Tools/multitool.rsi, state: icon }
- type: InstantAction
event: !type:ClearAllOverlaysEvent
- type: entity
parent: BaseAction
id: ActionAnimalLayEgg
name: Lay egg
description: Uses hunger to lay an egg.
components:
- type: InstantAction
- type: Action
icon: { sprite: Objects/Consumable/Food/egg.rsi, state: icon }
useDelay: 60
- type: InstantAction
event: !type:EggLayInstantActionEvent
- type: entity
parent: BaseMentalAction
id: ActionSleep
name: Sleep
description: Go to sleep.
components:
- type: InstantAction
checkCanInteract: false
checkConsciousness: false
- type: Action
icon: { sprite: Clothing/Head/Hats/pyjamasyndicatered.rsi, state: icon }
- type: InstantAction
event: !type:SleepActionEvent
- type: entity
parent: BaseMentalAction
id: ActionWake
name: Wake up
description: Stop sleeping.
components:
- type: InstantAction
icon: { sprite: Clothing/Head/Hats/pyjamasyndicatered.rsi, state: icon }
checkCanInteract: false
checkConsciousness: false
event: !type:WakeActionEvent
- type: Action
startDelay: true
useDelay: 2
icon: { sprite: Clothing/Head/Hats/pyjamasyndicatered.rsi, state: icon }
- type: InstantAction
event: !type:WakeActionEvent
- type: entity
parent: BaseImplantAction
id: ActionActivateHonkImplant
name: Honk
description: Activates your honking implant, which will produce the signature sound of the clown.
components:
- type: InstantAction
- type: Action
icon: { sprite: Objects/Fun/bikehorn.rsi, state: icon }
event: !type:ActivateImplantEvent
useDelay: 1
- type: entity
parent: BaseAction
id: ActionFireStarter
name: Ignite
description: Ignites enemies in a radius around you.
components:
- type: InstantAction
- type: Action
priority: -1
useDelay: 30
icon: Interface/Actions/firestarter.png
- type: InstantAction
event: !type:FireStarterActionEvent
- type: entity
parent: BaseMentalAction
id: ActionToggleEyes
name: Open/Close eyes
description: Close your eyes to protect your peepers, or open your eyes to enjoy the pretty lights.
components:
- type: InstantAction
- type: Action
icon: Interface/Actions/eyeopen.png
iconOn: Interface/Actions/eyeclose.png
event: !type:ToggleEyesActionEvent
useDelay: 1 # so u cant give yourself and observers eyestrain by rapidly spamming the action
checkCanInteract: false
checkConsciousness: false
- type: InstantAction
event: !type:ToggleEyesActionEvent
- type: entity
parent: BaseToggleAction
id: ActionToggleWagging
name: Wagging Tail
description: Start or stop wagging your tail.
components:
- type: InstantAction
icon: { sprite: Mobs/Customization/reptilian_parts.rsi, state: tail_smooth_behind }
iconOn: { sprite: Mobs/Customization/reptilian_parts.rsi, state: tail_smooth_behind }
itemIconStyle: NoItem
useDelay: 1 # emote spam
event: !type:ToggleActionEvent
- type: Action
icon: { sprite: Mobs/Customization/reptilian_parts.rsi, state: tail_smooth_behind }
iconOn: { sprite: Mobs/Customization/reptilian_parts.rsi, state: tail_smooth_behind }
itemIconStyle: NoItem
useDelay: 1 # emote spam
- type: entity
parent: BaseAction
id: FakeMindShieldToggleAction
name: '[color=green]Toggle Fake Mindshield[/color]'
description: Turn the Fake Mindshield implant's transmission on/off
components:
- type: InstantAction
- type: Action
icon: { sprite: Interface/Actions/actions_fakemindshield.rsi, state: icon }
iconOn: { sprite: Interface/Actions/actions_fakemindshield.rsi, state: icon-on }
itemIconStyle: NoItem
useDelay: 1
- type: InstantAction
event: !type:FakeMindShieldToggleEvent
- type: entity
parent: BaseToggleAction
id: ActionToggleParamedicSiren
name: Toggle Paramedic Siren
description: Toggles the paramedic siren on and off.
components:
- type: InstantAction
- type: Action
icon:
sprite: Clothing/OuterClothing/Hardsuits/paramed.rsi
state: icon-siren
useDelay: 1
itemIconStyle: BigAction
event: !type:ToggleActionEvent

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

View File

@@ -1,11 +1,17 @@
- type: entity
parent: BaseEntitySpellAction
id: ActionAnimateSpell
name: Animate
description: Bring an inanimate object to life!
components:
- type: EntityTargetAction
- type: Action
useDelay: 0
itemIconStyle: BigAction
sound: !type:SoundPathSpecifier
path: /Audio/Magic/staff_animation.ogg
icon:
sprite: Objects/Magic/magicactions.rsi
state: spell_default
- type: EntityTargetAction
whitelist:
components:
- Animateable # Currently on: SeatBase, TableBase, ClosetBase, BaseMachine, ConstructibleMachine, BaseComputer, BaseItem, CrateGeneric, StorageTank, GasCanister
@@ -18,13 +24,6 @@
- TegGenerator
- TegCirculator
- XenoArtifact
canTargetSelf: false
interactOnMiss: false
sound: !type:SoundPathSpecifier
path: /Audio/Magic/staff_animation.ogg
icon:
sprite: Objects/Magic/magicactions.rsi
state: spell_default
event: !type:ChangeComponentsSpellEvent
toAdd:
- type: Animate

View File

@@ -1,30 +1,34 @@
- type: entity
parent: BaseAction
id: ActionSummonGhosts
name: Summon Ghosts
description: Makes all current ghosts permanently visible
components:
- type: InstantAction
- type: Action
useDelay: 120
itemIconStyle: BigAction
icon:
sprite: Mobs/Ghosts/ghost_human.rsi
state: icon
- type: InstantAction
event: !type:ToggleGhostVisibilityToAllEvent
# TODO: Add Whitelist/Blacklist and Component support to EntitySpawnLists (to avoid making huge hardcoded lists like below).
- type: entity
parent: BaseAction
id: ActionSummonGuns
name: Summon Guns
description: AK47s for everyone! Places a random gun in front of everybody.
components:
- type: Magic
- type: InstantAction
- type: Action
useDelay: 300
itemIconStyle: BigAction
icon:
sprite: Objects/Weapons/Guns/Rifles/ak.rsi
state: base
- type: InstantAction
event: !type:RandomGlobalSpawnSpellEvent
makeSurvivorAntagonist: true
spawns:
@@ -162,17 +166,19 @@
sentence: action-speech-spell-summon-guns
- type: entity
parent: BaseAction
id: ActionSummonMagic
name: Summon Magic
description: Places a random magical item in front of everybody. Nothing could go wrong!
components:
- type: Magic
- type: InstantAction
- type: Action
useDelay: 300
itemIconStyle: BigAction
icon:
sprite: Objects/Magic/magicactions.rsi
state: magicmissile
- type: InstantAction
event: !type:RandomGlobalSpawnSpellEvent
makeSurvivorAntagonist: true
spawns:

View File

@@ -1,9 +1,10 @@
- type: entity
parent: BaseAction
id: ActionForceWall
name: forcewall
description: Creates a magical barrier.
components:
- type: InstantAction
- type: Action
useDelay: 15
itemIconStyle: BigAction
sound: !type:SoundPathSpecifier
@@ -11,6 +12,7 @@
icon:
sprite: Objects/Magic/magicactions.rsi
state: shield
- type: InstantAction
event: !type:InstantSpawnSpellEvent
prototype: WallForce
posData: !type:TargetInFront

View File

@@ -1,9 +1,10 @@
- type: entity
- type: entity
parent: BaseAction
id: ActionKnock
name: Knock
description: This spell opens nearby doors.
components:
- type: InstantAction
- type: Action
useDelay: 10
itemIconStyle: BigAction
sound: !type:SoundPathSpecifier
@@ -11,6 +12,7 @@
icon:
sprite: Objects/Magic/magicactions.rsi
state: knock
- type: InstantAction
event: !type:KnockSpellEvent
- type: SpeakOnAction
sentence: action-speech-spell-knock

View File

@@ -1,22 +1,22 @@
- type: entity
parent: BaseEntitySpellAction
id: ActionMindSwap
name: Mind Swap
description: Exchange bodies with another person!
components:
- type: EntityTargetAction
- type: Action
useDelay: 300
itemIconStyle: BigAction
whitelist:
components:
- Body
- MindContainer
canTargetSelf: false
interactOnMiss: false
sound: !type:SoundPathSpecifier
path: /Audio/Magic/staff_animation.ogg
icon:
sprite: Mobs/Species/Human/organs.rsi
state: brain
- type: EntityTargetAction
whitelist:
components:
- Body # this also allows borgs because that supercode uses Body for no reason
- PAI # intended to mindswap pAIs and AIs
- StationAiCore
event: !type:MindSwapSpellEvent
- type: SpeakOnAction
sentence: action-speech-spell-mind-swap

View File

@@ -1,20 +1,23 @@
- type: entity
- type: entity
parent: BaseAction
id: ActionFireball
name: Fireball
description: Fires an explosive fireball towards the clicked location.
components:
- type: Magic
- type: WorldTargetAction
- type: Action
useDelay: 15
itemIconStyle: BigAction
checkCanAccess: false
raiseOnUser: true
range: 60
sound: !type:SoundPathSpecifier
path: /Audio/Magic/fireball.ogg
icon:
sprite: Objects/Magic/magicactions.rsi
state: fireball
- type: TargetAction
range: 60
checkCanAccess: false
- type: WorldTargetAction
event: !type:ProjectileSpellEvent
prototype: ProjectileFireball
- type: SpeakOnAction
@@ -25,43 +28,19 @@
3: ActionFireballIII
- type: entity
id: ActionFireballII
parent: ActionFireball
id: ActionFireballII
name: Fireball II
description: Fires a fireball, but faster!
components:
- type: WorldTargetAction
itemIconStyle: BigAction
checkCanAccess: false
raiseOnUser: true
range: 60
sound: !type:SoundPathSpecifier
path: /Audio/Magic/fireball.ogg
icon:
sprite: Objects/Magic/magicactions.rsi
state: fireball
event: !type:ProjectileSpellEvent
prototype: ProjectileFireball
- type: SpeakOnAction
sentence: action-speech-spell-fireball
- type: Action
useDelay: 10
- type: entity
id: ActionFireballIII
parent: ActionFireball
id: ActionFireballIII
name: Fireball III
description: The fastest fireball in the west!
components:
- type: WorldTargetAction
itemIconStyle: BigAction
checkCanAccess: false
raiseOnUser: true
range: 60
sound: !type:SoundPathSpecifier
path: /Audio/Magic/fireball.ogg
icon:
sprite: Objects/Magic/magicactions.rsi
state: fireball
event: !type:ProjectileSpellEvent
prototype: ProjectileFireball
- type: SpeakOnAction
sentence: action-speech-spell-fireball
- type: Action
useDelay: 8

View File

@@ -1,9 +1,10 @@
- type: entity
parent: BaseAction
id: ActionItemRecall
name: Mark Item
description: Mark a held item to later summon into your hand.
components:
- type: InstantAction
- type: Action
useDelay: 10
raiseOnAction: true
itemIconStyle: BigAction
@@ -17,5 +18,6 @@
icon:
sprite: Objects/Magic/magicactions.rsi
state: item_recall
- type: InstantAction
event: !type:OnItemRecallActionEvent
- type: ItemRecall

View File

@@ -1,4 +1,5 @@
- type: entity
- type: entity
parent: BaseAction
id: ActionRepulse
name: Repulse
description: Pushes entities away from the user.
@@ -10,11 +11,12 @@
components:
- MobMover
- Item
- type: InstantAction
- type: Action
useDelay: 40
raiseOnAction: true
itemIconStyle: BigAction
icon:
sprite: Objects/Magic/magicactions.rsi
state: repulse
- type: InstantAction
event: !type:RepulseAttractActionEvent

View File

@@ -1,55 +1,58 @@
- type: entity
- type: entity
abstract: true
parent: BaseAction
id: BaseRuneAction
components:
- type: Action
itemIconStyle: BigAction
icon:
sprite: Objects/Magic/magicactions.rsi
state: spell_default
- type: entity
parent: BaseRuneAction
id: ActionFlashRune
name: Flash Rune
description: Summons a rune that flashes if used.
components:
- type: InstantAction
- type: Action
useDelay: 10
itemIconStyle: BigAction
icon:
sprite: Objects/Magic/magicactions.rsi
state: spell_default
- type: InstantAction
event: !type:InstantSpawnSpellEvent
prototype: FlashRune
- type: entity
parent: BaseRuneAction
id: ActionExplosionRune
name: Explosion Rune
description: Summons a rune that explodes if used.
components:
- type: InstantAction
- type: Action
useDelay: 20
itemIconStyle: BigAction
icon:
sprite: Objects/Magic/magicactions.rsi
state: spell_default
- type: InstantAction
event: !type:InstantSpawnSpellEvent
prototype: ExplosionRune
- type: entity
parent: BaseRuneAction
id: ActionIgniteRune
name: Ignite Rune
description: Summons a rune that ignites if used.
components:
- type: InstantAction
- type: Action
useDelay: 15
itemIconStyle: BigAction
icon:
sprite: Objects/Magic/magicactions.rsi
state: spell_default
- type: InstantAction
event: !type:InstantSpawnSpellEvent
prototype: IgniteRune
- type: entity
parent: BaseRuneAction
id: ActionStunRune
name: Stun Rune
description: Summons a rune that stuns if used.
components:
- type: InstantAction
- type: Action
useDelay: 10
itemIconStyle: BigAction
icon:
sprite: Objects/Magic/magicactions.rsi
state: spell_default
- type: InstantAction
event: !type:InstantSpawnSpellEvent
prototype: StunRune

View File

@@ -1,14 +1,16 @@
- type: entity
- type: entity
parent: BaseAction
id: ActionSmoke
name: Smoke
description: Summons smoke around the user.
components:
- type: InstantAction
- type: Action
useDelay: 10
itemIconStyle: BigAction
icon:
sprite: Actions/smokeaction.rsi
state: smokeaction
- type: InstantAction
event: !type:InstantSpawnSpellEvent
prototype: WizardSmoke
posData: !type:TargetInFront

View File

@@ -1,15 +1,18 @@
- type: entity
- type: entity
parent: BaseAction
id: ActionSpawnMagicarpSpell
name: Summon Magicarp
description: This spell summons three Magi-Carp to your aid! May or may not turn on user.
components:
- type: WorldTargetAction
- type: Action
useDelay: 10
range: 4
itemIconStyle: BigAction
icon:
sprite: Objects/Magic/magicactions.rsi
state: spell_default
- type: TargetAction
range: 4
- type: WorldTargetAction
event: !type:WorldSpawnSpellEvent
prototypes:
- id: MobCarpMagic

View File

@@ -67,11 +67,11 @@
- WizardWand
- type: entity
parent: BaseAction
id: ActionRgbLight
components:
- type: EntityTargetAction
whitelist: { components: [ PointLight ] }
sound: /Audio/Magic/blink.ogg
event: !type:ChangeComponentsSpellEvent
toAdd:
- type: RgbLightController

View File

@@ -1,43 +1,43 @@
- type: entity
- type: entity
parent: BaseAction
id: ActionBlink
name: Blink
description: Teleport to the clicked location.
components:
- type: WorldTargetAction
- type: Action
useDelay: 10
range: 16 # default examine-range.
# ^ should probably add better validation that the clicked location is on the users screen somewhere,
itemIconStyle: BigAction
sound: !type:SoundPathSpecifier
path: /Audio/Magic/blink.ogg
itemIconStyle: BigAction
checkCanAccess: false
repeat: false
icon:
sprite: Objects/Magic/magicactions.rsi
state: blink
- type: TargetAction
range: 16 # default examine-range.
# ^ should probably add better validation that the clicked location is on the users screen somewhere,
repeat: false
checkCanAccess: false
- type: WorldTargetAction
event: !type:TeleportSpellEvent
# TODO: Second level upgrade sometime that allows swapping with all objects
- type: entity
parent: BaseEntitySpellAction
id: ActionVoidApplause
name: Void Applause
description: Clap your hands and swap places with the target.
components:
- type: EntityTargetAction
- type: Action
useDelay: 15
range: 16
sound: !type:SoundPathSpecifier
path: /Audio/Magic/Eldritch/voidblink.ogg
itemIconStyle: BigAction
whitelist:
components:
- Body
canTargetSelf: false
interactOnMiss: false
checkCanAccess: false
repeat: false
icon:
sprite: Objects/Magic/Eldritch/eldritch_actions.rsi
state: voidblink
- type: TargetAction
checkCanAccess: false
repeat: false
range: 16
- type: EntityTargetAction
event: !type:VoidApplauseSpellEvent
effect: EffectVoidBlink

View File

@@ -1,21 +1,40 @@
- type: entity
id: ActionSmite
name: Smite
description: Instantly gibs a target.
# Smite-like spell that you click on someone else to use
- type: entity
abstract: true
parent: BaseAction
id: BaseEntitySpellAction
components:
- type: EntityTargetAction
useDelay: 90
- type: Action
itemIconStyle: BigAction
- type: TargetAction
interactOnMiss: false
- type: EntityTargetAction
whitelist:
components:
- Body
canTargetSelf: false
interactOnMiss: false
- type: entity
abstract: true
parent: BaseEntitySpellAction
id: BaseSmiteAction
components:
- type: Magic
requiresClothes: true
- type: entity
parent: BaseSmiteAction
id: ActionSmite
name: Smite
description: Instantly gibs a target.
components:
- type: Action
sound: !type:SoundPathSpecifier
path: /Audio/Magic/disintegrate.ogg
icon:
sprite: Objects/Magic/magicactions.rsi
state: gib
- type: EntityTargetAction
event: !type:SmiteSpellEvent
- type: SpeakOnAction
sentence: action-speech-spell-smite
@@ -24,29 +43,26 @@
# For the Snail
- type: entity
id: ActionSmiteNoReq
parent: ActionSmite
id: ActionSmiteNoReq
components:
- type: Magic
requiresClothes: false
- type: entity
parent: BaseSmiteAction
id: ActionCluwne
name: Cluwne's Curse
description: Turns someone into a Cluwne!
components:
- type: EntityTargetAction
- type: Action
useDelay: 120
itemIconStyle: BigAction
whitelist:
components:
- Body
canTargetSelf: false
interactOnMiss: false
sound: !type:SoundPathSpecifier
path: /Audio/Items/brokenbikehorn.ogg
icon:
sprite: Clothing/Mask/cluwne.rsi
state: icon
- type: EntityTargetAction
event: !type:ChangeComponentsSpellEvent
toAdd:
- type: Cluwne
@@ -56,23 +72,19 @@
requiresClothes: true
- type: entity
parent: BaseSmiteAction
id: ActionSlippery
name: Slippery Slope
description: Make someone slippery.
components:
- type: EntityTargetAction
- type: Action
useDelay: 60
itemIconStyle: BigAction
whitelist:
components:
- Body
canTargetSelf: false
interactOnMiss: false
sound: !type:SoundPathSpecifier
path: /Audio/Effects/slip.ogg
icon:
sprite: Objects/Specific/Janitorial/soap.rsi
state: omega-4
- type: EntityTargetAction
event: !type:ChangeComponentsSpellEvent
toAdd:
- type: Slippery

View File

@@ -1,14 +1,16 @@
- type: entity
- type: entity
parent: BaseAction
id: ActionChargeSpell
name: Charge
description: Adds a charge back to your wand
components:
- type: InstantAction
- type: Action
useDelay: 30
itemIconStyle: BigAction
icon:
sprite: Objects/Weapons/Guns/Basic/wands.rsi
state: nothing
- type: InstantAction
event: !type:ChargeSpellEvent
charge: 1
- type: SpeakOnAction

View File

@@ -32,14 +32,16 @@
- RubberStampMime
- type: entity
parent: BaseAction
id: ActionMimeInvisibleWall
name: Create Invisible Wall
description: Create an invisible wall in front of you, if placeable there.
components:
- type: InstantAction
- type: Action
priority: -1
useDelay: 30
icon:
sprite: Structures/Walls/solid.rsi
state: full
- type: InstantAction
event: !type:InvisibleWallActionEvent