#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
- type: RequireProjectileTarget
- type: entity
+ abstract: true
parent: BasePlaceableInstrument
id: BasePlaceableInstrumentRotatable
name: baseinstrumentrotatable
- abstract: true
components:
- type: Rotatable
rotateWhileAnchored: true
# 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
- 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
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
+# 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
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
-# Chessboard item (normal in game item you can hold in your hand)
-- type: entity
+- type: entity
parent: BaseBoardEntity
id: ChessBoard
name: chessboard
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
# 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
-# 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
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
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
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
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
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:
- type: entity
parent: BaseBoardTabletop
- id: SandBoardTabletop
+ id: *SandBoard
name: sand battlemap
categories: [ HideSpawnMenu ]
components:
- type: entity
parent: BaseBoardTabletop
- id: SnowBoardTabletop
+ id: *SnowBoard
name: snow battlemap
categories: [ HideSpawnMenu ]
components:
- type: entity
parent: BaseBoardTabletop
- id: ShipBoardTabletop
+ id: *ShipBoard
name: ship battlemap
categories: [ HideSpawnMenu ]
components:
-# Parchís board item (normal in game item you can hold in your hand)
- type: entity
parent: BaseBoardEntity
id: ParchisBoard
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
- 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
--- /dev/null
+# 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
+++ /dev/null
-- 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
+# 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
- Write
- Crayon
- Trash
+ - Recyclable
- type: SpaceGarbage
- type: UserInterface
interfaces:
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:
- 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
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
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
- 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
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" ]
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
+++ /dev/null
-- 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
+++ /dev/null
-- 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
--- /dev/null
+# 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
graph: PotatoAI
node: potatoai
+# PAI Actions
+
- type: entity
parent: ActionIntrinsicStore
id: ActionPAIOpenShop
+++ /dev/null
-- 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
+++ /dev/null
-- 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
+++ /dev/null
-- 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
-
--- /dev/null
+# 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: sec
+ - type: Clothing
+ equippedPrefix: sec
+ - 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: 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
+ 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
+++ /dev/null
-- 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
--- /dev/null
+# 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
-## Base stash
+# When adding new toys, also add it somewhere nested in id: AllToysTable
+# Catchall file for toys which don't have a strong grouping (only 1 or 2 prototypes)
- type: entity
- id: BaseStash
- abstract: true
- components:
- - type: Speech
- speechVerb: Default # for pais (In the secret stash)
- - 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 {}
-
-## Rubber
-
-- type: entity
- parent: [BaseItem, BaseStash]
- id: BaseRubberToy
- abstract: true
- 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: ContainerContainer
- containers:
- stash: !type:ContainerSlot {}
-
-- 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:
- path: /Audio/Items/Toys/quack.ogg
- - type: EmitSoundOnLand
- sound:
- path: /Audio/Items/Toys/quack.ogg
- - type: EmitSoundOnActivate
- sound:
- path: /Audio/Items/Toys/quack.ogg
- - type: EmitSoundOnTrigger
- sound:
- path: /Audio/Items/Toys/quack.ogg
- - type: EmitSoundOnCollide
- sound:
- path: /Audio/Items/Toys/quack.ogg
- - 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: EmitSoundOnUse
- sound:
- collection: RubberChicken
- params:
- variation: 0.125
- - type: EmitSoundOnLand
- sound:
- collection: RubberChicken
- params:
- variation: 0.125
- - type: EmitSoundOnActivate
- sound:
- collection: RubberChicken
- params:
- variation: 0.125
- - type: EmitSoundOnCollide
- sound:
- collection: RubberChicken
- params:
- variation: 0.125
- - type: EmitSoundOnTrigger
- sound:
- collection: RubberChicken
- params:
- variation: 0.125
- - type: MeleeWeapon
- wideAnimationRotation: 110
- soundHit:
- collection: RubberChicken
- params:
- variation: 0.125
-
-- 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:
- path: /Audio/Items/Toys/ian.ogg
- - type: EmitSoundOnLand
- sound:
- path: /Audio/Items/Toys/ian.ogg
- - type: EmitSoundOnActivate
- sound:
- path: /Audio/Items/Toys/ian.ogg
- - type: EmitSoundOnTrigger
- sound:
- path: /Audio/Items/Toys/ian.ogg
- - type: EmitSoundOnCollide
- sound:
- path: /Audio/Items/Toys/ian.ogg
- - type: MeleeWeapon
- soundHit:
- path: /Audio/Items/Toys/ian.ogg
- - type: Edible
- useSound:
- path: /Audio/Items/Toys/ian.ogg
- - type: FoodSequenceElement
- entries:
- CottonBurger: IanPlushie
-
-## Toyweapons
-
-- type: entity
- abstract: true
parent: BaseItem
- id: FoamWeaponBase
+ id: SnapPop
+ name: snap pop
+ description: Throw it at the floor and listen to it POP!
components:
- type: Sprite
- - type: Item
- size: Normal
- - type: PacifismAllowedGun
-
-- type: entity
- parent: FoamWeaponBase
- 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
+ sprite: Objects/Fun/snap_pops.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:
- tags:
- - BulletFoam
- capacity: 1
- soundInsert:
- path: /Audio/Weapons/Guns/MagIn/energycrossbow_reload.ogg
- - type: ContainerContainer
- containers:
- ballistic-ammo: !type:Container
- ents: []
-
-- type: entity
- parent: BaseItem
- id: ToyGunBase
- name: ToyGunBase
- description: A rooty tooty point and shooty.
- abstract: true
- components:
- - type: Sprite
-
-- type: entity
- parent: ToyGunBase
- 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: Gun
- selectedMode: SemiAuto
- availableModes:
- - SemiAuto
- fireRate: 2
- soundGunshot:
- path: /Audio/Weapons/Guns/Gunshots/revolver.ogg
- params:
- volume: 2.25
- clumsyProof: true
- - type: RevolverAmmoProvider
- whitelist:
- tags:
- - CartridgeCap
- - SpeedLoaderCap
- 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
- name: cap gun
- suffix: Fake
- description: Looks almost like the real thing! Ages 8 and up.
- components:
- - type: RevolverAmmoProvider
- whitelist:
- tags:
- - CartridgeCap
- - SpeedLoaderCap
- - CartridgeMagnum
- - SpeedLoaderMagnum
- proto: CartridgeMagnumAP
-
-- type: entity
- parent: BaseItem
- 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
- damage:
- types:
- Blunt: 0
- - type: Item
- size: Small
- sprite: Objects/Fun/Foam/foam_blade.rsi
- - type: UseDelay
-
-# Balloons
-
-- type: entity
- parent: BaseItem
- id: BaseBalloon
- abstract: true
- components:
- - type: Sprite
- noRot: true
- - type: Item
- size: Small
- - type: EmitSoundOnCollide
- sound:
- path: /Audio/Effects/balloon_hits.ogg
- - type: EmitSoundOnLand
- sound:
- path: /Audio/Effects/balloon_hits.ogg
+ size: Tiny
- 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
-
-# MISC
-
-- type: entity
- parent: BaseItem
- 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: Catchable
- catchChance: 0.8
- catchSuccessSound:
- path: /Audio/Effects/Footsteps/bounce.ogg
- - type: EmitSoundOnCollide
- sound:
- path: /Audio/Effects/Footsteps/bounce.ogg
- - type: Item
- size: Normal
- sprite: Objects/Fun/Balls/basketball.rsi
- - type: TileFrictionModifier
- modifier: 0.5
-
-- type: entity
- parent: BaseItem
- 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: Catchable
- catchChance: 0.8
- catchSuccessSound:
- path: /Audio/Effects/Footsteps/bounce.ogg
- - type: EmitSoundOnCollide
- sound:
- path: /Audio/Effects/Footsteps/bounce.ogg
- - type: Item
- size: Small
- sprite: Objects/Fun/Balls/football.rsi
-
-- type: entity
- parent: BaseItem
- 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: Catchable
- catchChance: 0.8
- catchSuccessSound:
- path: /Audio/Effects/Footsteps/bounce.ogg
- - type: EmitSoundOnCollide
- sound:
- path: /Audio/Effects/Footsteps/bounce.ogg
- - 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
- 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: Catchable
- catchChance: 0.8
- catchSuccessSound:
- path: /Audio/Effects/Footsteps/bounce.ogg
- - type: Item
- size: Normal
- sprite: Objects/Fun/Balls/beach_ball.rsi
- - type: TileFrictionModifier
- modifier: 0.05
- - type: TriggerOnCollide
- fixtureID: fix1
- keyOut: OnCollide
- - type: EmitSoundOnTrigger
- sound:
- path: /Audio/Effects/Footsteps/bounce.ogg
- keysIn:
- - OnCollide
-
-- 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
+ - 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: 20
- keysIn:
- - OnCollide
- targetUser: true
-
-- 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
-
-- 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
-
-- type: entity
- parent: BaseItem
- 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
- - 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: DisarmMalus
- malus: 0
- - type: StaminaDamageOnHit
- damage: 8
- - type: MeleeWeapon
- wideAnimationRotation: -135
- damage:
- types:
- Blunt: 0
- - type: ItemToggleMeleeWeapon
- activatedSoundOnHit:
- path: /Audio/Weapons/eblade1.ogg
- params:
- variation: 0.250
- activatedSoundOnHitNoDamage:
- path: /Audio/Weapons/eblade1.ogg
- params:
- variation: 0.250
- activatedSoundOnSwing:
- path: /Audio/Weapons/eblademiss.ogg
- params:
- variation: 0.125
-
-- 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
-
-
-- type: entity
- parent: BaseItem
- 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
- damage:
- types:
- Blunt: 0
- - type: Item
- size: Normal
- storedSprite:
- state: foam_storage
- sprite: Objects/Weapons/Melee/cutlass.rsi
- shape:
- - 0,0,0,2
-
-- type: entity
- parent: BaseItem
- 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: StaminaDamageOnHit
- damage: 6
- - type: Appearance
- - type: DisarmMalus
- malus: 0
- - type: MeleeWeapon
- wideAnimationRotation: -135
- attackRate: 1.25
- damage:
- types:
- Blunt: 0.3
- soundHit:
- path: /Audio/Items/Toys/card_tube_bonk.ogg
+ Blunt: 3
+ - type: Explosive
+ explosionType: Default
+ # Cosmetic explosion :tf:
+ maxIntensity: 0.01
+ intensitySlope: 1
+ totalIntensity: 0.01
- type: Construction
- graph: CardSword
- node: cardSword
- - type: Item
- size: Normal
- storedSprite:
- state: icon
- sprite: Objects/Fun/card_sword.rsi
- shape:
- - 0,0,1,3
+ graph: SnapPopExplosiveGraph
+ node: snapPop
- type: entity
- parent: BaseItem
- id: ClownRecorder
- name: clown recorder
- description: When you just can't get those laughs coming the natural way!
+ parent: BaseStorageItem
+ id: SnapPopBox
+ name: snap pop box
+ description: Contains snap pops for a few minutes of popping fun!
components:
- - type: Sprite
- sprite: Objects/Fun/clownrecorder.rsi
- state: icon
- - type: EmitSoundOnUse
- sound:
- collection: ClownRecorder
- - type: EmitSoundOnLand
- sound:
- collection: ClownRecorder
- - type: EmitSoundOnActivate
- sound:
- collection: ClownRecorder
- - type: EmitSoundOnTrigger
- sound:
- collection: ClownRecorder
- - type: EmitSoundOnCollide
- sound:
- collection: ClownRecorder
- - type: UseDelay
- delay: 30.0
- - type: Tag
- tags:
- - ClownRecorder
- - Payload
-
-- type: entity
- parent: BaseItem
- 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
- damageBonus:
- types:
- Blunt: 1000
- - type: StaminaDamageOnHit
- damage: 8
- type: Item
- size: Small
- sprite: Objects/Fun/rubber_hammer.rsi
- - type: Appearance
- - type: DisarmMalus
- malus: 0
- - type: MeleeWeapon
- wideAnimationRotation: -135
- soundHit:
- collection: RubberHammer
- params:
- variation: 0.03
- volume: 3
- soundNoDamage:
- collection: RubberHammer
- params:
- variation: 0.03
- volume: 3
- damage:
- types:
- Blunt: 0
-
-- type: entity
- parent: BaseItem
- id: WhoopieCushion
- name: whoopie cushion
- description: A practical joke device involving flatulence humour.
- components:
+ size: Normal
- type: Sprite
- sprite: Objects/Fun/whoopie.rsi
- state: icon
- - type: Tag
- tags:
- - Payload
- - type: EmitSoundOnUse
- sound:
- collection: Parp
- params:
- variation: 0.125
- - type: EmitSoundOnLand
- sound:
- collection: Parp
- params:
- variation: 0.125
- - type: EmitSoundOnActivate
- sound:
- collection: Parp
- params:
- variation: 0.125
- - type: EmitSoundOnCollide
- sound:
- collection: Parp
- params:
- variation: 0.125
- - type: UseDelay
- delay: 0.8
- - type: Slippery
- staminaDamage: 0
- frictionStatusTime: 0
- slipData:
- stunTime: 0
- knockdownTime: 0
- launchForwardsMultiplier: 0
- slipSound:
- collection: Parp
- params:
- variation: 0.125
- - type: MeleeWeapon
- soundHit:
- collection: Parp
- params:
- variation: 0.125
- damage:
- types:
- Blunt: 0
- - type: StepTrigger
- intersectRatio: 0.2
- requiredTriggeredSpeed: 2
- - type: TriggerOnStepTrigger # for payloads
- - type: Appearance
- - 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
+ 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
- type: entity
- name: banana
parent: FoodProduceBase
id: PlasticBanana
- description: A plastic banana.
+ name: banana
suffix: Plastic
+ description: A plastic banana.
components:
- type: Sprite
sprite: Objects/Specific/Hydroponics/banana.rsi
solution: drink
- 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.
+ parent: [ BaseItem, MobCombat ]
+ id: MrChips
+ name: mr chips
+ suffix: Dummy
+ description: It's a dummy, dummy!
components:
- type: Sprite
- sprite: Objects/Fun/newton_cradle.rsi
- state: icon-off
+ sprite: Objects/Fun/mrchips.rsi
+ layers:
+ - state: icon
+ - type: Input
+ context: "human"
+ - type: DoAfter
+ - type: VentriloquistPuppet
- type: Item
- sprite: Objects/Fun/newton_cradle.rsi
- storedRotation: -90
+ 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
+
+- 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
+
+- type: entity
+ parent: BaseItem
+ id: SpectralLocatorUnpowered
+ name: spectral locator
+ suffix: Always Powered
+ description: Appears to be a modified anomaly locator. Seems very old.
+ 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: { state: icon }
- False: { state: icon-off }
+ True: { visible: true }
+ False: { visible: false }
- type: ItemToggle
- - type: UseDelay
- delay: 1
- - type: ItemToggleActiveSound
- activeSound:
- path: /Audio/Items/newton_cradle.ogg
+ - type: ProximityBeeper
+ - type: ProximityDetector
+ range: 12
+ components:
+ - type: Spectral # ghosts, jaunts, reventants
+ - type: Beeper
+ isMuted: true
+ minBeepInterval: 0.25
+ maxBeepInterval: 0.5
+ beepSound:
+ path: "/Audio/Items/locator_beep.ogg"
params:
- volume: -9
- maxDistance: 3
+ maxDistance: 1
+ volume: -8
+
+- type: entity
+ parent: [ SpectralLocatorUnpowered, PowerCellSlotSmallItem ]
+ id: SpectralLocator
+ suffix: ""
+ components:
+ - type: PowerCellDraw
+ drawRate: 1
+ useCharge: 0
+ - type: ToggleCellDraw
+
+- type: entity
+ parent: SpectralLocator
+ id: SpectralLocatorEmpty
+ suffix: Empty
+ components:
+ - type: ItemSlots
+ slots:
+ cell_slot:
+ name: power-cell-slot-component-slot-name-default
--- /dev/null
+# 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
+ 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
+ - 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:
+ path: /Audio/Weapons/eblade1.ogg
+ params:
+ variation: 0.250
+ activatedSoundOnHitNoDamage:
+ path: /Audio/Weapons/eblade1.ogg
+ 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
+++ /dev/null
-- 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: sec
- - type: Clothing
- equippedPrefix: sec
- - 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
- 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
- type: entity
- name: "candy bucket"
parent: BaseItem
id: CandyBucket
+ name: candy bucket
description: A festive bucket for all your treats.
components:
- type: Sprite
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
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
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)
+ - 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 {}