mirror of
https://github.com/DeltaV-Station/Delta-v.git
synced 2026-09-30 16:17:27 +00:00
* Added the blood writing ability to revenants (cherry picked from commit 8157d155e1f7a3840992b54475c59031d2a75f25) * Added the revenant Animate action (cherry picked from commit 1b53520849a60538598cae641c6e598b1a5d7534) * Added Animate action sprite and fixed revenant action sprites being small (cherry picked from commit 5c88ce9b21cf517023cd136ddb8aaa361f72fbfe) * Revenants in stasis can now be crafted into sentient revenant plushies Revenants in stasis can now talk (cherry picked from commit af84083da6e17bb7671d9f00993dc6bcc0b0a583) * Revenant plushies and ectoplasm now talk with their trapped revenant's name (cherry picked from commit 855b25aeb7f29ed6ff2dcc0d4ab1e589ae7e2e16) * Added a yml nerf option in case revenant is too powerful (cherry picked from commit 6895a5ca929f32267dea1e326aee62302dc151b8) * Added a yml nerf option in case revenant is too powerful (cherry picked from commit 6895a5ca929f32267dea1e326aee62302dc151b8) * Passing over salt ore now reveals revenants (cherry picked from commit beea55885f98adc72e34751ba6f798bfadd8dd31) * Salt puddles now reveal revenants Hooray for EnsureTileReaction! (cherry picked from commit b69304747e3b5aa867c5afd8917d2c170c65253e) * Bibles now reveal revenants Localization strings added (cherry picked from commit 62f7ec604748697e5fecc942c4a5d14ff682c596) * Added the revenant Haunt action (cherry picked from commit fb692c4cab3f411c11a3004fa73f30122e0ff7f9) * Haunt witnesses now have an icon over their head on the revenant's client (cherry picked from commit 5d1b3c6b0af4508ebee7aa8738f7a5f3aa9e53ca) * Slight revenant nerfs and an additional escape hatch (cherry picked from commit 490e4c525b75b03502497bfa89827f915f6c7fb2) * Fixed revenant speech name, and other fixes This is a few changes clumped into one. I should've broken this one up, but I got overzealous. - Revenant's ectoplasm now properly uses TransformSpeakerNameEvent - Revenants crafted into plushies now use VoiceOverrideComponent instead of VoiceMaskComponent - Plushies now have a custom speaking noise - Moved Impstation-specific revenant code to the _Impstation subdirectory (cherry picked from commit a5e0b0c9383e4011e69edc0592c8a4cf40b06402) * Fixed revenant haunt witness sprite not disappearing (cherry picked from commit 0c06d4a8f48f6eee324cd944dbcb1fce3258eb58) * New artifact effectr: animate nearby items (like a revenant) (cherry picked from commit 6ba1b4d8b313eda9e5ff82246ed7425e80287d0f) * Revenant cleanups * Revenant Fixes * add audio * haunt fixes * salt fixes * grinder gamer * stasis * cleanup and comments * deltav ectoplasm * clean up imp comment * event weight and guidebook gaming * catalog * alert fix * window nerf * effectprobfake * mapinit * no braincells ops Signed-off-by: Lyndomen <49795619+Lyndomen@users.noreply.github.com> * add physics * remove phyiscs * add physics realer * bible --------- Signed-off-by: Lyndomen <49795619+Lyndomen@users.noreply.github.com> Co-authored-by: TGRCDev <tgrc@tgrc.dev> Co-authored-by: TheGrimbeeper <thegrimbeeper.11@gmail.com>
51 lines
1.6 KiB
C#
51 lines
1.6 KiB
C#
using Robust.Client.GameObjects;
|
|
using Robust.Shared.Map;
|
|
|
|
namespace Content.Client.Revenant;
|
|
|
|
public sealed class RevenantAnimatedSystem : EntitySystem
|
|
{
|
|
[Dependency] private readonly SharedPointLightSystem _lights = default!;
|
|
|
|
public override void Initialize()
|
|
{
|
|
base.Initialize();
|
|
|
|
SubscribeLocalEvent<RevenantAnimatedComponent, ComponentStartup>(OnStartup);
|
|
SubscribeLocalEvent<RevenantAnimatedComponent, ComponentShutdown>(OnShutdown);
|
|
}
|
|
|
|
public override void Update(float frameTime)
|
|
{
|
|
base.Update(frameTime);
|
|
|
|
var enumerator = EntityQueryEnumerator<RevenantAnimatedComponent>();
|
|
|
|
while (enumerator.MoveNext(out var uid, out var comp))
|
|
{
|
|
if (comp.LightOverlay == null)
|
|
continue;
|
|
comp.Accumulator += frameTime;
|
|
_lights.SetEnergy(comp.LightOverlay.Value.Owner, 2f * Math.Abs((float)Math.Sin(0.25 * Math.PI * comp.Accumulator)), comp.LightOverlay.Value.Comp);
|
|
}
|
|
}
|
|
|
|
private void OnStartup(EntityUid uid, RevenantAnimatedComponent comp, ComponentStartup args)
|
|
{
|
|
var lightEnt = Spawn(null, new EntityCoordinates(uid, 0, 0));
|
|
var light = AddComp<PointLightComponent>(lightEnt);
|
|
|
|
comp.LightOverlay = (lightEnt, light);
|
|
|
|
_lights.SetEnabled(lightEnt, true, light);
|
|
_lights.SetColor(lightEnt, comp.LightColor, light);
|
|
_lights.SetRadius(lightEnt, comp.LightRadius, light);
|
|
}
|
|
|
|
private void OnShutdown(EntityUid uid, RevenantAnimatedComponent comp, ComponentShutdown args)
|
|
{
|
|
if (comp.LightOverlay != null)
|
|
Del(comp.LightOverlay);
|
|
}
|
|
}
|