Power cell culling (#8814)

This commit is contained in:
metalgearsloth
2022-06-16 18:37:07 +10:00
committed by GitHub
parent 2ad62a01f1
commit a18ba5c2b5
136 changed files with 234 additions and 977 deletions

View File

@@ -37,11 +37,7 @@
# components:
# - type: StorageFill
# contents:
# - id: PowerCellLargeStandard
# amount: 3
# - id: PowerCellMediumStandard
# amount: 3
# - id: PowerCellSmallAutorecharge
# - id: PowerCellMicroreactor
# amount: 3
- type: entity

View File

@@ -63,9 +63,6 @@
# Interesting (1%)
# - Ammo
- id: MagazineBoxMagnum
prob: 0.01
# - #shinies
- id: PowerCellLargeHyper
prob: 0.01
# Just no (0.1%)
# - Working guns

View File

@@ -400,45 +400,39 @@
id: PowerCellBasic
description: Print standard powercells.
icon:
sprite: Objects/Power/PowerCells/power_cell_small_st.rsi
state: s_st
sprite: Objects/Power/power_cells.rsi
state: small
requiredPoints: 2500
requiredTechnologies:
- ElectromagneticTheory
unlockedRecipes:
- PowerCellSmallStandard
- PowerCellMediumStandard
- PowerCellLargeStandard
- PowerCellSmall
- type: technology
name: "advanced powercell printing"
id: PowerCellAdvanced
description: Print advanced powercells.
icon:
sprite: Objects/Power/PowerCells/power_cell_small_hi.rsi
state: s_hi
sprite: Objects/Power/power_cells.rsi
state: medium
requiredPoints: 5000
requiredTechnologies:
- PowerCellBasic
unlockedRecipes:
- PowerCellSmallHigh
- PowerCellMediumHigh
- PowerCellLargeHigh
- PowerCellMedium
- type: technology
name: "super powercell printing"
id: PowerCellSuper
description: Print super powercells.
icon:
sprite: Objects/Power/PowerCells/power_cell_small_sup.rsi
state: s_sup
sprite: Objects/Power/power_cells.rsi
state: high
requiredPoints: 10000
requiredTechnologies:
- PowerCellAdvanced
unlockedRecipes:
- PowerCellSmallSuper
- PowerCellMediumSuper
- PowerCellLargeSuper
- PowerCellHigh
# Basic Parts Technology Tree
- type: technology

View File

@@ -6,7 +6,7 @@
startingInventory:
ClothingEyesGlassesMeson: 4
Multitool: 4
PowerCellSmallHigh: 5
PowerCellMedium: 5
ClothingHandsGlovesColorYellow: 6
InflatableWallStack1: 24
InflatableDoorStack1: 8

View File

@@ -8,7 +8,6 @@
#roboticist under
CableStack: 4
Flash: 4
PowerCellLargeHigh: 12
#proximity sensor
#signaller
#health anaylzer

View File

@@ -106,7 +106,9 @@
- type: FlashLightVisualizer
- type: HandheldLight
addPrefix: true
- type: PowerCellSlot
cellSlot:
startingItem: PowerCellHardsuitHelmet # self recharging
locked: true # no need to recharge manually
- type: Battery
maxCharge: 600 #lights drain 3/s but recharge of 2 makes this 1/s. Therefore 600 is 10 minutes of light.
startingCharge: 600
- type: BatterySelfRecharger
autoRecharge: true
autoRechargeRate: 2 #recharge of 2 makes total drain 1w / s so max charge is 1:1 with time. Time to fully charge should be 5 minutes. Having recharge gives light an extended flicker period which gives you some warning to return to light area.

View File

@@ -36,7 +36,7 @@
- state: on-equipped-HELMET
- type: PowerCellSlot
cellSlot:
startingItem: PowerCellSmallHigh
startingItem: PowerCellMedium
- type: entity
parent: ClothingHeadHatHardhatBase

View File

@@ -128,7 +128,7 @@
- type: Tag
tags:
- HidesHair
- type: entity
parent: ClothingHeadBase
id: ClothingHeadHelmetSpaceNinja
@@ -143,7 +143,7 @@
- type: Tag
tags:
- HidesHair
- type: entity
parent: ClothingHeadEVAHelmetBase
id: ClothingHeadHelmetSyndicate
@@ -207,7 +207,7 @@
- type: IngestionBlocker
- type: PowerCellSlot
cellSlot:
startingItem: PowerCellSmallHigh
startingItem: PowerCellMedium
- type: TemperatureProtection
coefficient: 0.01
- type: Armor

View File

@@ -50,14 +50,13 @@
- type: Sprite
layers:
- state: red
- texture: Objects/Power/PowerCells/power_cell_large_sup.rsi/l_sup.png
- sprite: Objects/Power/power_cells.rsi
state: high
- type: RandomSpawner
rarePrototypes:
- lanternextrabright
- PowerCellMediumSuper
- PowerCellSmallSuper
- PowerCellLargeSuper
- PowerCellSmallAutorecharge
- PowerCellHigh
- PowerCellMicroreactor
rareChance: 0.08
prototypes:
- FlashlightLantern

View File

@@ -1,8 +1,5 @@
# TODO: Add descriptions (3)
# Power cells
- type: entity
id: PowerCellSmallBase
id: BasePowerCell
abstract: true
parent: BaseItem
components:
@@ -11,6 +8,7 @@
- type: Explosive
explosionType: Default
- type: Sprite
sprite: Objects/Power/power_cells.rsi
netsync: false
- type: SolutionContainerManager
solutions:
@@ -28,144 +26,125 @@
- type: Tag
tags:
- DroneUsable
- type: entity
id: PowerCellMediumBase
abstract: true
parent: PowerCellSmallBase
components:
- type: PowerCell
cellSize: Medium
- type: entity
id: PowerCellLargeBase
abstract: true
parent: PowerCellSmallBase
components:
- type: PowerCell
cellSize: Large
- type: Appearance
- type: PowerCellVisuals
- type: entity
name: potato battery
description: Someone's stuck two nails and some wire in a large potato. Somehow it provides a little charge. You might be able to cram it into an M-sized slot.
id: PowerCellMediumPotato
parent: PowerCellMediumBase
description: Someone's stuck two nails and some wire in a large potato. Somehow it provides a little charge.
id: PowerCellPotato
parent: BasePowerCell
components:
- type: Sprite
sprite: Objects/Power/PowerCells/potato_battery.rsi
layers:
- state: potato_battery
- state: potato
- type: Battery
maxCharge: 360
startingCharge: 360
maxCharge: 200
startingCharge: 200
- type: entity
name: small standard power cell
description: A rechargeable standardized power cell, size S. This is the cheapest kind you can find.
id: PowerCellSmallStandard
name: small-capacity power cell
description: A rechargeable power cell. This is the cheapest kind you can find.
id: PowerCellSmall
suffix: Full
parent: PowerCellSmallBase
parent: BasePowerCell
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_small_st.rsi
layers:
- state: s_st
- map: [ "enum.PowerCellVisualLayers.Base" ]
state: small
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
state: o2
shader: unshaded
- type: Battery
maxCharge: 360
startingCharge: 360
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: s_st
- type: entity
id: PowerCellSmallStandardPrinted
id: PowerCellSmallPrinted
suffix: Empty
parent: PowerCellSmallStandard
parent: PowerCellSmall
components:
- type: Battery
maxCharge: 360
startingCharge: 0
- type: entity
name: small high-capacity power cell
description: A rechargeable standardized power cell, size S. This is the popular and reliable version.
id: PowerCellSmallHigh
name: medium-capacity power cell
description: A rechargeable power cell. This is the popular and reliable version.
id: PowerCellMedium
suffix: Full
parent: PowerCellSmallBase
parent: BasePowerCell
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_small_hi.rsi
layers:
- state: s_hi
- map: [ "enum.PowerCellVisualLayers.Base" ]
state: medium
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
state: o2
shader: unshaded
- type: Battery
maxCharge: 720
startingCharge: 720
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: s_hi
- type: entity
id: PowerCellSmallHighPrinted
id: PowerCellMediumPrinted
suffix: Empty
parent: PowerCellSmallHigh
parent: PowerCellMedium
components:
- type: Battery
maxCharge: 720
startingCharge: 0
- type: entity
name: small super-capacity power cell
description: A rechargeable standardized power cell, size S. This premium high-capacity brand stores up to 50% more energy than the competition.
id: PowerCellSmallSuper
name: high-capacity power cell
description: A rechargeable standardized power cell. This premium brand stores up to 50% more energy than the competition.
id: PowerCellHigh
suffix: Full
parent: PowerCellSmallBase
parent: BasePowerCell
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_small_sup.rsi
layers:
- state: s_sup
- map: [ "enum.PowerCellVisualLayers.Base" ]
state: high
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
state: o2
shader: unshaded
- type: Battery
maxCharge: 1080
startingCharge: 1080
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: s_sup
- type: entity
id: PowerCellSmallSuperPrinted
id: PowerCellHighPrinted
suffix: Empty
parent: PowerCellSmallSuper
parent: PowerCellHigh
components:
- type: Battery
maxCharge: 1080
startingCharge: 0
- type: entity
name: small hyper-capacity power cell
description: A rechargeable standardized power cell, size S. This one looks like a rare and powerful prototype.
id: PowerCellSmallHyper
name: hyper-capacity power cell
description: A rechargeable standardized power cell. This one looks like a rare and powerful prototype.
id: PowerCellHyper
suffix: Full
parent: PowerCellSmallBase
parent: BasePowerCell
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_small_hy.rsi
layers:
- state: s_hy
- map: [ "enum.PowerCellVisualLayers.Base" ]
state: hyper
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
state: o2
shader: unshaded
- type: Battery
maxCharge: 1800
startingCharge: 1800
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: s_hy
- type: entity
id: PowerCellSmallHyperPrinted
id: PowerCellHyperPrinted
suffix: Empty
parent: PowerCellSmallHyper
parent: PowerCellHyper
components:
- type: Battery
maxCharge: 1800
@@ -173,289 +152,41 @@
- type: entity
name: small microreactor cell
description: A rechargeable standardized microreactor cell, size S. Intended for low-power devices, it slowly recharges by itself.
id: PowerCellSmallAutorecharge
description: A rechargeable standardized microreactor cell. Intended for low-power devices, it slowly recharges by itself.
id: PowerCellMicroreactor
suffix: Full
parent: PowerCellSmallBase
parent: BasePowerCell
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_small_autorecharge.rsi
layers:
- state: s_ar
- map: [ "enum.PowerCellVisualLayers.Base" ]
state: microreactor
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
state: o2
shader: unshaded
- type: Battery
maxCharge: 50
startingCharge: 50
- type: BatterySelfRecharger
autoRecharge: true
autoRechargeRate: 0.16667 #takes about 5 minutes to charge itself back to full
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: s_ar
- type: entity
name: hardsuit helmet power cell
description: A small cell that recharges itself intended for hardsuit helmets.
id: PowerCellHardsuitHelmet
suffix: Full
parent: PowerCellSmallBase
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_small_autorecharge.rsi
layers:
- state: s_ar
- type: Battery
maxCharge: 600 #lights drain 3/s but recharge of 2 makes this 1/s. Therefore 600 is 10 minutes of light.
startingCharge: 600
- type: BatterySelfRecharger
autoRecharge: true
autoRechargeRate: 2 #recharge of 2 makes total drain 1w / s so max charge is 1:1 with time. Time to fully charge should be 5 minutes. Having recharge gives light an extended flicker period which gives you some warning to return to light area.
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: s_ar
- type: entity
name: antique power cell prototype
description: A small cell that self recharges. Used in old laser arms research.
id: PowerCellAntiqueProto
parent: PowerCellSmallBase
parent: BasePowerCell
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_small_autorecharge.rsi
layers:
- state: s_ar
- map: [ "enum.PowerCellVisualLayers.Base" ]
state: antique
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
state: o2
shader: unshaded
- type: Battery
maxCharge: 1200
startingCharge: 1200
- type: BatterySelfRecharger
autoRecharge: true
autoRechargeRate: 40
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: s_ar
- type: entity
name: medium standard power cell
description: A rechargeable standardized power cell, size M. This is the cheapest kind you can find.
id: PowerCellMediumStandard
suffix: Full
parent: PowerCellMediumBase
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_medium_st.rsi
layers:
- state: m_st
- type: Battery
maxCharge: 2160
startingCharge: 2160
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: m_st
- type: entity
id: PowerCellMediumStandardPrinted
suffix: Empty
parent: PowerCellMediumStandard
components:
- type: Battery
maxCharge: 2160
startingCharge: 0
- type: entity
name: medium high-capacity power cell
description: A rechargeable standardized power cell, size M. This is the popular and reliable version.
id: PowerCellMediumHigh
suffix: Full
parent: PowerCellMediumBase
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_medium_hi.rsi
layers:
- state: m_hi
- type: Battery
maxCharge: 2880
startingCharge: 2880
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: m_hi
- type: entity
id: PowerCellMediumHighPrinted
suffix: Empty
parent: PowerCellMediumHigh
components:
- type: Battery
maxCharge: 2880
startingCharge: 0
- type: entity
name: medium super-capacity power cell
description: A rechargeable standardized power cell, size M. This premium high-capacity brand stores up to 50% more energy than the competition.
id: PowerCellMediumSuper
suffix: Full
parent: PowerCellMediumBase
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_medium_sup.rsi
layers:
- state: m_sup
- type: Battery
maxCharge: 3600
startingCharge: 3600
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: m_sup
- type: entity
id: PowerCellMediumSuperPrinted
suffix: Empty
parent: PowerCellMediumSuper
components:
- type: Battery
maxCharge: 3600
startingCharge: 0
- type: entity
name: medium hyper-capacity power cell
description: A rechargeable standardized power cell, size M. This one looks like a rare and powerful prototype.
id: PowerCellMediumHyper
suffix: Full
parent: PowerCellMediumBase
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_medium_hy.rsi
layers:
- state: m_hy
- type: Battery
maxCharge: 5400
startingCharge: 5400
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: m_hy
- type: entity
id: PowerCellMediumHyperPrinted
suffix: Empty
parent: PowerCellMediumHyper
components:
- type: Battery
maxCharge: 5400
startingCharge: 0
- type: entity
name: large standard power cell
description: A rechargeable standardized power cell, size L. This is the cheapest kind you can find.
id: PowerCellLargeStandard
suffix: Full
parent: PowerCellLargeBase
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_large_st.rsi
layers:
- state: l_st
- type: Battery
maxCharge: 9000
startingCharge: 9000
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: l_st
- type: entity
id: PowerCellLargeStandardPrinted
suffix: Empty
parent: PowerCellLargeStandard
components:
- type: Battery
maxCharge: 9000
startingCharge: 0
- type: entity
name: large high-capacity power cell
description: A rechargeable standardized power cell, size L. This is the popular and reliable version.
id: PowerCellLargeHigh
suffix: Full
parent: PowerCellLargeBase
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_large_hi.rsi
layers:
- state: l_hi
- type: Battery
maxCharge: 18000
startingCharge: 18000
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: l_hi
- type: entity
id: PowerCellLargeHighPrinted
suffix: Empty
parent: PowerCellLargeHigh
components:
- type: Battery
maxCharge: 18000
startingCharge: 0
- type: entity
name: large super-capacity power cell
description: A rechargeable standardized power cell, size M. This premium high-capacity brand stores up to 50% more energy than the competition.
id: PowerCellLargeSuper
suffix: Full
parent: PowerCellLargeBase
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_large_sup.rsi
layers:
- state: l_sup
- type: Battery
maxCharge: 54000
startingCharge: 54000
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: l_sup
- type: entity
id: PowerCellLargeSuperPrinted
suffix: Empty
parent: PowerCellLargeSuper
components:
- type: Battery
maxCharge: 54000
startingCharge: 0
- type: entity
name: large hyper-capacity power cell
description: A rechargeable standardized power cell, size L. This one looks like a rare and powerful prototype.
id: PowerCellLargeHyper
suffix: Full
parent: PowerCellLargeBase
components:
- type: Sprite
sprite: Objects/Power/PowerCells/power_cell_large_hy.rsi
layers:
- state: l_hy
- type: Battery
maxCharge: 72000
startingCharge: 72000
- type: Appearance
visuals:
- type: PowerCellVisualizer
prefix: l_hy
- type: entity
id: PowerCellLargeHyperPrinted
suffix: Empty
parent: PowerCellLargeHyper
components:
- type: Battery
maxCharge: 72000
startingCharge: 0

View File

@@ -27,7 +27,7 @@
shader: unshaded
- type: PowerCellSlot
cellSlot:
startingItem: PowerCellSmallHigh
startingItem: PowerCellMedium
- type: ContainerContainer
containers:
cell_slot: !type:ContainerSlot
@@ -60,7 +60,7 @@
components:
- type: PowerCellSlot
cellSlot:
startingItem: PowerCellSmallSuper
startingItem: PowerCellHigh
- type: HandheldLight
addPrefix: false
inhandVisuals:

View File

@@ -29,7 +29,7 @@
- type: ToggleableLightVisuals
- type: PowerCellSlot
cellSlot:
startingItem: PowerCellSmallHigh
startingItem: PowerCellMedium
- type: entity
name: extra-bright lantern

View File

@@ -193,15 +193,9 @@
- FlashPayload
- Signaller
- SignalTrigger
- PowerCellSmallStandard
- PowerCellSmallHigh
- PowerCellSmallSuper
- PowerCellMediumStandard
- PowerCellMediumHigh
- PowerCellMediumSuper
- PowerCellLargeStandard
- PowerCellLargeHigh
- PowerCellLargeSuper
- PowerCellSmall
- PowerCellMedium
- PowerCellHigh
- type: ActivatableUI
key: enum.LatheUiKey.Key #Yes only having 1 of them here doesn't break anything
- type: ActivatableUIRequiresPower

View File

@@ -1,16 +1,20 @@
- type: latheRecipe
id: PowerCellSmallStandard
icon: Objects/Power/PowerCells/power_cell_small_st.rsi/s_st.png
result: PowerCellSmallStandardPrinted
id: PowerCellSmall
icon:
sprite: Objects/Power/power_cells.rsi
state: small
result: PowerCellSmallPrinted
completetime: 1
materials:
Steel: 100
Plastic: 50
- type: latheRecipe
id: PowerCellSmallHigh
icon: Objects/Power/PowerCells/power_cell_small_hi.rsi/s_hi.png
result: PowerCellSmallHighPrinted
id: PowerCellMedium
icon:
sprite: Objects/Power/power_cells.rsi
state: medium
result: PowerCellMediumPrinted
completetime: 6
materials:
Steel: 300
@@ -19,75 +23,14 @@
Gold: 10
- type: latheRecipe
id: PowerCellSmallSuper
icon: Objects/Power/PowerCells/power_cell_small_sup.rsi/s_sup.png
result: PowerCellSmallSuperPrinted
id: PowerCellHigh
icon:
sprite: Objects/Power/power_cells.rsi
state: high
result: PowerCellHighPrinted
completetime: 10
materials:
Steel: 300
Glass: 400
Plastic: 200
Gold: 50
# The resource required is scaled to their power capacity
- type: latheRecipe
id: PowerCellMediumStandard
icon: Objects/Power/PowerCells/power_cell_medium_st.rsi/m_st.png
result: PowerCellMediumStandardPrinted
completetime: 1
materials:
Steel: 600
Plastic: 300
- type: latheRecipe
id: PowerCellMediumHigh
icon: Objects/Power/PowerCells/power_cell_medium_hi.rsi/m_hi.png
result: PowerCellMediumHighPrinted
completetime: 6
materials:
Steel: 1800
Glass: 1800
Plastic: 600
Gold: 60
- type: latheRecipe
id: PowerCellMediumSuper
icon: Objects/Power/PowerCells/power_cell_medium_sup.rsi/m_sup.png
result: PowerCellMediumSuperPrinted
completetime: 10
materials:
Steel: 1800
Glass: 2400
Plastic: 1200
Gold: 300
- type: latheRecipe
id: PowerCellLargeStandard
icon: Objects/Power/PowerCells/power_cell_large_st.rsi/l_st.png
result: PowerCellLargeStandardPrinted
completetime: 1
materials:
Steel: 2500
Plastic: 1250
- type: latheRecipe
id: PowerCellLargeHigh
icon: Objects/Power/PowerCells/power_cell_large_hi.rsi/l_hi.png
result: PowerCellLargeHighPrinted
completetime: 6
materials:
Steel: 7500
Glass: 7500
Plastic: 2500
Gold: 250
- type: latheRecipe
id: PowerCellLargeSuper
icon: Objects/Power/PowerCells/power_cell_large_sup.rsi/l_sup.png
result: PowerCellLargeSuperPrinted
completetime: 10
materials:
Steel: 7500
Glass: 10000
Plastic: 5000
Gold: 1250