Skip to content

Commit

Permalink
Merge pull request #33 from EndrAnimet/endrbranch2
Browse files Browse the repository at this point in the history
Endrbranch2
  • Loading branch information
EndrAnimet authored May 20, 2024
2 parents 66d3cfd + 65124d7 commit d96f814
Show file tree
Hide file tree
Showing 5 changed files with 111 additions and 170 deletions.
96 changes: 40 additions & 56 deletions Resources/Prototypes/Stray/Body/Organs/ipc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,32 +17,6 @@
- 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: brain
- type: Organ
- type: Metabolizer
updateInterval: 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: brain
- type: Organ

- type: entity
id: OrganIPCFan
parent: BaseIPCOrgan
Expand All @@ -68,51 +42,61 @@
canReact: false

- type: entity
id: OrganIPCHeart
id: OrganIPCBrain
parent: BaseIPCOrgan
name: ipc gpu
description: A low-tech GPU. Albeit, it looks super expensive. It is used to render images to the posibrain.
name: positronic brain
description: "The source of as much controversy as the existence of the soul."
components:
- type: Sprite
state: heart-on
- type: Organ
- type: Sprite
state: brain
- type: Organ
- type: Input
context: "ghost"
- type: InputMover
- type: MovementSpeedModifier
baseWalkSpeed: 0
baseSprintSpeed: 0
- type: GhostOnMove
- type: Brain

- type: entity
id: OrganIPCEyeL
id: OrganIPCEyes
parent: BaseIPCOrgan
name: ipc gpu
description: A low-tech GPU. Albeit, it looks super expensive. It is used to render images to the posibrain.
name: robotic eyes
description: "01001001 00100000 01110011 01100101 01100101 00100000 01111001 01101111 01110101 00100001"
components:
- type: Sprite
state: eyeball-l
- type: Organ
- type: Sprite
layers:
- state: eyeball-l
- state: eyeball-r
- type: Organ

- type: entity
id: OrganIPCEyeR
id: OrganIPCTongue
parent: BaseIPCOrgan
name: ipc gpu
description: A low-tech GPU. Albeit, it looks super expensive. It is used to render images to the posibrain.
name: vocal modulator
description: "A vocal modulator, used to produce speech."
components:
- type: Sprite
state: eyeball-r
- type: Organ
- type: Sprite
state: tongue
- type: Organ

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

- type: entity
id: OrganIPCEars
id: OrganIPCPump
parent: BaseIPCOrgan
name: ipc gpu
description: A low-tech GPU. Albeit, it looks super expensive. It is used to render images to the posibrain.
name: micro pump
description: "A micro pump, used to circulate coolant."
components:
- type: Sprite
state: ears
- type: Organ
- type: Sprite
state: heart-on
- type: Organ
12 changes: 5 additions & 7 deletions Resources/Prototypes/Stray/Body/Prototypes/ipc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,15 @@
connections:
- torso
organs:
brain: OrganIPCCPU
eyes: OrganIPCGPU
brain: OrganIPCBrain
eyes: OrganIPCEyes
torso:
part: TorsoIPC
organs:
lungs: OrganIPCFan
heart: OrganIPCHeart
core: OrganIPCEyeL
stomach: OrganIPCEyeR
liver: OrganIPCEars
kidneys: OrganIPCTongue
heart: OrganIPCPump
core: OrganIPCEars
stomach: OrganIPCTongue
connections:
- left arm
- right arm
Expand Down
75 changes: 57 additions & 18 deletions Resources/Prototypes/Stray/Entities/Mobs/Species/ipc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@
name: Urist McIPC
parent: # we technically require multiple parents due to reimplementing BaseMobSpeciesOrganic but without the organics
- MobBloodstream
- MobRespirator
- MobAtmosStandard
- MobFlammable
- BaseMobSpecies
id: BaseMobIPC
abstract: true
components:
# beginregion Organic
- type: SSDIndicator
- type: Flashable
- type: StatusEffects
allowed:
Expand Down Expand Up @@ -66,18 +66,29 @@
- type: Damageable
damageContainer: IPC
damageModifierSet: Metallic
- type: Sprite
- type: Icon
sprite: Stray/Mobs/Species/IPCs/parts.rsi
state: full
# Damage and speed
- type: MobThresholds
thresholds:
0: Alive
140: Critical
200: Dead
stateAlertDict:
Alive: BorgHealth
Critical: BorgCrit
Dead: BorgDead
showOverlays: false
allowRevives: true
- type: Bloodstream
bloodReagent: Oil
bloodlossDamage:
types:
Heat: 0.25
- type: Temperature
heatDamageThreshold: 452.875 # melting point of iron 1/4th, cause fuck physics you know
coldDamageThreshold: 283.15 # 10c aka "cold" causes condensation/freezing and as such shorting
coldDamageThreshold: 283.15 # 10c aka "cold" causes condensation/freezing and as such shorting
currentTemperature: 313.15
specificHeat: 46
coldDamage:
Expand All @@ -86,29 +97,23 @@
heatDamage:
types:
Heat: 2
- type: Respirator
damage:
types:
Heat: 0.5 # no air to cool
Asphyxiation: -10 # TODO FIX DEATHGASPS
damageRecovery:
types:
Heat: -0.25
Asphyxiation: -10
- type: Repairable
fuelCost: 5 # cause most of the fuel is used how long its turned on for
doAfterDelay: 7
doAfterDelay: 15
damage:
types:
Blunt: -25 # you can't heal group damage. it doesn't work. wh y.
Slash: -25
Piercing: -25
Heat: 50
Blunt: -50 # you can't heal group damage. it doesn't work. wh y.
Slash: -50
Piercing: -50
Shock: -50
Caustic: -50
Heat: 15
Asphyxiation: -200 # TODO FIX DEATHGASPS
allowSelfRepair: true
- type: Barotrauma
damage:
types:
Heat: 0.5 # IPCs can't radiate well, they rely on air cooling
Heat: 3.75 # IPCs can't radiate well, they rely on air cooling
- type: SlowOnDamage
speedModifierThresholds:
70: 0.6
Expand All @@ -134,6 +139,40 @@
- Silicon
- Biological
- type: EyeProtection
- type: Eye
visMask:
- PsionicInvisibility
- Normal
- type: PassiveDamage
allowedStates:
- Alive
- Critical
- Dead
damageCap: 200
damage:
types:
Heat: -0.25
- type: ContainerContainer
containers:
cell_slot: !type:ContainerSlot { }
part-container: !type:Container
- type: PowerCellSlot
cellSlotId: cell_slot
fitsInCharger: true
- type: PowerCellDraw
drawRate: 2
- type: TypingIndicator
proto: robot
- type: BorgChassis
- type: ItemSlots
slots:
cell_slot:
name: power-cell-slot-component-slot-name-default
startingItem: PowerCellHyper
- type: Lock
locked: true
- type: AccessReader
access: [["Engineering"], ["Command"], ["Research"]]

- type: entity
name: Urist McIPC
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
- name: head
slotTexture: head
slotFlags: HEAD
uiWindowPos: 1,3
uiWindowPos: 1,2
strippingWindowPos: 1,0
displayName: Head
- name: pocket1
Expand Down
Loading

0 comments on commit d96f814

Please sign in to comment.