Carp wave spawner and dragons as an actual event (#10254)

This commit is contained in:
metalgearsloth
2022-08-08 10:18:14 +10:00
committed by GitHub
parent 3d850c6592
commit a29d8b9fa2
60 changed files with 1264 additions and 569 deletions

View File

@@ -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:

View File

@@ -29,7 +29,7 @@
- MobMask
layer:
- MobLayer
- type: MovementIgnoreGravity
- type: MovementAlwaysTouching
- type: MobState
thresholds:
0: Alive

View File

@@ -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!

View File

@@ -38,7 +38,7 @@
thresholds:
0: Alive
15: Dead
- type: MovementIgnoreGravity
- type: MovementAlwaysTouching
- type: Appearance
- type: DamageStateVisuals
states:

View File

@@ -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

View File

@@ -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

View File

@@ -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:

View File

@@ -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: ""

View File

@@ -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

View File

@@ -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:

View File

@@ -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:

View File

@@ -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: ""

View File

@@ -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:

View File

@@ -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

View File

@@ -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

View 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" ]

View File

@@ -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:

View File

@@ -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: