From 443bacc44c8deb82d4c87c768ee18ffc7821d296 Mon Sep 17 00:00:00 2001 From: Cinka Date: Mon, 12 Feb 2024 18:00:47 +0300 Subject: [PATCH] - add: dildos --- .../_Amour/Vibrator/VibratorSystem.cs | 64 +++++++++ .../_Amour/Vibrator/VibratorSystem.cs | 38 ++++++ .../_Amour/Vibrator/VibratorComponent.cs | 28 ++++ .../_Amour/Vibrator/VibratorSystem.cs | 39 ++++++ Resources/Locale/ru-RU/_amour/anus.ftl | 6 + .../Locale/ru-RU/_amour/genitals/genital.ftl | 42 ++++++ Resources/Locale/ru-RU/_amour/kink.ftl | 2 + Resources/Locale/ru-RU/_amour/species.ftl | 2 + .../_amour/species/vulpkanin/vulpkanin.ftl | 73 +++++++++++ .../_Amour/Entities/Objects/Misc/vibrator.yml | 92 +++++++++++++ .../dildo.rsi/dildo_avian-inhand-left.png | Bin 0 -> 520 bytes .../dildo.rsi/dildo_avian-inhand-right.png | Bin 0 -> 522 bytes .../Items/Misc/dildo.rsi/dildo_avian.png | Bin 0 -> 565 bytes .../dildo.rsi/dildo_canine-inhand-left.png | Bin 0 -> 458 bytes .../dildo.rsi/dildo_canine-inhand-right.png | Bin 0 -> 476 bytes .../Items/Misc/dildo.rsi/dildo_canine.png | Bin 0 -> 595 bytes .../dildo.rsi/dildo_double-inhand-left.png | Bin 0 -> 466 bytes .../dildo.rsi/dildo_double-inhand-right.png | Bin 0 -> 459 bytes .../Items/Misc/dildo.rsi/dildo_double.png | Bin 0 -> 517 bytes .../dildo.rsi/dildo_dragon-inhand-left.png | Bin 0 -> 461 bytes .../dildo.rsi/dildo_dragon-inhand-right.png | Bin 0 -> 472 bytes .../Items/Misc/dildo.rsi/dildo_dragon.png | Bin 0 -> 534 bytes .../dildo.rsi/dildo_equine-inhand-left.png | Bin 0 -> 490 bytes .../dildo.rsi/dildo_equine-inhand-right.png | Bin 0 -> 480 bytes .../Items/Misc/dildo.rsi/dildo_equine.png | Bin 0 -> 532 bytes .../dildo.rsi/dildo_human-inhand-left.png | Bin 0 -> 438 bytes .../dildo.rsi/dildo_human-inhand-right.png | Bin 0 -> 426 bytes .../Items/Misc/dildo.rsi/dildo_human.png | Bin 0 -> 416 bytes .../Items/Misc/dildo.rsi/dildo_side.png | Bin 0 -> 396 bytes .../dildo.rsi/dildo_tentacle-inhand-left.png | Bin 0 -> 489 bytes .../dildo.rsi/dildo_tentacle-inhand-right.png | Bin 0 -> 510 bytes .../Items/Misc/dildo.rsi/dildo_tentacle.png | Bin 0 -> 502 bytes .../_Amour/Items/Misc/dildo.rsi/meta.json | 124 ++++++++++++++++++ .../dildo.rsi/polydildo_big-inhand-left.png | Bin 0 -> 457 bytes .../dildo.rsi/polydildo_big-inhand-right.png | Bin 0 -> 461 bytes .../Items/Misc/dildo.rsi/polydildo_big.png | Bin 0 -> 499 bytes .../polydildo_medium-inhand-left.png | Bin 0 -> 432 bytes .../polydildo_medium-inhand-right.png | Bin 0 -> 430 bytes .../Items/Misc/dildo.rsi/polydildo_medium.png | Bin 0 -> 492 bytes .../dildo.rsi/polydildo_small-inhand-left.png | Bin 0 -> 420 bytes .../polydildo_small-inhand-right.png | Bin 0 -> 422 bytes .../Items/Misc/dildo.rsi/polydildo_small.png | Bin 0 -> 459 bytes 42 files changed, 510 insertions(+) create mode 100644 Content.Client/_Amour/Vibrator/VibratorSystem.cs create mode 100644 Content.Server/_Amour/Vibrator/VibratorSystem.cs create mode 100644 Content.Shared/_Amour/Vibrator/VibratorComponent.cs create mode 100644 Content.Shared/_Amour/Vibrator/VibratorSystem.cs create mode 100644 Resources/Locale/ru-RU/_amour/anus.ftl create mode 100644 Resources/Locale/ru-RU/_amour/genitals/genital.ftl create mode 100644 Resources/Locale/ru-RU/_amour/kink.ftl create mode 100644 Resources/Locale/ru-RU/_amour/species.ftl create mode 100644 Resources/Locale/ru-RU/_amour/species/vulpkanin/vulpkanin.ftl create mode 100644 Resources/Prototypes/_Amour/Entities/Objects/Misc/vibrator.yml create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_avian-inhand-left.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_avian-inhand-right.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_avian.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_canine-inhand-left.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_canine-inhand-right.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_canine.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_double-inhand-left.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_double-inhand-right.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_double.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_dragon-inhand-left.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_dragon-inhand-right.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_dragon.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_equine-inhand-left.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_equine-inhand-right.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_equine.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_human-inhand-left.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_human-inhand-right.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_human.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_side.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_tentacle-inhand-left.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_tentacle-inhand-right.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_tentacle.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/meta.json create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/polydildo_big-inhand-left.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/polydildo_big-inhand-right.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/polydildo_big.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/polydildo_medium-inhand-left.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/polydildo_medium-inhand-right.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/polydildo_medium.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/polydildo_small-inhand-left.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/polydildo_small-inhand-right.png create mode 100644 Resources/Textures/_Amour/Items/Misc/dildo.rsi/polydildo_small.png diff --git a/Content.Client/_Amour/Vibrator/VibratorSystem.cs b/Content.Client/_Amour/Vibrator/VibratorSystem.cs new file mode 100644 index 0000000000..55a284e9e7 --- /dev/null +++ b/Content.Client/_Amour/Vibrator/VibratorSystem.cs @@ -0,0 +1,64 @@ +using System.Numerics; +using Content.Shared._Amour.Vibrator; +using Robust.Client.Animations; +using Robust.Client.GameObjects; +using Robust.Shared.Animations; + +namespace Content.Client._Amour.Vibrator; + +public sealed class VibratorSystem : SharedVibratorSystem +{ + [Dependency] private readonly AnimationPlayerSystem _animationSystem = default!; + private readonly string _vibration = "vibration"; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnAnimationCompleted); + } + + private void OnAnimationCompleted(EntityUid uid, VibratorComponent component, AnimationCompletedEvent args) + { + if(args.Key != _vibration || !component.IsVibrating) + return; + + _animationSystem.Play(uid,GetAnimation(), _vibration); + } + + public override void ToggleVibrate(EntityUid uid, VibratorComponent component) + { + if (component.IsVibrating) + _animationSystem.Play(uid,GetAnimation(), _vibration); + + } + + private Animation GetAnimation() + { + return new Animation + { + Length = TimeSpan.FromMilliseconds(100), + AnimationTracks = + { + new AnimationTrackComponentProperty + { + ComponentType = typeof(SpriteComponent), + Property = nameof(SpriteComponent.Offset), + InterpolationMode = AnimationInterpolationMode.Cubic, + KeyFrames = + { + new AnimationTrackProperty.KeyFrame(Vector2.Zero, 0f), + + new AnimationTrackProperty.KeyFrame(new Vector2(0.1f, 0), 0.25f), + + new AnimationTrackProperty.KeyFrame(Vector2.Zero, 0.25f), + + new AnimationTrackProperty.KeyFrame(new Vector2(-0.1f, 0), 0.25f), + + new AnimationTrackProperty.KeyFrame(Vector2.Zero, 0.25f), + } + } + } + }; + } +} diff --git a/Content.Server/_Amour/Vibrator/VibratorSystem.cs b/Content.Server/_Amour/Vibrator/VibratorSystem.cs new file mode 100644 index 0000000000..c1b2948492 --- /dev/null +++ b/Content.Server/_Amour/Vibrator/VibratorSystem.cs @@ -0,0 +1,38 @@ +using Content.Server.DeviceLinking.Events; +using Content.Server.DeviceLinking.Systems; +using Content.Shared._Amour.Vibrator; +using Content.Shared.Interaction.Events; + +namespace Content.Server._Amour.Vibrator; + +public sealed class VibratorSystem : SharedVibratorSystem +{ + [Dependency] private readonly DeviceLinkSystem _signalSystem = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnUseInHand); + SubscribeLocalEvent(OnInit); + SubscribeLocalEvent(OnsignalReceived); + } + + private void OnsignalReceived(EntityUid uid, VibratorComponent component,ref SignalReceivedEvent args) + { + if(args.Port != component.TogglePort) + return; + + ToggleVibration(uid,component); + } + + private void OnInit(EntityUid uid, VibratorComponent component, ComponentInit args) + { + _signalSystem.EnsureSinkPorts(uid,component.TogglePort); + } + + private void OnUseInHand(EntityUid uid, VibratorComponent component, UseInHandEvent args) + { + ToggleVibration(uid,component); + } +} diff --git a/Content.Shared/_Amour/Vibrator/VibratorComponent.cs b/Content.Shared/_Amour/Vibrator/VibratorComponent.cs new file mode 100644 index 0000000000..953c7f951b --- /dev/null +++ b/Content.Shared/_Amour/Vibrator/VibratorComponent.cs @@ -0,0 +1,28 @@ +using Content.Shared.DeviceLinking; +using Robust.Shared.GameStates; +using Robust.Shared.Serialization; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; + +namespace Content.Shared._Amour.Vibrator; + +[RegisterComponent, NetworkedComponent] +public sealed partial class VibratorComponent : Component +{ + [DataField("isVibrating")] public bool IsVibrating = false; + + [DataField("togglePort", customTypeSerializer: typeof(PrototypeIdSerializer))] + public string TogglePort = "Toggle"; +} + + +[Serializable, NetSerializable] +public sealed class VibratorComponentState : ComponentState +{ + public bool IsVibrating; + + public VibratorComponentState(bool isVibrating) + { + IsVibrating = isVibrating; + } +} + diff --git a/Content.Shared/_Amour/Vibrator/VibratorSystem.cs b/Content.Shared/_Amour/Vibrator/VibratorSystem.cs new file mode 100644 index 0000000000..8265cfea9a --- /dev/null +++ b/Content.Shared/_Amour/Vibrator/VibratorSystem.cs @@ -0,0 +1,39 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared._Amour.Vibrator; + +public abstract class SharedVibratorSystem : EntitySystem +{ + public override void Initialize() + { + SubscribeLocalEvent(OnGetState); + SubscribeLocalEvent(OnHandleState); + } + + private void OnHandleState(EntityUid uid, VibratorComponent component, ref ComponentHandleState args) + { + if(args.Current is not VibratorComponentState state) + return; + + component.IsVibrating = state.IsVibrating; + ToggleVibrate(uid,component); + } + + private void OnGetState(EntityUid uid, VibratorComponent component,ref ComponentGetState args) + { + args.State = new VibratorComponentState(component.IsVibrating); + } + + public void ToggleVibration(EntityUid uid, VibratorComponent? component = null) + { + if(!Resolve(uid,ref component)) + return; + + component.IsVibrating = !component.IsVibrating; + Dirty(uid,component); + } + + public virtual void ToggleVibrate(EntityUid uid, VibratorComponent component) + { + } +} diff --git a/Resources/Locale/ru-RU/_amour/anus.ftl b/Resources/Locale/ru-RU/_amour/anus.ftl new file mode 100644 index 0000000000..f09994e2db --- /dev/null +++ b/Resources/Locale/ru-RU/_amour/anus.ftl @@ -0,0 +1,6 @@ +anus-inspect = Проинспектировать анус +anus-insert = Засунуть внутрь +anus-inspecting = Вы чувствете, будто кто-то копается в вашей заднице! +anus-no-access = Похоже, что нет доступа к заднице +anus-blowing = Вы чувствуете,как разрывается анус! +anus-inserting = Вы чувствуете, будто что-то проталкивают к вашей заднице! diff --git a/Resources/Locale/ru-RU/_amour/genitals/genital.ftl b/Resources/Locale/ru-RU/_amour/genitals/genital.ftl new file mode 100644 index 0000000000..c833ab0e91 --- /dev/null +++ b/Resources/Locale/ru-RU/_amour/genitals/genital.ftl @@ -0,0 +1,42 @@ +markings-category-Genitals = Гениталии +markings-category-Breasts = Грудь (Реально) + +marking-Penis = Большой член +marking-PenisMid = Средний член +marking-PenisSmall = Размер не имеет значения +marking-Vagina = Вагина + +marking-BreastsA = Грудь +marking-BreastsB = Грудь +marking-BreastsC = Грудь +marking-BreastsD = Грудь +marking-BreastsE = Грудь +marking-BreastsF = Грудь +marking-BreastsG = Грудь +marking-BreastsH = Грудь +marking-BreastsI = Грудь +marking-BreastsJ = Грудь +marking-BreastsK = Грудь +marking-BreastsL = Грудь +marking-BreastsM = Грудь +marking-BreastsN = Грудь +marking-BreastsO = Грудь +marking-BreastsHuge = Грудь Доярки + +ent-DildoHuman = дилдо + .desc = Дилдо делает Бр-р-р. + +ent-DildoAvian = дилдо + .desc = Дилдо делает Бр-р-р. + +ent-DildoDragon = дилдо + .desc = Дилдо делает Бр-р-р. + +ent-DildoCanine = дилдо + .desc = Дилдо делает Бр-р-р. + +ent-DildoEquine = дилдо + .desc = Дилдо делает Бр-р-р. + +ent-DildoTentacle = дилдо + .desc = Дилдо делает Бр-р-р. diff --git a/Resources/Locale/ru-RU/_amour/kink.ftl b/Resources/Locale/ru-RU/_amour/kink.ftl new file mode 100644 index 0000000000..8b53240774 --- /dev/null +++ b/Resources/Locale/ru-RU/_amour/kink.ftl @@ -0,0 +1,2 @@ +advertisement-kink-1 = Да ты горяч! +advertisement-kink-2 = О-о-о да детка! Покажи на что ты способен! diff --git a/Resources/Locale/ru-RU/_amour/species.ftl b/Resources/Locale/ru-RU/_amour/species.ftl new file mode 100644 index 0000000000..1cffc692c0 --- /dev/null +++ b/Resources/Locale/ru-RU/_amour/species.ftl @@ -0,0 +1,2 @@ +species-name-vulpkanin = Вульпканин +species-name-tajaran = Таяран diff --git a/Resources/Locale/ru-RU/_amour/species/vulpkanin/vulpkanin.ftl b/Resources/Locale/ru-RU/_amour/species/vulpkanin/vulpkanin.ftl new file mode 100644 index 0000000000..15bc65378b --- /dev/null +++ b/Resources/Locale/ru-RU/_amour/species/vulpkanin/vulpkanin.ftl @@ -0,0 +1,73 @@ +marking-VulpkaninTailBushFluff = Пушистый хвост +marking-VulpkaninTailBushFluff-bushy_a = Внутреняя часть хвоста +marking-VulpkaninTailBushFluff-bushfluffw_s = Внешняя часть хвоста +marking-VulpkaninTailBasic = Обычный хвост +marking-VulpkaninTailBasic-straightbushy_a = Внешняя часть хвоста +marking-VulpkaninTailBasic-sbfadew_s = Внутреняя часть хвоста +marking-VulpkaninTailSilverFade = Хвост необычный +marking-VulpkaninTailSilverFade-straightbushy_a = Внешняя часть хвоста +marking-VulpkaninTailSilverFade-sbsilverfadew_s = Внутреняя часть хвоста +marking-VulpkaninTailStraight = Висящий хвост +marking-VulpkaninTailStraight-straight_a = Висящий хвост +marking-VulpkaninTailTiny = Короткий хвост +marking-VulpkaninTailTiny-tiny_a = Короткий хвост +marking-VulpkaninTailWingler = Полосатый хвост +marking-VulpkaninTailWingler-winglertail_a = Полосатый хвост +marking-VulpkaninMuzzleEarHead = Мордочка 1 +marking-VulpkaninMuzzleEarHead-muzzle_ear_s = Ушки +marking-VulpkaninMuzzleHead = Голова 1 +marking-VulpkaninMuzzleHead-muzzle_s = Мордочка +marking-VulpkaninNoseAltHead = Нос 1 +marking-VulpkaninNoseAltHead-nose_alt_s = Нос +marking-VulpkaninNoseHead = Нос 2 +marking-VulpkaninNoseHead-nose_s = Нос +marking-VulpkaninPointsFadeHead = Голова 2 +marking-VulpkaninPointsFadeHead-points_fade_s = Голова +marking-VulpkaninPointsSharpHead = Голова 3 +marking-VulpkaninPointsSharpHead-points_sharp_s = Голова +marking-VulpkaninTigerFaceHead = Тигр +marking-VulpkaninTigerFaceHead-tiger_face_s = Тигр +marking-VulpkaninTigerHead = Тигр 1 +marking-VulpkaninTigerHead-tiger_head_s = Тигр 1 +marking-VulpkaninAltPointsFadeBellyChest = Тело 1 +marking-VulpkaninAltPointsFadeBellyChest-altpointsfadebelly_s = Тело 1 +marking-VulpkaninBellyCrestChest = Тело 2 +marking-VulpkaninBellyCrestChest-bellycrest_s = Тело 2 +marking-VulpkaninCrestPointsChest = Тело 3 +marking-VulpkaninCrestPointsChest-crestpoints_s = Тело 3 +marking-VulpkaninFoxBellyChest = Тело 4 +marking-VulpkaninFoxBellyChest-foxbelly_s = Тело 4 +marking-VulpkaninFullBellyChest = Тело 5 +marking-VulpkaninFullBellyChest-fullbelly_s = Тело 5 +marking-VulpkaninPointsFadeChest = Тело 6 +marking-VulpkaninPointsFadeChest-pointsfade_s = Тело 6 +marking-VulpkaninPointsFadeBellyChest = Тело 7 +marking-VulpkaninPointsFadeBellyChest-pointsfadebelly_s = Тело 7 +marking-VulpkaninSharpPointsChest = Тело 8 +marking-VulpkaninSharpPointsChest-sharppoints_s = Тело 8 +marking-VulpkaninBlazeFacial = Морда 1 +marking-VulpkaninBlazeFacial-blaze_s = Морда 1 +marking-VulpkaninBrowsFacial = Морда 2 +marking-VulpkaninBrowsFacial-brows_s =Морда 2 +marking-VulpkaninEarFluffFacial = Морда 3 +marking-VulpkaninEarFluffFacial-earfluff_s = Морда 3 +marking-VulpkaninElderChinFacial = Морда 4 +marking-VulpkaninElderChinFacial-elder_chin_s = Морда 4 +marking-VulpkaninElderFacial = Морда 5 +marking-VulpkaninElderFacial-elder_s = Морда 5 +marking-VulpkaninKitaFacial = Морда 6 +marking-VulpkaninKitaFacial-kita_s = Морда 6 +marking-VulpkaninMaskFacial = Морда 7 +marking-VulpkaninMaskFacial-mask_s = Морда 7 +marking-VulpkaninPatchFacial = Морда 8 +marking-VulpkaninPatchFacial-patch_s = Морда 8 +marking-VulpkaninRuffFacial = Морда 9 +marking-VulpkaninRuffFacial-ruff_s = Морда 9 +marking-VulpkaninSlashFacial = Морда 10 +marking-VulpkaninSlashFacial-slash_s = Морда 10 +marking-VulpkaninSwiftFacial = Морда 11 +marking-VulpkaninSwiftFacial-swift_s = Морда 11 +marking-VulpkaninVulpineFacial = Морда 12 +marking-VulpkaninVulpineFacial-vulpine_s = Морда 12 +marking-VulpkaninVulpineFluffFacial = Морда 13 +marking-VulpkaninVulpineFluffFacial-vulpinefluff_s = Морда 13 diff --git a/Resources/Prototypes/_Amour/Entities/Objects/Misc/vibrator.yml b/Resources/Prototypes/_Amour/Entities/Objects/Misc/vibrator.yml new file mode 100644 index 0000000000..625c05ba8f --- /dev/null +++ b/Resources/Prototypes/_Amour/Entities/Objects/Misc/vibrator.yml @@ -0,0 +1,92 @@ +- type: entity + parent: BaseItem + id: DildoHuman + name: dildo + description: Dildo goes br-r-r-r. + components: + - type: Sprite + sprite: _Amour/Items/Misc/dildo.rsi + state: dildo_human + - type: Item + inhandVisuals: + left: + - state: dildo_human-inhand-left + right: + - state: dildo_human-inhand-right + - type: DeviceLinkSink + ports: + - Toggle + - type: Vibrator + - type: UseDelay + delay: 2.0 + - type: MeleeWeapon + damage: + types: + Blunt: 2 + - type: StaticPrice + price: 25 + +- type: entity + parent: DildoHuman + id: DildoAvian + components: + - type: Sprite + state: dildo_avian + - type: Item + inhandVisuals: + left: + - state: dildo_avian-inhand-left + right: + - state: dildo_avian-inhand-right + +- type: entity + parent: DildoHuman + id: DildoDragon + components: + - type: Sprite + state: dildo_dragon + - type: Item + inhandVisuals: + left: + - state: dildo_dragon-inhand-left + right: + - state: dildo_dragon-inhand-right + +- type: entity + parent: DildoHuman + id: DildoCanine + components: + - type: Sprite + state: dildo_canine + - type: Item + inhandVisuals: + left: + - state: dildo_canine-inhand-left + right: + - state: dildo_canine-inhand-right + +- type: entity + parent: DildoHuman + id: DildoEquine + components: + - type: Sprite + state: dildo_equine + - type: Item + inhandVisuals: + left: + - state: dildo_equine-inhand-left + right: + - state: dildo_equine-inhand-right + +- type: entity + parent: DildoHuman + id: DildoTentacle + components: + - type: Sprite + state: dildo_tentacle + - type: Item + inhandVisuals: + left: + - state: dildo_tentacle-inhand-left + right: + - state: dildo_tentacle-inhand-right diff --git a/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_avian-inhand-left.png b/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_avian-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..2819e2d9020b6ae19506f25374c3314e3599356a GIT binary patch literal 520 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|VnO zPZ!6KiaBp*?e{+HAaZ;^t2n#vRX;{Yg9};_FBCXlJqeMSv+1{e$=b=Wtp8cQ`^d`7 zb%+F)yC!rlK;zC zRaDnDe?HIU!3}j39`{0|W?C}NetI_|JnI(gl{u3>Ro#4XHzbJpuGQtu8?N*h3Ax?o zd&|&!?uq&7TdX1dyAp4@uKp>-77_HAQLU9FyleZ78*v@4O1~FdFMVNR6)pUIdF+9V ztTSIXE?*^eIaTB9va5eiI7-!Js#~U;NAfWJ|Gw>j#(h>RUHi^CXFVdQ&MBb@0Lcf{4FCWD literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_avian-inhand-right.png b/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_avian-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..1c50accf3cb8c6fa31b719b5afba35e12007c4ec GIT binary patch literal 522 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|Vn8 zPZ!6KiaBp*?e}&H6gj@%QGi!;)?@(|&Zy=KLXIY;p3al2|2Jp*?PUAQ`S#qUDEdU8elok3-ERJQALrfw9C?p_{q$nH?{OmMB3Uf87@n+Pn6Q}1p^u9J zm2-`0)lt>rSpUTZx7^pLuK>bAJSubYu}*-OeDW`wFnuDVj>d)%H$|LSim zrky^_OE;EZGGgAMD68_a;u?$W0*-U3avL}Ae*|ekC&IPNj&u&(jd zq{AXwoWdc}XBU_*Z*2Y?SHDj#t??_L0B7Fu4sl2JU-ExFerYolg)p25WK?ixZIG#A a+^_60>Gi@@9b15r%i!ti=d#Wzp$PyrCeu^^ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_avian.png b/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_avian.png new file mode 100644 index 0000000000000000000000000000000000000000..7ca3e89a1aaf5690cbb4c3d938865e1a07f16854 GIT binary patch literal 565 zcmV-50?Pe~P)`?(DK&{DSy)XPEcd_r5bTMPt?k zU;-cvaG2cGj&rx3u>c_XQFa%hZ3rQNYI}~Hk}VH7Q3YXu*Sj1AHj-plmI3x+G3_9J zO{F4Hlya;c5qAL;zeLgPS^o8f(=%#!hwcKXO6NO{@26>}lBdfX7Xcun_wWJHGTD(O z0PO!v>WRlF|3yWmtHz9b0EUnpK42#TGvStd062iM=R~Li+JIf4Ryt%ymH^=RM7+w9 zr};A=GAZ~#{9dpGU~Iur>4wacs4RP+RD9#5A3X&V>s2Db+tHDu7*#nbh+R;o0fH-Q z8a#ll2lw;Dl;i)X3dS(!;jv+<3Z?+Up@=5?7wEp-VoyHyQ@=)Z5FLv7A)t^X$y%*m zHVt9A0+P>5+DD&3^f&|zSuN;i0KOjY0XeTMQkY%QW+6-i4B9Uwv&Cf=H(A{5zyBIX z@^Bq8Kl6}$&~5$9cM1T;g2Aw`Bn@~gYP~)mLu)uB zd&Yarv0_BiEie`}Kv+5Sf#?6{ISwG2z;OVlH39ep&5Fo0LWhpe00000NkvXXu0mjf DCgArS literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_canine-inhand-left.png b/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_canine-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..3d9e007c3e48391d63afcbe7cd23b5b849bf3201 GIT binary patch literal 458 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|R4? zr;B4q#hkaZ480Erh_v=^?5=KKH?7Ork>$VR!TS#$t!du8c-o^IHy56>`YFt1wM%TF z^NQKo-+7u0w=Y!)UFiFM>kCWymJ|+iOZoSES>CN~kl|#o6k;e+VR+)faAG3E1Z74A zcP58EmI~2VeYbwz&2DmBy|>Z6Wi|u%{Cy!C|6e$%tTN-l=ed2=vF40oRqwwj`3E-7 zonIZkPG4H^UO_CgPKnD8k2~TAe||_^e&pKO(s^^|w086SnPvQcl!Q*)IT&JEN3 zrIJ(D7BT8neEwkJUdZ!%d!o=GmWYOfU8YLS=P&dNAUg!73xN_J^fGwQp8aJuX|dOd zGRf@i=dI4|?)^ADJ;J@JB;fF(*ryW&6CU!u&(#fk|EW-FU)}$f?fLIEeo#}3-LUnY zUc#k|Z~fPYzvVmsIr7mM8LuH_fmE}y!1w6}k`_@1v;6SMpGF#nTlTq7v{gXu3vBc_|MJN9~K zSmsu?&i_{*xjyeGtT4FgVS91kL)(7|X8#J-{oMITZEE5F^9N|aab(Ldib zsp^v0REsyYcl{OWLl3NJ-TGMNz^TV^OP~4QUY+{sY2O#Cg8@gYZk9Mt`z$DtlUUue i&|3f=G79Z+2lRiRsb(w|bWsIH7lWs(pUXO@geCw3)X84} literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_canine.png b/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_canine.png new file mode 100644 index 0000000000000000000000000000000000000000..8e0f5329d09a349da27920f72e55bce1979fe3da GIT binary patch literal 595 zcmV-Z0<8UsP)D3okZ%yAQV9K=Z0u}{}Fi+fb6#w5jE~$g@gzMz{$PoBnk-+Ywi%jD0l_v?^%Ue zf(TIsWq|hIXK{zpO&s~eKWIlaSO_L%fQPCB{T(P_5;>|unIMFBhM)>`1=Xo!=L#06 z0!2*+cApWTElwU*{cA)PjbDjkK4cXF0q7?+*#~V2ull?Iz9LkGVOfPR3Ixz}XcWQI zFe)K5t$_>{g}u9_Y(`1|>AAdkuczTnkCFpc$%t+x0Iw&PV#pNKA(R08^ra?K6M zSHKXThyMohgZ>&rwqcE;Es~w)vz;Mm$5+@fKOi=E-&+7@uM{zm7b#8*e+*N{H8d(V z@GFC6#px|Tc79RB%rvZzBQh~dCVz?pMjEEEEGnDpT{og~4{&l;>}yoUbN3U*4=-^s zGv-6mBW0p{2xR~f5yx-DMY}5?{MGVqz9VuL);X0@nO}XdnmwML&-odti_}+g$ h9zt3DWkjzM;1MBm#zUZZrOyBW002ovPDHLkV1jK$@;(3n literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_double-inhand-left.png b/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_double-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..044bb1ffd89d50e92ba16865f61168b2354984d2 GIT binary patch literal 466 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|R4= zr;B4q#hkaZHhLWn5NZ2=O>bXgcJo5#h26p72i+&=owNGEqjYJZ{{w+^@sENm;meyu zWK@E}+uz0Jtg~#?Va;6go#*NQ{i@CR z6sa&g@o-q<^t*h!Vr9+2+m~y(tzAqQ_a0`w=imN<`Ji(XXWYDaxAoG#2VQ?HU0q)! z_HB}$&4(Wq%2{l0ZhbQsX^LxoduG{X{WZ_#N5AK>4*F~qzGvJ1hiV7ncKxjp4x9Wo zJ7V69Ba(j#Y?;J*{#Vvb>%D92DhaWd0hfai5=r7RF)^)wUND&HJ-&Ezt$X2`va1%c zujOz3s(E}qc6{Hdva{06Dnoffx})gZ>o~>P< zFVv;E;mo7A48oC9>Mf4GFJ?b_*t}}7>((;i7^4HlA!(Q6*SDV$PcW`fa`n&* zShB>|@jY9PjhY^Z(mmI0Tb}*D9`Wf`)Y;oNGt;aT+?gEuSQ=zF87zeuic}b$crcup z$S^^fai6`+{P@(<-N7o?7u)_}-orBGAb;OI1Lqkf$G^`!|FDA7;)VR8|6h7;K2f}J z`TJQPeMbF{u^Sryi;5nM?Jj$+`&RsL-0QA+SDALN``q<9Y9{0F>9Q*6i?1!MGl^yX z`7m^2utQ>gQ`n=Z^&!mIU4ZGdhS%+>%PV$2FDojZ9r^u+)y7hmkhMM17NpPB8v_Hk{s$6-rmogH63{ykp(S|Pe@MoS5oO5xsv;z8yI zXTRA6)E?1aA3xvR#5iTgl}(ye_&7PH8lZ- Rr@+`@@O1TaS?83{1OPMtx61$k literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_double.png b/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_double.png new file mode 100644 index 0000000000000000000000000000000000000000..90ef8337c425f60358f02eaacc5928aee9ee604c GIT binary patch literal 517 zcmV+g0{Z=lP)|SYlX-F)R!=HU@D57si_S1jaakvx&2d z3xjXr#vp?+K7oUyi#VyofH1faVpt6cQ17W+Qb=2Ri6TQ!LTJO~{@;Jjf17IfXN3SE zKnSqh0Ga)w#qXE9tH{CuSUh%appY7(d|I^r3c?k@S-f<=4ju2x8wYjI(*arBsJ1bf zqc|I|ui@{WE5K^^Yg}C3tBMU&KB6FqAA~EwQ}s5Iy@b_E#Jv~I5F5BKJN9+iXPxH^ z)DH95+Wf@ux{n@OO2z3I-76t!->19JY5){BD40={a!D8?D3y~iXttn>4`Jx2G62O4 zX(Kz~X0s$Gzprl~cBJ90u?GF-!S_F&LrB}}jXaR*{6rx(WdXO2vbh6$URK1KAB092xSkN(`1gf3vjR%gdQS9D8d*%u9jDQfCMBHNj5`u2nGIyp{ zcP0x9a2D4dUw!lU1)w-|v|U0l3Z8GL+zJl@3|}As3BfqhqMQEiwjG62(;YJ!mD3XF z86!K%LS)~JPyD8%4sDckkdEg9m(EPnqa-VyzSPHJvL8QaA$JpV`-4#WUv%sC{kf~;=yoYBEtk_ zM#CnbO}}rgJO9x3V5gw#0UOT^5o@Ic-n-O8P3Uq5;$E&Rjd zgU7v&Ys@}O6RulqRO-0J63zMh#yN{`mEvobbRFdX6j^Zj)i1FPEXQWwyTHEsr&4s1 z$hrrevm4T$nx8yxzdCO9^=o_lAKyOe>u^7Je|Pz(wtpOrn2y5c+CssEX5Zaaz1xzG z_3Isw%iHlUD__R1^v}`l8-EtmR!AIHyY$rcR%G94z76f!D+EHDRR7P?E&N+?`Ofr* z1z+;^$F^-LKJ$V}=Vm6W__mGd4_|!W_G|Hkf2&Q-t>XM6Zc{lEwSOwl}v; UU;E|`Fn$<3UHx3vIVCg!0PSbNga7~l literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_dragon-inhand-right.png b/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_dragon-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..e4bf88f795b3e1df4e207f394d3dd9a59487c4ec GIT binary patch literal 472 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|R51 zr;B4q#hkaZHhLWn5NZ2=VUg?+_5wjA#=DOmyi1#Z@Su3XC)qo5e=+gdImatZZoaGK z!o07+S$$&L4dIm;s&DsR^0@T>zk7eA`rkjq_DBPPcG^4h7WP|XCBxzjT5UrQ>V z`u369tOfTYb_v&x{9t^nLha#~i zSy0+*!{+?_eVnhYxi_@$IB~yj>+I79I}4byT@M#q9ZtVLN$T47Qw*~O9KU_Om%F_E z^5nTU4S)arC#okK8UF0x^xwDQBKcn*i#)LB?j8%{gzw+i1#)luc0teRN?SNvjqL@t hh3k=Q^1`c;pou<6b6L!fNNdft_5j(haq?&8PkosO%KVinH)e10`$L{ z1Gi(!cwNG+8lb~FUnovxCalE+$bew!ov*_2g9G<)j4C4<>B@ zWPp4Ia2wEbD4x9wsC-bK$iDP*K^p*L1|tsny9B9#Rr6tfzia>nVe{M409K(5z}f+R Y04%!g1C82!v;Y7A07*qoM6N<$f@nbH`~Uy| literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_equine-inhand-left.png b/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_equine-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..a68b6584bccf9e337177f10a32abb8cdcca348d0 GIT binary patch literal 490 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|Vn6 zPZ!6KiaBp*8G1VfO0>l*O3Ai(2sk-4wbdPr&B^X;t8?x1{nw&){Py~c4zbx;AH_{L z1O*$NIr#c?&G$EpyDYl!S(g3&_sBgQ`+nFyw|0MMZLQ$WX58=ewqqZBC(hLj0yTO_?dzlH8YS-1E4^xRho6X9iBs zZLC4{h5BFo1>nxZ>29DzP}}kuuio9Y7k%6vyxpgq@u@81Zk@ndIfg!=H9r>LX20@0 z`0+EH`bw7VuS9OfHi-VOD((CA*udk5-MXEr@A=dfFK>8s`nklUp5t$`PVcBu{(gF! y->=tvL1z1xZRUzDK}j&k8A9t_%W5q1*hz;J`mKRFXXmfKlO}h ziCBW#=J$-RbJi(uE)3C$k)6vLqIUUrcD`EtMUl;y#Xh7yJuDx+C3m$M*M=?gtERkj zE2)`yKER9P+55HK*Jd%AEtp&DS=(*QWOe+G#({6O*Bh^KPOp$=T_U&dL(Ikb3Rs=T zfadNmmN&jVQH-A>_ch9wi#_jHflxy0rK?4efxWWs8@%4Uc*gf4u*vt{Ea@hTldJ!= z>|1@c{u~4Ms;s#ilV87NuKidkpfG#-Tix@|)o+*|w0*2{KyAk?R_Aa05o)@tx>G7` q4;cSTZSUaz#RU%_h9?)ee=w~`Xlc|u6?769WelFKelF{r5}E+s-o=3c literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_equine.png b/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_equine.png new file mode 100644 index 0000000000000000000000000000000000000000..3b05d77f3799d9a53709ca30c65dd074b371d330 GIT binary patch literal 532 zcmV+v0_**WP)%ET9Y4wMEFk!!CEnK=N2F8FTQ><(Z9V9(95m<66m+lpNQ zm=7Mn5aPBV8vrIm`@w)v=3M|SMEOIp|ENIanVo+-6CycGSbK7^1whGV8`829av4PO zJP<-BOfN3Ux15+Wjnv#bU?HKkQ{Fd1FCNU>aQV!R$F!k z4y&XPS^y~h;@|MWI@(y{+W^Nis*wajdkbJb1pxzY3TsqG88nHs0MrP^<1I2}BA5}A zaE`b*n5u*22TRh<&;odUxigxgv=}_t4h0n;F8om&u4DLb>HrEtC!RV$+A08Y2lxZq WlEi4$zAwuF00005t|DEl|In}eb#GSpXYQq~BWLI6#|61)p+`C=n z(`QZBbrJaZu`Qdo)@9xCQtXu`P6{mCH5(lgku3p@_EaS-@hpV-AF^k{T$tp@F$i_}? zICr9U%~7j!SEY_G3(WC(ZZ4Zz&X{&@(}8ur?`psQuzQACf5`UJzfFy&{FvD?foFsG u>G01T7fz^c?=7AuzetG#5d_Zq52PPj=gQ4{>bnvc5e%NLelF{r5}E*ny|MlP literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_human-inhand-right.png b/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_human-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..448cf54c6439bbd5351f9d0a924f4ed5e171c970 GIT binary patch literal 426 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|R4> zr;B4q#hkaZ7Wy$ein!(rySN6sH!(&AU;oF*$@zkpE&Q(kig*539vGyQdj8_Qa#dla z;z2=|yOVA&S@pJz&FG}gcRAyeXVz6bKWp>(p5&2@3?0dg0>_yY`dA%gxEn0Q7z%Y5 z9z{63;cre1^leKP+5B4UA7da>)!*5#-t9T?=`Zt6qn)*@mg(~!JlQF9A+!ABp1LEq zvnJ+#OKwsRWSX`;zYPapaNE55UiMJIzr}ow!Dl@q*GB?F5 zZMxOb60Z#mZ1y{L-MF3pth|_|{oMakemb}BYI2ALOusoLx5Vpdz_stsv`^*)eRDPV jY7zI1DG1^DN=Exx+hWX;UTUrY20nwQtDnm{r-UW|*i@{3 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_human.png b/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_human.png new file mode 100644 index 0000000000000000000000000000000000000000..7b90269aa8876aa71d7ffb81196f2baa6efb65c1 GIT binary patch literal 416 zcmV;R0bl-!P)(r-b!@*@nMbuNej$o}4g$Kx>C zB&+}8@p`|7Mk)us4@uCd%kN=hfJrb#7|ip@0SZJetoL(}6O;o8pq4rZ%n`JeRUx88 zTr3L$;LJ}{*cN1EvmI6dyn0Lh-)2NwEUWB-wg_1R+(K#qQw;$JHd6Hh(~3#{>J=~U z7?Y$WYs#?*;KDtCT`&-StuF3}Vh6JKfK(1c(08ZV$4GcNQRjd;0rZ5?X-;|~!~iDw z(mqgS`#I=`m;Mt<1dwgT@4NGPxQLJAzXG@xAh!$2tyKaP4)6Jb}H1 z%@w`{orM$@JOPC-Aa-h@LSbVFu{9*f$}B7)hQk7O&tj+9TyB&9+nL!-BVkzp3t$2M zH$eHcCAdEJZc@epI6QOdqgj~Y`n)A{L2LwAA0FN1;NcCr6zhN*?)N|N4Sm`OaPaxH z8m_*L0zCA)sY)ASl6B)Z=>%X0p3edlkH(nYPBFpIEC5COo1ufKnuouH(s2{Ey4!ho za21XaArEh$$A#Du()O3v04R(WQFw>a1^#14v;xQyR_lT>@bq+{(?~CX=28XSM>C0000I{1+&7})B?))!s?&q{ACOc35zk8>e*|K(mGNXb!lS3a%gA6Bwr4U1r3d0i* zh7%JRCJ4J6c=1E$ejnS@_m$t;p11#&V=DepG1vcC_`%z`x(fR|KCQiMm$rVl#f|?5 zN@Vs`99~?pcxuC{AFrONy^veW;&XX+T#w57-}l>&EjxVh+*!ZA50!NgMxWAJqKb6Mw<&;$TrK+>N8 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_tentacle-inhand-right.png b/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_tentacle-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..eefd1198e5a64f4e6bf324fe8c09e91d8f6a01af GIT binary patch literal 510 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|Vm* zPZ!6KiaBp*8G0XfkZ6lH^)6=*Z(iuUP-M<7u753;j_#EG!^-D+DwaPo;~lGA2M*04XhG2?-xb% z2lPd+yT9+u)Rr|TrDw)9RyN3`Z99Epe#@FQA_g!_89-oCx@zgI2e z(lC#H_p*S$HR|eKbHC|wlfFNh+#cRz^UhZ^fjid5GUwsz$MuQI`6qwtTv^HVX~(JG zla{{!#gEIC7|!2kek*L}*7~jKJF-^)Gq2#BG5z?BGRs|amu6pU6G=8~+p49N-uc^8 z^n}(PmNS#}<@O}ri3w?q;5}Go+cfp;6b5mxrlZ?$%=WwYK`3D>)5#@oP4|hp`nYaM ze`?fxlB0IM?Ce7-?H)kc4S6YRi!XEOwkU>tI(BRylcKexP%WDyDCmHW`od(#xKgV( V#@l;}6fi;=JYD@<);T3K0RaCk(oz5b literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_tentacle.png b/Resources/Textures/_Amour/Items/Misc/dildo.rsi/dildo_tentacle.png new file mode 100644 index 0000000000000000000000000000000000000000..24597e0c6e5bd64a677311f5409b17fd6c83294b GIT binary patch literal 502 zcmVEaGd?MB@_TU{nLJ#H&5ITtbNLW#;&FUifK*WU^YCW zFKL6P0;0LyU-Es55o=uLjp z!iMLU6uPH(zHJB$Ac9Dz7e#~0Z-t@&pHSod3#&;wDB8W5J sYc2D9C>AX8KOj_qAQc0|080n>2LF%cK^>F9Bme*a07*qoM6N<$g8$#uL;wH) literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Amour/Items/Misc/dildo.rsi/meta.json b/Resources/Textures/_Amour/Items/Misc/dildo.rsi/meta.json new file mode 100644 index 0000000000..44a251589c --- /dev/null +++ b/Resources/Textures/_Amour/Items/Misc/dildo.rsi/meta.json @@ -0,0 +1,124 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "taken from Skyrat-tg at https://github.com/Skyrat-SS13/Skyrat-tg/ at 08668ffb5e567907783e86d839c144b1f746b252", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "dildo_avian" + }, + { + "name": "dildo_canine" + }, + { + "name": "dildo_equine" + }, + { + "name": "dildo_dragon" + }, + { + "name": "dildo_human" + }, + { + "name": "dildo_tentacle" + }, + { + "name": "polydildo_small" + }, + { + "name": "polydildo_medium" + }, + { + "name": "polydildo_big" + }, + { + "name": "dildo_double" + }, + { + "name": "dildo_side" + }, + { + "name": "dildo_avian-inhand-left", + "directions": 4 + }, + { + "name": "dildo_canine-inhand-left", + "directions": 4 + }, + { + "name": "dildo_dragon-inhand-left", + "directions": 4 + }, + { + "name": "dildo_equine-inhand-left", + "directions": 4 + }, + { + "name": "dildo_human-inhand-left", + "directions": 4 + }, + { + "name": "dildo_tentacle-inhand-left", + "directions": 4 + }, + { + "name": "polydildo_small-inhand-left", + "directions": 4 + }, + { + "name": "polydildo_medium-inhand-left", + "directions": 4 + }, + { + "name": "polydildo_big-inhand-left", + "directions": 4 + }, + { + "name": "dildo_double-inhand-left", + "directions": 4 + }, + { + "name": "dildo_avian-inhand-right", + "directions": 4 + }, + { + "name": "dildo_canine-inhand-right", + "directions": 4 + }, + { + "name": "dildo_dragon-inhand-right", + "directions": 4 + }, + { + "name": "dildo_equine-inhand-right", + "directions": 4 + }, + { + "name": "dildo_human-inhand-right", + "directions": 4 + }, + { + "name": "dildo_tentacle-inhand-right", + "directions": 4 + }, + { + "name": "polydildo_small-inhand-right", + "directions": 4 + }, + { + "name": "polydildo_medium-inhand-right", + "directions": 4 + }, + { + "name": "polydildo_big-inhand-right", + "directions": 4 + }, + { + "name": "dildo_double-inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Amour/Items/Misc/dildo.rsi/polydildo_big-inhand-left.png b/Resources/Textures/_Amour/Items/Misc/dildo.rsi/polydildo_big-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..0b1a539c3c872b001f4cdea8353f001ccf024799 GIT binary patch literal 457 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|R5V zr;B4q#hkaZHhM8Tin!)KT%R#(f|ihnBFDKI5Cl7f-<9m zdS}C;9V_3&OzRI$aT8)Zd{JQXX+t~n_^ZD^nQC)-IzQO8W7FhrmfNXv);gUHw}0kH z9Xi0h{)5*x=Axc@=lx7_bK445Ojb(zbnxekL$)h-acn5qvAdqb@}d9a4JW_*oez+o znqIN9wL$gR4ADDxr$6W8IKuZ&;=kq;7Dwz3a%VzyX^OUjh=0A9-|kzx3$*)>Pdj!y zV!i#WuFs!OM}MvgwEO$3$9CD}Yxi7>7`HJcDtx^d6TQ@8+x_>G<8{M*qh}{nM`VA$ z7x!09T;SBLGTC`@n-6~f-K@d+`(FKv?>kx=JU580cr5ULZqDQcEqJgv>nCtunA&VB Ta6eiA7&i=_u6{1-oD!M4C;^?8qia*7 zzowtz?dzCi(R@?&11B1jCVy3?0dg0>_yY`dA%gxEm}^ zGHrUZ=Yi>Yabuna6~^|-kCW{7ANqS(m^FdJg*)Lx`c2JUe8wiK){~7Aw#J06J^gaN z)wT@A^QVtT-ZU`T!)P+}45hYcUU{(XDBFgUh8zC-MQ zLZs5?%^pf$rmvkbPbRc>@kPhgMu$AVs_|tlW;Hk=@Syz1)6)lA7r%Hl^Xspr8P12! zzP)?>|0WalXIsptW-$7iGCe%KCDPKZbI&HF-h=sBvr5YZbE>7TUW{bCeFz>dpP1|z YGLLo0^Ta620^^6l)78&qol`;+0LzWOZ~y=R literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Amour/Items/Misc/dildo.rsi/polydildo_big.png b/Resources/Textures/_Amour/Items/Misc/dildo.rsi/polydildo_big.png new file mode 100644 index 0000000000000000000000000000000000000000..b9b9568fab115b3897845da284eb98e50117221a GIT binary patch literal 499 zcmVXH=DrxcK&>KV>Dv@1N>cp zx$2^s4nwzZwN6%40XX>Ve1(>m7I0*w5aJAQ@E{1OUOx~+cmwe5)0;cBJ6)1WlmXnH z12-DSZvQ$M=m31YztQEzmD^)IJB?^b8c~LJA z`2be7VLT0QZm(%)ci*JtDGwl+n)&`FltJLBXjgA9@B)AZ=ih|Bz}fF{9AWDPA?^V* zAcEq1pu>d`@rPWjDR?| pUSRk?r2#-cjhea<{gy@!@Ci7#&$bD6=`jER002ovPDHLkV1j;V&VT>_ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Amour/Items/Misc/dildo.rsi/polydildo_medium-inhand-left.png b/Resources/Textures/_Amour/Items/Misc/dildo.rsi/polydildo_medium-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..fe6b87ce9e40a802f96944a0e7a9f8d8f3fdc77c GIT binary patch literal 432 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|R4{ zr;B4q#hkaZ_IfcpinRJaT)o0~Ll;XB3(ISphP=!~Vb7WF9-6lzBG%a*xY9I1Nnn!J z62nT#;^}KTPC6yL7oApYCy`d4Fym+1`@4_Mah{mSFhQA7!JWyWkEKC|lfhDmp-6?{ ziATe6g~+n$`^;WHsGPkfwK3ZTB>LwIcpiDg zE6#ZMVC`bN-}f~*-FUJ-X6;oyX7%&Irpw+JJxyI2j=p~U`Skhu3;6<1u2<1vvH8^W z_TM%|p{LmGX25h*LtE0+$Dc26-rFo3dVV#BcK>zV-tdi4y4{y{%O0;hegFHt`)TIv z^TQwN9VlBc=ft+99ha52{WzLa81Uh1==K-=YqfTB-|*GCd2nTs(Y!5D;(x8){}&Qs p`X6}x`=X7W7r5abzrg*2ZQ{wSHcLJuQD77>c)I$ztaD0e0svoKuyX(a literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Amour/Items/Misc/dildo.rsi/polydildo_medium-inhand-right.png b/Resources/Textures/_Amour/Items/Misc/dildo.rsi/polydildo_medium-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..5f5a1b298f2e40cf0ea477444be9fc5c5ad71773 GIT binary patch literal 430 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|R4% zr;B4q#hkaZ47->d1zhVNgkEtm3u0k*ym5p1MGKo6x18&Rgl17;{{$Tlwx$=XclMr% zV&*k^aiiDl%#Z)gjx#cky}TYeH6+xbkEKC|lfhDmp-6?{i3h`pi3}5z85P`_oW!=@ zy1Vu7wbiC;!t87JFy3Rz`FuE~;d~tX?6>z=7Idhb%#baza1<=CnsaIO&Ade`THKax zZ+M(|eSge5{||aAIG)*V*|WVVeaglcH@`E@cSJjB`N=x2$yXt*i=4`%lH(u}A%Rd2&KYlC{T<0sl z*!8{cfwSzX8z=9tiP`lt`uzMjvFVBNX;&Ej@)=@%?DQl nH?P>>3dW5vpF8mFZKzNBT4?>q;_^vg1Tc8I`njxgN@xNA?_08d literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Amour/Items/Misc/dildo.rsi/polydildo_medium.png b/Resources/Textures/_Amour/Items/Misc/dildo.rsi/polydildo_medium.png new file mode 100644 index 0000000000000000000000000000000000000000..8f586923c59ec0ce55a7792fc874137449949200 GIT binary patch literal 492 zcmV+iU{!?94lJJ3#-eK0qHp z3@|x8Yeu8Ut((omiYfpHAD^0_`MDWv87YJ~0~|aIBdXPQ#Sq>AeEQzWovv?MB$X%w zI6Vih*ALwKwbRi7_;`P#v(t08etCR$>0ew}qO{xA@c;saw%&kPSzUG>C?c^5xdoxY zp<$wKTMxhmw1N@SR91U20J;FF-`-kt--95iRI8ij>ETuf07Cs?Ky*WvWu}pwU|VMn zK=}+HIAEkIoB@C|h{O%jojzg4Q>7Os_oU0fZxCKQAI*5XVO`p5C*-3jiZHe-ZfxXTK*& zjHMTZ*aI*ig5tv$672c5qZa_&pEn-@BK_Qg_>DWH6aciEErY=+`BH*_*te}{_&=oq iK)*R%eGdGU`T(D0^UQ*tmNUEn0000ro}C%?dL2WQ3|`vrG%Zzp$6n2@@7%JbsywRc%$y1hA+9zEv0&eNe~B-EO4 zWLa5U?!R9@*NJqAt+}{RO6fq~q1PqTd>ld-9a^vOhQlZB*wpTA`|Bk-TqGfuFyOKs zArTO~rZ{JNke~GO)YqvkTaT~ac1(Zc?b>BmZ?lX2{B(Zz^PGyZy*%ZNM^iPmpBPMX zpZ-JS_m8(#)nNtySAMsSza3g8UZA6OvvuVniF`fJT(f9%PJT&EX`wli@5Q(U^Txw|JW)v zG&>n^Ifmi=kwrHv?&a<^jT67aq~oz$sra6b?lF7u&3o?F^(ZaOxO_b0;%?T635Om3 zC*3Lgw_}IQ#ER7DU4% zqaxjQH~^baei|{${LbDRK$~!PXVZQIKs8>T?!y2e&YuRvet-nEA<_!4`$l?ZVS?E( zFEzU~#6aMJMjk)59>M@1W&zR$Ob!mi%>flzgat+TJt8@stY? zjZIh^_U;^r)02d^vlE;F*nPiinC~=A2%R9jdw>QcDG#@zuDROL>oz2zj$z8L7NjxN zA*BIew|o*By^=}DT5d(7|4Rix{klE)9QZF)0N*mKv}}PoOtk<2002ovPDHLkV1i_= B!?XYZ literal 0 HcmV?d00001