Simple Magic Spellbook System (#7823)

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
This commit is contained in:
keronshb
2022-05-29 02:29:10 -04:00
committed by GitHub
parent fb29fd5ecb
commit 11f729d024
52 changed files with 1120 additions and 1 deletions

View 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

View 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

View 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

View 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

View 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

View 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