Locking Probers @ 750 Glimmer + Bigger Prober Explosions over 900 Glimmer (#6292)

* Lock the probers :)

* Added normality to oracle. Up'd max intensity to syndicate bomb levels per CR review.

* Apply suggestions from code review

Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

---------

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
This commit is contained in:
Vanessa 2026-07-20 15:29:02 -05:00 committed by GitHub
parent a34e8bff90
commit 2b1d0bb364
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 26 additions and 21 deletions

View File

@ -209,20 +209,24 @@ namespace Content.Server.Psionics.Glimmer
private void OnDestroyed(EntityUid uid, SharedGlimmerReactiveComponent component, DestructionEventArgs args)
{
Spawn("MaterialBluespace1", Transform(uid).Coordinates);
var proberCoords = Transform(uid).Coordinates;
var tier = _glimmerSystem.GetGlimmerTier();
if (tier < GlimmerTier.High)
return;
var totalIntensity = (float) (_glimmerSystem.Glimmer * 2);
var slope = (float) (11 - _glimmerSystem.Glimmer / 100);
var maxIntensity = 20;
var explosionMultiplier = 2;
if (_glimmerSystem.GetGlimmerTier() == GlimmerTier.Critical) // YOU DONE FUCKED UP
explosionMultiplier = 3;
var removed = (float) _glimmerSystem.Glimmer * _random.NextFloat(0.06f, 0.08f);
_glimmerSystem.Glimmer -= (int) removed;
var totalIntensity = (float)(_glimmerSystem.Glimmer * explosionMultiplier);
var slope = (float)(11 - _glimmerSystem.Glimmer / 100);
var maxIntensity = 75; // Same as syndicate bomb
var removed = _glimmerSystem.Glimmer * _random.NextFloat(0.06f, 0.08f);
_glimmerSystem.Glimmer -= (int)removed;
BeamRandomNearProber(uid, _glimmerSystem.Glimmer / 350, _glimmerSystem.Glimmer / 50);
_explosionSystem.QueueExplosion(uid, "Default", totalIntensity, slope, maxIntensity);
_explosionSystem.QueueExplosion(uid, "Default", totalIntensity, slope, maxIntensity, addLog: true);
Spawn("MaterialBluespace1", proberCoords); // Congrats on your bluespace!
}
private void OnUnanchorAttempt(EntityUid uid, SharedGlimmerReactiveComponent component, UnanchorAttemptEvent args)
@ -230,7 +234,7 @@ namespace Content.Server.Psionics.Glimmer
if (component.Locked)
{
_sharedAudioSystem.PlayPvs(component.ShockNoises, args.User);
_electrocutionSystem.TryDoElectrocution(args.User, null, _glimmerSystem.Glimmer / 200, TimeSpan.FromSeconds((float) _glimmerSystem.Glimmer / 100), false);
_electrocutionSystem.TryDoElectrocution(args.User, uid, _glimmerSystem.Glimmer / 200, TimeSpan.FromSeconds((float) _glimmerSystem.Glimmer / 100), false);
args.Cancel();
}
}

View File

@ -184,7 +184,8 @@ public sealed class OracleSystem : EntitySystem
while (i != 0)
{
Spawn("MaterialBluespace1", Transform(user).Coordinates);
var entityToSpawn = _random.Next(0, 2) == 0 ? "MaterialBluespace1" : "CrystalNormality";
Spawn(entityToSpawn, Transform(user).Coordinates);
i--;
}

View File

@ -8,15 +8,15 @@
- id: NoosphericSilence
- id: MassMindSwap
- id: GlimmerWispSpawn
- id: FreeProber
- id: GlimmerSpawnProber
- id: GlimmerRevenantSpawn
- id: GlimmerMiteSpawn
- id: GlimmerRandomSentience
- id: GlimmerRandomAnimation
- id: ThavenMoodUpset
#- id: LockProbers
- id: GlimmerLockProbers
- id: PsionicNosebleedEvent
- id: MinorMassMindSwap # Delta V
- id: MinorMassMindSwap
- id: GlimmerFoxfireSpawn
- id: GlimmerRestyle
@ -121,7 +121,7 @@
- type: entity
parent: BaseGlimmerSignaturesEvent
id: FreeProber
id: GlimmerSpawnProber
components:
- type: FreeProberRule
@ -184,13 +184,13 @@
glimmerBurnUpper: 70
- type: ThavenMoodUpsetRule
#- type: entity
# parent: BaseGlimmerEvent
# id: LockProbers
# components:
# - type: GlimmerEvent
# minimumGlimmer: 500
# - type: LockProbersRule
- type: entity
parent: BaseGlimmerEvent
id: GlimmerLockProbers
components:
- type: GlimmerEvent
minimumGlimmer: 750
- type: LockProbersRule
- type: entity
parent: BaseGlimmerEvent