Skip to content

Commit

Permalink
Arachnid species (#13945)
Browse files Browse the repository at this point in the history
  • Loading branch information
PixelTheKermit authored Apr 29, 2023
1 parent 217b8a5 commit 8269a50
Show file tree
Hide file tree
Showing 55 changed files with 1,158 additions and 3 deletions.
2 changes: 1 addition & 1 deletion Content.Server/Fluids/EntitySystems/PuddleSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ private void UpdateAppearance(EntityUid uid, PuddleComponent? puddleComponent =
// Make blood stand out more
// Kinda EH
// Could potentially do alpha per-solution but future problem.
var standoutReagents = new string[] { "Blood", "Slime" };
var standoutReagents = new string[] { "Blood", "Slime", "SpiderBlood" };

color = solution.GetColorWithout(_prototypeManager, standoutReagents);
color = color.WithAlpha(0.7f);
Expand Down
Binary file not shown.
Binary file not shown.
5 changes: 5 additions & 0 deletions Resources/Audio/Voice/Arachnid/attributions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
- files: ["arachnid_scream.ogg", "arachnid_laugh.ogg"]
license: "CC-BY-4.0"
copyright: "Recorded by https://github.com/PixelTheKermit"
source: "https://github.com/space-wizards/space-station-14/pull/13945"

Binary file added Resources/Audio/Voice/Talk/arachnid.ogg
Binary file not shown.
Binary file added Resources/Audio/Voice/Talk/arachnid_ask.ogg
Binary file not shown.
Binary file added Resources/Audio/Voice/Talk/arachnid_exclaim.ogg
Binary file not shown.
4 changes: 4 additions & 0 deletions Resources/Audio/Voice/Talk/attributions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- files: ["arachnid.ogg", "arachnid_ask.ogg", "arachnid_exclaim.ogg"]
license: "CC-BY-4.0"
copyright: "Recorded by https://github.com/PixelTheKermit"
source: "https://github.com/space-wizards/space-station-14/pull/13945"
20 changes: 20 additions & 0 deletions Resources/Locale/en-US/markings/arachnid.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
marking-ArachnidAppendagesDefault = Appendages (long)
marking-ArachnidAppendagesDefault-long = Appendage
marking-ArachnidAppendagesDefault-web = Web
marking-ArachnidAppendagesSharp = Appendages (Sharp)
marking-ArachnidAppendagesSharp-sharp = Appendage
marking-ArachnidAppendagesSharp-web = Web
marking-ArachnidTorsoStripes = Stripes
marking-ArachnidTorsoStripes-stripes = Design
marking-ArachnidTorsoSlashes = Slashes
marking-ArachnidTorsoSlashes-slashes = Design
marking-ArachnidTorsoCross = Cross
marking-ArachnidTorsoCross-cross = Design
marking-ArachnidTorsoX = X
marking-ArachnidTorsoX-x = Design
3 changes: 3 additions & 0 deletions Resources/Locale/en-US/reagents/meta/biological.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,8 @@ reagent-desc-blood = I hope this is ketchup.
reagent-name-slime = slime
reagent-desc-slime = You thought this was gradient blood at first, but you were mistaken.
reagent-name-spider-blood = blue blood
reagent-desc-spider-blood = Doesn't taste like blueberry juice.
reagent-name-ichor = ichor
reagent-desc-ichor = An extremely potent regenerative chemical, perfected by space fauna evolution. Produced in the dragon's digestive system, it is seen as an exotic commodity due to the gargantuan effort of hunting for it.
1 change: 1 addition & 0 deletions Resources/Locale/en-US/species/species.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ species-name-dwarf = Dwarf
species-name-reptilian = Reptilian
species-name-slime = Slime Person
species-name-diona = Diona
species-name-arachnid = Arachnid
110 changes: 110 additions & 0 deletions Resources/Prototypes/Body/Organs/arachnid.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
- type: entity
id: BaseArachnidOrgan
parent: BaseItem
abstract: true
components:
- type: Sprite
netsync: false
sprite: Mobs/Species/Arachnid/organs.rsi
- type: Organ
- type: Food
- type: Extractable
grindableSolutionName: organ
- type: SolutionContainerManager
solutions:
organ:
maxVol: 10
reagents:
- ReagentId: Nutriment
Quantity: 10

- type: entity
id: OrganArachnidStomach
parent: OrganAnimalStomach
name: Stomach
description: "Gross. This is hard to stomach."
noSpawn: true
components:
- type: Stomach
maxVolume: 50
updateInterval: 1.5
- type: Metabolizer
updateFrequency: 1.5

- type: entity
id: OrganArachnidHeart
parent: BaseHumanOrgan
name: heart
description: "I feel bad for the heartless bastard who lost this."
noSpawn: true
components:
- type: Sprite
state: heart-on
- type: Organ
- type: Metabolizer
updateFrequency: 1.5
maxReagents: 2
metabolizerTypes: [Animal]
groups:
- id: Medicine
- id: Poison
- id: Narcotic

- type: entity
id: OrganArachnidLiver
parent: BaseHumanOrgan
name: liver
description: "Pairing suggestion: chianti and fava beans."
noSpawn: true
components:
- type: Sprite
state: liver
- type: Organ
- type: Metabolizer # The liver metabolizes certain chemicals only, like alcohol.
updateFrequency: 1.5
maxReagents: 1
metabolizerTypes: [Animal]
groups:
- id: Alcohol
rateModifier: 0.1 # removes alcohol very slowly along with the stomach removing it as a drink

- type: entity
id: OrganArachnidKidneys
parent: BaseHumanOrgan
name: kidneys
description: "Filters toxins from the bloodstream."
noSpawn: true
components:
- type: Sprite
layers:
- state: kidney-l
- state: kidney-r
- type: Organ
# The kidneys just remove anything that doesn't currently have any metabolisms, as a stopgap.
- type: Metabolizer
updateFrequency: 1.5
maxReagents: 5
metabolizerTypes: [Animal]
removeEmpty: true

- type: entity
id: OrganArachnidEyes
parent: BaseArachnidOrgan
name: eyes
description: "Eyes see you!"
components:
- type: Sprite
layers:
- state: eyeball-l
- state: eyeball-r
- type: Organ

- type: entity
id: OrganArachnidTongue
parent: BaseArachnidOrgan
name: tongue
description: "A fleshy muscle mostly used for lying."
components:
- type: Sprite
state: tongue
- type: Organ
190 changes: 190 additions & 0 deletions Resources/Prototypes/Body/Parts/arachnid.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
# TODO: Add descriptions (many)
# TODO BODY: Part damage
- type: entity
id: PartArachnid
parent: BaseItem
name: "arachnid body part"
abstract: true
components:
- type: Damageable
damageContainer: Biological
- type: BodyPart
- type: ContainerContainer
containers:
bodypart: !type:Container
ents: []

- type: entity
id: TorsoArachnid
name: "arachnid torso"
parent: PartArachnid
components:
- type: Sprite
netsync: false
sprite: Mobs/Species/Arachnid/parts.rsi
state: "torso_m"
- type: Icon
sprite: Mobs/Species/Arachnid/parts.rsi
state: "torso_m"
- type: BodyPart
partType: Torso

- type: entity
id: HeadArachnid
name: "arachnid head"
parent: PartArachnid
components:
- type: Sprite
netsync: false
sprite: Mobs/Species/Arachnid/parts.rsi
state: "head_m"
- type: Icon
sprite: Mobs/Species/Arachnid/parts.rsi
state: "head_m"
- type: BodyPart
partType: Head
vital: true
- type: Input
context: "ghost"
- type: MovementSpeedModifier
baseWalkSpeed: 0
baseSprintSpeed: 0
- type: InputMover
- type: GhostOnMove
- type: Tag
tags:
- Head

- type: entity
id: LeftArmArachnid
name: "left arachnid arm"
parent: PartArachnid
components:
- type: Sprite
netsync: false
sprite: Mobs/Species/Arachnid/parts.rsi
state: "l_arm"
- type: Icon
sprite: Mobs/Species/Arachnid/parts.rsi
state: "l_arm"
- type: BodyPart
partType: Arm
symmetry: Left

- type: entity
id: RightArmArachnid
name: "right arachnid arm"
parent: PartArachnid
components:
- type: Sprite
netsync: false
sprite: Mobs/Species/Arachnid/parts.rsi
state: "r_arm"
- type: Icon
sprite: Mobs/Species/Arachnid/parts.rsi
state: "r_arm"
- type: BodyPart
partType: Arm
symmetry: Right

- type: entity
id: LeftHandArachnid
name: "left arachnid hand"
parent: PartArachnid
components:
- type: Sprite
netsync: false
sprite: Mobs/Species/Arachnid/parts.rsi
state: "l_hand"
- type: Icon
sprite: Mobs/Species/Arachnid/parts.rsi
state: "l_hand"
- type: BodyPart
partType: Hand
symmetry: Left

- type: entity
id: RightHandArachnid
name: "right arachnid hand"
parent: PartArachnid
components:
- type: Sprite
netsync: false
sprite: Mobs/Species/Arachnid/parts.rsi
state: "r_hand"
- type: Icon
sprite: Mobs/Species/Arachnid/parts.rsi
state: "r_hand"
- type: BodyPart
partType: Hand
symmetry: Right

- type: entity
id: LeftLegArachnid
name: "left arachnid leg"
parent: PartArachnid
components:
- type: Sprite
netsync: false
sprite: Mobs/Species/Arachnid/parts.rsi
state: "l_leg"
- type: Icon
sprite: Mobs/Species/Arachnid/parts.rsi
state: "l_leg"
- type: BodyPart
partType: Leg
symmetry: Left
- type: MovementBodyPart
walkSpeed: 3.0
sprintSpeed: 5.0

- type: entity
id: RightLegArachnid
name: "right arachnid leg"
parent: PartArachnid
components:
- type: Sprite
netsync: false
sprite: Mobs/Species/Arachnid/parts.rsi
state: "r_leg"
- type: Icon
sprite: Mobs/Species/Arachnid/parts.rsi
state: "r_leg"
- type: BodyPart
partType: Leg
symmetry: Right
- type: MovementBodyPart
walkSpeed: 3.0
sprintSpeed: 5.0

- type: entity
id: LeftFootArachnid
name: "left arachnid foot"
parent: PartArachnid
components:
- type: Sprite
netsync: false
sprite: Mobs/Species/Arachnid/parts.rsi
state: "l_foot"
- type: Icon
sprite: Mobs/Species/Arachnid/parts.rsi
state: "l_foot"
- type: BodyPart
partType: Foot
symmetry: Left

- type: entity
id: RightFootArachnid
name: "right arachnid foot"
parent: PartArachnid
components:
- type: Sprite
netsync: false
sprite: Mobs/Species/Arachnid/parts.rsi
state: "r_foot"
- type: Icon
sprite: Mobs/Species/Arachnid/parts.rsi
state: "r_foot"
- type: BodyPart
partType: Foot
symmetry: Right
Loading

0 comments on commit 8269a50

Please sign in to comment.