Wizard Staff of Animation (#34649)

This commit is contained in:
ActiveMammmoth
2025-02-12 23:46:02 -05:00
committed by GitHub
parent 0bb6f1979d
commit 9fad86342f
26 changed files with 272 additions and 36 deletions

View File

@@ -197,6 +197,19 @@
- !type:ListingLimitedStockCondition
stock: 1
- type: listing
id: SpellbookStaffAnimation
name: spellbook-staff-animation-name
description: spellbook-staff-animation-description
productEntity: AnimationStaff
cost:
WizCoin: 3
categories:
- SpellbookEquipment
conditions:
- !type:ListingLimitedStockCondition
stock: 1
# Event
- type: listing
id: SpellbookEventSummonGhosts

View File

@@ -1,4 +1,4 @@
# To be implemented: see #9072
# To be implemented: see #9072
- type: entity
name: staff of healing

View File

@@ -5,6 +5,7 @@
components:
- type: Item
size: Small
- type: Animateable
- type: Clickable
- type: InteractionOutline
- type: MovedByPressure

View File

@@ -5,6 +5,7 @@
description: A square piece of metal standing on four metal legs.
abstract: true
components:
- type: Animateable
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: Metallic

View File

@@ -6,6 +6,7 @@
placement:
mode: PlaceFree
components:
- type: Animateable
- type: Clickable
- type: InteractionOutline
- type: Physics

View File

@@ -5,6 +5,7 @@
placement:
mode: SnapgridCenter
components:
- type: Animateable
- type: MeleeSound
soundGroups:
Brute:

View File

@@ -3,6 +3,7 @@
parent: BaseStructure
id: BaseMachine
components:
- type: Animateable
- type: InteractionOutline
- type: Anchorable
delay: 2
@@ -57,6 +58,7 @@
abstract: true
id: ConstructibleMachine
components:
- type: Animateable
- type: Machine
- type: ContainerContainer
containers:

View File

@@ -5,6 +5,7 @@
name: gas canister
description: A canister that can contain any type of gas. It can be attached to connector ports using a wrench.
components:
- type: Animateable
- type: InteractionOutline
- type: Transform
noRot: true

View File

@@ -5,6 +5,7 @@
description: A standard-issue Nanotrasen storage unit.
abstract: true
components:
- type: Animateable
- type: ResistLocker
- type: Transform
noRot: true

View File

@@ -5,6 +5,7 @@
name: crate
description: A large container for items.
components:
- type: Animateable
- type: Transform
noRot: true
- type: Icon

View File

@@ -1,10 +1,11 @@
- type: entity
- type: entity
id: StorageTank
parent: BaseStructureDynamic
name: storage tank
description: A liquids storage tank.
abstract: true
components:
- type: Animateable
- type: Sprite
noRot: true
- type: InteractionOutline
@@ -82,4 +83,4 @@
mask:
- MachineMask
layer:
- WallLayer
- WallLayer

View File

@@ -0,0 +1,70 @@
- type: entity
id: ActionAnimateSpell
name: Animate
description: Bring an inanimate object to life!
components:
- type: EntityTargetAction
useDelay: 0
charges: 5
itemIconStyle: BigAction
whitelist:
components:
- Animateable # Currently on: SeatBase, TableBase, ClosetBase, BaseMachine, ConstructibleMachine, BaseComputer, BaseItem, CrateGeneric, StorageTank, GasCanister
blacklist:
components:
- MindContainer
- NukeDisk
- GravityGenerator
- AnomalyGenerator
canTargetSelf: false
interactOnMiss: false
sound: !type:SoundPathSpecifier
path: /Audio/Magic/staff_animation.ogg
icon:
sprite: Objects/Magic/magicactions.rsi
state: spell_default
event: !type:AnimateSpellEvent
addComponents:
- type: MindContainer
- type: InputMover
- type: MobMover
- type: MovementSpeedModifier
- type: HTN
rootTask:
task: SimpleHostileCompound
- type: CombatMode
- type: MeleeWeapon
animation: WeaponArcPunch
wideAnimation: WeaponArcPunch
altDisarm: false
soundHit: /Audio/Weapons/smash.ogg
range: 1.2
angle: 0.0
damage:
types:
Blunt: 10
- type: NpcFactionMember
factions:
- Wizard
- type: NoSlip
- type: MovementAlwaysTouching
- type: CanMoveInAir
- type: Damageable
damageContainer: ManifestedSpirit
damageModifierSet: ManifestedSpirit
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- type: Hands
- type: CanEscapeInventory
removeComponents:
- RequireProjectileTarget
speech: action-speech-spell-animate

View File

@@ -1,4 +1,4 @@
# non-projectile / "gun" staves
# non-projectile / "gun" staves
# wand that gives lights an RGB effect.
- type: entity
@@ -32,6 +32,30 @@
enabled: true
radius: 2
- type: entity
id: AnimationStaff
parent: BaseItem
name: staff of animation
description: Brings inanimate objects to life!
components:
- type: Sprite
sprite: Objects/Weapons/Guns/Basic/staves.rsi
layers:
- state: animation
- type: ActionOnInteract
actions:
- ActionAnimateSpell
- type: Item
size: Normal
inhandVisuals:
left:
- state: animation-inhand-left
right:
- state: animation-inhand-right
- type: Tag
tags:
- WizardWand
- type: entity
id: ActionRgbLight
components:

View File

@@ -1,13 +1,14 @@
- type: npcFaction
id: Dragon
hostile:
- NanoTrasen
- Syndicate
- Xeno
- PetsNT
- Zombie
- Revolutionary
- AllHostile
- NanoTrasen
- Syndicate
- Xeno
- PetsNT
- Zombie
- Revolutionary
- AllHostile
- Wizard
- type: npcFaction
id: NanoTrasen
@@ -19,12 +20,13 @@
- Revolutionary
- Dragon
- AllHostile
- Wizard
- type: npcFaction
id: Mouse
hostile:
- PetsNT
- AllHostile
- PetsNT
- AllHostile
- type: npcFaction
id: Passive
@@ -48,6 +50,7 @@
- Zombie
- Revolutionary
- AllHostile
- Wizard
- type: npcFaction
id: SimpleNeutral
@@ -62,6 +65,7 @@
- Zombie
- Dragon
- AllHostile
- Wizard
- type: npcFaction
id: Xeno
@@ -73,6 +77,7 @@
- Zombie
- Revolutionary
- AllHostile
- Wizard
- type: npcFaction
id: Zombie
@@ -85,6 +90,7 @@
- PetsNT
- Revolutionary
- AllHostile
- Wizard
- type: npcFaction
id: Revolutionary
@@ -94,6 +100,7 @@
- SimpleHostile
- Dragon
- AllHostile
- Wizard
- type: npcFaction
id: AllHostile
@@ -109,3 +116,16 @@
- Xeno
- Zombie
- Revolutionary
- Wizard
- type: npcFaction
id: Wizard
hostile:
- NanoTrasen
- Dragon
- SimpleHostile
- Syndicate
- Xeno
- Zombie
- Revolutionary
- AllHostile