Tweaks to Shadeskip, Fixes Psi Insul on Caster, Tweaks to Telegnostic Projection (#2376)

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

Shortens duration of fog made by Shadeskip to 12 seconds so it doesnt
last longer than it needs to for an escape, shortens Darkswap's fog tile
to last 5 seconds, makes shadeskip's portals dissapear along with it and
allowes harmless shadow cats to rarely spawn on cast, Shadeskip
additionally a different sound.

Psionic insulation now prevents all psionic powers from being cast

Telegnostic projections can now speak over telepathy, they also have the
Psychognosis and xenoglossy _for now_, their description was also
changed

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Description.

---

# TODO

<!--
A list of everything you have to do before this PR is "complete"
You probably won't have to complete everything before merging but it's
good to leave future references
-->

- [x] Task
- [x] Completed Task

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>

![Example Media Embed](https://example.com/thisimageisntreal.png)

</p>
</details>

---

# Changelog

<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

🆑
- tweak: Shadeskip now has a new sound.
- tweak: Shadeskip now lasts 12 seconds, and its portals despawn with it
- tweak: Darkswap's haze cloud on cast now lasts 5 seconds
- tweak: Telegnosic projections can now speak telepathically
- fix: all psionic powers are now disabled if the caster is psionically
insulated.

(cherry picked from commit bf6bbf2a673f5fb9592645156cf34451e7ee5694)
This commit is contained in:
RocketBoss360
2025-05-08 16:55:08 -07:00
committed by Spatison
parent 936e15f369
commit 47bf5544bb
9 changed files with 85 additions and 18 deletions

View File

@@ -17,7 +17,11 @@ namespace Content.Shared.Abilities.Psionics
}
private void OnPowerUsed(EntityUid uid, MassSleepPowerComponent component, MassSleepPowerActionEvent args)
{
if (!_psionics.OnAttemptPowerUse(args.Performer, "mass sleep", true))
return;
foreach (var entity in _lookup.GetEntitiesInRange(args.Target, component.Radius))
{
if (HasComp<MobStateComponent>(entity) && entity != uid && !HasComp<PsionicInsulationComponent>(entity))

View File

@@ -2,8 +2,14 @@
license: "CC0-1.0"
copyright: "Taken from greyseraphim via freesound.org"
source: "https://freesound.org/people/greyseraphim/sounds/21409/"
- files: ["wavy.ogg"]
license: "CC-BY-NC-4.0"
copyright: "Taken from newlocknew via freesound.org"
source: "https://freesound.org/people/newlocknew/sounds/614722/"
- files: ["shadeskip_power.ogg"]
license: "CC-BY-NC-4.0"
copyright: "._rocket_. on Discord"
source: "https://github.com/RocketBoss360/Einstein-Engines-Rocket/blob/the-fog-is-going-(away)/Resources/Audio/Psionics/shadeskip_power.ogg"

Binary file not shown.

View File

@@ -234,6 +234,7 @@
checkCanInteract: false
event: !type:AnomalyPowerActionEvent
settings:
checkInsulation: true
powerName: "Shadeskip"
minGlimmer: 6
maxGlimmer: 8
@@ -243,9 +244,9 @@
- settings:
spawnOnPulse: true
spawnOnSuperCritical: true
minAmount: 18
maxAmount: 28
maxRange: 2.5
minAmount: 20
maxAmount: 25
maxRange: 2.25
spawns:
- ShadowKudzuTemp
- settings:
@@ -269,6 +270,7 @@
checkCanInteract: false
event: !type:AnomalyPowerActionEvent
settings:
checkInsulation: true
powerName: "Telekinetic Pulse"
overchargeFeedback: "shadeskip-overcharge-feedback" # The text behind this is fine.
overchargeCooldown: 120
@@ -315,6 +317,7 @@
checkCanInteract: false
event: !type:AnomalyPowerActionEvent
settings:
checkInsulation: true
powerName: "Pyrokinetic Flare"
minGlimmer: 3
maxGlimmer: 5

View File

@@ -35,10 +35,10 @@
energy: 3.5
color: "#7100bd"
- type: TimedDespawn
lifetime: 1
lifetime: 12
- type: EmitSoundOnSpawn
sound:
path: /Audio/Effects/Lightning/lightningbolt.ogg
path: /Audio/Psionics/shadeskip_power.ogg
- type: entity
id: EffectFlashShadowkinShadeskip

View File

@@ -51,7 +51,7 @@
radius: 3
energy: 1
netsync: false
- type: entity
id: PortalArtifact
parent: BasePortal
@@ -123,3 +123,12 @@
volume: -3
sound:
path: /Audio/Ambience/anomaly_scary.ogg
- type: entity
name: unstable shadow rift
id: ShadowPortalTemp
description: Its already closing!
parent: ShadowPortal
components:
- type: TimedDespawn
lifetime: 12

View File

@@ -23,4 +23,37 @@
rareChance: 0.05
rarePrototypes:
- MobCatShadow
- ArtifactFragment
- ArtifactFragment
- type: entity
id: ShadowKudzuLootSpawnerTemp #literally just the other loot spawner but spawns a temp ver of the shadowportal
parent: MarkerBase
components:
- type: Sprite
layers:
- state: red
- sprite: Structures/Specific/Anomalies/shadow_anom.rsi
state: anom
- type: RandomSpawner
offset: 0.05
chance: 0.7
prototypes:
- CrystalPink
- CrystalPink
- ShadowPortalTemp
- ShadowPortalTemp
- ShadowPortalTemp
- ShadowPortalTemp
- ShadowPortalTemp
- ShadowPortalTemp
- ShadowTree01
- ShadowTree02
- ShadowTree03
- ShadowTree04
- ShadowTree05
- ShadowTree06
rareChance: 0.05
rarePrototypes:
- MobCatShadow
- MobCatShadow
- ArtifactFragment

View File

@@ -72,6 +72,7 @@
radius: 6
enabled: false
- type: entity
id: ActionGhostBoo
name: Boo!
@@ -141,7 +142,7 @@
- BaseMob
id: MobTelegnosisObserver
name: psionic projection
description: Dancing across bridges prismatic hypereality
description: A soul dancing across the dreamlight
categories: [ HideSpawnMenu ]
components:
- type: Sprite
@@ -149,24 +150,26 @@
layers:
- state: animated
shader: unshaded
- type: ContentEye
- type: Eye
drawFov: false
visMask:
- TelegnosticProjection
- PsionicInvisibility
- Ghost
- Normal
- Ethereal
- type: Input
context: "ghost"
- type: Examiner
- type: TelegnosticProjection
- type: MovementSpeedModifier
baseSprintSpeed: 8
baseWalkSpeed: 5
- type: Psionic
removable: false
roller: false
psychognomicDescriptors:
- p-descriptor-liminal # because you arnt currently in your body
- type: InnatePsionicPowers
powersToAdd:
- XenoglossyPower #Remove if a better way to have the projection understand langs is implemented, ideal is to have projection inherit user langs
- TelepathyPower
- PsychognomyPower
- type: TelegnosticProjection
- type: Stealth
lastVisibility: 0.66

View File

@@ -312,12 +312,21 @@
prototypes:
- ShadowBasaltRandom
- type: TimedDespawn
lifetime: 30
lifetime: 5
- type: entity
name: Temporary haze
name: fading haze
id: ShadowKudzuTemp
parent: ShadowKudzuWeak
components:
- type: RandomSpawner
deleteSpawnerAfterSpawn: false
rareChance: 0.2
offset: 0.2
chance: 0.45
prototypes:
- ShadowBasaltRandom
rarePrototypes:
- ShadowKudzuLootSpawnerTemp
- type: TimedDespawn
lifetime: 30
lifetime: 12