mirror of
https://github.com/WWhiteDreamProject/wwdpublic.git
synced 2026-04-23 16:48:10 +03:00
# Description Removes the ability to circumvent the effects of Blindness and Wheelchair User through surgery. Additionally tweaks glasses to better counteract nearsightedness and minor eye damage. Most glasses now mitigate 3 points of eye damage, fully countering the nearsighted penalty, while jamjars mitigate 3.5 points of eye damage. Also tweaks the starting amounts of eye damage given by Blindness and Nearsighted. Blindness gives 8 points of eye damage, up from 6 (this doesn't have any visual effect but makes glasses worse since visual effects cap at 6 points), and Nearsighted gives 3 points of eye damage, down from 4. --- <details><summary><h1>Media</h1></summary> <p>     (i'm trying to walk around after the surgery in the second video, prommy)   </p> </details> --- # Changelog 🆑 - tweak: Made Wheelchair User and Blindness permanent - tweak: Made Shortsighted less visually intense - tweak: Made glasses counteract eye damage better --------- Signed-off-by: Timfa <timfalken@hotmail.com> Co-authored-by: Timfa <timfalken@hotmail.com> (cherry picked from commit 0187c38b3a96220f133281adf311cf259b3f4e50)
52 lines
1.8 KiB
C#
52 lines
1.8 KiB
C#
using Content.Shared.Eye.Blinding.Systems;
|
|
using Robust.Shared.GameStates;
|
|
|
|
namespace Content.Shared.Eye.Blinding.Components;
|
|
|
|
[RegisterComponent]
|
|
[NetworkedComponent, AutoGenerateComponentState]
|
|
[Access(typeof(BlindableSystem))]
|
|
public sealed partial class BlindableComponent : Component
|
|
{
|
|
/// <summary>
|
|
/// How many seconds will be subtracted from each attempt to add blindness to us?
|
|
/// </summary>
|
|
[ViewVariables(VVAccess.ReadWrite), DataField("isBlind"), AutoNetworkedField]
|
|
public bool IsBlind;
|
|
|
|
/// <summary>
|
|
/// Eye damage due to things like staring directly at welders. Causes blurry vision or outright
|
|
/// blindness if greater than or equal to <see cref="MaxDamage"/>.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Should eventually be replaced with a proper eye health system when we have bobby.
|
|
/// </remarks>
|
|
[ViewVariables(VVAccess.ReadWrite), DataField("EyeDamage"), AutoNetworkedField]
|
|
public int EyeDamage = 0;
|
|
|
|
[ViewVariables(VVAccess.ReadOnly), DataField]
|
|
public int MaxDamage = 9;
|
|
|
|
[ViewVariables(VVAccess.ReadOnly), DataField]
|
|
public int MinDamage = 0;
|
|
|
|
/// <summary>
|
|
/// Whether the minimum eye damage can be modified with surgery.
|
|
/// </summary>
|
|
[ViewVariables(VVAccess.ReadWrite), DataField("incurable"), AutoNetworkedField]
|
|
public bool Incurable = false;
|
|
|
|
/// <description>
|
|
/// Used to ensure that this doesn't break with sandbox or admin tools.
|
|
/// This is not "enabled/disabled".
|
|
/// </description>
|
|
[Access(Other = AccessPermissions.ReadWriteExecute)]
|
|
public bool LightSetup = false;
|
|
|
|
/// <description>
|
|
/// Gives an extra frame of blindness to reenable light manager during
|
|
/// </description>
|
|
[Access(Other = AccessPermissions.ReadWriteExecute)]
|
|
public bool GraceFrame = false;
|
|
}
|