action refactor proper ecs edition (#27422)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user