Cult update (#220)
* - tweak: Cult door not bump openable. * - tweak: Better summoning and Narsie * - tweak: Construct update. * - tweak: Eldrich blade fits in suit storage. * - tweak: More spell limit. * - fix: Fix pylon desc. * - tweak: Teleport works on cuffed targets. * - tweak: More popups if target is holy. * - fix: No rune drawing using fingers. * - tweak: Better pylon placement & less pylon healing range. * - tweak: More blood rites charge. * - fix: Fix max spell amount. * - tweak: Less cult door and wall health. * - fix: Constructs are dead IC. * - add: Revive rune now notifies player. * - add: Narsie summon rune eui. * - fix: Fix narsie summon sound not playing for reapers. * - tweak: Whatever. * - add: Conceal presence spell. * - tweak: Tweakz. * - add: Blood spear. * - add: Blood boil barrage. * - tweak: Artificer flies. * - tweak: Blood bolt color tweaks. * - tweak: Runic door is bump openable again. * - fix: Fix concealed door outline. * - add: Update concealable name and desc. * - tweak: Remove the unremoveable. * - tweak: Gift ignore. * - add: Organs regenerate on rejuvenate. * - tweak: Brainless cultist is fine. * - add: Added more fun. * - add: Add rune descriptions. * - fix: Fixes. * - tweak: Blood rites now uses verb. * - tweak: Bring it back.
This commit is contained in:
61
Content.Server/_White/Cult/UI/ApocalypseRuneEui.cs
Normal file
61
Content.Server/_White/Cult/UI/ApocalypseRuneEui.cs
Normal file
@@ -0,0 +1,61 @@
|
||||
using Content.Server.Chat.Systems;
|
||||
using Content.Server.DoAfter;
|
||||
using Content.Server.EUI;
|
||||
using Content.Shared._White.Cult.Runes;
|
||||
using Content.Shared._White.Cult.UI;
|
||||
using Content.Shared.DoAfter;
|
||||
using Content.Shared.Eui;
|
||||
using Robust.Server.Audio;
|
||||
using Robust.Shared.Audio;
|
||||
|
||||
namespace Content.Server._White.Cult.UI;
|
||||
|
||||
public sealed class ApocalypseRuneEui : BaseEui
|
||||
{
|
||||
private readonly SoundPathSpecifier _apocRuneStartDrawing = new("/Audio/White/Cult/startdraw.ogg");
|
||||
private const string ApocalypseRunePrototypeId = "ApocalypseRune";
|
||||
|
||||
private readonly EntityUid _whoCalled;
|
||||
private readonly IEntityManager _entityManager;
|
||||
|
||||
public ApocalypseRuneEui(EntityUid whoCalled, IEntityManager entityManager)
|
||||
{
|
||||
_whoCalled = whoCalled;
|
||||
_entityManager = entityManager;
|
||||
}
|
||||
|
||||
public override void HandleMessage(EuiMessageBase msg)
|
||||
{
|
||||
base.HandleMessage(msg);
|
||||
|
||||
if (msg is not ApocalypseRuneDrawMessage {Accepted: true})
|
||||
{
|
||||
Close();
|
||||
return;
|
||||
}
|
||||
|
||||
var ev = new CultDrawEvent
|
||||
{
|
||||
Rune = ApocalypseRunePrototypeId
|
||||
};
|
||||
|
||||
var argsDoAfterEvent = new DoAfterArgs(_entityManager, _whoCalled, 120f, ev, _whoCalled)
|
||||
{
|
||||
BreakOnUserMove = true,
|
||||
NeedHand = true
|
||||
};
|
||||
|
||||
if (!_entityManager.System<DoAfterSystem>().TryStartDoAfter(argsDoAfterEvent))
|
||||
{
|
||||
Close();
|
||||
return;
|
||||
}
|
||||
|
||||
_entityManager.System<ChatSystem>().DispatchGlobalAnnouncement(Loc.GetString("cult-started-drawing-rune-end"),
|
||||
"CULT", true, _apocRuneStartDrawing, colorOverride: Color.DarkRed);
|
||||
|
||||
_entityManager.System<AudioSystem>().PlayPvs("/Audio/White/Cult/butcher.ogg", _whoCalled,
|
||||
AudioParams.Default.WithMaxDistance(2f));
|
||||
Close();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user