mirror of
https://github.com/DeltaV-Station/Delta-v.git
synced 2026-09-29 23:57:29 +00:00
* feat: added lslaws command * feat: add lswatchlisted command * tweak: nicer formatting for lswatchlisted * tweak: nicer formatting for lslaws * feat: lsobjectives lists everyone's objectives if no user specified * feat: mark ghosted players in players tab * docs: add missing DeltaV patch comment * feat: only alert admins if meatspiking player characters * feat: always alert about station explosions, don't spam off-station alerts * feat: stripping alert tweaks * feat: admin alert on low hour latejoin * refactor: forgot to make onspawncomplete non-async, wasn't necessary after all * feat: EORG alerts * feat: getping command * refactor: remove unused imports, format * refactor: early return in onspawncomplete * feat: add coordinate link to eorg destroy alert * tweak: cache watchlist data to avoid db calls, use in lswatchlisted * fix: null-check in OnNoteAdded * feat: watchlist indicator on admin overlay * feat: optionally mark watchlisted in f7 players * feat: refresh admin playerlist data on wl change * fix: update player list after cache write * feat: add tp links to prayer messages * tweak: don't alert when uncuffing self * tweak: lower uncuff other alert impact if mindshielded * docs: add deltav comments to imports * refactor: address review comments * style: deltav comments on same line as change * performance: get metadata only if objectives > 0 * fix: actually check user if explosion gridPos not on station * style: remove extraneous newlines * refactor: use fancy getOrNew method * feat: refresh player list UI if marking pref changed * feat: latejoin alert hours configurable * fix: also list objectives for non-humanoids and dead people
44 lines
1.0 KiB
C#
44 lines
1.0 KiB
C#
using Content.Shared.Mind;
|
|
using Robust.Shared.Network;
|
|
using Robust.Shared.Prototypes;
|
|
using Robust.Shared.Serialization;
|
|
|
|
namespace Content.Shared.Administration;
|
|
|
|
[Serializable, NetSerializable]
|
|
public sealed record PlayerInfo(
|
|
string Username,
|
|
string CharacterName,
|
|
string IdentityName,
|
|
string StartingJob,
|
|
bool Antag,
|
|
ProtoId<RoleTypePrototype>? RoleProto,
|
|
LocId? Subtype,
|
|
int SortWeight,
|
|
NetEntity? NetEntity,
|
|
NetUserId SessionId,
|
|
bool Connected,
|
|
bool ActiveThisRound,
|
|
TimeSpan? OverallPlaytime,
|
|
bool Ghost, // DeltaV - Add Ghost
|
|
bool Watchlisted // DeltaV - Add Watchlisted
|
|
)
|
|
{
|
|
private string? _playtimeString;
|
|
|
|
public bool IsPinned { get; set; }
|
|
|
|
public string PlaytimeString => _playtimeString ??=
|
|
OverallPlaytime?.ToString("%d':'hh':'mm") ?? Loc.GetString("generic-unknown-title");
|
|
|
|
public bool Equals(PlayerInfo? other)
|
|
{
|
|
return other?.SessionId == SessionId;
|
|
}
|
|
|
|
public override int GetHashCode()
|
|
{
|
|
return SessionId.GetHashCode();
|
|
}
|
|
}
|