Anomalies (#13371)
This commit is contained in:
@@ -9,3 +9,9 @@
|
||||
- id: ClothingHeadsetScience
|
||||
- id: ClothingMaskSterile
|
||||
- id: ClothingOuterCoatLab
|
||||
- id: AnomalyScanner
|
||||
prob: 0.5
|
||||
orGroup: Scanner
|
||||
- id: NodeScanner
|
||||
prob: 0.5
|
||||
orGroup: Scanner
|
||||
|
||||
@@ -518,6 +518,21 @@
|
||||
- MicroManipulatorStockPart
|
||||
- ScanningModuleStockPart
|
||||
- NodeScanner
|
||||
- AnomalyScanner
|
||||
|
||||
- type: technology
|
||||
name: technologies-anomaly-technology
|
||||
id: AnomalyTechnology
|
||||
description: technologies-anomaly-technology-description
|
||||
icon:
|
||||
sprite: Structures/Machines/Anomaly/ape.rsi
|
||||
state: base
|
||||
requiredPoints: 10000
|
||||
requiredTechnologies:
|
||||
- ScientificTechnology
|
||||
unlockedRecipes:
|
||||
- AnomalyVesselCircuitboard
|
||||
- APECircuitboard
|
||||
|
||||
- type: technology
|
||||
name: technologies-robotics-technology
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
- type: entity
|
||||
id: RandomAnomalySpawner
|
||||
name: random anomaly spawner
|
||||
parent: MarkerBase
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: red
|
||||
- sprite: Structures/Specific/anomaly.rsi
|
||||
state: anom1
|
||||
- type: RandomSpawner
|
||||
prototypes:
|
||||
- AnomalyPyroclastic
|
||||
- AnomalyGravity
|
||||
- AnomalyElectricity
|
||||
chance: 1
|
||||
@@ -179,6 +179,38 @@
|
||||
Steel: 5
|
||||
Cable: 1
|
||||
|
||||
- type: entity
|
||||
parent: BaseMachineCircuitboard
|
||||
id: AnomalyVesselCircuitboard
|
||||
name: anomaly vessel machine board
|
||||
description: A machine printed circuit board for an anomaly vessel
|
||||
components:
|
||||
- type: Sprite
|
||||
state: science
|
||||
- type: MachineBoard
|
||||
prototype: MachineAnomalyVessel
|
||||
requirements:
|
||||
ScanningModule: 5
|
||||
materialRequirements:
|
||||
Cable: 1
|
||||
PlasmaGlass: 10
|
||||
|
||||
- type: entity
|
||||
parent: BaseMachineCircuitboard
|
||||
id: APECircuitboard
|
||||
name: A.P.E. machine board
|
||||
description: A machine printed circuit board for an A.P.E.
|
||||
components:
|
||||
- type: Sprite
|
||||
state: science
|
||||
- type: MachineBoard
|
||||
prototype: MachineAPE
|
||||
requirements:
|
||||
Capacitor: 1
|
||||
Laser: 3
|
||||
materialRequirements:
|
||||
Cable: 1
|
||||
|
||||
- type: entity
|
||||
id: ThermomachineFreezerMachineCircuitBoard
|
||||
parent: BaseMachineCircuitboard
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
- type: entity
|
||||
parent: BaseItem
|
||||
id: AnomalyScanner
|
||||
name: anomaly scanner
|
||||
description: A hand-held scanner built to collect information on various anomalous objects.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Research/anomalyscanner.rsi
|
||||
netsync: false
|
||||
state: icon
|
||||
- type: ActivatableUI
|
||||
key: enum.AnomalyScannerUiKey.Key
|
||||
closeOnHandDeselect: false
|
||||
inHandsOnly: true
|
||||
- type: UserInterface
|
||||
interfaces:
|
||||
- key: enum.AnomalyScannerUiKey.Key
|
||||
type: AnomalyScannerBoundUserInterface
|
||||
- type: AnomalyScanner
|
||||
@@ -269,6 +269,58 @@
|
||||
- type: TimedDespawn
|
||||
lifetime: 0.4
|
||||
|
||||
- type: entity
|
||||
parent: BaseBullet
|
||||
id: AnomalousParticleDelta
|
||||
name: delta particles
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: AnomalousParticle
|
||||
particleType: Delta
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Guns/Projectiles/magic.rsi
|
||||
layers:
|
||||
- state: magicm
|
||||
shader: unshaded
|
||||
- type: Ammo
|
||||
muzzleFlash: null
|
||||
- type: Physics
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
- shape:
|
||||
!type:PhysShapeAabb
|
||||
bounds: "-0.2,-0.2,0.2,0.2"
|
||||
hard: false
|
||||
id: projectile
|
||||
mask:
|
||||
- Impassable
|
||||
- Opaque
|
||||
- *flybyfixture
|
||||
- type: Projectile
|
||||
damage:
|
||||
types:
|
||||
Heat: 3
|
||||
- type: TimedDespawn
|
||||
lifetime: 3
|
||||
|
||||
- type: entity
|
||||
parent: AnomalousParticleDelta
|
||||
id: AnomalousParticleEpsilon
|
||||
name: epsilon particles
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: AnomalousParticle
|
||||
particleType: Epsilon
|
||||
|
||||
- type: entity
|
||||
parent: AnomalousParticleDelta
|
||||
id: AnomalousParticleZeta
|
||||
name: zeta particles
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: AnomalousParticle
|
||||
particleType: Zeta
|
||||
|
||||
# Launcher projectiles (grenade / rocket)
|
||||
- type: entity
|
||||
id: BulletRocket
|
||||
|
||||
@@ -0,0 +1,240 @@
|
||||
- type: entity
|
||||
id: MachineAnomalyVessel
|
||||
parent: [ BaseMachinePowered, ConstructibleMachine ]
|
||||
name: anomaly vessel
|
||||
description: A container able to harness a scan of an anomaly and turn it into research points.
|
||||
components:
|
||||
- type: Sprite
|
||||
noRot: true
|
||||
sprite: Structures/Machines/Anomaly/anomaly_vessel.rsi
|
||||
layers:
|
||||
- state: base
|
||||
- state: powered
|
||||
shader: unshaded
|
||||
map: ["enum.PowerDeviceVisualLayers.Powered"]
|
||||
- state: anomaly
|
||||
shader: unshaded
|
||||
map: ["enum.AnomalyVesselVisualLayers.Base"]
|
||||
- state: panel
|
||||
map: ["enum.WiresVisualLayers.MaintenancePanel"]
|
||||
- type: Transform
|
||||
noRot: false
|
||||
- type: AnomalyVessel
|
||||
- type: ResearchClient
|
||||
- type: ActivatableUI
|
||||
key: enum.ResearchClientUiKey.Key
|
||||
- type: ActivatableUIRequiresPower
|
||||
- type: UserInterface
|
||||
interfaces:
|
||||
- key: enum.ResearchClientUiKey.Key
|
||||
type: ResearchClientBoundUserInterface
|
||||
- type: Machine
|
||||
board: AnomalyVesselCircuitboard
|
||||
- type: PointLight
|
||||
radius: 1.2
|
||||
energy: 2
|
||||
color: "#fca3c0"
|
||||
- type: Appearance
|
||||
- type: Wires
|
||||
BoardName: "Vessel"
|
||||
LayoutId: Vessel
|
||||
- type: AmbientSound
|
||||
enabled: false
|
||||
range: 3
|
||||
volume: -8
|
||||
sound:
|
||||
path: /Audio/Ambience/anomaly_drone.ogg
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.PowerDeviceVisuals.Powered:
|
||||
enum.PowerDeviceVisualLayers.Powered:
|
||||
True: { visible: true }
|
||||
False: { visible: false }
|
||||
enum.AnomalyVesselVisuals.HasAnomaly:
|
||||
enum.AnomalyVesselVisualLayers.Base:
|
||||
True: { visible: true }
|
||||
False: { visible: false }
|
||||
enum.WiresVisuals.MaintenancePanelState:
|
||||
enum.WiresVisualLayers.MaintenancePanel:
|
||||
True: { visible: false }
|
||||
False: { visible: true }
|
||||
- type: Explosive
|
||||
explosionType: Default
|
||||
maxIntensity: 20
|
||||
intensitySlope: 30
|
||||
totalIntensity: 30
|
||||
canCreateVacuum: false
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 150
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
- !type:PlaySoundBehavior
|
||||
sound:
|
||||
path: /Audio/Effects/metalbreak.ogg
|
||||
- !type:ExplodeBehavior
|
||||
|
||||
- type: entity
|
||||
id: MachineAPE
|
||||
parent: [ BaseMachinePowered, ConstructibleMachine ]
|
||||
name: A.P.E.
|
||||
description: An Anomalous Particle Emitter, capable of shooting out unstable particles which can interface with anomalies.
|
||||
components:
|
||||
- type: Sprite
|
||||
noRot: true
|
||||
sprite: Structures/Machines/Anomaly/ape.rsi
|
||||
layers:
|
||||
- state: base
|
||||
- state: unshaded
|
||||
shader: unshaded
|
||||
map: ["enum.PowerDeviceVisualLayers.Powered"]
|
||||
- state: panel
|
||||
map: ["enum.WiresVisualLayers.MaintenancePanel"]
|
||||
- state: firing
|
||||
shader: unshaded
|
||||
visible: false
|
||||
map: ["enum.EmitterVisualLayers.Lights"]
|
||||
- state: locked
|
||||
shader: unshaded
|
||||
visible: false
|
||||
map: ["enum.StorageVisualLayers.Lock"]
|
||||
- type: Transform
|
||||
noRot: false
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
- shape:
|
||||
!type:PhysShapeCircle
|
||||
radius: 0.35
|
||||
density: 190
|
||||
mask:
|
||||
- MachineMask
|
||||
layer:
|
||||
- MachineLayer
|
||||
- type: Rotatable
|
||||
rotateWhileAnchored: true
|
||||
- type: Machine
|
||||
board: APECircuitboard
|
||||
- type: Lock
|
||||
locked: false
|
||||
- type: AccessReader
|
||||
access: [[ "Research" ]]
|
||||
- type: Emitter
|
||||
onState: firing
|
||||
powerUseActive: 100
|
||||
boltType: AnomalousParticleDelta
|
||||
underpoweredState: underpowered
|
||||
selectableTypes:
|
||||
- AnomalousParticleDelta
|
||||
- AnomalousParticleEpsilon
|
||||
- AnomalousParticleZeta
|
||||
fireBurstSize: 1
|
||||
baseFireBurstDelayMin: 2
|
||||
baseFireBurstDelayMax: 6
|
||||
- type: ApcPowerReceiver
|
||||
powerLoad: 100
|
||||
- type: Gun
|
||||
fireRate: 10 #just has to be fast enough to keep up with upgrades
|
||||
showExamineText: false
|
||||
selectedMode: SemiAuto
|
||||
availableModes:
|
||||
- SemiAuto
|
||||
soundGunshot:
|
||||
path: /Audio/Weapons/Guns/Gunshots/taser2.ogg
|
||||
- type: Appearance
|
||||
- type: WiresVisuals
|
||||
- type: Wires
|
||||
BoardName: "Ape"
|
||||
LayoutId: Ape
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.PowerDeviceVisuals.Powered:
|
||||
enum.PowerDeviceVisualLayers.Powered:
|
||||
True: { visible: true }
|
||||
False: { visible: false }
|
||||
|
||||
- type: entity
|
||||
id: MachineAnomalyGenerator
|
||||
parent: BaseMachinePowered
|
||||
name: anomaly generator
|
||||
description: The peak of psuedoscientific technology.
|
||||
placement:
|
||||
mode: AlignTileAny
|
||||
components:
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Structures/Machines/Anomaly/anomaly_generator.rsi
|
||||
snapCardinals: true
|
||||
layers:
|
||||
- state: base
|
||||
- state: panel
|
||||
map: ["enum.WiresVisualLayers.MaintenancePanel"]
|
||||
visible: false
|
||||
- state: unshaded
|
||||
shader: unshaded
|
||||
map: ["enum.PowerDeviceVisualLayers.Powered"]
|
||||
- state: inserting
|
||||
visible: false
|
||||
map: ["enum.MaterialStorageVisualLayers.Inserting"]
|
||||
- type: Transform
|
||||
anchored: true
|
||||
- type: ApcPowerReceiver
|
||||
powerLoad: 1500
|
||||
- type: ExtensionCableReceiver
|
||||
- type: AmbientSound
|
||||
range: 5
|
||||
volume: -3
|
||||
sound:
|
||||
path: /Audio/Ambience/Objects/anomaly_generator.ogg
|
||||
- type: Physics
|
||||
bodyType: Static
|
||||
- type: AnomalyGenerator
|
||||
- type: MaterialStorage
|
||||
whitelist:
|
||||
tags:
|
||||
- Sheet
|
||||
materialWhiteList:
|
||||
- Plasma
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
- shape:
|
||||
!type:PhysShapeAabb
|
||||
bounds: "-1.3,-1.3,1.3,1.3"
|
||||
density: 50
|
||||
mask:
|
||||
- LargeMobMask
|
||||
layer:
|
||||
- WallLayer
|
||||
- type: Repairable
|
||||
fuelCost: 10
|
||||
doAfterDelay: 5
|
||||
- type: Wires
|
||||
BoardName: "AnomalyGenerator"
|
||||
LayoutId: AnomalyGenerator
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 500
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Breakage"]
|
||||
- type: ActivatableUI
|
||||
key: enum.AnomalyGeneratorUiKey.Key
|
||||
- type: ActivatableUIRequiresPower
|
||||
- type: UserInterface
|
||||
interfaces:
|
||||
- key: enum.AnomalyGeneratorUiKey.Key
|
||||
type: AnomalyGeneratorBoundUserInterface
|
||||
- type: Appearance
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.PowerDeviceVisuals.Powered:
|
||||
enum.PowerDeviceVisualLayers.Powered:
|
||||
True: { visible: true }
|
||||
False: { visible: false }
|
||||
- type: WiresVisuals
|
||||
- type: StaticPrice
|
||||
price: 5000
|
||||
@@ -169,6 +169,7 @@
|
||||
- MiningDrill
|
||||
- ConveyorBeltAssembly
|
||||
- AppraisalTool
|
||||
- AnomalyScanner
|
||||
- RCD
|
||||
- RCDAmmo
|
||||
- HydroponicsToolScythe
|
||||
@@ -314,6 +315,8 @@
|
||||
- SeedExtractorMachineCircuitboard
|
||||
- AnalysisComputerCircuitboard
|
||||
- ExosuitFabricatorMachineCircuitboard
|
||||
- AnomalyVesselCircuitboard
|
||||
- APECircuitboard
|
||||
- ArtifactAnalyzerMachineCircuitboard
|
||||
- TraversalDistorterMachineCircuitboard
|
||||
- BoozeDispenserMachineCircuitboard
|
||||
|
||||
104
Resources/Prototypes/Entities/Structures/Specific/anomalies.yml
Normal file
104
Resources/Prototypes/Entities/Structures/Specific/anomalies.yml
Normal file
@@ -0,0 +1,104 @@
|
||||
- type: entity
|
||||
abstract: true
|
||||
id: BaseAnomaly
|
||||
name: anomaly
|
||||
description: A impossible object in space. Should you be standing this close to it?
|
||||
components:
|
||||
- type: Anomaly
|
||||
pulseSound:
|
||||
collection: RadiationPulse
|
||||
params:
|
||||
volume: 5
|
||||
- type: AmbientSound
|
||||
range: 5
|
||||
volume: -5
|
||||
sound:
|
||||
path: /Audio/Ambience/anomaly_drone.ogg
|
||||
- type: Transform
|
||||
anchored: true
|
||||
- type: Physics
|
||||
bodyType: Static
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
- shape:
|
||||
!type:PhysShapeCircle
|
||||
radius: 0.35
|
||||
density: 50
|
||||
mask:
|
||||
- MobMask
|
||||
layer:
|
||||
- MobLayer
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
drawdepth: Items
|
||||
sprite: Structures/Specific/anomaly.rsi
|
||||
- type: InteractionOutline
|
||||
- type: Clickable
|
||||
- type: Damageable
|
||||
damageContainer: Inorganic
|
||||
damageModifierSet: Metallic
|
||||
- type: Appearance
|
||||
- type: EmitSoundOnSpawn
|
||||
sound:
|
||||
path: /Audio/Effects/teleport_arrival.ogg
|
||||
|
||||
- type: entity
|
||||
id: AnomalyPyroclastic
|
||||
parent: BaseAnomaly
|
||||
suffix: Pyroclastic
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: anom1
|
||||
map: ["enum.AnomalyVisualLayers.Base"]
|
||||
- state: anom1-pulse
|
||||
map: ["enum.AnomalyVisualLayers.Animated"]
|
||||
visible: false
|
||||
- type: PointLight
|
||||
radius: 2.0
|
||||
energy: 7.5
|
||||
color: "#fca3c0"
|
||||
castShadows: false
|
||||
- type: PyroclasticAnomaly
|
||||
|
||||
- type: entity
|
||||
id: AnomalyGravity
|
||||
parent: BaseAnomaly
|
||||
suffix: Gravity
|
||||
components:
|
||||
- type: Sprite
|
||||
drawdepth: Effects #it needs to draw over stuff.
|
||||
layers:
|
||||
- state: anom2
|
||||
map: ["enum.AnomalyVisualLayers.Base"]
|
||||
- state: anom2-pulse
|
||||
map: ["enum.AnomalyVisualLayers.Animated"]
|
||||
visible: false
|
||||
- type: PointLight
|
||||
radius: 5.0
|
||||
energy: 20
|
||||
color: "#1e070e"
|
||||
castShadows: false
|
||||
- type: GravityAnomaly
|
||||
- type: GravityWell
|
||||
- type: RadiationSource
|
||||
|
||||
- type: entity
|
||||
id: AnomalyElectricity
|
||||
parent: BaseAnomaly
|
||||
suffix: Electricity
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: anom3
|
||||
map: ["enum.AnomalyVisualLayers.Base"]
|
||||
- state: anom3-pulse
|
||||
map: ["enum.AnomalyVisualLayers.Animated"]
|
||||
visible: false
|
||||
- type: PointLight
|
||||
radius: 2.0
|
||||
energy: 5.0
|
||||
color: "#ffffaa"
|
||||
castShadows: false
|
||||
- type: ElectricityAnomaly
|
||||
- type: Electrified
|
||||
@@ -246,12 +246,21 @@
|
||||
- type: entity
|
||||
parent: BaseSign
|
||||
id: SignAnomaly
|
||||
name: xeno-archeology lab sign
|
||||
description: A sign indicating the xeno-archeology lab.
|
||||
name: xenoarcheology lab sign
|
||||
description: A sign indicating the xenoarcheology lab.
|
||||
components:
|
||||
- type: Sprite
|
||||
state: anomaly
|
||||
|
||||
- type: entity
|
||||
parent: BaseSign
|
||||
id: SignAnomaly2
|
||||
name: anomaly lab sign
|
||||
description: A sign indicating the anomalous research lab.
|
||||
components:
|
||||
- type: Sprite
|
||||
state: anomaly2
|
||||
|
||||
- type: entity
|
||||
parent: BaseSign
|
||||
id: SignAtmos
|
||||
|
||||
@@ -48,3 +48,11 @@
|
||||
Steel: 100
|
||||
Plastic: 200
|
||||
Glass: 100
|
||||
|
||||
- type: latheRecipe
|
||||
id: AnomalyScanner
|
||||
result: AnomalyScanner
|
||||
completetime: 2
|
||||
materials:
|
||||
Plastic: 200
|
||||
Glass: 150
|
||||
@@ -202,6 +202,22 @@
|
||||
Glass: 900
|
||||
Gold: 100
|
||||
|
||||
- type: latheRecipe
|
||||
id: AnomalyVesselCircuitboard
|
||||
result: AnomalyVesselCircuitboard
|
||||
completetime: 4
|
||||
materials:
|
||||
Steel: 100
|
||||
Glass: 900
|
||||
|
||||
- type: latheRecipe
|
||||
id: APECircuitboard
|
||||
result: APECircuitboard
|
||||
completetime: 4
|
||||
materials:
|
||||
Steel: 100
|
||||
Glass: 900
|
||||
|
||||
- type: latheRecipe
|
||||
id: ReagentGrinderMachineCircuitboard
|
||||
result: ReagentGrinderMachineCircuitboard
|
||||
|
||||
Reference in New Issue
Block a user