This commit is contained in:
Nemanja
2023-01-17 00:05:20 -05:00
committed by GitHub
parent 06f19dafc9
commit 9cd0c11870
85 changed files with 3109 additions and 54 deletions

View File

@@ -9,3 +9,9 @@
- id: ClothingHeadsetScience
- id: ClothingMaskSterile
- id: ClothingOuterCoatLab
- id: AnomalyScanner
prob: 0.5
orGroup: Scanner
- id: NodeScanner
prob: 0.5
orGroup: Scanner

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -169,6 +169,7 @@
- MiningDrill
- ConveyorBeltAssembly
- AppraisalTool
- AnomalyScanner
- RCD
- RCDAmmo
- HydroponicsToolScythe
@@ -314,6 +315,8 @@
- SeedExtractorMachineCircuitboard
- AnalysisComputerCircuitboard
- ExosuitFabricatorMachineCircuitboard
- AnomalyVesselCircuitboard
- APECircuitboard
- ArtifactAnalyzerMachineCircuitboard
- TraversalDistorterMachineCircuitboard
- BoozeDispenserMachineCircuitboard

View 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

View File

@@ -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

View File

@@ -48,3 +48,11 @@
Steel: 100
Plastic: 200
Glass: 100
- type: latheRecipe
id: AnomalyScanner
result: AnomalyScanner
completetime: 2
materials:
Plastic: 200
Glass: 150

View File

@@ -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