Reorganize and clean Fun yml (#42184)

* don't look at this commit size i'm not proud

* self review

* more final changes

* more comments

* review

* review

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
This commit is contained in:
āda 2026-01-07 15:49:24 -06:00 committed by BarryNorfolk
parent 0dd1a6708c
commit 2b54519baa
36 changed files with 1654 additions and 1802 deletions

View File

@ -23,10 +23,10 @@
#These are for instruments that are larger, can't be picked up, or have collision
- type: entity
name: baseinstrument
id: BasePlaceableInstrument
parent: BaseStructureDynamic
abstract: true
parent: BaseStructureDynamic
id: BasePlaceableInstrument
name: baseinstrument
components:
- type: Instrument
- type: ActivatableUI
@ -73,10 +73,10 @@
- type: RequireProjectileTarget
- type: entity
abstract: true
parent: BasePlaceableInstrument
id: BasePlaceableInstrumentRotatable
name: baseinstrumentrotatable
abstract: true
components:
- type: Rotatable
rotateWhileAnchored: true

View File

@ -1,8 +1,8 @@
# This base is created so we don't have to define the different sprite path for each plushie job.
- type: entity
abstract: true
parent: PlushieLizard
id: BasePlushieLizardJob
abstract: true
components:
- type: Sprite
sprite: Objects/Fun/plushielizard_jobs.rsi

View File

@ -1243,3 +1243,77 @@
- type: FoodSequenceElement
entries:
CottonBurger: PlushieVulp
- type: entity
parent: BasePlushie
id: ToyIan
name: ian toy
description: Unable to eat, but just as fluffy as the real guy!
components:
- type: Sprite
sprite: Objects/Fun/toy_ian.rsi
state: icon
- type: Clothing
quickEquip: false
sprite: Objects/Fun/toy_ian.rsi
slots:
- HEAD
clothingVisuals:
head:
- state: equipped-HELMET
offset: "0, 0.06"
- type: Item
size: Tiny
- type: EmitSoundOnUse
sound: &SoundIan
- type: EmitSoundOnLand
sound: *SoundIan
- type: EmitSoundOnActivate
sound: *SoundIan
- type: EmitSoundOnTrigger
sound: *SoundIan
- type: EmitSoundOnCollide
sound: *SoundIan
- type: MeleeWeapon
soundHit: *SoundIan
- type: Edible
useSound: *SoundIan
- type: FoodSequenceElement
entries:
CottonBurger: IanPlushie
- type: entity
parent: BasePlushie
id: ToyAmongPequeno
name: among pequeño
description: Sus!
components:
- type: Sprite
sprite: Objects/Fun/pequeno.rsi
layers:
- state: base
map: [ "enum.DamageStateVisualLayers.Base" ]
- state: visor
- type: Clothing
sprite: Objects/Fun/pequeno.rsi
slots:
- HEAD
clothingVisuals:
head:
- state: equipped-HELMET-body
- state: equipped-HELMET-vis
- type: Item
inhandVisuals:
left:
- state: inhand-left-body
- state: inhand-left-vis
right:
- state: inhand-right-body
- state: inhand-right-vis
- type: RandomSprite
available:
- enum.DamageStateVisualLayers.Base:
base: Sixteen
# - type: FoodSequenceElement - does not work with randomized sprites
# entries:
# CottonBurger: AmongPequeno

View File

@ -12,12 +12,12 @@
size: 550, 410
setup:
!type:TabletopBackgammonSetup
boardPrototype: BackgammonBoardTabletop
boardPrototype: &BackgammonBoard BackgammonBoardTabletop
- type: entity
id: BackgammonBoardTabletop
name: backgammon
parent: BaseBoardTabletop
id: *BackgammonBoard
name: backgammon
categories: [ HideSpawnMenu ]
components:
- type: Sprite

View File

@ -1,38 +1,39 @@
# When adding a new board game, also add it to id: AllBoardGamesTable
# The actual item that players can pick up, or throw when they lose
- type: entity
abstract: true
parent: BaseItem
id: BaseBoardEntity # Board item
name: board
abstract: true
description: A blank board.
components:
- type: TabletopGame
size: 256, 256
setup:
!type:TabletopEmptySetup
boardPrototype: Crowbar
- type: Tag
tags:
- TabletopBoard
- type: TabletopGame
size: 256, 256
setup:
!type:TabletopEmptySetup
boardPrototype: Crowbar
- type: Tag
tags:
- TabletopBoard
- type: entity
id: BaseTabletopPiece # Board piece
parent: BaseItem
abstract: true
parent: BaseItem
id: BaseTabletopPiece # Board piece
components:
- type: TabletopDraggable
- type: Sprite
noRot: true
- type: Appearance
# Entity which acts as the background sprite in the tabletop game
- type: entity
abstract: true
id: BaseBoardTabletop
name: baseboard
abstract: true
categories: [ HideSpawnMenu ]
components:
- type: Tag
tags:
- TabletopBoard
- type: Sprite
noRot: false
drawdepth: FloorTiles

View File

@ -36,33 +36,33 @@
name: white checker piece
parent: BaseTabletopPiece
components:
- type: Sprite
sprite: Objects/Fun/Tabletop/checker_pieces.rsi
state: w_checker_piece
- type: Sprite
sprite: Objects/Fun/Tabletop/checker_pieces.rsi
state: w_checker_piece
- type: entity
id: *crownWhite
name: white checker crown
parent: BaseTabletopPiece
components:
- type: Sprite
sprite: Objects/Fun/Tabletop/checker_pieces.rsi
state: w_checker_crown
- type: Sprite
sprite: Objects/Fun/Tabletop/checker_pieces.rsi
state: w_checker_crown
- type: entity
id: *pieceBlack
name: black checker piece
parent: BaseTabletopPiece
components:
- type: Sprite
sprite: Objects/Fun/Tabletop/checker_pieces.rsi
state: b_checker_piece
- type: Sprite
sprite: Objects/Fun/Tabletop/checker_pieces.rsi
state: b_checker_piece
- type: entity
id: *crownBlack
name: black checker crown
parent: BaseTabletopPiece
components:
- type: Sprite
sprite: Objects/Fun/Tabletop/checker_pieces.rsi
state: b_checker_crown
- type: Sprite
sprite: Objects/Fun/Tabletop/checker_pieces.rsi
state: b_checker_crown

View File

@ -1,5 +1,4 @@
# Chessboard item (normal in game item you can hold in your hand)
- type: entity
- type: entity
parent: BaseBoardEntity
id: ChessBoard
name: chessboard
@ -13,13 +12,12 @@
size: 338, 274
setup:
!type:TabletopChessSetup
boardPrototype: ChessBoardTabletop
boardPrototype: &ChessBoard ChessBoardTabletop
# Chessboard tabletop item (item only visible in tabletop game)
- type: entity
id: ChessBoardTabletop
name: chessboard
parent: BaseBoardTabletop
id: *ChessBoard
name: chessboard
categories: [ HideSpawnMenu ]
components:
- type: Sprite
@ -28,110 +26,110 @@
# White pieces
- type: entity
parent: BaseTabletopPiece
id: WhiteKing
name: white king
parent: BaseTabletopPiece
components:
- type: Sprite
sprite: Objects/Fun/Tabletop/chess_pieces.rsi
state: w_king
- type: entity
parent: BaseTabletopPiece
id: WhiteQueen
name: white queen
parent: BaseTabletopPiece
components:
- type: Sprite
sprite: Objects/Fun/Tabletop/chess_pieces.rsi
state: w_queen
- type: Sprite
sprite: Objects/Fun/Tabletop/chess_pieces.rsi
state: w_queen
- type: entity
parent: BaseTabletopPiece
id: WhiteRook
name: white rook
parent: BaseTabletopPiece
components:
- type: Sprite
sprite: Objects/Fun/Tabletop/chess_pieces.rsi
state: w_rook
- type: Sprite
sprite: Objects/Fun/Tabletop/chess_pieces.rsi
state: w_rook
- type: entity
parent: BaseTabletopPiece
id: WhiteBishop
name: white bishop
parent: BaseTabletopPiece
components:
- type: Sprite
sprite: Objects/Fun/Tabletop/chess_pieces.rsi
state: w_bishop
- type: Sprite
sprite: Objects/Fun/Tabletop/chess_pieces.rsi
state: w_bishop
- type: entity
parent: BaseTabletopPiece
id: WhiteKnight
name: white knight
parent: BaseTabletopPiece
components:
- type: Sprite
sprite: Objects/Fun/Tabletop/chess_pieces.rsi
state: w_knight
- type: Sprite
sprite: Objects/Fun/Tabletop/chess_pieces.rsi
state: w_knight
- type: entity
parent: BaseTabletopPiece
id: WhitePawn
name: white pawn
parent: BaseTabletopPiece
components:
- type: Sprite
sprite: Objects/Fun/Tabletop/chess_pieces.rsi
state: w_pawn
- type: Sprite
sprite: Objects/Fun/Tabletop/chess_pieces.rsi
state: w_pawn
# Black pieces
- type: entity
parent: BaseTabletopPiece
id: BlackKing
name: black king
parent: BaseTabletopPiece
components:
- type: Sprite
sprite: Objects/Fun/Tabletop/chess_pieces.rsi
state: b_king
- type: Sprite
sprite: Objects/Fun/Tabletop/chess_pieces.rsi
state: b_king
- type: entity
parent: BaseTabletopPiece
id: BlackQueen
name: black queen
parent: BaseTabletopPiece
components:
- type: Sprite
sprite: Objects/Fun/Tabletop/chess_pieces.rsi
state: b_queen
- type: Sprite
sprite: Objects/Fun/Tabletop/chess_pieces.rsi
state: b_queen
- type: entity
parent: BaseTabletopPiece
id: BlackRook
name: black rook
parent: BaseTabletopPiece
components:
- type: Sprite
sprite: Objects/Fun/Tabletop/chess_pieces.rsi
state: b_rook
- type: Sprite
sprite: Objects/Fun/Tabletop/chess_pieces.rsi
state: b_rook
- type: entity
parent: BaseTabletopPiece
id: BlackBishop
name: black bishop
parent: BaseTabletopPiece
components:
- type: Sprite
sprite: Objects/Fun/Tabletop/chess_pieces.rsi
state: b_bishop
- type: Sprite
sprite: Objects/Fun/Tabletop/chess_pieces.rsi
state: b_bishop
- type: entity
parent: BaseTabletopPiece
id: BlackKnight
name: black knight
parent: BaseTabletopPiece
components:
- type: Sprite
sprite: Objects/Fun/Tabletop/chess_pieces.rsi
state: b_knight
- type: Sprite
sprite: Objects/Fun/Tabletop/chess_pieces.rsi
state: b_knight
- type: entity
parent: BaseTabletopPiece
id: BlackPawn
name: black pawn
parent: BaseTabletopPiece
components:
- type: Sprite
sprite: Objects/Fun/Tabletop/chess_pieces.rsi
state: b_pawn
- type: Sprite
sprite: Objects/Fun/Tabletop/chess_pieces.rsi
state: b_pawn

View File

@ -1,19 +1,17 @@
# Board item (given to players)
# When adding a new battlemap, also add it to id: AllBattlemapsTable
# Board item (given to players)
- type: entity
abstract: true
parent: BaseBoardEntity
id: BaseBattlemap
name: battlemap
abstract: true
description: A battlemap for your epic dungeon exploring to begin, pieces not included!
components:
- type: Sprite
sprite: Objects/Fun/Tabletop/grassbm.rsi
state: icon
- type: TabletopGame
boardName: tabletop-battlemap-board-name
setup:
!type:TabletopEmptySetup
boardPrototype: GrassBoardTabletop
- type: Sprite
state: icon
- type: TabletopGame
boardName: tabletop-battlemap-board-name
- type: entity
parent: BaseBattlemap
@ -21,12 +19,12 @@
name: grass battlemap
description: A battlemap for your epic dungeon exploring to begin, pieces not included!
components:
- type: Sprite
sprite: Objects/Fun/Tabletop/Battlemaps/grassbm.rsi
- type: TabletopGame
setup:
!type:TabletopEmptySetup
boardPrototype: GrassBoardTabletop
- type: Sprite
sprite: Objects/Fun/Tabletop/Battlemaps/grassbm.rsi
- type: TabletopGame
setup:
!type:TabletopEmptySetup
boardPrototype: &GrassBoard GrassBoardTabletop
- type: entity
parent: BaseBattlemap
@ -34,12 +32,12 @@
name: moon battlemap
description: A battlemap for your epic moon exploring to begin, pieces not included!
components:
- type: Sprite
sprite: Objects/Fun/Tabletop/Battlemaps/moonbm.rsi
- type: TabletopGame
setup:
!type:TabletopEmptySetup
boardPrototype: MoonBoardTabletop
- type: Sprite
sprite: Objects/Fun/Tabletop/Battlemaps/moonbm.rsi
- type: TabletopGame
setup:
!type:TabletopEmptySetup
boardPrototype: &MoonBoard MoonBoardTabletop
- type: entity
parent: BaseBattlemap
@ -47,12 +45,12 @@
name: sand battlemap
description: A battlemap for your epic beach episodes to begin, pieces not included!
components:
- type: Sprite
sprite: Objects/Fun/Tabletop/Battlemaps/sandbm.rsi
- type: TabletopGame
setup:
!type:TabletopEmptySetup
boardPrototype: SandBoardTabletop
- type: Sprite
sprite: Objects/Fun/Tabletop/Battlemaps/sandbm.rsi
- type: TabletopGame
setup:
!type:TabletopEmptySetup
boardPrototype: &SandBoard SandBoardTabletop
- type: entity
parent: BaseBattlemap
@ -60,12 +58,12 @@
name: snow battlemap
description: A battlemap for your frigid exploring to begin, pieces not included! # if this isn't funny enough i can remove it
components:
- type: Sprite
sprite: Objects/Fun/Tabletop/Battlemaps/snowbm.rsi
- type: TabletopGame
setup:
!type:TabletopEmptySetup
boardPrototype: SnowBoardTabletop
- type: Sprite
sprite: Objects/Fun/Tabletop/Battlemaps/snowbm.rsi
- type: TabletopGame
setup:
!type:TabletopEmptySetup
boardPrototype: &SnowBoard SnowBoardTabletop
- type: entity
parent: BaseBattlemap
@ -73,30 +71,28 @@
name: ship battlemap
description: A battlemap for your epic space exploring to begin, pieces not included!
components:
- type: Sprite
sprite: Objects/Fun/Tabletop/Battlemaps/shipbm.rsi
- type: TabletopGame
size: 543, 543
setup:
!type:TabletopEmptySetup
boardPrototype: ShipBoardTabletop
- type: Sprite
sprite: Objects/Fun/Tabletop/Battlemaps/shipbm.rsi
- type: TabletopGame
size: 543, 543
setup:
!type:TabletopEmptySetup
boardPrototype: &ShipBoard ShipBoardTabletop
# Background entity (actually shown in the board)
- type: entity
parent: BaseBoardTabletop
id: GrassBoardTabletop
id: *GrassBoard
name: grass battlemap
categories: [ HideSpawnMenu ]
components:
- type: Sprite
sprite: Objects/Fun/Tabletop/Battlemaps/grassbm_tabletop.rsi
state: tabletop
noRot: false
drawdepth: FloorTiles
- type: entity
parent: BaseBoardTabletop
id: MoonBoardTabletop
id: *MoonBoard
name: grass battlemap
categories: [ HideSpawnMenu ]
components:
@ -106,7 +102,7 @@
- type: entity
parent: BaseBoardTabletop
id: SandBoardTabletop
id: *SandBoard
name: sand battlemap
categories: [ HideSpawnMenu ]
components:
@ -116,7 +112,7 @@
- type: entity
parent: BaseBoardTabletop
id: SnowBoardTabletop
id: *SnowBoard
name: snow battlemap
categories: [ HideSpawnMenu ]
components:
@ -126,7 +122,7 @@
- type: entity
parent: BaseBoardTabletop
id: ShipBoardTabletop
id: *ShipBoard
name: ship battlemap
categories: [ HideSpawnMenu ]
components:

View File

@ -1,4 +1,3 @@
# Parchís board item (normal in game item you can hold in your hand)
- type: entity
parent: BaseBoardEntity
id: ParchisBoard
@ -13,13 +12,12 @@
size: 574, 574
setup:
!type:TabletopParchisSetup
boardPrototype: ParchisBoardTabletop
boardPrototype: &ParchisBoard ParchisBoardTabletop
# Parchís tabletop item (item only visible in tabletop game)
- type: entity
id: ParchisBoardTabletop
name: parchís
parent: BaseBoardTabletop
id: *ParchisBoard
name: parchís
categories: [ HideSpawnMenu ]
components:
- type: Sprite

View File

@ -1,56 +1,55 @@
- type: entity
id: BaseGenericTabletopPiece
parent: BaseTabletopPiece
abstract: true
parent: BaseTabletopPiece
id: BaseGenericTabletopPiece
components:
- type: Sprite
noRot: true
sprite: Objects/Fun/Tabletop/generic_pieces.rsi
- type: entity
parent: BaseGenericTabletopPiece
id: RedTabletopPiece
name: red piece
parent: BaseGenericTabletopPiece
components:
- type: Sprite
state: red
- type: entity
parent: BaseGenericTabletopPiece
id: GreenTabletopPiece
name: green piece
parent: BaseGenericTabletopPiece
components:
- type: Sprite
state: green
- type: entity
parent: BaseGenericTabletopPiece
id: YellowTabletopPiece
name: yellow piece
parent: BaseGenericTabletopPiece
components:
- type: Sprite
state: yellow
- type: entity
parent: BaseGenericTabletopPiece
id: BlueTabletopPiece
name: blue piece
parent: BaseGenericTabletopPiece
components:
- type: Sprite
state: blue
- type: entity
parent: BaseGenericTabletopPiece
id: WhiteTabletopPiece
name: white piece
parent: BaseGenericTabletopPiece
components:
- type: Sprite
state: white
- type: entity
parent: BaseGenericTabletopPiece
id: BlackTabletopPiece
name: black piece
parent: BaseGenericTabletopPiece
components:
- type: Sprite
state: black

View File

@ -0,0 +1,61 @@
# When adding new balloons, also add it to id: AllMiscToysTable
- type: entity
abstract: true
parent: BaseItem
id: BaseBalloon
components:
- type: Sprite
noRot: true
- type: Item
size: Small
- type: EmitSoundOnCollide
sound: &SoundBalloonHit
path: /Audio/Effects/balloon_hits.ogg
- type: EmitSoundOnLand
sound: *SoundBalloonHit
- type: Damageable
damageContainer: Inorganic
- type: TileFrictionModifier
modifier: 0.3
- type: Tag
tags:
- Balloon
- type: entity
parent: BaseBalloon
id: BalloonSyn
name: syndie balloon
description: Handed out to the bravest souls who survived the "atomic twister" ride at Syndieland.
components:
- type: Sprite
sprite: Objects/Fun/Balloons/syndicate.rsi
state: icon
- type: Item
sprite: Objects/Fun/Balloons/syndicate.rsi
- type: StaticPrice
price: 100 # Entertainment.
- type: entity
parent: BaseBalloon
id: BalloonNT
name: nanotrasen balloon
description: Specially designed to inflict maximum psychological damage to Syndicate operatives.
components:
- type: Sprite
sprite: Objects/Fun/Balloons/nanotrasen.rsi
state: icon
- type: Item
sprite: Objects/Fun/Balloons/nanotrasen.rsi
- type: entity
parent: BaseBalloon
id: BalloonCorgi
name: corgi balloon
description: Just like owning a real dog - but a lot floatier.
components:
- type: Sprite
sprite: Objects/Fun/Balloons/corgi.rsi
state: icon
- type: Item
sprite: Objects/Fun/Balloons/corgi.rsi

View File

@ -1,234 +0,0 @@
- type: entity
parent: BaseItem
id: BikeHorn
name: bike horn
description: A horn off of a bicycle.
components:
- type: Sprite
sprite: Objects/Fun/bikehorn.rsi
state: icon
- type: Item
sprite: Objects/Fun/bikehorn.rsi
size: Tiny
- type: Clothing
sprite: Objects/Fun/bikehorn.rsi
slots: [Belt]
quickEquip: false
- type: UseDelay
delay: 0.5
- type: EmitSoundOnUse
sound:
collection: BikeHorn
params:
variation: 0.125
- type: EmitSoundOnLand
sound:
collection: BikeHorn
params:
variation: 0.125
- type: EmitSoundOnTrigger
sound:
collection: BikeHorn
params:
variation: 0.125
- type: EmitSoundOnActivate
sound:
collection: BikeHorn
params:
variation: 0.125
- type: EmitSoundOnCollide
sound:
collection: BikeHorn
params:
variation: 0.125
- type: Tag
tags:
- Payload # yes, you can make re-usable prank grenades
- BikeHorn
- type: MeleeWeapon
wideAnimationRotation: 135
soundHit:
collection: BikeHorn
params:
variation: 0.125
damage:
types:
Blunt: 0
- type: Tool
qualities:
- Honking
useSound:
collection: BikeHorn
- type: entity
parent: BaseItem
id: CluwneHorn
name: broken bike horn
description: A broken horn off of a bicycle.
components:
- type: UseDelay
- type: Sprite
sprite: Objects/Fun/cluwnehorn.rsi
state: icon
- type: Item
sprite: Objects/Fun/cluwnehorn.rsi
size: Tiny
- type: Clothing
sprite: Objects/Fun/cluwnehorn.rsi
slots: [Belt]
quickEquip: false
- type: Tag
tags:
- Payload # yes, you can make re-usable prank grenades
- CluwneHorn
- type: EmitSoundOnTrigger
sound:
collection: CluwneHorn
params:
variation: 0.125
- type: EmitSoundOnUse
sound:
collection: CluwneHorn
params:
variation: 0.125
- type: EmitSoundOnActivate
sound:
collection: CluwneHorn
params:
variation: 0.125
- type: EmitSoundOnCollide
sound:
collection: CluwneHorn
params:
variation: 0.125
- type: EmitSoundOnLand
sound:
collection: CluwneHorn
params:
variation: 0.125
- type: MeleeWeapon
wideAnimationRotation: 135
soundHit:
collection: CluwneHorn
params:
variation: 0.125
damage:
types:
Blunt: 5
- type: entity
parent: BikeHorn
id: GoldenBikeHorn
name: golden honker
categories: [ DoNotMap ]
description: A happy honk prize, pray to the gods for your reward.
components:
- type: Sprite
sprite: Objects/Fun/goldbikehorn.rsi
state: icon
- type: Item
sprite: Objects/Fun/goldbikehorn.rsi
size: Tiny
- type: Clothing
sprite: Objects/Fun/goldbikehorn.rsi
slots: [Belt]
- type: Prayable
- type: StaticPrice
price: 100 # reduced price due to heisentests
- type: PointLight
radius: 1.2
energy: 2.2
castShadows: false
color: "#ffca1b"
- type: entity
parent: BikeHorn
id: BananiumHorn
name: bananium horn
description: An air horn made from bananium.
components:
- type: Sprite
sprite: Objects/Fun/bananiumhorn.rsi
state: icon
- type: Item
sprite: Objects/Fun/bananiumhorn.rsi
size: Small
- type: Clothing
sprite: Objects/Fun/bananiumhorn.rsi
slots: [Belt]
quickEquip: false
- type: UseDelay
delay: 3
- type: EmitSoundOnUse
sound:
collection: BananiumHorn
params:
variation: 0.246
- type: EmitSoundOnLand
sound:
collection: BananiumHorn
params:
variation: 0.246
- type: EmitSoundOnTrigger
sound:
collection: BananiumHorn
params:
variation: 0.246
- type: EmitSoundOnActivate
sound:
collection: BananiumHorn
params:
variation: 0.246
- type: EmitSoundOnCollide
sound:
collection: BananiumHorn
params:
variation: 0.246
- type: MeleeWeapon
wideAnimationRotation: 135
soundHit:
collection: BananiumHorn
params:
variation: 0.246
damage:
types:
Blunt: 0
hidden: true
- type: Construction
graph: BananiumHorn
node: bananiumHorn
- type: entity
parent: BaseItem
id: PushHorn
name: push horn
description: This powerful bikehorn is sure to blast frowns away.
components:
- type: Sprite
sprite: Objects/Fun/push_horn.rsi
state: icon
- type: Item
sprite: Objects/Fun/push_horn.rsi
size: Tiny
- type: Clothing
sprite: Objects/Fun/push_horn.rsi
slots: [Belt]
quickEquip: false
- type: EmitSoundOnUse
handle: false
sound: "/Audio/Items/Toys/pushHornHonk.ogg"
- type: EmitSoundOnLand
sound: "/Audio/Items/Toys/pushHornFloor.ogg"
- type: UseDelay
delay: 10
- type: TriggerOnUse
- type: RepulseAttractOnTrigger
speed: 50
range: 3.5
whitelist:
components:
- MobMover
- type: SpawnOnTrigger
proto: EffectGravityPulse
predicted: true

View File

@ -1,9 +1,11 @@
# When adding new crayons, also add it to id: AllCrayonsTable
- type: entity
abstract: true
parent: BaseItem
id: CrayonInedible
name: crayon
description: A colourful crayon. Looks tasty. Mmmm...
description: A colourful crayon. A forbidden flavor.
components:
- type: Sprite
sprite: Objects/Fun/crayons.rsi
@ -15,6 +17,7 @@
- Write
- Crayon
- Trash
- Recyclable
- type: SpaceGarbage
- type: UserInterface
interfaces:
@ -31,17 +34,8 @@
abstract: true
parent: CrayonInedible
id: Crayon
name: crayon
description: A colourful crayon. Looks tasty. Mmmm...
components:
- type: Sprite
sprite: Objects/Fun/crayons.rsi
- type: Item
sprite: Objects/Fun/crayons.rsi
size: Tiny
- type: Tag
tags:
- Recyclable
- type: Edible
- type: FlavorProfile
flavors:
@ -56,24 +50,7 @@
- ReagentId: MindbreakerToxin
Quantity: 2
- type: entity
parent: Crayon
id: CrayonWhite
name: white crayon
components:
- type: Sprite
state: white
- type: Item
heldPrefix: white
- type: Crayon
color: white
- type: Tag
tags:
- Write
- Crayon
- CrayonWhite
- Recyclable
- Trash
# special crayons
- type: entity
parent: Crayon
@ -108,16 +85,11 @@
selectableColor: true
- type: LimitedCharges
maxCharges: 30
- type: Tag
tags:
- Write
- Crayon
- Recyclable
- Trash
- type: entity
parent: CrayonRainbow
id: CrayonInfinite # should not be player available to prevent decal spam
categories: [ DoNotMap ]
name: infinite crayon
components:
- type: Crayon
@ -139,14 +111,28 @@
deleteEmpty: false
color: Red
selectableColor: true
- type: LimitedCharges
maxCharges: 30
- type: AutoRecharge
rechargeDuration: 5
# monocolor crayons
- type: entity
parent: Crayon
id: CrayonWhite
name: white crayon
components:
- type: Sprite
state: white
- type: Item
heldPrefix: white
- type: Crayon
color: white
- type: Tag
tags:
- Write
- Crayon
- CrayonWhite
- Recyclable
- Trash
- type: entity

View File

@ -1,8 +1,8 @@
- type: entity
name: dart
description: Light throwing dart for playing darts. Don't get in the eye!
parent: BaseItem
id: Dart
name: dart
description: Light throwing dart for playing darts. Don't get in the eye!
components:
- type: EmbeddableProjectile
minimumSpeed: 3
@ -66,7 +66,7 @@
thresholds:
- trigger:
!type:DamageTrigger
damage: 30 #excess damage avoids cost of spawning entities.
damage: 50 #excess damage avoids cost of spawning entities.
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]

View File

@ -133,3 +133,46 @@
types:
Piercing: 5
# I love this
# bags
- type: entity
parent: BaseStorageItem
id: DiceBag
name: bag of dice
description: Contains all the luck you'll ever need.
components:
- type: EntityTableContainerFill
containers:
storagebase: !type:AllSelector
children:
- id: d4Dice
- id: d6Dice
- id: d8Dice
- id: d10Dice
- id: d12Dice
- id: d20Dice
- id: PercentileDie
- type: Sprite
sprite: Objects/Fun/dice.rsi
state: dicebag
- type: Item
size: Small
- type: Storage
grid:
- 0,0,3,1
whitelist:
tags:
- Dice
- type: entity
parent: DiceBag
id: MagicDiceBag
name: bag of dice
components:
- type: Sprite
sprite: Objects/Fun/dice.rsi
state: magicdicebag
- type: Storage
grid:
- 0,0,4,3

View File

@ -1,40 +0,0 @@
- type: entity
parent: BaseStorageItem
id: DiceBag
name: bag of dice
description: Contains all the luck you'll ever need.
components:
- type: EntityTableContainerFill
containers:
storagebase: !type:AllSelector
children:
- id: d4Dice
- id: d6Dice
- id: d8Dice
- id: d10Dice
- id: d12Dice
- id: d20Dice
- id: PercentileDie
- type: Sprite
sprite: Objects/Fun/dice.rsi
state: dicebag
- type: Item
size: Small
- type: Storage
grid:
- 0,0,3,1
whitelist:
tags:
- Dice
- type: entity
parent: DiceBag
id: MagicDiceBag
name: bag of dice
components:
- type: Sprite
sprite: Objects/Fun/dice.rsi
state: magicdicebag
- type: Storage
grid:
- 0,0,4,3

View File

@ -1,43 +0,0 @@
- type: entity
parent: BaseItem
id: Error
name: error
description: Hmmmm. Something went wrong.
components:
- type: Sprite
sprite: error.rsi
state: error
- type: Edible
- type: SolutionContainerManager
solutions:
food:
maxVol: 26
reagents:
- ReagentId: Nutriment
Quantity: 5
- type: Slippery
slipData:
knockdownTime: 3
launchForwardsMultiplier: 3
- type: StepTrigger
intersectRatio: 0.2
- type: CollisionWake
enabled: false
- type: Physics
bodyType: Dynamic
- type: Fixtures
fixtures:
slips:
shape:
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
hard: false
layer:
- SlipLayer
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
density: 30
mask:
- ItemMask

View File

@ -0,0 +1,106 @@
# When adding new orbs, also add it to id: AllMiscToysTable
# Spherical objects of incredible* powers
# Do not make this easily obtainable because if more than 6 of them are on the screen
# at the same time it will break the distortion shader.
- type: entity
parent: BaseItem
id: SingularityToy
name: singuloth-brand toy
description: Mass-produced by a sadistic corporate conglomerate!
components:
- type: Sprite
sprite: Objects/Fun/toy_singularity.rsi
state: icon
- type: Icon
sprite: Objects/Fun/toy_singularity.rsi
state: icon
- type: SingularityDistortion
intensity: 25
falloffPower: 2.6
- type: Item
size: Normal
inhandVisuals:
left:
- state: singu-inhand-left
shader: unshaded
right:
- state: singu-inhand-right
shader: unshaded
- type: entity
parent: BaseItem
id: TeslaToy
name: Teddy Tesla
description: The favorite toy of the great engineer Nikola Tesla.
components:
- type: Sprite
sprite: Structures/Power/Generation/Tesla/energy_miniball.rsi
layers:
- state: tesla_projectile
shader: unshaded
- type: Item
inhandVisuals:
left:
- state: tesla-inhand-left
shader: unshaded
right:
- state: tesla-inhand-right
shader: unshaded
- type: PointLight
enabled: true
radius: 5
color: "#4080FF"
- type: Electrified
shockDamage: 2
shockTime: 0.8
requirePower: false
- type: EmitSoundOnCollide
sound:
path: /Audio/Effects/Lightning/lightningshock.ogg
params:
variation: 0.65
volume: -10
- type: entity
parent: [ BaseItem, BaseMagicalContraband ]
id: PonderingOrb
name: pondering orb
description: Ponderous, man... Really ponderous.
components:
- type: Sprite
sprite: Objects/Fun/pondering_orb.rsi
layers:
- state: icon
shader: unshaded
- type: PointLight
radius: 2
color: "#00CCFF"
- type: Item
size: Normal
sprite: Objects/Fun/pondering_orb.rsi
- type: TileFrictionModifier
modifier: 0.001
# The true orb
- type: entity
parent: PonderingOrb
id: PonderingOrbWizard
name: pondering orb
description: Ponderous, man... Really ponderous. Magically shows the station's camera network.
suffix: Wizard
components:
- type: ActivatableUI
requireActiveHand: false
inHandsOnly: true
key: enum.SurveillanceCameraMonitorUiKey.Key
- type: UserInterface
interfaces:
enum.SurveillanceCameraMonitorUiKey.Key:
type: SurveillanceCameraMonitorBoundUserInterface
- type: DeviceNetwork
deviceNetId: Wired
receiveFrequencyId: SurveillanceCamera
transmitFrequencyId: SurveillanceCamera
- type: WiredNetworkConnection
- type: SurveillanceCameraMonitor

View File

@ -188,6 +188,8 @@
graph: PotatoAI
node: potatoai
# PAI Actions
- type: entity
parent: ActionIntrinsicStore
id: ActionPAIOpenShop

View File

@ -1,42 +0,0 @@
- type: entity
parent: [ BaseItem, MobCombat ]
id: MrChips
name: mr chips
suffix: Dummy
description: It's a dummy, dummy!
components:
- type: Sprite
sprite: Objects/Fun/mrchips.rsi
layers:
- state: icon
- type: Input
context: "human"
- type: DoAfter
- type: VentriloquistPuppet
- type: Item
size: Normal
- type: Muted
- type: TypingIndicator
proto: robot
- type: Actions
- type: MobState
allowedStates:
- Alive
- type: MeleeWeapon
soundHit:
path: /Audio/Weapons/boxingpunch1.ogg
angle: 30
animation: WeaponArcPunch
damage:
types:
Blunt: 2
- type: entity
parent: MrChips
id: MrDips
name: mr dips
components:
- type: Sprite
sprite: Objects/Fun/mrdips.rsi
layers:
- state: icon

View File

@ -1,38 +0,0 @@
- type: entity
parent: BaseItem
id: Skub
name: skub
description: Skub is the fifth Chaos God.
components:
- type: Sprite
sprite: Objects/Misc/skub.rsi
state: icon
- type: Tag
tags:
- Payload
- type: Item
sprite: Objects/Misc/skub.rsi
- type: EmitSoundOnUse
sound:
collection: Skub
- type: EmitSoundOnLand
sound:
collection: Skub
- type: EmitSoundOnTrigger
sound:
collection: Skub
- type: EmitSoundOnActivate
sound:
collection: Skub
- type: EmitSoundOnCollide
sound:
collection: Skub
- type: MeleeWeapon
soundHit:
collection: Skub
damage:
types:
Blunt: 0
hidden: true
- type: UseDelay
delay: 2.0

View File

@ -1,62 +0,0 @@
- type: entity
parent: BaseItem
id: SnapPop
name: snap pop
description: Throw it at the floor and listen to it POP!
components:
- type: Sprite
sprite: Objects/Fun/snap_pops.rsi
state: icon
- type: Item
size: Tiny
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 1
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/snap.ogg
- !type:ExplodeBehavior
- type: DamageOnLand
damage:
types:
Blunt: 3
- type: Explosive
explosionType: Default
# Cosmetic explosion :tf:
maxIntensity: 0.01
intensitySlope: 1
totalIntensity: 0.01
- type: Construction
graph: SnapPopExplosiveGraph
node: snapPop
- type: entity
parent: BaseStorageItem
id: SnapPopBox
name: snap pop box
description: Contains snap pops for a few minutes of popping fun!
components:
- type: Item
size: Normal
- type: Sprite
sprite: Objects/Fun/snap_pops.rsi
state: box
- type: Storage
grid:
- 0,0,4,3
areaInsert: true
maxItemSize: Tiny
- type: EntityTableContainerFill
containers:
storagebase:
id: SnapPop
amount: 5
- type: Dumpable

View File

@ -0,0 +1,495 @@
# When adding new sound makers, also add it to id: AllToySoundMakerTable
# These entities exist to make a (funny) sound and not much else
## Bike horns
- type: entity
parent: BaseItem
id: BikeHorn
name: bike horn
description: A horn off of a bicycle.
components:
- type: Sprite
sprite: Objects/Fun/bikehorn.rsi
state: icon
- type: Item
sprite: Objects/Fun/bikehorn.rsi
size: Tiny
- type: Clothing
sprite: Objects/Fun/bikehorn.rsi
slots: [Belt]
quickEquip: false
- type: UseDelay
delay: 0.5
- type: EmitSoundOnUse
sound: &SoundBikeHorn
collection: BikeHorn
params:
variation: 0.125
- type: EmitSoundOnLand
sound: *SoundBikeHorn
- type: EmitSoundOnTrigger
sound: *SoundBikeHorn
- type: EmitSoundOnActivate
sound: *SoundBikeHorn
- type: EmitSoundOnCollide
sound: *SoundBikeHorn
- type: Tag
tags:
- Payload # yes, you can make re-usable prank grenades
- BikeHorn
- type: MeleeWeapon
wideAnimationRotation: 135
soundHit: *SoundBikeHorn
damage:
types:
Blunt: 0
- type: Tool
qualities:
- Honking
useSound: *SoundBikeHorn
- type: entity
parent: BaseItem
id: CluwneHorn
name: broken bike horn
description: A broken horn off of a bicycle.
components:
- type: UseDelay
- type: Sprite
sprite: Objects/Fun/cluwnehorn.rsi
state: icon
- type: Item
sprite: Objects/Fun/cluwnehorn.rsi
size: Tiny
- type: Clothing
sprite: Objects/Fun/cluwnehorn.rsi
slots: [Belt]
quickEquip: false
- type: Tag
tags:
- Payload # yes, you can make re-usable prank grenades
- CluwneHorn
- type: EmitSoundOnTrigger
sound: &SoundCluwneHorn
collection: CluwneHorn
params:
variation: 0.125
- type: EmitSoundOnUse
sound: *SoundCluwneHorn
- type: EmitSoundOnActivate
sound: *SoundCluwneHorn
- type: EmitSoundOnCollide
sound: *SoundCluwneHorn
- type: EmitSoundOnLand
sound: *SoundCluwneHorn
- type: MeleeWeapon
wideAnimationRotation: 135
soundHit: *SoundCluwneHorn
damage:
types:
Blunt: 5
- type: entity
parent: BikeHorn
id: GoldenBikeHorn
name: golden honker
description: A happy honk prize, pray to the gods for your reward.
categories: [ DoNotMap ]
components:
- type: Sprite
sprite: Objects/Fun/goldbikehorn.rsi
state: icon
- type: Item
sprite: Objects/Fun/goldbikehorn.rsi
size: Tiny
- type: Clothing
sprite: Objects/Fun/goldbikehorn.rsi
slots: [Belt]
- type: Prayable
- type: StaticPrice
price: 100 # reduced price due to heisentests
- type: PointLight
radius: 1.2
energy: 2.2
castShadows: false
color: "#ffca1b"
- type: entity
parent: BikeHorn
id: BananiumHorn
name: bananium horn
description: An air horn made from bananium.
components:
- type: Sprite
sprite: Objects/Fun/bananiumhorn.rsi
state: icon
- type: Item
sprite: Objects/Fun/bananiumhorn.rsi
size: Small
- type: Clothing
sprite: Objects/Fun/bananiumhorn.rsi
slots: [Belt]
quickEquip: false
- type: UseDelay
delay: 3
- type: EmitSoundOnUse
sound: &SoundBananiumHorn
collection: BananiumHorn
params:
variation: 0.246
- type: EmitSoundOnLand
sound: *SoundBananiumHorn
- type: EmitSoundOnTrigger
sound: *SoundBananiumHorn
- type: EmitSoundOnActivate
sound: *SoundBananiumHorn
- type: EmitSoundOnCollide
sound: *SoundBananiumHorn
- type: MeleeWeapon
wideAnimationRotation: 135
soundHit: *SoundBananiumHorn
damage:
types:
Blunt: 0
hidden: true
- type: Construction
graph: BananiumHorn
node: bananiumHorn
- type: Tool
useSound: *SoundBananiumHorn
- type: entity
parent: BaseItem
id: PushHorn
name: push horn
description: This powerful bikehorn is sure to blast frowns away.
components:
- type: Sprite
sprite: Objects/Fun/push_horn.rsi
state: icon
- type: Item
sprite: Objects/Fun/push_horn.rsi
size: Tiny
- type: Clothing
sprite: Objects/Fun/push_horn.rsi
slots: [Belt]
quickEquip: false
- type: EmitSoundOnUse
handle: false
sound: "/Audio/Items/Toys/pushHornHonk.ogg"
- type: EmitSoundOnLand
sound: "/Audio/Items/Toys/pushHornFloor.ogg"
- type: UseDelay
delay: 10
- type: TriggerOnUse
- type: RepulseAttractOnTrigger
speed: 50
range: 3.5
whitelist:
components:
- MobMover
- type: SpawnOnTrigger
proto: EffectGravityPulse
predicted: true
## Whistles
- type: entity
abstract: true
parent: BaseItem
id: BaseWhistle
name: whistle
description: Someone forgot to turn off a kettle?
components:
- type: Item
sprite: Objects/Fun/whistles.rsi
size: Tiny
- type: Sprite
sprite: Objects/Fun/whistles.rsi
- type: Clothing
sprite: Objects/Fun/whistles.rsi
quickEquip: false
slots: neck
- type: UseDelay
delay: 3
- type: EmitSoundOnUse
sound:
collection: BaseWhistle
- type: Whistle
distance: 3
- type: entity
parent: BaseWhistle
id: Whistle
components:
- type: Sprite
state: whistle
- type: entity
parent: BaseWhistle
id: SecurityWhistle
description: The sound of it brings fear.
components:
- type: Sprite
state: whistle # DeltaV - replace sec with whistle
- type: Clothing
equippedPrefix: whistle # DeltaV - replace sec with whistle
- type: Whistle
distance: 5
- type: entity
parent: [BaseWhistle, BaseMinorContraband]
id: SyndicateWhistle
name: trench whistle
description: A whistle used by Syndicate commanders to draw attention. Avanti!
components:
- type: Sprite
state: trench
- type: Clothing
equippedPrefix: trench
- type: EmitSoundOnUse
sound:
collection: TrenchWhistle
- type: Whistle
distance: 15 # Let your enemies hear the sound of death approaching
## Other
- type: entity
abstract: true
parent: [BaseItem, BaseStash]
id: BaseRubberToy
components:
- type: Tag
tags:
- Payload
- type: UseDelay
delay: 1.0
- type: MeleeWeapon
wideAnimationRotation: 180
soundHit:
collection: ToySqueak
damage:
types:
Blunt: 0
hidden: true
- type: PhysicalComposition
materialComposition:
Plastic: 25
- type: StaticPrice
price: 5
- type: entity
parent: BaseRubberToy
id: ToyRubberDuck
name: rubber ducky
description: Not carried here by ocean currents.
components:
- type: Sprite
sprite: Objects/Fun/ducky.rsi
state: icon
- type: Clothing
quickEquip: false
sprite: Objects/Fun/ducky.rsi
slots:
- HEAD
- type: Item
size: Tiny
- type: EmitSoundOnUse
sound: &SoundQuack
path: /Audio/Items/Toys/quack.ogg
- type: EmitSoundOnLand
sound: *SoundQuack
- type: EmitSoundOnActivate
sound: *SoundQuack
- type: EmitSoundOnTrigger
sound: *SoundQuack
- type: EmitSoundOnCollide
sound: *SoundQuack
- type: MeleeWeapon
soundHit: *SoundQuack
- type: Tag
tags:
- ToyRubberDuck
- type: entity
parent: BaseRubberToy
id: RubberChicken
name: rubber chicken
description: A stress inducing parody of nature's most delectable avian.
components:
- type: Sprite
sprite: Objects/Fun/rubber_chicken.rsi
state: icon
- type: Speech # DeltaV - chicken pai makes evil sound
speechSounds: RubberChicken
- type: EmitSoundOnUse
sound: &SoundRubberChicken
collection: RubberChicken
params:
variation: 0.125
- type: EmitSoundOnLand
sound: *SoundRubberChicken
- type: EmitSoundOnActivate
sound: *SoundRubberChicken
- type: EmitSoundOnCollide
sound: *SoundRubberChicken
- type: EmitSoundOnTrigger
sound: *SoundRubberChicken
- type: MeleeWeapon
wideAnimationRotation: 110
soundHit: *SoundRubberChicken
- type: entity
parent: BaseItem
id: NewtonCradle
name: newton cradle
description: A device bored paper pushers use to remind themselves that time did not stop yet. Contains gravity.
components:
- type: Sprite
sprite: Objects/Fun/newton_cradle.rsi
state: icon-off
- type: Item
sprite: Objects/Fun/newton_cradle.rsi
storedRotation: -90
- type: Appearance
- type: GenericVisualizer
visuals:
enum.ToggleableVisuals.Enabled:
enum.ToggleableVisuals.Layer:
True: { state: icon }
False: { state: icon-off }
- type: ItemToggle
- type: UseDelay
delay: 1
# - type: ItemToggleActiveSound # DeltaV - No more annoying clicking
# activeSound:
# path: /Audio/Items/newton_cradle.ogg
# params:
# volume: -9
# maxDistance: 3
- type: entity
parent: BaseItem
id: ClownRecorder
name: clown recorder
description: When you just can't get those laughs coming the natural way!
components:
- type: Sprite
sprite: Objects/Fun/clownrecorder.rsi
state: icon
- type: EmitSoundOnUse
sound: &SoundClownRecorder
collection: ClownRecorder
- type: EmitSoundOnLand
sound: *SoundClownRecorder
- type: EmitSoundOnActivate
sound: *SoundClownRecorder
- type: EmitSoundOnTrigger
sound: *SoundClownRecorder
- type: EmitSoundOnCollide
sound: *SoundClownRecorder
- type: UseDelay
delay: 30.0
- type: Tag
tags:
- ClownRecorder
- Payload
- type: entity
parent: BaseItem
id: WhoopieCushion
name: whoopie cushion
description: A practical joke device involving flatulence humour.
components:
- type: Sprite
sprite: Objects/Fun/whoopie.rsi
state: icon
- type: Tag
tags:
- Payload
- type: EmitSoundOnUse
sound: &SoundParp
collection: Parp
params:
variation: 0.125
- type: EmitSoundOnLand
sound: *SoundParp
- type: EmitSoundOnActivate
sound: *SoundParp
- type: EmitSoundOnCollide
sound: *SoundParp
- type: UseDelay
delay: 0.8
- type: Slippery
staminaDamage: 0
frictionStatusTime: 0
slipData:
stunTime: 0
knockdownTime: 0
launchForwardsMultiplier: 0
slipSound: *SoundParp
- type: MeleeWeapon
soundHit: *SoundParp
damage:
types:
Blunt: 0
- type: StepTrigger
intersectRatio: 0.2
requiredTriggeredSpeed: 2
- type: TriggerOnStepTrigger # for payloads, that don't work because of trouble with sound prediction
- type: CollisionWake
enabled: false
- type: Physics
bodyType: Dynamic
- type: Fixtures
fixtures:
slips:
shape:
!type:PhysShapeAabb
bounds: "-0.2,-0.2,0.2,0.2"
hard: false
layer:
- SlipLayer
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.2,-0.2,0.2,0.2"
density: 30
mask:
- ItemMask
- type: entity
parent: BaseItem
id: Skub
name: skub
description: Skub is the fifth Chaos God.
components:
- type: Sprite
sprite: Objects/Misc/skub.rsi
state: icon
- type: Tag
tags:
- Payload
- type: Item
sprite: Objects/Misc/skub.rsi
- type: EmitSoundOnUse
sound: &SoundSkub
collection: Skub
- type: EmitSoundOnLand
sound: *SoundSkub
- type: EmitSoundOnTrigger
sound: *SoundSkub
- type: EmitSoundOnActivate
sound: *SoundSkub
- type: EmitSoundOnCollide
sound: *SoundSkub
- type: MeleeWeapon
soundHit: *SoundSkub
damage:
types:
Blunt: 0
hidden: true
- type: UseDelay
delay: 2.0

View File

@ -1,57 +0,0 @@
- type: entity
id: SpectralLocatorUnpowered
parent: BaseItem
name: spectral locator
description: Appears to be a modified anomaly locator. Seems very old.
suffix: Always Powered
components:
- type: Sprite
sprite: Objects/Fun/spectrallocator.rsi
layers:
- state: icon
- state: screen
shader: unshaded
visible: false
map: ["enum.ToggleableVisuals.Layer"]
- type: Appearance
- type: GenericVisualizer
visuals:
enum.ToggleableVisuals.Enabled:
enum.ToggleableVisuals.Layer:
True: { visible: true }
False: { visible: false }
- type: ItemToggle
- type: ProximityBeeper
- type: ProximityDetector
range: 12
components:
- type: Spectral # reacts to AI eye, intentional
- type: Beeper
isMuted: true
minBeepInterval: 0.25
maxBeepInterval: 0.5
beepSound:
path: "/Audio/Items/locator_beep.ogg"
params:
maxDistance: 1
volume: -8
- type: entity
id: SpectralLocator
parent: [ SpectralLocatorUnpowered, PowerCellSlotSmallItem ]
suffix: ""
components:
- type: PowerCellDraw
drawRate: 1
useCharge: 0
- type: ToggleCellDraw
- type: entity
id: SpectralLocatorEmpty
parent: SpectralLocator
suffix: Empty
components:
- type: ItemSlots
slots:
cell_slot:
name: power-cell-slot-component-slot-name-default

View File

@ -0,0 +1,159 @@
# When adding new sports, also add them to id: AllMiscToysTable
# File for SPORTS and the various oddly shaped objects used while playing them
## Balls
- type: entity
abstract: true
id: BaseSportsBall # How about that game with the pigskin?
components:
- type: Catchable
catchChance: 0.8
catchSuccessSound: &SoundSportsBounce
path: /Audio/Effects/Footsteps/bounce.ogg
- type: EmitSoundOnCollide
sound: *SoundSportsBounce
- type: EmitSoundOnLand
sound: *SoundSportsBounce
- type: entity
parent: [ BaseItem, BaseSportsBall ]
id: Basketball
name: basketball
description: Where dah courts at?
components:
- type: Sprite
sprite: Objects/Fun/Balls/basketball.rsi
state: icon
- type: Fixtures
fixtures:
fix1:
shape: !type:PhysShapeCircle
radius: 0.25
density: 20
mask:
- ItemMask
restitution: 0.8 # bouncy
friction: 0.2
- type: Item
size: Normal
sprite: Objects/Fun/Balls/basketball.rsi
- type: TileFrictionModifier
modifier: 0.5
- type: entity
parent: [ BaseItem, BaseSportsBall ]
id: Football
name: football
description: Otherwise known as a handegg.
components:
- type: Sprite
sprite: Objects/Fun/Balls/football.rsi
state: icon
- type: Fixtures
fixtures:
fix1:
shape: !type:PhysShapeCircle
radius: 0.25
density: 20
mask:
- ItemMask
restitution: 0.5 # a little bouncy
friction: 0.2
- type: Item
size: Small
sprite: Objects/Fun/Balls/football.rsi
- type: entity
parent: [ BaseItem, BaseSportsBall ]
id: TennisBall
name: tennis ball
description: A fuzzy orb of endless betrayal.
components:
- type: Sprite
sprite: Objects/Fun/Balls/tennisball.rsi
state: icon
- type: Fixtures
fixtures:
fix1:
shape: !type:PhysShapeCircle
radius: 0.25
density: 20
mask:
- ItemMask
restitution: 0.5 # a little bouncy
friction: 0.2
- type: Item
size: Small
sprite: Objects/Fun/Balls/tennisball.rsi
- type: EmitSoundOnUse
sound:
collection: ToySqueak
params:
volume: -4
- type: UseDelay
- type: Clothing
slots: [mask]
- type: Tag
tags:
- PetWearable
- type: entity
parent: [ BaseItem, BaseSportsBall ]
id: BeachBall
name: beach ball
description: The simple beach ball is one of Nanotrasen's most popular products. 'Why do we make beach balls? Because we can! (TM)' - Nanotrasen
components:
- type: Sprite
sprite: Objects/Fun/Balls/beach_ball.rsi
state: icon
- type: Fixtures
fixtures:
fix1:
shape: !type:PhysShapeCircle
radius: 0.3
position: "0,-0.2"
density: 20
mask:
- ItemMask
restitution: 0.2 # not bouncy
friction: 0.2
- type: Item
size: Normal
sprite: Objects/Fun/Balls/beach_ball.rsi
- type: TileFrictionModifier
modifier: 0.05
- type: entity
parent: BeachBall
id: EvilBeachBall
suffix: EVIL/ADMEME
description: Someone's drawn ">:3c" on the side of this beach ball in indelible ink.
components:
- type: Fixtures
fixtures:
fix1:
shape: !type:PhysShapeCircle
radius: 0.3
position: "0,-0.2"
density: 20
mask:
- ThrownItem
restitution: 0.5 # very bouncy
friction: 0.2
- type: LaunchOnTrigger
impulse: 100.0
keysIn:
- OnCollide
- type: StaminaDamageOnTrigger
stamina: 25.0
keysIn:
- OnCollide
targetUser: true
- type: DamageOnTrigger
damage:
types:
Blunt: 20
keysIn:
- OnCollide
targetUser: true

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,340 @@
# When adding new "weapons", also add it to id: AllToyWeaponsTable
# File for fun weapons that aren't very dangerous
## Toy guns
- type: entity
abstract: true
id: BaseToyGun
components:
- type: PacifismAllowedGun # They don't hurt!
- type: Gun
clumsyProof: true # Clown proficiency
- type: entity
parent: [ BaseItem, BaseToyGun ]
id: FoamCrossbow
name: foam crossbow
description: Aiming this at Security may get you filled with lead.
components:
- type: Sprite
sprite: Objects/Fun/Foam/foam_crossbow.rsi
state: icon
- type: Item
size: Normal
sprite: Objects/Fun/Foam/foam_crossbow.rsi
- type: Gun
fireRate: 0.5
selectedMode: SemiAuto
availableModes:
- SemiAuto
soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/energycrossbow_shoot.ogg
- type: BallisticAmmoProvider
whitelist: &WhitelistFoam
tags:
- BulletFoam
capacity: 1
soundInsert:
path: /Audio/Weapons/Guns/MagIn/energycrossbow_reload.ogg
- type: ContainerContainer
containers:
ballistic-ammo: !type:Container
ents: []
- type: entity
name: Foam Force Astro Ace
parent: [ BaseToyGun, BaseWeaponShotgun, BaseGunWieldable ]
id: WeaponRifleFoam
description: A premium foam rifle of the highest quality. Its plastic feels rugged, and its mechanisms sturdy.
components:
- type: Sprite
sprite: Objects/Fun/Foam/foam_rifle.rsi
- type: Clothing
sprite: Objects/Fun/Foam/foam_rifle.rsi
- type: Item
sprite: Objects/Fun/Foam/foam_rifle_inhand_64x.rsi
size: Normal
shape:
- 0,0,3,0
- type: BallisticAmmoProvider
whitelist: *WhitelistFoam
capacity: 10
proto: BulletFoam
- type: GunRequiresWield #remove when inaccuracy on spreads is fixed
- type: Gun
fireRate: 2
selectedMode: SemiAuto
availableModes:
- SemiAuto
soundGunshot:
path: /Audio/Effects/thunk.ogg
soundEmpty:
path: /Audio/Weapons/Guns/Empty/empty.ogg
- type: StaticPrice
price: 100
- type: entity
parent: [ BaseItem, BaseToyGun ]
id: RevolverCapGun
name: cap gun
description: Looks almost like the real thing! Ages 8 and up.
components:
- type: Sprite
sprite: Objects/Fun/capgun.rsi
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- type: Item
shape:
- 0,0,1,0
- 0,1,0,1
storedOffset: -2,-7
sprite: Objects/Fun/capgun.rsi
- type: Tag
tags:
- Sidearm
- ToySidearm
- type: AmmoCounter
- type: Gun
selectedMode: SemiAuto
availableModes:
- SemiAuto
fireRate: 2
soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/revolver.ogg
params:
volume: 2.25
- type: RevolverAmmoProvider
whitelist:
tags:
- CartridgeCap
- SpeedLoaderCap
- ConcealCarry # DeltaV - can be stowed in military boots for now
proto: CartridgeCap
capacity: 6
chambers: [ True, True, True, True, True, True ]
ammoSlots: [ null, null, null, null, null, null ]
soundInsert:
path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg
- type: ContainerContainer
containers:
revolver-ammo: !type:Container
- type: entity
parent: RevolverCapGun
id: RevolverCapGunFake
suffix: Fake
components:
- type: RevolverAmmoProvider
whitelist:
tags:
- CartridgeCap
- SpeedLoaderCap
- CartridgeMagnum
- SpeedLoaderMagnum
proto: CartridgeMagnumAP
- type: entity
parent: [ BaseItem, BaseToyGun ]
id: WeaponStickyHand
name: sticky hand
description: They're saying you're reaching. They're saying it's a stretch. You'll show them all, and you'll stick it to them.
components:
- type: GrapplingGun
cycleSound: /Audio/Misc/woosh.ogg
ropeSprite:
sprite: Objects/Weapons/Guns/Launchers/sticky_hand.rsi
state: rope
- type: Gun
soundGunshot: /Audio/Misc/stickystretch.ogg
fireRate: 0.5
soundEmpty: /Audio/Misc/boing.ogg
- type: BasicEntityAmmoProvider
proto: StickyHandPalm
capacity: 1
- type: Sprite
sprite: Objects/Weapons/Guns/Launchers/sticky_hand.rsi
state: base
- type: UseDelay
delay: 1.5
## Toy swords
- type: entity
abstract: true
id: BaseToySword
components:
- type: DisarmMalus
malus: -0.3 # Easy to disarm for epic reversals
- type: StaminaDamageOnHit
damage: 8 # Too small for real combat, but allows for foam fights to have a conclusion
- type: MeleeWeapon
damage:
types:
Blunt: 0.3 # Not even close to real damage, but creates the red flash to give the illusion of damage
- type: entity
parent: [ BaseItem, BaseToySword ]
id: FoamBlade
name: foamblade
description: It says "Sternside Changs number 1 fan" on it.
components:
- type: Sprite
sprite: Objects/Fun/Foam/foam_blade.rsi
state: icon
- type: MeleeWeapon
attackRate: 1.5
angle: 0
animation: WeaponArcThrust
wideAnimationRotation: 90
- type: Item
size: Small
sprite: Objects/Fun/Foam/foam_blade.rsi
- type: entity
parent: [ BaseItem, BaseToySword ]
id: FoamCutlass
name: foam cutlass
description: Cosplay as a pirate and force your friends to walk the plank.
components:
- type: Sprite
sprite: Objects/Weapons/Melee/cutlass.rsi
state: foam_icon
- type: MeleeWeapon
wideAnimationRotation: -135
attackRate: 1.5
range: 2.0
- type: Item
size: Normal
storedSprite:
state: foam_storage
sprite: Objects/Weapons/Melee/cutlass.rsi
shape:
- 0,0,0,2
- type: entity
parent: [ BaseItem, BaseToySword ]
id: ToySword
name: toy sword
description: New Sandy-Cat plastic sword! Comes with realistic sound and full color! Looks almost like the real thing!
components:
- type: Sprite
sprite: Objects/Weapons/Melee/e_sword.rsi
layers:
- state: e_sword
- state: e_sword_blade
color: "#FFFFFF"
visible: false
shader: unshaded
map: [ "blade" ]
- type: EnergySword
colorOptions: # DeltaV - revert toy sword appearance
- DodgerBlue
- type: ItemToggle
soundActivate:
path: /Audio/Weapons/ebladeon.ogg
soundDeactivate:
path: /Audio/Weapons/ebladeoff.ogg
- type: ItemToggleActiveSound
activeSound:
path: /Audio/Weapons/ebladehum.ogg
- type: Item
size: Small
sprite: Objects/Weapons/Melee/e_sword-inhands.rsi
- type: UseDelay
delay: 1.0
- type: PointLight
enabled: false
radius: 2
energy: 2
color: white
netsync: false
- type: Appearance
- type: ToggleableVisuals
spriteLayer: blade
inhandVisuals:
left:
- state: inhand-left-blade
shader: unshaded
right:
- state: inhand-right-blade
shader: unshaded
- type: ItemTogglePointLight
- type: MeleeWeapon
wideAnimationRotation: -135
damage:
types:
Blunt: 0
- type: ItemToggleMeleeWeapon
activatedSoundOnHit:
collection: RubberHammer # DeltaV - toy sword makes squeaky sounds
params:
variation: 0.250
activatedSoundOnHitNoDamage:
collection: RubberHammer # DeltaV - toy sword makes squeaky sounds
params:
variation: 0.250
activatedSoundOnSwing:
path: /Audio/Weapons/eblademiss.ogg
params:
variation: 0.125
activatedDamage:
types:
Heat: 0.3
- type: entity
parent: [ BaseItem, BaseToySword ]
id: CardSword
name: cardboard sword
description: A cardboard tube fashioned into the shape of a sword.
components:
- type: Sprite
sprite: Objects/Fun/card_sword.rsi
state: icon
- type: Clothing
sprite: Objects/Fun/card_sword.rsi
slots:
- Back
- SuitStorage
- type: Appearance
- type: MeleeWeapon
wideAnimationRotation: -135
attackRate: 1.25
soundHit:
path: /Audio/Items/Toys/card_tube_bonk.ogg
- type: Construction
graph: CardSword
node: cardSword
- type: Item
size: Normal
storedSprite:
state: icon
sprite: Objects/Fun/card_sword.rsi
shape:
- 0,0,1,3
- type: entity
parent: [ BaseItem, BaseToySword ]
id: ToyHammer
name: rubber hammer
description: A brightly colored hammer made of rubber.
components:
- type: Sprite
sprite: Objects/Fun/rubber_hammer.rsi
state: icon
- type: WeaponRandom # 1 in 100,000 to "win" the "fight"
damageBonus:
types:
Blunt: 1000
- type: Item
size: Small
sprite: Objects/Fun/rubber_hammer.rsi
- type: MeleeWeapon
wideAnimationRotation: -135
soundHit: &SoundRubberHammer
collection: RubberHammer
params:
variation: 0.03
volume: 3
soundNoDamage: *SoundRubberHammer

View File

@ -1,58 +0,0 @@
- type: entity
abstract: true
parent: BaseItem
id: BaseWhistle
name: whistle
description: Someone forgot to turn off a kettle?
components:
- type: Item
sprite: Objects/Fun/whistles.rsi
size: Tiny
- type: Sprite
sprite: Objects/Fun/whistles.rsi
- type: Clothing
sprite: Objects/Fun/whistles.rsi
quickEquip: false
slots: neck
- type: UseDelay
delay: 3
- type: EmitSoundOnUse
sound:
collection: BaseWhistle
- type: Whistle
distance: 3
- type: entity
parent: BaseWhistle
id: Whistle
components:
- type: Sprite
state: whistle
- type: entity
parent: BaseWhistle
id: SecurityWhistle
description: The sound of it brings fear.
components:
- type: Sprite
state: whistle # DeltaV - replace sec with whistle
- type: Clothing
equippedPrefix: whistle # DeltaV - replace sec with whistle
- type: Whistle
distance: 5
- type: entity
parent: [BaseWhistle, BaseMinorContraband]
id: SyndicateWhistle
name: trench whistle
description: A whistle used by Syndicate commanders to draw attention. Avanti!
components:
- type: Sprite
state: trench
- type: Clothing
equippedPrefix: trench
- type: EmitSoundOnUse
sound:
collection: TrenchWhistle
- type: Whistle
distance: 15 # Let your enemies hear the sound of death approaching

View File

@ -44,16 +44,16 @@
- GhostOnlyWarp
- type: entity
parent: ImmovableRod
id: ImmovableRodDespawn
suffix: Despawn
parent: ImmovableRod
components:
- type: TimedDespawn
lifetime: 30.0
- type: entity
id: ImmovableRodSlow
parent: ImmovableRodDespawn
id: ImmovableRodSlow
suffix: Slow
components:
- type: ImmovableRod

View File

@ -1,7 +1,7 @@
- type: entity
name: "candy bucket"
parent: BaseItem
id: CandyBucket
name: candy bucket
description: A festive bucket for all your treats.
components:
- type: Sprite

View File

@ -339,33 +339,6 @@
False: { state: base-unshaded-off }
- type: PacifismAllowedGun
- type: entity
parent: BaseItem
id: WeaponStickyHand
name: sticky hand
description: They're saying you're reaching. They're saying it's a stretch. You'll show them all, and you'll stick it to them.
components:
- type: AmmoCounter
- type: GrapplingGun
cycleSound: /Audio/Misc/woosh.ogg
ropeSprite:
sprite: Objects/Weapons/Guns/Launchers/sticky_hand.rsi
state: rope
- type: Gun
soundGunshot: /Audio/Misc/stickystretch.ogg
fireRate: 0.5
clumsyProof: true
soundEmpty: /Audio/Misc/boing.ogg
- type: BasicEntityAmmoProvider
proto: StickyHandPalm
capacity: 1
- type: Sprite
sprite: Objects/Weapons/Guns/Launchers/sticky_hand.rsi
state: base
- type: UseDelay
delay: 1.5
- type: PacifismAllowedGun
# Admeme
- type: entity
name: tether gun

View File

@ -282,39 +282,3 @@
steps: 1
zeroVisible: true
- type: Appearance
- type: entity
name: Foam Force Astro Ace
parent: [BaseWeaponShotgun, BaseGunWieldable]
id: WeaponRifleFoam
description: A premium foam rifle of the highest quality. Its plastic feels rugged, and its mechanisms sturdy.
components:
- type: Sprite
sprite: Objects/Fun/Foam/foam_rifle.rsi
- type: Clothing
sprite: Objects/Fun/Foam/foam_rifle.rsi
- type: Item
sprite: Objects/Fun/Foam/foam_rifle_inhand_64x.rsi
size: Normal
shape:
- 0,0,3,0
- type: BallisticAmmoProvider
whitelist:
tags:
- BulletFoam
capacity: 10
proto: BulletFoam
- type: GunRequiresWield #remove when inaccuracy on spreads is fixed
- type: Gun
fireRate: 2
selectedMode: SemiAuto
availableModes:
- SemiAuto
soundGunshot:
path: /Audio/Effects/thunk.ogg
soundEmpty:
path: /Audio/Weapons/Guns/Empty/empty.ogg
clumsyProof: true
- type: PacifismAllowedGun
- type: StaticPrice
price: 100

View File

@ -170,3 +170,26 @@
cell_slot:
name: power-cell-slot-component-slot-name-default
startingItem: PowerCellHigh
# For entities with a hidden container slot that can be opened with a tool
- type: entity
abstract: true
id: BaseStash
components:
- type: Speech
speechVerb: Default # for pais (In the secret stash)
speechSounds: Plushie # Imp
- type: SecretStash
secretStashName: secret-stash-plushie
blacklist:
components:
- SecretStash # Prevents being able to insert plushies inside each other (infinite plush)!
tags:
- QuantumSpinInverter # It will cause issues with the grinder...
- type: ToolOpenable
openToolQualityNeeded: Slicing
closeToolQualityNeeded: Slicing # Should probably be stitching or something if that gets added
name: secret-stash-plushie
- type: ContainerContainer
containers:
stash: !type:ContainerSlot {}