This commit is contained in:
2026-01-24 16:34:15 -05:00
commit c23bf51490
3996 changed files with 657568 additions and 0 deletions

View File

@@ -0,0 +1,160 @@
# SPDX-FileCopyrightText: 2022 keronshb <54602815+keronshb@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2023 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Arendian <137322659+Arendian@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: MIT
- type: entity
id: BaseRune
name: "rune"
abstract: true
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: Sprite
sprite: Structures/Magic/Cult/rune.rsi
layers:
- state: cult2
color: '#FF00FF'
- type: entity
parent: BaseRune
id: CollideRune
name: "collision rune"
abstract: true
components:
- type: Fixtures
fixtures:
rune:
shape:
!type:PhysShapeAabb
bounds: "-0.4,-0.4,0.4,0.4"
hard: false
mask:
- ItemMask
layer:
- SlipLayer
- type: Physics
- type: entity
parent: CollideRune
id: ActivateRune
name: "activation rune"
abstract: true
components:
- type: TriggerOnActivate
- type: entity
parent: CollideRune
id: CollideTimerRune
name: "collision timed rune"
abstract: true
components:
- type: TriggerOnTimedCollide
threshold: 5
- type: entity
parent: CollideRune
id: ExplosionRune
name: "explosion rune"
components:
- type: TriggerOnCollide
fixtureID: rune
- type: ExplodeOnTrigger
- type: Explosive
explosionType: Cryo
totalIntensity: 20.0
intensitySlope: 5
maxIntensity: 4
- type: Sprite
sprite: Structures/Magic/Cult/trap.rsi
layers:
- state: trap
color: '#FF770055'
- type: entity
parent: CollideRune
id: StunRune
name: "stun rune"
components:
- type: TriggerOnCollide
fixtureID: rune
- type: DeleteOnTrigger
- type: StunOnCollide
stunAmount: 5
knockdownAmount: 3
- type: Sprite
sprite: Structures/Magic/Cult/trap.rsi
layers:
- state: trap
color: '#FFFF0055'
- type: entity
parent: CollideRune
id: IgniteRune
name: "ignite rune"
components:
- type: TriggerOnCollide
fixtureID: ignition
- type: Fixtures
fixtures:
ignition:
shape:
!type:PhysShapeAabb
bounds: "-0.4,-0.4,0.4,0.4"
hard: false
mask:
- ItemMask
layer:
- SlipLayer
- type: DeleteOnTrigger
- type: IgniteOnCollide
fireStacks: 5
- type: Sprite
sprite: Structures/Magic/Cult/trap.rsi
layers:
- state: trap
color: '#FF000055'
- type: entity
parent: CollideTimerRune
id: ExplosionTimedRune
name: "explosion timed rune"
components:
- type: ExplodeOnTrigger
- type: Explosive
explosionType: Cryo
totalIntensity: 20.0
intensitySlope: 5
maxIntensity: 4
- type: entity
parent: ActivateRune
id: ExplosionActivateRune
name: "explosion activated rune"
components:
- type: ExplodeOnTrigger
- type: Explosive
explosionType: Cryo
totalIntensity: 20.0
intensitySlope: 5
maxIntensity: 4
- type: entity
parent: ActivateRune
id: FlashRune
name: "flash rune"
components:
- type: FlashOnTrigger
- type: DeleteOnTrigger
- type: entity
parent: CollideTimerRune
id: FlashRuneTimer
name: "flash timed rune"
components:
- type: FlashOnTrigger

View File

@@ -0,0 +1,84 @@
# SPDX-FileCopyrightText: 2025 ActiveMammmoth <140334666+ActiveMammmoth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 ActiveMammmoth <kmcsmooth@gmail.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 gus <august.eymann@gmail.com>
# SPDX-FileCopyrightText: 2025 keronshb <54602815+keronshb@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: BaseEntitySpellAction
id: ActionAnimateSpell
name: Animate
description: Bring an inanimate object to life!
components:
- type: Action
useDelay: 0
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
blacklist:
components:
- MindContainer
- NukeDisk
- GravityGenerator
- AnomalyGenerator
- TegGenerator
- TegCirculator
- XenoArtifact
- MaterialReclaimer
event: !type:ChangeComponentsSpellEvent
toAdd:
- type: Animate
- 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
- type: MobCollision
toRemove:
- RequireProjectileTarget
- BlockMovement
- Item
- MeleeRequiresWield

View File

@@ -0,0 +1,224 @@
# SPDX-FileCopyrightText: 2024 AJCM <AJCM@tutanota.com>
# SPDX-FileCopyrightText: 2024 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 ActiveMammmoth <140334666+ActiveMammmoth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 ActiveMammmoth <kmcsmooth@gmail.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 gus <august.eymann@gmail.com>
# SPDX-FileCopyrightText: 2025 keronshb <54602815+keronshb@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: BaseAction
id: ActionSummonGhosts
name: Summon Ghosts
description: Makes all current ghosts permanently visible
components:
- 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: Action
useDelay: 300
itemIconStyle: BigAction
icon:
sprite: Objects/Weapons/Guns/Rifles/ak.rsi
state: base
- type: InstantAction
event: !type:RandomGlobalSpawnSpellEvent
spawns:
- id: WeaponPistolViper
orGroup: Guns
- id: WeaponPistolCobra
orGroup: Guns
- id: WeaponPistolMk58
orGroup: Guns
- id: WeaponPistolN1984
orGroup: Guns
- id: WeaponRevolverDeckard
orGroup: Guns
- id: WeaponRevolverInspector
orGroup: Guns
- id: WeaponRevolverMateba
orGroup: Guns
- id: WeaponRevolverPython
orGroup: Guns
- id: WeaponRevolverPirate
orGroup: Guns
- id: WeaponRifleAk
orGroup: Guns
- id: WeaponRifleM90GrenadeLauncher
orGroup: Guns
- id: WeaponRifleLecter
orGroup: Guns
- id: WeaponShotgunBulldog
orGroup: Guns
- id: WeaponShotgunDoubleBarreled
orGroup: Guns
- id: WeaponShotgunEnforcer
orGroup: Guns
- id: WeaponShotgunKammerer
orGroup: Guns
- id: WeaponShotgunSawn
orGroup: Guns
- id: WeaponShotgunHandmade
orGroup: Guns
- id: WeaponShotgunBlunderbuss
orGroup: Guns
- id: WeaponShotgunImprovised
orGroup: Guns
- id: WeaponSubMachineGunAtreides
orGroup: Guns
- id: WeaponSubMachineGunC20r
orGroup: Guns
- id: WeaponSubMachineGunDrozd
orGroup: Guns
- id: WeaponSubMachineGunWt550
orGroup: Guns
- id: WeaponSniperMosin
orGroup: Guns
- id: WeaponSniperHristov
orGroup: Guns
- id: Musket
orGroup: Guns
- id: WeaponPistolFlintlock
orGroup: Guns
- id: WeaponLauncherChinaLake
orGroup: Guns
- id: WeaponLauncherRocket
orGroup: Guns
- id: WeaponLauncherPirateCannon
orGroup: Guns
- id: WeaponTetherGun
orGroup: Guns
- id: WeaponForceGun
orGroup: Guns
- id: WeaponGrapplingGun
orGroup: Guns
- id: WeaponLightMachineGunL6
orGroup: Guns
- id: WeaponLaserSvalinn
orGroup: Guns
- id: WeaponLaserGun
orGroup: Guns
- id: WeaponMakeshiftLaser
orGroup: Guns
- id: WeaponTeslaGun
orGroup: Guns
- id: WeaponLaserCarbinePractice
orGroup: Guns
- id: WeaponLaserCarbine
orGroup: Guns
- id: WeaponPulsePistol
orGroup: Guns
- id: WeaponPulseCarbine
orGroup: Guns
- id: WeaponPulseRifle
orGroup: Guns
- id: WeaponLaserCannon
orGroup: Guns
- id: WeaponParticleDecelerator
orGroup: Guns
- id: WeaponXrayCannon
orGroup: Guns
- id: WeaponDisablerPractice
orGroup: Guns
- id: WeaponDisabler
orGroup: Guns
- id: WeaponDisablerSMG
orGroup: Guns
- id: WeaponTaser
orGroup: Guns
- id: WeaponAntiqueLaser
orGroup: Guns
- id: WeaponAdvancedLaser
orGroup: Guns
- id: WeaponPistolCHIMP
orGroup: Guns
- id: WeaponBehonkerLaser
orGroup: Guns
- id: WeaponEnergyShotgun
orGroup: Guns
- id: WeaponMinigun
orGroup: Guns
- id: BowImprovised
orGroup: Guns
- id: WeaponFlareGun
orGroup: Guns
- id: WeaponImprovisedPneumaticCannon
orGroup: Guns
- id: WeaponWaterPistol
orGroup: Guns
- id: WeaponWaterBlaster
orGroup: Guns
- id: WeaponWaterBlasterSuper
orGroup: Guns
- id: RevolverCapGun
orGroup: Guns
- id: RevolverCapGunFake
orGroup: Guns
- type: SpeakOnAction
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: Action
useDelay: 300
itemIconStyle: BigAction
icon:
sprite: Objects/Magic/magicactions.rsi
state: magicmissile
- type: InstantAction
event: !type:RandomGlobalSpawnSpellEvent
spawns:
- id: SpawnSpellbook
orGroup: Magics
- id: ForceWallSpellbook
orGroup: Magics
- id: BlinkBook
orGroup: Magics
- id: KnockSpellbook
orGroup: Magics
- id: FireballSpellbook
orGroup: Magics
- id: WeaponWandPolymorphCarp
orGroup: Magics
- id: WeaponWandPolymorphMonkey
orGroup: Magics
- id: WeaponWandFireball
orGroup: Magics
- id: WeaponWandPolymorphDoor
orGroup: Magics
- id: WeaponWandCluwne
orGroup: Magics
- id: WeaponWandPolymorphBread
orGroup: Magics
- id: WeaponStaffHealing
orGroup: Magics
- id: WeaponStaffPolymorphDoor
orGroup: Magics
- id: AnimationStaff
orGroup: Magics
- id: RGBStaff
orGroup: Magics
- type: SpeakOnAction
sentence: action-speech-spell-summon-magic

View File

@@ -0,0 +1,43 @@
# SPDX-FileCopyrightText: 2022 keronshb <54602815+keronshb@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 CatMagic <135462166+CatMagic1@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: BaseAction
id: ActionForceWall
name: Force Wall # Goob edit
description: Create a magical barrier that only you can pass through. # Goob edit
components:
- type: Action
raiseOnUser: true # Goobstation
checkCanInteract: false # Goobstation
useDelay: 10 # Goob edit
itemIconStyle: BigAction
sound: !type:SoundPathSpecifier
path: /Audio/Magic/forcewall.ogg
icon:
sprite: _Goobstation/Wizard/actions.rsi # Goob edit
state: shield_greater # Goob edit
- type: InstantAction
event: !type:InstantSpawnSpellEvent
prototype: WallForce
posData: !type:TargetInFront
- type: SpeakOnAction
sentence: action-speech-spell-forcewall
- type: Magic # Goobstation
requiresSpeech: true
school: Conjuration
- type: ActionUpgrade
effectedLevels:
2: ActionForceWallII
3: ActionForceWallIII
4: ActionForceWallIV
5: ActionForceWallV

View File

@@ -0,0 +1,41 @@
# SPDX-FileCopyrightText: 2023 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2024 AJCM <AJCM@tutanota.com>
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Kira Bridgeton <161087999+Verbalase@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 PoTeletubby <108604614+PoTeletubby@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 keronshb <54602815+keronshb@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: BaseAction
id: ActionKnock
name: Knock
description: Opens nearby doors and lockers. # Goob edit
components:
- type: Action
raiseOnUser: true # Goobstation
checkCanInteract: false # Goobstation
useDelay: 10
itemIconStyle: BigAction
sound: !type:SoundPathSpecifier
path: /Audio/Magic/knock.ogg
icon:
sprite: _Goobstation/Wizard/actions.rsi # Goob edit
state: knock
- type: InstantAction
event: !type:KnockSpellEvent
range: 3 # Goob edit
- type: Magic # Goobstation
requiresSpeech: true
school: Transmutation
- type: ActionUpgrade
effectedLevels:
2: ActionKnockII
3: ActionKnockIII
- type: SpeakOnAction
sentence: action-speech-spell-knock

View File

@@ -0,0 +1,47 @@
# SPDX-FileCopyrightText: 2024 Thomas <87614336+Aeshus@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 keronshb <54602815+keronshb@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 ActiveMammmoth <140334666+ActiveMammmoth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: BaseEntitySpellAction
id: ActionMindSwap
name: Mind Swap
description: Exchange bodies with another person!
components:
- type: Action
raiseOnUser: true # Goobstation
useDelay: 60
icon:
sprite: _Goobstation/Wizard/actions.rsi # Goob edit
state: mindswap # Goob edit
- type: EntityTargetAction
# Goob edit start
canTargetSelf: false
whitelist:
requireAll: true
components:
- Body
- MobState
- MindContainer
# Goob edit end
event: !type:MindSwapSpellEvent
sound: # Goobstation
path: /Audio/_Goobstation/Wizard/mandswap.ogg
performerStunDuration: 5 # Goobstation
targetStunDuration: 5 # Goobstation
- type: Sprite # Goobstation - for apprentices
sprite: _Goobstation/Wizard/actions.rsi
state: mindswap
- type: Magic # Goobstation
requiresSpeech: true
school: Transmutation
- type: ActionUpgrade
effectedLevels:
2: ActionMindSwapII
3: ActionMindSwapIII
- type: SpeakOnAction
sentence: action-speech-spell-mind-swap

View File

@@ -0,0 +1,75 @@
# SPDX-FileCopyrightText: 2022 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2023 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2024 AJCM <AJCM@tutanota.com>
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 CatMagic <135462166+CatMagic1@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kira Bridgeton <161087999+Verbalase@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 PoTeletubby <108604614+PoTeletubby@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 PoTeletubby <ajcraigaz@gmail.com>
# SPDX-FileCopyrightText: 2024 keronshb <54602815+keronshb@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 J <billsmith116@gmail.com>
# SPDX-FileCopyrightText: 2025 OnsenCapy <101037138+OnsenCapy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 SX-7 <sn1.test.preria.2002@gmail.com>
# SPDX-FileCopyrightText: 2025 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: BaseAction
id: ActionFireball
name: Fireball
description: Fires an explosive fireball towards the clicked location.
components:
- type: Magic
requiresSpeech: true # Goobstation
school: Explosion # Goobstation
- type: Sprite # Goobstation - for apprentices
sprite: _Goobstation/Wizard/actions.rsi
state: fireball
- type: Action
useDelay: 6
itemIconStyle: BigAction
raiseOnUser: true
sound: !type:SoundPathSpecifier
path: /Audio/Magic/fireball.ogg
icon:
sprite: _Goobstation/Wizard/actions.rsi # Goob edit
state: fireball # Goob edit
- type: TargetAction
range: 60
checkCanAccess: false
- type: EntityTargetAction # Goobstation
canTargetSelf: false
- type: WorldTargetAction
event: !type:ProjectileSpellEvent
prototype: ProjectileFireball
speed: 20
- type: SpeakOnAction
sentence: action-speech-spell-fireball
- type: ActionUpgrade
effectedLevels:
2: ActionFireballII
3: ActionFireballIII
- type: entity
parent: ActionFireball
id: ActionFireballII
name: Fireball II
description: Fires a fireball, but faster!
components:
- type: Action
useDelay: 4
- type: entity
parent: ActionFireball
id: ActionFireballIII
name: Fireball III
description: The fastest fireball in the west!
components:
- type: Action
useDelay: 2

View File

@@ -0,0 +1,67 @@
# SPDX-FileCopyrightText: 2022 keronshb <54602815+keronshb@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 NULL882 <104377798+NULL882@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2024 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- 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: Action
useDelay: 10
- 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: Action
useDelay: 20
- 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: Action
useDelay: 15
- 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: Action
useDelay: 10
- type: InstantAction
event: !type:InstantSpawnSpellEvent
prototype: StunRune

View File

@@ -0,0 +1,41 @@
# SPDX-FileCopyrightText: 2022 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2023 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2024 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 PoTeletubby <ajcraigaz@gmail.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
id: ActionSmite
name: Smite
description: Charge your hand with an unholy energy that can be used to cause a touched victim to violently explode.
components:
- type: Action
useDelay: 60
itemIconStyle: BigAction
sound: !type:SoundPathSpecifier
path: /Audio/Magic/disintegrate.ogg
icon:
sprite: _Goobstation/Wizard/actions.rsi # Goob edit
state: gib
- type: TargetAction
interactOnMiss: false
- type: EntityTargetAction
whitelist:
components:
- Body
canTargetSelf: false
event: !type:SmiteSpellEvent
- type: SpeakOnAction
sentence: action-speech-spell-smite
- type: Magic # Goobstation
requiresClothes: true
requiresSpeech: true
school: Evocation
- type: ActionUpgrade
effectedLevels:
2: ActionSmiteII
3: ActionSmiteIII

View File

@@ -0,0 +1,16 @@
#- type: entity
# parent: BaseAction
# id: ActionSmoke
# name: Smoke
# description: Summons smoke around the user.
# components:
# - 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

@@ -0,0 +1,33 @@
# SPDX-FileCopyrightText: 2022 keronshb <54602815+keronshb@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Kira Bridgeton <161087999+Verbalase@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 PoTeletubby <ajcraigaz@gmail.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- 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: Action
useDelay: 10
itemIconStyle: BigAction
icon:
sprite: Objects/Magic/magicactions.rsi
state: spell_default
- type: TargetAction
range: 4
- type: WorldTargetAction
event: !type:WorldSpawnSpellEvent
prototypes:
- id: MobCarpMagic
amount: 3
offset: 0, 1
- type: SpeakOnAction
sentence: action-speech-spell-summon-magicarp

103
Prototypes/Magic/staves.yml Normal file
View File

@@ -0,0 +1,103 @@
# SPDX-FileCopyrightText: 2023 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 degradka <69397649+degradka@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 ActiveMammmoth <140334666+ActiveMammmoth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 ActiveMammmoth <kmcsmooth@gmail.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 gus <august.eymann@gmail.com>
# SPDX-FileCopyrightText: 2025 keronshb <54602815+keronshb@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# non-projectile / "gun" staves
# wand that gives lights an RGB effect.
- type: entity
id: RGBStaff
parent: BaseItem
name: RGB staff
description: Helps fix the underabundance of RGB gear on the station.
components:
- type: LimitedCharges
maxCharges: 25
- type: AutoRecharge
rechargeDuration: 30
- type: Sprite
sprite: Objects/Weapons/Guns/Basic/staves.rsi
layers:
- state: nothing
- state: nothing-unshaded
shader: unshaded
- type: ActionOnInteract
requiresCharge: true
actions:
- ActionRgbLight
- type: Item
size: Normal
inhandVisuals:
left:
- state: staff-inhand-left
- state: staff-inhand-left-unshaded
shader: unshaded
right:
- state: staff-inhand-right
- state: staff-inhand-right-unshaded
shader: unshaded
- type: RgbLightController
- type: PointLight
enabled: true
radius: 2
- type: entity
id: AnimationStaff
parent: BaseItem
name: staff of animation
description: An artefact that spits bolts of life-force which causes objects which are hit by it to animate and come to life!
components:
- type: LimitedCharges
maxCharges: 6
- type: AutoRecharge
rechargeDuration: 8
- type: Sprite
sprite: Objects/Weapons/Guns/Basic/staves.rsi
layers:
- state: animation
- type: ActionOnInteract
requiresCharge: true
actions:
- ActionAnimateSpell
- type: Item
size: Huge
inhandVisuals:
left:
- state: animation-inhand-left
right:
- state: animation-inhand-right
- type: Tag
tags:
- WizardStaff
- type: Clothing
sprite: _Goobstation/Wizard/Objects/Weapons/Staves/animation.rsi
quickEquip: false
slots:
- Back
- suitStorage
clothingVisuals:
back:
- sprite: _Goobstation/Wizard/Objects/Weapons/Staves/animation.rsi
state: equipped-BACKPACK
suitstorage:
- sprite: _Goobstation/Wizard/Objects/Weapons/Staves/animation.rsi
state: equipped-BACKPACK
- type: StaticPrice
price: 50000
- type: entity
parent: BaseAction
id: ActionRgbLight
components:
- type: EntityTargetAction
whitelist: { components: [ PointLight ] }
event: !type:ChangeComponentsSpellEvent
toAdd:
- type: RgbLightController

View File

@@ -0,0 +1,52 @@
# SPDX-FileCopyrightText: 2023 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2024 AJCM <AJCM@tutanota.com>
# SPDX-FileCopyrightText: 2024 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 keronshb <54602815+keronshb@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: BaseAction
id: ActionBlink
name: Blink
description: Teleport to the clicked location.
components:
- type: Action
useDelay: 10
itemIconStyle: BigAction
sound: !type:SoundPathSpecifier
path: /Audio/Magic/blink.ogg
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: Action
# useDelay: 15
# sound: !type:SoundPathSpecifier
# path: /Audio/Magic/Eldritch/voidblink.ogg
# 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

@@ -0,0 +1,97 @@
# Smite-like spell that you click on someone else to use
- type: entity
abstract: true
parent: BaseAction
id: BaseEntitySpellAction
components:
- type: Action
itemIconStyle: BigAction
useDelay: 90
- type: TargetAction
interactOnMiss: false
- type: EntityTargetAction
whitelist:
components:
- Body
canTargetSelf: 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
# - type: Magic
# requiresClothes: true
# For the Snail
- type: entity
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: Action
useDelay: 120
sound: !type:SoundPathSpecifier
path: /Audio/Items/brokenbikehorn.ogg
icon:
sprite: Clothing/Mask/cluwne.rsi
state: icon
- type: EntityTargetAction
event: !type:ChangeComponentsSpellEvent
toAdd:
- type: Cluwne
- type: SpeakOnAction
sentence: action-speech-spell-cluwne
- type: Magic
requiresClothes: true
- type: entity
parent: BaseSmiteAction
id: ActionSlippery
name: Slippery Slope
description: Make someone slippery.
components:
- type: Action
useDelay: 60
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
- type: StepTrigger
requiredTriggeredSpeed: -1
- type: SpeakOnAction
sentence: action-speech-spell-slip
- type: Magic
requiresClothes: true

View File

@@ -0,0 +1,39 @@
# SPDX-FileCopyrightText: 2024 AJCM <AJCM@tutanota.com>
# SPDX-FileCopyrightText: 2024 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 keronshb <54602815+keronshb@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
parent: BaseAction
id: ActionChargeSpell
name: Charge
description: This spell can be used to recharge a variety of things in your hands, from magical artifacts to electrical components. A creative wizard can even use it to grant magical power to a fellow magic user. # Goob edit
components:
- type: Action
useDelay: 60
itemIconStyle: BigAction
sound: !type:SoundPathSpecifier # Goobstation
path: /Audio/_Goobstation/Wizard/charge.ogg
icon:
sprite: _Goobstation/Wizard/actions.rsi # Goob edit
state: charge # Goob edit
- type: Sprite # Goobstation - for apprentices
sprite: _Goobstation/Wizard/actions.rsi
state: charge
- type: Magic # Goobstation
requiresSpeech: true
school: Transmutation
- type: ActionUpgrade
effectedLevels:
2: ActionChargeII
3: ActionChargeIII
4: ActionChargeIV
5: ActionChargeV
- type: InstantAction
event: !type:ChargeMagicEvent # Goob edit
- type: SpeakOnAction
sentence: action-speech-spell-charge