Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a new race IPC || Новая раса КПБ #1017

Draft
wants to merge 23 commits into
base: master
Choose a base branch
from
Draft
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
9 changes: 9 additions & 0 deletions Resources/Audio/SS220/Voice/IPC/attributions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
- files: ["beep_500.ogg", "beep_2000.ogg"]
license: "CC0-1.0"
copyright: "Synthesized in Audacity by BasedUser."
source: "https://github.com/ekrixi-14/ekrixi"

- files: ["whirr1.ogg", "whirr2.ogg", "whirr3.ogg"]
license: "CC0-1.0"
copyright: "Taken from source, spectrally modified and clipped"
source: "https://freesound.org/people/sad3d/sounds/500168/"
Binary file added Resources/Audio/SS220/Voice/IPC/beep_2000.ogg
Binary file not shown.
Binary file added Resources/Audio/SS220/Voice/IPC/beep_500.ogg
Binary file not shown.
Binary file added Resources/Audio/SS220/Voice/IPC/whirr1.ogg
Binary file not shown.
Binary file added Resources/Audio/SS220/Voice/IPC/whirr2.ogg
Binary file not shown.
Binary file added Resources/Audio/SS220/Voice/IPC/whirr3.ogg
Binary file not shown.
Binary file added Resources/Audio/SS220/Voice/IPC/wilhelm.ogg
Binary file not shown.
68 changes: 68 additions & 0 deletions Resources/Prototypes/SS220/Body/Organs/ipc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
- type: entity
id: BaseIPCOrgan
parent: BaseItem
abstract: true
components:
- type: Sprite
netsync: false
sprite: SS220/Mobs/Species/IPCs/organs.rsi
- type: Organ
- type: Extractable
grindableSolutionName: organ
- type: SolutionContainerManager
solutions:
organ:
maxVol: 10
reagents:
- ReagentId: Oil
Quantity: 10

- type: entity
id: OrganIPCCPU
parent: BaseIPCOrgan
name: integrated posibrain
description: It seems to be a machine of sorts?
noSpawn: true
components:
- type: Sprite
state: posibrain
- type: Organ
- type: Metabolizer
updateFrequency: 1.5
maxReagents: 2
metabolizerTypes: [IPC]
removeEmpty: true

- type: entity
id: OrganIPCGPU
parent: BaseIPCOrgan
name: ipc gpu
description: A low-tech GPU. Albeit, it looks super expensive. It is used to render images to the posibrain.
components:
- type: Sprite
state: posibrain
- type: Organ

- type: entity
id: OrganIPCFan
parent: BaseIPCOrgan
name: ipc fan
description: A low-tech fan that circulates air to cool down the IPC.
components:
- type: Sprite
state: posibrain
- type: Organ
- type: Lung
- type: Metabolizer
removeEmpty: true
solutionOnBody: false
solution: "Lung"
metabolizerTypes: [ Animal ]
groups:
- id: Gas
rateModifier: 100.0
- type: SolutionContainerManager
solutions:
Lung:
maxVol: 100.0
canReact: false
177 changes: 177 additions & 0 deletions Resources/Prototypes/SS220/Body/Parts/ipc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
- type: entity
id: PartIPC
parent: BaseItem
name: ipc body part
abstract: true
components:
- type: Sprite
sprite: SS220/Mobs/Species/IPCs/parts.rsi
- type: Damageable
damageContainer: Biological
- type: BodyPart
- type: ContainerContainer
containers:
bodypart: !type:Container
ents: []

- type: entity
id: HeadIPC
name: ipc head
parent: PartIPC
components:
- type: Sprite
state: "head"
sprite: SS220/Mobs/Species/IPCs/parts.rsi
- type: Icon
state: "head"
sprite: SS220/Mobs/Species/IPCs/parts.rsi
- type: BodyPart
partType: Head
vital: true
- type: Input
context: "ghost"
sprite: SS220/Mobs/Species/IPCs/parts.rsi
- type: MovementSpeedModifier
baseWalkSpeed: 0
baseSprintSpeed: 0
- type: InputMover
- type: GhostOnMove
- type: Tag
tags:
- Head

- type: entity
id: TorsoIPC
name: ipc torso
parent: PartIPC
components:
- type: Sprite
state: "chest"
sprite: SS220/Mobs/Species/IPCs/parts.rsi
- type: Icon
state: "chest"
sprite: SS220/Mobs/Species/IPCs/parts.rsi
- type: BodyPart
partType: Torso

- type: entity
id: LeftArmIPC
name: left ipc arm
parent: PartIPC
components:
- type: Sprite
state: "l_arm"
sprite: SS220/Mobs/Species/IPCs/parts.rsi
- type: Icon
state: "l_arm"
sprite: SS220/Mobs/Species/IPCs/parts.rsi
- type: BodyPart
partType: Arm
symmetry: Left

- type: entity
id: RightArmIPC
name: right ipc arm
parent: PartIPC
components:
- type: Sprite
state: "r_arm"
sprite: SS220/Mobs/Species/IPCs/parts.rsi
- type: Icon
state: "r_arm"
sprite: SS220/Mobs/Species/IPCs/parts.rsi
- type: BodyPart
partType: Arm
symmetry: Right

- type: entity
id: LeftHandIPC
name: left ipc hand
parent: PartIPC
components:
- type: Sprite
state: "l_hand"
sprite: SS220/Mobs/Species/IPCs/parts.rsi
- type: Icon
state: "l_hand"
sprite: SS220/Mobs/Species/IPCs/parts.rsi
- type: BodyPart
partType: Hand
symmetry: Left

- type: entity
id: RightHandIPC
name: right ipc hand
parent: PartIPC
components:
- type: Sprite
state: "r_hand"
sprite: SS220/Mobs/Species/IPCs/parts.rsi
- type: Icon
state: "r_hand"
sprite: SS220/Mobs/Species/IPCs/parts.rsi
- type: BodyPart
partType: Hand
symmetry: Right

- type: entity
id: LeftLegIPC
name: left ipc leg
parent: PartIPC
components:
- type: Sprite
state: "l_leg"
sprite: SS220/Mobs/Species/IPCs/parts.rsi
- type: Icon
state: "l_leg"
sprite: SS220/Mobs/Species/IPCs/parts.rsi
- type: BodyPart
partType: Leg
symmetry: Left
- type: MovementBodyPart

- type: entity
id: RightLegIPC
name: right ipc leg
parent: PartIPC
components:
- type: Sprite
state: "r_leg"
sprite: SS220/Mobs/Species/IPCs/parts.rsi
- type: Icon
state: "r_leg"
sprite: SS220/Mobs/Species/IPCs/parts.rsi
- type: BodyPart
partType: Leg
symmetry: Right
- type: MovementBodyPart

- type: entity
id: LeftFootIPC
name: left ipc foot
parent: PartIPC
components:
- type: Sprite
state: "l_foot"
sprite: SS220/Mobs/Species/IPCs/parts.rsi
- type: Icon
state: "l_foot"
sprite: SS220/Mobs/Species/IPCs/parts.rsi
- type: BodyPart
partType: Foot
symmetry: Left

- type: entity
id: RightFootIPC
name: right ipc foot
parent: PartIPC
components:
- type: Sprite
state: "r_foot"
sprite: SS220/Mobs/Species/IPCs/parts.rsi
- type: Icon
state: "r_foot"
sprite: SS220/Mobs/Species/IPCs/parts.rsi
- type: BodyPart
partType: Foot
symmetry: Right
45 changes: 45 additions & 0 deletions Resources/Prototypes/SS220/Body/Prototypes/ipc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
- type: body
id: IPC
name: "IPC"
root: torso
slots:
head:
part: HeadIPC
connections:
- torso
organs:
brain: OrganIPCCPU
eyes: OrganIPCGPU
torso:
part: TorsoIPC
organs:
lungs: OrganIPCFan
connections:
- left arm
- right arm
- left leg
- right leg
right arm:
part: RightArmIPC
connections:
- right hand
left arm:
part: LeftArmIPC
connections:
- left hand
right hand:
part: RightHandIPC
left hand:
part: LeftHandIPC
right leg:
part: RightLegIPC
connections:
- right foot
left leg:
part: LeftLegIPC
connections:
- left foot
right foot:
part: RightFootIPC
left foot:
part: LeftFootIPC
4 changes: 4 additions & 0 deletions Resources/Prototypes/SS220/Chemistry/metabolizer_types.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
- type: metabolizerType
id: Hydroponic
name: metabolizer-type-hydroponic

- type: metabolizerType
id: IPC
name: ipc
18 changes: 18 additions & 0 deletions Resources/Prototypes/SS220/Damage/modifier_sets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,21 @@
Poison: 0.6
Cellular: 1
Radiation: 0.5

# IPC
- type: damageModifierSet
id: Robotic
coefficients:
Blunt: 1.0
Slash: 0.4
Piercing: 1.5
Cold: 0.0
Heat: 2.5
Shock: 3.0
Poison: 0.0
Radiation: 0.0
Asphyxiation: 0.0
Bloodloss: 0.0
Cellular: 0.0
flatReductions:
Blunt: 5
Loading
Loading