Skip to content

Commit

Permalink
Adds Silvia the snake, a pet for CMO (#1488)
Browse files Browse the repository at this point in the history
* Adds Silvia the snake, a pet for CMO

* yeet extra line

* tweaks to attack rate and butcher products

* fix copy/paste typo

* Add Silvia meat

---------

Co-authored-by: Velcroboy <[email protected]>
  • Loading branch information
IamVelcroboy and BurningRash authored Jul 30, 2024
1 parent 889a25a commit 0d4d9cc
Show file tree
Hide file tree
Showing 11 changed files with 208 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,7 @@ ghost-role-information-recruiter-rules =
Set up shop in maints or use your ship as a portable hiring office!
You are just a recruiter so do not act like a full-on antagonist, i.e. no killing people.
ghost-role-information-silvia-name = Silvia
ghost-role-information-silvia-description = You are Silvia the space snake and the CMO's charming companion.
ghost-role-information-silvia-rules = Keep the medical team company and help out in emergencies with your omnizine venom. Stick close to the CMO in case they need emergency healing.
14 changes: 14 additions & 0 deletions Resources/Prototypes/DeltaV/Entities/Markers/Spawners/mobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,17 @@
- type: ConditionalSpawner
prototypes:
- MobCarpLegal

- type: entity
name: Silvia Spawner
id: SpawnMobCMOPetSilvia
parent: MarkerBase
components:
- type: Sprite
layers:
- state: green
- state: silvia
sprite: DeltaV/Mobs/Pets/silvia.rsi
- type: ConditionalSpawner
prototypes:
- MobCobraSilvia
127 changes: 127 additions & 0 deletions Resources/Prototypes/DeltaV/Entities/Mobs/NPCs/pets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,3 +78,130 @@
department: Justice
time: 3600 # 1 hours
- type: GhostTakeoverAvailable

- type: entity
name: Silvia
id: MobCobraSilvia
parent: MobSpaceBasic
description: With needle-sharp fangs and an alluring gaze, will you let her bite you?
components:
- type: HTN
rootTask:
task: IdleCompound
- type: Sprite
drawdepth: Mobs
sprite: DeltaV/Mobs/Pets/silvia.rsi
layers:
- map: [ "enum.DamageStateVisualLayers.Base" ]
state: silvia
- map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ]
state: glow
shader: unshaded
- type: FootstepModifier
footstepSoundCollection:
collection: FootstepSnake
- type: MobThresholds
thresholds:
0: Alive
125: Dead
- type: DamageStateVisuals
states:
Alive:
Base: silvia
BaseUnshaded: glow
Dead:
Base: dead_silvia
- type: Butcherable
spawned:
- id: FoodMeatSnakeSilvia
maxAmount: 3
- id: ClothingShoesSnakeskinBoots #different version? wysi
amount: 1
prob: 0.2
- type: Bloodstream
bloodMaxVolume: 200
bloodReagent: Cryoxadone
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.40
density: 120
mask:
- MobMask
layer:
- MobLayer
- type: MeleeWeapon
attackRate: 1.75 #faster attack rate to compensate for healing in self defense situations
hidden: true
soundHit:
path: /Audio/Effects/bite.ogg
angle: 0
animation: WeaponArcBite
damage:
types:
Piercing: 6 #take dmg to heal dmg
- type: SolutionContainerManager
solutions:
melee:
maxVol: 30
reagents:
- ReagentId: Omnizine
Quantity: 30 #5 bites to heal 90hp/1 min
- type: MeleeChemicalInjector
solution: melee
transferAmount: 6 #heals 24 burn/brute/air/toxin in 12seconds/minus 6 brute per bite
- type: SolutionRegeneration
solution: melee
duration: 30 #regen 1u every 30 seconds. 15 mins to full
generated:
reagents:
- ReagentId: Omnizine
Quantity: 1
- type: ReplacementAccent
accent: xeno #Add cool snake accent later. wyci
- type: PointLight
radius: 1.1
energy: 0.25
color: "#00ff80"
- type: Stealth
enabledOnDeath: false
maxVisibility: 1.2
- type: StealthOnMove
passiveVisibilityRate: -0.15
movementVisibilityRate: 0.30
- type: GhostRole
makeSentient: true
allowSpeech: true
allowMovement: true
name: ghost-role-information-silvia-name
description: ghost-role-information-silvia-description
rules: ghost-role-information-silvia-rules
requirements: #No raiders
- !type:DepartmentTimeRequirement
department: Medical
time: 14400 #4 hours
- type: GhostTakeoverAvailable
- type: InteractionPopup
successChance: 0.65
interactSuccessString: petting-success-snake
interactFailureString: petting-failure-generic
interactSuccessSpawn: EffectHearts
interactSuccessSound:
path: /Audio/Animals/snake_hiss.ogg
- type: NpcFactionMember
factions:
- PetsNT
- type: Grammar
attributes:
proper: true
gender: female
- type: Tag
tags:
- CannotSuicide
- VimPilot
- DoorBumpOpener
- FootstepSound
- type: StealTarget
stealGroup: AnimalSilvia
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
- type: entity
parent: FoodMeatSnake
id: FoodMeatSnakeSilvia
components:
- type: SolutionContainerManager
solutions:
food:
reagents:
- ReagentId: UncookedAnimalProteins
Quantity: 8
- ReagentId: Omnizine
Quantity: 8
7 changes: 6 additions & 1 deletion Resources/Prototypes/DeltaV/Objectives/stealTargetGroups.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,9 @@
sprite: DeltaV/Objects/Misc/stamps.rsi
state: stamp-notary


- type: stealTargetGroup
id: AnimalSilvia
name: Silvia
sprite:
sprite: DeltaV/Mobs/Pets/silvia.rsi
state: silvia
11 changes: 10 additions & 1 deletion Resources/Prototypes/DeltaV/Objectives/traitor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,13 @@
stealGroup: RubberStampNotary
owner: job-name-clerk


- type: entity
abstract: true
parent: BaseTraitorStealObjective
id: SilviaStealObjective
components:
- type: NotJobRequirement
job: ChiefMedicalOfficer
- type: StealCondition
stealGroup: AnimalSilvia
owner: job-name-cmo
1 change: 1 addition & 0 deletions Resources/Prototypes/Objectives/objectiveGroups.yml
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@
RenaultStealObjective: 1
ShivaStealObjective: 1
TropicoStealObjective: 1
SilviaStealObjective: 1 #DeltaV - CMO steal objective, see Resources/Prototypes/DeltaV/Objectives/traitor.yml

- type: weightedRandom
id: ThiefObjectiveGroupEscape
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
34 changes: 34 additions & 0 deletions Resources/Textures/DeltaV/Mobs/Pets/silvia.rsi/meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Sprited by Nimfar11 (Github) for Space Station 14, re-shaded by Velcroboy for Delta V ",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "silvia",
"directions": 4,
"delays": [
[0.3,0.2,0.2,0.4,0.2,0.2,0.3],
[0.3,0.2,0.2,0.4,0.2,0.2,0.3],
[0.3,0.2,0.2,0.4,0.2,0.2,0.3],
[0.3,0.2,0.2,0.4,0.2,0.2,0.3]
]
},
{
"name": "glow",
"directions": 4,
"delays": [
[0.3,0.2,0.2,0.4,0.2,0.2,0.3],
[0.3,0.2,0.2,0.4,0.2,0.2,0.3],
[0.3,0.2,0.2,0.4,0.2,0.2,0.3],
[0.3,0.2,0.2,0.4,0.2,0.2,0.3]
]
},
{
"name": "dead_silvia"
}
]
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 0d4d9cc

Please sign in to comment.