From 49096cf14f8898bdbcb997fa3bbeacbcdccae67e Mon Sep 17 00:00:00 2001 From: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> Date: Sat, 13 Jul 2024 02:09:19 -0400 Subject: [PATCH] Watches (#29550) * watches * rename * add it into loot pools --- Content.Client/Clock/ClockSystem.cs | 26 +++++ Content.Server/Clock/ClockSystem.cs | 42 ++++++++ Content.Shared/Clock/ClockComponent.cs | 42 ++++++++ .../Clock/GlobalTimeManagerComponent.cs | 16 +++ Content.Shared/Clock/SharedClockSystem.cs | 66 ++++++++++++ Resources/Locale/en-US/devices/clock.ftl | 1 + .../Prototypes/Catalog/Fills/Lockers/misc.yml | 2 + .../Markers/Spawners/Random/maintenance.yml | 2 + .../Entities/Objects/Devices/wristwatch.yml | 59 +++++++++++ .../Devices/goldwatch.rsi/equipped-HAND.png | Bin 0 -> 295 bytes .../Devices/goldwatch.rsi/goldwatch.png | Bin 0 -> 1180 bytes .../Objects/Devices/goldwatch.rsi/hours_0.png | Bin 0 -> 145 bytes .../Objects/Devices/goldwatch.rsi/hours_1.png | Bin 0 -> 148 bytes .../Devices/goldwatch.rsi/hours_10.png | Bin 0 -> 150 bytes .../Devices/goldwatch.rsi/hours_11.png | Bin 0 -> 146 bytes .../Objects/Devices/goldwatch.rsi/hours_2.png | Bin 0 -> 149 bytes .../Objects/Devices/goldwatch.rsi/hours_3.png | Bin 0 -> 143 bytes .../Objects/Devices/goldwatch.rsi/hours_4.png | Bin 0 -> 151 bytes .../Objects/Devices/goldwatch.rsi/hours_5.png | Bin 0 -> 149 bytes .../Objects/Devices/goldwatch.rsi/hours_6.png | Bin 0 -> 145 bytes .../Objects/Devices/goldwatch.rsi/hours_7.png | Bin 0 -> 148 bytes .../Objects/Devices/goldwatch.rsi/hours_8.png | Bin 0 -> 149 bytes .../Objects/Devices/goldwatch.rsi/hours_9.png | Bin 0 -> 142 bytes .../Devices/goldwatch.rsi/inhand-left.png | Bin 0 -> 271 bytes .../Devices/goldwatch.rsi/inhand-right.png | Bin 0 -> 273 bytes .../Objects/Devices/goldwatch.rsi/meta.json | 98 ++++++++++++++++++ .../Devices/goldwatch.rsi/minutes_0.png | Bin 0 -> 144 bytes .../Devices/goldwatch.rsi/minutes_1.png | Bin 0 -> 150 bytes .../Devices/goldwatch.rsi/minutes_10.png | Bin 0 -> 151 bytes .../Devices/goldwatch.rsi/minutes_11.png | Bin 0 -> 150 bytes .../Devices/goldwatch.rsi/minutes_2.png | Bin 0 -> 148 bytes .../Devices/goldwatch.rsi/minutes_3.png | Bin 0 -> 142 bytes .../Devices/goldwatch.rsi/minutes_4.png | Bin 0 -> 148 bytes .../Devices/goldwatch.rsi/minutes_5.png | Bin 0 -> 150 bytes .../Devices/goldwatch.rsi/minutes_6.png | Bin 0 -> 143 bytes .../Devices/goldwatch.rsi/minutes_7.png | Bin 0 -> 149 bytes .../Devices/goldwatch.rsi/minutes_8.png | Bin 0 -> 146 bytes .../Devices/goldwatch.rsi/minutes_9.png | Bin 0 -> 143 bytes .../Devices/wristwatch.rsi/equipped-HAND.png | Bin 0 -> 292 bytes .../Devices/wristwatch.rsi/hours_0.png | Bin 0 -> 151 bytes .../Devices/wristwatch.rsi/hours_1.png | Bin 0 -> 152 bytes .../Devices/wristwatch.rsi/hours_10.png | Bin 0 -> 156 bytes .../Devices/wristwatch.rsi/hours_11.png | Bin 0 -> 153 bytes .../Devices/wristwatch.rsi/hours_2.png | Bin 0 -> 152 bytes .../Devices/wristwatch.rsi/hours_3.png | Bin 0 -> 153 bytes .../Devices/wristwatch.rsi/hours_4.png | Bin 0 -> 155 bytes .../Devices/wristwatch.rsi/hours_5.png | Bin 0 -> 155 bytes .../Devices/wristwatch.rsi/hours_6.png | Bin 0 -> 152 bytes .../Devices/wristwatch.rsi/hours_7.png | Bin 0 -> 153 bytes .../Devices/wristwatch.rsi/hours_8.png | Bin 0 -> 152 bytes .../Devices/wristwatch.rsi/hours_9.png | Bin 0 -> 150 bytes .../Devices/wristwatch.rsi/inhand-left.png | Bin 0 -> 252 bytes .../Devices/wristwatch.rsi/inhand-right.png | Bin 0 -> 254 bytes .../Objects/Devices/wristwatch.rsi/meta.json | 98 ++++++++++++++++++ .../Devices/wristwatch.rsi/minutes_0.png | Bin 0 -> 152 bytes .../Devices/wristwatch.rsi/minutes_1.png | Bin 0 -> 158 bytes .../Devices/wristwatch.rsi/minutes_10.png | Bin 0 -> 159 bytes .../Devices/wristwatch.rsi/minutes_11.png | Bin 0 -> 160 bytes .../Devices/wristwatch.rsi/minutes_2.png | Bin 0 -> 157 bytes .../Devices/wristwatch.rsi/minutes_3.png | Bin 0 -> 151 bytes .../Devices/wristwatch.rsi/minutes_4.png | Bin 0 -> 160 bytes .../Devices/wristwatch.rsi/minutes_5.png | Bin 0 -> 159 bytes .../Devices/wristwatch.rsi/minutes_6.png | Bin 0 -> 153 bytes .../Devices/wristwatch.rsi/minutes_7.png | Bin 0 -> 157 bytes .../Devices/wristwatch.rsi/minutes_8.png | Bin 0 -> 155 bytes .../Devices/wristwatch.rsi/minutes_9.png | Bin 0 -> 150 bytes .../Devices/wristwatch.rsi/wristwatch.png | Bin 0 -> 887 bytes 67 files changed, 452 insertions(+) create mode 100644 Content.Client/Clock/ClockSystem.cs create mode 100644 Content.Server/Clock/ClockSystem.cs create mode 100644 Content.Shared/Clock/ClockComponent.cs create mode 100644 Content.Shared/Clock/GlobalTimeManagerComponent.cs create mode 100644 Content.Shared/Clock/SharedClockSystem.cs create mode 100644 Resources/Locale/en-US/devices/clock.ftl create mode 100644 Resources/Prototypes/Entities/Objects/Devices/wristwatch.yml create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/equipped-HAND.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/goldwatch.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/hours_0.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/hours_1.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/hours_10.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/hours_11.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/hours_2.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/hours_3.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/hours_4.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/hours_5.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/hours_6.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/hours_7.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/hours_8.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/hours_9.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/inhand-left.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/inhand-right.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/meta.json create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_0.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_1.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_10.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_11.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_2.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_3.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_4.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_5.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_6.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_7.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_8.png create mode 100644 Resources/Textures/Objects/Devices/goldwatch.rsi/minutes_9.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/equipped-HAND.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/hours_0.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/hours_1.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/hours_10.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/hours_11.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/hours_2.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/hours_3.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/hours_4.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/hours_5.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/hours_6.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/hours_7.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/hours_8.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/hours_9.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/inhand-left.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/inhand-right.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/meta.json create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_0.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_1.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_10.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_11.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_2.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_3.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_4.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_5.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_6.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_7.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_8.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/minutes_9.png create mode 100644 Resources/Textures/Objects/Devices/wristwatch.rsi/wristwatch.png 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 0000000000000000000000000000000000000000..59522f6c12e86f2b7a6364c89a0d9a25bb3e8fef GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fAQ1GUw zi(^Q|oVT|O`4|I5+#V_iZsP7_4OlsqYcB7K(y)cWw;S@fmPVP1DQx8aB^dakWoE{+ zKk1C-?`u!4zV}v1pWy^I!zZSOJq!v+%=h{Xx4&+g)l>b2-MDRW>hgDUPFIHCUB~YC zbnew>5!L6G|6}@Kmvb@0Pk2xMX<>&rh6&;fPgof$8Syf=GA+1se)V&`L&eh*_Gr}o t3d(0a@cPo%GQlXu3rkS!2RfyiLA^yGryYJmM^L^(#=bn3K5&dQS7w~ThxPPf3CF6+Up_QedvgYyZ#HELMe?$PtS8Y2? zljE;xbl?T;Y;UK@@I4xhk5E}%1NA+4$M0P^y*(9=#^~~`K}SLy3FtVxE)`9h6uo_g zKF^k_CmxD)by2>{;Q2_J9K@}`5;dw)LaI_u+{h`wid;q8_i{={u3SLG{t`Fa4k5## z8QQ#Ujv`SH`TP-bO?&CozM51nCu{|P9QHDyB5&HU+9J=)KgfOlDoP{_788%IOwS~9 z#h2Rw$t?&o#}awI%j9PgHJ)RfNEA_ZU@_N(T`J}kfV|_!U^#%u%QEIMPJ|;IZFRt) zr#(o)7@PsSi>AV}qlG2#EQb z0$rF35}?V?S;WYFam^Mgtyn>!-kTI?K0t3rh$aS~P*Z(^-$5~Al>k^JND=P!iunl# z1c*A&tclldXr_>Qw%8qKaxG-YasxmiB4VF^PSsx#3yDV;ARse(L=JLq`Envf27uIE z;8s^33xO+ry>OyJ&5o$3bzhJaL=1@X*!F~Z9f0kK9ONZS-TVwrG6D;1UiD|%J!upZID_PNGp5Of2y$5+NY&($!mJ+^a_J3@1suQlCa;4i)!4F?n+(>uG@#(#BQ(%`oxI9+ zSskz*tvcM(nNjUA-VZe7>aYgB1)2=jIc!GM0CFx%R1PHo$aNE{%GrKx1&9l1uYhhc zx+Xx3sF8Enj>rMo839}&LXhip^g{<&gxU?Yr6c@oY5EF;d&nXdQk)5pd)bbGpWY2c z1P&xZg1-Lfd6J`(adkkaMaXs0dH7u5qyTLN2;@A_tCTlncbivZne%7J(~1eJ{y6mffknI@wr8A+3=s0Wg|ABlL zF|hz7h#Ixx^OH(TjGaMxoRB*b07yNQ`6~FH52*EMK84m8SJVeYIQ>uHSOB2Y(U5k+ ur2YZJ+GhI)hS(k4FNAzS0z?G;W_$tEs%t8vJoi2T0000mdKI;Vst0Pf`}!2kdN literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..e364438e4ecd35612f8d36bd0210b081e8e5aee1 GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCpwp z;uumf=k3LdoD2pW%on-JTHe_&Q2vov$iaE&E>op|{Ue|%AZU=!YC-eXS literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..87c642239fe1370c4a14745d559d81fdb8716ed6 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCq9# z;uumf=k2+TybKCF%#KP2Io{YSC+ ihVTfs9qbT^EzEK^4LRmc+hjH!B;e`l=d#Wzp$P!(2__T( literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..107b210ff4f3c9e0d121ec590091b896ba2918bd GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCp?v z;uumf=k2+Tf(!y8E{S@5QFulkC`m%0QriXU5|5dy8{_S}HvH e!X+RJ7CgX|&A~F4?KMLLi0kR<=d#Wzp$PzNDkZr9 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..c03f799fcce9cb94ff51072e22083ab1511e0e34 GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCp_w z;uumf=k3LfoD2#)E`iL2EZ^k~lp|b%b~Lc?J&Z3-l@phL1XKtCf7nmRM&=gJWGUbm jU&8$H57SMiyNqBdc6T$5ojc=SOMrNuu6{1-oD!M<`(-7z literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..2835fadd249d0a84532950f44f547515a74f29d6 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCq9# z;uumf=k3LdoIusC7g?ki{$(#|vFmZukn<>c&vJbE_D4Wv5O9zANzWF$H9QO6No-gj izOG>Ff&2PknNn`^0~|XKYR3KtaXnrAT-G@yGywp`$15cO literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..55df41a9ce9fa78ca7b747f8b4a7369bde2092ca GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCq3z z;uumf=k0}qoD2pWM=x-_<+xjapzp!Ka|#;riZdTf+&L6GPPMtR?7EOWm%Ouh`_db;|#taD0e0swhmDyIMd literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..890650474dfcf2593d48c0df4977ffc49a687cfb GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCp+t z;uumf=k0k%UIqmLW=B0n&L83(EOPCwb+g)1t~)F*Zea#01A`yz7rvLQjWul0=6q14 i&m8mE=zt_h;s_)E*YzB8*#ms5B literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..ec40991d4ecf42b62c9e4bfa358a24a938dface4 GIT binary patch literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fAQ1GCq zi(^Q|oVPdkaxyuJFgz6G*~)#8$;8NP3s17~YJ<%}+#Ag6t8Q3Zq^aE~kgw61y~p$u zlS3TC32uf;Mg@I_C#(&77$%4_fCZKHtM8qkfBW&?Bu8FW3t4lWwF?<;-+fxXFCxg9 z@mu@rMf3jew{t|%g4LYh7^~~EYL3kDWOx=exqpT+=Yg2)PlCm2j5D%*?UMZFE5Myl a)u10&EMok2KPwB+GYp=telF{r5}E*wty!l4 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..aac69417e32f8656e2f87d013ae5b462f43879e4 GIT binary patch literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fAQ1Gy) zi(^Q|oVPc3^B!^#V7Tb0)S@>*gFz|D>6C)nVlE@Cg$z}XgPT%sHm0lXII(N$yfxls zy?YoYh%R{O_Nif2&v@5zx%wcbwNdTi`%h`Omrf z)2=8q{C&7<#r^;B{R-H$qL|mPQT)tSqxo6qG8%SK(L`hB}_edZJv0j59y g&3%q>5@G#$kEboFyt=akR{01#^=T>t<8 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..0ef2c831f4d7d9a213a9a7a9c20360607b94a848 GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCpto z;uumf=k0k%UIqmo7ROl)EPuFNoa9}d^{0Q?ygH$5{X?KC5a0~>sdcW`uwk>=fl7VG kJ6jpgRdYVzgUCs+*L?lWG50GM{~3^gr>mdKI;Vst0C#vP6951J literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..3019a20a9ba454202f8ed338bcdfaafcc25aed05 GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCp_w z;uumf=k3Lfyg=11fu1ES-{mI=Y8Z%ZJL0zf=k=JAr!UU704fB52B8TLciui`!udd^ lj&o;KV@{(yBShv&18c-Yj-3}@i&TIFJYD@<);T3K0RSQ!D?R`K literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..fcbf039b6ffdc5668c29a95790386bf6c26e691f GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCpto z;uumf=k29~yg=0~j-Fdse(PTlsz`XzaK2TdTw6l#%taZXIv@yOYMH-b>ssCgYgkUa l4%ObX(c#;7euxyqDLtp@96P_~zHkBwc)I$ztaD0e0s!chD@FhS literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..1304f56e757368d4d5d02aa54f405f34fa1b3259 GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCp+t z;uumf=k2+TybKCF%#KP2Io{YSC@ig3`BA%{(F6*2UngBb^DJB2_ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..8f58881dbda93e25a21ab56f6ab0baeea8616a4b GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCpqn z;uumf=k2+Tf(!y8E{rVMPU3*p+{=*Ho b8Ns4DSugTe~DWM4f6_Y3a literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..1d71f45c4791977ae15c34eea85bb396938222a4 GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCpto z;uumf=k2A7oIusC7g?ki{$oz?nOXl5b%|uY}?70No*bOBp+ON lUl)+i`2M{-P|Csj0ITK_j-Bsp%Jzd)db;|#taD0e0s!UED|!F` literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..5e1070e3a80454ab5edd53e2b7850b6c4fdfdc85 GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCp?v z;uumf=j}yDP6h=521kCAroYTm2iwyGrZ~^=HQ2CKg&n901U`r-oZYzSs|WKQjt3kC fzyBLPa0LlV+n-{Y%b>)p1>$(R`njxgN@xNA9D^j} literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..4af1070d216a1a25590a53b6aa3f5a91b6413b18 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCq9# z;uumf=k0k%UIqmo7ROm4oIk`nSmcf#s@3zI9Lu_S=PYKRGBB9IyrNwDTc=rrHs^y~ k(;3gHG`x;uvj9mq@IRl-F?X-$@-rZXp00i_>zopr00p@y8~^|S literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..39b252688a78299da0303e13de4000e038bb8339 GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCpwp z;uumf=k2+JybJ;&E{;N87wQ|m3KXmgKDruJ-+VlKk{mx!83;V!KOj^4?)=uL0SC^0 i5PXpKgG0a&B;LSk{)1y~>B1A-AfBhIpUXO@geCw@bSf_Z literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..b9614ed80f52a6292f44f8548ded905f170b710e GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCp?v z;uumf=k2+Tf(!y8E{p=fS?83{1OQ`3CdB{% literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..b12afe6d4eec194bee8911634e1060ccaa43b517 GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fAQ1F_k zi(^Q|oVT|&avlm0aeJsNwV{|RI3mKjO?XG+EiKzjZxu4<9Ggo8nV{7=-Pi>MZof{k)S{$Rl^IG|~>AOD9 z@&C*Ep!UYB=WnaezHI)UTgilJ0Cr;?8QzFrUUt_tqny+1`ECFBSIrC+vAZ7Y9a3QU oCBpE8m7$W+A&y~!IGD*Ft0Yr#`1X`lKp!%Ay85}Sb4q9e08OoHO#lD@ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..3af9ca46343c1cc46a95181236029f45ffc7fcf1 GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCp_w z;uumf=j}yCP6h)G)AZ&ZIon oZP=CWkap_cc7|6F$%euMtesytPYVh}Tm*@Dy85}Sb4q9e0JbwN@c;k- literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..aeac86265673b1c55070ac1237c027112df89691 GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCp&lJK6k>0|rH=Th;al2?&AV|Q|)z4*}Q$iB}{GTY9 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..386166cabdd3578c61abb30fad6364611cdebaa7 GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCp(s z;uumf=j}O1UIqgWmV=Y7h{R237f-o(g-P+l&EI#5pU->B2vi3Gry5MW3#S)0ta|pp nuYyxRQ1_wHf@+A=0jmd$pXYF%-o3Xn4J6{}>gTe~DWM4f#O*FS literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..2f5300928f2e1fb8cd3ff0242ab69c5200ab4a26 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCq6! z;uumf=k3LVoD2#)&KJe*9MRmhe)EitB6l4GTz~F-GK1Z-%o3;&0!}w{WGv1;_iX8p n!iFW5uO_`cQ7sOZX?V{dYd?b{?UiYaGf2SG)z4*}Q$iB}9d#~_ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..c994c0568591ca8dac03794872c2421335f69bcc GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCq0y z;uumf=k3LVoD2#)&Vj7cU+KxN-(9k%i(Py}tJ0sCqBG5FF3JE^f#cos8I85sQF77&b{w4G6F7t^>bP0l+XkKs;?;e literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..fa7af8e5cca4735e331a30cfa96e4bd7aba03ac4 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCq6! z;uumf=k0k%UIqgWmV=Y7h{R237f%V~w(;UPxvp{c?sN;FGB9YcWe7dnF~QIwT-9OL p(jE2n@oXi%(;4S70%Z?aJYaO?=RE!C&gP9E#h$KyF6*2UngH6@Dn$SQ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..83caf8c8e170e619de757651e787ddb190f0e2bb GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCp(s z;uumf=k2+Jyg=0~j-EMPaT@(`8r;e3HZIAVzVCc~PNtt7s1OW3usehn*Snl3b(pnu lhdlpu#p=fS?83{1OTP2D8c{$ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..6334bb72fdc1733bc48f6078d32126779a1e23a4 GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCpto z;uumf=k2+Jyg=0~j-G2yMQQZMt!Roe*vOdN^y_Br-S^A3pJxOr1%n*Mm9vzSa?7Vb iXE4;Zw`ID+2N9p~=QhXbc(L6vAg-sYpUXO@geCy%Dk<{- literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..76ca3c491159bfbe14fc4bbe0712376d010e8e9c GIT binary patch literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fAP;i~6 zi(^Q|oVPbO@;Vs`90*VjH1On7OOR?yW=dO_AZ8_C{lvZNjroDODXLfJPSj>7Vs%)@ za6*(}CzC=r!xOHC7{&=8!5Nls3isB$e}BHS_X|@R-)`G@12*fKQVBg9uYUgjnj1we zRs$@OUaT_y*<-u6LAh<6)#URxiai=a(?3a8|6+pM_Jy&ou2dxFroeASpvxINUHx3v IIVCg!0CAvI4gdfE literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..f9ab9c67d492e6bcbab2032582b09efd6aa0eb53 GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fAP;i5% zi(^Q|oVPbO@-i8U90*VjH1On7OOR?yW=dO_AZ8_?JjZXR(zn%%T{hLNs&`w*a6*(} zCzC=r!xOHC7{&?O3`MLCAi;#w508KSw0FO~y4WR_9Lt*OeF;2an=}tdB(MDV|1~$J z26R(yR38k~{v7$4H7R#yo2B5A_ZY@B z;uumf=k0k%UIqo8qXE+rvQ9Wkl&LXVIy0a4FUu6&bMB%HP#s7q)0;CkY1i0xWb=mJ tXDC14G2za1hFAL-PyH5hkcB9@z*lkX7LO7~v2YVez|+;wWt~$(695Z$EL8vi literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..9dad0d83cbe85a64b02d8ee9a552d191ae753355 GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5C>ZGJ z;uumf=k3Lfyg=11fgUkj#|sUvC$bzr_=4e>TjoF0@J~e|o_s*1An<@AL(niwwEVh= sL-^hHvpQk>8)Eh<Z4F z;uumf=k588yg=2gfgUkj#|sUvC$bzrxPwuw<=MKQZ+|<_Vg{-NDQ*xIj1IlcknXoq vi?yKKbaTaRrWHE8D=Pl8t^ipL1R3lxKg0McPTV$f0C7EC{an^LB{Ts5menmb literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..a4c3bbe7179bc4ac528d3d1c5c8ed342b7529a29 GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCqC$ z;uumf=k2A9yg=2gfgUl(1S75$Cg|{LYh0XhCtu^es7a*_P$38$FgtK2t$g~zRpE@1 q=cEOt(%;%Tv@I?8{|_R~5U`ciU50ys$SWy#kcg+NpUXO@geCy3Eh>os literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..6bfdc405c790914479d3f4582acb23b3840585cd GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCp_w z;uumf=k2-OybKCF%z;W9d6ZKkk98hz;;OQ1dKR;D_w>up8G#DHK!^Fx-rjhnAk)pu k89a?wZ2l(q;2T7yf$!Zf_626eGc!SaPgg&ebxsLQ0QvkX`2YX_ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..89c08f3396f0ff1bbfe620de16cadeda888989c7 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5C>Z4F z;uumf=k2A9yg=11fgUl(1S75$Cg||Ca%UtO%x{}C{qZatIiN}~XsBW^p1o7qX+FcZ uhb<-LlB>ceJQi0``C`{nB@0r}@ScJD`byq!byDHkAik%opUXO@geCw@EiDoN literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..4cbaa00d14b3d50aba0fe36ec3ee2468db228850 GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5C>ZGJ z;uumf=j|m%UZ851z#BTrET^R0lV0{HBp1Kh&(i<6ONI}q4h#;|G8jw0TX&q{=1sOW vuZ^QQOarRLug}qMVetL>m=~zzf#m^~R||N*ZKyx9AEd+6)z4*}Q$iB}N<1$? literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..e834c52d8cd5aaaa10bbbd97c159e1cd82a8bafb GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DCq6! z;uumf=k29NP6h=Y=7SxHEcf$AXO4|Boy*)z@9UU+d{ t*t(DBhM-sW%k_+Xrdz!qwE|ItM6yeoWith n_j|*jLy8B4Jh|H$M47>|>_umJlzhUS9)ftDu6{1-oD!MIP)^@RCt{2S4(IUQ53yN%tErLXj|+;TN*N56cJn$>xT%{T|qa& zjkKbz6~RqFanVx62GlOQiK0TqjXMkOO2I*^;3A;XLK7Mq3#L>TQ-c)g=Q-zPUiv1P zU(<*PUKsA3_dDmF_n9}l=r7xU0^24q774P()`+QWb|FLcn?%<$Yra25V7M*F;2T>a z^lLF|OAdZJL_87TSsTE}78VW!Xk~4K$MyR2-A@$K;dirQd#@y12?)tW)&PdhZ|LCu zVjBR5STSDJVSjF8A{+?-ye=51C`ab?Ml3RYpafZYUoR@SDlo~`iN2&Qdv&aDjej$} z<^u_24>eXjs^ChXFF8ezuXb6Mf9gAJDib8cI~MMpIcF7Y2_zB;_CxngO-(d3F>Bf8 z?Zw-4L(|yk=x7N9B*cyhF>*Ca0sxQ2Vm!|0^R}Hun?j+$lF1||@ofAlTS^R++TgvX z_mZs&6$Avh0RH&uF71h&fpEr za&xaqiS|-j9jD{x2WeUdZ9fvF=@%os9QDm@r%ZjK(Wp;VRfYuM@$Q*`oINrJNW=aE z`l!9UUXeU6HxxQ-C?QmE1NEc;q(fyw^c(ju=HQ&O!tP61@MGmvP|>t|9be?QuJ zf5$G_~!uQ1Zs9Cr2E&X`=DaF3FAtJ>;Q@s2@?gXM3=6po>$c~sA|TAmimt}~y??`6+iz=%nuRh`+1LO8 N002ovPDHLkV1f$6lfVD~ literal 0 HcmV?d00001 -- 2.51.2