Hamster Pet (GhostRoleMob) (#12813)
@@ -9,4 +9,10 @@ ghost-role-information-mouse-description = A hungry and mischievous mouse.
|
||||
ghost-role-information-giant-spider-name = Giant spider
|
||||
ghost-role-information-giant-spider-description = Wreak havoc on the station's inhabitants!
|
||||
|
||||
ghost-role-information-cognizine-description = Made conscious with the magic of cognizine.
|
||||
ghost-role-information-cognizine-description = Made conscious with the magic of cognizine.
|
||||
|
||||
ghost-role-information-hamster-name = Hamster
|
||||
ghost-role-information-hamster-description = A grumpy little ball of fluff.
|
||||
|
||||
ghost-role-information-hamlet-name = Hamlet the hamster.
|
||||
ghost-role-information-hamlet-description = Lives in the station bridge, has a bit of a temper and is always hungry.
|
||||
@@ -20,6 +20,7 @@ petting-success-space-cat = You pet {THE($target)} on {POSS-ADJ($target)} glass
|
||||
petting-success-tarantula = You pet {THE($target)} on {POSS-ADJ($target)} hairy little head.
|
||||
petting-success-holo = You pet {THE($target)} on {POSS-ADJ($target)} metallic spiky head.
|
||||
petting-success-dragon = Dodging teeth, claws, and flames, you pet {THE($target)} on {POSS-ADJ($target)} massive scaled head.
|
||||
petting-success-hamster = You pet {THE($target)} on {POSS-ADJ($target)} fluffy little head.
|
||||
|
||||
petting-failure-generic = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} aloof towards you.
|
||||
|
||||
@@ -32,6 +33,7 @@ petting-failure-possum = You reach out to pet {THE($target)}, but are met with h
|
||||
petting-failure-sloth = You reach out to pet {THE($target)}, but {SUBJECT($target)} somehow dodge with ludicrous speed!
|
||||
petting-failure-holo = You reach out to pet {THE($target)}, but {POSS-ADJ($target)} spikes almost impale your hand!
|
||||
petting-failure-dragon = You raise your hand, but as {THE($target)} roars, you decide you'd rather not be toasty carp food.
|
||||
petting-failure-hamster = You reach out to pet {THE($target)}, but {SUBJECT($target)} attempts to bite your finger and only your quick reflexes save you from an almost fatal injury.
|
||||
|
||||
## Petting silicons
|
||||
|
||||
|
||||
@@ -147,3 +147,13 @@
|
||||
cost: 2000
|
||||
category: Livestock
|
||||
group: market
|
||||
|
||||
- type: cargoProduct
|
||||
id: LivestockHamster
|
||||
icon:
|
||||
sprite: Mobs/Animals/hamster.rsi
|
||||
state: icon-0
|
||||
product: CrateNPCHamster
|
||||
cost: 2800
|
||||
category: Livestock
|
||||
group: market
|
||||
|
||||
@@ -147,3 +147,19 @@
|
||||
contents:
|
||||
- id: MobSnake
|
||||
amount: 3
|
||||
|
||||
- type: entity
|
||||
id: CrateNPCHamster
|
||||
parent: CrateRodentCage
|
||||
components:
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: MobHamster
|
||||
|
||||
- type: entity
|
||||
id: CrateNPCHamlet
|
||||
parent: CrateRodentCage
|
||||
components:
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: MobHamsterHamlet
|
||||
|
||||
@@ -217,3 +217,17 @@
|
||||
- type: ConditionalSpawner
|
||||
prototypes:
|
||||
- MobBearSpace
|
||||
|
||||
- type: entity
|
||||
name: Hamster Hamlet Spawner
|
||||
id: SpawnMobHamsterHamlet
|
||||
parent: MarkerBase
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: green
|
||||
- texture: Mobs/Animals/hamster.rsi/icon-0.png
|
||||
- state: ai
|
||||
- type: ConditionalSpawner
|
||||
prototypes:
|
||||
- CrateNPCHamlet
|
||||
|
||||
@@ -1890,3 +1890,117 @@
|
||||
- type: Grammar
|
||||
attributes:
|
||||
gender: epicene
|
||||
|
||||
- type: entity
|
||||
name: hamster
|
||||
parent: SimpleMobBase
|
||||
id: MobHamster
|
||||
description: A cute, fluffy, robust hamster.
|
||||
components:
|
||||
- type: GhostTakeoverAvailable
|
||||
makeSentient: true
|
||||
allowSpeech: true
|
||||
allowMovement: true
|
||||
name: ghost-role-information-hamster-name
|
||||
description: ghost-role-information-hamster-description
|
||||
- type: Speech
|
||||
speechSounds: Squeak
|
||||
- type: Sprite
|
||||
drawdepth: SmallMobs
|
||||
sprite: Mobs/Animals/hamster.rsi
|
||||
layers:
|
||||
- map: ["enum.DamageStateVisualLayers.Base"]
|
||||
state: hamster-0
|
||||
- type: Item
|
||||
size: 5
|
||||
- type: Physics
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
- shape:
|
||||
!type:PhysShapeCircle
|
||||
radius: 0.2
|
||||
density: 120
|
||||
mask:
|
||||
- SmallMobMask
|
||||
layer:
|
||||
- SmallMobLayer
|
||||
- type: MobState
|
||||
thresholds:
|
||||
0: Alive
|
||||
40: Critical
|
||||
60: Dead
|
||||
- type: MovementSpeedModifier
|
||||
baseWalkSpeed : 4
|
||||
baseSprintSpeed : 4
|
||||
- type: Appearance
|
||||
- type: DamageStateVisuals
|
||||
states:
|
||||
Alive:
|
||||
Base: hamster-0
|
||||
Critical:
|
||||
Base: dead-0
|
||||
Dead:
|
||||
Base: splat-0
|
||||
- type: Food
|
||||
- type: Hunger
|
||||
baseDecayRate: 0.3
|
||||
- type: Extractable
|
||||
grindableSolutionName: food
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
food:
|
||||
reagents:
|
||||
- ReagentId: Nutriment
|
||||
Quantity: 10
|
||||
- ReagentId: Blood
|
||||
Quantity: 60
|
||||
- type: Butcherable
|
||||
spawned:
|
||||
- id: FoodMeat
|
||||
amount: 1
|
||||
- type: ReplacementAccent
|
||||
accent: mouse
|
||||
- type: Tag
|
||||
tags:
|
||||
- Trash
|
||||
- CannotSuicide
|
||||
- type: Recyclable
|
||||
- type: Respirator
|
||||
damage:
|
||||
types:
|
||||
Asphyxiation: 0.25
|
||||
damageRecovery:
|
||||
types:
|
||||
Asphyxiation: -0.25
|
||||
- type: Barotrauma
|
||||
damage:
|
||||
types:
|
||||
Blunt: 0.1
|
||||
- type: Vocal
|
||||
maleScream: /Audio/Animals/mouse_squeak.ogg
|
||||
femaleScream: /Audio/Animals/mouse_squeak.ogg
|
||||
unsexedScream: /Audio/Animals/mouse_squeak.ogg
|
||||
wilhelmProbability: 0.001
|
||||
- type: CombatMode
|
||||
disarmAction:
|
||||
enabled: false
|
||||
autoPopulate: false
|
||||
name: action-name-disarm
|
||||
- type: MeleeWeapon
|
||||
hidden: true
|
||||
angle: 0
|
||||
animation: WeaponArcBite
|
||||
damage:
|
||||
types:
|
||||
Piercing: 2
|
||||
- type: InteractionPopup
|
||||
successChance: 0.4
|
||||
interactSuccessString: petting-success-hamster
|
||||
interactFailureString: petting-failure-hamster
|
||||
interactSuccessSound:
|
||||
path: /Audio/Animals/fox_squeak.ogg
|
||||
- type: Bloodstream
|
||||
bloodMaxVolume: 60
|
||||
- type: CanEscapeInventory
|
||||
- type: MobPrice
|
||||
price: 60
|
||||
|
||||
@@ -379,3 +379,29 @@
|
||||
attributes:
|
||||
proper: true
|
||||
gender: female
|
||||
|
||||
- type: entity
|
||||
name: Hamlet
|
||||
parent: MobHamster
|
||||
id: MobHamsterHamlet
|
||||
description: A grumpy, cute and fluffy hamster.
|
||||
components:
|
||||
- type: GhostTakeoverAvailable
|
||||
makeSentient: true
|
||||
allowSpeech: true
|
||||
allowMovement: true
|
||||
name: ghost-role-information-hamlet-name
|
||||
description: ghost-role-information-hamlet-description
|
||||
- type: InteractionPopup
|
||||
successChance: 1
|
||||
- type: Puller
|
||||
needsHands: false
|
||||
- type: Butcherable
|
||||
spawned:
|
||||
- id: FoodMeat
|
||||
amount: 1
|
||||
- type: Grammar
|
||||
attributes:
|
||||
proper: true
|
||||
gender: male
|
||||
|
||||
|
||||
@@ -281,3 +281,45 @@
|
||||
containers:
|
||||
- entity_storage
|
||||
|
||||
- type: entity
|
||||
parent: CrateGeneric
|
||||
id: CrateRodentCage
|
||||
name: hamster cage
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Structures/Storage/Crates/cage.rsi
|
||||
layers:
|
||||
- state: base
|
||||
- state: closed
|
||||
map: ["enum.StorageVisualLayers.Door"]
|
||||
- type: Icon
|
||||
sprite: Structures/Storage/Crates/cage.rsi
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 15
|
||||
behaviors:
|
||||
- !type:PlaySoundBehavior
|
||||
sound:
|
||||
path: /Audio/Effects/woodhit.ogg
|
||||
- !type:SpawnEntitiesBehavior
|
||||
spawn:
|
||||
SheetPlastic:
|
||||
min: 1
|
||||
max: 2
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
- type: Physics
|
||||
bodyType: Dynamic
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
- shape:
|
||||
!type:PhysShapeAabb
|
||||
bounds: "-0.4,-0.4,0.4,0.29"
|
||||
density: 80
|
||||
mask:
|
||||
- SmallMobMask
|
||||
layer:
|
||||
- SmallMobLayer
|
||||
|
||||
|
||||
BIN
Resources/Textures/Mobs/Animals/hamster.rsi/0-inhand-left.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
Resources/Textures/Mobs/Animals/hamster.rsi/0-inhand-right.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
Resources/Textures/Mobs/Animals/hamster.rsi/dead-0.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
Resources/Textures/Mobs/Animals/hamster.rsi/hamster-0.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
Resources/Textures/Mobs/Animals/hamster.rsi/icon-0.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
54
Resources/Textures/Mobs/Animals/hamster.rsi/meta.json
Normal file
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Created by brainfood# 7460",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "icon-0"
|
||||
},
|
||||
{
|
||||
"name": "hamster-0",
|
||||
"directions": 4,
|
||||
"delays": [
|
||||
[
|
||||
0.2,
|
||||
0.2,
|
||||
0.2
|
||||
],
|
||||
[
|
||||
0.2,
|
||||
0.2,
|
||||
0.2
|
||||
],
|
||||
[
|
||||
0.2,
|
||||
0.2,
|
||||
0.2
|
||||
],
|
||||
[
|
||||
0.2,
|
||||
0.2,
|
||||
0.2
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "dead-0"
|
||||
},
|
||||
{
|
||||
"name": "splat-0"
|
||||
},
|
||||
{
|
||||
"name": "0-inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "0-inhand-right",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
Resources/Textures/Mobs/Animals/hamster.rsi/splat-0.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
Resources/Textures/Structures/Storage/Crates/cage.rsi/base.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
Resources/Textures/Structures/Storage/Crates/cage.rsi/closed.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
Resources/Textures/Structures/Storage/Crates/cage.rsi/icon.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Created by brainfood# 7460",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "base"
|
||||
},
|
||||
{
|
||||
"name": "closed"
|
||||
},
|
||||
{
|
||||
"name": "icon"
|
||||
},
|
||||
{
|
||||
"name": "open"
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
Resources/Textures/Structures/Storage/Crates/cage.rsi/open.png
Normal file
|
After Width: | Height: | Size: 19 KiB |