From: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> Date: Sat, 13 Jul 2024 06:09:19 +0000 (-0400) Subject: Watches (#29550) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=49096cf14f8898bdbcb997fa3bbeacbcdccae67e;p=space-station-14.git Watches (#29550) * watches * rename * add it into loot pools --- diff --git a/Content.Client/Clock/ClockSystem.cs b/Content.Client/Clock/ClockSystem.cs new file mode 100644 index 0000000000..7097ada9df --- /dev/null +++ b/Content.Client/Clock/ClockSystem.cs @@ -0,0 +1,26 @@ +using Content.Shared.Clock; +using Robust.Client.GameObjects; + +namespace Content.Client.Clock; + +public sealed class ClockSystem : SharedClockSystem +{ + public override void Update(float frameTime) + { + base.Update(frameTime); + + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out var comp, out var sprite)) + { + if (!sprite.LayerMapTryGet(ClockVisualLayers.HourHand, out var hourLayer) || + !sprite.LayerMapTryGet(ClockVisualLayers.MinuteHand, out var minuteLayer)) + continue; + + var time = GetClockTime((uid, comp)); + var hourState = $"{comp.HoursBase}{time.Hours % 12}"; + var minuteState = $"{comp.MinutesBase}{time.Minutes / 5}"; + sprite.LayerSetState(hourLayer, hourState); + sprite.LayerSetState(minuteLayer, minuteState); + } + } +} diff --git a/Content.Server/Clock/ClockSystem.cs b/Content.Server/Clock/ClockSystem.cs new file mode 100644 index 0000000000..29400a59f7 --- /dev/null +++ b/Content.Server/Clock/ClockSystem.cs @@ -0,0 +1,42 @@ +using Content.Server.GameTicking.Events; +using Content.Shared.Clock; +using Content.Shared.Destructible; +using Robust.Server.GameStates; +using Robust.Shared.Random; + +namespace Content.Server.Clock; + +public sealed class ClockSystem : SharedClockSystem +{ + [Dependency] private readonly PvsOverrideSystem _pvsOverride = default!; + [Dependency] private readonly IRobustRandom _robustRandom = default!; + + /// + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnRoundStart); + SubscribeLocalEvent(OnMapInit); + SubscribeLocalEvent(OnBreak); + } + + private void OnRoundStart(RoundStartingEvent ev) + { + var manager = Spawn(); + AddComp(manager); + } + + private void OnMapInit(Entity ent, ref MapInitEvent args) + { + ent.Comp.TimeOffset = TimeSpan.FromHours(_robustRandom.NextFloat(0, 24)); + _pvsOverride.AddGlobalOverride(ent); + Dirty(ent); + } + + private void OnBreak(Entity ent, ref BreakageEventArgs args) + { + ent.Comp.StuckTime = GetClockTime(ent); + Dirty(ent, ent.Comp); + } +} diff --git a/Content.Shared/Clock/ClockComponent.cs b/Content.Shared/Clock/ClockComponent.cs new file mode 100644 index 0000000000..3a1027d813 --- /dev/null +++ b/Content.Shared/Clock/ClockComponent.cs @@ -0,0 +1,42 @@ +using Robust.Shared.GameStates; +using Robust.Shared.Serialization; + +namespace Content.Shared.Clock; + +[RegisterComponent, NetworkedComponent] +[Access(typeof(SharedClockSystem))] +[AutoGenerateComponentState] +public sealed partial class ClockComponent : Component +{ + /// + /// If not null, this time will be permanently shown. + /// + [DataField, AutoNetworkedField] + public TimeSpan? StuckTime; + + /// + /// The format in which time is displayed. + /// + [DataField, AutoNetworkedField] + public ClockType ClockType = ClockType.TwelveHour; + + [DataField] + public string HoursBase = "hours_"; + + [DataField] + public string MinutesBase = "minutes_"; +} + +[Serializable, NetSerializable] +public enum ClockType : byte +{ + TwelveHour, + TwentyFourHour +} + +[Serializable, NetSerializable] +public enum ClockVisualLayers : byte +{ + HourHand, + MinuteHand +} diff --git a/Content.Shared/Clock/GlobalTimeManagerComponent.cs b/Content.Shared/Clock/GlobalTimeManagerComponent.cs new file mode 100644 index 0000000000..764b578b25 --- /dev/null +++ b/Content.Shared/Clock/GlobalTimeManagerComponent.cs @@ -0,0 +1,16 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Clock; + +/// +/// This is used for globally managing the time on-station +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause, Access(typeof(SharedClockSystem))] +public sealed partial class GlobalTimeManagerComponent : Component +{ + /// + /// A fixed random offset, used to fuzz the time between shifts. + /// + [DataField, AutoPausedField, AutoNetworkedField] + public TimeSpan TimeOffset; +} diff --git a/Content.Shared/Clock/SharedClockSystem.cs b/Content.Shared/Clock/SharedClockSystem.cs new file mode 100644 index 0000000000..0a7c1b01b2 --- /dev/null +++ b/Content.Shared/Clock/SharedClockSystem.cs @@ -0,0 +1,66 @@ +using System.Linq; +using Content.Shared.Examine; +using Content.Shared.GameTicking; + +namespace Content.Shared.Clock; + +public abstract class SharedClockSystem : EntitySystem +{ + [Dependency] private readonly SharedGameTicker _ticker = default!; + + /// + public override void Initialize() + { + SubscribeLocalEvent(OnExamined); + } + + private void OnExamined(Entity ent, ref ExaminedEvent args) + { + if (!args.IsInDetailsRange) + return; + + args.PushMarkup(Loc.GetString("clock-examine", ("time", GetClockTimeText(ent)))); + } + + public string GetClockTimeText(Entity ent) + { + var time = GetClockTime(ent); + switch (ent.Comp.ClockType) + { + case ClockType.TwelveHour: + return time.ToString(@"h\:mm"); + case ClockType.TwentyFourHour: + return time.ToString(@"hh\:mm"); + default: + throw new ArgumentOutOfRangeException(); + } + } + + private TimeSpan GetGlobalTime() + { + return (EntityQuery().FirstOrDefault()?.TimeOffset ?? TimeSpan.Zero) + _ticker.RoundDuration(); + } + + public TimeSpan GetClockTime(Entity ent) + { + var comp = ent.Comp; + + if (comp.StuckTime != null) + return comp.StuckTime.Value; + + var time = GetGlobalTime(); + + switch (comp.ClockType) + { + case ClockType.TwelveHour: + var adjustedHours = time.Hours % 12; + if (adjustedHours == 0) + adjustedHours = 12; + return new TimeSpan(adjustedHours, time.Minutes, time.Seconds); + case ClockType.TwentyFourHour: + return time; + default: + throw new ArgumentOutOfRangeException(); + } + } +} diff --git a/Resources/Locale/en-US/devices/clock.ftl b/Resources/Locale/en-US/devices/clock.ftl new file mode 100644 index 0000000000..6d0aef1eb7 --- /dev/null +++ b/Resources/Locale/en-US/devices/clock.ftl @@ -0,0 +1 @@ +clock-examine = The time reads: [color=white]{$time}[/color] diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/misc.yml b/Resources/Prototypes/Catalog/Fills/Lockers/misc.yml index fac36ba710..b49fa383bc 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/misc.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/misc.yml @@ -170,6 +170,8 @@ prob: 0.20 - id: BarberScissors prob: 0.05 + - id: Wristwatch + prob: 0.05 - id: BookRandomStory prob: 0.1 # Syndicate loot diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/maintenance.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/maintenance.yml index 7d7d9697d2..00798b36e0 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/maintenance.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/maintenance.yml @@ -67,6 +67,7 @@ - ClothingHeadHatCowboyBountyHunter - ClothingNeckAutismPin - ClothingNeckGoldAutismPin + - WristwatchGold rareChance: 0.01 prototypes: - Lighter @@ -128,6 +129,7 @@ - ClothingShoesTourist - ClothingUniformJumpsuitLoungewear - ClothingHeadHatCowboyRed + - Wristwatch chance: 0.6 offset: 0.0 diff --git a/Resources/Prototypes/Entities/Objects/Devices/wristwatch.yml b/Resources/Prototypes/Entities/Objects/Devices/wristwatch.yml new file mode 100644 index 0000000000..7fbb4aecf6 --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Devices/wristwatch.yml @@ -0,0 +1,59 @@ +- type: entity + id: Wristwatch + parent: BaseItem + name: wristwatch + description: A cheap watch for telling time. How much did you waste playing Space Station 14? + components: + - type: Sprite + sprite: Objects/Devices/wristwatch.rsi + layers: + - state: wristwatch + - map: [ "enum.ClockVisualLayers.MinuteHand"] + - map: [ "enum.ClockVisualLayers.HourHand"] + - type: Clock + - type: Item + sprite: Objects/Devices/wristwatch.rsi + size: Small + - type: Clothing + sprite: Objects/Devices/wristwatch.rsi + slots: + - gloves + - type: Appearance + - type: Damageable + damageContainer: Inorganic + - type: StaticPrice + price: 50 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageGroupTrigger + damageGroup: Brute + damage: 25 + behaviors: + - !type:DoActsBehavior + acts: [ "Breakage" ] + +- type: entity + id: WristwatchGold + parent: Wristwatch + name: gold watch + description: A fancy watch worth more than your kidney. It was owned by the notorious Syndicate mobster Vunibaldo "200 Pound Horse Meat Grinder" Frediani. + components: + - type: Sprite + sprite: Objects/Devices/goldwatch.rsi + layers: + - state: goldwatch + - map: [ "enum.ClockVisualLayers.MinuteHand"] + - map: [ "enum.ClockVisualLayers.HourHand"] + - type: Item + sprite: Objects/Devices/goldwatch.rsi + - type: Clothing + sprite: Objects/Devices/goldwatch.rsi + - type: StaticPrice + price: 500 #if you ever increase the price of kidneys, increase this too. diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/equipped-HAND.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/equipped-HAND.png new file mode 100644 index 0000000000..59522f6c12 Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/equipped-HAND.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/goldwatch.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/goldwatch.png new file mode 100644 index 0000000000..60e16eb845 Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/goldwatch.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_0.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_0.png new file mode 100644 index 0000000000..f1064c1a27 Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_0.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_1.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_1.png new file mode 100644 index 0000000000..c553b1c913 Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_1.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_10.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_10.png new file mode 100644 index 0000000000..0bbe9d8ba2 Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_10.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_11.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_11.png new file mode 100644 index 0000000000..e364438e4e Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_11.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_2.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_2.png new file mode 100644 index 0000000000..87c642239f Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_2.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_3.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_3.png new file mode 100644 index 0000000000..107b210ff4 Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_3.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_4.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_4.png new file mode 100644 index 0000000000..c03f799fcc Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_4.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_5.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_5.png new file mode 100644 index 0000000000..2835fadd24 Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_5.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_6.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_6.png new file mode 100644 index 0000000000..55df41a9ce Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_6.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_7.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_7.png new file mode 100644 index 0000000000..890650474d Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_7.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_8.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_8.png new file mode 100644 index 0000000000..a9a27f92df Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_8.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_9.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_9.png new file mode 100644 index 0000000000..262901db8f Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/hours_9.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/inhand-left.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/inhand-left.png new file mode 100644 index 0000000000..ec40991d4e Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/inhand-left.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/inhand-right.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/inhand-right.png new file mode 100644 index 0000000000..aac69417e3 Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/inhand-right.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/meta.json b/Resources/Textures/Objects/Devices/goldwatch.rsi/meta.json new file mode 100644 index 0000000000..6466438b53 --- /dev/null +++ b/Resources/Textures/Objects/Devices/goldwatch.rsi/meta.json @@ -0,0 +1,98 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from vgstation13 at https://github.com/vgstation-coders/vgstation13/blob/223bf37a7386249ecf1fe425ca8cef25821ca9d7/icons/obj/watches/goldwatch.dmi, https://github.com/vgstation-coders/vgstation13/blob/223bf37a7386249ecf1fe425ca8cef25821ca9d7/icons/mob/in-hand/right/clothing_accessories.dmi, https://github.com/vgstation-coders/vgstation13/blob/223bf37a7386249ecf1fe425ca8cef25821ca9d7/icons/mob/in-hand/left/clothing_accessories.dmi, https://github.com/vgstation-coders/vgstation13/blob/30f9caeb59b0dd9da1dbcd4c69307ae182033a74/icons/mob/clothing_accessories.dmi", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "goldwatch" + }, + { + "name": "hours_1" + }, + { + "name": "hours_2" + }, + { + "name": "hours_3" + }, + { + "name": "hours_4" + }, + { + "name": "hours_5" + }, + { + "name": "hours_6" + }, + { + "name": "hours_7" + }, + { + "name": "hours_8" + }, + { + "name": "hours_9" + }, + { + "name": "hours_10" + }, + { + "name": "hours_11" + }, + { + "name": "hours_0" + }, + { + "name": "minutes_1" + }, + { + "name": "minutes_2" + }, + { + "name": "minutes_3" + }, + { + "name": "minutes_4" + }, + { + "name": "minutes_5" + }, + { + "name": "minutes_6" + }, + { + "name": "minutes_7" + }, + { + "name": "minutes_8" + }, + { + "name": "minutes_9" + }, + { + "name": "minutes_10" + }, + { + "name": "minutes_11" + }, + { + "name": "minutes_0" + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "equipped-HAND", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_0.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_0.png new file mode 100644 index 0000000000..be687566cb Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_0.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_1.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_1.png new file mode 100644 index 0000000000..0ef2c831f4 Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_1.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_10.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_10.png new file mode 100644 index 0000000000..3019a20a9b Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_10.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_11.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_11.png new file mode 100644 index 0000000000..fcbf039b6f Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_11.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_2.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_2.png new file mode 100644 index 0000000000..1304f56e75 Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_2.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_3.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_3.png new file mode 100644 index 0000000000..8f58881dbd Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_3.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_4.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_4.png new file mode 100644 index 0000000000..a0c007b6ea Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_4.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_5.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_5.png new file mode 100644 index 0000000000..1d71f45c47 Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_5.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_6.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_6.png new file mode 100644 index 0000000000..5e1070e3a8 Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_6.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_7.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_7.png new file mode 100644 index 0000000000..4af1070d21 Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_7.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_8.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_8.png new file mode 100644 index 0000000000..39b252688a Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_8.png differ diff --git a/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_9.png b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_9.png new file mode 100644 index 0000000000..b9614ed80f Binary files /dev/null and b/Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_9.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/equipped-HAND.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/equipped-HAND.png new file mode 100644 index 0000000000..b12afe6d4e Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/equipped-HAND.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_0.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_0.png new file mode 100644 index 0000000000..3af9ca4634 Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_0.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_1.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_1.png new file mode 100644 index 0000000000..4791cee3e4 Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_1.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_10.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_10.png new file mode 100644 index 0000000000..aeac862656 Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_10.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_11.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_11.png new file mode 100644 index 0000000000..5f2daf512a Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_11.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_2.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_2.png new file mode 100644 index 0000000000..386166cabd Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_2.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_3.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_3.png new file mode 100644 index 0000000000..2f5300928f Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_3.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_4.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_4.png new file mode 100644 index 0000000000..c994c05685 Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_4.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_5.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_5.png new file mode 100644 index 0000000000..c344b0307b Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_5.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_6.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_6.png new file mode 100644 index 0000000000..892194a6f0 Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_6.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_7.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_7.png new file mode 100644 index 0000000000..fa7af8e5cc Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_7.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_8.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_8.png new file mode 100644 index 0000000000..83caf8c8e1 Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_8.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_9.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_9.png new file mode 100644 index 0000000000..6334bb72fd Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/hours_9.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/inhand-left.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/inhand-left.png new file mode 100644 index 0000000000..76ca3c4911 Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/inhand-left.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/inhand-right.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/inhand-right.png new file mode 100644 index 0000000000..f9ab9c67d4 Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/inhand-right.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/meta.json b/Resources/Textures/Objects/Devices/wristwatch.rsi/meta.json new file mode 100644 index 0000000000..fbf18c1a8d --- /dev/null +++ b/Resources/Textures/Objects/Devices/wristwatch.rsi/meta.json @@ -0,0 +1,98 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from vgstation13 at https://github.com/vgstation-coders/vgstation13/blob/223bf37a7386249ecf1fe425ca8cef25821ca9d7/icons/obj/watches/wristwatch.dmi, https://github.com/vgstation-coders/vgstation13/blob/30f9caeb59b0dd9da1dbcd4c69307ae182033a74/icons/obj/clothing/accessory_overlays.dmi, https://github.com/vgstation-coders/vgstation13/blob/223bf37a7386249ecf1fe425ca8cef25821ca9d7/icons/mob/in-hand/right/clothing_accessories.dmi, https://github.com/vgstation-coders/vgstation13/blob/223bf37a7386249ecf1fe425ca8cef25821ca9d7/icons/mob/in-hand/right/clothing_accessories.dmi, https://github.com/vgstation-coders/vgstation13/blob/223bf37a7386249ecf1fe425ca8cef25821ca9d7/icons/mob/in-hand/left/clothing_accessories.dmi, https://github.com/vgstation-coders/vgstation13/blob/30f9caeb59b0dd9da1dbcd4c69307ae182033a74/icons/mob/clothing_accessories.dmi", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "wristwatch" + }, + { + "name": "hours_1" + }, + { + "name": "hours_2" + }, + { + "name": "hours_3" + }, + { + "name": "hours_4" + }, + { + "name": "hours_5" + }, + { + "name": "hours_6" + }, + { + "name": "hours_7" + }, + { + "name": "hours_8" + }, + { + "name": "hours_9" + }, + { + "name": "hours_10" + }, + { + "name": "hours_11" + }, + { + "name": "hours_0" + }, + { + "name": "minutes_1" + }, + { + "name": "minutes_2" + }, + { + "name": "minutes_3" + }, + { + "name": "minutes_4" + }, + { + "name": "minutes_5" + }, + { + "name": "minutes_6" + }, + { + "name": "minutes_7" + }, + { + "name": "minutes_8" + }, + { + "name": "minutes_9" + }, + { + "name": "minutes_10" + }, + { + "name": "minutes_11" + }, + { + "name": "minutes_0" + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "equipped-HAND", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_0.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_0.png new file mode 100644 index 0000000000..5285c6b709 Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_0.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_1.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_1.png new file mode 100644 index 0000000000..336bb51039 Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_1.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_10.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_10.png new file mode 100644 index 0000000000..9dad0d83cb Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_10.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_11.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_11.png new file mode 100644 index 0000000000..0c789112c3 Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_11.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_2.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_2.png new file mode 100644 index 0000000000..a4c3bbe717 Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_2.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_3.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_3.png new file mode 100644 index 0000000000..6bfdc405c7 Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_3.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_4.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_4.png new file mode 100644 index 0000000000..89c08f3396 Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_4.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_5.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_5.png new file mode 100644 index 0000000000..4cbaa00d14 Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_5.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_6.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_6.png new file mode 100644 index 0000000000..e834c52d8c Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_6.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_7.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_7.png new file mode 100644 index 0000000000..8c8927f03a Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_7.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_8.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_8.png new file mode 100644 index 0000000000..e0bba2ecf9 Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_8.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_9.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_9.png new file mode 100644 index 0000000000..db0f5a1c71 Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_9.png differ diff --git a/Resources/Textures/Objects/Devices/wristwatch.rsi/wristwatch.png b/Resources/Textures/Objects/Devices/wristwatch.rsi/wristwatch.png new file mode 100644 index 0000000000..aea09a7f89 Binary files /dev/null and b/Resources/Textures/Objects/Devices/wristwatch.rsi/wristwatch.png differ