diff --git a/Content.Client/Dice/DiceSystem.cs b/Content.Client/Dice/DiceSystem.cs new file mode 100644 index 0000000000..2d36488257 --- /dev/null +++ b/Content.Client/Dice/DiceSystem.cs @@ -0,0 +1,21 @@ +using Content.Shared.Dice; +using Robust.Client.GameObjects; + +namespace Content.Client.Dice; + +public sealed class DiceSystem : SharedDiceSystem +{ + protected override void UpdateVisuals(EntityUid uid, DiceComponent? die = null) + { + if (!Resolve(uid, ref die) || !TryComp(uid, out SpriteComponent? sprite)) + return; + + // TODO maybe just move each diue to its own RSI? + var state = sprite.LayerGetState(0).Name; + if (state == null) + return; + + var prefix = state.Substring(0, state.IndexOf('_')); + sprite.LayerSetState(0, $"{prefix}_{die.CurrentValue}"); + } +} diff --git a/Content.Server/Dice/DiceComponent.cs b/Content.Server/Dice/DiceComponent.cs deleted file mode 100644 index 70edb26297..0000000000 --- a/Content.Server/Dice/DiceComponent.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Robust.Shared.Audio; - -namespace Content.Server.Dice -{ - [RegisterComponent, Access(typeof(DiceSystem))] - public sealed class DiceComponent : Component - { - [DataField("sound")] - public SoundSpecifier Sound { get; } = new SoundCollectionSpecifier("Dice"); - - [DataField("step")] - public int Step { get; } = 1; - - [DataField("sides")] - public int Sides { get; } = 20; - - [ViewVariables] - public int CurrentSide { get; set; } = 20; - } -} diff --git a/Content.Server/Dice/DiceSystem.cs b/Content.Server/Dice/DiceSystem.cs index 88bffcf95f..30f45937cf 100644 --- a/Content.Server/Dice/DiceSystem.cs +++ b/Content.Server/Dice/DiceSystem.cs @@ -1,81 +1,26 @@ -using Content.Server.Popups; -using Content.Shared.Audio; -using Content.Shared.Examine; -using Content.Shared.Interaction.Events; -using Content.Shared.Throwing; +using Content.Shared.Dice; +using Content.Shared.Popups; using JetBrains.Annotations; -using Robust.Server.GameObjects; -using Robust.Shared.Audio; -using Robust.Shared.Player; using Robust.Shared.Random; -namespace Content.Server.Dice +namespace Content.Server.Dice; + +[UsedImplicitly] +public sealed class DiceSystem : SharedDiceSystem { - [UsedImplicitly] - public sealed class DiceSystem : EntitySystem + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + + public override void Roll(EntityUid uid, DiceComponent? die = null) { - [Dependency] private readonly IRobustRandom _random = default!; + if (!Resolve(uid, ref die)) + return; - public override void Initialize() - { - base.Initialize(); + var roll = _random.Next(1, die.Sides); + SetCurrentSide(uid, roll, die); - SubscribeLocalEvent(OnComponentInit); - SubscribeLocalEvent(OnUseInHand); - SubscribeLocalEvent(OnLand); - SubscribeLocalEvent(OnExamined); - } - - private void OnComponentInit(EntityUid uid, DiceComponent component, ComponentInit args) - { - if (component.CurrentSide > component.Sides) - component.CurrentSide = component.Sides; - } - - private void OnUseInHand(EntityUid uid, DiceComponent component, UseInHandEvent args) - { - if (args.Handled) return; - - args.Handled = true; - Roll(uid, component); - } - - private void OnLand(EntityUid uid, DiceComponent component, ref LandEvent args) - { - Roll(uid, component); - } - - private void OnExamined(EntityUid uid, DiceComponent dice, ExaminedEvent args) - { - //No details check, since the sprite updates to show the side. - args.PushMarkup(Loc.GetString("dice-component-on-examine-message-part-1", ("sidesAmount", dice.Sides))); - args.PushMarkup(Loc.GetString("dice-component-on-examine-message-part-2", ("currentSide", dice.CurrentSide))); - } - - public void SetCurrentSide(EntityUid uid, int side, DiceComponent? die = null, SpriteComponent? sprite = null) - { - if (!Resolve(uid, ref die, ref sprite)) - return; - - side = Math.Min(Math.Max(side, 1), die.Sides); - side += side % die.Step; - - die.CurrentSide = side; - - // TODO DICE: Use a visualizer instead. - sprite.LayerSetState(0, $"d{die.Sides}{die.CurrentSide}"); - } - - public void Roll(EntityUid uid, DiceComponent? die = null) - { - if (!Resolve(uid, ref die)) - return; - - var roll = _random.Next(1, die.Sides/die.Step+1) * die.Step; - SetCurrentSide(uid, roll, die); - - die.Owner.PopupMessageEveryone(Loc.GetString("dice-component-on-roll-land", ("die", die.Owner), ("currentSide", die.CurrentSide))); - SoundSystem.Play(die.Sound.GetSound(), Filter.Pvs(die.Owner), die.Owner, AudioHelpers.WithVariation(0.05f)); - } + _popup.PopupEntity(Loc.GetString("dice-component-on-roll-land", ("die", uid), ("currentSide", die.CurrentValue)), uid); + _audio.PlayPvs(die.Sound, uid); } } diff --git a/Content.Shared/Dice/DiceComponent.cs b/Content.Shared/Dice/DiceComponent.cs new file mode 100644 index 0000000000..357a9714dd --- /dev/null +++ b/Content.Shared/Dice/DiceComponent.cs @@ -0,0 +1,44 @@ +using Robust.Shared.Audio; +using Robust.Shared.GameStates; +using Robust.Shared.Serialization; + +namespace Content.Shared.Dice; + +[RegisterComponent, NetworkedComponent, Access(typeof(SharedDiceSystem))] +public sealed class DiceComponent : Component +{ + [DataField("sound")] + public SoundSpecifier Sound { get; } = new SoundCollectionSpecifier("Dice"); + + /// + /// Multiplier for the value of a die. Applied after the . + /// + [DataField("multiplier")] + public int Multiplier { get; } = 1; + + /// + /// Quantity that is subtracted from the value of a die. Can be used to make dice that start at "0". Applied + /// before the + /// + [DataField("offset")] + public int Offset { get; } = 0; + + [DataField("sides")] + public int Sides { get; } = 20; + + /// + /// The currently displayed value. + /// + [DataField("currentValue")] + public int CurrentValue { get; set; } = 20; + + [Serializable, NetSerializable] + public sealed class DiceState : ComponentState + { + public int CurrentSide { get; set; } = 20; + public DiceState(int side) + { + CurrentSide = side; + } + } +} diff --git a/Content.Shared/Dice/SharedDiceSystem.cs b/Content.Shared/Dice/SharedDiceSystem.cs new file mode 100644 index 0000000000..611fcfa8cf --- /dev/null +++ b/Content.Shared/Dice/SharedDiceSystem.cs @@ -0,0 +1,93 @@ +using Content.Shared.Examine; +using Content.Shared.Interaction.Events; +using Content.Shared.Throwing; +using Robust.Shared.GameStates; + +namespace Content.Shared.Dice; + +public abstract class SharedDiceSystem : EntitySystem +{ + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnUseInHand); + SubscribeLocalEvent(OnLand); + SubscribeLocalEvent(OnExamined); + SubscribeLocalEvent(OnGetState); + SubscribeLocalEvent(OnHandleState); + } + + private void OnHandleState(EntityUid uid, DiceComponent component, ref ComponentHandleState args) + { + if (args.Current is DiceComponent.DiceState state) + component.CurrentValue = state.CurrentSide; + + UpdateVisuals(uid, component); + } + + private void OnGetState(EntityUid uid, DiceComponent component, ref ComponentGetState args) + { + args.State = new DiceComponent.DiceState(component.CurrentValue); + } + + private void OnUseInHand(EntityUid uid, DiceComponent component, UseInHandEvent args) + { + if (args.Handled) return; + + args.Handled = true; + Roll(uid, component); + } + + private void OnLand(EntityUid uid, DiceComponent component, ref LandEvent args) + { + Roll(uid, component); + } + + private void OnExamined(EntityUid uid, DiceComponent dice, ExaminedEvent args) + { + //No details check, since the sprite updates to show the side. + args.PushMarkup(Loc.GetString("dice-component-on-examine-message-part-1", ("sidesAmount", dice.Sides))); + args.PushMarkup(Loc.GetString("dice-component-on-examine-message-part-2", ("currentSide", dice.CurrentValue))); + } + + public void SetCurrentSide(EntityUid uid, int side, DiceComponent? die = null) + { + if (!Resolve(uid, ref die)) + return; + + if (side < 1 || side > die.Sides) + { + Logger.Error($"Attempted to set die {ToPrettyString(uid)} to an invalid side ({side})."); + return; + } + + die.CurrentValue = (side - die.Offset) * die.Multiplier; + Dirty(die); + UpdateVisuals(uid, die); + } + + public void SetCurrentValue(EntityUid uid, int value, DiceComponent? die = null) + { + if (!Resolve(uid, ref die)) + return; + + if (value % die.Multiplier != 0 || value/ die.Multiplier + die.Offset < 1) + { + Logger.Error($"Attempted to set die {ToPrettyString(uid)} to an invalid value ({value})."); + return; + } + + SetCurrentSide(uid, value / die.Multiplier + die.Offset, die); + } + + protected virtual void UpdateVisuals(EntityUid uid, DiceComponent? die = null) + { + // See client system. + } + + public virtual void Roll(EntityUid uid, DiceComponent? die = null) + { + // See the server system, client cannot predict rolling. + } +} diff --git a/Resources/Maps/box.yml b/Resources/Maps/box.yml index b830f3c7c0..6d0b4f5fb2 100644 --- a/Resources/Maps/box.yml +++ b/Resources/Maps/box.yml @@ -5973,7 +5973,7 @@ entities: parent: 8364 type: Transform - uid: 898 - type: d100Dice + type: PercentileDie components: - pos: 57.5,20.5 parent: 8364 @@ -97138,7 +97138,7 @@ entities: parent: 8364 type: Transform - uid: 10853 - type: d100Dice + type: PercentileDie components: - pos: 56.5,3.5000002 parent: 8364 @@ -97304,7 +97304,7 @@ entities: parent: 8364 type: Transform - uid: 10873 - type: d100Dice + type: PercentileDie components: - pos: 55.5,0.5 parent: 8364 diff --git a/Resources/Maps/centcomm.yml b/Resources/Maps/centcomm.yml index 2f2246716e..cfd60d7053 100644 --- a/Resources/Maps/centcomm.yml +++ b/Resources/Maps/centcomm.yml @@ -33065,7 +33065,7 @@ entities: parent: 0 type: Transform - uid: 3765 - type: d100Dice + type: PercentileDie components: - pos: -18.522638,2.6762333 parent: 0 diff --git a/Resources/Maps/marathon.yml b/Resources/Maps/marathon.yml index 6ba908eb8f..49e1f97fdb 100644 --- a/Resources/Maps/marathon.yml +++ b/Resources/Maps/marathon.yml @@ -156547,7 +156547,7 @@ entities: parent: 30 type: Transform - uid: 19473 - type: d100Dice + type: PercentileDie components: - rot: 1.5707963267948966 rad pos: -57.4998,-65.351234 diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_fun.yml b/Resources/Prototypes/Catalog/Cargo/cargo_fun.yml index d695a66c35..041065a3bb 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_fun.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_fun.yml @@ -52,7 +52,7 @@ id: FunBoardGames icon: sprite: Objects/Fun/dice.rsi - state: d66 + state: d6_6 product: CrateFunBoardGames cost: 1500 category: Fun diff --git a/Resources/Prototypes/Entities/Objects/Fun/dice.yml b/Resources/Prototypes/Entities/Objects/Fun/dice.yml index 35a46a9e5d..4d6d9e7667 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/dice.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/dice.yml @@ -7,6 +7,7 @@ - type: ItemCooldown - type: UseDelay - type: Sprite + netsync: false sprite: Objects/Fun/dice.rsi noRot: true # If their sprites rotate, the number becomes even more illegible than usual. - type: Tag @@ -17,15 +18,17 @@ - type: entity parent: BaseDice - id: d100Dice - name: d100 + id: PercentileDie + name: Percentile Die description: A die with ten sides. Works better for d100 rolls than a golf ball. components: - type: Dice - sides: 100 - step: 10 + sides: 10 + multiplier: 10 + offset: 1 # first side is a 0 + currentValue: 1 - type: Sprite - state: d100100 + state: percentile_0 - type: entity parent: BaseDice @@ -35,8 +38,9 @@ components: - type: Dice sides: 20 + currentValue: 20 - type: Sprite - state: d2020 + state: d20_20 - type: entity parent: BaseDice @@ -46,8 +50,9 @@ components: - type: Dice sides: 12 + currentValue: 12 - type: Sprite - state: d1212 + state: d12_12 - type: entity parent: BaseDice @@ -57,8 +62,9 @@ components: - type: Dice sides: 10 + currentValue: 10 - type: Sprite - state: d1010 + state: d10_10 - type: entity parent: BaseDice @@ -68,8 +74,9 @@ components: - type: Dice sides: 8 + currentValue: 8 - type: Sprite - state: d88 + state: d8_8 - type: entity parent: BaseDice @@ -79,8 +86,9 @@ components: - type: Dice sides: 6 + currentValue: 6 - type: Sprite - state: d66 + state: d6_6 - type: entity parent: BaseDice @@ -90,8 +98,9 @@ components: - type: Dice sides: 4 + currentValue: 4 - type: Sprite - state: d44 + state: d4_4 - type: CollisionWake enabled: false - type: Fixtures @@ -122,3 +131,4 @@ damage: types: Piercing: 5 + # I love this diff --git a/Resources/Prototypes/Entities/Objects/Fun/dice_bag.yml b/Resources/Prototypes/Entities/Objects/Fun/dice_bag.yml index b2b61d452a..3b74279841 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/dice_bag.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/dice_bag.yml @@ -12,7 +12,7 @@ - id: d10Dice - id: d12Dice - id: d20Dice - - id: d100Dice + - id: PercentileDie - type: Sprite netsync: false sprite: Objects/Fun/dice.rsi diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d10010.png b/Resources/Textures/Objects/Fun/dice.rsi/d10010.png deleted file mode 100644 index 93b4f9a4a7..0000000000 Binary files a/Resources/Textures/Objects/Fun/dice.rsi/d10010.png and /dev/null differ diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d100100.png b/Resources/Textures/Objects/Fun/dice.rsi/d100100.png deleted file mode 100644 index 696a140db3..0000000000 Binary files a/Resources/Textures/Objects/Fun/dice.rsi/d100100.png and /dev/null differ diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d10020.png b/Resources/Textures/Objects/Fun/dice.rsi/d10020.png deleted file mode 100644 index 0a41ead057..0000000000 Binary files a/Resources/Textures/Objects/Fun/dice.rsi/d10020.png and /dev/null differ diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d10030.png b/Resources/Textures/Objects/Fun/dice.rsi/d10030.png deleted file mode 100644 index d87303e710..0000000000 Binary files a/Resources/Textures/Objects/Fun/dice.rsi/d10030.png and /dev/null differ diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d10040.png b/Resources/Textures/Objects/Fun/dice.rsi/d10040.png deleted file mode 100644 index 72bcba7120..0000000000 Binary files a/Resources/Textures/Objects/Fun/dice.rsi/d10040.png and /dev/null differ diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d10050.png b/Resources/Textures/Objects/Fun/dice.rsi/d10050.png deleted file mode 100644 index 9d4705b7c9..0000000000 Binary files a/Resources/Textures/Objects/Fun/dice.rsi/d10050.png and /dev/null differ diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d10060.png b/Resources/Textures/Objects/Fun/dice.rsi/d10060.png deleted file mode 100644 index fa781a2893..0000000000 Binary files a/Resources/Textures/Objects/Fun/dice.rsi/d10060.png and /dev/null differ diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d10070.png b/Resources/Textures/Objects/Fun/dice.rsi/d10070.png deleted file mode 100644 index 3d1f3cabc4..0000000000 Binary files a/Resources/Textures/Objects/Fun/dice.rsi/d10070.png and /dev/null differ diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d10080.png b/Resources/Textures/Objects/Fun/dice.rsi/d10080.png deleted file mode 100644 index a332d93ca2..0000000000 Binary files a/Resources/Textures/Objects/Fun/dice.rsi/d10080.png and /dev/null differ diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d10090.png b/Resources/Textures/Objects/Fun/dice.rsi/d10090.png deleted file mode 100644 index fe093d1b01..0000000000 Binary files a/Resources/Textures/Objects/Fun/dice.rsi/d10090.png and /dev/null differ diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d101.png b/Resources/Textures/Objects/Fun/dice.rsi/d10_1.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d101.png rename to Resources/Textures/Objects/Fun/dice.rsi/d10_1.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d1010.png b/Resources/Textures/Objects/Fun/dice.rsi/d10_10.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d1010.png rename to Resources/Textures/Objects/Fun/dice.rsi/d10_10.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d102.png b/Resources/Textures/Objects/Fun/dice.rsi/d10_2.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d102.png rename to Resources/Textures/Objects/Fun/dice.rsi/d10_2.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d103.png b/Resources/Textures/Objects/Fun/dice.rsi/d10_3.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d103.png rename to Resources/Textures/Objects/Fun/dice.rsi/d10_3.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d104.png b/Resources/Textures/Objects/Fun/dice.rsi/d10_4.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d104.png rename to Resources/Textures/Objects/Fun/dice.rsi/d10_4.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d105.png b/Resources/Textures/Objects/Fun/dice.rsi/d10_5.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d105.png rename to Resources/Textures/Objects/Fun/dice.rsi/d10_5.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d106.png b/Resources/Textures/Objects/Fun/dice.rsi/d10_6.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d106.png rename to Resources/Textures/Objects/Fun/dice.rsi/d10_6.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d107.png b/Resources/Textures/Objects/Fun/dice.rsi/d10_7.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d107.png rename to Resources/Textures/Objects/Fun/dice.rsi/d10_7.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d108.png b/Resources/Textures/Objects/Fun/dice.rsi/d10_8.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d108.png rename to Resources/Textures/Objects/Fun/dice.rsi/d10_8.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d109.png b/Resources/Textures/Objects/Fun/dice.rsi/d10_9.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d109.png rename to Resources/Textures/Objects/Fun/dice.rsi/d10_9.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d121.png b/Resources/Textures/Objects/Fun/dice.rsi/d12_1.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d121.png rename to Resources/Textures/Objects/Fun/dice.rsi/d12_1.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d1210.png b/Resources/Textures/Objects/Fun/dice.rsi/d12_10.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d1210.png rename to Resources/Textures/Objects/Fun/dice.rsi/d12_10.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d1211.png b/Resources/Textures/Objects/Fun/dice.rsi/d12_11.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d1211.png rename to Resources/Textures/Objects/Fun/dice.rsi/d12_11.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d1212.png b/Resources/Textures/Objects/Fun/dice.rsi/d12_12.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d1212.png rename to Resources/Textures/Objects/Fun/dice.rsi/d12_12.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d122.png b/Resources/Textures/Objects/Fun/dice.rsi/d12_2.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d122.png rename to Resources/Textures/Objects/Fun/dice.rsi/d12_2.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d123.png b/Resources/Textures/Objects/Fun/dice.rsi/d12_3.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d123.png rename to Resources/Textures/Objects/Fun/dice.rsi/d12_3.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d124.png b/Resources/Textures/Objects/Fun/dice.rsi/d12_4.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d124.png rename to Resources/Textures/Objects/Fun/dice.rsi/d12_4.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d125.png b/Resources/Textures/Objects/Fun/dice.rsi/d12_5.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d125.png rename to Resources/Textures/Objects/Fun/dice.rsi/d12_5.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d126.png b/Resources/Textures/Objects/Fun/dice.rsi/d12_6.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d126.png rename to Resources/Textures/Objects/Fun/dice.rsi/d12_6.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d127.png b/Resources/Textures/Objects/Fun/dice.rsi/d12_7.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d127.png rename to Resources/Textures/Objects/Fun/dice.rsi/d12_7.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d128.png b/Resources/Textures/Objects/Fun/dice.rsi/d12_8.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d128.png rename to Resources/Textures/Objects/Fun/dice.rsi/d12_8.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d129.png b/Resources/Textures/Objects/Fun/dice.rsi/d12_9.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d129.png rename to Resources/Textures/Objects/Fun/dice.rsi/d12_9.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d201.png b/Resources/Textures/Objects/Fun/dice.rsi/d20_1.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d201.png rename to Resources/Textures/Objects/Fun/dice.rsi/d20_1.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d2010.png b/Resources/Textures/Objects/Fun/dice.rsi/d20_10.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d2010.png rename to Resources/Textures/Objects/Fun/dice.rsi/d20_10.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d2011.png b/Resources/Textures/Objects/Fun/dice.rsi/d20_11.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d2011.png rename to Resources/Textures/Objects/Fun/dice.rsi/d20_11.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d2012.png b/Resources/Textures/Objects/Fun/dice.rsi/d20_12.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d2012.png rename to Resources/Textures/Objects/Fun/dice.rsi/d20_12.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d2013.png b/Resources/Textures/Objects/Fun/dice.rsi/d20_13.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d2013.png rename to Resources/Textures/Objects/Fun/dice.rsi/d20_13.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d2014.png b/Resources/Textures/Objects/Fun/dice.rsi/d20_14.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d2014.png rename to Resources/Textures/Objects/Fun/dice.rsi/d20_14.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d2015.png b/Resources/Textures/Objects/Fun/dice.rsi/d20_15.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d2015.png rename to Resources/Textures/Objects/Fun/dice.rsi/d20_15.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d2016.png b/Resources/Textures/Objects/Fun/dice.rsi/d20_16.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d2016.png rename to Resources/Textures/Objects/Fun/dice.rsi/d20_16.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d2017.png b/Resources/Textures/Objects/Fun/dice.rsi/d20_17.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d2017.png rename to Resources/Textures/Objects/Fun/dice.rsi/d20_17.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d2018.png b/Resources/Textures/Objects/Fun/dice.rsi/d20_18.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d2018.png rename to Resources/Textures/Objects/Fun/dice.rsi/d20_18.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d2019.png b/Resources/Textures/Objects/Fun/dice.rsi/d20_19.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d2019.png rename to Resources/Textures/Objects/Fun/dice.rsi/d20_19.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d202.png b/Resources/Textures/Objects/Fun/dice.rsi/d20_2.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d202.png rename to Resources/Textures/Objects/Fun/dice.rsi/d20_2.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d2020.png b/Resources/Textures/Objects/Fun/dice.rsi/d20_20.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d2020.png rename to Resources/Textures/Objects/Fun/dice.rsi/d20_20.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d203.png b/Resources/Textures/Objects/Fun/dice.rsi/d20_3.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d203.png rename to Resources/Textures/Objects/Fun/dice.rsi/d20_3.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d204.png b/Resources/Textures/Objects/Fun/dice.rsi/d20_4.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d204.png rename to Resources/Textures/Objects/Fun/dice.rsi/d20_4.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d205.png b/Resources/Textures/Objects/Fun/dice.rsi/d20_5.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d205.png rename to Resources/Textures/Objects/Fun/dice.rsi/d20_5.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d206.png b/Resources/Textures/Objects/Fun/dice.rsi/d20_6.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d206.png rename to Resources/Textures/Objects/Fun/dice.rsi/d20_6.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d207.png b/Resources/Textures/Objects/Fun/dice.rsi/d20_7.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d207.png rename to Resources/Textures/Objects/Fun/dice.rsi/d20_7.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d208.png b/Resources/Textures/Objects/Fun/dice.rsi/d20_8.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d208.png rename to Resources/Textures/Objects/Fun/dice.rsi/d20_8.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d209.png b/Resources/Textures/Objects/Fun/dice.rsi/d20_9.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d209.png rename to Resources/Textures/Objects/Fun/dice.rsi/d20_9.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d41.png b/Resources/Textures/Objects/Fun/dice.rsi/d4_1.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d41.png rename to Resources/Textures/Objects/Fun/dice.rsi/d4_1.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d42.png b/Resources/Textures/Objects/Fun/dice.rsi/d4_2.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d42.png rename to Resources/Textures/Objects/Fun/dice.rsi/d4_2.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d43.png b/Resources/Textures/Objects/Fun/dice.rsi/d4_3.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d43.png rename to Resources/Textures/Objects/Fun/dice.rsi/d4_3.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d44.png b/Resources/Textures/Objects/Fun/dice.rsi/d4_4.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d44.png rename to Resources/Textures/Objects/Fun/dice.rsi/d4_4.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d61.png b/Resources/Textures/Objects/Fun/dice.rsi/d6_1.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d61.png rename to Resources/Textures/Objects/Fun/dice.rsi/d6_1.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d62.png b/Resources/Textures/Objects/Fun/dice.rsi/d6_2.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d62.png rename to Resources/Textures/Objects/Fun/dice.rsi/d6_2.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d63.png b/Resources/Textures/Objects/Fun/dice.rsi/d6_3.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d63.png rename to Resources/Textures/Objects/Fun/dice.rsi/d6_3.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d64.png b/Resources/Textures/Objects/Fun/dice.rsi/d6_4.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d64.png rename to Resources/Textures/Objects/Fun/dice.rsi/d6_4.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d65.png b/Resources/Textures/Objects/Fun/dice.rsi/d6_5.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d65.png rename to Resources/Textures/Objects/Fun/dice.rsi/d6_5.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d66.png b/Resources/Textures/Objects/Fun/dice.rsi/d6_6.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d66.png rename to Resources/Textures/Objects/Fun/dice.rsi/d6_6.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d81.png b/Resources/Textures/Objects/Fun/dice.rsi/d8_1.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d81.png rename to Resources/Textures/Objects/Fun/dice.rsi/d8_1.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d82.png b/Resources/Textures/Objects/Fun/dice.rsi/d8_2.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d82.png rename to Resources/Textures/Objects/Fun/dice.rsi/d8_2.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d83.png b/Resources/Textures/Objects/Fun/dice.rsi/d8_3.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d83.png rename to Resources/Textures/Objects/Fun/dice.rsi/d8_3.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d84.png b/Resources/Textures/Objects/Fun/dice.rsi/d8_4.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d84.png rename to Resources/Textures/Objects/Fun/dice.rsi/d8_4.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d85.png b/Resources/Textures/Objects/Fun/dice.rsi/d8_5.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d85.png rename to Resources/Textures/Objects/Fun/dice.rsi/d8_5.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d86.png b/Resources/Textures/Objects/Fun/dice.rsi/d8_6.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d86.png rename to Resources/Textures/Objects/Fun/dice.rsi/d8_6.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d87.png b/Resources/Textures/Objects/Fun/dice.rsi/d8_7.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d87.png rename to Resources/Textures/Objects/Fun/dice.rsi/d8_7.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/d88.png b/Resources/Textures/Objects/Fun/dice.rsi/d8_8.png similarity index 100% rename from Resources/Textures/Objects/Fun/dice.rsi/d88.png rename to Resources/Textures/Objects/Fun/dice.rsi/d8_8.png diff --git a/Resources/Textures/Objects/Fun/dice.rsi/meta.json b/Resources/Textures/Objects/Fun/dice.rsi/meta.json index 7b75678573..3216e05353 100644 --- a/Resources/Textures/Objects/Fun/dice.rsi/meta.json +++ b/Resources/Textures/Objects/Fun/dice.rsi/meta.json @@ -1,221 +1,221 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from vgstation at https://github.com/vgstation-coders/vgstation13/commit/1cdfb0230cc96d0ba751fa002d04f8aa2f25ad7d", + "copyright": "Taken from vgstation at https://github.com/vgstation-coders/vgstation13/commit/1cdfb0230cc96d0ba751fa002d04f8aa2f25ad7d. Edited by ElectroSR.", "size": { "x": 32, "y": 32 }, "states": [ { - "name": "d10010" + "name": "percentile_10" }, { - "name": "d100100" + "name": "percentile_0" }, { - "name": "d10020" + "name": "percentile_20" }, { - "name": "d10030" + "name": "percentile_30" }, { - "name": "d10040" + "name": "percentile_40" }, { - "name": "d10050" + "name": "percentile_50" }, { - "name": "d10060" + "name": "percentile_60" }, { - "name": "d10070" + "name": "percentile_70" }, { - "name": "d10080" + "name": "percentile_80" }, { - "name": "d10090" + "name": "percentile_90" }, { - "name": "d101" + "name": "d10_1" }, { - "name": "d1010" + "name": "d10_10" }, { - "name": "d102" + "name": "d10_2" }, { - "name": "d103" + "name": "d10_3" }, { - "name": "d104" + "name": "d10_4" }, { - "name": "d105" + "name": "d10_5" }, { - "name": "d106" + "name": "d10_6" }, { - "name": "d107" + "name": "d10_7" }, { - "name": "d108" + "name": "d10_8" }, { - "name": "d109" + "name": "d10_9" }, { - "name": "d121" + "name": "d12_1" }, { - "name": "d1210" + "name": "d12_10" }, { - "name": "d1211" + "name": "d12_11" }, { - "name": "d1212" + "name": "d12_12" }, { - "name": "d122" + "name": "d12_2" }, { - "name": "d123" + "name": "d12_3" }, { - "name": "d124" + "name": "d12_4" }, { - "name": "d125" + "name": "d12_5" }, { - "name": "d126" + "name": "d12_6" }, { - "name": "d127" + "name": "d12_7" }, { - "name": "d128" + "name": "d12_8" }, { - "name": "d129" + "name": "d12_9" }, { - "name": "d201" + "name": "d20_1" }, { - "name": "d2010" + "name": "d20_10" }, { - "name": "d2011" + "name": "d20_11" }, { - "name": "d2012" + "name": "d20_12" }, { - "name": "d2013" + "name": "d20_13" }, { - "name": "d2014" + "name": "d20_14" }, { - "name": "d2015" + "name": "d20_15" }, { - "name": "d2016" + "name": "d20_16" }, { - "name": "d2017" + "name": "d20_17" }, { - "name": "d2018" + "name": "d20_18" }, { - "name": "d2019" + "name": "d20_19" }, { - "name": "d202" + "name": "d20_2" }, { - "name": "d2020" + "name": "d20_20" }, { - "name": "d203" + "name": "d20_3" }, { - "name": "d204" + "name": "d20_4" }, { - "name": "d205" + "name": "d20_5" }, { - "name": "d206" + "name": "d20_6" }, { - "name": "d207" + "name": "d20_7" }, { - "name": "d208" + "name": "d20_8" }, { - "name": "d209" + "name": "d20_9" }, { - "name": "d41" + "name": "d4_1" }, { - "name": "d42" + "name": "d4_2" }, { - "name": "d43" + "name": "d4_3" }, { - "name": "d44" + "name": "d4_4" }, { - "name": "d61" + "name": "d6_1" }, { - "name": "d62" + "name": "d6_2" }, { - "name": "d63" + "name": "d6_3" }, { - "name": "d64" + "name": "d6_4" }, { - "name": "d65" + "name": "d6_5" }, { - "name": "d66" + "name": "d6_6" }, { - "name": "d81" + "name": "d8_1" }, { - "name": "d82" + "name": "d8_2" }, { - "name": "d83" + "name": "d8_3" }, { - "name": "d84" + "name": "d8_4" }, { - "name": "d85" + "name": "d8_5" }, { - "name": "d86" + "name": "d8_6" }, { - "name": "d87" + "name": "d8_7" }, { - "name": "d88" + "name": "d8_8" }, { "name": "dicebag" diff --git a/Resources/Textures/Objects/Fun/dice.rsi/percentile_0.png b/Resources/Textures/Objects/Fun/dice.rsi/percentile_0.png new file mode 100644 index 0000000000..937849db1e Binary files /dev/null and b/Resources/Textures/Objects/Fun/dice.rsi/percentile_0.png differ diff --git a/Resources/Textures/Objects/Fun/dice.rsi/percentile_10.png b/Resources/Textures/Objects/Fun/dice.rsi/percentile_10.png new file mode 100644 index 0000000000..d0607afd38 Binary files /dev/null and b/Resources/Textures/Objects/Fun/dice.rsi/percentile_10.png differ diff --git a/Resources/Textures/Objects/Fun/dice.rsi/percentile_20.png b/Resources/Textures/Objects/Fun/dice.rsi/percentile_20.png new file mode 100644 index 0000000000..dd4c62ce09 Binary files /dev/null and b/Resources/Textures/Objects/Fun/dice.rsi/percentile_20.png differ diff --git a/Resources/Textures/Objects/Fun/dice.rsi/percentile_30.png b/Resources/Textures/Objects/Fun/dice.rsi/percentile_30.png new file mode 100644 index 0000000000..eb7de7dff9 Binary files /dev/null and b/Resources/Textures/Objects/Fun/dice.rsi/percentile_30.png differ diff --git a/Resources/Textures/Objects/Fun/dice.rsi/percentile_40.png b/Resources/Textures/Objects/Fun/dice.rsi/percentile_40.png new file mode 100644 index 0000000000..17da219f2c Binary files /dev/null and b/Resources/Textures/Objects/Fun/dice.rsi/percentile_40.png differ diff --git a/Resources/Textures/Objects/Fun/dice.rsi/percentile_50.png b/Resources/Textures/Objects/Fun/dice.rsi/percentile_50.png new file mode 100644 index 0000000000..83ce6783ba Binary files /dev/null and b/Resources/Textures/Objects/Fun/dice.rsi/percentile_50.png differ diff --git a/Resources/Textures/Objects/Fun/dice.rsi/percentile_60.png b/Resources/Textures/Objects/Fun/dice.rsi/percentile_60.png new file mode 100644 index 0000000000..134f18288f Binary files /dev/null and b/Resources/Textures/Objects/Fun/dice.rsi/percentile_60.png differ diff --git a/Resources/Textures/Objects/Fun/dice.rsi/percentile_70.png b/Resources/Textures/Objects/Fun/dice.rsi/percentile_70.png new file mode 100644 index 0000000000..7a437bbc8e Binary files /dev/null and b/Resources/Textures/Objects/Fun/dice.rsi/percentile_70.png differ diff --git a/Resources/Textures/Objects/Fun/dice.rsi/percentile_80.png b/Resources/Textures/Objects/Fun/dice.rsi/percentile_80.png new file mode 100644 index 0000000000..04b17170c2 Binary files /dev/null and b/Resources/Textures/Objects/Fun/dice.rsi/percentile_80.png differ diff --git a/Resources/Textures/Objects/Fun/dice.rsi/percentile_90.png b/Resources/Textures/Objects/Fun/dice.rsi/percentile_90.png new file mode 100644 index 0000000000..bbf2ae0b96 Binary files /dev/null and b/Resources/Textures/Objects/Fun/dice.rsi/percentile_90.png differ