diff --git a/Content.IntegrationTests/Tests/StoreTests.cs b/Content.IntegrationTests/Tests/StoreTests.cs index 877db1d9a02..e6763b6133e 100644 --- a/Content.IntegrationTests/Tests/StoreTests.cs +++ b/Content.IntegrationTests/Tests/StoreTests.cs @@ -112,22 +112,22 @@ await server.WaitAssertion(() => var prototypeCost = prototype.Cost[UplinkSystem.TelecrystalCurrencyPrototype]; var discountDownTo = prototype.DiscountDownTo[UplinkSystem.TelecrystalCurrencyPrototype]; - Assert.That(plainDiscountedCost.Value, Is.GreaterThanOrEqualTo(discountDownTo.Value), "Expected discounted cost to be greater then DiscountDownTo value."); - Assert.That(plainDiscountedCost.Value, Is.LessThan(prototypeCost.Value), "Expected discounted cost to be lower then prototype cost."); + Assert.That(plainDiscountedCost.Value, Is.GreaterThanOrEqualTo(discountDownTo.Value), $"Expected discounted cost to be greater then DiscountDownTo value. ({itemId})"); + Assert.That(plainDiscountedCost.Value, Is.LessThan(prototypeCost.Value), $"Expected discounted cost to be lower then prototype cost. ({itemId})"); var buyMsg = new StoreBuyListingMessage(discountedListingItem.ID){Actor = human}; server.EntMan.EventBus.RaiseComponentEvent(pda, storeComponent, buyMsg); var newBalance = storeComponent.Balance[UplinkSystem.TelecrystalCurrencyPrototype]; - Assert.That(newBalance.Value, Is.EqualTo((originalBalance - plainDiscountedCost).Value), "Expected to have balance reduced by discounted cost"); + Assert.That(newBalance.Value, Is.EqualTo((originalBalance - plainDiscountedCost).Value), $"Expected to have balance reduced by discounted cost ({itemId})"); Assert.That( discountedListingItem.IsCostModified, Is.False, - $"Expected item cost to not be modified after Buying discounted item." + $"Expected item cost to not be modified after Buying discounted item. ({itemId})" ); var costAfterBuy = discountedListingItem.Cost[UplinkSystem.TelecrystalCurrencyPrototype]; - Assert.That(costAfterBuy.Value, Is.EqualTo(prototypeCost.Value), "Expected cost after discount refund to be equal to prototype cost."); + Assert.That(costAfterBuy.Value, Is.EqualTo(prototypeCost.Value), $"Expected cost after discount refund to be equal to prototype cost. ({itemId})"); var refundMsg = new StoreRequestRefundMessage { Actor = human }; server.EntMan.EventBus.RaiseComponentEvent(pda, storeComponent, refundMsg); @@ -136,20 +136,20 @@ await server.WaitAssertion(() => discountedListingItem = storeComponent.FullListingsCatalog.First(x => x.ID == itemId); var afterRefundBalance = storeComponent.Balance[UplinkSystem.TelecrystalCurrencyPrototype]; - Assert.That(afterRefundBalance.Value, Is.EqualTo(originalBalance.Value), "Expected refund to return all discounted cost value."); + Assert.That(afterRefundBalance.Value, Is.EqualTo(originalBalance.Value), $"Expected refund to return all discounted cost value. ({itemId})"); Assert.That( discountComponent.Discounts.First(x => x.ListingId == discountedListingItem.ID).Count, Is.EqualTo(0), - "Discounted count should still be zero even after refund." + $"Discounted count should still be zero even after refund. ({itemId})" ); Assert.That( discountedListingItem.IsCostModified, Is.False, - $"Expected item cost to not be modified after Buying discounted item (even after refund was done)." + $"Expected item cost to not be modified after Buying discounted item (even after refund was done). ({itemId})" ); var costAfterRefund = discountedListingItem.Cost[UplinkSystem.TelecrystalCurrencyPrototype]; - Assert.That(costAfterRefund.Value, Is.EqualTo(prototypeCost.Value), "Expected cost after discount refund to be equal to prototype cost."); + Assert.That(costAfterRefund.Value, Is.EqualTo(prototypeCost.Value), $"Expected cost after discount refund to be equal to prototype cost. ({itemId})"); }); } diff --git a/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs b/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs index 77c8620ea49..39ddca3412b 100644 --- a/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs +++ b/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs @@ -1,5 +1,8 @@ +using Content.Server.Abilities.Chitinid; using Content.Server.Body.Components; using Content.Server.Body.Systems; +using Content.Server.Chat.Managers; +using Content.Shared.Chat; using Content.Shared.Chemistry; using Content.Shared.Chemistry.Components; using Content.Shared.Chemistry.Components.SolutionManager; @@ -13,6 +16,8 @@ using Content.Shared.Interaction; using Content.Shared.Mobs.Components; using Content.Shared.Stacks; +using Robust.Server.Player; + namespace Content.Server.Chemistry.EntitySystems; @@ -20,6 +25,10 @@ public sealed class InjectorSystem : SharedInjectorSystem { [Dependency] private readonly BloodstreamSystem _blood = default!; [Dependency] private readonly ReactiveSystem _reactiveSystem = default!; + [Dependency] private readonly IChatManager _chat = default!; + [Dependency] private readonly IPlayerManager _playerManager = default!; + + private const ChatChannel BlockInjectionDenyChannel = ChatChannel.Emotes; public override void Initialize() { @@ -114,6 +123,24 @@ private void OnInjectorAfterInteract(Entity entity, ref After /// private void InjectDoAfter(Entity injector, EntityUid target, EntityUid user) { + if (TryComp(target, out var blockComponent)) // DeltaV + { + var msg = Loc.GetString($"injector-component-deny-{blockComponent.BlockReason}"); + Popup.PopupEntity(msg, target, user); + + if (!_playerManager.TryGetSessionByEntity(target, out var session)) + return; + + _chat.ChatMessageToOne( + BlockInjectionDenyChannel, + msg, + msg, + EntityUid.Invalid, + false, + session.Channel); + return; + } + // Create a pop-up for the user if (injector.Comp.ToggleState == InjectorToggleMode.Draw) { @@ -254,6 +281,9 @@ private void TryInjectIntoBloodstream(Entity injector, Entity private void TryInject(Entity injector, EntityUid targetEntity, Entity targetSolution, EntityUid user, bool asRefill) { + if (HasComp(targetEntity)) // DeltaV + return; + if (!SolutionContainers.TryGetSolution(injector.Owner, injector.Comp.SolutionName, out var soln, out var solution) || solution.Volume == 0) return; diff --git a/Content.Server/Construction/ConstructionSystem.Interactions.cs b/Content.Server/Construction/ConstructionSystem.Interactions.cs index ad7b2a11b0e..c844dd2c9ad 100644 --- a/Content.Server/Construction/ConstructionSystem.Interactions.cs +++ b/Content.Server/Construction/ConstructionSystem.Interactions.cs @@ -2,7 +2,6 @@ using Content.Server.Administration.Logs; using Content.Server.Construction.Components; using Content.Server.Temperature.Components; -using Content.Server.Temperature.Systems; using Content.Shared.Construction; using Content.Shared.Construction.Components; using Content.Shared.Construction.EntitySystems; @@ -11,6 +10,7 @@ using Content.Shared.Interaction; using Content.Shared.Prying.Systems; using Content.Shared.Radio.EntitySystems; +using Content.Shared.Temperature; using Content.Shared.Tools.Systems; using Robust.Shared.Containers; using Robust.Shared.Utility; diff --git a/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.cs b/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.cs index ec1b81cfb34..b56e8e9abed 100644 --- a/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.cs +++ b/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.cs @@ -214,7 +214,7 @@ private void CookItem(EntityUid uid, DeepFryerComponent component, EntityUid ite if (TryComp(item, out var tempComp)) { // Push the temperature towards what it should be but no higher. - var delta = (component.PoweredTemperature - tempComp.CurrentTemperature) * tempComp.HeatCapacity; + var delta = (component.PoweredTemperature - tempComp.CurrentTemperature) * _temperature.GetHeatCapacity(item, tempComp); if (delta > 0f) _temperature.ChangeHeat(item, delta, false, tempComp); diff --git a/Content.Server/Temperature/Components/TemperatureComponent.cs b/Content.Server/Temperature/Components/TemperatureComponent.cs index 3bfa12f2693..ae2c373b140 100644 --- a/Content.Server/Temperature/Components/TemperatureComponent.cs +++ b/Content.Server/Temperature/Components/TemperatureComponent.cs @@ -1,4 +1,3 @@ -using Content.Server.Temperature.Systems; using Content.Shared.Alert; using Content.Shared.Atmos; using Content.Shared.Damage; @@ -51,15 +50,6 @@ public sealed partial class TemperatureComponent : Component [DataField, ViewVariables(VVAccess.ReadWrite)] public float AtmosTemperatureTransferEfficiency = 0.1f; - [Obsolete("Use system method")] - public float HeatCapacity - { - get - { - return IoCManager.Resolve().System().GetHeatCapacity(Owner, this); - } - } - [DataField, ViewVariables(VVAccess.ReadWrite)] public DamageSpecifier ColdDamage = new(); @@ -71,7 +61,7 @@ public float HeatCapacity /// /// /// Okay it genuinely reaches this basically immediately for a plasma fire. - /// + /// [DataField, ViewVariables(VVAccess.ReadWrite)] public FixedPoint2 DamageCap = FixedPoint2.New(8); @@ -79,7 +69,7 @@ public float HeatCapacity /// Used to keep track of when damage starts/stops. Useful for logs. /// [DataField] - public bool TakingDamage = false; + public bool TakingDamage; [DataField] public ProtoId HotAlert = "Hot"; diff --git a/Content.Server/Temperature/Systems/TemperatureSystem.cs b/Content.Server/Temperature/Systems/TemperatureSystem.cs index ee13cb96a5e..6586ce5613a 100644 --- a/Content.Server/Temperature/Systems/TemperatureSystem.cs +++ b/Content.Server/Temperature/Systems/TemperatureSystem.cs @@ -414,17 +414,3 @@ private void RecalculateAndApplyParentThresholds(EntityUid uid, return (newHeatThreshold, newColdThreshold); } } - -public sealed class OnTemperatureChangeEvent : EntityEventArgs -{ - public float CurrentTemperature { get; } - public float LastTemperature { get; } - public float TemperatureDelta { get; } - - public OnTemperatureChangeEvent(float current, float last, float delta) - { - CurrentTemperature = current; - LastTemperature = last; - TemperatureDelta = delta; - } -} diff --git a/Content.Server/_DV/Abilities/Chitinid/BlockInjectionComponent.cs b/Content.Server/_DV/Abilities/Chitinid/BlockInjectionComponent.cs new file mode 100644 index 00000000000..8ba332ce765 --- /dev/null +++ b/Content.Server/_DV/Abilities/Chitinid/BlockInjectionComponent.cs @@ -0,0 +1,9 @@ +namespace Content.Server.Abilities.Chitinid; + + +[RegisterComponent] +public sealed partial class BlockInjectionComponent : Component +{ + [DataField] + public string BlockReason { get; set; } = string.Empty; +} diff --git a/Content.Server/_DV/Abilities/Chitinid/ChitinidComponent.cs b/Content.Server/_DV/Abilities/Chitinid/ChitinidComponent.cs new file mode 100644 index 00000000000..871d10a7c27 --- /dev/null +++ b/Content.Server/_DV/Abilities/Chitinid/ChitinidComponent.cs @@ -0,0 +1,41 @@ +using Content.Shared.Damage; +using Content.Shared.Damage.Prototypes; +using Content.Shared.FixedPoint; +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; + +namespace Content.Server.Abilities.Chitinid; + +[RegisterComponent] +public sealed partial class ChitinidComponent : Component +{ + [DataField] + public EntProtoId ChitzitePrototype = "Chitzite"; + + [DataField] + public EntProtoId ChitziteActionId = "ActionChitzite"; + + [DataField] + public EntityUid? ChitziteAction; + + [DataField] + public FixedPoint2 AmountAbsorbed = 0f; + + [DataField] + public DamageSpecifier Healing = new() + { + DamageDict = new() + { + { "Radiation", -0.5 }, + } + }; + + [DataField] + public FixedPoint2 MaximumAbsorbed = 30f; + + [DataField] + public TimeSpan UpdateInterval = TimeSpan.FromSeconds(1); + + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + public TimeSpan NextUpdate; +} diff --git a/Content.Server/_DV/Abilities/Chitinid/ChitinidSystem.cs b/Content.Server/_DV/Abilities/Chitinid/ChitinidSystem.cs new file mode 100644 index 00000000000..34d8244d5c9 --- /dev/null +++ b/Content.Server/_DV/Abilities/Chitinid/ChitinidSystem.cs @@ -0,0 +1,97 @@ +using Content.Server.Nutrition.Components; +using Content.Shared.Actions; +using Content.Shared.Actions.Events; +using Content.Shared.Audio; +using Content.Shared.Damage; +using Content.Shared.IdentityManagement; +using Content.Shared.Inventory; +using Content.Shared.Mobs.Systems; +using Content.Shared.Popups; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Prototypes; +using Robust.Shared.Timing; + +namespace Content.Server.Abilities.Chitinid; + +public sealed partial class ChitinidSystem : EntitySystem +{ + [Dependency] private readonly SharedActionsSystem _actions = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly IPrototypeManager _proto = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly InventorySystem _inventory = default!; + [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly DamageableSystem _damageable = default!; + [Dependency] private readonly MobStateSystem _mobState = default!; + + public override void Initialize() + { + SubscribeLocalEvent(OnChitzite); + SubscribeLocalEvent(OnMapInit); + } + + public override void Update(float frameTime) + { + base.Update(frameTime); + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out var chitinid, out var damageable)) + { + if (_timing.CurTime < chitinid.NextUpdate) + continue; + + chitinid.NextUpdate += chitinid.UpdateInterval; + + if (chitinid.AmountAbsorbed >= chitinid.MaximumAbsorbed || _mobState.IsDead(uid)) + continue; + + if (_damageable.TryChangeDamage(uid, chitinid.Healing, damageable: damageable) is {} delta) + { + chitinid.AmountAbsorbed += -delta.GetTotal().Float(); + if (chitinid.ChitziteAction != null && chitinid.AmountAbsorbed >= chitinid.MaximumAbsorbed) + { + _actions.SetCharges(chitinid.ChitziteAction, 1); // You get the charge back and that's it. Tough. + _actions.SetEnabled(chitinid.ChitziteAction, true); + } + } + } + + var entQuery = EntityQueryEnumerator(); + while (entQuery.MoveNext(out var ent, out var chitzite, out var chitinid)) + { + if (_timing.CurTime < chitzite.NextCough) + continue; + + Spawn(chitinid.ChitzitePrototype, Transform(ent).Coordinates); + chitinid.AmountAbsorbed = 0f; + RemCompDeferred(ent, chitzite); + } + } + + private void OnMapInit(Entity ent, ref MapInitEvent args) + { + if (ent.Comp.ChitziteAction != null) + return; + + ent.Comp.NextUpdate = _timing.CurTime + ent.Comp.UpdateInterval; + + _actions.AddAction(ent, ref ent.Comp.ChitziteAction, ent.Comp.ChitziteActionId); + } + + private void OnChitzite(Entity ent, ref ChitziteActionEvent args) + { + if (_inventory.TryGetSlotEntity(ent, "mask", out var maskUid) && + TryComp(maskUid, out var blocker) && + blocker.Enabled) + { + _popup.PopupEntity(Loc.GetString("chitzite-mask", ("mask", maskUid)), ent, ent); + return; + } + + _popup.PopupEntity(Loc.GetString("chitzite-cough", ("name", Identity.Entity(ent, EntityManager))), ent); + _audio.PlayPvs("/Audio/Animals/cat_hiss.ogg", ent, AudioHelpers.WithVariation(0.15f)); + + var chitzite = EnsureComp(ent); + chitzite.NextCough = _timing.CurTime + chitzite.CoughUpTime; + args.Handled = true; + } +} diff --git a/Content.Server/_DV/Abilities/Chitinid/CoughingUpChitziteComponent.cs b/Content.Server/_DV/Abilities/Chitinid/CoughingUpChitziteComponent.cs new file mode 100644 index 00000000000..1dae46b9437 --- /dev/null +++ b/Content.Server/_DV/Abilities/Chitinid/CoughingUpChitziteComponent.cs @@ -0,0 +1,14 @@ +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; + +namespace Content.Server.Abilities.Chitinid; + +[RegisterComponent, AutoGenerateComponentPause] +public sealed partial class CoughingUpChitziteComponent : Component +{ + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] + public TimeSpan NextCough; + + [DataField] + public TimeSpan CoughUpTime = TimeSpan.FromSeconds(2.15); +} diff --git a/Content.Shared/Temperature/Components/TemperatureSpeedComponent.cs b/Content.Shared/Temperature/Components/TemperatureSpeedComponent.cs new file mode 100644 index 00000000000..74ba2a02749 --- /dev/null +++ b/Content.Shared/Temperature/Components/TemperatureSpeedComponent.cs @@ -0,0 +1,30 @@ +using Content.Shared.Temperature.Systems; +using Robust.Shared.GameStates; + +namespace Content.Shared.Temperature.Components; + +/// +/// This is used for an entity that varies in speed based on current temperature. +/// +[RegisterComponent, NetworkedComponent, Access(typeof(SharedTemperatureSystem)), AutoGenerateComponentState, AutoGenerateComponentPause] +public sealed partial class TemperatureSpeedComponent : Component +{ + /// + /// Pairs of temperature thresholds to applied slowdown values. + /// + [DataField] + public Dictionary Thresholds = new(); + + /// + /// The current speed modifier from we reached. + /// Stored and networked so that the client doesn't mispredict temperature + /// + [DataField, AutoNetworkedField] + public float? CurrentSpeedModifier; + + /// + /// The time at which the temperature slowdown is updated. + /// + [DataField, AutoNetworkedField, AutoPausedField] + public TimeSpan? NextSlowdownUpdate; +} diff --git a/Content.Shared/Temperature/Systems/SharedTemperatureSystem.cs b/Content.Shared/Temperature/Systems/SharedTemperatureSystem.cs new file mode 100644 index 00000000000..efea2df5aff --- /dev/null +++ b/Content.Shared/Temperature/Systems/SharedTemperatureSystem.cs @@ -0,0 +1,80 @@ +using System.Linq; +using Content.Shared.Movement.Components; +using Content.Shared.Movement.Systems; +using Content.Shared.Temperature.Components; +using Robust.Shared.Timing; + +namespace Content.Shared.Temperature.Systems; + +/// +/// This handles predicting temperature based speedup. +/// +public sealed class SharedTemperatureSystem : EntitySystem +{ + [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly MovementSpeedModifierSystem _movementSpeedModifier = default!; + + /// + /// Band-aid for unpredicted atmos. Delays the application for a short period so that laggy clients can get the replicated temperature. + /// + private static readonly TimeSpan SlowdownApplicationDelay = TimeSpan.FromSeconds(1f); + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnTemperatureChanged); + SubscribeLocalEvent(OnRefreshMovementSpeedModifiers); + } + + private void OnTemperatureChanged(Entity ent, ref OnTemperatureChangeEvent args) + { + foreach (var (threshold, modifier) in ent.Comp.Thresholds) + { + if (args.CurrentTemperature < threshold && args.LastTemperature > threshold || + args.CurrentTemperature > threshold && args.LastTemperature < threshold) + { + ent.Comp.NextSlowdownUpdate = _timing.CurTime + SlowdownApplicationDelay; + ent.Comp.CurrentSpeedModifier = modifier; + Dirty(ent); + break; + } + } + + var maxThreshold = ent.Comp.Thresholds.Max(p => p.Key); + if (args.CurrentTemperature > maxThreshold && args.LastTemperature < maxThreshold) + { + ent.Comp.NextSlowdownUpdate = _timing.CurTime + SlowdownApplicationDelay; + ent.Comp.CurrentSpeedModifier = null; + Dirty(ent); + } + } + + private void OnRefreshMovementSpeedModifiers(Entity ent, ref RefreshMovementSpeedModifiersEvent args) + { + // Don't update speed and mispredict while we're compensating for lag. + if (ent.Comp.NextSlowdownUpdate != null || ent.Comp.CurrentSpeedModifier == null) + return; + + args.ModifySpeed(ent.Comp.CurrentSpeedModifier.Value, ent.Comp.CurrentSpeedModifier.Value); + } + + public override void Update(float frameTime) + { + base.Update(frameTime); + + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out var temp, out var movement)) + { + if (temp.NextSlowdownUpdate == null) + continue; + + if (_timing.CurTime < temp.NextSlowdownUpdate) + continue; + + temp.NextSlowdownUpdate = null; + _movementSpeedModifier.RefreshMovementSpeedModifiers(uid, movement); + Dirty(uid, temp); + } + } +} diff --git a/Content.Shared/Temperature/TemperatureEvents.cs b/Content.Shared/Temperature/TemperatureEvents.cs index ac12224868f..7a26d07e306 100644 --- a/Content.Shared/Temperature/TemperatureEvents.cs +++ b/Content.Shared/Temperature/TemperatureEvents.cs @@ -13,3 +13,18 @@ public ModifyChangedTemperatureEvent(float temperature) TemperatureDelta = temperature; } } + +public sealed class OnTemperatureChangeEvent : EntityEventArgs +{ + public readonly float CurrentTemperature; + public readonly float LastTemperature; + public readonly float TemperatureDelta; + + public OnTemperatureChangeEvent(float current, float last, float delta) + { + CurrentTemperature = current; + LastTemperature = last; + TemperatureDelta = delta; + } +} + diff --git a/Content.Shared/_DV/Actions/Events/ChitziteActionEvent.cs b/Content.Shared/_DV/Actions/Events/ChitziteActionEvent.cs new file mode 100644 index 00000000000..a36bd148d61 --- /dev/null +++ b/Content.Shared/_DV/Actions/Events/ChitziteActionEvent.cs @@ -0,0 +1,3 @@ +namespace Content.Shared.Actions.Events; + +public sealed partial class ChitziteActionEvent : InstantActionEvent {} diff --git a/Resources/Audio/DeltaV/Voice/Chitinid/attributions.yml b/Resources/Audio/DeltaV/Voice/Chitinid/attributions.yml new file mode 100644 index 00000000000..5d6386b81d6 --- /dev/null +++ b/Resources/Audio/DeltaV/Voice/Chitinid/attributions.yml @@ -0,0 +1,9 @@ +- files: ["moth_scream.ogg"] + license: "CC-BY-SA-3.0" + copyright: "Taken from https://github.com/tgstation/tgstation/commit/31c19654e0f641166ecd80c672ea05362fd19488" + source: "https://github.com/tgstation/tgstation/commits/master/sound/voice/moth/scream_moth.ogg" + +- files: ["moth_laugh.ogg, moth_chitter.ogg, moth_squeak.ogg"] + license: "CC-BY-SA-3.0" + copyright: "Taken from https://github.com/BeeStation/BeeStation-Hornet/commit/11ba3fa04105c93dd96a63ad4afaef4b20c02d0d" + source: "https://github.com/BeeStation/BeeStation-Hornet/blob/11ba3fa04105c93dd96a63ad4afaef4b20c02d0d/sound/emotes/" diff --git a/Resources/Audio/DeltaV/Voice/Chitinid/male_cough_1.ogg b/Resources/Audio/DeltaV/Voice/Chitinid/male_cough_1.ogg new file mode 100644 index 00000000000..8ddc4202447 Binary files /dev/null and b/Resources/Audio/DeltaV/Voice/Chitinid/male_cough_1.ogg differ diff --git a/Resources/Audio/DeltaV/Voice/Chitinid/moth_chitter.ogg b/Resources/Audio/DeltaV/Voice/Chitinid/moth_chitter.ogg new file mode 100644 index 00000000000..b7240a56536 Binary files /dev/null and b/Resources/Audio/DeltaV/Voice/Chitinid/moth_chitter.ogg differ diff --git a/Resources/Audio/DeltaV/Voice/Chitinid/moth_laugh.ogg b/Resources/Audio/DeltaV/Voice/Chitinid/moth_laugh.ogg new file mode 100644 index 00000000000..d3c2865ab64 Binary files /dev/null and b/Resources/Audio/DeltaV/Voice/Chitinid/moth_laugh.ogg differ diff --git a/Resources/Audio/DeltaV/Voice/Chitinid/moth_scream.ogg b/Resources/Audio/DeltaV/Voice/Chitinid/moth_scream.ogg new file mode 100644 index 00000000000..482086fb630 Binary files /dev/null and b/Resources/Audio/DeltaV/Voice/Chitinid/moth_scream.ogg differ diff --git a/Resources/Audio/DeltaV/Voice/Chitinid/moth_squeak.ogg b/Resources/Audio/DeltaV/Voice/Chitinid/moth_squeak.ogg new file mode 100644 index 00000000000..5b77d98e565 Binary files /dev/null and b/Resources/Audio/DeltaV/Voice/Chitinid/moth_squeak.ogg differ diff --git a/Resources/Audio/_DV/Voice/Chitinid/attributions.yml b/Resources/Audio/_DV/Voice/Chitinid/attributions.yml new file mode 100644 index 00000000000..5d6386b81d6 --- /dev/null +++ b/Resources/Audio/_DV/Voice/Chitinid/attributions.yml @@ -0,0 +1,9 @@ +- files: ["moth_scream.ogg"] + license: "CC-BY-SA-3.0" + copyright: "Taken from https://github.com/tgstation/tgstation/commit/31c19654e0f641166ecd80c672ea05362fd19488" + source: "https://github.com/tgstation/tgstation/commits/master/sound/voice/moth/scream_moth.ogg" + +- files: ["moth_laugh.ogg, moth_chitter.ogg, moth_squeak.ogg"] + license: "CC-BY-SA-3.0" + copyright: "Taken from https://github.com/BeeStation/BeeStation-Hornet/commit/11ba3fa04105c93dd96a63ad4afaef4b20c02d0d" + source: "https://github.com/BeeStation/BeeStation-Hornet/blob/11ba3fa04105c93dd96a63ad4afaef4b20c02d0d/sound/emotes/" diff --git a/Resources/Audio/_DV/Voice/Chitinid/male_cough_1.ogg b/Resources/Audio/_DV/Voice/Chitinid/male_cough_1.ogg new file mode 100644 index 00000000000..8ddc4202447 Binary files /dev/null and b/Resources/Audio/_DV/Voice/Chitinid/male_cough_1.ogg differ diff --git a/Resources/Audio/_DV/Voice/Chitinid/moth_chitter.ogg b/Resources/Audio/_DV/Voice/Chitinid/moth_chitter.ogg new file mode 100644 index 00000000000..b7240a56536 Binary files /dev/null and b/Resources/Audio/_DV/Voice/Chitinid/moth_chitter.ogg differ diff --git a/Resources/Audio/_DV/Voice/Chitinid/moth_laugh.ogg b/Resources/Audio/_DV/Voice/Chitinid/moth_laugh.ogg new file mode 100644 index 00000000000..d3c2865ab64 Binary files /dev/null and b/Resources/Audio/_DV/Voice/Chitinid/moth_laugh.ogg differ diff --git a/Resources/Audio/_DV/Voice/Chitinid/moth_scream.ogg b/Resources/Audio/_DV/Voice/Chitinid/moth_scream.ogg new file mode 100644 index 00000000000..482086fb630 Binary files /dev/null and b/Resources/Audio/_DV/Voice/Chitinid/moth_scream.ogg differ diff --git a/Resources/Audio/_DV/Voice/Chitinid/moth_squeak.ogg b/Resources/Audio/_DV/Voice/Chitinid/moth_squeak.ogg new file mode 100644 index 00000000000..5b77d98e565 Binary files /dev/null and b/Resources/Audio/_DV/Voice/Chitinid/moth_squeak.ogg differ diff --git a/Resources/Fonts/Only_You.otf b/Resources/Fonts/Only_You.otf new file mode 100644 index 00000000000..cd7f3547e0b Binary files /dev/null and b/Resources/Fonts/Only_You.otf differ diff --git a/Resources/Locale/en-US/abilities/chitinid.ftl b/Resources/Locale/en-US/abilities/chitinid.ftl new file mode 100644 index 00000000000..e2e10c0eb4e --- /dev/null +++ b/Resources/Locale/en-US/abilities/chitinid.ftl @@ -0,0 +1,2 @@ +chitzite-mask = Take off your {$mask} first. +chitzite-cough = {CAPITALIZE(THE($name))} starts coughing up a hunk of Chitzite! diff --git a/Resources/Locale/en-US/chat/managers/chat-language.ftl b/Resources/Locale/en-US/chat/managers/chat-language.ftl index 00c41130eaa..422cd4e55b5 100644 --- a/Resources/Locale/en-US/chat/managers/chat-language.ftl +++ b/Resources/Locale/en-US/chat/managers/chat-language.ftl @@ -15,6 +15,7 @@ chat-language-RobotTalk-name = Binary chat-language-ValyrianStandard-name = Valyrian chat-language-Sign-name = Sign chat-language-Marish-name = Marish +chat-language-Chittin-name = Chittin # Animal Languages diff --git a/Resources/Locale/en-US/chemistry/components/injector-component.ftl b/Resources/Locale/en-US/chemistry/components/injector-component.ftl index 24f524081e0..0b7d485daf5 100644 --- a/Resources/Locale/en-US/chemistry/components/injector-component.ftl +++ b/Resources/Locale/en-US/chemistry/components/injector-component.ftl @@ -27,3 +27,4 @@ injector-component-drawing-user = You start drawing the needle. injector-component-injecting-user = You start injecting the needle. injector-component-drawing-target = {CAPITALIZE(THE($user))} is trying to use a needle to draw from you! injector-component-injecting-target = {CAPITALIZE(THE($user))} is trying to inject a needle into you! +injector-component-deny-chitinid = {CAPITALIZE(THE($target))}'s exoskeleton is too thick for the needle to pierce. diff --git a/Resources/Locale/en-US/deltav/chat/managers/chat_manager.ftl b/Resources/Locale/en-US/deltav/chat/managers/chat_manager.ftl index 22cc34b2714..7602189d5cc 100644 --- a/Resources/Locale/en-US/deltav/chat/managers/chat_manager.ftl +++ b/Resources/Locale/en-US/deltav/chat/managers/chat_manager.ftl @@ -15,3 +15,9 @@ chat-speech-verb-harpy-1 = chirps chat-speech-verb-harpy-2 = tweets chat-speech-verb-harpy-3 = caws chat-speech-verb-harpy-4 = trills + +chat-speech-verb-name-chitinid = Chitinid +chat-speech-verb-chitinid-1 = clicks +chat-speech-verb-chitinid-2 = chitters +chat-speech-verb-chitinid-3 = hisses +chat-speech-verb-chitinid-4 = buzzes diff --git a/Resources/Locale/en-US/deltav/markings/chitinid.ftl b/Resources/Locale/en-US/deltav/markings/chitinid.ftl new file mode 100644 index 00000000000..be5ae5896a7 --- /dev/null +++ b/Resources/Locale/en-US/deltav/markings/chitinid.ftl @@ -0,0 +1,164 @@ +marking-ChitinidAntennasDefault-default = Antennae +marking-ChitinidAntennasDefault = Antennae (Default) + +marking-ChitinidAntennasCurly-curly = Antennae +marking-ChitinidAntennasCurly = Antennae (Curly) + +marking-ChitinidAntennasGray-gray = Antennae +marking-ChitinidAntennasGray = Antennae (Gray) + +marking-ChitinidAntennasSlick-slick = Antennae +marking-ChitinidAntennasSlick = Antennae (Slick) + +marking-ChitinidAntennasShort-short = Antennae +marking-ChitinidAntennasShort = Antennae (short) + +marking-ChitinidAntennasLong-long = Antennae +marking-ChitinidAntennasLong = Antennae (Long) + +marking-ChitinidAntennasBee-bee = Antennae +marking-ChitinidAntennasBee = Antennae (Bee) + +marking-ChitinidAntennasFirefly-firefly_primary = Primary +marking-ChitinidAntennasFirefly-firefly_secondary = Secondary +marking-ChitinidAntennasFirefly = Antennae (Firefly) + +marking-ChitinidAntennasRadar-radar = Antennae +marking-ChitinidAntennasRadar = Antennae (Radar) + +marking-ChitinidAntennasSpeed-speed = Antennae +marking-ChitinidAntennasSpeed = Antennae (Speed) + + + +marking-ChitinidWingsDefault-default = Wing +marking-ChitinidWingsDefault = Tail (Default) + +marking-ChitinidWingsSmooth-smooth = Wing +marking-ChitinidWingsSmooth = Tail (Smooth) + +marking-ChitinidWingsHoneypot-honeypot_primary = Primary +marking-ChitinidWingsHoneypot-honeypot_secondary = Secondary +marking-ChitinidWingsHoneypot = Tail (Honeypot) + +marking-ChitinidWingsStubby-stubby = Wing +marking-ChitinidWingsStubby = Tail (Stubby) + +marking-ChitinidWingsBee-bee_primary = Primary +marking-ChitinidWingsBee-bee_secondary = Secondary +marking-ChitinidWingsBee = Tail (Bee) + +marking-ChitinidWingsFirefly-firefly_primary = Primary +marking-ChitinidWingsFirefly-firefly_secondary = Secondary +marking-ChitinidWingsFirefly = Tail (Firefly) + + + +marking-ChitinidChestCharred-charred_chest = Chest +marking-ChitinidChestCharred = Chitinid Chest (Charred) + +marking-ChitinidHeadCharred-charred_head = Head +marking-ChitinidHeadCharred = Chitinid Head (Charred) + +marking-ChitinidLLegCharred-charred_l_leg = Left Leg +marking-ChitinidLLegCharred = Chitinid Left Leg (Charred) + +marking-ChitinidRLegCharred-charred_r_leg = Right Leg +marking-ChitinidRLegCharred = Chitinid Right Leg (Charred) + +marking-ChitinidLArmCharred-charred_l_arm = Left Arm +marking-ChitinidLArmCharred = Chitinid Left Arm (Charred) + +marking-ChitinidRArmCharred-charred_r_arm = Right Arm +marking-ChitinidRArmCharred = Chitinid Right Arm (Charred) + + + +marking-ChitinidChestPlated-plated_chest = Chest +marking-ChitinidChestPlated = Chitinid Chest (Plated) + +marking-ChitinidLArmPlated-plated_l_arm = Left Arm +marking-ChitinidLArmPlated = Chitinid Left Arm (Plated) + +marking-ChitinidRArmPlated-plated_r_arm = Right Arm +marking-ChitinidRArmPlated = Chitinid Right Arm (Plated) + + + +marking-ChitinidChestStripes-stripes_chest = Chest +marking-ChitinidChestStripes = Chitinid Chest (Stripes) + +marking-ChitinidHeadStripes-stripes_head = Head +marking-ChitinidHeadStripes = Chitinid Head (Stripes) + +marking-ChitinidLLegStripes-stripes_l_leg = Left Leg +marking-ChitinidLLegStripes = Chitinid Left Leg (Stripes) + +marking-ChitinidRLegStripes-stripes_r_leg = Right Leg +marking-ChitinidRLegStripes = Chitinid Right Leg (Stripes) + +marking-ChitinidLArmStripes-stripes_l_arm = Left Arm +marking-ChitinidLArmStripes = Chitinid Left Arm (Stripes) + +marking-ChitinidRArmStripes-stripes_r_arm = Right Arm +marking-ChitinidRArmStripes = Chitinid Right Arm (Stripes) + + + +marking-ChitinidChestRadiant-radiant_chest = Chest +marking-ChitinidChestRadiant = Chitinid Chest (Radiant) + +marking-ChitinidHeadRadiant-radiant_head = Head +marking-ChitinidHeadRadiant = Chitinid Head (Radiant) + +marking-ChitinidLLegRadiant-radiant_l_leg = Left Leg +marking-ChitinidLLegRadiant = Chitinid Left Leg (Radiant) + +marking-ChitinidRLegRadiant-radiant_r_leg = Right Leg +marking-ChitinidRLegRadiant = Chitinid Right Leg (Radiant) + +marking-ChitinidLArmRadiant-radiant_l_arm = Left Arm +marking-ChitinidLArmRadiant = Chitinid Left Arm (Radiant) + +marking-ChitinidRArmRadiant-radiant_r_arm = Right Arm +marking-ChitinidRArmRadiant = Chitinid Right Arm (Radiant) + + + +marking-ChitinidChestToxic-toxic_chest = Chest +marking-ChitinidChestToxic = Chitinid Chest (Toxic) + +marking-ChitinidHeadToxic-toxic_head = Head +marking-ChitinidHeadToxic = Chitinid Head (Toxic) + +marking-ChitinidLLegToxic-toxic_l_leg = Left Leg +marking-ChitinidLLegToxic = Chitinid Left Leg (Toxic) + +marking-ChitinidRLegToxic-toxic_r_leg = Right Leg +marking-ChitinidRLegToxic = Chitinid Right Leg (Toxic) + +marking-ChitinidLArmToxic-toxic_l_arm = Left Arm +marking-ChitinidLArmToxic = Chitinid Left Arm (Toxic) + +marking-ChitinidRArmToxic-toxic_r_arm = Right Arm +marking-ChitinidRArmToxic = Chitinid Right Arm (Toxic) + + + +marking-ChitinidChestSpotted-spotted_chest = Chest +marking-ChitinidChestSpotted = Chitinid Chest (Spotted) + +marking-ChitinidHeadSpotted-spotted_head = Head +marking-ChitinidHeadSpotted = Chitinid Head (Spotted) + +marking-ChitinidLLegSpotted-spotted_l_leg = Left Leg +marking-ChitinidLLegSpotted = Chitinid Left Leg (Spotted) + +marking-ChitinidRLegSpotted-spotted_r_leg = Right Leg +marking-ChitinidRLegSpotted = Chitinid Right Leg (Spotted) + +marking-ChitinidLArmSpotted-spotted_l_arm = Left Arm +marking-ChitinidLArmSpotted = Chitinid Left Arm (Spotted) + +marking-ChitinidRArmSpotted-spotted_r_arm = Right Arm +marking-ChitinidRArmSpotted = Chitinid Right Arm (Spotted) diff --git a/Resources/Locale/en-US/deltav/species/species.ftl b/Resources/Locale/en-US/deltav/species/species.ftl index 83437bd651f..9f3c8a5ffe8 100644 --- a/Resources/Locale/en-US/deltav/species/species.ftl +++ b/Resources/Locale/en-US/deltav/species/species.ftl @@ -2,3 +2,4 @@ species-name-vulpkanin = Vulpkanin species-name-harpy = Harpy +species-name-chitinid = Chitinid diff --git a/Resources/Locale/en-US/language/languages.ftl b/Resources/Locale/en-US/language/languages.ftl index fb3b1a1d046..c3147678aae 100644 --- a/Resources/Locale/en-US/language/languages.ftl +++ b/Resources/Locale/en-US/language/languages.ftl @@ -70,6 +70,11 @@ language-ValyrianStandard-description = It is rarely spoken outside of the worlds of its native speakers, and has in modern times been supplanted by the 'Conlangs of the Sol Alliance. Its speakers are those who wish to uphold the traditions and beliefs of ancient peoples from before the colonial era. +language-Chittin-name = Chittin +language-Chittin-description = + A language consisting of clicks, buzzes, and some variety of harsh insect sounds. + Most of what makes up their speech comes from their antennae, making it a near-impossible language for those without to learn. + # Animal Languages language-Cat-name = Cat diff --git a/Resources/Prototypes/DeltaV/Actions/types.yml b/Resources/Prototypes/DeltaV/Actions/types.yml new file mode 100644 index 00000000000..831763df510 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Actions/types.yml @@ -0,0 +1,12 @@ +- type: entity + id: ActionChitzite + name: Cough Up Chitzite + description: Purge the excess radiation build-up from your body by expelling it as a mass of toxic material. + components: + - type: InstantAction + charges: 0 + enabled: false + maxCharges: 1 + icon: { sprite: DeltaV/Objects/Specific/Species/chitinid.rsi, state: chitzite } + useDelay: 300 + event: !type:ChitziteActionEvent \ No newline at end of file diff --git a/Resources/Prototypes/DeltaV/Body/Organs/chitinid.yml b/Resources/Prototypes/DeltaV/Body/Organs/chitinid.yml new file mode 100644 index 00000000000..38a0e0b2219 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Body/Organs/chitinid.yml @@ -0,0 +1,33 @@ +- type: entity + id: OrganChitinidStomach + parent: [OrganAnimalStomach, OrganHumanStomach] + name: stomach + description: "Gross. This is hard to stomach." + components: + - type: Organ # Shitmed Change + slotId: stomach # Shitmed Change + - type: Sprite + state: stomach + - type: Item + size: Small + heldPrefix: stomach + - type: SolutionContainerManager + solutions: + stomach: + maxVol: 50 + food: + maxVol: 5 + reagents: + - ReagentId: UncookedAnimalProteins + Quantity: 5 + - type: Stomach + # The stomach metabolizes stuff like foods and drinks. + # TODO: Have it work off of the ent's solution container, and move this + # to intestines instead. + - type: Metabolizer + # mm yummy + maxReagents: 3 + metabolizerTypes: [Human] + groups: + - id: Food + - id: Drink diff --git a/Resources/Prototypes/DeltaV/Body/Parts/chitinid.yml b/Resources/Prototypes/DeltaV/Body/Parts/chitinid.yml new file mode 100644 index 00000000000..507ba70f487 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Body/Parts/chitinid.yml @@ -0,0 +1,112 @@ +# TODO: Add descriptions (many) +# TODO BODY: Part damage +- type: entity + id: PartChitinidBase + parent: [BaseItem, BasePart] + name: "Chitinid body part" + abstract: true + components: + - type: Sprite + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + - type: Extractable + juiceSolution: + reagents: + - ReagentId: Fat + Quantity: 3 + - ReagentId: Blood + Quantity: 10 + +- type: entity + id: TorsoChitinid + name: "chitinid torso" + parent: [PartChitinidBase, BaseTorso] + components: + - type: Sprite + state: "torso_m" + - type: Extractable + juiceSolution: + reagents: + - ReagentId: Fat + Quantity: 10 + - ReagentId: Blood + Quantity: 20 + + +- type: entity + id: HeadChitinid + name: "chitinid head" + parent: [PartChitinidBase, BaseHead] + components: + - type: Sprite + state: "head_m" + - type: Extractable + juiceSolution: + reagents: + - ReagentId: Fat + Quantity: 5 + - ReagentId: Blood + Quantity: 10 + +- type: entity + id: LeftArmChitinid + name: "left chitinid arm" + parent: [PartChitinidBase, BaseLeftArm] + components: + - type: Sprite + state: "l_arm" + +- type: entity + id: RightArmChitinid + name: "right chitinid arm" + parent: [PartChitinidBase, BaseRightArm] + components: + - type: Sprite + state: "r_arm" + +- type: entity + id: LeftHandChitinid + name: "left chitinid hand" + parent: [PartChitinidBase, BaseLeftHand] + components: + - type: Sprite + state: "l_hand" + +- type: entity + id: RightHandChitinid + name: "right chitinid hand" + parent: [PartChitinidBase, BaseRightHand] + components: + - type: Sprite + state: "r_hand" + +- type: entity + id: LeftLegChitinid + name: "left chitinid leg" + parent: [PartChitinidBase, BaseLeftLeg] + components: + - type: Sprite + state: "l_leg" + +- type: entity + id: RightLegChitinid + name: "right chitinid leg" + parent: [PartChitinidBase, BaseRightLeg] + components: + - type: Sprite + state: "r_leg" + +- type: entity + id: LeftFootChitinid + name: "left chitinid foot" + parent: [PartChitinidBase, BaseLeftFoot] + components: + - type: Sprite + state: "l_foot" + +- type: entity + id: RightFootChitinid + name: "right chitinid foot" + parent: [PartChitinidBase, BaseRightFoot] + components: + - type: Sprite + state: "r_foot" diff --git a/Resources/Prototypes/DeltaV/Body/Prototypes/chitinid.yml b/Resources/Prototypes/DeltaV/Body/Prototypes/chitinid.yml new file mode 100644 index 00000000000..18428a67a6c --- /dev/null +++ b/Resources/Prototypes/DeltaV/Body/Prototypes/chitinid.yml @@ -0,0 +1,49 @@ +- type: body + id: Chitinid + name: "chitinid" + root: torso + slots: + head: + part: HeadChitinid + connections: + - torso + organs: + brain: OrganHumanBrain + eyes: OrganHumanEyes + torso: + part: TorsoChitinid + organs: + heart: OrganAnimalHeart + lungs: OrganHumanLungs + stomach: OrganChitinidStomach + liver: OrganAnimalLiver + kidneys: OrganHumanKidneys + connections: + - right arm + - left arm + - right leg + - left leg + right arm: + part: RightArmChitinid + connections: + - right hand + left arm: + part: LeftArmChitinid + connections: + - left hand + right hand: + part: RightHandChitinid + left hand: + part: LeftHandChitinid + right leg: + part: RightLegChitinid + connections: + - right foot + left leg: + part: LeftLegChitinid + connections: + - left foot + right foot: + part: RightFootChitinid + left foot: + part: LeftFootChitinid diff --git a/Resources/Prototypes/DeltaV/Damage/modifier_sets.yml b/Resources/Prototypes/DeltaV/Damage/modifier_sets.yml index b389378eb01..2dbfe44d87f 100644 --- a/Resources/Prototypes/DeltaV/Damage/modifier_sets.yml +++ b/Resources/Prototypes/DeltaV/Damage/modifier_sets.yml @@ -10,3 +10,12 @@ Blunt: 1.15 Slash: 1.15 Piercing: 1.15 + +- type: damageModifierSet + id: Chitinid + coefficients: + Blunt: 1.15 + Piercing: 1.25 + Slash: 0.9 + Cold: 1.1 + Radiation: 0.2 \ No newline at end of file diff --git a/Resources/Prototypes/DeltaV/Datasets/Names/chitinid_first_female.yml b/Resources/Prototypes/DeltaV/Datasets/Names/chitinid_first_female.yml new file mode 100644 index 00000000000..be91ea31509 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Datasets/Names/chitinid_first_female.yml @@ -0,0 +1,34 @@ +- type: dataset + id: NamesChitinidFirstFemale + values: + - Amer'ix + - An'bela + - An'ora + - Aza'ran + - Be'riah + - Bel'os + - Da'lrah + - Di'azo + - E'nzo + - Em'era + - Fi'n'rah + - He'teka + - Ir'iska + - Ish'kar + - Isha'ba + - Jes'sri'ka + - Kalz'za + - Kaz'zek + - Lot'tikz + - Ral'zol + - Ri'isano + - Talzz'ark + - Tess'ara + - Tez'mal'zar + - Thri'kis + - Vani'si'kar + - Ve'rai + - Vish'ra + - Zan'ova + - Zen'ofi + - Zzer'ak diff --git a/Resources/Prototypes/DeltaV/Datasets/Names/chitinid_first_male.yml b/Resources/Prototypes/DeltaV/Datasets/Names/chitinid_first_male.yml new file mode 100644 index 00000000000..355f5cffb9b --- /dev/null +++ b/Resources/Prototypes/DeltaV/Datasets/Names/chitinid_first_male.yml @@ -0,0 +1,36 @@ +- type: dataset + id: NamesChitinidFirstMale + values: + - Al'vos + - Amue'val + - Barma'tos + - Ben'idar + - Bil'verrok + - Crik'xis + - Daru'nta + - Dee'aldas + - Drx'var + - Hen'sra + - Hux'von + - Ilv'imon + - Is'irax + - Ish'nax + - Jax'zaril'va + - L'ofa + - Lo'zok + - Lu'vurx + - Luc'irax + - Mer'tex + - Od'dalis + - Si'ley + - Sim'sker + - Tal'vos + - Ti'ril + - Vir'lker + - Vir'muel + - Vix'vol + - Von'draz + - Vu'lta'voss + - Xixa'ba + - Yarr'wat + - Zay'zz diff --git a/Resources/Prototypes/DeltaV/Entities/Mobs/Customization/Markings/chitinid.yml b/Resources/Prototypes/DeltaV/Entities/Mobs/Customization/Markings/chitinid.yml new file mode 100644 index 00000000000..a8644a4e079 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Entities/Mobs/Customization/Markings/chitinid.yml @@ -0,0 +1,458 @@ +# Antennas +- type: marking + id: ChitinidAntennasDefault + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: default + +- type: marking + id: ChitinidAntennasCurly + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: curly + +- type: marking + id: ChitinidAntennasGray + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: gray + +- type: marking + id: ChitinidAntennasSlick + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: slick + +- type: marking + id: ChitinidAntennasLong + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: long + +- type: marking + id: ChitinidAntennasBee + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: bee + +- type: marking + id: ChitinidAntennasShort + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: short + +- type: marking + id: ChitinidAntennasFirefly + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: firefly_primary + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: firefly_secondary + +- type: marking + id: ChitinidAntennasRadar + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: radar + +- type: marking + id: ChitinidAntennasSpeed + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi + state: speed + + +# Wings +- type: marking + id: ChitinidWingsDefault + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: default + +- type: marking + id: ChitinidWingsSmooth + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: smooth + +- type: marking + id: ChitinidWingsHoneypot + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: honeypot_primary + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: honeypot_secondary + +- type: marking + id: ChitinidWingsStubby + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: stubby + +- type: marking + id: ChitinidWingsBee + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: bee_primary + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: bee_secondary + +- type: marking + id: ChitinidWingsFirefly + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: firefly_primary + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi + state: firefly_secondary + +# Body markings: +# Charred +- type: marking + id: ChitinidChestCharred + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: charred_chest + +- type: marking + id: ChitinidHeadCharred + bodyPart: Head + markingCategory: Head + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: charred_head + +- type: marking + id: ChitinidLLegCharred + bodyPart: LLeg + markingCategory: LeftLeg + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: charred_l_leg + +- type: marking + id: ChitinidRLegCharred + bodyPart: RLeg + markingCategory: RightLeg + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: charred_r_leg + +- type: marking + id: ChitinidLArmCharred + bodyPart: LArm + markingCategory: LeftArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: charred_l_arm + +- type: marking + id: ChitinidRArmCharred + bodyPart: RArm + markingCategory: RightArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: charred_r_arm + +# Plated +- type: marking + id: ChitinidChestPlated + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: plated_chest + +- type: marking + id: ChitinidLArmPlated + bodyPart: LArm + markingCategory: LeftArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: plated_l_arm + +- type: marking + id: ChitinidRArmPlated + bodyPart: RArm + markingCategory: RightArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: plated_r_arm + +# Stripes +- type: marking + id: ChitinidChestStripes + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: stripes_chest + +- type: marking + id: ChitinidHeadStripes + bodyPart: Head + markingCategory: Head + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: stripes_head + +- type: marking + id: ChitinidLLegStripes + bodyPart: LLeg + markingCategory: LeftLeg + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: stripes_l_leg + +- type: marking + id: ChitinidRLegStripes + bodyPart: RLeg + markingCategory: RightLeg + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: stripes_r_leg + +- type: marking + id: ChitinidLArmStripes + bodyPart: LArm + markingCategory: LeftArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: stripes_l_arm + +- type: marking + id: ChitinidRArmStripes + bodyPart: RArm + markingCategory: RightArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: stripes_r_arm + +# Radiant +- type: marking + id: ChitinidChestRadiant + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: radiant_chest + +- type: marking + id: ChitinidHeadRadiant + bodyPart: Head + markingCategory: Head + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: radiant_head + +- type: marking + id: ChitinidLLegRadiant + bodyPart: LLeg + markingCategory: LeftLeg + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: radiant_l_leg + +- type: marking + id: ChitinidRLegRadiant + bodyPart: RLeg + markingCategory: RightLeg + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: radiant_r_leg + +- type: marking + id: ChitinidLArmRadiant + bodyPart: LArm + markingCategory: LeftArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: radiant_l_arm + +- type: marking + id: ChitinidRArmRadiant + bodyPart: RArm + markingCategory: RightArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: radiant_r_arm + +# Toxic +- type: marking + id: ChitinidChestToxic + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: toxic_chest + +- type: marking + id: ChitinidHeadToxic + bodyPart: Head + markingCategory: Head + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: toxic_head + +- type: marking + id: ChitinidLLegToxic + bodyPart: LLeg + markingCategory: LeftLeg + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: toxic_l_leg + +- type: marking + id: ChitinidRLegToxic + bodyPart: RLeg + markingCategory: RightLeg + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: toxic_r_leg + +- type: marking + id: ChitinidLArmToxic + bodyPart: LArm + markingCategory: LeftArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: toxic_l_arm + +- type: marking + id: ChitinidRArmToxic + bodyPart: RArm + markingCategory: RightArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: toxic_r_arm + +# Spotted +- type: marking + id: ChitinidChestSpotted + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: spotted_chest + +- type: marking + id: ChitinidHeadSpotted + bodyPart: Head + markingCategory: Head + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: spotted_head + +- type: marking + id: ChitinidLLegSpotted + bodyPart: LLeg + markingCategory: LeftLeg + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: spotted_l_leg + +- type: marking + id: ChitinidRLegSpotted + bodyPart: RLeg + markingCategory: RightLeg + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: spotted_r_leg + +- type: marking + id: ChitinidLArmSpotted + bodyPart: LArm + markingCategory: LeftArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: spotted_l_arm + +- type: marking + id: ChitinidRArmSpotted + bodyPart: RArm + markingCategory: RightArm + speciesRestriction: [Chitinid] + sprites: + - sprite: DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi + state: spotted_r_arm diff --git a/Resources/Prototypes/DeltaV/Entities/Mobs/Player/chitinid.yml b/Resources/Prototypes/DeltaV/Entities/Mobs/Player/chitinid.yml new file mode 100644 index 00000000000..4c8a7847315 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Entities/Mobs/Player/chitinid.yml @@ -0,0 +1,5 @@ +- type: entity + save: false + name: Urist McAnt + parent: BaseMobChitinid + id: MobChitinid diff --git a/Resources/Prototypes/DeltaV/Entities/Mobs/Species/chitinid.yml b/Resources/Prototypes/DeltaV/Entities/Mobs/Species/chitinid.yml new file mode 100644 index 00000000000..2dfd1101844 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Entities/Mobs/Species/chitinid.yml @@ -0,0 +1,169 @@ +- type: entity + save: false + name: Urist McAnt + parent: BaseMobSpeciesOrganic + id: BaseMobChitinid + abstract: true + components: + - type: HumanoidAppearance + species: Chitinid + hideLayersOnEquip: + - HeadTop + + - type: Hunger + baseDecayRate: 0.0467 #needs to eat more to survive + - type: Thirst + + - type: UnpoweredFlashlight + - type: PointLight + enabled: false + radius: 3 + softness: 5 + color: "#2CFA1F" + autoRot: true + + - type: Carriable + + - type: Icon + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: full + + - type: Body + prototype: Chitinid + requiredLegs: 2 + + - type: Damageable + damageContainer: Biological + damageModifierSet: Chitinid + + - type: Speech + speechVerb: Chitinid + allowedEmotes: ['Chitter', 'Click', 'Hiss'] + + - type: MeleeWeapon + animation: WeaponArcBite + soundHit: + path: /Audio/Effects/bite.ogg + damage: + types: + Piercing: 5 + + + - type: TypingIndicator + proto: Chitinid + + - type: Butcherable + butcheringType: Spike + spawned: + - id: FoodMeat + amount: 5 + + - type: Bloodstream + bloodReagent: InsectBlood + + - type: DamageVisuals + damageOverlayGroups: + Brute: + sprite: Mobs/Effects/brute_damage.rsi + color: "#808A51" + Burn: + sprite: Mobs/Effects/burn_damage.rsi + + - type: Vocal + sounds: + Male: UnisexChitinid + Female: UnisexChitinid + Unsexed: UnisexChitinid + + - type: Fixtures + fixtures: # TODO: This needs a second fixture just for mob collisions. + fix1: + shape: + !type:PhysShapeCircle + radius: 0.42 + density: 220 + restitution: 0.0 + mask: + - MobMask + layer: + - MobLayer + + - type: Temperature # Ants hate the cold + heatDamageThreshold: 320 + coldDamageThreshold: 230 + currentTemperature: 310.15 + specificHeat: 46 + coldDamage: + types: + Cold : 1.25 #per second, scales with temperature & other constants + heatDamage: + types: + Heat : 1.0 #per second, scales with temperature & other constants + - type: TemperatureSpeed + thresholds: + 289: 0.6 + 275: 0.4 + 250: 0.3 + + - type: Sprite # sprite again because we want different layer ordering + noRot: true + drawdepth: Mobs + layers: + - map: [ "enum.HumanoidVisualLayers.Chest" ] + - map: [ "enum.HumanoidVisualLayers.Head" ] + - map: [ "enum.HumanoidVisualLayers.Snout" ] + - map: [ "enum.HumanoidVisualLayers.Eyes" ] + - map: [ "enum.HumanoidVisualLayers.RArm" ] + - map: [ "enum.HumanoidVisualLayers.LArm" ] + - map: [ "enum.HumanoidVisualLayers.RLeg" ] + - map: [ "enum.HumanoidVisualLayers.LLeg" ] + - map: [ "jumpsuit" ] + - map: [ "enum.HumanoidVisualLayers.LHand" ] + - map: [ "enum.HumanoidVisualLayers.RHand" ] + - map: [ "enum.HumanoidVisualLayers.LFoot" ] + - map: [ "enum.HumanoidVisualLayers.RFoot" ] + - map: [ "enum.HumanoidVisualLayers.Handcuffs" ] + color: "#ffffff" + sprite: Objects/Misc/handcuffs.rsi + state: body-overlay-2 + visible: false + - map: [ "gloves" ] + - map: [ "shoes" ] + - map: [ "ears" ] + - map: [ "outerClothing" ] + - map: [ "eyes" ] + - map: [ "belt" ] + - map: [ "id" ] + - map: [ "back" ] + - map: [ "neck" ] + - map: [ "enum.HumanoidVisualLayers.Tail" ] #in the utopian future we should probably have a wings enum inserted here so everyhting doesn't break + - map: [ "enum.HumanoidVisualLayers.FacialHair" ] + - map: [ "enum.HumanoidVisualLayers.Hair" ] + - map: [ "enum.HumanoidVisualLayers.HeadSide" ] + - map: [ "enum.HumanoidVisualLayers.HeadTop" ] + - map: [ "mask" ] + - map: [ "head" ] + - map: [ "pocket1" ] + - map: [ "pocket2" ] + - map: [ "clownedon" ] # Dynamically generated + sprite: "Effects/creampie.rsi" + state: "creampie_moth" + visible: false + - type: Chitinid + - type: BlockInjection + blockReason: chitinid + - type: LanguageKnowledge + speaks: + - TauCetiBasic + - Chittin + understands: + - TauCetiBasic + - Chittin + +- type: entity + parent: BaseSpeciesDummy + id: MobChitinidDummy + categories: [ HideSpawnMenu ] + components: + - type: HumanoidAppearance + species: Chitinid diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Specific/Species/chitinid.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Specific/Species/chitinid.yml new file mode 100644 index 00000000000..1e66d4295c0 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Entities/Objects/Specific/Species/chitinid.yml @@ -0,0 +1,33 @@ +- type: entity + parent: BaseItem + id: Chitzite + name: chitzite + description: A small radioactive stone formed in the chest cavity of a radioactive chitinid, gross.... but kinda pretty? + components: + - type: Sprite + sprite: DeltaV/Objects/Specific/Species/chitinid.rsi + layers: + - state: chitzite + - state: chitzite_glow + - type: RadiationSource + intensity: 0.5 + - type: Extractable + grindableSolutionName: chitzite + - type: SolutionContainerManager + solutions: + chitzite: + maxVol: 5 + reagents: + - ReagentId: Uranium + Quantity: 2.5 + - ReagentId: Radium + Quantity: 2.5 + - type: MeleeWeapon + damage: + types: + Blunt: 3 + Radiation: 3 + - type: Tag + tags: + - Recyclable + - Trash diff --git a/Resources/Prototypes/DeltaV/Guidebook/species.yml b/Resources/Prototypes/DeltaV/Guidebook/species.yml new file mode 100644 index 00000000000..d64204e0a76 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Guidebook/species.yml @@ -0,0 +1,4 @@ +- type: guideEntry + id: Chitinid + name: species-name-chitinid + text: "/ServerInfo/Guidebook/Mobs/DeltaV/Chitinid.xml" \ No newline at end of file diff --git a/Resources/Prototypes/DeltaV/Species/chitinid.yml b/Resources/Prototypes/DeltaV/Species/chitinid.yml new file mode 100644 index 00000000000..6fa19aa9fea --- /dev/null +++ b/Resources/Prototypes/DeltaV/Species/chitinid.yml @@ -0,0 +1,165 @@ +- type: species + id: Chitinid + name: species-name-chitinid + roundStart: true + prototype: MobChitinid + sprites: MobChitinidSprites + defaultSkinTone: "#ffda93" + markingLimits: MobChitinidMarkingLimits + dollPrototype: MobChitinidDummy + skinColoration: Hues + maleFirstNames: NamesChitinidFirstMale + femaleFirstNames: NamesChitinidFirstFemale + naming: First + +- type: speciesBaseSprites + id: MobChitinidSprites + sprites: + Head: MobChitinidHead + Snout: MobHumanoidAnyMarking + Chest: MobChitinidTorso + HeadTop: MobHumanoidAnyMarking + HeadSide: MobHumanoidAnyMarking + Tail: MobHumanoidAnyMarking + Eyes: MobChitinidEyes + LArm: MobChitinidLArm + RArm: MobChitinidRArm + LHand: MobChitinidLHand + RHand: MobChitinidRHand + LLeg: MobChitinidLLeg + RLeg: MobChitinidRLeg + LFoot: MobChitinidLFoot + RFoot: MobChitinidRFoot + +- type: humanoidBaseSprite + id: MobChitinidEyes + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: eyes + +- type: markingPoints + id: MobChitinidMarkingLimits + onlyWhitelisted: true + points: + Hair: + points: 0 + required: false + FacialHair: + points: 0 + required: false + Tail: + points: 1 + required: true + defaultMarkings: [ ChitinidWingsDefault ] + Snout: + points: 1 + required: false + HeadTop: + points: 1 + required: true + defaultMarkings: [ ChitinidAntennasDefault ] + HeadSide: + points: 1 + required: false + Head: + points: 1 + required: false + Chest: + points: 1 + required: false + LeftLeg: + points: 2 + required: false + RightLeg: + points: 2 + required: false + LeftArm: + points: 2 + required: false + RightArm: + points: 2 + required: false + +- type: humanoidBaseSprite + id: MobChitinidHead + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: head_m + +- type: humanoidBaseSprite + id: MobChitinidHeadMale + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: head_m + +- type: humanoidBaseSprite + id: MobChitinidHeadFemale + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: head_f + +- type: humanoidBaseSprite + id: MobChitinidTorso + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: torso_m + +- type: humanoidBaseSprite + id: MobChitinidTorsoMale + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: torso_m + +- type: humanoidBaseSprite + id: MobChitinidTorsoFemale + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: torso_f + +- type: humanoidBaseSprite + id: MobChitinidLLeg + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: l_leg + +- type: humanoidBaseSprite + id: MobChitinidLHand + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: l_hand + +- type: humanoidBaseSprite + id: MobChitinidLArm + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: l_arm + +- type: humanoidBaseSprite + id: MobChitinidLFoot + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: l_foot + +- type: humanoidBaseSprite + id: MobChitinidRLeg + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: r_leg + +- type: humanoidBaseSprite + id: MobChitinidRHand + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: r_hand + +- type: humanoidBaseSprite + id: MobChitinidRArm + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: r_arm + +- type: humanoidBaseSprite + id: MobChitinidRFoot + baseSprite: + sprite: DeltaV/Mobs/Species/Chitinid/parts.rsi + state: r_foot diff --git a/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml b/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml index dc725b547e0..18f4258ba7f 100644 --- a/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml +++ b/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml @@ -154,3 +154,31 @@ collection: VulpkaninWhines Howl: collection: VulpkaninHowls + +- type: emoteSounds + id: UnisexChitinid + params: + variation: 0.125 + sounds: + Buzz: + path: /Audio/DeltaV/Voice/Chitinid/moth_scream.ogg + Scream: + path: /Audio/Voice/Arachnid/arachnid_scream.ogg + Laugh: + path: /Audio/DeltaV/Voice/Chitinid/moth_laugh.ogg + Chitter: + path: /Audio/Voice/Arachnid/arachnid_chitter.ogg + Click: + path: /Audio/Voice/Arachnid/arachnid_click.ogg + Crying: + collection: FemaleCry + Weh: + collection: Weh + Sneeze: + collection: MaleSneezes + Cough: + collection: MaleCoughs + Yawn: + collection: MaleYawn + Hiss: + path: /Audio/Animals/snake_hiss.ogg \ No newline at end of file diff --git a/Resources/Prototypes/DeltaV/Voice/speech_sounds.yml b/Resources/Prototypes/DeltaV/Voice/speech_sounds.yml index 89db03d2fcc..0d6a3b7e0ea 100644 --- a/Resources/Prototypes/DeltaV/Voice/speech_sounds.yml +++ b/Resources/Prototypes/DeltaV/Voice/speech_sounds.yml @@ -15,3 +15,12 @@ path: /Audio/DeltaV/Voice/Harpy/chirp1.ogg exclaimSound: path: /Audio/DeltaV/Voice/Harpy/chirp1.ogg + +- type: speechSounds + id: Chitinid + saySound: + path: /Audio/Voice/Talk/speak_1.ogg + askSound: + path: /Audio/Voice/Talk/speak_1_ask.ogg + exclaimSound: + path: /Audio/Voice/Talk/speak_1_exclaim.ogg \ No newline at end of file diff --git a/Resources/Prototypes/DeltaV/Voice/speech_verbs.yml b/Resources/Prototypes/DeltaV/Voice/speech_verbs.yml index 26156fb82db..61750216b63 100644 --- a/Resources/Prototypes/DeltaV/Voice/speech_verbs.yml +++ b/Resources/Prototypes/DeltaV/Voice/speech_verbs.yml @@ -24,3 +24,12 @@ - chat-speech-verb-harpy-2 - chat-speech-verb-harpy-3 - chat-speech-verb-harpy-4 + +- type: speechVerb + id: Chitinid + name: chat-speech-verb-name-chitinid + speechVerbStrings: + - chat-speech-verb-chitinid-1 + - chat-speech-verb-chitinid-2 + - chat-speech-verb-chitinid-3 + - chat-speech-verb-chitinid-4 \ No newline at end of file diff --git a/Resources/Prototypes/DeltaV/typing_indicator.yml b/Resources/Prototypes/DeltaV/typing_indicator.yml index 7cfca9cc95f..e36394581de 100644 --- a/Resources/Prototypes/DeltaV/typing_indicator.yml +++ b/Resources/Prototypes/DeltaV/typing_indicator.yml @@ -4,3 +4,14 @@ typingState: felinid0 offset: 0, 0.2 # 0625 +- type: typingIndicator + id: rodentia + spritePath: /Textures/DeltaV/Effects/speech.rsi + typingState: rodentia0 + offset: 0, 0.2 # 0625 + +- type: typingIndicator + id: Chitinid + spritePath: /Textures/DeltaV/Effects/speech.rsi + typingState: chitinid0 + offset: -0.2, 0.1 # 0625 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/Customization/Markings/gauze.yml b/Resources/Prototypes/Entities/Mobs/Customization/Markings/gauze.yml index c304e9c5314..7ecca4c59ad 100644 --- a/Resources/Prototypes/Entities/Mobs/Customization/Markings/gauze.yml +++ b/Resources/Prototypes/Entities/Mobs/Customization/Markings/gauze.yml @@ -298,7 +298,7 @@ id: GauzeMothBlindfold bodyPart: Eyes markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -312,7 +312,7 @@ id: GauzeMothShoulder bodyPart: Chest markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -326,7 +326,7 @@ id: GauzeMothStomach bodyPart: Chest markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -340,7 +340,7 @@ id: GauzeMothLeftEyePatch bodyPart: Eyes markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -354,7 +354,7 @@ id: GauzeMothLeftEyePad bodyPart: Eyes markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -368,7 +368,7 @@ id: GauzeMothRightEyePatch bodyPart: Eyes markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -382,7 +382,7 @@ id: GauzeMothRightEyePad bodyPart: Eyes markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -396,7 +396,7 @@ id: GauzeMothUpperArmRight bodyPart: RArm markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -410,7 +410,7 @@ id: GauzeMothUpperArmLeft bodyPart: LArm markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -424,7 +424,7 @@ id: GauzeMothUpperLegRight bodyPart: RLeg markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -438,7 +438,7 @@ id: GauzeMothUpperLegLeft bodyPart: LLeg markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -452,7 +452,7 @@ id: GauzeMothLowerLegRight bodyPart: RFoot markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: @@ -466,7 +466,7 @@ id: GauzeMothLowerLegLeft bodyPart: LFoot markingCategory: Overlay - speciesRestriction: [Moth] + speciesRestriction: [Moth, Chitinid] # Delta V - Chitinid coloring: default: type: diff --git a/Resources/Prototypes/Entities/Mobs/Species/base.yml b/Resources/Prototypes/Entities/Mobs/Species/base.yml index bb27e46ba47..b799482b5d0 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/base.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/base.yml @@ -312,6 +312,11 @@ heatDamage: types: Heat: 1.5 #per second, scales with temperature & other constants + - type: TemperatureSpeed + thresholds: + 293: 0.8 + 280: 0.6 + 260: 0.4 - type: ThermalRegulator metabolismHeat: 800 radiatedHeat: 100 diff --git a/Resources/Prototypes/Entities/Mobs/Species/moth.yml b/Resources/Prototypes/Entities/Mobs/Species/moth.yml index 721724460cb..86d8872e3ca 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/moth.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/moth.yml @@ -68,6 +68,11 @@ heatDamage: types: Heat : 3 #per second, scales with temperature & other constants + - type: TemperatureSpeed + thresholds: + 289: 0.8 + 275: 0.6 + 250: 0.4 - type: Sprite # sprite again because we want different layer ordering noRot: true drawdepth: Mobs diff --git a/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml b/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml index 49716a05803..1564fc78ecf 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml @@ -58,6 +58,11 @@ heatDamage: types: Heat : 1.5 #per second, scales with temperature & other constants + - type: TemperatureSpeed + thresholds: + 301: 0.8 + 295: 0.6 + 285: 0.4 - type: Wagging - type: LanguageKnowledge speaks: diff --git a/Resources/Prototypes/Entities/Objects/Devices/translator_implants.yml b/Resources/Prototypes/Entities/Objects/Devices/translator_implants.yml index 97e244798b9..c5a2e1954d9 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/translator_implants.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/translator_implants.yml @@ -156,3 +156,18 @@ - Azaziba requires: - Draconic + +- type: entity + parent: BaseSubdermalImplant + id: ChittinTranslatorImplant + name: chittin translator implant + description: An implant giving the ability to understand and speak Chittin. + categories: [ HideSpawnMenu ] + components: + - type: TranslatorImplant + understood: + - Chittin + spoken: + - Chittin + requires: + - TauCetiBasic \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Devices/translators.yml b/Resources/Prototypes/Entities/Objects/Devices/translators.yml index a1500ea6896..b6d2ade7d7a 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/translators.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/translators.yml @@ -253,4 +253,21 @@ - Azaziba requires: - Draconic - - Azaziba \ No newline at end of file + - Azaziba + +- type: entity + id: ChittinTranslator + parent: [ TranslatorPoweredBase ] + name: Chittin translator + description: Translates speech between Chittin and Tau-Ceti Basic. For talking to Chitinids! + components: + - type: HandheldTranslator + spoken: + - TauCetiBasic + - Chittin + understood: + - TauCetiBasic + - Chittin + requires: + - TauCetiBasic + - Chittin \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Misc/translator_implanters.yml b/Resources/Prototypes/Entities/Objects/Misc/translator_implanters.yml index 53da8e72a57..3a2113f9ba3 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/translator_implanters.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/translator_implanters.yml @@ -90,4 +90,12 @@ name: azaziba translator implant components: - type: Implanter - implant: AzazibaTranslatorImplant \ No newline at end of file + implant: AzazibaTranslatorImplant + +- type: entity + id: ChittinTranslatorImplanter + parent: [ BaseTranslatorImplanter ] + name: chittin translator implant + components: + - type: Implanter + implant: ChittinTranslatorImplant \ No newline at end of file diff --git a/Resources/Prototypes/Guidebook/species.yml b/Resources/Prototypes/Guidebook/species.yml index f7b77b7ec6f..41f66834265 100644 --- a/Resources/Prototypes/Guidebook/species.yml +++ b/Resources/Prototypes/Guidebook/species.yml @@ -13,6 +13,7 @@ - IPCs - Harpy - Shadowkin + - Chitinid - type: guideEntry id: Arachnid @@ -54,12 +55,12 @@ name: species-name-ipc text: "/ServerInfo/Guidebook/Mobs/IPCs.xml" -- type: guideEntry - id: Harpy - name: species-name-harpy - text: "/ServerInfo/Guidebook/Mobs/Harpy.xml" - - type: guideEntry id: Shadowkin name: species-name-shadowkin text: "/ServerInfo/Guidebook/Mobs/Shadowkin.xml" + +- type: guideEntry + id: Harpy + name: species-name-harpy + text: "/ServerInfo/Guidebook/Mobs/Harpy.xml" \ No newline at end of file diff --git a/Resources/Prototypes/Language/Species-Specific/chittin.yml b/Resources/Prototypes/Language/Species-Specific/chittin.yml new file mode 100644 index 00000000000..e6de43d5a3c --- /dev/null +++ b/Resources/Prototypes/Language/Species-Specific/chittin.yml @@ -0,0 +1,16 @@ +# Spoken by Chitinids. +- type: language + id: Chittin + isVisibleLanguage: true + speech: + color: "#7d7d7d" + fontId: Only_You + obfuscation: + !type:SyllableObfuscation + minSyllables: 1 # Replacements are really short + maxSyllables: 2 + replacement: + - click + - clack + - buzz + - bizz \ No newline at end of file diff --git a/Resources/Prototypes/Species/species_weights.yml b/Resources/Prototypes/Species/species_weights.yml index d158862d38b..cc342f7b1bf 100644 --- a/Resources/Prototypes/Species/species_weights.yml +++ b/Resources/Prototypes/Species/species_weights.yml @@ -10,3 +10,4 @@ Vulpkanin: 4 # DeltaV - Vulpkanin, see Prototypes/DeltaV/Entities/Mobs/Species/vulpkanin.yml Diona: 2 Shadowkin: 0 + Chitinid: 3 # DeltaV - Chitinid, see Prototypes/DeltaV/Entities/Mobs/Species/chitinid.yml diff --git a/Resources/Prototypes/fonts.yml b/Resources/Prototypes/fonts.yml index c61a5fb8041..a881cde9553 100644 --- a/Resources/Prototypes/fonts.yml +++ b/Resources/Prototypes/fonts.yml @@ -69,3 +69,7 @@ - type: font id: Cambria path: /Fonts/Cambria.ttf + +- type: font + id: OnlyYou + path: /Fonts/Only_You.otf \ No newline at end of file diff --git a/Resources/ServerInfo/Guidebook/Mobs/DeltaV/Chitinid.xml b/Resources/ServerInfo/Guidebook/Mobs/DeltaV/Chitinid.xml new file mode 100644 index 00000000000..29dde13c0f7 --- /dev/null +++ b/Resources/ServerInfo/Guidebook/Mobs/DeltaV/Chitinid.xml @@ -0,0 +1,28 @@ + + # Chitinid + + + + + + An industrious worker drone species, the Chitinid are strong diligent workers. Thanks to their homeworld's enviroment, they have grown an acute resistance to radiation, but not without its side effects. + + ## Diet + - Nothing special. + + ## Benefits + - Takes 80% less Radiation, 10% less Slash. + - Their bodies naturally recover from light radiation damage up to a point, once they accumulate enough radiation they must purge it from their systems in the form of a small rock. + - Due to their worker drone nature they are Better at pulling and carrying things. + - Due to their radioactive homeworld they possess a bio light. + + ## Drawbacks + - Built for work rather than combat their hard shells are weaker to Blunt and piercing damage, they take 25% more piercing and 15% more Blunt damage. + - Due to their hard shells normal syringes can not pierce them, requiring hypos to bypass the toughness. + - Thanks to their overactive systems they get hungry 33% faster. + - The cold does not agree with their biology and makes their movement sluggish, the cold also harms them more than others. + - They are deceptivly heavy due to their lifestyle and diet. + - The Chitzite they expel is slightly radioactive. + - Bug Blood. + + diff --git a/Resources/ServerInfo/Guidebook/Mobs/Species.xml b/Resources/ServerInfo/Guidebook/Mobs/Species.xml index cb74fd50c94..261fc666f19 100644 --- a/Resources/ServerInfo/Guidebook/Mobs/Species.xml +++ b/Resources/ServerInfo/Guidebook/Mobs/Species.xml @@ -13,6 +13,7 @@ + # Parkstation specific species diff --git a/Resources/Textures/DeltaV/Effects/speech.rsi/chitinid0.png b/Resources/Textures/DeltaV/Effects/speech.rsi/chitinid0.png new file mode 100644 index 00000000000..dc37e2d63bd Binary files /dev/null and b/Resources/Textures/DeltaV/Effects/speech.rsi/chitinid0.png differ diff --git a/Resources/Textures/DeltaV/Effects/speech.rsi/chitinid1.png b/Resources/Textures/DeltaV/Effects/speech.rsi/chitinid1.png new file mode 100644 index 00000000000..a8adc694b0a Binary files /dev/null and b/Resources/Textures/DeltaV/Effects/speech.rsi/chitinid1.png differ diff --git a/Resources/Textures/DeltaV/Effects/speech.rsi/chitinid2.png b/Resources/Textures/DeltaV/Effects/speech.rsi/chitinid2.png new file mode 100644 index 00000000000..91bcf88fe5e Binary files /dev/null and b/Resources/Textures/DeltaV/Effects/speech.rsi/chitinid2.png differ diff --git a/Resources/Textures/DeltaV/Effects/speech.rsi/meta.json b/Resources/Textures/DeltaV/Effects/speech.rsi/meta.json index 1d4b09fbffe..d91b201f0b8 100644 --- a/Resources/Textures/DeltaV/Effects/speech.rsi/meta.json +++ b/Resources/Textures/DeltaV/Effects/speech.rsi/meta.json @@ -23,6 +23,23 @@ }, { "name": "felinid2" + }, + { + "name": "chitinid0", + "delays": [ + [ + 0.2, + 0.3, + 0.3, + 0.3 + ] + ] + }, + { + "name": "chitinid1" + }, + { + "name": "chitinid2" } ] } diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/bee.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/bee.png new file mode 100644 index 00000000000..3c5faa4aa25 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/bee.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/curly.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/curly.png new file mode 100644 index 00000000000..7d7dd45da04 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/curly.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/default.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/default.png new file mode 100644 index 00000000000..f3d291ebdc1 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/default.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_primary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_primary.png new file mode 100644 index 00000000000..32aeb03d3c6 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_primary.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_secondary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_secondary.png new file mode 100644 index 00000000000..ce6864cb060 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/firefly_secondary.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/gray.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/gray.png new file mode 100644 index 00000000000..e215684cf9b Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/gray.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/long.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/long.png new file mode 100644 index 00000000000..9ff75a10104 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/long.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/meta.json b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/meta.json new file mode 100644 index 00000000000..52bc240973e --- /dev/null +++ b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/meta.json @@ -0,0 +1,55 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Concepts by: https://github.com/ElusiveCoin", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "default", + "directions": 4 + }, + { + "name": "curly", + "directions": 4 + }, + { + "name": "gray", + "directions": 4 + }, + { + "name": "slick", + "directions": 4 + }, + { + "name": "short", + "directions": 4 + }, + { + "name": "long", + "directions": 4 + }, + { + "name": "bee", + "directions": 4 + }, + { + "name": "firefly_primary", + "directions": 4 + }, + { + "name": "firefly_secondary", + "directions": 4 + }, + { + "name": "radar", + "directions": 4 + }, + { + "name": "speed", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/radar.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/radar.png new file mode 100644 index 00000000000..41ec7d99233 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/radar.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/short.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/short.png new file mode 100644 index 00000000000..1dde872b785 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/short.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/slick.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/slick.png new file mode 100644 index 00000000000..f1e856667cd Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/slick.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/speed.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/speed.png new file mode 100644 index 00000000000..f3dda4c6871 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_antennas.rsi/speed.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_chest.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_chest.png new file mode 100644 index 00000000000..8981bd797e8 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_chest.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_head.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_head.png new file mode 100644 index 00000000000..98c698e9058 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_head.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_arm.png new file mode 100644 index 00000000000..14709b0c31a Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_leg.png new file mode 100644 index 00000000000..5be58a196c5 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_l_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_arm.png new file mode 100644 index 00000000000..7a83b33619f Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_leg.png new file mode 100644 index 00000000000..0ebd96c5dd8 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/charred_r_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/meta.json b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/meta.json new file mode 100644 index 00000000000..6667bbc2b36 --- /dev/null +++ b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/meta.json @@ -0,0 +1,143 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at commits https://github.com/tgstation/tgstation/commit/b30e2934e7585bad901dd12a35d0635f1fc292c1 and https://github.com/tgstation/tgstation/commit/6b0af0febe578f47ae280781682ea7a3d77f508a, modified by https://github.com/MilenVolf, Charred further modified and new assets by https://github.com/ElusiveCoin", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "toxic_head", + "directions": 4 + }, + { + "name": "toxic_chest", + "directions": 4 + }, + { + "name": "toxic_r_arm", + "directions": 4 + }, + { + "name": "toxic_l_arm", + "directions": 4 + }, + { + "name": "toxic_r_leg", + "directions": 4 + }, + { + "name": "toxic_l_leg", + "directions": 4 + }, + { + "name": "charred_head", + "directions": 4 + }, + { + "name": "charred_chest", + "directions": 4 + }, + { + "name": "charred_r_arm", + "directions": 4 + }, + { + "name": "charred_l_arm", + "directions": 4 + }, + { + "name": "charred_r_leg", + "directions": 4 + }, + { + "name": "charred_l_leg", + "directions": 4 + }, + { + "name": "radiant_head", + "directions": 4 + }, + { + "name": "radiant_chest", + "directions": 4 + }, + { + "name": "radiant_r_arm", + "directions": 4 + }, + { + "name": "radiant_l_arm", + "directions": 4 + }, + { + "name": "radiant_r_leg", + "directions": 4 + }, + { + "name": "radiant_l_leg", + "directions": 4 + }, + { + "name": "plated_chest", + "directions": 4 + }, + { + "name": "plated_r_arm", + "directions": 4 + }, + { + "name": "plated_l_arm", + "directions": 4 + }, + { + "name": "stripes_head", + "directions": 4 + }, + { + "name": "stripes_chest", + "directions": 4 + }, + { + "name": "stripes_r_arm", + "directions": 4 + }, + { + "name": "stripes_l_arm", + "directions": 4 + }, + { + "name": "stripes_r_leg", + "directions": 4 + }, + { + "name": "stripes_l_leg", + "directions": 4 + }, + { + "name": "spotted_head", + "directions": 4 + }, + { + "name": "spotted_chest", + "directions": 4 + }, + { + "name": "spotted_r_arm", + "directions": 4 + }, + { + "name": "spotted_l_arm", + "directions": 4 + }, + { + "name": "spotted_r_leg", + "directions": 4 + }, + { + "name": "spotted_l_leg", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_chest.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_chest.png new file mode 100644 index 00000000000..f32f5d317c1 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_chest.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_l_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_l_arm.png new file mode 100644 index 00000000000..5e1061d9316 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_l_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_r_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_r_arm.png new file mode 100644 index 00000000000..b24897986d9 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/plated_r_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_chest.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_chest.png new file mode 100644 index 00000000000..214caa4c971 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_chest.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_head.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_head.png new file mode 100644 index 00000000000..5a19d265775 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_head.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_arm.png new file mode 100644 index 00000000000..272177404ae Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_leg.png new file mode 100644 index 00000000000..16f0616a247 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_l_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_arm.png new file mode 100644 index 00000000000..72dfcfde064 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_leg.png new file mode 100644 index 00000000000..9c4d8173e9f Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/radiant_r_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_chest.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_chest.png new file mode 100644 index 00000000000..90a8539d735 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_chest.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_head.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_head.png new file mode 100644 index 00000000000..c7301de3818 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_head.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_arm.png new file mode 100644 index 00000000000..4c6f3c1ce4c Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_leg.png new file mode 100644 index 00000000000..f78e45889f4 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_l_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_arm.png new file mode 100644 index 00000000000..a83a50ec979 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_leg.png new file mode 100644 index 00000000000..27e6854260f Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/spotted_r_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_chest.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_chest.png new file mode 100644 index 00000000000..29b41970dce Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_chest.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_head.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_head.png new file mode 100644 index 00000000000..8bcda1cbe6e Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_head.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_arm.png new file mode 100644 index 00000000000..521352f9d49 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_leg.png new file mode 100644 index 00000000000..6b19d5237f9 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_l_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_arm.png new file mode 100644 index 00000000000..51b1f0d370d Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_leg.png new file mode 100644 index 00000000000..e149af3795f Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/stripes_r_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_chest.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_chest.png new file mode 100644 index 00000000000..ad53da7165d Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_chest.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_head.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_head.png new file mode 100644 index 00000000000..d3400bf0e1d Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_head.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_arm.png new file mode 100644 index 00000000000..f74ffaae9d4 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_leg.png new file mode 100644 index 00000000000..fbcd1237d79 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_l_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_arm.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_arm.png new file mode 100644 index 00000000000..31ef8726fc2 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_leg.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_leg.png new file mode 100644 index 00000000000..bd772bfc0bb Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_parts.rsi/toxic_r_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_primary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_primary.png new file mode 100644 index 00000000000..d8f46c8e70b Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_primary.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_secondary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_secondary.png new file mode 100644 index 00000000000..82a14ba3e5c Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/bee_secondary.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/default.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/default.png new file mode 100644 index 00000000000..c01f5a4ba48 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/default.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_primary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_primary.png new file mode 100644 index 00000000000..1f74656812f Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_primary.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_secondary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_secondary.png new file mode 100644 index 00000000000..3386aa45839 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/firefly_secondary.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_primary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_primary.png new file mode 100644 index 00000000000..d8428597262 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_primary.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_secondary.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_secondary.png new file mode 100644 index 00000000000..587a5a1f75e Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/honeypot_secondary.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/meta.json b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/meta.json new file mode 100644 index 00000000000..b7f59a8231a --- /dev/null +++ b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/meta.json @@ -0,0 +1,47 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Concepts by: https://github.com/ElusiveCoin", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "default", + "directions": 4 + }, + { + "name": "smooth", + "directions": 4 + }, + { + "name": "honeypot_primary", + "directions": 4 + }, + { + "name": "honeypot_secondary", + "directions": 4 + }, + { + "name": "stubby", + "directions": 4 + }, + { + "name": "bee_primary", + "directions": 4 + }, + { + "name": "bee_secondary", + "directions": 4 + }, + { + "name": "firefly_primary", + "directions": 4 + }, + { + "name": "firefly_secondary", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/smooth.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/smooth.png new file mode 100644 index 00000000000..bd0bbec36f3 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/smooth.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/stubby.png b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/stubby.png new file mode 100644 index 00000000000..028676d9f4d Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Customization/Chitinid/chitinid_wings.rsi/stubby.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/eyes.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/eyes.png new file mode 100644 index 00000000000..e35b5717d2f Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/eyes.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/full.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/full.png new file mode 100644 index 00000000000..6d5e167c553 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/full.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/head_f.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/head_f.png new file mode 100644 index 00000000000..fe85b753450 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/head_f.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/head_m.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/head_m.png new file mode 100644 index 00000000000..c9b9cbb1979 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/head_m.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_arm.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_arm.png new file mode 100644 index 00000000000..48c0a2ee062 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_foot.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_foot.png new file mode 100644 index 00000000000..02c9335b20e Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_foot.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_hand.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_hand.png new file mode 100644 index 00000000000..b02e2317bef Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_hand.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_leg.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_leg.png new file mode 100644 index 00000000000..54efa6db786 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/l_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/meta.json b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/meta.json new file mode 100644 index 00000000000..ed5dfd51450 --- /dev/null +++ b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/meta.json @@ -0,0 +1,66 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/tgstation/tgstation/commit/1d0eadcb126fc3581eed33490f4be2a88157af58, modified by https://github.com/PixelTheKermit", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "full" + }, + { + "name": "head_f", + "directions": 4 + }, + { + "name": "head_m", + "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/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_arm.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_arm.png new file mode 100644 index 00000000000..703756e5c47 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_arm.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_foot.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_foot.png new file mode 100644 index 00000000000..e6610763011 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_foot.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_hand.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_hand.png new file mode 100644 index 00000000000..b9f02aa5976 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_hand.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_leg.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_leg.png new file mode 100644 index 00000000000..6f45ae18950 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/r_leg.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/torso_f.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/torso_f.png new file mode 100644 index 00000000000..71d34660015 Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/torso_f.png differ diff --git a/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/torso_m.png b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/torso_m.png new file mode 100644 index 00000000000..9f08874e16b Binary files /dev/null and b/Resources/Textures/DeltaV/Mobs/Species/Chitinid/parts.rsi/torso_m.png differ diff --git a/Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/chitzite.png b/Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/chitzite.png new file mode 100644 index 00000000000..8983e82b36a Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/chitzite.png differ diff --git a/Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/chitzite_glow.png b/Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/chitzite_glow.png new file mode 100644 index 00000000000..5a77b238e84 Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/chitzite_glow.png differ diff --git a/Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/meta.json b/Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/meta.json new file mode 100644 index 00000000000..e55e488f4d5 --- /dev/null +++ b/Resources/Textures/DeltaV/Objects/Specific/Species/chitinid.rsi/meta.json @@ -0,0 +1,33 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Concepts by: https://github.com/ElusiveCoin", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "chitzite", + "delays": [ + [ + 0.3, + 0.3, + 0.3, + 0.3 + ] + ] + }, + { + "name": "chitzite_glow", + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + } + ] +}