Skip to content

Commit

Permalink
Adds Silvia the snake, a pet for CMO
Browse files Browse the repository at this point in the history
  • Loading branch information
BurningRash committed Jul 12, 2024
1 parent 353eb66 commit 7ce03e0
Show file tree
Hide file tree
Showing 10 changed files with 197 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ ghost-role-information-paradox-anomaly-name = Paradox Anomaly
ghost-role-information-paradox-anomaly-description = Replace your double, or befriend them.
ghost-role-information-paradox-anomaly-rules = Try and replace your twin with this funny roleplay antag rather than plasma flooding the station or something. You can also just befriend them.
ghost-role-information-fugitive-name = Fugitive
ghost-role-information-fugitive-description = You're an escaped prisoner. Make it out alive.
ghost-role-information-fugitive-rules = You are the lightest of antags, focus on laying low rather than engaging security directly. Don't murderbone.
Expand All @@ -22,3 +23,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 @@ -76,3 +76,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: FoodMeatSnake
amount: 2
# Additional healing item?
- 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
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
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: Shiva
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 @@ -119,6 +119,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 7ce03e0

Please sign in to comment.