Adds more mob crates for livestock (#3604)

* Adds livestock crate sprites and cargo crates

Goat and butterfly

* Sorted NPC crates. Added more mobs

Alphabetized NPC crates & Cargo_livestock
Added all current mob crates to cargo.
Added remaining mobs as crates.
Fixed .rsi naming
Added descriptions to livestock crates
Added construction graph for crates under new category "storage"

* Added bees, chickens and gorillas

NPC Crates for cargo

* Fixed cargo console icons

* Alphabetised NPC animals

* Randomizer comment

* removed livestock from cargo console

* Fix chickenmob

* Update yml

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
This commit is contained in:
Peptide90
2021-04-02 11:41:00 +01:00
committed by GitHub
parent 52736bbd9e
commit df70984c52
10 changed files with 559 additions and 188 deletions

View File

@@ -0,0 +1,156 @@
- type: cargoProduct
name: "bee crate"
id: livestockbee
description: "A crate containing a swarm of eight bees"
icon:
sprite: Mobs/Animals/bee.rsi
state: 0
product: CrateNPCBee
cost: 1000
category: Livestock
group: market
- type: cargoProduct
name: "butterfly crate"
id: livestockbutterfly
description: "A crate containing five butterflies"
icon:
sprite: Mobs/Animals/butterfly.rsi
state: butterfly
product: CrateNPCButterflies
cost: 1000
category: Livestock
group: market
- type: cargoProduct
name: "cat crate"
id: livestockcat
description: "A crate containing a single cat"
icon:
sprite: Mobs/Pets/cat.rsi
state: cat
product: CrateNPCCat
cost: 1000
category: Livestock
group: market
- type: cargoProduct
name: "chicken crate"
id: livestockchicken
description: "A crate containing a four fully grown chickens"
icon:
sprite: Mobs/Animals/chicken.rsi
state: icon-1
product: CrateNPCChicken
cost: 1500
category: Livestock
group: market
- type: cargoProduct
name: "corgi crate"
id: livestockcorgi
description: "A crate containing a single corgi"
icon:
sprite: Mobs/Pets/corgi.rsi
state: corgi
product: CrateNPCCorgi
cost: 1000
category: Livestock
group: market
- type: cargoProduct
name: "cow crate"
id: livestockcow
description: "A crate containing a single cow"
icon:
sprite: Mobs/Animals/cow.rsi
state: cow
product: CrateNPCCow
cost: 1000
category: Livestock
group: market
- type: cargoProduct
name: "goat crate"
id: livestockgoat
description: "A crate containing a single goat"
icon:
sprite: Mobs/Animals/goat.rsi
state: goat
product: CrateNPCGoat
cost: 1000
category: Livestock
group: market
- type: cargoProduct
name: "goose crate"
id: livestockgoose
description: "A crate containing two geese"
icon:
sprite: Mobs/Animals/goose.rsi
state: goose
product: CrateNPCGoose
cost: 1500
category: Livestock
group: market
- type: cargoProduct
name: "gorilla crate"
id: livestockgorilla
description: "A crate containing a single gorilla"
icon:
sprite: Mobs/Animals/gorilla.rsi
state: icon
product: CrateNPCGorilla
cost: 2000
category: Livestock
group: market
- type: cargoProduct
name: "monkey cube crate"
id: livestockmonkeycube
description: "A crate containing three boxes of monkey cubes "
icon:
sprite: Mobs/Animals/monkey.rsi
state: monkey
product: CrateNPCMonkeyCube
cost: 1500
category: Livestock
group: market
- type: cargoProduct
name: "parrot crate"
id: livestockparrot
description: "A crate containing three parrots"
icon:
sprite: Mobs/Animals/parrot.rsi
state: parrot
product: CrateNPCParrot
cost: 1000
category: Livestock
group: market
- type: cargoProduct
name: "penguin crate"
id: livestockpenguin
description: "A crate containing two penguins"
icon:
sprite: Mobs/Animals/penguin.rsi
state: penguin
product: CrateNPCPenguin
cost: 2000
category: Livestock
group: market
- type: cargoProduct
name: "snake crate"
id: livestocksnake
description: "A crate containing three snakes"
icon:
sprite: Mobs/Animals/snake.rsi
state: snake
product: CrateNPCSnake
cost: 1000
category: Livestock
group: market

View File

@@ -1,69 +1,140 @@
- type: entity
id: CrateNPCBee
name: crate of bees
parent: CrateLivestock
components:
- type: StorageFill
contents:
- name: BeeMob_Content
amount: 8
- type: entity
id: CrateNPCButterflies
name: crate of butterflies
parent: CrateLivestock
components:
- type: StorageFill
contents:
- name: ButterflyMob_Content
amount: 5
- type: entity
id: CrateNPCCat
name: cat crate
parent: CrateLivestock
components:
- type: StorageFill
contents:
- name: CatMob_Content
amount: 1
- type: entity
id: CrateNPCChicken
name: chicken crate
parent: CrateLivestock
components:
- type: StorageFill
contents:
- name: ChickenMob_Content
amount: 4
- type: entity
id: CrateNPCCorgi
name: corgi crate
parent: CrateLivestock
components:
- type: StorageFill
contents:
- name: CorgiMob_Content
amount: 1
- type: entity
id: CrateNPCCow
name: cow crate
parent: CrateLivestock
components:
- type: StorageFill
contents:
- name: CowMob_Content
amount: 1
- type: entity
id: CrateNPCGoat
name: goat crate
parent: CrateGenericonimo
parent: CrateLivestock
components:
- type: StorageFill
contents:
- name: GoatMob_Content
amount: 1
- type: entity
id: CrateNPCButterflies
name: crate of butterflies
parent: CrateGenericonimo
components:
- type: StorageFill
contents:
- name: ButterflyMob_Content
amount: 10
- type: entity
id: CrateNPCCorgi
name: corgi crate
parent: CrateGenericonimo
id: CrateNPCGoose
name: goose crate
parent: CrateLivestock
components:
- type: StorageFill
contents:
- name: CorgiMob_Content
- name: GooseMob_Content
amount: 2
- type: entity
id: CrateNPCGorilla
name: gorilla crate
parent: CrateLivestock
components:
- type: StorageFill
contents:
- name: GorillaMob_Content
amount: 1
- type: entity
id: CrateNPCCat
name: cat crate
parent: CrateGenericonimo
components:
- type: StorageFill
contents:
- name: CatMob_Content
amount: 1
- type: entity
id: CrateNPCSnake
name: snake crate
parent: CrateGenericonimo
components:
- type: StorageFill
contents:
- name: SnakeMob_Content
amount: 3
- type: entity
id: CrateNPCMonkeyCube
name: monkey cube crate
parent: CrateGenericonimo
parent: BoxBase
components:
- type: StorageFill
contents:
- name: FoodContainerMonkeyCubeBox
amount: 1
- type: entity
id: CrateNPCParrot
name: parrot crate
parent: CrateGenericonimo
parent: CrateLivestock
components:
- type: StorageFill
contents:
- name: ParrotMob_Content
amount: 3
- type: entity
id: CrateNPCPenguin
name: penguin crate
parent: CrateLivestock
components:
- type: StorageFill
contents:
- name: PenguinMob_Content
amount: 2
- type: entity
id: CrateNPCSnake
name: snake crate
parent: CrateLivestock
components:
- type: StorageFill
contents:
- name: SnakeMob_Content
amount: 3

View File

@@ -510,3 +510,57 @@
state_open: weaponcrate_open
state_closed: weaponcrate_door
- type: entity
id: CrateLivestock
name: livestock crate
parent: CrateGeneric
components:
- type: Sprite
sprite: Constructible/Storage/Crates/livestock.rsi
layers:
- state: livestockcrate
- state: livestockcrate_door
map: ["enum.StorageVisualLayers.Door"]
- type: Icon
sprite: Constructible/Storage/Crates/livestock.rsi
state: livestockcrate
- type: Appearance
visuals:
- type: StorageVisualizer
state_open: livestockcrate_open
state_closed: livestockcrate_door
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 15
behaviors:
- !type:PlaySoundBehavior
sound: /Audio/Effects/woodhit.ogg
- !type:SpawnEntitiesBehavior
spawn:
MaterialWoodPlank1:
min: 1
max: 4
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Physics
bodyType: Dynamic
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.4, -0.4, 0.29, 0.4"
mass: 75
mask:
- Impassable
- VaultImpassable
- SmallImpassable
layer:
- Opaque
- MobImpassable
- SmallImpassable
- type: Construction
graph: CrateLivestock
node: start

View File

@@ -2,17 +2,20 @@
#1D2L3U4R
- type: entity
name: monkey
id: MonkeyMob_Content
name: bat
parent: SimpleMobBase
description: New church of neo-darwinists actually believe that EVERY animal evolved from a monkey. Tastes like pork, and killing them is both fun and relaxing.
id: BatMob_Content
description: Some cultures find them terrifying, others crunchy on the teeth.
components:
- type: MovementSpeedModifier
baseWalkSpeed : 6
baseSprintSpeed : 6
- type: Sprite
drawdepth: Mobs
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: monkey
sprite: Mobs/Animals/monkey.rsi
state: bat
sprite: Mobs/Animals/bat.rsi
- type: Physics
bodyType: Dynamic
fixtures:
@@ -29,24 +32,25 @@
- type: Appearance
visuals:
- type: DamageStateVisualizer
normal: monkey
normal: bat
dead: dead
- type: FireVisualizer
sprite: Mobs/Effects/onfire.rsi
normalState: Monkey_burning
- type: entity
name: gorilla
name: bee
parent: SimpleMobBase
id: GorillaMob_Content
description: Smashes, roars, looks cool. Don't stand near one.
id: BeeMob_Content
description: Nice to have, but you can't build a civilization on a foundation of honey alone.
components:
- type: MovementSpeedModifier
baseWalkSpeed : 7
baseSprintSpeed : 7
- type: AsteroidRock
- type: Sprite
drawdepth: Mobs
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: crawling
sprite: Mobs/Animals/gorilla.rsi
state: 0
sprite: Mobs/Animals/bee.rsi
- type: Physics
bodyType: Dynamic
fixtures:
@@ -63,7 +67,7 @@
- type: Appearance
visuals:
- type: DamageStateVisualizer
normal: crawling
normal: 0
dead: dead
- type: entity
@@ -142,27 +146,24 @@
dead: dead
- type: entity
name: bat
name: cow
parent: SimpleMobBase
id: BatMob_Content
description: Some cultures find them terrifying, others crunchy on the teeth.
id: CowMob_Content
description: Moo.
components:
- type: MovementSpeedModifier
baseWalkSpeed : 6
baseSprintSpeed : 6
- type: Sprite
drawdepth: Mobs
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: bat
sprite: Mobs/Animals/bat.rsi
state: cow
sprite: Mobs/Animals/cow.rsi
- type: Physics
bodyType: Dynamic
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.20,-0.20,0.20,0.20"
mass: 5
bounds: "-0.60,-0.50,0.05,0.50"
mass: 20
mask:
- Impassable
- VaultImpassable
@@ -172,25 +173,21 @@
- type: Appearance
visuals:
- type: DamageStateVisualizer
normal: bat
normal: cow
dead: dead
- type: entity
name: bee
name: crab
parent: SimpleMobBase
id: BeeMob_Content
description: Nice to have, but you can't build a civilization on a foundation of honey alone.
id: CrabMob_Content
description: A folk legend goes around that his claw snaps spacemen out of existance over distasteful remarks. Be polite and tolerant for your own safety.
components:
- type: MovementSpeedModifier
baseWalkSpeed : 7
baseSprintSpeed : 7
- type: AsteroidRock
- type: Sprite
drawdepth: Mobs
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: 0
sprite: Mobs/Animals/bee.rsi
state: crab
sprite: Mobs/Animals/crab.rsi
- type: Physics
bodyType: Dynamic
fixtures:
@@ -207,7 +204,7 @@
- type: Appearance
visuals:
- type: DamageStateVisualizer
normal: 0
normal: crab
dead: dead
- type: AsteroidRockVisualizer
@@ -242,7 +239,7 @@
normal: goat
dead: dead
# Note that we gotta make this bitch vomit someday when you feed it anthrax or sumthin
# Note that we gotta make this bitch vomit someday when you feed it anthrax or sumthin. Needs to be a small item thief too and aggressive if attacked.
- type: entity
name: goose
parent: SimpleMobBase
@@ -274,22 +271,18 @@
normal: goose
dead: dead
# Would be cool to have some functionality for the parrot to be able to sit on stuff
- type: entity
name: parrot
name: gorilla
parent: SimpleMobBase
id: ParrotMob_Content
description: Infiltrates your domain, spies on you, and somehow still a cool pet.
id: GorillaMob_Content
description: Smashes, roars, looks cool. Don't stand near one.
components:
- type: MovementSpeedModifier
baseWalkSpeed : 6
baseSprintSpeed : 6
- type: Sprite
drawdepth: Mobs
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: parrot
sprite: Mobs/Animals/parrot.rsi
state: crawling
sprite: Mobs/Animals/gorilla.rsi
- type: Physics
bodyType: Dynamic
fixtures:
@@ -306,21 +299,21 @@
- type: Appearance
visuals:
- type: DamageStateVisualizer
normal: parrot
normal: crawling
dead: dead
- type: entity
name: snake
name: monkey
id: MonkeyMob_Content
parent: SimpleMobBase
id: SnakeMob_Content
description: Hissss! Bites aren't poisonous.
description: New church of neo-darwinists actually believe that EVERY animal evolved from a monkey. Tastes like pork, and killing them is both fun and relaxing.
components:
- type: Sprite
drawdepth: Mobs
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: snake
sprite: Mobs/Animals/snake.rsi
state: monkey
sprite: Mobs/Animals/monkey.rsi
- type: Physics
bodyType: Dynamic
fixtures:
@@ -337,104 +330,11 @@
- type: Appearance
visuals:
- type: DamageStateVisualizer
normal: snake
# It's death animation is animated so hopefully this should push for separation between "dying" and "death" states.
normal: monkey
dead: dead
# Code unique spider prototypes or combine them all into one spider and get a
# random sprite state when you spawn it.
- type: entity
name: tarantula
parent: SimpleMobBase
id: GiantSpiderMob_Content
description: Widely recognized to be the literal worst thing in existence.
components:
- type: Sprite
drawdepth: Mobs
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: tarantula
sprite: Mobs/Animals/spider.rsi
- type: Physics
bodyType: Dynamic
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.30,-0.40,0.45,0.40"
mass: 10
mask:
- Impassable
- VaultImpassable
- SmallImpassable
layer:
- Opaque
- type: Appearance
visuals:
- type: DamageStateVisualizer
normal: tarantula
dead: tarantula_dead
- type: entity
name: crab
parent: SimpleMobBase
id: CrabMob_Content
description: A folk legend goes around that his claw snaps spacemen out of existance over distasteful remarks. Be polite and tolerant for your own safety.
components:
- type: Sprite
drawdepth: Mobs
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: crab
sprite: Mobs/Animals/crab.rsi
- type: Physics
bodyType: Dynamic
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.40,-0.35,0.20,0.35"
mass: 10
mask:
- Impassable
- VaultImpassable
- SmallImpassable
layer:
- Opaque
- type: Appearance
visuals:
- type: DamageStateVisualizer
normal: crab
dead: dead
- type: entity
name: penguin
parent: SimpleMobBase
id: PenguinMob_Content
description: Their lives are constant pain due to their inner-body knees.
components:
- type: Sprite
drawdepth: Mobs
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: penguin
sprite: Mobs/Animals/penguin.rsi
- type: Physics
bodyType: Dynamic
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.50,-0.30,0.35,0.30"
mass: 10
mask:
- Impassable
- VaultImpassable
- SmallImpassable
layer:
- Opaque
- type: Appearance
visuals:
- type: DamageStateVisualizer
normal: penguin
dead: penguin_dead
- type: FireVisualizer
sprite: Mobs/Effects/onfire.rsi
normalState: Monkey_burning
- type: entity
name: mouse
@@ -463,11 +363,11 @@
Slots:
- Helmet
- type: Physics
bodyType: KinematicController
bodyType: Dynamic
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.50,-0.30,0.35,0.30"
bounds: "-0.30,-0.40,0.45,0.40"
mass: 10
mask:
- Impassable
@@ -534,3 +434,134 @@
normal: mouse-2
crit: dead-2
dead: splat-2
# Would be cool to have some functionality for the parrot to be able to sit on stuff
- type: entity
name: parrot
parent: SimpleMobBase
id: ParrotMob_Content
description: Infiltrates your domain, spies on you, and somehow still a cool pet.
components:
- type: MovementSpeedModifier
baseWalkSpeed : 6
baseSprintSpeed : 6
- type: Sprite
drawdepth: Mobs
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: parrot
sprite: Mobs/Animals/parrot.rsi
- type: Physics
bodyType: Dynamic
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.40,-0.35,0.20,0.35"
mass: 10
mask:
- Impassable
- VaultImpassable
- SmallImpassable
layer:
- Opaque
- type: Appearance
visuals:
- type: DamageStateVisualizer
normal: parrot
dead: dead
- type: entity
name: penguin
parent: SimpleMobBase
id: PenguinMob_Content
description: Their lives are constant pain due to their inner-body knees.
components:
- type: Sprite
drawdepth: Mobs
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: penguin
sprite: Mobs/Animals/penguin.rsi
- type: Physics
bodyType: Dynamic
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.50,-0.30,0.35,0.30"
mass: 10
mask:
- Impassable
- VaultImpassable
- SmallImpassable
layer:
- Opaque
- type: Appearance
visuals:
- type: DamageStateVisualizer
normal: penguin
dead: penguin_dead
- type: entity
name: snake
parent: SimpleMobBase
id: SnakeMob_Content
description: Hissss! Bites aren't poisonous.
components:
- type: Sprite
drawdepth: Mobs
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: snake
sprite: Mobs/Animals/snake.rsi
- type: Physics
bodyType: KinematicController
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.50,-0.30,0.35,0.30"
mass: 10
mask:
- Impassable
- VaultImpassable
- SmallImpassable
layer:
- Opaque
- type: Appearance
visuals:
- type: DamageStateVisualizer
normal: snake
# It's death animation is animated so hopefully this should push for separation between "dying" and "death" states.
dead: dead
# Code unique spider prototypes or combine them all into one spider and get a
# random sprite state when you spawn it.
- type: entity
name: tarantula
parent: SimpleMobBase
id: GiantSpiderMob_Content
description: Widely recognized to be the literal worst thing in existence.
components:
- type: Sprite
drawdepth: Mobs
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: tarantula
sprite: Mobs/Animals/spider.rsi
- type: Physics
bodyType: Dynamic
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.30,-0.40,0.45,0.40"
mass: 10
mask:
- Impassable
- VaultImpassable
- SmallImpassable
layer:
- Opaque
- type: Appearance
visuals:
- type: DamageStateVisualizer
normal: tarantula
dead: tarantula_dead

View File

@@ -0,0 +1,25 @@
- type: constructionGraph
id: CrateLivestock
start: start
graph:
- node: start
edges:
- to: cratelivestock
steps:
- material: WoodPlank
amount: 5
doAfter: 5
- node: cratelivestock
entity: CrateLivestock
edges:
- to: start
steps:
- tool: Prying
doAfter: 5
completed:
- !type:SpawnPrototype
prototype: MaterialWoodPlank1
amount: 5
- !type:DeleteEntity {}

View File

@@ -0,0 +1,11 @@
- type: construction
name: livestock crate
id: CrateLivestock
graph: CrateLivestock
startNode: start
targetNode: cratelivestock
category: Storage
description: "A wooden crate for holding livestock"
icon: Constructible/Storage/Crates/livestock.rsi/livestockcrate.png
objectType: Item

Binary file not shown.

After

Width:  |  Height:  |  Size: 592 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 B

View File

@@ -0,0 +1,23 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from Paradise Station at https://github.com/ParadiseSS13/Paradise/blob/master/icons/obj/crates.dmi",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "livestockcrate",
"select": []
},
{
"name": "livestockcrate_door",
"select": []
},
{
"name": "livestockcrate_open",
"select": []
}
]
}