This repository has been archived by the owner on Nov 1, 2024. It is now read-only.
forked from new-frontiers-14/frontier-station-14
-
Notifications
You must be signed in to change notification settings - Fork 37
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Remove CRLF, enforce with workflow (#26401)
* Check for CRLF in actions workflow Make emisse weep * Copy paste bottom text * I would like to thank StackOverflow for this spite PR. * Mention file name in message because the workflow tab doesn't display it. * dos2unix everything
- Loading branch information
Showing
182 changed files
with
1,712,609 additions
and
1,712,558 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
name: CRLF Check | ||
|
||
on: | ||
pull_request: | ||
types: [ opened, reopened, synchronize, ready_for_review ] | ||
|
||
jobs: | ||
build: | ||
name: CRLF Check | ||
if: github.event.pull_request.draft == false | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/[email protected] | ||
- name: Check for CRLF | ||
run: Tools/check_crlf.py |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,19 @@ | ||
using Robust.Shared.Prototypes; | ||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; | ||
|
||
namespace Content.Server.Holosign | ||
{ | ||
[RegisterComponent] | ||
public sealed partial class HolosignProjectorComponent : Component | ||
{ | ||
[ViewVariables(VVAccess.ReadWrite)] | ||
[DataField("signProto", customTypeSerializer:typeof(PrototypeIdSerializer<EntityPrototype>))] | ||
public string SignProto = "HolosignWetFloor"; | ||
|
||
/// <summary> | ||
/// How much charge a single use expends. | ||
/// </summary> | ||
[ViewVariables(VVAccess.ReadWrite), DataField("chargeUse")] | ||
public float ChargeUse = 50f; | ||
} | ||
} | ||
using Robust.Shared.Prototypes; | ||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; | ||
|
||
namespace Content.Server.Holosign | ||
{ | ||
[RegisterComponent] | ||
public sealed partial class HolosignProjectorComponent : Component | ||
{ | ||
[ViewVariables(VVAccess.ReadWrite)] | ||
[DataField("signProto", customTypeSerializer:typeof(PrototypeIdSerializer<EntityPrototype>))] | ||
public string SignProto = "HolosignWetFloor"; | ||
|
||
/// <summary> | ||
/// How much charge a single use expends. | ||
/// </summary> | ||
[ViewVariables(VVAccess.ReadWrite), DataField("chargeUse")] | ||
public float ChargeUse = 50f; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,77 +1,77 @@ | ||
using Content.Shared.Examine; | ||
using Content.Shared.Coordinates.Helpers; | ||
using Content.Server.Power.Components; | ||
using Content.Server.PowerCell; | ||
using Content.Shared.Interaction; | ||
using Content.Shared.Storage; | ||
|
||
namespace Content.Server.Holosign; | ||
|
||
public sealed class HolosignSystem : EntitySystem | ||
{ | ||
[Dependency] private readonly PowerCellSystem _powerCell = default!; | ||
[Dependency] private readonly SharedTransformSystem _transform = default!; | ||
|
||
|
||
public override void Initialize() | ||
{ | ||
base.Initialize(); | ||
SubscribeLocalEvent<HolosignProjectorComponent, BeforeRangedInteractEvent>(OnBeforeInteract); | ||
SubscribeLocalEvent<HolosignProjectorComponent, ExaminedEvent>(OnExamine); | ||
} | ||
|
||
private void OnExamine(EntityUid uid, HolosignProjectorComponent component, ExaminedEvent args) | ||
{ | ||
// TODO: This should probably be using an itemstatus | ||
// TODO: I'm too lazy to do this rn but it's literally copy-paste from emag. | ||
_powerCell.TryGetBatteryFromSlot(uid, out var battery); | ||
var charges = UsesRemaining(component, battery); | ||
var maxCharges = MaxUses(component, battery); | ||
|
||
using (args.PushGroup(nameof(HolosignProjectorComponent))) | ||
{ | ||
args.PushMarkup(Loc.GetString("limited-charges-charges-remaining", ("charges", charges))); | ||
|
||
if (charges > 0 && charges == maxCharges) | ||
{ | ||
args.PushMarkup(Loc.GetString("limited-charges-max-charges")); | ||
} | ||
} | ||
} | ||
|
||
private void OnBeforeInteract(EntityUid uid, HolosignProjectorComponent component, BeforeRangedInteractEvent args) | ||
{ | ||
|
||
if (args.Handled | ||
|| !args.CanReach // prevent placing out of range | ||
|| HasComp<StorageComponent>(args.Target) // if it's a storage component like a bag, we ignore usage so it can be stored | ||
|| !_powerCell.TryUseCharge(uid, component.ChargeUse) // if no battery or no charge, doesn't work | ||
) | ||
return; | ||
|
||
// places the holographic sign at the click location, snapped to grid. | ||
// overlapping of the same holo on one tile remains allowed to allow holofan refreshes | ||
var holoUid = EntityManager.SpawnEntity(component.SignProto, args.ClickLocation.SnapToGrid(EntityManager)); | ||
var xform = Transform(holoUid); | ||
if (!xform.Anchored) | ||
_transform.AnchorEntity(holoUid, xform); // anchor to prevent any tempering with (don't know what could even interact with it) | ||
|
||
args.Handled = true; | ||
} | ||
|
||
private int UsesRemaining(HolosignProjectorComponent component, BatteryComponent? battery = null) | ||
{ | ||
if (battery == null || | ||
component.ChargeUse == 0f) return 0; | ||
|
||
return (int) (battery.CurrentCharge / component.ChargeUse); | ||
} | ||
|
||
private int MaxUses(HolosignProjectorComponent component, BatteryComponent? battery = null) | ||
{ | ||
if (battery == null || | ||
component.ChargeUse == 0f) return 0; | ||
|
||
return (int) (battery.MaxCharge / component.ChargeUse); | ||
} | ||
} | ||
using Content.Shared.Examine; | ||
using Content.Shared.Coordinates.Helpers; | ||
using Content.Server.Power.Components; | ||
using Content.Server.PowerCell; | ||
using Content.Shared.Interaction; | ||
using Content.Shared.Storage; | ||
|
||
namespace Content.Server.Holosign; | ||
|
||
public sealed class HolosignSystem : EntitySystem | ||
{ | ||
[Dependency] private readonly PowerCellSystem _powerCell = default!; | ||
[Dependency] private readonly SharedTransformSystem _transform = default!; | ||
|
||
|
||
public override void Initialize() | ||
{ | ||
base.Initialize(); | ||
SubscribeLocalEvent<HolosignProjectorComponent, BeforeRangedInteractEvent>(OnBeforeInteract); | ||
SubscribeLocalEvent<HolosignProjectorComponent, ExaminedEvent>(OnExamine); | ||
} | ||
|
||
private void OnExamine(EntityUid uid, HolosignProjectorComponent component, ExaminedEvent args) | ||
{ | ||
// TODO: This should probably be using an itemstatus | ||
// TODO: I'm too lazy to do this rn but it's literally copy-paste from emag. | ||
_powerCell.TryGetBatteryFromSlot(uid, out var battery); | ||
var charges = UsesRemaining(component, battery); | ||
var maxCharges = MaxUses(component, battery); | ||
|
||
using (args.PushGroup(nameof(HolosignProjectorComponent))) | ||
{ | ||
args.PushMarkup(Loc.GetString("limited-charges-charges-remaining", ("charges", charges))); | ||
|
||
if (charges > 0 && charges == maxCharges) | ||
{ | ||
args.PushMarkup(Loc.GetString("limited-charges-max-charges")); | ||
} | ||
} | ||
} | ||
|
||
private void OnBeforeInteract(EntityUid uid, HolosignProjectorComponent component, BeforeRangedInteractEvent args) | ||
{ | ||
|
||
if (args.Handled | ||
|| !args.CanReach // prevent placing out of range | ||
|| HasComp<StorageComponent>(args.Target) // if it's a storage component like a bag, we ignore usage so it can be stored | ||
|| !_powerCell.TryUseCharge(uid, component.ChargeUse) // if no battery or no charge, doesn't work | ||
) | ||
return; | ||
|
||
// places the holographic sign at the click location, snapped to grid. | ||
// overlapping of the same holo on one tile remains allowed to allow holofan refreshes | ||
var holoUid = EntityManager.SpawnEntity(component.SignProto, args.ClickLocation.SnapToGrid(EntityManager)); | ||
var xform = Transform(holoUid); | ||
if (!xform.Anchored) | ||
_transform.AnchorEntity(holoUid, xform); // anchor to prevent any tempering with (don't know what could even interact with it) | ||
|
||
args.Handled = true; | ||
} | ||
|
||
private int UsesRemaining(HolosignProjectorComponent component, BatteryComponent? battery = null) | ||
{ | ||
if (battery == null || | ||
component.ChargeUse == 0f) return 0; | ||
|
||
return (int) (battery.CurrentCharge / component.ChargeUse); | ||
} | ||
|
||
private int MaxUses(HolosignProjectorComponent component, BatteryComponent? battery = null) | ||
{ | ||
if (battery == null || | ||
component.ChargeUse == 0f) return 0; | ||
|
||
return (int) (battery.MaxCharge / component.ChargeUse); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
- files: ["ziptie_end.ogg"] | ||
license: "CC-BY-3.0" | ||
copyright: "Taken from cable tie.wav by THE_bizniss on Freesound.org" | ||
- files: ["ziptie_end.ogg"] | ||
license: "CC-BY-3.0" | ||
copyright: "Taken from cable tie.wav by THE_bizniss on Freesound.org" | ||
source: "https://freesound.org/people/THE_bizniss/sounds/39318/" |
Oops, something went wrong.