Anomalies behaviours (#24683)

* Added new anomaly particle

* Add basic anomaly behaviour

* +2 parametres

* add functional to new particle

* add components to behaviours

* big content

* add shuffle, moved thing to server

* clean up

* fixes

* random pick redo

* bonjour behavioUr

* fix AJCM

* fix

* add some new behaviours

* power modifier behaviour

* rmeove timer

* new event for update ui fix

* refactor!

* fixes

* enum

* Fix mapinit

* Minor touches

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
This commit is contained in:
Ed
2024-04-01 11:29:13 +03:00
committed by GitHub
parent de8b788856
commit a4ec01d471
29 changed files with 832 additions and 91 deletions

View File

@@ -8,20 +8,29 @@ anomaly-particles-delta = Delta particles
anomaly-particles-epsilon = Epsilon particles
anomaly-particles-zeta = Zeta particles
anomaly-particles-omega = Omega particles
anomaly-particles-sigma = Sigma particles
anomaly-scanner-component-scan-complete = Scan complete!
anomaly-scanner-ui-title = anomaly scanner
anomaly-scanner-no-anomaly = No anomaly currently scanned.
anomaly-scanner-severity-percentage = Current severity: [color=gray]{$percent}[/color]
anomaly-scanner-severity-percentage-unknown = Current severity: [color=red]ERROR[/color]
anomaly-scanner-stability-low = Current anomaly state: [color=gold]Decaying[/color]
anomaly-scanner-stability-medium = Current anomaly state: [color=forestgreen]Stable[/color]
anomaly-scanner-stability-high = Current anomaly state: [color=crimson]Growing[/color]
anomaly-scanner-stability-unknown = Current anomaly state: [color=red]ERROR[/color]
anomaly-scanner-point-output = Point output: [color=gray]{$point}[/color]
anomaly-scanner-point-output-unknown = Point output: [color=red]ERROR[/color]
anomaly-scanner-particle-readout = Particle Reaction Analysis:
anomaly-scanner-particle-danger = - [color=crimson]Danger type:[/color] {$type}
anomaly-scanner-particle-unstable = - [color=plum]Unstable type:[/color] {$type}
anomaly-scanner-particle-containment = - [color=goldenrod]Containment type:[/color] {$type}
anomaly-scanner-particle-transformation = - [color=#6b75fa]Transformation type:[/color] {$type}
anomaly-scanner-particle-danger-unknown = - [color=crimson]Danger type:[/color] [color=red]ERROR[/color]
anomaly-scanner-particle-unstable-unknown = - [color=plum]Unstable type:[/color] [color=red]ERROR[/color]
anomaly-scanner-particle-containment-unknown = - [color=goldenrod]Containment type:[/color] [color=red]ERROR[/color]
anomaly-scanner-particle-transformation-unknown = - [color=#6b75fa]Transformation type:[/color] [color=red]ERROR[/color]
anomaly-scanner-pulse-timer = Time until next pulse: [color=gray]{$time}[/color]
anomaly-gorilla-core-slot-name = Anomaly core
@@ -65,3 +74,23 @@ anomaly-command-supercritical = Makes a target anomaly go supercritical
# Flavor text on the footer
anomaly-generator-flavor-left = Anomaly may spawn inside the operator.
anomaly-generator-flavor-right = v1.1
anomaly-behavior-unknown = [color=red]ERROR. Cannot be read.[/color]
anomaly-behavior-title = behavior deviation analysis:
anomaly-behavior-point =[color=gold]Anomaly produces {$mod}% of the points[/color]
anomaly-behavior-safe = [color=forestgreen]The anomaly is extremely stable. Extremely rare pulsations.[/color]
anomaly-behavior-slow = [color=forestgreen]The frequency of pulsations is much less frequent.[/color]
anomaly-behavior-light = [color=forestgreen]Pulsation power is significantly reduced.[/color]
anomaly-behavior-balanced = No behavior deviations detected.
anomaly-behavior-delayed-force = The frequency of pulsations is greatly reduced, but their power is increased.
anomaly-behavior-rapid = The frequency of the pulsation is much higher, but its strength is attenuated.
anomaly-behavior-reflect = A protective coating was detected.
anomaly-behavior-nonsensivity = A weak reaction to particles was detected.
anomaly-behavior-sensivity = Amplified reaction to particles was detected.
anomaly-behavior-secret = Interference detected. Some data cannot be read
anomaly-behavior-inconstancy = [color=crimson]Impermanence has been detected. Particle types can change over time.[/color]
anomaly-behavior-fast = [color=crimson]The pulsation frequency is strongly increased.[/color]
anomaly-behavior-strenght = [color=crimson]The pulsation power is significantly increased.[/color]
anomaly-behavior-moving = [color=crimson]Coordinate instability was detected.[/color]

View File

@@ -70,6 +70,9 @@ signal-port-description-set-particle-epsilon = Sets the type of particle this de
signal-port-name-set-particle-zeta = Set particle type: zeta
signal-port-description-set-particle-zeta = Sets the type of particle this device emits to zeta.
signal-port-name-set-particle-sigma = Set particle type: sigma
signal-port-description-set-particle-sigma = Sets the type of particle this device emits to sigma.
signal-port-name-logic-input-a = Input A
signal-port-description-logic-input-a = First input of a logic gate.

View File

@@ -0,0 +1,208 @@
- type: weightedRandom
id: AnomalyBehaviorList
weights:
#safe
Slow: 0.5
Light: 0.5
FullSafe: 0.1
#balanced
Balanced: 3
DelayedForce: 1
Rapid: 1
BalancedSecret: 1
Reflect: 1
NonSensivity: 1
Sensivity: 1
#Hard
Fast: 0.5
Strenght: 0.5
Inconstancy: 0.5
InconstancyParticle: 0.5
FullUnknown: 0.5
Jumping: 0.3
Moving: 0.1
#Complex
FastUnknown: 0.2
JumpingUnknown: 0.1
InconstancyParticleUnknown: 0.1
# Easy x0.5 point production
- type: anomalyBehavior
id: FullSafe
pulseFrequencyModifier: 3
pulsePowerModifier: 0.5
earnPointModifier: 0.05
description: anomaly-behavior-safe
- type: anomalyBehavior
id: Slow
pulseFrequencyModifier: 2
earnPointModifier: 0.5
description: anomaly-behavior-slow
- type: anomalyBehavior
id: Light
pulsePowerModifier: 0.5
earnPointModifier: 0.5
description: anomaly-behavior-light
# Balanced x1 point production
- type: anomalyBehavior
id: Balanced
earnPointModifier: 1
description: anomaly-behavior-balanced
- type: anomalyBehavior
id: DelayedForce
earnPointModifier: 1.15
description: anomaly-behavior-delayed-force
pulseFrequencyModifier: 0.5
pulsePowerModifier: 2
- type: anomalyBehavior
id: Rapid
earnPointModifier: 1.15
description: anomaly-behavior-rapid
pulseFrequencyModifier: 2
pulsePowerModifier: 0.5
- type: anomalyBehavior
id: BalancedSecret
earnPointModifier: 1.2
description: anomaly-behavior-secret
components:
- type: SecretDataAnomaly
randomStartSecretMin: 2
randomStartSecretMax: 3
- type: anomalyBehavior
id: Reflect
earnPointModifier: 1.1
particleSensivity: 0.5
description: anomaly-behavior-reflect
components:
- type: Reflect
reflectProb: 0.5
reflects:
- Energy
- type: anomalyBehavior
id: NonSensivity
earnPointModifier: 0.8
particleSensivity: 0.5
description: anomaly-behavior-nonsensivity
- type: anomalyBehavior
id: Sensivity
earnPointModifier: 1.2
particleSensivity: 1.5
description: anomaly-behavior-sensivity
# Hard x2 point production
- type: anomalyBehavior
id: Fast
earnPointModifier: 1.9
pulseFrequencyModifier: 0.5
description: anomaly-behavior-fast
- type: anomalyBehavior
id: Strenght
pulsePowerModifier: 1.5
earnPointModifier: 1.4
description: anomaly-behavior-strenght
- type: anomalyBehavior
id: Inconstancy
earnPointModifier: 1.7
description: anomaly-behavior-inconstancy
components:
- type: ShuffleParticlesAnomaly
shuffleOnPulse: true
prob: 1
- type: anomalyBehavior
id: InconstancyParticle
earnPointModifier: 1.8
description: anomaly-behavior-inconstancy
components:
- type: ShuffleParticlesAnomaly
shuffleOnParticleHit: true
prob: 0.8
- type: anomalyBehavior
id: Moving
earnPointModifier: 2.2
description: anomaly-behavior-moving
components:
- type: RandomWalk
minSpeed: 0
maxSpeed: 0.3
- type: CanMoveInAir
- type: Physics
bodyType: Dynamic
bodyStatus: InAir
- type: anomalyBehavior
id: Jumping
earnPointModifier: 1.8
description: anomaly-behavior-moving
components:
- type: ChaoticJump
jumpMinInterval: 15
jumpMaxInterval: 25
rangeMin: 1
rangeMax: 4
effect: PuddleSparkle
- type: anomalyBehavior
id: FullUnknown
earnPointModifier: 1.9
description: anomaly-behavior-secret
components:
- type: SecretDataAnomaly
randomStartSecretMin: 4
randomStartSecretMax: 6
# Complex Effects
- type: anomalyBehavior
id: JumpingUnknown
earnPointModifier: 1.9
description: anomaly-behavior-moving
components:
- type: ChaoticJump
jumpMinInterval: 15
jumpMaxInterval: 25
rangeMin: 1
rangeMax: 1
effect: PuddleSparkle
- type: SecretDataAnomaly
randomStartSecretMin: 3
randomStartSecretMax: 5
- type: anomalyBehavior
id: FastUnknown
earnPointModifier: 1.9
pulseFrequencyModifier: 0.5
description: anomaly-behavior-fast
components:
- type: SecretDataAnomaly
randomStartSecretMin: 3
randomStartSecretMax: 5
- type: anomalyBehavior
id: InconstancyParticleUnknown
earnPointModifier: 1.95
description: anomaly-behavior-inconstancy
components:
- type: ShuffleParticlesAnomaly
shuffleOnParticleHit: true
prob: 0.5
- type: SecretDataAnomaly
randomStartSecretMin: 3
randomStartSecretMax: 5

View File

@@ -107,3 +107,8 @@
id: SetParticleZeta
name: signal-port-name-set-particle-zeta
description: signal-port-description-set-particle-zeta
- type: sinkPort
id: SetParticleSigma
name: signal-port-name-set-particle-sigma
description: signal-port-description-set-particle-sigma

View File

@@ -643,6 +643,7 @@
- type: Clothing
sprite: Objects/Weapons/Guns/Revolvers/chimp.rsi
- type: Gun
projectileSpeed: 4
fireRate: 1.5
soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/taser2.ogg
@@ -657,6 +658,8 @@
fireCost: 100
- proto: AnomalousParticleZetaStrong
fireCost: 100
- proto: AnomalousParticleSigmaStrong
fireCost: 100
- type: Construction
graph: UpgradeWeaponPistolCHIMP
node: start
@@ -679,6 +682,8 @@
fireCost: 100
- proto: AnomalousParticleZetaStrong
fireCost: 100
- proto: AnomalousParticleSigmaStrong
fireCost: 100
- type: entity
name: eye of a behonker

View File

@@ -487,6 +487,11 @@
name: delta particles
noSpawn: true
components:
- type: PointLight
enabled: true
color: "#c2385d"
radius: 2.0
energy: 7.0
- type: AnomalousParticle
particleType: Delta
- type: Sprite
@@ -513,6 +518,9 @@
Heat: 5
- type: TimedDespawn
lifetime: 3
- type: Reflective
reflective:
- Energy
- type: entity
@@ -533,6 +541,11 @@
name: epsilon particles
noSpawn: true
components:
- type: PointLight
enabled: true
color: "#38c296"
radius: 2.0
energy: 7.0
- type: Sprite
layers:
- state: magicm_cyan
@@ -558,6 +571,11 @@
name: zeta particles
noSpawn: true
components:
- type: PointLight
enabled: true
color: "#b9c238"
radius: 2.0
energy: 7.0
- type: Sprite
layers:
- state: magicm_yellow
@@ -583,6 +601,11 @@
name: omega particles
noSpawn: true
components:
- type: PointLight
enabled: true
color: "#38c24f"
radius: 2.0
energy: 7.0
- type: Sprite
sprite: Objects/Weapons/Guns/Projectiles/magic.rsi
layers:
@@ -601,6 +624,33 @@
types:
Heat: 20
- type: entity
parent: AnomalousParticleDelta
id: AnomalousParticleSigma
name: sigma particles
noSpawn: true
components:
- type: PointLight
enabled: true
color: "#8d38c2"
radius: 2.0
energy: 7.0
- type: Sprite
layers:
- state: magicm
shader: unshaded
- type: AnomalousParticle
particleType: Sigma
- type: entity
parent: AnomalousParticleSigma
id: AnomalousParticleSigmaStrong
name: sigma particles
noSpawn: true
components:
- type: AnomalousParticle
particleType: Sigma
# Launcher projectiles (grenade / rocket)
- type: entity
id: BulletRocket

View File

@@ -172,10 +172,12 @@
- AnomalousParticleDelta
- AnomalousParticleEpsilon
- AnomalousParticleZeta
- AnomalousParticleSigma
setTypePorts:
SetParticleDelta: AnomalousParticleDelta
SetParticleEpsilon: AnomalousParticleEpsilon
SetParticleZeta: AnomalousParticleZeta
SetParticleSigma: AnomalousParticleSigma
fireBurstSize: 1
fireBurstDelayMin: 2
fireBurstDelayMax: 6
@@ -185,6 +187,7 @@
guides:
- APE
- type: Gun
projectileSpeed: 4
fireRate: 10 #just has to be fast enough to keep up with upgrades
showExamineText: false
selectedMode: SemiAuto
@@ -219,6 +222,7 @@
- SetParticleDelta
- SetParticleEpsilon
- SetParticleZeta
- SetParticleSigma
- type: entity
id: MachineAnomalyGenerator

View File

@@ -21,6 +21,7 @@
anchored: false
- type: Physics
bodyType: Static
bodyStatus: InAir
- type: Fixtures
fixtures:
fix1:
@@ -47,6 +48,9 @@
- type: EmitSoundOnSpawn
sound:
path: /Audio/Effects/teleport_arrival.ogg
- type: SecretDataAnomaly
randomStartSecretMin: 0
randomStartSecretMax: 2
- type: entity
id: AnomalyPyroclastic
@@ -119,11 +123,11 @@
castShadows: false
- type: GravityAnomaly
- type: GravityWell
- type: RadiationSource
- type: RadiationSource
- type: Physics
bodyType: Dynamic
bodyStatus: InAir
- type: CanMoveInAir
- type: CanMoveInAir
- type: RandomWalk
- type: SingularityDistortion
intensity: 1000
@@ -598,7 +602,7 @@
color: "#6270bb"
- type: Anomaly
animationTime: 6
offset: 0.05, 0
offset: 0, 0
corePrototype: AnomalyCoreFlora
coreInertPrototype: AnomalyCoreFloraInert
anomalyContactDamage: