Implements item pricing, and piracy. (#8548)

* Start implementing item pricing.

* Flesh out prices a bit, add the appraisal tool.

* Add prices to more things.

* YARRRRRRR

* gives pirates an appraisal tool in their pocket.

* Makes the various traitor objectives valuable. Also nerfs the price of a living person, so it's easier to bargain for them.

* Address reviews.

* Address reviews.
This commit is contained in:
Moony
2022-06-03 10:56:11 -05:00
committed by GitHub
parent c87f4ab65c
commit fada213a22
53 changed files with 712 additions and 26 deletions

View File

@@ -51,7 +51,7 @@
Blunt: 0.8
Slash: 0.8
Piercing: 0.75
Heat: 0.3
Heat: 0.3
Radiation: 0.1
- type: ExplosionResistance
resistance: 0.5
@@ -102,11 +102,11 @@
lowPressureMultiplier: 1000
- type: ClothingSpeedModifier
walkModifier: 0.65
sprintModifier: 0.65
sprintModifier: 0.65
- type: Armor
modifiers:
coefficients:
Blunt: 0.9
Blunt: 0.9
Slash: 0.85
Piercing: 0.85
Heat: 0.7
@@ -131,7 +131,7 @@
lowPressureMultiplier: 1000
- type: ClothingSpeedModifier
walkModifier: 0.75
sprintModifier: 0.8
sprintModifier: 0.8
- type: Armor
modifiers:
coefficients:
@@ -216,7 +216,7 @@
- type: DiseaseProtection
protection: 0.2
- type: ClothingSpeedModifier
walkModifier: 0.9
walkModifier: 0.9
sprintModifier: 0.95
- type: Armor
modifiers:
@@ -254,6 +254,8 @@
resistance: 0.7
- type: ToggleableClothing
clothingPrototype: ClothingHeadHelmetHardsuitRd
- type: StaticPrice
price: 750
- type: entity
parent: ClothingOuterHardsuitBase
@@ -303,7 +305,7 @@
Blunt: 0.6
Slash: 0.6
Piercing: 0.6
Heat: 0.8
Heat: 0.8
Radiation: 0.25
- type: ExplosionResistance
resistance: 0.6
@@ -311,7 +313,7 @@
clothingPrototype: ClothingHeadHelmetHardsuitSecurity
- type: entity
parent: ClothingOuterHardsuitSecurity
parent: ClothingOuterHardsuitSecurity
id: ClothingOuterHardsuitSecurityRed
name: head of security's hardsuit
description: A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor.
@@ -324,7 +326,7 @@
highPressureMultiplier: 0.45
lowPressureMultiplier: 10000
- type: ClothingSpeedModifier
walkModifier: 0.7
walkModifier: 0.7
sprintModifier: 0.75
- type: Armor
modifiers:
@@ -390,7 +392,7 @@
Blunt: 0.6
Slash: 0.6
Piercing: 0.4
Heat: 0.25
Heat: 0.25
Radiation: 0.20
- type: ExplosionResistance
resistance: 0.5
@@ -422,10 +424,10 @@
Heat: 0.5
Radiation: 0.3
- type: ExplosionResistance
resistance: 0.8
resistance: 0.8
- type: ToggleableClothing
clothingPrototype: ClothingHeadHelmetHardsuitLing
- type: entity
parent: ClothingOuterHardsuitBase
id: ClothingOuterHardsuitSpatio
@@ -440,7 +442,7 @@
highPressureMultiplier: 0.72
lowPressureMultiplier: 10000
- type: ClothingSpeedModifier
walkModifier: 0.9
walkModifier: 0.9
sprintModifier: 0.8
- type: Armor
modifiers:
@@ -449,7 +451,7 @@
Slash: 0.9
Piercing: 0.95
Heat: 0.9
Radiation: 0.5
Radiation: 0.5
- type: ToggleableClothing
clothingPrototype: ClothingHeadHelmetHardsuitSpatio
@@ -479,7 +481,7 @@
Slash: 0.95
Heat: 0.90
Radiation: 0.75
- type: entity
parent: ClothingOuterHardsuitBase
id: ClothingOuterHardsuitJuggernaut
@@ -508,7 +510,7 @@
resistance: 0.2
- type: ToggleableClothing
clothingPrototype: ClothingHeadHelmetHardsuitCybersun
- type: entity
parent: ClothingOuterHardsuitBase
id: ClothingOuterHardsuitSyndieCommander
@@ -555,7 +557,7 @@
walkModifier: 1.0
sprintModifier: 1.0
- type: TemperatureProtection
coefficient: 0.001
coefficient: 0.001
- type: Armor
modifiers:
coefficients:

View File

@@ -46,6 +46,8 @@
sprintModifier: 1
enabled: false
- type: NoSlip
- type: StaticPrice
price: 750
- type: entity
parent: ClothingShoesBase

View File

@@ -0,0 +1,11 @@
- type: entity
id: SpawnPointPirates
parent: MarkerBase
name: Pirate spawn point
components:
- type: SpawnPoint
- type: Sprite
layers:
- state: green
- sprite: Objects/Fun/toys.rsi
state: synb

View File

@@ -142,6 +142,8 @@
60: 0.6
80: 0.4
90: 0.2
- type: MobPrice
price: 1000 # Living critters are valuable in space.
- type: entity
save: false
@@ -195,3 +197,4 @@
Heat : 1 #per second, scales with temperature & other constants
- type: Bloodstream
bloodMaxVolume: 150

View File

@@ -322,6 +322,9 @@
attributes:
proper: true
- type: StandingState
- type: MobPrice
price: 1500 # Kidnapping a living person and selling them for cred is a good move.
deathPenalty: 0.01 # However they really ought to be living and intact, otherwise they're worth 100x less.
- type: entity
save: false

View File

@@ -177,6 +177,8 @@
reagents:
- ReagentId: Bicaridine
Quantity: 20
- type: StaticPrice
price: 750
- type: entity
name: raw crab meat

View File

@@ -12,3 +12,5 @@
- type: Tag
tags:
- DroneUsable
- type: StaticPrice
price: 75

View File

@@ -11,6 +11,8 @@
- type: Tag
tags:
- DroneUsable
- type: StaticPrice
price: 75
- type: entity
parent: BaseComputerCircuitboard
@@ -56,6 +58,8 @@
components:
- type: ComputerBoard
prototype: ComputerSupplyOrdering
- type: StaticPrice
price: 750
- type: entity
parent: BaseComputerCircuitboard
@@ -127,6 +131,8 @@
components:
- type: ComputerBoard
prototype: ComputerId
- type: StaticPrice
price: 750
- type: entity
parent: BaseComputerCircuitboard

View File

@@ -47,6 +47,8 @@
interfaces:
- key: enum.NukeUiKey.Key
type: NukeBoundUserInterface
- type: StaticPrice # TODO: Make absolutely certain cargo cannot sell this, that'd be horrible. Presumably, add an export ban component so only the yarrs get a deal here.
price: 50000 # YOU STOLE A NUCLEAR FISSION EXPLOSIVE?!
- type: entity
parent: NuclearBomb
@@ -87,3 +89,5 @@
Quantity: 3000
- type: ReagentTank
transferAmount: 100
- type: StaticPrice
price: 5000 # That's a pretty fancy keg you got there.

View File

@@ -9,6 +9,8 @@
sprite: Objects/Materials/Sheets/glass.rsi
- type: Item
sprite: Objects/Materials/Sheets/glass.rsi
- type: StaticPrice
price: 0
- type: ItemStatus
- type: Tag
tags:
@@ -49,6 +51,8 @@
- type: Material
materials:
Glass: 100
- type: StackPrice
price: 5
- type: Stack
stackType: Glass
- type: Sprite

View File

@@ -9,6 +9,8 @@
sprite: Objects/Materials/Sheets/metal.rsi
- type: Item
sprite: Objects/Materials/Sheets/metal.rsi
- type: StaticPrice
price: 0
- type: ItemStatus
- type: Tag
tags:

View File

@@ -9,6 +9,8 @@
sprite: Objects/Materials/ingots.rsi
- type: Item
sprite: Objects/Materials/ingots.rsi
- type: StaticPrice
price: 0
- type: ItemStatus
- type: Tag
tags:

View File

@@ -13,6 +13,8 @@
size: 12
sprite: Objects/Misc/nukedisk.rsi
state: icon
- type: StaticPrice
price: 2000
- type: entity
name: nuclear authentication disk
@@ -29,3 +31,5 @@
size: 12
sprite: Objects/Misc/nukedisk.rsi
state: icon
- type: StaticPrice
price: 1 # it's worth even less than normal items. Perfection.

View File

@@ -6,7 +6,9 @@
components:
- type: Material
materials:
Credit: 100
Credit: 1
- type: StaticPrice
price: 0
- type: Stack
stackType: Credit
max: 1000000 # if you somehow get this rich consider buying a second station
@@ -45,6 +47,7 @@
name: credit
stack: Credit
icon: /Textures/Objects/Economy/cash.rsi/cash.png
price: 1
- type: stack
id: Credit

View File

@@ -18,6 +18,8 @@
- type: ExaminableSolution
solution: hypospray
- type: Hypospray
- type: StaticPrice
price: 750
- type: entity
name: gorlax hypospray
@@ -39,7 +41,7 @@
- type: ExaminableSolution
solution: hypospray
- type: Hypospray
- type: entity
name: chemical medipen
parent: BaseItem
@@ -75,6 +77,8 @@
- Trash
- type: Recyclable
- type: SpaceGarbage
- type: StaticPrice
price: 75 # These are limited supply items.
- type: entity
name: emergency medipen
@@ -166,4 +170,5 @@
- type: Tag
tags:
- Write
- type: StaticPrice
price: 75

View File

@@ -16,6 +16,8 @@
max: 999999 # todo: add support for unlimited stacks
stackType: Telecrystal
- type: Telecrystal
- type: StackPrice
price: 200
- type: entity
parent: Telecrystal

View File

@@ -0,0 +1,15 @@
- type: entity
parent: BaseItem
id: AppraisalTool
name: appraisal tool
description: A beancounter's best friend, with a quantum connection to the galactic market and the ability to appraise even the toughest items.
components:
- type: Sprite
sprite: Objects/Tools/appraisal-tool.rsi
state: icon
netsync: false
- type: Item
sprite: Objects/Tools/appraisal-tool.rsi
- type: PriceGun
- type: UseDelay
delay: 3

View File

@@ -22,6 +22,8 @@
sprite: Objects/Tools/cable-coils.rsi
- type: CablePlacer
- type: Clickable
- type: StackPrice
price: 0.5
- type: entity
id: CableHVStack

View File

@@ -63,6 +63,8 @@
tags:
- VehicleKey
insertSound: /Audio/Effects/Vehicle/vehiclestartup.ogg
- type: StaticPrice
price: 750 # Grand Theft Auto.
- type: entity
id: VehiclePussyWagon

View File

@@ -313,3 +313,5 @@
magState: mag
steps: 5
zeroVisible: true
- type: StaticPrice
price: 750

View File

@@ -5,6 +5,8 @@
components:
- type: Item
size: 5
- type: StaticPrice
price: 5
- type: Clickable
- type: InteractionOutline
- type: MovedByPressure

View File

@@ -58,7 +58,6 @@
components:
- Paper
- type: entity
id: CrateBaseSecure
parent: BaseStructureDynamic

View File

@@ -48,3 +48,5 @@
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: StaticPrice
price: 0.5

View File

@@ -366,6 +366,8 @@
- type: Appearance
visuals:
- type: ReinforcedWallVisualizer
- type: StaticPrice
price: 41.5 # total material cost. If you change the recipe for the wall you should recalculate this.
# Riveting
- type: entity
@@ -585,6 +587,8 @@
- type: IconSmooth
key: walls
base: solid
- type: StaticPrice
price: 1 # total material cost. If you change the recipe for the wall you should recalculate this.
- type: entity
parent: WallBase

View File

@@ -40,6 +40,8 @@
trackAllDamage: true
damageOverlay:
sprite: Structures/Windows/cracks.rsi
- type: StaticPrice
price: 20.5
- type: entity
id: PlasmaWindowDirectional
@@ -77,3 +79,5 @@
max: 2
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: StaticPrice
price: 20.5

View File

@@ -49,6 +49,8 @@
trackAllDamage: true
damageOverlay:
sprite: Structures/Windows/cracks.rsi
- type: StaticPrice
price: 0.75
- type: entity
parent: ReinforcedWindow
@@ -68,6 +70,8 @@
- type: Occluder
sizeX: 32
sizeY: 32
- type: StaticPrice
price: 0.75
- type: entity
id: WindowReinforcedDirectional
@@ -107,3 +111,5 @@
max: 2
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: StaticPrice
price: 0.75

View File

@@ -49,6 +49,8 @@
trackAllDamage: true
damageOverlay:
sprite: Structures/Windows/cracks.rsi
- type: StaticPrice
price: 20.75
- type: entity
id: PlasmaReinforcedWindowDirectional
@@ -95,3 +97,5 @@
max: 2
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: StaticPrice
price: 20.75

View File

@@ -85,6 +85,8 @@
trackAllDamage: true
damageOverlay:
sprite: Structures/Windows/cracks.rsi
- type: StaticPrice
price: 0.5
- type: entity
id: WindowDirectional
@@ -161,6 +163,8 @@
- type: Construction
graph: WindowDirectional
node: windowDirectional
- type: StaticPrice
price: 0.5
- type: entity
id: WindowTintedDirectional
@@ -184,6 +188,8 @@
state: tinted_window
- type: Occluder
boundingBox: "-0.5,-0.5,0.5,-0.3"
- type: StaticPrice
price: 0.5
- type: entity
id: WindowFrostedDirectional
@@ -202,3 +208,5 @@
- type: Icon
sprite: Structures/Windows/directional.rsi
state: frosted_window
- type: StaticPrice
price: 0.5