mirror of
https://github.com/WWhiteDreamProject/wwdpublic.git
synced 2026-04-17 05:27:38 +03:00
# Description This PR adds a new psionic power to the game, called Assay. Assay is a more advanced information gathering tool that is available roundstart to the Mantis. It essentially acts as the first ingame method for characters to discover the underlying math behind Psionics, displaying to them the target's casting stats, potentia, and metapsionic feedback messages. These messages don't tell the caster directly which powers a target has, instead providing hints as to what those powers might be. <details><summary><h1>Media</h1></summary> <p>   </p> </details> # Changelog 🆑 - add: Added Assay as a new psi-power, which is available roundstart to the Psionic Mantis. Assay allows the caster to obtain more direct information about the statistics of a specific Psion, as well as vague hints as to what their powers may be, if any. --------- Signed-off-by: VMSolidus <evilexecutive@gmail.com> Co-authored-by: Skubman <ba.fallaria@gmail.com> Co-authored-by: flyingkarii <123355664+flyingkarii@users.noreply.github.com> Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com> Co-authored-by: SimpleStation Changelogs <SimpleStation14@users.noreply.github.com> (cherry picked from commit df8ffb0605f431b71045862acc159f93f08470b1)
97 lines
2.3 KiB
C#
97 lines
2.3 KiB
C#
using Robust.Shared.Serialization;
|
|
using Content.Shared.Damage;
|
|
using Content.Shared.DoAfter;
|
|
using Content.Shared.Abilities.Psionics;
|
|
|
|
namespace Content.Shared.Psionics.Events;
|
|
|
|
[Serializable, NetSerializable]
|
|
public sealed partial class PsionicRegenerationDoAfterEvent : DoAfterEvent
|
|
{
|
|
[DataField("startedAt", required: true)]
|
|
public TimeSpan StartedAt;
|
|
|
|
public PsionicRegenerationDoAfterEvent(TimeSpan startedAt)
|
|
{
|
|
StartedAt = startedAt;
|
|
}
|
|
|
|
public override DoAfterEvent Clone() => this;
|
|
}
|
|
|
|
[Serializable, NetSerializable]
|
|
public sealed partial class GlimmerWispDrainDoAfterEvent : SimpleDoAfterEvent { }
|
|
|
|
[Serializable, NetSerializable]
|
|
public sealed partial class HealingWordDoAfterEvent : DoAfterEvent
|
|
{
|
|
[DataField(required: true)]
|
|
public TimeSpan StartedAt;
|
|
|
|
public HealingWordDoAfterEvent(TimeSpan startedAt)
|
|
{
|
|
StartedAt = startedAt;
|
|
}
|
|
|
|
public override DoAfterEvent Clone() => this;
|
|
}
|
|
|
|
[Serializable, NetSerializable]
|
|
public sealed partial class PsionicHealOtherDoAfterEvent : DoAfterEvent
|
|
{
|
|
[DataField(required: true)]
|
|
public TimeSpan StartedAt;
|
|
|
|
[DataField]
|
|
public DamageSpecifier? HealingAmount = default!;
|
|
|
|
[DataField]
|
|
public float? RotReduction;
|
|
|
|
[DataField]
|
|
public bool DoRevive;
|
|
|
|
/// <summary>
|
|
/// Caster's Amplification that has been modified by the results of a MoodContest.
|
|
/// </summary>
|
|
public float ModifiedAmplification = default!;
|
|
|
|
/// <summary>
|
|
/// Caster's Dampening that has been modified by the results of a MoodContest.
|
|
/// </summary>
|
|
public float ModifiedDampening = default!;
|
|
|
|
public PsionicHealOtherDoAfterEvent(TimeSpan startedAt)
|
|
{
|
|
StartedAt = startedAt;
|
|
}
|
|
|
|
public override DoAfterEvent Clone() => this;
|
|
}
|
|
|
|
[Serializable, NetSerializable]
|
|
public sealed partial class AssayDoAfterEvent : DoAfterEvent
|
|
{
|
|
[DataField(required: true)]
|
|
public TimeSpan StartedAt;
|
|
|
|
[DataField]
|
|
public int FontSize = 12;
|
|
|
|
[DataField]
|
|
public string FontColor = "#8A00C2";
|
|
|
|
private AssayDoAfterEvent()
|
|
{
|
|
}
|
|
|
|
public AssayDoAfterEvent(TimeSpan startedAt, int fontSize, string fontColor)
|
|
{
|
|
StartedAt = startedAt;
|
|
FontSize = fontSize;
|
|
FontColor = fontColor;
|
|
}
|
|
|
|
public override DoAfterEvent Clone() => this;
|
|
}
|