Simple Magic Spellbook System (#7823)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
This commit is contained in:
141
Resources/Prototypes/Magic/Fixtures/runes.yml
Normal file
141
Resources/Prototypes/Magic/Fixtures/runes.yml
Normal file
@@ -0,0 +1,141 @@
|
||||
- type: entity
|
||||
id: BaseRune
|
||||
name: "rune"
|
||||
abstract: true
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: Clickable
|
||||
- type: Sprite
|
||||
sprite: Structures/Magic/Cult/rune.rsi
|
||||
netsync: false
|
||||
layers:
|
||||
- state: cult2
|
||||
color: '#FF00FF'
|
||||
|
||||
- type: entity
|
||||
parent: BaseRune
|
||||
id: CollideRune
|
||||
name: "collision rune"
|
||||
abstract: true
|
||||
components:
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
- shape:
|
||||
!type:PhysShapeAabb
|
||||
bounds: "-0.4,-0.4,0.4,0.4"
|
||||
hard: false
|
||||
id: rune
|
||||
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: rune
|
||||
- type: DeleteOnTrigger
|
||||
- type: IgniteOnCollide
|
||||
fireStacks: 10
|
||||
- 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
|
||||
15
Resources/Prototypes/Magic/forcewall_spells.yml
Normal file
15
Resources/Prototypes/Magic/forcewall_spells.yml
Normal file
@@ -0,0 +1,15 @@
|
||||
- type: instantAction
|
||||
id: ForceWall
|
||||
name: action-name-spell-forcewall
|
||||
description: action-description-spell-forcewall
|
||||
useDelay: 10
|
||||
speech: action-speech-spell-forcewall
|
||||
itemIconStyle: BigAction
|
||||
sound: !type:SoundPathSpecifier
|
||||
path: /Audio/Magic/forcewall.ogg
|
||||
icon:
|
||||
sprite: Objects/Magic/magicactions.rsi
|
||||
state: shield
|
||||
serverEvent: !type:InstantSpawnSpellEvent
|
||||
prototype: WallForce
|
||||
posData: !type:TargetInFront
|
||||
11
Resources/Prototypes/Magic/knock_spell.yml
Normal file
11
Resources/Prototypes/Magic/knock_spell.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
- type: instantAction
|
||||
id: Knock
|
||||
name: action-name-spell-knock
|
||||
description: action-description-spell-knock
|
||||
useDelay: 10
|
||||
speech: action-speech-spell-knock
|
||||
itemIconStyle: BigAction
|
||||
icon:
|
||||
sprite: Objects/Magic/magicactions.rsi
|
||||
state: knock
|
||||
serverEvent: !type:KnockSpellEvent
|
||||
11
Resources/Prototypes/Magic/rune_spells.yml
Normal file
11
Resources/Prototypes/Magic/rune_spells.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
- type: instantAction
|
||||
id: FlashRune
|
||||
name: action-name-spell-rune-flash
|
||||
description: action-description-spell-rune-flash
|
||||
useDelay: 10
|
||||
itemIconStyle: BigAction
|
||||
icon:
|
||||
sprite: Objects/Magic/magicactions.rsi
|
||||
state: spell_default
|
||||
serverEvent: !type:InstantSpawnSpellEvent
|
||||
prototype: FlashRune
|
||||
16
Resources/Prototypes/Magic/spawn_spells.yml
Normal file
16
Resources/Prototypes/Magic/spawn_spells.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
- type: worldTargetAction
|
||||
id: SpawnMagicarpSpell
|
||||
name: action-name-spell-summon-magicarp
|
||||
description: action-description-spell-summon-magicarp
|
||||
useDelay: 10
|
||||
range: 4
|
||||
speech: action-speech-spell-summon-magicarp
|
||||
itemIconStyle: BigAction
|
||||
icon:
|
||||
sprite: Objects/Magic/magicactions.rsi
|
||||
state: spell_default
|
||||
serverEvent: !type:WorldSpawnSpellEvent
|
||||
prototypes:
|
||||
- id: MobCarpMagic
|
||||
amount: 3
|
||||
offsetVector2: 0, 1
|
||||
14
Resources/Prototypes/Magic/teleport_spells.yml
Normal file
14
Resources/Prototypes/Magic/teleport_spells.yml
Normal file
@@ -0,0 +1,14 @@
|
||||
- type: worldTargetAction
|
||||
id: Blink
|
||||
name: action-name-spell-blink
|
||||
description: action-description-spell-blink
|
||||
useDelay: 10
|
||||
range: 16 # default examine-range.
|
||||
# ^ should probably add better validation that the clicked location is on the users screen somewhere,
|
||||
itemIconStyle: BigAction
|
||||
checkCanAccess: false
|
||||
repeat: true
|
||||
icon:
|
||||
sprite: Objects/Magic/magicactions.rsi
|
||||
state: blink
|
||||
serverEvent: !type:TeleportSpellEvent
|
||||
Reference in New Issue
Block a user