Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,18 @@ ghost-role-information-pet-description = You are someone's pet, you should obey

ghost-role-information-pet-kinky-description = You are someone's very exotic pet, they most likely will be using you for something freaky, you have been warned.

ghost-role-information-cortical-borer-familiar-rules =
ghost-role-information-cortical-borer-familiar-rules =
You are someone's trained pet, as such should assist them to the best of your ability.
You are a creature that is traditionally a free agent, however in this case you are a familiar.
You are to avoid creating eggs or get discovered by people other then your owner unless ordered.
You may be subject to witnessing and/or participating NSFW scenes, to which if you do not consent, do not pick this role,
in the NSFW scenario, your owner or yourself should make you known via LOOC means to avoid possible consent issues.

ghost-role-information-friendly-beast-name = Beast Crewmate
ghost-role-information-friendly-beast-description = A beast visiting the station. Are they here for business, pleasure, or something else? Ask before taking. Renaming is also allowed.
ghost-role-information-friendly-beast-rules = [color=red]This is an admin spawned ghostrole. If this is not intended for you, please ask before taking it.[/color]
You are NOT an antagonist, and are at worst a harmless free agent. You are expected to mingle with the crew as you please.
Do not abuse your strength to powergame or validhunt.
You are allowed to join the station.
You have a backpack, headset, PDA, and two hand/pocket slots.
Listen to admins about any additional rules.
35 changes: 35 additions & 0 deletions Resources/Prototypes/_Euphoria/Body/Parts/fish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
- type: entity
id: LeftArmFish
name: "left fish arm"
parent: [PartReptilian, BaseLeftArm]
components:
- type: Sprite
sprite: Mobs/Species/Reptilian/parts.rsi
state: "l_arm"

- type: entity
id: RightArmFish
name: "right fish arm"
parent: [PartReptilian, BaseRightArm]
components:
- type: Sprite
sprite: Mobs/Species/Reptilian/parts.rsi
state: "r_arm"

- type: entity
id: LeftHandFish
name: "left fish hand"
parent: [PartReptilian, BaseLeftHand]
components:
- type: Sprite
sprite: Mobs/Species/Reptilian/parts.rsi
state: "l_hand"

- type: entity
id: RightHandFish
name: "right fish hand"
parent: [PartReptilian, BaseRightHand]
components:
- type: Sprite
sprite: Mobs/Species/Reptilian/parts.rsi
state: "r_hand"
23 changes: 23 additions & 0 deletions Resources/Prototypes/_Euphoria/Body/Prototypes/carp.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
- type: body
id: CarpHands
name: carp
root: torso
slots:
torso:
part: TorsoAnimal
connections:
- right hand # Floof
- left hand # Floof
- tail
organs:
lungs: OrganSpaceAnimalLungs # Immunity to airloss
stomach: OrganAnimalStomach
liver: OrganAnimalLiver
heart: OrganSpaceAnimalHeart # Immunity to cold
kidneys: OrganAnimalKidneys
tail:
part: TailCarp
right hand:
part: RightHandFish
left hand:
part: LeftHandFish
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
- type: entity
parent: ClothingHeadsetService
id: ClothingHeadsetBeast
name: beast headset
description: A headset on a necklace, for ease of use by the earless
components:
- type: Sprite
sprite: _Euphoria/Clothing/Ears/Headsets/beast.rsi
state: icon
- type: Clothing
sprite: _Euphoria/Clothing/Ears/Headsets/beast.rsi
16 changes: 16 additions & 0 deletions Resources/Prototypes/_Euphoria/Entities/Clothing/backpacks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
- type: entity
parent: ClothingBackpack
id: ClothingBackpackBeast
name: beast pack
description: A spacious bag extra space for a busy beast.
components:
- type: Sprite
sprite: _Euphoria/Clothing/Back/Duffels/beast.rsi
- type: Storage
grid:
- 0,0,8,5
- type: ExplosionResistance
damageCoefficient: 0.1



253 changes: 253 additions & 0 deletions Resources/Prototypes/_Euphoria/Entities/Mobs/playerreadymobs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,253 @@
- type: entity
id: BasePlayableFeralMob
parent: StripableInventoryBase
suffix: Friendly
abstract: true
categories: [ HideSpawnMenu ]
components:
- type: Hands
- type: ComplexInteraction
- type: Inventory
templateId: nakedcrew
- type: MailReceiver
- type: NpcFactionMember
factions:
- NanoTrasen
- type: Puller
- type: Cuffable
- type: Prying
speedModifier: 0.8
- type: Loadout
prototypes:
- FriendlyPlayerMob
- type: GhostRole
allowMovement: true
allowSpeech: true
makeSentient: true
name: ghost-role-information-friendly-beast-name
description: ghost-role-information-friendly-beast-description # DeltaV - Dragons despawn in 10 minutes
rules: ghost-role-information-friendly-beast-rules
mindRoles:
- MindRoleGhostRoleFreeAgentHarmless
raffle:
settings: short
- type: GhostTakeoverAvailable

- type: entity
name: laser raptor
id: MobLaserRaptorAdmeme
parent: [BasePlayableFeralMob, MobLaserRaptor, StripableInventoryBase]
description: From the Viking age. Bizarrely civilized.
components:
- type: Body
prototype: LaserRaptor
- type: HTN
- type: MeleeWeapon
soundHit:
collection: AlienClaw
animation: WeaponArcClaw
attackRate: 1.25
damage:
types:
Slash: 7.5
range: 1.75
- type: Puller
needsHands: false
- type: Stripping
- type: Sprite
drawdepth: Mobs
sprite: Mobs/Aliens/laser_raptor.rsi
layers:
- map: [ "enum.DamageStateVisualLayers.Base" ]
state: laser_raptor
- map: ["enum.HumanoidVisualLayers.Handcuffs"]
- type: DamageStateVisuals
states:
Alive:
Base: laser_raptor
Critical:
Base: laser_raptor_dead
Dead:
Base: laser_raptor_dead
- type: MobThresholds
thresholds:
0: Alive
100: Critical
200: Dead
- type: MovementSpeedModifier
baseWalkSpeed: 2.5
baseSprintSpeed: 6
- type: BodyEmotes
soundsId: ReptilianBodyEmotes
- type: Tag
tags:
- CanPilot
- FootstepSound
- DoorBumpOpener
- UnathiEmotes
- type: InteractionPopup
successChance: 0.3
interactSuccessString: petting-success-reptile
interactFailureString: petting-failure-generic
interactSuccessSound:
path: /Audio/Animals/lizard_happy.ogg
- type: Vocal
sounds:
Male: MaleReptilian
Female: FemaleReptilian
Unsexed: MaleReptilian

- type: entity
name: space dragon
id: SpaceDragonAdmeme
parent: [BasePlayableFeralMob, MobDragonDungeon, StripableInventoryBase]
description: A flying leviathan, loosely related to space carps. Surprisingly civilized.
components:
- type: MobThresholds
thresholds:
0: Alive
400: Dead
- type: NpcFactionMember
factions:
- Dragon
- NanoTrasen
- type: NightVision
isActive: false
toggleAction: ToggleNightVision
color: "#808080"
activateSound: null
deactivateSound: null
- type: Puller
needsHands: false
- type: Stripping
- type: Sprite
sprite: Mobs/Aliens/Carps/dragon.rsi
noRot: true
layers:
- map: [ "enum.DamageStateVisualLayers.Base" ]
state: alive
- map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ]
state: alive-unshaded
shader: unshaded
- map: ["enum.HumanoidVisualLayers.Handcuffs"]
- type: Tag
tags:
- CannotSuicide
- DoorBumpOpener
- Carp
- UnathiEmotes
- type: LanguageKnowledge
speaks:
- TauCetiBasic
- Kobold
understands:
- TauCetiBasic
- Kobold
- Sign
- type: Vocal
sounds:
Male: MaleReptilian
Female: FemaleReptilian
Unsexed: MaleReptilian

- type: entity
name: space carp
id: MobCarpPlayable
parent: [BasePlayableFeralMob, BaseMobCarp, StripableInventoryBase]
components:
- type: Body
prototype: CarpHands
- type: MobThresholds
thresholds:
0: Alive
75: Dead
- type: MovementSpeedModifier
baseWalkSpeed: 3
baseSprintSpeed: 5
- type: NpcFactionMember
factions:
- Dragon
- NanoTrasen
- type: NightVision
isActive: false
toggleAction: ToggleNightVision
color: "#808080"
activateSound: null
deactivateSound: null
- type: Stripping
- type: Sprite
drawdepth: Mobs
sprite: Mobs/Aliens/Carps/space.rsi
layers:
- map: [ "enum.DamageStateVisualLayers.Base" ]
state: alive
- map: ["enum.HumanoidVisualLayers.Handcuffs"]
- type: Tag
tags:
- CannotSuicide
- DoorBumpOpener
- Carp
- UnathiEmotes
- type: LanguageKnowledge
speaks:
- TauCetiBasic
- Kobold
understands:
- TauCetiBasic
- Kobold
- type: Vocal
sounds:
Male: MaleReptilian
Female: FemaleReptilian
Unsexed: MaleReptilian

- type: entity
name: sharkminnow
id: MobSharkPlayable
parent: [BasePlayableFeralMob, MobShark, StripableInventoryBase]
components:
- type: Body
prototype: CarpHands
- type: MobThresholds
thresholds:
0: Alive
150: Dead
- type: MovementSpeedModifier
baseWalkSpeed: 3
baseSprintSpeed: 5
- type: NpcFactionMember
factions:
- Dragon
- NanoTrasen
- type: NightVision
isActive: false
toggleAction: ToggleNightVision
color: "#808080"
activateSound: null
deactivateSound: null
- type: Stripping
- type: Sprite
drawdepth: Mobs
sprite: Mobs/Aliens/Carps/sharkminnow.rsi
layers:
- map: [ "enum.DamageStateVisualLayers.Base" ]
state: alive
- map: ["enum.HumanoidVisualLayers.Handcuffs"]
- type: Tag
tags:
- CannotSuicide
- DoorBumpOpener
- Carp
- UnathiEmotes
- type: LanguageKnowledge
speaks:
- TauCetiBasic
- Kobold
understands:
- TauCetiBasic
- Kobold
- type: Vocal
sounds:
Male: MaleReptilian
Female: FemaleReptilian
Unsexed: MaleReptilian
Loading
Loading