diff --git a/Content.Server/Atmos/EntitySystems/FlammableSystem.cs b/Content.Server/Atmos/EntitySystems/FlammableSystem.cs index 82af75fddcc..4e720d7781c 100644 --- a/Content.Server/Atmos/EntitySystems/FlammableSystem.cs +++ b/Content.Server/Atmos/EntitySystems/FlammableSystem.cs @@ -3,6 +3,7 @@ using Content.Server.Stunnable; using Content.Server.Temperature.Systems; using Content.Server.Damage.Components; +using Content.Shared._MACRO.Atmos.Components; using Content.Shared.ActionBlocker; using Content.Shared.Alert; using Content.Shared.Atmos; @@ -294,6 +295,11 @@ public void SetFireStacks(EntityUid uid, float stacks, FlammableComponent? flamm if (!Resolve(uid, ref flammable)) return; + // MACRO start: firestack modifier + if (TryComp(uid, out var fireStackModifier)) + stacks *= fireStackModifier.Modifier; + // MACRO end + flammable.FireStacks = MathF.Min(MathF.Max(flammable.MinimumFireStacks, stacks), flammable.MaximumFireStacks); if (flammable.FireStacks <= 0) diff --git a/Content.Shared/Bed/Sleep/SleepingSystem.cs b/Content.Shared/Bed/Sleep/SleepingSystem.cs index 5522078a0ea..315262039cc 100644 --- a/Content.Shared/Bed/Sleep/SleepingSystem.cs +++ b/Content.Shared/Bed/Sleep/SleepingSystem.cs @@ -1,3 +1,4 @@ +using Content.Shared._MACRO.Bed.Sleep; using Content.Shared.Actions; using Content.Shared.Actions.Components; using Content.Shared.Buckle.Components; @@ -287,6 +288,19 @@ private void OnStatusMobStateChanged(Entity private void OnStatusEffectApplied(Entity ent, ref StatusEffectAppliedEvent args) { + // MACRO START: SleepTimeModifier to modify force sleep duration + // IF YOU ARE HERE TO ADD MORE TRYCOMPS: dont. make a new event instead. + if (TryComp(args.Target, out var sleepTimeModifier) && + _statusEffect.TryGetTime(args.Target, StatusEffectForcedSleeping, out var initTime)) + { + var time = initTime.EndEffectTime - initTime.StartEffectTime; + _statusEffect.TryUpdateStatusEffectDuration( + args.Target, + StatusEffectForcedSleeping, + time * sleepTimeModifier.Modifier); + } + // MACRO END + // Applying state check needed so we don't add SleepingComp during // entity reset due to the status effect getting inserted if (!_gameTiming.ApplyingState) diff --git a/Content.Shared/Interaction/InteractionPopupSystem.cs b/Content.Shared/Interaction/InteractionPopupSystem.cs index 20f42385d86..77e05eee4a3 100644 --- a/Content.Shared/Interaction/InteractionPopupSystem.cs +++ b/Content.Shared/Interaction/InteractionPopupSystem.cs @@ -1,3 +1,4 @@ +using Content.Shared._MACRO.Interaction; using Content.Shared.Bed.Sleep; using Content.Shared.IdentityManagement; using Content.Shared.Interaction.Components; @@ -5,6 +6,7 @@ using Content.Shared.Mobs.Components; using Content.Shared.Mobs.Systems; using Content.Shared.Popups; +using Content.Shared.Whitelist; using Robust.Shared.Audio; using Robust.Shared.Audio.Systems; using Robust.Shared.Network; @@ -16,6 +18,7 @@ namespace Content.Shared.Interaction; public sealed partial class InteractionPopupSystem : EntitySystem { + [Dependency] private EntityWhitelistSystem _entityWhitelist = null!; // starcup ovinia port from Macrocosm [Dependency] private IGameTiming _gameTiming = default!; [Dependency] private IRobustRandom _random = default!; [Dependency] private MobStateSystem _mobStateSystem = default!; @@ -91,7 +94,17 @@ private void SharedInteract( if (_netMan.IsClient && !predict) return; - if (_random.Prob(component.SuccessChance)) + // MACRO ADD: PettingModifier + // TODO: this is a very generic system. we probably need a whitelist of some kind + var successChance = component.SuccessChance; + + if (TryComp(user, out var pettingChance) // starcup - uid -> user, needs to look at the holder of the component + && _entityWhitelist.IsWhitelistPassOrNull(pettingChance.TargetWhitelist, target) + && _entityWhitelist.IsWhitelistFailOrNull(pettingChance.TargetBlacklist, target)) + successChance = Math.Clamp(successChance * pettingChance.Modifier, 0, 1); + // MACRO END + + if (_random.Prob(successChance)) // MACRO: component.SuccessChance -> successChance { if (component.InteractSuccessString != null) msg = Loc.GetString(component.InteractSuccessString, ("target", Identity.Entity(uid, EntityManager))); // Success message (localized). diff --git a/Content.Shared/Nutrition/EntitySystems/IngestionSystem.API.cs b/Content.Shared/Nutrition/EntitySystems/IngestionSystem.API.cs index 7740d9b1c57..bc57fecff19 100644 --- a/Content.Shared/Nutrition/EntitySystems/IngestionSystem.API.cs +++ b/Content.Shared/Nutrition/EntitySystems/IngestionSystem.API.cs @@ -318,7 +318,7 @@ public bool CanAccessSolution(EntityUid ingested, // TODO: Relay this event to solutions using solution relay var ev = new EdibleEvent(user); - RaiseLocalEvent(ingested, ref ev); + RaiseLocalEvent(ingested, ref ev, true); // MACRO - Set broadcast to true for EatTimeModifier subscription solution = ev.Solution; time = ev.Time; diff --git a/Content.Shared/_MACRO/Atmos/Components/FireStackModifierComponent.cs b/Content.Shared/_MACRO/Atmos/Components/FireStackModifierComponent.cs new file mode 100644 index 00000000000..82e15d04860 --- /dev/null +++ b/Content.Shared/_MACRO/Atmos/Components/FireStackModifierComponent.cs @@ -0,0 +1,14 @@ +namespace Content.Shared._MACRO.Atmos.Components; + +/// +/// This is used for modifying fire stacks. +/// +[RegisterComponent] +public sealed partial class FireStackModifierComponent : Component +{ + /// + /// The modifier to multiply the fire stacks by. + /// + [DataField] + public float Modifier { get; set; } = 1f; +} diff --git a/Content.Shared/_MACRO/Bed/Sleep/SleepTimeModifierComponent.cs b/Content.Shared/_MACRO/Bed/Sleep/SleepTimeModifierComponent.cs new file mode 100644 index 00000000000..d40b676f21b --- /dev/null +++ b/Content.Shared/_MACRO/Bed/Sleep/SleepTimeModifierComponent.cs @@ -0,0 +1,20 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared._MACRO.Bed.Sleep; + +/// +/// Component that modifies an entity's sleep wakeup cooldown +/// by a multiplier. +/// +[RegisterComponent, NetworkedComponent] +[AutoGenerateComponentState] +public sealed partial class SleepTimeModifierComponent : Component +{ + /// + /// When this entity is put to sleep, the cooldown before + /// an attached player can wake the entity up will be + /// multiplied by this value. + /// + [DataField, AutoNetworkedField] + public float Modifier = 1; +} diff --git a/Content.Shared/_MACRO/Interaction/PettingChanceModifierComponent.cs b/Content.Shared/_MACRO/Interaction/PettingChanceModifierComponent.cs new file mode 100644 index 00000000000..76bc2d560fa --- /dev/null +++ b/Content.Shared/_MACRO/Interaction/PettingChanceModifierComponent.cs @@ -0,0 +1,29 @@ +using Content.Shared.Interaction.Components; +using Content.Shared.Whitelist; + +namespace Content.Shared._MACRO.Interaction; + +/// +/// Allows any entity with this component to have a different success rate when petting mobs with . +/// +[RegisterComponent] +public sealed partial class PettingChanceModifierComponent : Component +{ + /// + /// Modifier of the chance to successfully pet a mob. + /// + [DataField] + public float Modifier = 1; + + /// + /// If not null, the target must succeed the whitelist. + /// + [DataField] + public EntityWhitelist? TargetWhitelist { get; set; } + + /// + /// If not null, the target must not pass the blacklist. + /// + [DataField] + public EntityWhitelist? TargetBlacklist { get; set; } +} diff --git a/Content.Shared/_MACRO/Nutrition/Components/EatTimeModifierComponent.cs b/Content.Shared/_MACRO/Nutrition/Components/EatTimeModifierComponent.cs new file mode 100644 index 00000000000..85d503c4a99 --- /dev/null +++ b/Content.Shared/_MACRO/Nutrition/Components/EatTimeModifierComponent.cs @@ -0,0 +1,17 @@ +using Content.Shared.Whitelist; +using Robust.Shared.GameStates; + +namespace Content.Shared._MACRO.Nutrition.Components; + +/// +/// This component is used to modify the time to eat food by a specific modifier. +/// +[RegisterComponent, NetworkedComponent] +public sealed partial class EatTimeModifierComponent : Component +{ + /// + /// The amount you would like to multiply the delay on the eating doAfter + /// + [DataField] + public float Modifier = 1f; +} diff --git a/Content.Shared/_MACRO/Nutrition/EntitySystems/EatTimeModifierSystem.cs b/Content.Shared/_MACRO/Nutrition/EntitySystems/EatTimeModifierSystem.cs new file mode 100644 index 00000000000..0a276511063 --- /dev/null +++ b/Content.Shared/_MACRO/Nutrition/EntitySystems/EatTimeModifierSystem.cs @@ -0,0 +1,32 @@ +using Content.Shared._MACRO.Nutrition.Components; +using Content.Shared.Item; +using Content.Shared.Nutrition; +using Content.Shared.Nutrition.EntitySystems; +using Content.Shared.Whitelist; + +namespace Content.Shared._MACRO.Nutrition.EntitySystems; + +/// +/// Handles the time modification of the eaten food +/// +public sealed class EatTimeModifierSystem : EntitySystem +{ + /// + public override void Initialize() + { + SubscribeLocalEvent(OnEdible, after: [typeof(IngestionSystem)]); + } + + private void OnEdible(ref EdibleEvent args) + { + var user = args.User; + + if (args.Cancelled) + return; + + if (!TryComp(user, out var eatTimeModifier)) + return; + + args.Time *= eatTimeModifier.Modifier; + } +} diff --git a/Resources/Audio/_MACRO/Voice/Ovinia/attributions.yml b/Resources/Audio/_MACRO/Voice/Ovinia/attributions.yml new file mode 100644 index 00000000000..1f122aa82c9 --- /dev/null +++ b/Resources/Audio/_MACRO/Voice/Ovinia/attributions.yml @@ -0,0 +1,36 @@ +#Attributions for Ovinia Baa's and Moo's + +- files: ["ovinia_baa1.ogg"] + copyright: "created by saha213131, Modified by 'sheepmera', The original audio was shortened and converted from stereo to mono" + license: "CC0-1.0" + source: "https://freesound.org/people/saha213131/sounds/683259/" + +- files: ["ovinia_baa2.ogg"] + copyright: "created by saha213131, Modified by 'sheepmera', The original audio was converted from stereo to mono" + license: "CC0-1.0" + source: "https://freesound.org/people/saha213131/sounds/691476/" + +- files: ["ovinia_baa3.ogg"] + copyright: "created by michaelperfect, Modified by 'sheepmera', The original audio was shortened and converted from stereo to mono " + license: "CC0-1.0" + source: "https://freesound.org/people/michaelperfect/sounds/710299/" + +- files: ["ovinia_scream.ogg"] + copyright: "created by saha213131, Modified by 'sheepmera', The original audio was pitch shifted and converted from stereo to mono " + license: "CC0-1.0" + source: "https://freesound.org/people/michaelperfect/sounds/710300/" + +- files: ["ovinia_moo1.ogg"] + copyright: "created by Zozzy, Modified by 'Darklyac', The original audio was converted from WAV to OGG format" + license: "CC0-1.0" + source: "https://freesound.org/people/Zozzy/sounds/59245/" + +- files: ["ovinia_moo2.ogg, ovinia_moo3.ogg"] + copyright: "created by JarredGibb, Modified by 'Darklyac', the original audio was converted from WAV to OGG format" + license: "CC0-1.0" + source: "https://freesound.org/people/JarredGibb/sounds/233145/" + +- files: ["ovinia_moo4.ogg"] + copyright: "created by JarredGibb, Modified by 'Darklyac', the original audio was converted from WAV to OGG format. Volume lowered for starcup" + license: "CC0-1.0" + source: "https://freesound.org/people/JarredGibb/sounds/233130/" diff --git a/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_ask.ogg b/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_ask.ogg new file mode 100644 index 00000000000..ef1e9dc948d Binary files /dev/null and b/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_ask.ogg differ diff --git a/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_baa1.ogg b/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_baa1.ogg new file mode 100644 index 00000000000..9488e096079 Binary files /dev/null and b/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_baa1.ogg differ diff --git a/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_baa2.ogg b/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_baa2.ogg new file mode 100644 index 00000000000..9df3eb51086 Binary files /dev/null and b/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_baa2.ogg differ diff --git a/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_baa3.ogg b/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_baa3.ogg new file mode 100644 index 00000000000..afedaf77970 Binary files /dev/null and b/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_baa3.ogg differ diff --git a/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_exclaim.ogg b/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_exclaim.ogg new file mode 100644 index 00000000000..f52032baa3f Binary files /dev/null and b/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_exclaim.ogg differ diff --git a/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_moo1.ogg b/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_moo1.ogg new file mode 100644 index 00000000000..6f8deacef2d Binary files /dev/null and b/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_moo1.ogg differ diff --git a/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_moo2.ogg b/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_moo2.ogg new file mode 100644 index 00000000000..86135fe43af Binary files /dev/null and b/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_moo2.ogg differ diff --git a/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_moo3.ogg b/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_moo3.ogg new file mode 100644 index 00000000000..1e7ca7f43a4 Binary files /dev/null and b/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_moo3.ogg differ diff --git a/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_moo4.ogg b/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_moo4.ogg new file mode 100644 index 00000000000..b993841db9c Binary files /dev/null and b/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_moo4.ogg differ diff --git a/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_say.ogg b/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_say.ogg new file mode 100644 index 00000000000..a680bb65e4f Binary files /dev/null and b/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_say.ogg differ diff --git a/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_scream.ogg b/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_scream.ogg new file mode 100644 index 00000000000..65be06ea383 Binary files /dev/null and b/Resources/Audio/_MACRO/Voice/Ovinia/ovinia_scream.ogg differ diff --git a/Resources/Audio/_starcup/Effects/Footsteps/attributions.yml b/Resources/Audio/_starcup/Effects/Footsteps/attributions.yml index 981a077429f..fd962cb3310 100644 --- a/Resources/Audio/_starcup/Effects/Footsteps/attributions.yml +++ b/Resources/Audio/_starcup/Effects/Footsteps/attributions.yml @@ -19,3 +19,14 @@ copyright: "Modified by Psymbiote from files by Bricklover and JustInvoke on freesound.org." license: "CC0-1.0" source: "https://freesound.org/s/532881/" + +- files: + - hoofstep1.ogg + - hoofstep2.ogg + - hoofstep3.ogg + - hoofstep4.ogg + - hoofstep5.ogg + - hoofstep6.ogg + copyright: "Cropped from HORSES - Walking on stone 03.wav by G4F SFX on the GDC 2017 Game Audio Bundle." + license: "CC0-1.0" + source: "https://sonniss.com/gameaudiogdc/" diff --git a/Resources/Audio/_starcup/Effects/Footsteps/hoofstep1.ogg b/Resources/Audio/_starcup/Effects/Footsteps/hoofstep1.ogg new file mode 100644 index 00000000000..7ebbd83e8b1 Binary files /dev/null and b/Resources/Audio/_starcup/Effects/Footsteps/hoofstep1.ogg differ diff --git a/Resources/Audio/_starcup/Effects/Footsteps/hoofstep2.ogg b/Resources/Audio/_starcup/Effects/Footsteps/hoofstep2.ogg new file mode 100644 index 00000000000..76e478580fe Binary files /dev/null and b/Resources/Audio/_starcup/Effects/Footsteps/hoofstep2.ogg differ diff --git a/Resources/Audio/_starcup/Effects/Footsteps/hoofstep3.ogg b/Resources/Audio/_starcup/Effects/Footsteps/hoofstep3.ogg new file mode 100644 index 00000000000..e440d073e42 Binary files /dev/null and b/Resources/Audio/_starcup/Effects/Footsteps/hoofstep3.ogg differ diff --git a/Resources/Audio/_starcup/Effects/Footsteps/hoofstep4.ogg b/Resources/Audio/_starcup/Effects/Footsteps/hoofstep4.ogg new file mode 100644 index 00000000000..e342518e27e Binary files /dev/null and b/Resources/Audio/_starcup/Effects/Footsteps/hoofstep4.ogg differ diff --git a/Resources/Audio/_starcup/Effects/Footsteps/hoofstep5.ogg b/Resources/Audio/_starcup/Effects/Footsteps/hoofstep5.ogg new file mode 100644 index 00000000000..990db8b34bd Binary files /dev/null and b/Resources/Audio/_starcup/Effects/Footsteps/hoofstep5.ogg differ diff --git a/Resources/Audio/_starcup/Effects/Footsteps/hoofstep6.ogg b/Resources/Audio/_starcup/Effects/Footsteps/hoofstep6.ogg new file mode 100644 index 00000000000..c9ec08d25f5 Binary files /dev/null and b/Resources/Audio/_starcup/Effects/Footsteps/hoofstep6.ogg differ diff --git a/Resources/Locale/en-US/_MACRO/chat/chat-managers.ftl b/Resources/Locale/en-US/_MACRO/chat/chat-managers.ftl new file mode 100644 index 00000000000..1a5462e1f4b --- /dev/null +++ b/Resources/Locale/en-US/_MACRO/chat/chat-managers.ftl @@ -0,0 +1,5 @@ +chat-speech-verb-name-ovinia = Ovinia +chat-speech-verb-ovinia-1 = baas +chat-speech-verb-ovinia-2 = bleats +chat-speech-verb-ovinia-3 = maas +chat-speech-verb-ovinia-4 = mehs diff --git a/Resources/Locale/en-US/_MACRO/datasets/names/ovinia.ftl b/Resources/Locale/en-US/_MACRO/datasets/names/ovinia.ftl new file mode 100644 index 00000000000..7d412b83584 --- /dev/null +++ b/Resources/Locale/en-US/_MACRO/datasets/names/ovinia.ftl @@ -0,0 +1,85 @@ +names-ovinia-first-1 = Myrail +names-ovinia-first-2 = Vaeluun +names-ovinia-first-3 = Thallinn +names-ovinia-first-4 = Meavallei +names-ovinia-first-5 = Vaalev +names-ovinia-first-6 = Ruth +names-ovinia-first-7 = Baareivelaa +names-ovinia-first-8 = Maalun +names-ovinia-first-9 = Lethaavul +names-ovinia-first-10 = Keephai +names-ovinia-first-11 = Ehhmchole +names-ovinia-first-12 = Ailuuth +names-ovinia-first-13 = Ruuna +names-ovinia-first-14 = Lua +names-ovinia-first-15 = Luura +names-ovinia-first-16 = Lumia +names-ovinia-first-17 = Maeria +names-ovinia-first-18 = Luumara +names-ovinia-first-19 = Baalu +names-ovinia-first-20 = Maamea +names-ovinia-first-21 = Ruulune +names-ovinia-first-22 = Thaeluu +names-ovinia-first-23 = Rhumelaah +names-ovinia-first-24 = Thairulune +names-ovinia-first-25 = Lylymea +names-ovinia-first-26 = Myvaine +names-ovinia-first-27 = Lymehlune +names-ovinia-first-28 = Jayluvai +names-ovinia-first-29 = Tyean +names-ovinia-first-30 = Meva +names-ovinia-first-31 = Vyre +names-ovinia-first-32 = Mera +# begin starcup +names-ovinia-first-33 = Maali +names-ovinia-first-34 = Sadhi +names-ovinia-first-35 = Leah +names-ovinia-first-36 = Laaira +names-ovinia-first-37 = Maedh +names-ovinia-first-38 = Veena +names-ovinia-first-39 = Pena +names-ovinia-first-40 = Bionn +names-ovinia-first-41 = Muuno +names-ovinia-first-42 = Tohono +names-ovinia-first-43 = Leanna +names-ovinia-first-44 = Noella +names-ovinia-first-45 = Amaia +names-ovinia-first-46 = Yanne +names-ovinia-first-47 = Lylanni +names-ovinia-first-48 = Cuinne +names-ovinia-first-49 = Lavon +names-ovinia-first-50 = Olenna +names-ovinia-first-51 = Aenor +names-ovinia-first-52 = Annael +# end starcup + +names-ovinia-last-1 = Juvayelean +names-ovinia-last-2 = Lunae +names-ovinia-last-3 = Vuulae +names-ovinia-last-4 = Rohmaae +names-ovinia-last-5 = Phaelarune +names-ovinia-last-6 = Invae +names-ovinia-last-7 = Meathall +names-ovinia-last-8 = Mehhvaa +names-ovinia-last-9 = Laalaene +names-ovinia-last-10 = Baahlathruu +names-ovinia-last-11 = Thyrunia +names-ovinia-last-12 = Vylune +names-ovinia-last-13 = Rhymehelai +names-ovinia-last-14 = Veythavai +names-ovinia-last-15 = Yvalueth +names-ovinia-last-16 = Lyvahlia +names-ovinia-last-17 = Anngoloo +names-ovinia-last-18 = Alathune +names-ovinia-last-19 = Curulean +names-ovinia-last-20 = Celerunia +names-ovinia-last-21 = Diolathruu +names-ovinia-last-22 = Edenaae +names-ovinia-last-23 = Ellathavai +names-ovinia-last-24 = Eluvhaa +names-ovinia-last-25 = Emelune +names-ovinia-last-26 = Felavhai +names-ovinia-last-27 = Finlathruu +names-ovinia-last-28 = Faelueth +names-ovinia-last-29 = Finwae +names-ovinia-last-30 = Gladaene diff --git a/Resources/Locale/en-US/_MACRO/markings/ovinia.ftl b/Resources/Locale/en-US/_MACRO/markings/ovinia.ftl new file mode 100644 index 00000000000..394d1798483 --- /dev/null +++ b/Resources/Locale/en-US/_MACRO/markings/ovinia.ftl @@ -0,0 +1,110 @@ +marking-OviniaEars = Ovinia Ears (Default) +marking-OviniaEars-ovinia-ears = Outer Ears +marking-OviniaEars-ovinia-ears-inner = Inner Ears + +marking-OviniaTail = Ovinia Tail (Default) +marking-OviniaTail-ovinia-tail = Tail +marking-OviniaTailAnimated = Ovinia Tail (animated) +marking-OviniaTailAnimated-ovinia-tail_wag = Tail + +marking-OviniaEarsCow = Ovinia Ears (Side) +marking-OviniaEarsCow-cow-ears = Outer Ears +marking-OviniaEarsCow-cow-ears-inner = Inner Ears + +marking-OviniaEarsDeer = Ovinia Ears (Outward) +marking-OviniaEarsDeer-deer-ears = Outer Ears +marking-OviniaEarsDeer-deer-ears-inner = Inner Ears + +marking-OviniaEarsHorse = Ovinia Ears (Upward) +marking-OviniaEarsHorse-horse-ears = Outer Ears +marking-OviniaEarsHorse-horse-ears-inner = Inner Ears + +marking-OviniaNeckfluff = Ovinia Neck Fluff +marking-OviniaNeckfluff-ovinia-neck-fluff = Neck Fluff + +marking-OviniaLambHorns = Lamb Horns +marking-OviniaLambHorns-lamb-horns = Horns + +marking-OviniaRamHorns = Ram Horns +marking-OviniaRamHorns-ovinia-ram-horns = Horns + +marking-OviniaPointyHorns = Pointy Horns +marking-OviniaPointyHorns-ovinia-pointy-horns = Horns + +marking-OviniaDeerHorns = Deer Horns +marking-OviniaDeerHorns-ovinia-deer-horns = Horns + +marking-OviniaDevilHorns = Devil Horns +marking-OviniaDevilHorns-ovinia-devil-horns = Horns + +marking-OviniaBaphometHorns = Baphomet Horns +marking-OviniaBaphometHorns-ovinia-baphomet-horns = Horns + +marking-OviniaIbexHorns = Ibex Horns +marking-OviniaIbexHorns-ovinia-ibex-horns = Horns + +marking-OviniaCurvedHorns = Curved Horns +marking-OviniaCurvedHorns-ovinia-curved-horns = Horns + +marking-OviniaJacobHorns = Jacob Horns +marking-OviniaJacobHorns-jacob-horns = Horns + + +marking-OviniaFace = Ovinia Face +marking-OviniaFace-ovinia-face = Face +marking-OviniaFace-ovinia-nose = Nose + +marking-OviniaBlaze = Ovinia Blaze +marking-OviniaBlaze-ovinia-blaze = Face +marking-OviniaBlaze-ovinia-nose = Nose + +marking-OviniaSnoutDefault = Default Snout +marking-OviniaSnoutDefault-snout = Snout + +marking-OviniaSnout = Ovinia Snout +marking-OviniaSnout-ovinia-snout = Snout +marking-OviniaSnout-ovinia-nose = Nose + +marking-OviniaTummy = Ovinia Tummy +marking-OviniaTummy-ovinia-tummy = Tummy + +marking-OviniaPatternFawn = Fawn Spots +marking-OviniaPatternFawn-torso-fawn = Spot + +marking-OviniaChestFullMasc = Ovinia Torso [M] +marking-OviniaChestFullMasc-full-m = Torso + +marking-OviniaChestFullFem = Ovinia Torso [F] +marking-OviniaChestFullFem-full-f = Torso + +marking-OviniaPatternCattleMasc = Splotches [M] +marking-OviniaPatternCattleMasc-torso-cow-m = Splotch + +marking-OviniaPatternCattleFem = Splotches [F] +marking-OviniaPatternCattleFem-torso-cow-f = Splotch + +marking-OviniaLeftLegValais = Valais Left Leg +marking-OviniaLeftLegValais-ovinia-leg-valais-left = Valais Left Leg + +marking-OviniaRightLegValais = Valais Right Leg +marking-OviniaRightLegValais-ovinia-leg-valais-right = Valais Right Leg + +marking-OviniaLeftHoof = Left Hoof +marking-OviniaLeftHoof-ovinia-hoof-left = Left Hoof + +marking-OviniaRightHoof = Right Hoof +marking-OviniaRightHoof-ovinia-hoof-right = Right Hoof + +marking-OviniaLeftArmValais = Valais Left Arm +marking-OviniaLeftArmValais-ovinia-arm-valais-left = Valais Left Arm + +marking-OviniaRightArmValais = Valais Right Arm +marking-OviniaRightArmValais-ovinia-arm-valais-right = Valais Right Arm + +marking-OviniaLeftHandHoof = Hooved Left Hand +marking-OviniaLeftHandHoof-hand-hoof-left = Hoof + +marking-OviniaRightHandHoof = Hooved Right Hand +marking-OviniaRightHandHoof-hand-hoof-right = Hoof + + diff --git a/Resources/Locale/en-US/_MACRO/species/species.ftl b/Resources/Locale/en-US/_MACRO/species/species.ftl new file mode 100644 index 00000000000..0c13957fad5 --- /dev/null +++ b/Resources/Locale/en-US/_MACRO/species/species.ftl @@ -0,0 +1 @@ +species-name-ovinia = Ovinia diff --git a/Resources/Locale/en-US/_starcup/chat/emotes.ftl b/Resources/Locale/en-US/_starcup/chat/emotes.ftl index dd8e4f2e5c3..51d382b3dde 100644 --- a/Resources/Locale/en-US/_starcup/chat/emotes.ftl +++ b/Resources/Locale/en-US/_starcup/chat/emotes.ftl @@ -27,6 +27,7 @@ chat-emote-name-oink = Oink chat-emote-name-whirr = Whirr chat-emote-name-boop = Boop chat-emote-name-dialup = Dial-up +chat-emote-name-snort = Snort # Message chat-emote-msg-roar = roars! @@ -55,3 +56,4 @@ chat-emote-msg-croak = croaks. chat-emote-msg-oink = oinks. chat-emote-msg-deathgasp-silicon = suddenly goes silent, with a hiss of grinding servos and a screech of dying myomers. chat-emote-msg-dialup = tries to establish connection. +chat-emote-msg-snort = snorts. diff --git a/Resources/Prototypes/Actions/types.yml b/Resources/Prototypes/Actions/types.yml index af5ff2001be..c080a0f5059 100644 --- a/Resources/Prototypes/Actions/types.yml +++ b/Resources/Prototypes/Actions/types.yml @@ -465,9 +465,14 @@ useDelay: 1 # emote spam checkCanInteract: false - type: Sprite - sprite: Mobs/Customization/reptilian_parts.rsi + # begin starcup + #sprite: Mobs/Customization/reptilian_parts.rsi + #layers: + #- state: tail_smooth_behind + sprite: _starcup/Interface/Actions/actions_general.rsi layers: - - state: tail_smooth_behind + - state: tailwag + # end starcup - type: entity parent: BaseAction @@ -530,9 +535,14 @@ itemIconStyle: NoItem useDelay: 1 # Prevents Emote Spam - type: Sprite - sprite: Mobs/Customization/Vulpkanin/tail_markings.rsi + # begin starcup + #sprite: Mobs/Customization/Vulpkanin/tail_markings.rsi + #layers: + #- state: tail-wag-icon + sprite: _starcup/Interface/Actions/actions_general.rsi layers: - - state: tail-wag-icon + - state: tailwag + # end starcup - type: entity parent: BaseAction diff --git a/Resources/Prototypes/Guidebook/species.yml b/Resources/Prototypes/Guidebook/species.yml index d5db6b8627f..f4def0e08c3 100644 --- a/Resources/Prototypes/Guidebook/species.yml +++ b/Resources/Prototypes/Guidebook/species.yml @@ -16,6 +16,7 @@ - Oni # delta-v - Rodentia # delta-v - MKC # starcup + - Ovinia # macrocosm - Skittermouse # starcup - Kobold # starcup diff --git a/Resources/Prototypes/_MACRO/Actions/types.yml b/Resources/Prototypes/_MACRO/Actions/types.yml new file mode 100644 index 00000000000..c8ff36149b7 --- /dev/null +++ b/Resources/Prototypes/_MACRO/Actions/types.yml @@ -0,0 +1,8 @@ +- type: entity + parent: ActionToggleWagging + id: ActionToggleWaggingOvinia + components: + - type: Sprite + sprite: _starcup/Interface/Actions/actions_general.rsi + layers: + - state: tailwag diff --git a/Resources/Prototypes/_MACRO/Body/Species/ovinia.yml b/Resources/Prototypes/_MACRO/Body/Species/ovinia.yml new file mode 100644 index 00000000000..4d755eae748 --- /dev/null +++ b/Resources/Prototypes/_MACRO/Body/Species/ovinia.yml @@ -0,0 +1,336 @@ +- type: markingsGroup + id: Ovinia + onlyGroupWhitelisted: true + limits: + enum.HumanoidVisualLayers.Hair: + limit: 2 # starcup + onlyGroupWhitelisted: false # starcup + required: false + enum.HumanoidVisualLayers.FacialHair: + limit: 1 + required: false + enum.HumanoidVisualLayers.Head: + limit: 4 # starcup + required: false + enum.HumanoidVisualLayers.HeadTop: + limit: 2 # starcup + required: false + enum.HumanoidVisualLayers.HeadSide: + limit: 2 # starcup + default: [ OviniaEars ] + required: true + enum.HumanoidVisualLayers.UndergarmentTop: + limit: 1 + required: false + enum.HumanoidVisualLayers.UndergarmentBottom: + limit: 1 + required: false + enum.HumanoidVisualLayers.Chest: + limit: 4 # starcup + required: false + enum.HumanoidVisualLayers.Snout: + limit: 1 + required: true + default: [ OviniaSnout ] + enum.HumanoidVisualLayers.Tail: + limit: 1 + required: true + default: [ OviniaTail ] + enum.HumanoidVisualLayers.LArm: + limit: 2 # starcup + required: false + enum.HumanoidVisualLayers.RArm: + limit: 2 # starcup + required: false + enum.HumanoidVisualLayers.LHand: + limit: 2 # starcup + required: false + enum.HumanoidVisualLayers.RHand: + limit: 2 # starcup + required: false + enum.HumanoidVisualLayers.LLeg: + limit: 2 # starcup + required: false + enum.HumanoidVisualLayers.RLeg: + limit: 2 # starcup + required: false + enum.HumanoidVisualLayers.LFoot: + limit: 2 # starcup + required: false + enum.HumanoidVisualLayers.RFoot: + limit: 2 # starcup + required: false + +- type: entity + parent: BaseSpeciesAppearance + id: AppearanceOvinia + name: ovinia appearance + components: + - type: Inventory + displacements: + jumpsuit: + sizeMaps: + 32: + sprite: _MACRO/Mobs/Species/Ovinia/displacement.rsi + state: jumpsuit + shoes: + sizeMaps: + 32: + sprite: _MACRO/Mobs/Species/Ovinia/displacement.rsi + state: shoes + outerClothing: + sizeMaps: + 32: + sprite: _MACRO/Mobs/Species/Ovinia/displacement.rsi + state: outerclothing-hardsuit + femaleDisplacements: + jumpsuit: + sizeMaps: + 32: + sprite: _MACRO/Mobs/Species/Ovinia/displacement.rsi + state: jumpsuit-female + shoes: + sizeMaps: + 32: + sprite: _MACRO/Mobs/Species/Ovinia/displacement.rsi + state: shoes + outerClothing: + sizeMaps: + 32: + sprite: _MACRO/Mobs/Species/Ovinia/displacement.rsi + state: outerclothing-hardsuit + - type: InitialBody + organs: + Torso: OrganOviniaTorso + Head: OrganOviniaHead + ArmLeft: OrganOviniaArmLeft + ArmRight: OrganOviniaArmRight + HandRight: OrganOviniaHandRight + HandLeft: OrganOviniaHandLeft + LegLeft: OrganOviniaLegLeft + LegRight: OrganOviniaLegRight + FootLeft: OrganOviniaFootLeft + FootRight: OrganOviniaFootRight + Brain: OrganOviniaBrain + Eyes: OrganOviniaEyes + Tongue: OrganOviniaTongue + Appendix: OrganOviniaAppendix + Ears: OrganOviniaEars + Lungs: OrganOviniaLungs + Heart: OrganOviniaHeart + Stomach: OrganOviniaStomach + Liver: OrganOviniaLiver + Kidneys: OrganOviniaKidneys + - type: HumanoidProfile + species: Ovinia + +- type: entity + parent: + - AppearanceOvinia + - BaseSpeciesMobOrganic + id: MobOvinia + name: Urist McSheepie + components: + - type: TypingIndicator + proto: ovinia + # begin starcup + - type: Vocal + emoteSounds: FemaleOvinia + # end starcup + - type: Speech + speechSounds: OviniaSpeechSounds # starcup: renamed for consistency, easier id to search for + speechVerb: Ovinia + allowedEmotes: [ 'Baa', 'Bark', 'Snort', 'Moo' ] + - type: Damageable + damageModifierSet: Ovinia + # begin starcup + #- type: Flammable: replaced with temperature tolerance + #- type: FireStackModifier + #modifier: 0.75 # less fire stacks! + # end starcup + - type: EatTimeModifier + modifier: 1.4 # starcup: even slower eaters + # begin starcup + #- type: Hunger + #baseDecayRate: 0.0083 # slower than normal (chewin they cud) + #- type: Thirst + #baseDecayRate: 0.0083 # slower than normal + # end starcup + - type: SleepTimeModifier + modifier: 2 + - type: PettingChanceModifier + modifier: 1.2 + - type: ProtectedFromStepTriggers + - type: Tag + tags: + #- OviniaEmotes # starcup: we don't have this tag, emotes are manually assigned to the prototype + - DoorBumpOpener + - CanPilot + - FootstepSound + - AnomalyHost + # begin starcup + - type: TemperatureProtection # Temperature tolerance equivalent of a winter coat + coefficient: 0.6 + - type: Rest # Sleepy sheepies + - type: SlowOnDamage # Prey animal adrenaline; speed up at 30-54 damage but slowdown a bit faster + speedModifierThresholds: + 30: 1.2 + 55: 0.7 + 75: 0.5 + - type: Wagging + action: ActionToggleWaggingOvinia + # end starcup + +- type: entity + parent: OrganBase + id: OrganOvinia + abstract: true + suffix: ovinia + +- type: entity + id: OrganOviniaMetabolizer + abstract: true + components: + - type: Metabolizer + metabolizerTypes: [ Animal ] + +- type: entity + id: OrganOviniaVisual + abstract: true + components: + - type: VisualOrgan + data: + sprite: _MACRO/Mobs/Species/Ovinia/parts.rsi + - type: VisualOrganMarkings + markingData: + group: Ovinia + +- type: entity + parent: OrganOvinia + id: OrganOviniaExternal + abstract: true + components: + - type: Sprite + sprite: _MACRO/Mobs/Species/Ovinia/parts.rsi + - type: VisualOrgan + data: + sprite: _MACRO/Mobs/Species/Ovinia/parts.rsi + - type: VisualOrganMarkings + markingData: + group: Ovinia + +- type: entity + parent: OrganOvinia + id: OrganOviniaInternal + abstract: true + components: + - type: Sprite + sprite: Mobs/Species/Human/organs.rsi + +- type: entity + parent: [ OrganBaseTorsoSexed, OrganBaseTorso, OrganOviniaExternal] + id: OrganOviniaTorso + +- type: entity + parent: [ OrganBaseHeadSexed, OrganBaseHead, OrganOviniaExternal ] + id: OrganOviniaHead + components: + - type: VisualOrganMarkings + hideableLayers: + - enum.HumanoidVisualLayers.Snout + - enum.HumanoidVisualLayers.HeadTop + - enum.HumanoidVisualLayers.HeadSide + - enum.HumanoidVisualLayers.Hair + - enum.HumanoidVisualLayers.FacialHair + dependentHidingLayers: + enum.HumanoidVisualLayers.Snout: + - enum.HumanoidVisualLayers.SnoutCover + +- type: entity + parent: [ OrganBaseArmLeft, OrganOviniaExternal ] + id: OrganOviniaArmLeft + +- type: entity + parent: [ OrganBaseArmRight, OrganOviniaExternal ] + id: OrganOviniaArmRight + +- type: entity + parent: [ OrganBaseHandLeft, OrganOviniaExternal ] + id: OrganOviniaHandLeft + +- type: entity + parent: [ OrganBaseHandRight, OrganOviniaExternal ] + id: OrganOviniaHandRight + +- type: entity + parent: [ OrganBaseLegLeft, OrganOviniaExternal ] + id: OrganOviniaLegLeft + +- type: entity + parent: [ OrganBaseLegRight, OrganOviniaExternal ] + id: OrganOviniaLegRight + +- type: entity + parent: [ OrganBaseFootLeft, OrganOviniaExternal ] + id: OrganOviniaFootLeft + +- type: entity + parent: [ OrganBaseFootRight, OrganOviniaExternal ] + id: OrganOviniaFootRight + +- type: entity + parent: [ OrganBaseBrain, OrganSpriteHumanInternal, OrganOviniaInternal ] + id: OrganOviniaBrain + +- type: entity + parent: [ OrganOviniaVisual, OrganBaseEyes, OrganOviniaInternal ] + id: OrganOviniaEyes + components: + - type: VisualOrgan + layer: enum.HumanoidVisualLayers.Eyes + data: + sprite: _MACRO/Mobs/Species/Ovinia/parts.rsi + state: eyes + +- type: entity + parent: [ OrganBaseTongue, OrganOviniaInternal ] + id: OrganOviniaTongue + +- type: entity + parent: [ OrganBaseAppendix, OrganOviniaInternal ] + id: OrganOviniaAppendix + +- type: entity + parent: [ OrganBaseEars, OrganOviniaInternal ] + id: OrganOviniaEars + +- type: entity + parent: [ OrganBaseLungs, OrganOviniaInternal, OrganOviniaMetabolizer ] + id: OrganOviniaLungs + +- type: entity + parent: [ OrganBaseHeart, OrganOviniaInternal, OrganOviniaMetabolizer ] + id: OrganOviniaHeart + +- type: entity + parent: [ OrganBaseStomach, OrganOviniaInternal, OrganOviniaMetabolizer ] + id: OrganOviniaStomach + components: + - type: Stomach # Browser stomach + specialDigestible: + tags: + - Ruminant + - BananaPeel + - Bread + - Flower + - Fruit + - Vegetable + - Wheat + +- type: entity + parent: [ OrganBaseLiver, OrganOviniaInternal, OrganOviniaMetabolizer ] + id: OrganOviniaLiver + +- type: entity + parent: [ OrganBaseKidneys, OrganOviniaInternal, OrganOviniaMetabolizer ] + id: OrganOviniaKidneys diff --git a/Resources/Prototypes/_MACRO/Damage/ovinia.yml b/Resources/Prototypes/_MACRO/Damage/ovinia.yml new file mode 100644 index 00000000000..0ff1888cd56 --- /dev/null +++ b/Resources/Prototypes/_MACRO/Damage/ovinia.yml @@ -0,0 +1,10 @@ +- type: damageModifierSet + id: Ovinia + coefficients: + Piercing: 1.15 + Slash: 1.15 + # begin starcup: replaced with temperature tolerance + #Heat: 0.8 + #Cold: 0.8 + #Shock: 0.8 + # end starcup diff --git a/Resources/Prototypes/_MACRO/Datasets/Names/ovinia.yml b/Resources/Prototypes/_MACRO/Datasets/Names/ovinia.yml new file mode 100644 index 00000000000..87b19563190 --- /dev/null +++ b/Resources/Prototypes/_MACRO/Datasets/Names/ovinia.yml @@ -0,0 +1,11 @@ +- type: localizedDataset + id: NamesOviniaFirst + values: + prefix: names-ovinia-first- + count: 52 # starcup + +- type: localizedDataset + id: NamesOviniaLast + values: + prefix: names-ovinia-last- + count: 30 # starcup diff --git a/Resources/Prototypes/_MACRO/Entities/Mobs/Customization/Markings/ovinia.yml b/Resources/Prototypes/_MACRO/Entities/Mobs/Customization/Markings/ovinia.yml new file mode 100644 index 00000000000..0aba9e9cd7f --- /dev/null +++ b/Resources/Prototypes/_MACRO/Entities/Mobs/Customization/Markings/ovinia.yml @@ -0,0 +1,325 @@ +# HeadTop + +- type: marking + id: OviniaLambHorns + bodyPart: HeadTop + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/horn_markings.rsi + state: ovinia-lamb-horns + +- type: marking + id: OviniaRamHorns + bodyPart: HeadTop + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/horn_markings.rsi + state: ovinia-ram-horns + +- type: marking + id: OviniaPointyHorns + bodyPart: HeadTop + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/horn_markings.rsi + state: ovinia-pointy-horns + +- type: marking + id: OviniaCurvedHorns + bodyPart: HeadTop + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/horn_markings.rsi + state: ovinia-curved-horns + +- type: marking + id: OviniaDeerHorns + bodyPart: HeadTop + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/horn_markings.rsi + state: ovinia-deer-horns + +- type: marking + id: OviniaDevilHorns + bodyPart: HeadTop + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/horn_markings.rsi + state: ovinia-devil-horns + +- type: marking + id: OviniaBaphometHorns + bodyPart: HeadTop + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/horn_markings.rsi + state: ovinia-baphomet-horns + +- type: marking + id: OviniaIbexHorns + bodyPart: HeadTop + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/horn_markings.rsi + state: ovinia-ibex-horns + +- type: marking + id: OviniaJacobHorns + bodyPart: HeadTop + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/horn_markings.rsi + state: ovinia-jacob-horns + +# Ears + +- type: marking + id: OviniaEars + bodyPart: HeadSide + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/ear_markings.rsi + state: ovinia-ears + - sprite: _MACRO/Mobs/Customization/Ovinia/ear_markings.rsi + state: ovinia-ears-inner + +- type: marking + id: OviniaEarsCow + bodyPart: HeadSide + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/ear_markings.rsi + state: cow-ears + - sprite: _MACRO/Mobs/Customization/Ovinia/ear_markings.rsi + state: cow-ears-inner + +- type: marking + id: OviniaEarsDeer + bodyPart: HeadSide + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/ear_markings.rsi + state: deer-ears + - sprite: _MACRO/Mobs/Customization/Ovinia/ear_markings.rsi + state: deer-ears-inner + +- type: marking + id: OviniaEarsHorse + bodyPart: Headside + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/ear_markings.rsi + state: horse-ears + - sprite: _MACRO/Mobs/Customization/Ovinia/ear_markings.rsi + state: horse-ears-inner + +# Head + +# FacialHair + +- type: marking + id: OviniaNeckfluff + bodyPart: FacialHair # will fix this if we decide on introducing neck fluff layer + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/head_markings.rsi + state: ovinia-neck-fluff + +# Snout + +- type: marking + id: OviniaSnout + bodyPart: Snout + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/snout_markings.rsi + state: ovinia-snout + - sprite: _MACRO/Mobs/Customization/Ovinia/snout_markings.rsi + state: ovinia-nose + +- type: marking + id: OviniaFace + bodyPart: Snout + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/snout_markings.rsi + state: ovinia-face + - sprite: _MACRO/Mobs/Customization/Ovinia/snout_markings.rsi + state: ovinia-nose + +- type: marking + id: OviniaBlaze + bodyPart: Snout + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/snout_markings.rsi + state: ovinia-blaze + - sprite: _MACRO/Mobs/Customization/Ovinia/snout_markings.rsi + state: ovinia-nose + +# Chest +- type: marking + id: OviniaTummy + bodyPart: Chest + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/body_markings.rsi + state: ovinia-tummy + +- type: marking + id: OviniaChestFullMasc + bodyPart: Chest + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/body_markings.rsi + state: ovinia-full-m + +- type: marking + id: OviniaChestFullFem + bodyPart: Chest + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/body_markings.rsi + state: ovinia-full-f + +- type: marking + id: OviniaPatternFawn + bodyPart: Chest + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/body_markings.rsi + state: torso-fawn + coloring: + default: + type: !type:SimpleColoring + color: "#FFFFFF" + +- type: marking + id: OviniaPatternCattleMasc + bodyPart: Chest + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/body_markings.rsi + state: torso-cow-m + +- type: marking + id: OviniaPatternCattleFem + bodyPart: Chest + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/body_markings.rsi + state: torso-cow-f + +# RArm +- type: marking + id: OviniaRightArmValais + bodyPart: RArm + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/body_markings.rsi + state: ovinia-arm-valais-right + +# LArm + +- type: marking + id: OviniaLeftArmValais + bodyPart: LArm + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/body_markings.rsi + state: ovinia-arm-valais-left + +# RHand + +- type: marking + id: OviniaRightHandHoof + bodyPart: RHand + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/body_markings.rsi + state: hand-hoof-right + coloring: + default: + type: !type:SimpleColoring + color: "#07090f" + +# LHand + +- type: marking + id: OviniaLeftHandHoof + bodyPart: LHand + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/body_markings.rsi + state: hand-hoof-left + coloring: + default: + type: !type:SimpleColoring + color: "#07090f" + +# Tail +- type: marking + id: OviniaTailAnimated + bodyPart: Tail + groupWhitelist: [] # starcup - can't be picked normally, use the tailwag emote + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/tail_markings.rsi + state: ovinia-tail_wag + +- type: marking + id: OviniaTail + bodyPart: Tail + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/tail_markings.rsi + state: ovinia-tail + +# RLeg + +- type: marking + id: OviniaRightLegValais + bodyPart: RLeg + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/body_markings.rsi + state: ovinia-leg-valais-right + +# LLeg + +- type: marking + id: OviniaLeftLegValais + bodyPart: LLeg + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/body_markings.rsi + state: ovinia-leg-valais-left + +# RFoot + +- type: marking + id: OviniaLeftHoof + bodyPart: RFoot + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/body_markings.rsi + state: ovinia-hoof-right + coloring: + default: + type: !type:SimpleColoring + color: "#07090f" + +# LFoot + +- type: marking + id: OviniaRightHoof + bodyPart: LFoot + groupWhitelist: [ Ovinia ] + sprites: + - sprite: _MACRO/Mobs/Customization/Ovinia/body_markings.rsi + state: ovinia-hoof-left + coloring: + default: + type: !type:SimpleColoring + color: "#07090f" + diff --git a/Resources/Prototypes/_MACRO/Guidebook/species.yml b/Resources/Prototypes/_MACRO/Guidebook/species.yml new file mode 100644 index 00000000000..668af5f53ed --- /dev/null +++ b/Resources/Prototypes/_MACRO/Guidebook/species.yml @@ -0,0 +1,4 @@ +- type: guideEntry + id: Ovinia + name: species-name-ovinia + text: "/ServerInfo/Guidebook/_starcup/Mobs/OviniaStarcup.xml" # starcup: new guidebook entry diff --git a/Resources/Prototypes/_MACRO/SoundCollections/ovinia.yml b/Resources/Prototypes/_MACRO/SoundCollections/ovinia.yml new file mode 100644 index 00000000000..181f9516ce6 --- /dev/null +++ b/Resources/Prototypes/_MACRO/SoundCollections/ovinia.yml @@ -0,0 +1,14 @@ +- type: soundCollection + id: OviniaBaa + files: + - /Audio/_MACRO/Voice/Ovinia/ovinia_baa1.ogg + - /Audio/_MACRO/Voice/Ovinia/ovinia_baa2.ogg + - /Audio/_MACRO/Voice/Ovinia/ovinia_baa3.ogg + +- type: soundCollection + id: OviniaMoo # starcup: renamed to avoid confusion with our CowMoos. + files: + - /Audio/_MACRO/Voice/Ovinia/ovinia_moo1.ogg + - /Audio/_MACRO/Voice/Ovinia/ovinia_moo2.ogg + - /Audio/_MACRO/Voice/Ovinia/ovinia_moo3.ogg + - /Audio/_MACRO/Voice/Ovinia/ovinia_moo4.ogg diff --git a/Resources/Prototypes/_MACRO/Species/ovinia.yml b/Resources/Prototypes/_MACRO/Species/ovinia.yml new file mode 100644 index 00000000000..ced4eb16462 --- /dev/null +++ b/Resources/Prototypes/_MACRO/Species/ovinia.yml @@ -0,0 +1,43 @@ +- type: species + id: Ovinia + name: species-name-ovinia + roundStart: true # starcup: give us sheep please ;; + #randomViable: false + prototype: MobOvinia + defaultSkinTone: "#ffffff" + dollPrototype: AppearanceOvinia + skinColoration: Hues + maleFirstNames: NamesOviniaFirst + femaleFirstNames: NamesOviniaFirst + lastNames: NamesOviniaLast + # begin starcup: height adjustments + minHeight: 0.9 + maxHeight: 1.1 + # end starcup + sexes: + - Male + - Female + - Unsexed + defaultSoundsBySex: + - MaleOvinia + - FemaleOvinia + - MaleOvinia + voices: # starcup - move voices to species + - MaleOvinia + - FemaleOvinia + +# starcup - heavily modified, so not all of the below is still correct +# Developer Notes +# +# Ovinia are a species of ovine alien that particularly look like terran sheep and ovines. +# They resist heat, cold, and shock, as well as having a reduced flammibility due to the properties of wool. +# In return however, they are weaker to slash and pierce and cannot consume theobromine. +# Additionally, Ovinia's hooved feet protect them from sharp floor hazards like shards of glass. +# Most animals additionally are neutral towards Ovinia until provoked due to their docile temperments. +# Also, due to their unique biology and multiple stomachs, ovinia absorb nutrients more efficiently, +# leading to them to go a longer time without getting hungry or thirsty, though they spend extra time consuming. +# +# You might want to enable them for another morphotype for players to use to make characters. +# You might also want to enable them to allow a more pacifist approach to most vent critters. +# You also want to do so because they're sheepie. +# diff --git a/Resources/Prototypes/_MACRO/Voice/ovinia.yml b/Resources/Prototypes/_MACRO/Voice/ovinia.yml new file mode 100644 index 00000000000..c590c448c99 --- /dev/null +++ b/Resources/Prototypes/_MACRO/Voice/ovinia.yml @@ -0,0 +1,103 @@ +- type: speechVerb + id: Ovinia + name: chat-speech-verb-name-ovinia + speechVerbStrings: + - chat-speech-verb-ovinia-1 + - chat-speech-verb-ovinia-2 + - chat-speech-verb-ovinia-3 + - chat-speech-verb-ovinia-4 + +- type: speechSounds + id: OviniaSpeechSounds # starcup: naming consistency, and easier id to search for + saySound: + path: /Audio/_MACRO/Voice/Ovinia/ovinia_say.ogg + askSound: + path: /Audio/_MACRO/Voice/Ovinia/ovinia_ask.ogg + exclaimSound: + path: /Audio/_MACRO/Voice/Ovinia/ovinia_exclaim.ogg + +- type: emoteSounds + id: MaleOvinia + voiceSelectorName: humanoid-profile-editor-voice-masculine # starcup + params: + variation: 0.125 + sounds: + Scream: + collection: GoatScream # starcup + Laugh: + collection: MaleLaugh + Sneeze: + path: /Audio/_starcup/Animals/Goat/goat_sneeze.ogg # starcup + Cough: + path: /Audio/_starcup/Animals/Goat/goat_sneeze.ogg # starcup + Yawn: + collection: MaleYawn + Snore: + collection: Snores + #Honk: + #collection: BikeHorn + Sigh: + collection: MaleSigh + Crying: + collection: MaleCry + Whistle: + collection: Whistles + # begin starcup: we consider weh and hew to be lizard emotes + #Weh: + #collection: Weh + #Hew: + #collection: Hew + Baa: + collection: GoatSpeech + Moo: + collection: OviniaMoo + Bark: + collection: DeerBarks + Snort: + path: /Audio/_starcup/Animals/chuff.ogg + # end starcup + Gasp: + collection: MaleGasp + DefaultDeathgasp: + collection: MaleDeathGasp + +- type: emoteSounds + id: FemaleOvinia + voiceSelectorName: humanoid-profile-editor-voice-feminine + params: + variation: 0.125 + sounds: + Scream: + collection: GoatScream # starcup + Laugh: + collection: FemaleLaugh + # begin starcup: + Sneeze: + path: /Audio/_starcup/Animals/Goat/goat_sneeze.ogg + Cough: + path: /Audio/_starcup/Animals/Goat/goat_sneeze.ogg + # end starcup + Yawn: + collection: FemaleYawn + Snore: # starcup + collection: Snores + Sigh: + collection: FemaleSigh + Crying: + collection: FemaleCry + # begin starcup: + Whistle: + collection: Whistles + Baa: + collection: GoatSpeech + Moo: + collection: OviniaMoo + Bark: + collection: DeerBarks + Snort: + path: /Audio/_starcup/Animals/chuff.ogg + # end starcup + Gasp: + collection: FemaleGasp + DefaultDeathgasp: + collection: FemaleDeathGasp diff --git a/Resources/Prototypes/_MACRO/Voice/speech_emotes.yml b/Resources/Prototypes/_MACRO/Voice/speech_emotes.yml new file mode 100644 index 00000000000..8c485ee63fc --- /dev/null +++ b/Resources/Prototypes/_MACRO/Voice/speech_emotes.yml @@ -0,0 +1,47 @@ +# Ovinia +- type: emote + id: Baa + name: chat-emote-name-baa + category: Vocal + available: false + icon: _starcup/Interface/Emotes/baa.png + whitelist: + requireAll: true + components: + - Vocal + #tags: + #- OviniaEmotes # starcup: we assign the emote manually, no need for the tag + chatMessages: [ chat-emote-msg-baa ] + chatTriggers: + - baas + - baa + - baahs + - baah + - baahed + - baah'd + - baahing + - bah + - bahs + - bahed + - bah'd + - bleats + - bleated + - bleating + +- type: emote + id: Moo + name: chat-emote-name-moo + category: Vocal + icon: _starcup/Interface/Emotes/moo.png + available: false + whitelist: + components: + - Vocal + #tags: + #- OviniaEmotes # starcup: we assign the emote manually, no need for the tag + chatMessages: [ chat-emote-msg-moo ] + chatTriggers: + - moos + - moo + - mooed + - moo'd diff --git a/Resources/Prototypes/_MACRO/typing_indicator.yml b/Resources/Prototypes/_MACRO/typing_indicator.yml new file mode 100644 index 00000000000..9c045a9a785 --- /dev/null +++ b/Resources/Prototypes/_MACRO/typing_indicator.yml @@ -0,0 +1,7 @@ + +- type: typingIndicator + id: ovinia + spritePath: _MACRO/Effects/speech.rsi + typingState: ovinia0 + idleState: ovinia-idle + offset: 0, 0 diff --git a/Resources/Prototypes/_starcup/SoundCollections/Animals/goat_sounds.yml b/Resources/Prototypes/_starcup/SoundCollections/Animals/goat_sounds.yml index 83366b844fb..18bd8dab04c 100644 --- a/Resources/Prototypes/_starcup/SoundCollections/Animals/goat_sounds.yml +++ b/Resources/Prototypes/_starcup/SoundCollections/Animals/goat_sounds.yml @@ -10,3 +10,6 @@ files: - /Audio/_starcup/Animals/Goat/goat_scream1.ogg - /Audio/_starcup/Animals/Goat/goat_scream2.ogg + - /Audio/_MACRO/Voice/Ovinia/ovinia_baa2.ogg + - /Audio/_MACRO/Voice/Ovinia/ovinia_baa3.ogg + - /Audio/_MACRO/Voice/Ovinia/ovinia_scream.ogg diff --git a/Resources/Prototypes/_starcup/SoundCollections/footsteps.yml b/Resources/Prototypes/_starcup/SoundCollections/footsteps.yml index bcc1b26ab4f..6192087b09e 100644 --- a/Resources/Prototypes/_starcup/SoundCollections/footsteps.yml +++ b/Resources/Prototypes/_starcup/SoundCollections/footsteps.yml @@ -23,3 +23,13 @@ - /Audio/_starcup/Effects/Footsteps/bouncesmall2.ogg - /Audio/_starcup/Effects/Footsteps/bouncesmall3.ogg - /Audio/_starcup/Effects/Footsteps/bouncesmall4.ogg + +- type: soundCollection + id: FootstepHoof + files: + - /Audio/_starcup/Effects/Footsteps/hoofstep1.ogg + - /Audio/_starcup/Effects/Footsteps/hoofstep2.ogg + - /Audio/_starcup/Effects/Footsteps/hoofstep3.ogg + - /Audio/_starcup/Effects/Footsteps/hoofstep4.ogg + - /Audio/_starcup/Effects/Footsteps/hoofstep5.ogg + - /Audio/_starcup/Effects/Footsteps/hoofstep6.ogg diff --git a/Resources/Prototypes/_starcup/Traits/quirks.yml b/Resources/Prototypes/_starcup/Traits/quirks.yml index 2d1c4243f70..ca7498a395f 100644 --- a/Resources/Prototypes/_starcup/Traits/quirks.yml +++ b/Resources/Prototypes/_starcup/Traits/quirks.yml @@ -12,5 +12,7 @@ name: trait-sleepy-name description: trait-sleepy-desc category: Quirks + excludedSpecies: + - Ovinia components: - type: Rest diff --git a/Resources/Prototypes/_starcup/Voice/vocal_emotes.yml b/Resources/Prototypes/_starcup/Voice/vocal_emotes.yml index 1f130a9a3f0..ac3106209ec 100644 --- a/Resources/Prototypes/_starcup/Voice/vocal_emotes.yml +++ b/Resources/Prototypes/_starcup/Voice/vocal_emotes.yml @@ -86,3 +86,23 @@ - trills - trilled - trilling + +- type: emote + id: Snort + name: chat-emote-name-snort + category: Vocal + icon: _starcup/Interface/Emotes/snort.png + available: false + whitelist: + components: + - Vocal + chatMessages: ["chat-emote-msg-snort"] + chatTriggers: + - snort + - snorts + - snorted + - snorting + - chuff + - chuffs + - chuffed + - chuffing diff --git a/Resources/ServerInfo/Guidebook/_starcup/Mobs/OviniaStarcup.xml b/Resources/ServerInfo/Guidebook/_starcup/Mobs/OviniaStarcup.xml new file mode 100644 index 00000000000..df24e6e6373 --- /dev/null +++ b/Resources/ServerInfo/Guidebook/_starcup/Mobs/OviniaStarcup.xml @@ -0,0 +1,31 @@ + + # Ovinia + + + + + + Ovinia are a species of ruminant-like humanoids scattered across the Ring of Bones, a trio of shadowy moons orbiting a ringed gas giant. Uaalia is the largest and most hospitable moon, while forested Luani and fungus-dominated Iita remain highly isolated and full of deadly predators. + + ## Species Traits + - Damage Weaknesses: Slash and Pierce +15% + - Herbivore Diet: Can only eat fruits and vegetables, flowers, grains, and the odd banana peel as a little treat + - Animal Stomach: Poisoned by theobromine (tea, chocolate), caffeine (coffee, energy drinks), and allicin (garlic, onions) + - Grazing Habit: Finish food and drinks 40% slower + - Sleepy and Docile: Forced sleep effects last for twice as long, but can fall asleep anywhere + - Animal Friend: Mild manner soothes domesticated animals + - Temperature Tolerance: Fluffy wool coat insulates like a winter coat + - Prey Adrenaline: Initially speed up upon taking damage, but slow down quicker when the damage gets too severe + - Sturdy Hooves: Can safely walk "barehoofed" on broken glass and similar hazards + + ## Naming Traditions + + Ovinia culture lacks gendered names or pronouns. They favor long, flowy names with soft consonants and extended vowels, but will usually shorten them to first syllables in more casual settings. First names are often abstract, named after concepts or virtues, while last names are used to differentiate flock lineages. Uaalian ovinia seeking to blend into a new, larger flock have taken to adopting the naming conventions of other species. + + - Mera Phaelarune + - Lethaavul Rhymehelai + - Baareivelaa Vylune + - Ruth Lyvahlia + - Thallinn Mehhvaa + + diff --git a/Resources/ServerInfo/Guidebook/_starcup/SpeciesStarcup.xml b/Resources/ServerInfo/Guidebook/_starcup/SpeciesStarcup.xml index e37fb5ce52c..ab4a7fe55be 100644 --- a/Resources/ServerInfo/Guidebook/_starcup/SpeciesStarcup.xml +++ b/Resources/ServerInfo/Guidebook/_starcup/SpeciesStarcup.xml @@ -20,6 +20,7 @@ + diff --git a/Resources/Textures/_MACRO/Effects/speech.rsi/meta.json b/Resources/Textures/_MACRO/Effects/speech.rsi/meta.json new file mode 100644 index 00000000000..0a39e1677d7 --- /dev/null +++ b/Resources/Textures/_MACRO/Effects/speech.rsi/meta.json @@ -0,0 +1,28 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "gray and ungu typing indicators by starlighthowls for impstation, snail typing indicators by widgetbeck for impstation, kodepiia typing indicators by LazyRiverfolk for impstation. anom typing indicators by doop for impstation. Ovinia sprites made by P4yn7 (Discord) for Den", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "ovinia0", + "delays": [ + [ + 0.2, + 0.3, + 0.3, + 0.5 + ] + ] + }, + { + "name": "ovinia-idle" + }, + { + "name": "ovinia2" + } + ] + } diff --git a/Resources/Textures/_MACRO/Effects/speech.rsi/ovinia-idle.png b/Resources/Textures/_MACRO/Effects/speech.rsi/ovinia-idle.png new file mode 100644 index 00000000000..48b6469fe6e Binary files /dev/null and b/Resources/Textures/_MACRO/Effects/speech.rsi/ovinia-idle.png differ diff --git a/Resources/Textures/_MACRO/Effects/speech.rsi/ovinia0.png b/Resources/Textures/_MACRO/Effects/speech.rsi/ovinia0.png new file mode 100644 index 00000000000..9dd8545c031 Binary files /dev/null and b/Resources/Textures/_MACRO/Effects/speech.rsi/ovinia0.png differ diff --git a/Resources/Textures/_MACRO/Effects/speech.rsi/ovinia2.png b/Resources/Textures/_MACRO/Effects/speech.rsi/ovinia2.png new file mode 100644 index 00000000000..5cbbbfdf8c5 Binary files /dev/null and b/Resources/Textures/_MACRO/Effects/speech.rsi/ovinia2.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/hand-hoof-left.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/hand-hoof-left.png new file mode 100644 index 00000000000..412b00cecb4 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/hand-hoof-left.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/hand-hoof-right.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/hand-hoof-right.png new file mode 100644 index 00000000000..96080855816 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/hand-hoof-right.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/meta.json b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/meta.json new file mode 100644 index 00000000000..f3cc2e33e3e --- /dev/null +++ b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/meta.json @@ -0,0 +1,67 @@ +{ + "version": 1, + "license": "CC-BY-NC-SA-3.0", + "copyright": "Ovinia tummy / Valais / full torso sprites by juniwoofs. Fawn, cow, and hand hoof sprites by portfiend", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "ovinia-tummy", + "directions": 4 + }, + { + "name": "ovinia-arm-valais-left", + "directions": 4 + }, + { + "name": "ovinia-arm-valais-right", + "directions": 4 + }, + { + "name": "ovinia-leg-valais-left", + "directions": 4 + }, + { + "name": "ovinia-leg-valais-right", + "directions": 4 + }, + { + "name": "torso-fawn", + "directions": 4 + }, + { + "name": "torso-cow-f", + "directions": 4 + }, + { + "name": "torso-cow-m", + "directions": 4 + }, + { + "name": "ovinia-full-m", + "directions": 4 + }, + { + "name": "ovinia-full-f", + "directions": 4 + }, + { + "name": "hand-hoof-left", + "directions": 4 + }, + { + "name": "hand-hoof-right", + "directions": 4 + }, + { + "name": "ovinia-hoof-left", + "directions": 4 + }, + { + "name": "ovinia-hoof-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-arm-valais-left.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-arm-valais-left.png new file mode 100644 index 00000000000..3f22a65dbda Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-arm-valais-left.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-arm-valais-right.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-arm-valais-right.png new file mode 100644 index 00000000000..b1a360368af Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-arm-valais-right.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-full-f.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-full-f.png new file mode 100644 index 00000000000..54ace434bdf Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-full-f.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-full-m.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-full-m.png new file mode 100644 index 00000000000..60aa5e3cbe3 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-full-m.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-hoof-left.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-hoof-left.png new file mode 100644 index 00000000000..01296771730 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-hoof-left.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-hoof-right.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-hoof-right.png new file mode 100644 index 00000000000..962f132c1ac Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-hoof-right.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-leg-valais-left.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-leg-valais-left.png new file mode 100644 index 00000000000..25e04f58ceb Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-leg-valais-left.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-leg-valais-right.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-leg-valais-right.png new file mode 100644 index 00000000000..319b2798dbe Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-leg-valais-right.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-tummy.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-tummy.png new file mode 100644 index 00000000000..98ae686218f Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/ovinia-tummy.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/torso-cow-f.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/torso-cow-f.png new file mode 100644 index 00000000000..7ecde4009a6 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/torso-cow-f.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/torso-cow-m.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/torso-cow-m.png new file mode 100644 index 00000000000..4a798c7330b Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/torso-cow-m.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/torso-fawn.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/torso-fawn.png new file mode 100644 index 00000000000..2421278ea9c Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/body_markings.rsi/torso-fawn.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/cow-ears-inner.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/cow-ears-inner.png new file mode 100644 index 00000000000..a236a7b1022 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/cow-ears-inner.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/cow-ears.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/cow-ears.png new file mode 100644 index 00000000000..07508679f19 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/cow-ears.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/deer-ears-inner.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/deer-ears-inner.png new file mode 100644 index 00000000000..7d99664ec95 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/deer-ears-inner.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/deer-ears.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/deer-ears.png new file mode 100644 index 00000000000..1d2b7fcc89a Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/deer-ears.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/horse-ears-inner.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/horse-ears-inner.png new file mode 100644 index 00000000000..d8d5d642097 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/horse-ears-inner.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/horse-ears.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/horse-ears.png new file mode 100644 index 00000000000..ae8b8225829 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/horse-ears.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/meta.json b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/meta.json new file mode 100644 index 00000000000..622db11deb7 --- /dev/null +++ b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/meta.json @@ -0,0 +1,43 @@ +{ + "version": 1, + "license": "CC-BY-NC-SA-3.0", + "copyright": "Ovinia ears made by juniwoofs. Cow, deer, and horse ears made by portfiend.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "ovinia-ears", + "directions": 4 + }, + { + "name": "ovinia-ears-inner", + "directions": 4 + }, + { + "name": "cow-ears", + "directions": 4 + }, + { + "name": "cow-ears-inner", + "directions": 4 + }, + { + "name": "deer-ears", + "directions": 4 + }, + { + "name": "deer-ears-inner", + "directions": 4 + }, + { + "name": "horse-ears", + "directions": 4 + }, + { + "name": "horse-ears-inner", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/ovinia-ears-inner.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/ovinia-ears-inner.png new file mode 100644 index 00000000000..d2982c47d17 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/ovinia-ears-inner.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/ovinia-ears.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/ovinia-ears.png new file mode 100644 index 00000000000..0c8d572222e Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/ear_markings.rsi/ovinia-ears.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/head_markings.rsi/meta.json b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/head_markings.rsi/meta.json new file mode 100644 index 00000000000..5dceeb7c14b --- /dev/null +++ b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/head_markings.rsi/meta.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "license": "CC-BY-NC-SA-3.0", + "copyright": "Made by juniwoofs, Edited by BlitzTheSquishy", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "ovinia-neck-fluff", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/head_markings.rsi/ovinia-neck-fluff.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/head_markings.rsi/ovinia-neck-fluff.png new file mode 100644 index 00000000000..008bea0aa3a Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/head_markings.rsi/ovinia-neck-fluff.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/meta.json b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/meta.json new file mode 100644 index 00000000000..1818969d788 --- /dev/null +++ b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/meta.json @@ -0,0 +1,47 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Lamb horns by Rosycup. ram, pointy, and curved horns by P4ny7, deer, devil, baphomet and ibex horns by Monotheonist. Jacob horns by portfiend.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "ovinia-lamb-horns", + "directions": 4 + }, + { + "name": "ovinia-ram-horns", + "directions": 4 + }, + { + "name": "ovinia-pointy-horns", + "directions": 4 + }, + { + "name": "ovinia-curved-horns", + "directions": 4 + }, + { + "name": "ovinia-baphomet-horns", + "directions": 4 + }, + { + "name": "ovinia-deer-horns", + "directions": 4 + }, + { + "name": "ovinia-devil-horns", + "directions": 4 + }, + { + "name": "ovinia-ibex-horns", + "directions": 4 + }, + { + "name": "ovinia-jacob-horns", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-baphomet-horns.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-baphomet-horns.png new file mode 100644 index 00000000000..8f8b71d8050 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-baphomet-horns.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-curved-horns.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-curved-horns.png new file mode 100644 index 00000000000..66c8c1bcaa6 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-curved-horns.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-deer-horns.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-deer-horns.png new file mode 100644 index 00000000000..034c4270e61 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-deer-horns.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-devil-horns.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-devil-horns.png new file mode 100644 index 00000000000..9db02ff85f8 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-devil-horns.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-ibex-horns.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-ibex-horns.png new file mode 100644 index 00000000000..efd3b3ed724 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-ibex-horns.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-jacob-horns.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-jacob-horns.png new file mode 100644 index 00000000000..e434a737c41 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-jacob-horns.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-lamb-horns.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-lamb-horns.png new file mode 100644 index 00000000000..619c3e8e9c4 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-lamb-horns.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-pointy-horns.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-pointy-horns.png new file mode 100644 index 00000000000..71719126487 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-pointy-horns.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-ram-horns.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-ram-horns.png new file mode 100644 index 00000000000..f4c8a5aa7f3 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/horn_markings.rsi/ovinia-ram-horns.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/snout_markings.rsi/meta.json b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/snout_markings.rsi/meta.json new file mode 100644 index 00000000000..e85034d4496 --- /dev/null +++ b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/snout_markings.rsi/meta.json @@ -0,0 +1,27 @@ +{ + "version": 1, + "license": "CC-BY-NC-SA-3.0", + "copyright": "Made by juniwoofs, blaze by Monotheonist", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "ovinia-snout", + "directions": 4 + }, + { + "name": "ovinia-blaze", + "directions": 4 + }, + { + "name": "ovinia-nose", + "directions": 4 + }, + { + "name": "ovinia-face", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/snout_markings.rsi/ovinia-blaze.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/snout_markings.rsi/ovinia-blaze.png new file mode 100644 index 00000000000..2470cb84a37 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/snout_markings.rsi/ovinia-blaze.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/snout_markings.rsi/ovinia-face.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/snout_markings.rsi/ovinia-face.png new file mode 100644 index 00000000000..eaf20b0217e Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/snout_markings.rsi/ovinia-face.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/snout_markings.rsi/ovinia-nose.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/snout_markings.rsi/ovinia-nose.png new file mode 100644 index 00000000000..24d3730155b Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/snout_markings.rsi/ovinia-nose.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/snout_markings.rsi/ovinia-snout.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/snout_markings.rsi/ovinia-snout.png new file mode 100644 index 00000000000..ac89996ff72 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/snout_markings.rsi/ovinia-snout.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/tail_markings.rsi/meta.json b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/tail_markings.rsi/meta.json new file mode 100644 index 00000000000..52b69a34a99 --- /dev/null +++ b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/tail_markings.rsi/meta.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "license": "CC-BY-NC-SA-3.0", + "copyright": "Made by juniwoofs", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "ovinia-tail", + "directions": 4 + }, + { + "name": "ovinia-tail_wag", + "directions": 4, + "delays": [[0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2], [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2], [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2], [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2]] + } + ] +} diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/tail_markings.rsi/ovinia-tail.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/tail_markings.rsi/ovinia-tail.png new file mode 100644 index 00000000000..21c8b790407 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/tail_markings.rsi/ovinia-tail.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/tail_markings.rsi/ovinia-tail_wag.png b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/tail_markings.rsi/ovinia-tail_wag.png new file mode 100644 index 00000000000..7866b5736c3 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Customization/Ovinia/tail_markings.rsi/ovinia-tail_wag.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Species/Ovinia/displacement.rsi/jumpsuit-female.png b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/displacement.rsi/jumpsuit-female.png new file mode 100644 index 00000000000..913adc877cc Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/displacement.rsi/jumpsuit-female.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Species/Ovinia/displacement.rsi/jumpsuit.png b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/displacement.rsi/jumpsuit.png new file mode 100644 index 00000000000..e6d477d43f8 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/displacement.rsi/jumpsuit.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Species/Ovinia/displacement.rsi/meta.json b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/displacement.rsi/meta.json new file mode 100644 index 00000000000..39a2cdf4685 --- /dev/null +++ b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/displacement.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "by Litogin", + "size": { + "x": 32, + "y": 32 + }, + "load": { + "srgb": false + }, + "states": [ + { + "name": "jumpsuit", + "directions": 4 + }, + { + "name": "shoes", + "directions" : 4 + }, + { + "name": "jumpsuit-female", + "directions" : 4 + }, + { + "name": "outerclothing-hardsuit", + "directions" : 4 + } + ] +} diff --git a/Resources/Textures/_MACRO/Mobs/Species/Ovinia/displacement.rsi/outerclothing-hardsuit.png b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/displacement.rsi/outerclothing-hardsuit.png new file mode 100644 index 00000000000..e6d477d43f8 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/displacement.rsi/outerclothing-hardsuit.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Species/Ovinia/displacement.rsi/shoes.png b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/displacement.rsi/shoes.png new file mode 100644 index 00000000000..3350a0513a8 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/displacement.rsi/shoes.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/eyes.png b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/eyes.png new file mode 100644 index 00000000000..5c5b16ba180 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/eyes.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/full.png b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/full.png new file mode 100644 index 00000000000..54c8b5482a5 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/full.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/head_f.png b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/head_f.png new file mode 100644 index 00000000000..3dfb18c772f Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/head_f.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/head_m.png b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/head_m.png new file mode 100644 index 00000000000..3dfb18c772f Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/head_m.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/l_arm.png b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/l_arm.png new file mode 100644 index 00000000000..8eda928dffd Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/l_arm.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/l_foot.png b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/l_foot.png new file mode 100644 index 00000000000..0dd3bb508fb Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/l_foot.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/l_hand.png b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/l_hand.png new file mode 100644 index 00000000000..6fa402acab3 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/l_hand.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/l_leg.png b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/l_leg.png new file mode 100644 index 00000000000..70835735c46 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/l_leg.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/meta.json b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/meta.json new file mode 100644 index 00000000000..b9ecd59aa05 --- /dev/null +++ b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/meta.json @@ -0,0 +1,70 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Legs from https://github.com/tgstation/tgstation/blob/08898964e67a0d517ca4e47eec7039394b694ac2/icons/mob/species/lizard/bodyparts.dmi edited by PuroSlavKing (Github) and further modified by By juniwoofs, snout modifications by Aikakakah, everything else by juniwoofs", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "full" + }, + { + "name": "head_f", + "directions": 4 + }, + { + "name": "head_m", + "directions": 4 + }, + { + "name": "snout", + "directions": 4 + }, + { + "name": "l_arm", + "directions": 4 + }, + { + "name": "l_foot", + "directions": 4 + }, + { + "name": "l_hand", + "directions": 4 + }, + { + "name": "l_leg", + "directions": 4 + }, + { + "name": "r_arm", + "directions": 4 + }, + { + "name": "r_foot", + "directions": 4 + }, + { + "name": "r_hand", + "directions": 4 + }, + { + "name": "r_leg", + "directions": 4 + }, + { + "name": "torso_f", + "directions": 4 + }, + { + "name": "torso_m", + "directions": 4 + }, + { + "name": "eyes", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/r_arm.png b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/r_arm.png new file mode 100644 index 00000000000..3c1d7886754 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/r_arm.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/r_foot.png b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/r_foot.png new file mode 100644 index 00000000000..bc31eb1f80c Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/r_foot.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/r_hand.png b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/r_hand.png new file mode 100644 index 00000000000..3ff6f120086 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/r_hand.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/r_leg.png b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/r_leg.png new file mode 100644 index 00000000000..7ff0e6d7bee Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/r_leg.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/snout.png b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/snout.png new file mode 100644 index 00000000000..409bc187688 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/snout.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/torso_f.png b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/torso_f.png new file mode 100644 index 00000000000..3771277acb1 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/torso_f.png differ diff --git a/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/torso_m.png b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/torso_m.png new file mode 100644 index 00000000000..e6bc88d1844 Binary files /dev/null and b/Resources/Textures/_MACRO/Mobs/Species/Ovinia/parts.rsi/torso_m.png differ diff --git a/Resources/Textures/_starcup/Interface/Actions/actions_general.rsi/meta.json b/Resources/Textures/_starcup/Interface/Actions/actions_general.rsi/meta.json index 1bc88979bd4..4cb60e88eaf 100644 --- a/Resources/Textures/_starcup/Interface/Actions/actions_general.rsi/meta.json +++ b/Resources/Textures/_starcup/Interface/Actions/actions_general.rsi/meta.json @@ -18,6 +18,9 @@ }, { "name": "wake" + }, + { + "name": "tailwag" } ] } diff --git a/Resources/Textures/_starcup/Interface/Actions/actions_general.rsi/tailwag.png b/Resources/Textures/_starcup/Interface/Actions/actions_general.rsi/tailwag.png new file mode 100644 index 00000000000..33a15d75ca6 Binary files /dev/null and b/Resources/Textures/_starcup/Interface/Actions/actions_general.rsi/tailwag.png differ diff --git a/Resources/Textures/_starcup/Interface/Emotes/attributions.yml b/Resources/Textures/_starcup/Interface/Emotes/attributions.yml index d8e67ce0812..54ce12778e8 100644 --- a/Resources/Textures/_starcup/Interface/Emotes/attributions.yml +++ b/Resources/Textures/_starcup/Interface/Emotes/attributions.yml @@ -13,6 +13,7 @@ - files: - roar.png - sneeze.png + - snort.png license: "CC0-1.0" copyright: "Modified by Psymbiote from art by Sarahon" source: "https://github.com/Sarahon" @@ -38,6 +39,8 @@ - thump_tail_loud.png - thump_tail_many.png - thump_tail_soft.png + - baa.png + - moo.png license: "CC0-1.0" copyright: "Created by Psymbiote for starcup" source: "https://github.com/teamstarcup/starcup" @@ -65,8 +68,3 @@ license: "CC-BY-3.0" copyright: "Modified by Psymbiote from art by Mark James." source: "https://opengameart.org/content/application-silk-icon-set-13" - -- files: ["howl.png"] - license: "CC-BY-SA-3.0" - copyright: "Modified from existing emote bark.png (by dootythefrooty and Blackdutchie) by Psymbiote" - source: "https://github.com/Blackdutchie" diff --git a/Resources/Textures/_starcup/Interface/Emotes/baa.png b/Resources/Textures/_starcup/Interface/Emotes/baa.png new file mode 100644 index 00000000000..6758ed787a7 Binary files /dev/null and b/Resources/Textures/_starcup/Interface/Emotes/baa.png differ diff --git a/Resources/Textures/_starcup/Interface/Emotes/moo.png b/Resources/Textures/_starcup/Interface/Emotes/moo.png new file mode 100644 index 00000000000..22598dcee4c Binary files /dev/null and b/Resources/Textures/_starcup/Interface/Emotes/moo.png differ diff --git a/Resources/Textures/_starcup/Interface/Emotes/snort.png b/Resources/Textures/_starcup/Interface/Emotes/snort.png new file mode 100644 index 00000000000..5c6efc40033 Binary files /dev/null and b/Resources/Textures/_starcup/Interface/Emotes/snort.png differ