Carp wave spawner and dragons as an actual event (#10254)
This commit is contained in:
@@ -307,6 +307,7 @@
|
||||
baseSprintSpeed : 6
|
||||
- type: Sprite
|
||||
drawdepth: Mobs
|
||||
netsync: false
|
||||
layers:
|
||||
- map: ["enum.DamageStateVisualLayers.Base"]
|
||||
state: butterfly
|
||||
@@ -327,16 +328,10 @@
|
||||
0: Alive
|
||||
5: Critical
|
||||
10: Dead
|
||||
- type: RandomSpriteColor
|
||||
state: butterfly
|
||||
colors:
|
||||
blue: "#1861d5"
|
||||
red: "#951710"
|
||||
pink: "#d5188d"
|
||||
brown: "#a05212"
|
||||
green: "#0e7f1b"
|
||||
cyan: "#18a2d5"
|
||||
yellow: "#d58c18"
|
||||
- type: RandomSprite
|
||||
available:
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
butterfly: Rainbow
|
||||
- type: Appearance
|
||||
- type: DamageStateVisuals
|
||||
states:
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
- MobMask
|
||||
layer:
|
||||
- MobLayer
|
||||
- type: MovementIgnoreGravity
|
||||
- type: MovementAlwaysTouching
|
||||
- type: MobState
|
||||
thresholds:
|
||||
0: Alive
|
||||
|
||||
@@ -1,77 +1,95 @@
|
||||
- type: entity
|
||||
name: space carp
|
||||
id: MobCarp
|
||||
id: BaseMobCarp
|
||||
parent: SimpleSpaceMobBase
|
||||
description: It's a space carp.
|
||||
abstract: true
|
||||
components:
|
||||
- type: InputMover
|
||||
- type: MobMover
|
||||
- type: UtilityNPC
|
||||
behaviorSets:
|
||||
- Idle
|
||||
- UnarmedAttackHostiles
|
||||
- type: AiFactionTag
|
||||
factions:
|
||||
- SimpleHostile
|
||||
- type: Sprite
|
||||
drawdepth: Mobs
|
||||
layers:
|
||||
- map: ["enum.DamageStateVisualLayers.Base"]
|
||||
state: alive
|
||||
sprite: Mobs/Aliens/Carps/space.rsi
|
||||
- type: CombatMode
|
||||
disarmAction:
|
||||
enabled: false
|
||||
autoPopulate: false
|
||||
name: action-name-disarm
|
||||
- type: Physics
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
- shape:
|
||||
!type:PhysShapeCircle
|
||||
radius: 0.40
|
||||
mass: 40
|
||||
mask:
|
||||
- MobMask
|
||||
layer:
|
||||
- MobLayer
|
||||
- type: MobState
|
||||
thresholds:
|
||||
0: Alive
|
||||
50: Critical
|
||||
100: Dead
|
||||
- type: MovementIgnoreGravity
|
||||
- type: Appearance
|
||||
- type: DamageStateVisuals
|
||||
states:
|
||||
Alive:
|
||||
Base: alive
|
||||
Critical:
|
||||
Base: crit
|
||||
Dead:
|
||||
Base: dead
|
||||
- type: Butcherable
|
||||
spawned:
|
||||
- id: FoodMeatFish
|
||||
amount: 2
|
||||
- type: MeleeWeapon
|
||||
range: 1.5
|
||||
arcwidth: 0
|
||||
arc: bite
|
||||
hitSound:
|
||||
path: /Audio/Effects/bite.ogg
|
||||
damage:
|
||||
types:
|
||||
Piercing: 5
|
||||
Slash: 10
|
||||
- type: ReplacementAccent
|
||||
accent: genericAggressive
|
||||
- type: TypingIndicator
|
||||
proto: alien
|
||||
- type: NoSlip
|
||||
- type: Tag
|
||||
tags:
|
||||
- Carp
|
||||
- type: InputMover
|
||||
- type: MobMover
|
||||
- type: UtilityNPC
|
||||
behaviorSets:
|
||||
- Idle
|
||||
- UnarmedAttackHostiles
|
||||
- type: AiFactionTag
|
||||
factions:
|
||||
- SimpleHostile
|
||||
- type: Sprite
|
||||
drawdepth: Mobs
|
||||
netsync: false
|
||||
layers:
|
||||
- map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
state: base
|
||||
sprite: Mobs/Aliens/Carps/space.rsi
|
||||
- map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ]
|
||||
state: mouth
|
||||
sprite: Mobs/Aliens/Carps/space.rsi
|
||||
shader: unshaded
|
||||
- type: RandomSprite
|
||||
available:
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
base: Rainbow
|
||||
enum.DamageStateVisualLayers.BaseUnshaded:
|
||||
mouth: ""
|
||||
- type: CombatMode
|
||||
disarmAction:
|
||||
enabled: false
|
||||
autoPopulate: false
|
||||
name: action-name-disarm
|
||||
- type: Physics
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
- shape:
|
||||
!type:PhysShapeCircle
|
||||
radius: 0.40
|
||||
mass: 40
|
||||
mask:
|
||||
- MobMask
|
||||
layer:
|
||||
- MobLayer
|
||||
- type: MobState
|
||||
thresholds:
|
||||
0: Alive
|
||||
50: Critical
|
||||
100: Dead
|
||||
- type: MovementAlwaysTouching
|
||||
- type: Appearance
|
||||
- type: DamageStateVisuals
|
||||
states:
|
||||
Alive:
|
||||
Base: base
|
||||
BaseUnshaded: mouth
|
||||
Dead:
|
||||
Base: base_dead
|
||||
BaseUnshaded: dead_mouth
|
||||
- type: Butcherable
|
||||
spawned:
|
||||
- id: FoodMeatFish
|
||||
amount: 2
|
||||
- type: MeleeWeapon
|
||||
range: 1.5
|
||||
arcwidth: 0
|
||||
arc: bite
|
||||
hitSound:
|
||||
path: /Audio/Effects/bite.ogg
|
||||
damage:
|
||||
types:
|
||||
Piercing: 5
|
||||
Slash: 10
|
||||
- type: TypingIndicator
|
||||
proto: alien
|
||||
- type: NoSlip
|
||||
- type: Tag
|
||||
tags:
|
||||
- Carp
|
||||
- DoorBumpOpener
|
||||
|
||||
- type: entity
|
||||
parent: BaseMobCarp
|
||||
id: MobCarp
|
||||
components:
|
||||
- type: ReplacementAccent
|
||||
accent: genericAggressive
|
||||
|
||||
- type: entity
|
||||
name: magicarp
|
||||
@@ -79,14 +97,14 @@
|
||||
id: MobCarpMagic
|
||||
description: Looks like some kind of fish. Might be magical.
|
||||
components:
|
||||
- type: Sprite
|
||||
drawdepth: Mobs
|
||||
layers:
|
||||
- map: ["enum.DamageStateVisualLayers.Base"]
|
||||
state: alive
|
||||
sprite: Mobs/Aliens/Carps/magic.rsi
|
||||
- type: TypingIndicator
|
||||
proto: guardian
|
||||
- type: Sprite
|
||||
drawdepth: Mobs
|
||||
layers:
|
||||
- map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
state: base
|
||||
sprite: Mobs/Aliens/Carps/magic.rsi
|
||||
- type: TypingIndicator
|
||||
proto: guardian
|
||||
|
||||
- type: entity
|
||||
name: holocarp
|
||||
@@ -94,37 +112,37 @@
|
||||
id: MobCarpHolo
|
||||
description: Carp made out of holographic energies. Sadly for you, it is very much real.
|
||||
components:
|
||||
- type: Sprite
|
||||
drawdepth: Mobs
|
||||
layers:
|
||||
- map: ["enum.DamageStateVisualLayers.Base"]
|
||||
state: alive
|
||||
sprite: Mobs/Aliens/Carps/holo.rsi
|
||||
- type: Physics
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
- shape:
|
||||
!type:PhysShapeCircle
|
||||
radius: 0.40
|
||||
mass: 5
|
||||
mask:
|
||||
- MobMask
|
||||
layer:
|
||||
- Opaque
|
||||
- type: TypingIndicator
|
||||
proto: robot
|
||||
- type: Sprite
|
||||
drawdepth: Mobs
|
||||
layers:
|
||||
- map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
state: base
|
||||
sprite: Mobs/Aliens/Carps/holo.rsi
|
||||
- type: Physics
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
- shape:
|
||||
!type:PhysShapeCircle
|
||||
radius: 0.40
|
||||
mass: 5
|
||||
mask:
|
||||
- MobMask
|
||||
layer:
|
||||
- Opaque
|
||||
- type: TypingIndicator
|
||||
proto: robot
|
||||
|
||||
- type: entity
|
||||
id: MobCarpSalvage
|
||||
parent: MobCarp
|
||||
suffix: "Salvage Ruleset"
|
||||
components:
|
||||
- type: GhostTakeoverAvailable
|
||||
prob: 0.33
|
||||
name: space carp on salvage wreck
|
||||
description: |
|
||||
Defend the loot inside the salvage wreck!
|
||||
- type: SalvageMobRestrictions
|
||||
- type: GhostTakeoverAvailable
|
||||
prob: 0.33
|
||||
name: space carp on salvage wreck
|
||||
description: |
|
||||
Defend the loot inside the salvage wreck!
|
||||
- type: SalvageMobRestrictions
|
||||
|
||||
- type: entity
|
||||
name: space carp
|
||||
@@ -132,8 +150,7 @@
|
||||
suffix: DragonBrood
|
||||
parent: MobCarp
|
||||
components:
|
||||
- type: GhostTakeoverAvailable
|
||||
makeSentient: true
|
||||
name: Sentient Carp
|
||||
description: Help the dragon flood the station with carps!
|
||||
|
||||
- type: GhostTakeoverAvailable
|
||||
makeSentient: true
|
||||
name: Sentient Carp
|
||||
description: Help the dragon flood the station with carps!
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
thresholds:
|
||||
0: Alive
|
||||
15: Dead
|
||||
- type: MovementIgnoreGravity
|
||||
- type: MovementAlwaysTouching
|
||||
- type: Appearance
|
||||
- type: DamageStateVisuals
|
||||
states:
|
||||
|
||||
@@ -5,106 +5,112 @@
|
||||
suffix:
|
||||
description: A flying leviathan, loosely related to space carps.
|
||||
components:
|
||||
- type: GhostTakeoverAvailable
|
||||
makeSentient: true
|
||||
name: Space dragon!
|
||||
description: Crash, roast, flood the station with carps!
|
||||
- type: Speech
|
||||
- type: CombatMode
|
||||
disarmAction:
|
||||
enabled: false
|
||||
autoPopulate: false
|
||||
name: action-name-disarm
|
||||
- type: MobMover
|
||||
- type: InputMover
|
||||
- type: MovementSpeedModifier
|
||||
baseWalkSpeed : 5
|
||||
baseSprintSpeed : 5
|
||||
- type: Sprite
|
||||
sprite: Mobs/Aliens/Carps/dragon.rsi
|
||||
noRot: true
|
||||
# TODO: Randomise colors when RandomSpriteColor isn't poopoo
|
||||
layers:
|
||||
- map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
state: alive
|
||||
- map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ]
|
||||
state: alive-unshaded
|
||||
shader: unshaded
|
||||
- type: Appearance
|
||||
- type: DamageStateVisuals
|
||||
states:
|
||||
Alive:
|
||||
Base: alive
|
||||
BaseUnshaded: alive-unshaded
|
||||
Critical:
|
||||
Base: crit
|
||||
Dead:
|
||||
Base: dead
|
||||
BaseUnshaded: dead-unshaded
|
||||
- type: Physics
|
||||
bodyType: KinematicController
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
- shape:
|
||||
!type:PhysShapeCircle
|
||||
radius: 0.40
|
||||
mass: 50
|
||||
mask:
|
||||
- FlyingMobMask
|
||||
layer:
|
||||
- FlyingMobLayer
|
||||
- type: MobState
|
||||
thresholds:
|
||||
0: Alive
|
||||
450: Critical
|
||||
500: Dead
|
||||
- type: Metabolizer
|
||||
solutionOnBody: false
|
||||
updateFrequency: 0.25
|
||||
metabolizerTypes: [Dragon]
|
||||
groups:
|
||||
- id: Medicine
|
||||
- id: Poison
|
||||
- type: MovementIgnoreGravity
|
||||
- type: NoSlip
|
||||
- type: Butcherable
|
||||
spawned:
|
||||
- id: FoodMeatDragon
|
||||
amount: 2
|
||||
- type: InteractionPopup
|
||||
successChance: 0.25 # It's no goose, but you better smell like carp.
|
||||
interactSuccessString: petting-success-dragon
|
||||
interactFailureString: petting-failure-dragon
|
||||
interactFailureSound:
|
||||
path: /Audio/Animals/space_dragon_roar.ogg
|
||||
soundPerceivedByOthers: false # A 75% chance for a loud roar would get old fast.
|
||||
- type: MeleeWeapon
|
||||
hitSound:
|
||||
path: /Audio/Effects/bite.ogg
|
||||
damage:
|
||||
types:
|
||||
Piercing: 15
|
||||
Slash: 15
|
||||
- type: Dragon
|
||||
spawnsLeft: 2
|
||||
spawnsProto: MobCarpDragon
|
||||
devourAction:
|
||||
event: !type:DragonDevourActionEvent
|
||||
icon: Interface/Actions/devour.png
|
||||
name: action-name-devour
|
||||
description: action-description-devour
|
||||
devourChemical: Ichor
|
||||
devourHealRate: 15.0
|
||||
whitelist:
|
||||
components:
|
||||
- MobState
|
||||
- Door
|
||||
tags:
|
||||
- Wall
|
||||
spawnAction:
|
||||
event: !type:DragonSpawnActionEvent
|
||||
icon: Interface/Actions/carp_summon.png
|
||||
name: action-name-carp-summon
|
||||
description: action-description-carp-summon
|
||||
useDelay: 5
|
||||
|
||||
- type: GhostTakeoverAvailable
|
||||
makeSentient: true
|
||||
name: Space dragon
|
||||
description: Call in 3 carp rifts and take over this quadrant! You have only 5 minutes in between each rift before you will disappear.
|
||||
- type: Speech
|
||||
- type: CombatMode
|
||||
disarmAction:
|
||||
enabled: false
|
||||
autoPopulate: false
|
||||
name: action-name-disarm
|
||||
- type: MobMover
|
||||
- type: InputMover
|
||||
- type: MovementSpeedModifier
|
||||
baseWalkSpeed: 3
|
||||
baseSprintSpeed: 5
|
||||
weightlessModifier: 1.5
|
||||
- type: RandomSprite
|
||||
available:
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
alive: Rainbow
|
||||
- type: Sprite
|
||||
sprite: Mobs/Aliens/Carps/dragon.rsi
|
||||
netsync: false
|
||||
noRot: true
|
||||
layers:
|
||||
- map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
state: alive
|
||||
- map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ]
|
||||
state: alive-unshaded
|
||||
shader: unshaded
|
||||
- type: Appearance
|
||||
- type: DamageStateVisuals
|
||||
states:
|
||||
Alive:
|
||||
Base: alive
|
||||
BaseUnshaded: alive-unshaded
|
||||
Critical:
|
||||
Base: crit
|
||||
Dead:
|
||||
Base: dead
|
||||
BaseUnshaded: dead-unshaded
|
||||
- type: Physics
|
||||
bodyType: KinematicController
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
- shape:
|
||||
!type:PhysShapeCircle
|
||||
radius: 0.40
|
||||
mass: 50
|
||||
mask:
|
||||
- FlyingMobMask
|
||||
layer:
|
||||
- FlyingMobLayer
|
||||
- type: MobState
|
||||
thresholds:
|
||||
0: Alive
|
||||
450: Critical
|
||||
500: Dead
|
||||
- type: Metabolizer
|
||||
solutionOnBody: false
|
||||
updateFrequency: 0.25
|
||||
metabolizerTypes: [ Dragon ]
|
||||
groups:
|
||||
- id: Medicine
|
||||
- id: Poison
|
||||
- type: MovementAlwaysTouching
|
||||
- type: NoSlip
|
||||
- type: Butcherable
|
||||
spawned:
|
||||
- id: FoodMeatDragon
|
||||
amount: 2
|
||||
- type: InteractionPopup
|
||||
successChance: 0.25 # It's no goose, but you better smell like carp.
|
||||
interactSuccessString: petting-success-dragon
|
||||
interactFailureString: petting-failure-dragon
|
||||
interactFailureSound:
|
||||
path: /Audio/Animals/space_dragon_roar.ogg
|
||||
soundPerceivedByOthers: false # A 75% chance for a loud roar would get old fast.
|
||||
- type: MeleeWeapon
|
||||
hitSound:
|
||||
path: /Audio/Effects/bite.ogg
|
||||
damage:
|
||||
types:
|
||||
Piercing: 15
|
||||
Slash: 15
|
||||
- type: Dragon
|
||||
spawnsLeft: 2
|
||||
spawnsProto: MobCarpDragon
|
||||
devourAction:
|
||||
event: !type:DragonDevourActionEvent
|
||||
icon: Interface/Actions/devour.png
|
||||
name: action-name-devour
|
||||
description: action-description-devour
|
||||
devourChemical: Ichor
|
||||
devourHealRate: 15.0
|
||||
whitelist:
|
||||
components:
|
||||
- MobState
|
||||
- Door
|
||||
tags:
|
||||
- Wall
|
||||
spawnRiftAction:
|
||||
event: !type:DragonSpawnRiftActionEvent
|
||||
icon:
|
||||
sprite: Interface/Actions/carp_rift.rsi
|
||||
state: icon
|
||||
name: action-name-carp-rift
|
||||
description: action-description-carp-rift
|
||||
useDelay: 1
|
||||
|
||||
@@ -5,78 +5,94 @@
|
||||
id: MobGuardianBase
|
||||
description: guardian
|
||||
components:
|
||||
- type: GhostTakeoverAvailable
|
||||
makeSentient: true
|
||||
name: Guardian
|
||||
description: Listen to your owner. Don't tank damage. Punch people hard.
|
||||
- type: Input
|
||||
context: "human"
|
||||
- type: MobMover
|
||||
- type: InputMover
|
||||
- type: MovementSpeedModifier
|
||||
baseWalkSpeed : 7
|
||||
baseSprintSpeed : 7
|
||||
- type: DamageOnHighSpeedImpact
|
||||
damage:
|
||||
types:
|
||||
Blunt: 5
|
||||
soundHit:
|
||||
path: /Audio/Effects/hit_kick.ogg
|
||||
# TODO: Randomise sprites and randomise the layer color
|
||||
- type: Sprite
|
||||
drawdepth: Mobs
|
||||
sprite: Mobs/Aliens/Guardians/guardians.rsi
|
||||
layers:
|
||||
- state: tech_base
|
||||
- state: tech_flare
|
||||
color: "#40a7d7"
|
||||
shader: unshaded
|
||||
noRot: true
|
||||
- type: Clickable
|
||||
- type: InteractionOutline
|
||||
- type: Physics
|
||||
bodyType: KinematicController
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
- shape:
|
||||
!type:PhysShapeCircle
|
||||
radius: 0.35
|
||||
mass: 10
|
||||
mask:
|
||||
- FlyingMobMask
|
||||
layer:
|
||||
- FlyingMobLayer
|
||||
- type: Damageable
|
||||
damageContainer: Biological
|
||||
- type: MobState
|
||||
thresholds:
|
||||
0: Alive
|
||||
- type: HeatResistance
|
||||
- type: CombatMode
|
||||
- type: Internals
|
||||
- type: Examiner
|
||||
- type: Speech
|
||||
- type: TypingIndicator
|
||||
proto: guardian
|
||||
- type: Pullable
|
||||
- type: MeleeWeapon
|
||||
range: 2
|
||||
arcwidth: 30
|
||||
arc: fist
|
||||
cooldownTime: 0.7
|
||||
arcCooldownTime: 0.7
|
||||
damage:
|
||||
types:
|
||||
Blunt: 22
|
||||
- type: Actions
|
||||
- type: Guardian
|
||||
- type: InteractionPopup
|
||||
interactSuccessString: petting-success-holo
|
||||
interactFailureString: petting-failure-holo
|
||||
successChance: 0.7
|
||||
- type: Tag
|
||||
tags:
|
||||
- CannotSuicide
|
||||
- type: GhostTakeoverAvailable
|
||||
makeSentient: true
|
||||
name: Guardian
|
||||
description: Listen to your owner. Don't tank damage. Punch people hard.
|
||||
- type: Input
|
||||
context: "human"
|
||||
- type: MobMover
|
||||
- type: InputMover
|
||||
- type: MovementSpeedModifier
|
||||
baseWalkSpeed: 4
|
||||
baseSprintSpeed: 5.5
|
||||
- type: DamageOnHighSpeedImpact
|
||||
damage:
|
||||
types:
|
||||
Blunt: 5
|
||||
soundHit:
|
||||
path: /Audio/Effects/hit_kick.ogg
|
||||
- type: RandomSprite
|
||||
available:
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
magic_base: ""
|
||||
enum.DamageStateVisualLayers.BaseUnshaded:
|
||||
magic_flare: Sixteen
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
miner_base: ""
|
||||
enum.DamageStateVisualLayers.BaseUnshaded:
|
||||
miner_flare: Sixteen
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
tech_base: ""
|
||||
enum.DamageStateVisualLayers.BaseUnshaded:
|
||||
tech_flare: Sixteen
|
||||
- type: Sprite
|
||||
drawdepth: Mobs
|
||||
sprite: Mobs/Aliens/Guardians/guardians.rsi
|
||||
netsync: false
|
||||
layers:
|
||||
- state: tech_base
|
||||
map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
- state: tech_flare
|
||||
map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ]
|
||||
color: "#40a7d7"
|
||||
shader: unshaded
|
||||
noRot: true
|
||||
- type: Clickable
|
||||
- type: InteractionOutline
|
||||
- type: Physics
|
||||
bodyType: KinematicController
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
- shape:
|
||||
!type:PhysShapeCircle
|
||||
radius: 0.35
|
||||
mass: 10
|
||||
mask:
|
||||
- FlyingMobMask
|
||||
layer:
|
||||
- FlyingMobLayer
|
||||
- type: Damageable
|
||||
damageContainer: Biological
|
||||
- type: MobState
|
||||
thresholds:
|
||||
0: Alive
|
||||
- type: HeatResistance
|
||||
- type: CombatMode
|
||||
- type: Internals
|
||||
- type: Examiner
|
||||
- type: Speech
|
||||
- type: TypingIndicator
|
||||
proto: guardian
|
||||
- type: Pullable
|
||||
- type: MeleeWeapon
|
||||
range: 2
|
||||
arcwidth: 30
|
||||
arc: fist
|
||||
cooldownTime: 0.7
|
||||
arcCooldownTime: 0.7
|
||||
damage:
|
||||
types:
|
||||
Blunt: 22
|
||||
- type: Actions
|
||||
- type: Guardian
|
||||
- type: InteractionPopup
|
||||
interactSuccessString: petting-success-holo
|
||||
interactFailureString: petting-failure-holo
|
||||
successChance: 0.7
|
||||
- type: Tag
|
||||
tags:
|
||||
- CannotSuicide
|
||||
|
||||
# From the uplink injector
|
||||
- type: entity
|
||||
@@ -85,20 +101,22 @@
|
||||
parent: MobGuardianBase
|
||||
description: A mesmerising whirl of hard-light patterns weaves a marvelous, yet oddly familiar visage. It stands proud, tuning into its owner's life to sustain itself.
|
||||
components:
|
||||
- type: GhostTakeoverAvailable
|
||||
makeSentient: true
|
||||
name: Holoparasite
|
||||
description: Listen to your owner. Don't tank damage. Punch people hard.
|
||||
- type: NameIdentifier
|
||||
group: Holoparasite
|
||||
- type: TypingIndicator
|
||||
proto: holo
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: tech_base
|
||||
- state: tech_flare
|
||||
color: "#40a7d7"
|
||||
shader: unshaded
|
||||
- type: GhostTakeoverAvailable
|
||||
makeSentient: true
|
||||
name: Holoparasite
|
||||
description: Listen to your owner. Don't tank damage. Punch people hard.
|
||||
- type: NameIdentifier
|
||||
group: Holoparasite
|
||||
- type: TypingIndicator
|
||||
proto: holo
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: tech_base
|
||||
map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
- state: tech_flare
|
||||
map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ]
|
||||
color: "#40a7d7"
|
||||
shader: unshaded
|
||||
|
||||
# From Wizard deck of cards
|
||||
- type: entity
|
||||
@@ -107,13 +125,19 @@
|
||||
id: MobIfritGuardian
|
||||
description: A corrupted jinn, ripped from fitra to serve the wizard's petty needs. It stands wicked, tuning into it's owner's life to sustain itself.
|
||||
components:
|
||||
- type: GhostTakeoverAvailable
|
||||
makeSentient: true
|
||||
name: Ifrit
|
||||
description: Listen to your owner. Don't tank damage. Punch people hard.
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: magic_base
|
||||
- state: magic_flare
|
||||
color: "#d14730"
|
||||
shader: unshaded
|
||||
- type: GhostTakeoverAvailable
|
||||
makeSentient: true
|
||||
name: Ifrit
|
||||
description: Listen to your owner. Don't tank damage. Punch people hard.
|
||||
- type: RandomSprite
|
||||
available:
|
||||
- enum.DamageStateVisualLayers.BaseUnshaded:
|
||||
magic_flare: Sixteen
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: magic_base
|
||||
map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
- state: magic_flare
|
||||
map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ]
|
||||
color: "#40a7d7"
|
||||
shader: unshaded
|
||||
|
||||
@@ -176,14 +176,20 @@
|
||||
- Nugget
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Food/Baked/nuggets.rsi
|
||||
state: tendie
|
||||
netsync: true
|
||||
- type: RandomSpriteState
|
||||
spriteStates:
|
||||
- tendie
|
||||
- lizard
|
||||
- star
|
||||
- corgi
|
||||
layers:
|
||||
- state: tendie
|
||||
map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
netsync: false
|
||||
- type: RandomSprite
|
||||
available:
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
tendie: ""
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
lizard: ""
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
star: ""
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
corgi: ""
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
food:
|
||||
|
||||
@@ -126,8 +126,13 @@
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Food/egg.rsi
|
||||
state: icon
|
||||
- type: RandomSpriteState
|
||||
spriteStates:
|
||||
- icon
|
||||
- white
|
||||
layers:
|
||||
- state: icon
|
||||
map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
netsync: false
|
||||
- type: RandomSprite
|
||||
available:
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
icon: ""
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
white: ""
|
||||
|
||||
@@ -237,11 +237,16 @@
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Food/frozen.rsi
|
||||
state: stick
|
||||
- type: RandomSpriteState
|
||||
spriteStates:
|
||||
- stick
|
||||
- stick2
|
||||
netsync: false
|
||||
layers:
|
||||
- state: stick
|
||||
map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
- type: RandomSprite
|
||||
available:
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
stick: ""
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
stick2: ""
|
||||
- type: Tag
|
||||
tags:
|
||||
- Trash
|
||||
|
||||
@@ -87,12 +87,14 @@
|
||||
tags:
|
||||
- Raw
|
||||
- type: Sprite
|
||||
netsync: true
|
||||
netsync: false
|
||||
state: bacon
|
||||
- type: RandomSpriteState
|
||||
spriteStates:
|
||||
- bacon
|
||||
- bacon2
|
||||
- type: RandomSprite
|
||||
available:
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
bacon: ""
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
bacon2: ""
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
food:
|
||||
@@ -501,11 +503,13 @@
|
||||
layers:
|
||||
- state: plate-meat
|
||||
- state: bacon-cooked
|
||||
- type: RandomSpriteState
|
||||
spriteLayer: 1
|
||||
spriteStates:
|
||||
- bacon-cooked
|
||||
- bacon2-cooked
|
||||
map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
- type: RandomSprite
|
||||
available:
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
bacon-cooked: ""
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
bacon2-cooked: ""
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
food:
|
||||
@@ -608,12 +612,16 @@
|
||||
- type: Food
|
||||
trash: FoodPlateSmall
|
||||
- type: Sprite
|
||||
netsync: true
|
||||
state: chicken-fried
|
||||
- type: RandomSpriteState
|
||||
spriteStates:
|
||||
- chicken-fried
|
||||
- chicken2-fried
|
||||
netsync: false
|
||||
layers:
|
||||
- state: chicken-fried
|
||||
map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
- type: RandomSprite
|
||||
available:
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
chicken-fried: ""
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
chicken2-fried: ""
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
food:
|
||||
|
||||
@@ -5,13 +5,19 @@
|
||||
description: It's a shard of some unknown material.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Materials/Shards/shard.rsi
|
||||
state: shard1
|
||||
- type: RandomSpriteState
|
||||
spriteStates:
|
||||
- shard1
|
||||
- shard2
|
||||
- shard3
|
||||
layers:
|
||||
- sprite: Objects/Materials/Shards/shard.rsi
|
||||
state: shard1
|
||||
map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
netsync: false
|
||||
- type: RandomSprite
|
||||
available:
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
shard1: ""
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
shard2: ""
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
shard3: ""
|
||||
- type: ItemCooldown
|
||||
- type: MeleeWeapon
|
||||
damage:
|
||||
|
||||
@@ -6,8 +6,10 @@
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Misc/books.rsi
|
||||
netsync: false
|
||||
layers:
|
||||
- state: book0
|
||||
map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
- type: Paper
|
||||
- type: ActivatableUI
|
||||
key: enum.PaperUiKey.Key
|
||||
@@ -21,15 +23,23 @@
|
||||
id: BookRandom
|
||||
suffix: random
|
||||
components:
|
||||
- type: RandomSpriteState
|
||||
spriteLayer: 0
|
||||
spriteStates:
|
||||
- book0
|
||||
- book1
|
||||
- book2
|
||||
- book3
|
||||
- book4
|
||||
- book5
|
||||
- book6
|
||||
- book7
|
||||
- book8
|
||||
- type: RandomSprite
|
||||
available:
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
book0: ""
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
book1: ""
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
book2: ""
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
book3: ""
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
book4: ""
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
book5: ""
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
book6: ""
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
book7: ""
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
book8: ""
|
||||
|
||||
@@ -4,21 +4,34 @@
|
||||
id: Lighter
|
||||
description: "A simple plastic cigarette lighter."
|
||||
components:
|
||||
- type: RandomSpriteState #this has to be before sprite component for the flame to toggle right because weldercomponent behaves weird (and i dont trust myself to fix it right)
|
||||
spriteStates:
|
||||
- basic_icon_base-1
|
||||
- basic_icon_base-2
|
||||
- basic_icon_base-3
|
||||
- basic_icon_base-4
|
||||
- basic_icon_base-5
|
||||
- basic_icon_base-6
|
||||
- basic_icon_base-7
|
||||
- basic_icon_base-8
|
||||
- basic_icon_base-9
|
||||
- basic_icon_base-10
|
||||
- basic_icon_base-11
|
||||
# Sloth: What is this comment ?????????
|
||||
- type: RandomSprite #this has to be before sprite component for the flame to toggle right because weldercomponent behaves weird (and i dont trust myself to fix it right)
|
||||
available:
|
||||
- enum.WelderLayers.Base:
|
||||
basic_icon_base-1: ""
|
||||
- enum.WelderLayers.Base:
|
||||
basic_icon_base-2: ""
|
||||
- enum.WelderLayers.Base:
|
||||
basic_icon_base-3: ""
|
||||
- enum.WelderLayers.Base:
|
||||
basic_icon_base-4: ""
|
||||
- enum.WelderLayers.Base:
|
||||
basic_icon_base-5: ""
|
||||
- enum.WelderLayers.Base:
|
||||
basic_icon_base-6: ""
|
||||
- enum.WelderLayers.Base:
|
||||
basic_icon_base-7: ""
|
||||
- enum.WelderLayers.Base:
|
||||
basic_icon_base-8: ""
|
||||
- enum.WelderLayers.Base:
|
||||
basic_icon_base-9: ""
|
||||
- enum.WelderLayers.Base:
|
||||
basic_icon_base-10: ""
|
||||
- enum.WelderLayers.Base:
|
||||
basic_icon_base-11: ""
|
||||
- type: Sprite
|
||||
sprite: Objects/Tools/lighters.rsi
|
||||
netsync: false
|
||||
layers:
|
||||
- state: icon_map
|
||||
map: ["enum.WelderLayers.Base"]
|
||||
@@ -69,16 +82,10 @@
|
||||
id: CheapLighter
|
||||
description: "A dangerously inexpensive plastic lighter, don't burn your thumb!"
|
||||
components:
|
||||
- type: RandomSpriteColor
|
||||
state: cheap_icon_base
|
||||
colors:
|
||||
blue: "#1861d5"
|
||||
red: "#951710"
|
||||
pink: "#d5188d"
|
||||
brown: "#a05212"
|
||||
green: "#0e7f1b"
|
||||
cyan: "#18a2d5"
|
||||
yellow: "#d58c18" #all colours proudly stolen from wirecutters
|
||||
- type: RandomSprite
|
||||
available:
|
||||
- enum.WelderLayers.Base:
|
||||
cheap_icon_base: Rainbow
|
||||
- type: Sprite
|
||||
sprite: Objects/Tools/lighters.rsi
|
||||
layers:
|
||||
|
||||
@@ -13,8 +13,10 @@
|
||||
- Wirecutter
|
||||
- type: Sprite
|
||||
sprite: Objects/Tools/wirecutters.rsi
|
||||
netsync: false
|
||||
layers:
|
||||
- state: cutters-map
|
||||
- state: cutters
|
||||
map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
- state: cutters-cutty-thingy
|
||||
- type: ItemCooldown
|
||||
- type: MeleeWeapon
|
||||
@@ -26,16 +28,10 @@
|
||||
- Cutting
|
||||
useSound:
|
||||
path: /Audio/Items/wirecutter.ogg
|
||||
- type: RandomSpriteColor
|
||||
state: cutters
|
||||
colors:
|
||||
blue: "#1861d5"
|
||||
red: "#951710"
|
||||
pink: "#d5188d"
|
||||
brown: "#a05212"
|
||||
green: "#0e7f1b"
|
||||
cyan: "#18a2d5"
|
||||
yellow: "#d58c18"
|
||||
- type: RandomSprite
|
||||
available:
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
cutters: Rainbow
|
||||
- type: Item
|
||||
sprite: Objects/Tools/wirecutters.rsi
|
||||
|
||||
@@ -53,8 +49,10 @@
|
||||
- Screwdriver
|
||||
- type: Sprite
|
||||
sprite: Objects/Tools/screwdriver.rsi
|
||||
netsync: false
|
||||
layers:
|
||||
- state: screwdriver-map
|
||||
- state: screwdriver
|
||||
map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
- state: screwdriver-screwybits
|
||||
- type: Item
|
||||
sprite: Objects/Tools/screwdriver.rsi
|
||||
@@ -68,16 +66,10 @@
|
||||
- Screwing
|
||||
useSound:
|
||||
collection: Screwdriver
|
||||
- type: RandomSpriteColor
|
||||
state: screwdriver
|
||||
colors:
|
||||
blue: "#1861d5"
|
||||
red: "#ff0000"
|
||||
pink: "#d5188d"
|
||||
brown: "#a05212"
|
||||
green: "#0e7f1b"
|
||||
cyan: "#18a2d5"
|
||||
yellow: "#ffa500"
|
||||
- type: RandomSprite
|
||||
available:
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
screwdriver: Rainbow
|
||||
|
||||
- type: entity
|
||||
name: wrench
|
||||
|
||||
@@ -9,15 +9,21 @@
|
||||
layers:
|
||||
- state: base
|
||||
- state: book-0
|
||||
- type: RandomSpriteState
|
||||
spriteLayer: 1
|
||||
spriteStates:
|
||||
- book-0
|
||||
- book-1
|
||||
- book-2
|
||||
- book-3
|
||||
- book-4
|
||||
- book-5
|
||||
map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
- type: RandomSprite
|
||||
available:
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
book-0: ""
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
book-1: ""
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
book-2: ""
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
book-3: ""
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
book-4: ""
|
||||
- enum.DamageStateVisualLayers.Base:
|
||||
book-5: ""
|
||||
- type: Damageable
|
||||
damageModifierSet: Wood
|
||||
damageContainer: Inorganic
|
||||
|
||||
39
Resources/Prototypes/Entities/Structures/Specific/dragon.yml
Normal file
39
Resources/Prototypes/Entities/Structures/Specific/dragon.yml
Normal file
@@ -0,0 +1,39 @@
|
||||
- type: entity
|
||||
id: CarpRift
|
||||
name: carp rift
|
||||
description: A rift akin to the ones space carp use to travel long distances.
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: DragonRift
|
||||
- type: Transform
|
||||
anchored: true
|
||||
- type: Physics
|
||||
bodyType: Static
|
||||
- type: Fixtures
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
layers:
|
||||
- sprite: Structures/Specific/carp_rift.rsi
|
||||
state: icon
|
||||
color: "#569fff"
|
||||
shader: unshaded
|
||||
- type: InteractionOutline
|
||||
- type: Clickable
|
||||
- type: PointLight
|
||||
enabled: true
|
||||
color: "#366db5"
|
||||
radius: 10.0
|
||||
energy: 5.0
|
||||
netsync: false
|
||||
- type: Damageable
|
||||
damageContainer: Inorganic
|
||||
damageModifierSet: Metallic
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 300
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
@@ -32,6 +32,17 @@
|
||||
earliestStart: 15
|
||||
maxOccurrences: 3
|
||||
|
||||
- type: gameRule
|
||||
id: Dragon
|
||||
config:
|
||||
!type:StationEventRuleConfiguration
|
||||
id: Dragon
|
||||
weight: 10
|
||||
endAfter: 2
|
||||
earliestStart: 15
|
||||
maxOccurrences: 7
|
||||
minimumPlayers: 15
|
||||
|
||||
- type: gameRule
|
||||
id: FalseAlarm
|
||||
config:
|
||||
|
||||
@@ -1,4 +1,16 @@
|
||||
- type: palette
|
||||
id: Rainbow
|
||||
name: Rainbow
|
||||
colors:
|
||||
blue: "#1861d5"
|
||||
red: "#951710"
|
||||
pink: "#d5188d"
|
||||
brown: "#a05212"
|
||||
green: "#0e7f1b"
|
||||
cyan: "#18a2d5"
|
||||
yellow: "#d58c18"
|
||||
|
||||
- type: palette
|
||||
id: Sixteen
|
||||
name: Sixteen
|
||||
colors:
|
||||
|
||||
Reference in New Issue
Block a user