plutonium core steal objective (#26786)
* add textures * add SealingCabinet system * add StoreUnlocker/ObjectiveUnlock system * add plutonium core and nuke core container * make nuke deconstructable * add steal core objective * add core extraction toolbox to new category * typo ops wrench fuel * use queries and resolve, have it resolve instead of using Comp --------- Co-authored-by: deltanedas <@deltanedas:kde.org>
This commit is contained in:
@@ -121,6 +121,19 @@
|
||||
- id: ClothingHandsGlovesCombat
|
||||
- id: ClothingMaskGasSyndicate
|
||||
|
||||
- type: entity
|
||||
parent: ToolboxSyndicate
|
||||
id: ToolboxSyndicateFilledCoreExtraction
|
||||
suffix: Filled, Core Extraction
|
||||
components:
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: Crowbar
|
||||
- id: Welder
|
||||
- id: Wrench
|
||||
- id: ThinTippedScrewdriver
|
||||
- id: NukeCoreContainer
|
||||
|
||||
- type: entity
|
||||
id: ToolboxGoldFilled
|
||||
name: golden toolbox
|
||||
|
||||
@@ -1727,3 +1727,23 @@
|
||||
blacklist:
|
||||
components:
|
||||
- SurplusBundle
|
||||
|
||||
# Objective-specific
|
||||
- type: listing
|
||||
id: UplinkCoreExtractionToolbox
|
||||
name: uplink-core-extraction-toolbox-name
|
||||
description: uplink-core-extraction-toolbox-desc
|
||||
icon:
|
||||
sprite: Objects/Misc/nuke_core_container.rsi
|
||||
state: closed
|
||||
productEntity: ToolboxSyndicateFilledCoreExtraction
|
||||
categories:
|
||||
- UplinkObjectives
|
||||
conditions:
|
||||
- !type:ObjectiveUnlockCondition
|
||||
- !type:ListingLimitedStockCondition
|
||||
stock: 1
|
||||
- !type:BuyerWhitelistCondition
|
||||
blacklist:
|
||||
components:
|
||||
- SurplusBundle
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
- type: entity
|
||||
parent: BaseItem
|
||||
id: PlutoniumCore
|
||||
name: plutonium core
|
||||
description: Extremely radioactive, even looking at this with the naked eye is dangerous.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Misc/plutonium_core.rsi
|
||||
state: icon
|
||||
- type: StealTarget
|
||||
stealGroup: PlutoniumCore
|
||||
- type: RadiationSource
|
||||
intensity: 4
|
||||
slope: 1
|
||||
- type: StaticPrice
|
||||
price: 49000
|
||||
- type: Tag
|
||||
tags:
|
||||
- PlutoniumCore
|
||||
|
||||
- type: entity
|
||||
parent: [BaseItem, BaseItemCabinet]
|
||||
id: NukeCoreContainer
|
||||
name: nuke core container
|
||||
description: Solid container for radioactive objects.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Misc/nuke_core_container.rsi
|
||||
layers:
|
||||
- state: closed
|
||||
map: [ "enum.OpenableVisuals.Layer" ]
|
||||
- state: core_closed
|
||||
map: [ "enum.ItemCabinetVisuals.Layer" ]
|
||||
visible: false
|
||||
shader: unshaded
|
||||
- type: Item
|
||||
size: Normal
|
||||
shape:
|
||||
- 0,0,1,1
|
||||
- type: RadiationBlockingContainer
|
||||
resistance: 4
|
||||
- type: SealingCabinet
|
||||
sealedPopup: nuke-core-container-sealed-popup
|
||||
- type: ItemSlots
|
||||
slots:
|
||||
ItemCabinet:
|
||||
whitelist:
|
||||
tags:
|
||||
- PlutoniumCore
|
||||
whitelistFailPopup: nuke-core-container-whitelist-fail-popup
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.OpenableVisuals.Opened:
|
||||
enum.OpenableVisuals.Layer:
|
||||
True: { state: open }
|
||||
False: { state: closed }
|
||||
enum.ItemCabinetVisuals.Layer:
|
||||
True: { state: core_open }
|
||||
False: { state: core_closed }
|
||||
enum.ItemCabinetVisuals.ContainsItem:
|
||||
enum.ItemCabinetVisuals.Layer:
|
||||
True: { visible: true }
|
||||
False: { visible: false }
|
||||
10
Resources/Prototypes/Entities/Objects/Tools/syndicate.yml
Normal file
10
Resources/Prototypes/Entities/Objects/Tools/syndicate.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
- type: entity
|
||||
parent: Screwdriver
|
||||
id: ThinTippedScrewdriver
|
||||
description: A screwdriver with an ultra thin tip that's carefully designed to boost screwing speed.
|
||||
suffix: DO NOT MAP
|
||||
components:
|
||||
- type: Tool
|
||||
qualities:
|
||||
- Screwing
|
||||
- FineScrewing
|
||||
@@ -1,8 +1,8 @@
|
||||
- type: entity
|
||||
abstract: true
|
||||
parent: [BaseStructure, StructureWheeled]
|
||||
id: NuclearBomb
|
||||
id: BaseNuclearBomb
|
||||
name: nuclear fission explosive
|
||||
description: You probably shouldn't stick around to see if this is armed.
|
||||
components:
|
||||
- type: Transform
|
||||
anchored: true
|
||||
@@ -61,6 +61,23 @@
|
||||
- MachineMask
|
||||
layer:
|
||||
- HalfWallLayer
|
||||
- type: InteractionOutline
|
||||
- type: CargoSellBlacklist
|
||||
- type: ArrivalsBlacklist
|
||||
- type: WarpPoint
|
||||
follow: true
|
||||
location: nuclear bomb
|
||||
- type: StealTarget
|
||||
stealGroup: NuclearBomb
|
||||
- type: Construction
|
||||
graph: NuclearBomb
|
||||
deconstructionTarget: disarmed
|
||||
|
||||
- type: entity
|
||||
parent: BaseNuclearBomb
|
||||
id: NuclearBomb
|
||||
description: You probably shouldn't stick around to see if this is armed.
|
||||
components:
|
||||
- type: PointLight
|
||||
enabled: false
|
||||
radius: 4
|
||||
@@ -90,7 +107,6 @@
|
||||
- NukeDisk
|
||||
alertLevelOnActivate: delta
|
||||
alertLevelOnDeactivate: green
|
||||
- type: InteractionOutline
|
||||
- type: ActivatableUI
|
||||
key: enum.NukeUiKey.Key
|
||||
- type: UserInterface
|
||||
@@ -99,17 +115,12 @@
|
||||
type: NukeBoundUserInterface
|
||||
- type: StaticPrice
|
||||
price: 50000 # YOU STOLE A NUCLEAR FISSION EXPLOSIVE?!
|
||||
- type: CargoSellBlacklist
|
||||
- type: ArrivalsBlacklist
|
||||
- type: ItemSlots
|
||||
- type: ContainerContainer
|
||||
containers:
|
||||
Nuke: !type:ContainerSlot
|
||||
- type: StealTarget
|
||||
stealGroup: NuclearBomb
|
||||
- type: WarpPoint
|
||||
follow: true
|
||||
location: nuclear bomb
|
||||
- type: Construction
|
||||
node: nuke
|
||||
|
||||
- type: entity
|
||||
parent: NuclearBomb
|
||||
@@ -121,6 +132,17 @@
|
||||
- type: Physics
|
||||
bodyType: Dynamic
|
||||
|
||||
- type: entity
|
||||
parent: BaseNuclearBomb
|
||||
id: NuclearBombDisarmed
|
||||
suffix: Disarmed
|
||||
description: "You can clearly see that this can't be armed, given its lack of nuclear material."
|
||||
components:
|
||||
- type: StaticPrice
|
||||
price: 1000 # fancy paperweight
|
||||
- type: Construction
|
||||
node: disarmed
|
||||
|
||||
- type: entity
|
||||
parent: StorageTank
|
||||
id: NuclearBombKeg
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
CMOHyposprayStealObjective: 1
|
||||
CMOCrewMonitorStealObjective: 1
|
||||
RDHardsuitStealObjective: 1
|
||||
NukeDiskStealObjective: 1
|
||||
MagbootsStealObjective: 1
|
||||
CorgiMeatStealObjective: 1
|
||||
ClipboardStealObjective: 1
|
||||
@@ -22,6 +21,8 @@
|
||||
CaptainJetpackStealObjective: 0.5
|
||||
HandTeleporterStealObjective: 0.5
|
||||
SecretDocumentsStealObjective: 0.5
|
||||
PlutoniumCoreStealObjective: 0.5
|
||||
NukeDiskStealObjective: 0.25
|
||||
|
||||
- type: weightedRandom
|
||||
id: TraitorObjectiveGroupKill
|
||||
|
||||
@@ -84,6 +84,13 @@
|
||||
sprite: Objects/Misc/nukedisk.rsi
|
||||
state: icon
|
||||
|
||||
- type: stealTargetGroup
|
||||
id: PlutoniumCore
|
||||
name: plutonium core
|
||||
sprite:
|
||||
sprite: Objects/Misc/plutonium_core.rsi
|
||||
state: icon
|
||||
|
||||
# Thief Collection
|
||||
|
||||
- type: stealTargetGroup
|
||||
|
||||
@@ -293,3 +293,21 @@
|
||||
- type: StealCondition
|
||||
stealGroup: NukeDisk
|
||||
owner: objective-condition-steal-station
|
||||
|
||||
# Station
|
||||
|
||||
- type: entity
|
||||
noSpawn: true
|
||||
parent: BaseTraitorStealObjective
|
||||
id: PlutoniumCoreStealObjective
|
||||
components:
|
||||
- type: Objective
|
||||
# its hard to steal and leaves evidence, but you can get away with it.
|
||||
difficulty: 3.5
|
||||
- type: NotCommandRequirement
|
||||
- type: StealCondition
|
||||
stealGroup: PlutoniumCore
|
||||
owner: objective-condition-steal-nuclear-bomb
|
||||
- type: StoreUnlocker
|
||||
listings:
|
||||
- UplinkCoreExtractionToolbox
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
- type: constructionGraph
|
||||
id: NuclearBomb
|
||||
start: disarmed
|
||||
graph:
|
||||
- node: disarmed
|
||||
entity: NuclearBombDisarmed
|
||||
edges:
|
||||
- to: core_exposed
|
||||
steps:
|
||||
- tag: PlutoniumCore
|
||||
name: "a plutonium core"
|
||||
icon:
|
||||
sprite: Objects/Misc/plutonium_core.rsi
|
||||
state: icon
|
||||
doAfter: 1
|
||||
|
||||
- node: core_exposed
|
||||
edges:
|
||||
- to: disarmed
|
||||
completed:
|
||||
- !type:GivePrototype
|
||||
prototype: PlutoniumCore
|
||||
steps:
|
||||
- tool: Prying
|
||||
doAfter: 2
|
||||
- to: panel_removed
|
||||
steps:
|
||||
- material: Plasteel
|
||||
amount: 8
|
||||
doAfter: 2
|
||||
- tool: Welding
|
||||
doAfter: 4
|
||||
|
||||
- node: panel_removed
|
||||
edges:
|
||||
- to: core_exposed
|
||||
completed:
|
||||
- !type:GivePrototype
|
||||
prototype: SheetPlasteel1
|
||||
amount: 8
|
||||
steps:
|
||||
- tool: Welding
|
||||
doAfter: 6
|
||||
- tool: Anchoring
|
||||
doAfter: 2
|
||||
- tool: Welding
|
||||
doAfter: 8
|
||||
- to: panel_exposed
|
||||
steps:
|
||||
- material: Plasteel
|
||||
amount: 4
|
||||
doAfter: 2
|
||||
- tool: Welding
|
||||
doAfter: 2
|
||||
|
||||
- node: panel_exposed
|
||||
edges:
|
||||
- to: panel_removed
|
||||
completed:
|
||||
- !type:GivePrototype
|
||||
prototype: SheetPlasteel1
|
||||
amount: 4
|
||||
steps:
|
||||
- tool: Welding
|
||||
doAfter: 2
|
||||
- tool: Prying
|
||||
doAfter: 2
|
||||
- to: nuke
|
||||
steps:
|
||||
- tool: FineScrewing
|
||||
doAfter: 2
|
||||
|
||||
- node: nuke
|
||||
entity: NuclearBomb
|
||||
edges:
|
||||
- to: panel_exposed
|
||||
steps:
|
||||
- tool: FineScrewing
|
||||
doAfter: 2
|
||||
@@ -89,6 +89,11 @@
|
||||
name: store-category-pointless
|
||||
priority: 10
|
||||
|
||||
- type: storeCategory
|
||||
id: UplinkObjectives
|
||||
name: store-category-objectives
|
||||
priority: 11
|
||||
|
||||
#revenant
|
||||
- type: storeCategory
|
||||
id: RevenantAbilities
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
- UplinkWearables
|
||||
- UplinkJob
|
||||
- UplinkPointless
|
||||
- UplinkObjectives
|
||||
currencyWhitelist:
|
||||
- Telecrystal
|
||||
balance:
|
||||
|
||||
@@ -1020,6 +1020,9 @@
|
||||
- type: Tag
|
||||
id: PlushieSharkPink
|
||||
|
||||
- type: Tag
|
||||
id: PlutoniumCore
|
||||
|
||||
- type: Tag
|
||||
id: Potato
|
||||
|
||||
|
||||
@@ -67,3 +67,11 @@
|
||||
toolName: tool-quality-rolling-tool-name
|
||||
spawn: RollingPin
|
||||
icon: { sprite: Objects/Tools/rolling_pin.rsi, state: icon }
|
||||
|
||||
# do not give this to normal tools, its for nuke deconstruction
|
||||
- type: tool
|
||||
id: FineScrewing
|
||||
name: tool-quality-fine-screwing
|
||||
toolName: tool-quality-fine-screwing-tool-name
|
||||
spawn: ThinTippedScrewdriver
|
||||
icon: { sprite: Objects/Tools/screwdriver.rsi, state: screwdriver-map }
|
||||
|
||||
Reference in New Issue
Block a user