XenoArch [Science Overhaul] (#12204)

* multi-node xeno artifacts

* refactor existing artifact effects

* more tweaks to generation

* more shit plus fix tests

* more generation stuff plus threat levels

* doink

* now make it build

* defer the artifact activation to not cause errors

also pricing

* some changes

* all of the yaml + ui stuff for artifact analyzer

* machine linking and starting to make the ui functional

* artifact analyzer display

* a shit ton of artifact analyzer stuff

* more changes; making destroy work properly; progress bar tweaks

* getting shit going!

ALL RIGHT

* small tweaks that didn't help much

* Komm susser todd: the end of analysis

* recipes and hints and ui, oh my!

* add some in-game sources

gotta prepare for day 1 launch

* node data + ditch random seed in place of id

* bunch of triggers

* finish off the last few triggers

* implement machine examine verb

* knock, flicker, blink, throw

* shatter, foam, shuffle, heat

* fix all the shit i broke

* *some* of these have to be good, no?

25 effects

* callin' it there for effects

* comments + reword some trigger hints

* don't mind this little commit here

* byref event

* fix brokey node entry

* fix low pressure trigger

* mirror review plus fixing 0x40's bug

also the throw artifact threw incorrectly

* randomize the event message a teeny bit
This commit is contained in:
Nemanja
2022-11-06 18:05:44 -05:00
committed by GitHub
parent 0d4a605a94
commit 273e0968e4
107 changed files with 3321 additions and 358 deletions

View File

@@ -0,0 +1,318 @@
- type: artifactEffect
id: EffectBadFeeling
targetDepth: 0
effectHint: artifact-effect-hint-mental
components:
- type: TelepathicArtifact
messages:
- badfeeling-artifact-1
- badfeeling-artifact-2
- badfeeling-artifact-3
- badfeeling-artifact-4
- badfeeling-artifact-5
- badfeeling-artifact-6
- badfeeling-artifact-7
- badfeeling-artifact-8
- badfeeling-artifact-9
- badfeeling-artifact-10
- badfeeling-artifact-11
- badfeeling-artifact-12
- badfeeling-artifact-13
- badfeeling-artifact-14
- badfeeling-artifact-15
drastic:
- badfeeling-artifact-drastic-1
- badfeeling-artifact-drastic-2
- badfeeling-artifact-drastic-3
- badfeeling-artifact-drastic-4
- badfeeling-artifact-drastic-5
- badfeeling-artifact-drastic-6
- type: artifactEffect
id: EffectGoodFeeling
targetDepth: 0
effectHint: artifact-effect-hint-mental
components:
- type: TelepathicArtifact
messages:
- goodfeeling-artifact-1
- goodfeeling-artifact-2
- goodfeeling-artifact-3
- goodfeeling-artifact-4
- goodfeeling-artifact-5
- goodfeeling-artifact-6
- goodfeeling-artifact-7
- goodfeeling-artifact-8
- goodfeeling-artifact-9
- goodfeeling-artifact-10
- goodfeeling-artifact-11
- goodfeeling-artifact-12
- goodfeeling-artifact-13
- goodfeeling-artifact-14
drastic:
- goodfeeling-artifact-drastic-1
- goodfeeling-artifact-drastic-2
- goodfeeling-artifact-drastic-3
- goodfeeling-artifact-drastic-4
- goodfeeling-artifact-drastic-5
- goodfeeling-artifact-drastic-6
- type: artifactEffect
id: EffectJunkSpawn
targetDepth: 0
effectHint: artifact-effect-hint-creation
components:
- type: SpawnArtifact
maxSpawns: 10
consistentSpawns: false
possiblePrototypes:
- FoodPacketSyndiTrash
- FoodPacketSemkiTrash
- FoodPacketBoritosTrash
- FoodPacketCheesieTrash
- FoodPacketChipsTrash
- FoodPacketChocolateTrash
- FoodPacketChowMeinTrash
- FoodPacketEnergyTrash
- FoodPacketPopcornTrash
- FoodPacketRaisinsTrash
- RandomInstruments
- ToySpawner
- type: artifactEffect
id: EffectLightFlicker
targetDepth: 0
effectHint: artifact-effect-hint-electrical-interference
components:
- type: LightFlickerArtifact
- type: artifactEffect
id: EffectPointLight
targetDepth: 0
components:
- type: PointLight
radius: 2
energy: 5
color: "#27153b"
- type: artifactEffect #bornana
id: EffectBananaSpawn
targetDepth: 1
effectHint: artifact-effect-hint-creation
components:
- type: SpawnArtifact
maxSpawns: 20
possiblePrototypes:
- FoodBanana
- type: artifactEffect
id: EffectCold
targetDepth: 1
effectHint: artifact-effect-hint-consumption
components:
- type: TemperatureArtifact
targetTemp: 150
- type: artifactEffect
id: EffectThrow
targetDepth: 1
effectHint: artifact-effect-hint-environment
components:
- type: ThrowArtifact
- type: artifactEffect
id: EffectFoamMild
targetDepth: 1
effectHint: artifact-effect-hint-biochemical
components:
- type: FoamArtifact
reagents:
- Oxygen
- Plasma
- Blood
- SpaceCleaner
- Nutriment
- SpaceLube
- Ethanol
- Mercury
- VentCrud
- WeldingFuel
- type: artifactEffect
id: EffectInstrumentSpawn
targetDepth: 1
effectHint: artifact-effect-hint-creation
components:
- type: SpawnArtifact
maxSpawns: 5
possiblePrototypes:
- RandomInstruments
- type: artifactEffect
id: EffectAngryCarpSpawn
targetDepth: 2
effectHint: artifact-effect-hint-environment
components:
- type: SpawnArtifact
maxSpawns: 5
possiblePrototypes:
- MobCarpHolo
- MobCarpMagic
- type: artifactEffect
id: EffectRadiate
targetDepth: 2
effectHint: artifact-effect-hint-release
components:
- type: RadiationSource
intensity: 2
- type: artifactEffect
id: EffectKnock
targetDepth: 2
effectHint: artifact-effect-hint-electrical-interference
components:
- type: KnockArtifact
- type: artifactEffect
id: EffectShatterWindows
targetDepth: 2
effectHint: artifact-effect-hint-environment
components:
- type: DamageNearbyArtifact
damageChance: 0.75
whitelist:
tags:
- Window
damage:
types:
Structural: 100
- type: artifactEffect
id: EffectMaterialSpawn
targetDepth: 3
effectHint: artifact-effect-hint-creation
components:
- type: SpawnArtifact
maxSpawns: 5
consistentSpawn: false
possiblePrototypes:
- SheetGlass
- SheetSteel
- SheetPlastic
- type: artifactEffect
id: EffectShuffle
targetDepth: 3
effectHint: artifact-effect-hint-displacement
components:
- type: ShuffleArtifact
- type: TelepathicArtifact
range: 7.5
messages:
- shuffle-artifact-popup
- type: artifactEffect
id: EffectT3PartsSpawn
targetDepth: 3
effectHint: artifact-effect-hint-creation
components:
- type: SpawnArtifact
maxSpawns: 10
consistentSpawn: false
possiblePrototypes:
- SuperCapacitorStockPart
- PhasicScanningModuleStockPart
- PicoManipulatorStockPart
- UltraHighPowerMicroLaserStockPart
- SuperMatterBinStockPart
- type: artifactEffect
id: EffectGas
targetDepth: 3
effectHint: artifact-effect-hint-environment
components:
- type: GasArtifact
- type: artifactEffect
id: EffectBlink
targetDepth: 3
effectHint: artifact-effect-hint-displacement
components:
- type: RandomTeleportArtifact
- type: artifactEffect
id: EffectDisease
targetDepth: 3
effectHint: artifact-effect-hint-biochemical
components:
- type: DiseaseArtifact
diseasePrototypes:
- VanAusdallsRobovirus
- OwOnavirus
- BleedersBite
- Ultragigacancer
- MemeticAmirmir
- TongueTwister
- AMIV
- type: artifactEffect
id: EffectRareMaterialSpawn
targetDepth: 4
effectHint: artifact-effect-hint-creation
components:
- type: SpawnArtifact
maxSpawns: 5
consistentSpawn: false
possiblePrototypes:
- SilverOre1
- PlasmaOre1
- GoldOre1
- UraniumOre1
- type: artifactEffect
id: EffectPowerGen20K
targetDepth: 4
effectHint: artifact-effect-hint-release
components:
- type: PowerSupplier
supplyRate: 20000
- type: artifactEffect
id: EffectHeat
targetDepth: 4
effectHint: artifact-effect-hint-release
components:
- type: TemperatureArtifact
targetTemp: 450
- type: artifactEffect
id: EffectFoamDangerous
targetDepth: 4
effectHint: artifact-effect-hint-biochemical
components:
- type: FoamArtifact
spreadDuration: 0.5
duration: 5
reagents:
- Tritium
- Plasma
- SulfuricAcid
- SpaceDrugs
- Nocturine
- MuteToxin
- Napalm
- CarpoToxin
- ChloralHydrate
- Mold
- Amatoxin
- type: artifactEffect
id: EffectSingulo
targetDepth: 100
effectHint: artifact-effect-hint-destruction
components:
- type: SpawnArtifact
maxSpawns: 1
possiblePrototypes:
- Singularity

View File

@@ -0,0 +1,144 @@
- type: artifactTrigger
id: TriggerInteraction
targetDepth: 0
triggerHint: artifact-trigger-hint-physical
components:
- type: ArtifactInteractionTrigger
- type: artifactTrigger
id: TriggerTimer
targetDepth: 0
components:
- type: ArtifactTimerTrigger
- type: artifactTrigger
id: TriggerExamine
targetDepth: 0
components:
- type: ArtifactExamineTrigger
- type: artifactTrigger
id: TriggerAnchor
targetDepth: 0
triggerHint: artifact-trigger-hint-tool
components:
- type: ArtifactAnchorTrigger
- type: artifactTrigger
id: TriggerElectricity
targetDepth: 0
triggerHint: artifact-trigger-hint-electricity
components:
- type: ArtifactElectricityTrigger
- type: PowerConsumer
voltage: Medium
drawRate: 500
- type: Electrified
requirePower: true
noWindowInTile: true
highVoltageNode: high
mediumVoltageNode: medium
lowVoltageNode: low
- type: NodeContainer
nodes:
medium:
!type:CableDeviceNode
nodeGroupID: MVPower
# sadly, HVPower and Apc cables doesn't work right now
- type: artifactTrigger
id: TriggerMusic
targetDepth: 1
triggerHint: artifact-trigger-hint-music
components:
- type: ArtifactMusicTrigger
- type: artifactTrigger
id: TriggerBruteDamage
targetDepth: 1
triggerHint: artifact-trigger-hint-physical
components:
- type: ArtifactDamageTrigger
damageTypes:
- Blunt
- Slash
- Piercing
damageThreshold: 50
- type: artifactTrigger
id: TriggerHeat
targetDepth: 1
triggerHint: artifact-trigger-hint-heat
components:
- type: ArtifactHeatTrigger
- type: artifactTrigger
id: TriggerWater
targetDepth: 1
triggerHint: artifact-trigger-hint-water
components:
- type: Reactive
reactions:
- reagents: [ Water ]
methods: [ Touch ]
effects:
- !type:ActivateArtifact
- type: artifactTrigger
id: TriggerDeath
targetDepth: 2
triggerHint: artifact-trigger-hint-death
components:
- type: ArtifactDeathTrigger
- type: artifactTrigger
id: TriggerMagnet
targetDepth: 2
triggerHint: artifact-trigger-hint-magnet
components:
- type: ArtifactMagnetTrigger
- type: artifactTrigger
id: TriggerLowPressure
targetDepth: 2
triggerHint: artifact-trigger-hint-pressure
components:
- type: ArtifactPressureTrigger
minPressureThreshold: 50
- type: artifactTrigger
id: TriggerHighDamage
targetDepth: 3
triggerHint: artifact-trigger-hint-physical
components:
- type: ArtifactDamageTrigger
damageThreshold: 500 #make it go boom or w/e
- type: artifactTrigger
id: TriggerRadiation
targetDepth: 3
triggerHint: artifact-trigger-hint-radiation
components:
- type: ArtifactDamageTrigger
damageTypes:
- Radiation
damageThreshold: 100
- type: RadiationReceiver
- type: artifactTrigger
id: TriggerHighPressure
targetDepth: 3
triggerHint: artifact-trigger-hint-pressure
components:
- type: ArtifactPressureTrigger
maxPressureThreshold: 385
- type: artifactTrigger
id: TriggerGas
targetDepth: 3
triggerHint: artifact-trigger-hint-gas
components:
- type: ArtifactGasTrigger
#don't add in new targetdepth values until you have a few
#or else it will skew heavily towards a few options.