Files
wwdpublic/Content.Shared/Medical/PenLightComponent.cs
SleepyScarecrow 527d31908d Penlight-Fixes (#900)
<!--
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

<!--
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]?
-->

Tweaked penlights some. You can no longer examine random objects, you
cannot examine your own eyes, and the penlight now needs to be actually
on in order to use. Also tweaked the messages to be more accurate.



# 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
-->

🆑 Tilkku
- tweak: Penlight Exam Messages
- fix: Penlights now need to be on in order to examine
- fix: Penlights can no longer be used on self

---------

Signed-off-by: SleepyScarecrow <136123749+SleepyScarecrow@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2024-10-19 12:46:27 +07:00

34 lines
915 B
C#

using Content.Shared.DoAfter;
using Robust.Shared.GameStates;
using Robust.Shared.Serialization;
namespace Content.Shared.Medical;
/// <summary>
/// This for penlights; a tool used to check for eye damage.
/// </summary>
[RegisterComponent, NetworkedComponent, AutoGenerateComponentPause]
public sealed partial class PenLightComponent : Component
{
/// <summary>
/// Cooldown Time, exams take a bit
/// </summary>
[AutoPausedField]
public TimeSpan? NextExamTime;
/// <summary>
/// The min time between exams
/// </summary>
[DataField]
public TimeSpan ExamDelay = TimeSpan.FromSeconds(3);
/// <summary>
/// How long the doafter for the exam takes
/// </summary>
[DataField(required: true)]
public float ExamSpeed { get; set; }
}
[Serializable, NetSerializable]
public sealed partial class PenLightDoAfterEvent : SimpleDoAfterEvent { }