diff --git a/Content.Client/Nyanotrasen/CartridgeLoader/Cartridges/GlimmerMonitorUi.cs b/Content.Client/CartridgeLoader/Cartridges/GlimmerMonitorUi.cs similarity index 88% rename from Content.Client/Nyanotrasen/CartridgeLoader/Cartridges/GlimmerMonitorUi.cs rename to Content.Client/CartridgeLoader/Cartridges/GlimmerMonitorUi.cs index 0b5fc7ad38c..9ef968e43b1 100644 --- a/Content.Client/Nyanotrasen/CartridgeLoader/Cartridges/GlimmerMonitorUi.cs +++ b/Content.Client/CartridgeLoader/Cartridges/GlimmerMonitorUi.cs @@ -1,10 +1,9 @@ -using Robust.Client.GameObjects; -using Robust.Client.UserInterface; +using Robust.Client.UserInterface; using Content.Client.UserInterface.Fragments; using Content.Shared.CartridgeLoader.Cartridges; using Content.Shared.CartridgeLoader; -namespace Content.Client.Nyanotrasen.CartridgeLoader.Cartridges; +namespace Content.Client.CartridgeLoader.Cartridges; public sealed partial class GlimmerMonitorUi : UIFragment { diff --git a/Content.Client/Nyanotrasen/CartridgeLoader/Cartridges/GlimmerMonitorUiFragment.xaml b/Content.Client/CartridgeLoader/Cartridges/GlimmerMonitorUiFragment.xaml similarity index 93% rename from Content.Client/Nyanotrasen/CartridgeLoader/Cartridges/GlimmerMonitorUiFragment.xaml rename to Content.Client/CartridgeLoader/Cartridges/GlimmerMonitorUiFragment.xaml index 119a1831e6e..e09a422ddf7 100644 --- a/Content.Client/Nyanotrasen/CartridgeLoader/Cartridges/GlimmerMonitorUiFragment.xaml +++ b/Content.Client/CartridgeLoader/Cartridges/GlimmerMonitorUiFragment.xaml @@ -1,4 +1,4 @@ - diff --git a/Content.Client/Nyanotrasen/CartridgeLoader/Cartridges/GlimmerMonitorUiFragment.xaml.cs b/Content.Client/CartridgeLoader/Cartridges/GlimmerMonitorUiFragment.xaml.cs similarity index 96% rename from Content.Client/Nyanotrasen/CartridgeLoader/Cartridges/GlimmerMonitorUiFragment.xaml.cs rename to Content.Client/CartridgeLoader/Cartridges/GlimmerMonitorUiFragment.xaml.cs index 43d9202aa45..3325c0d379e 100644 --- a/Content.Client/Nyanotrasen/CartridgeLoader/Cartridges/GlimmerMonitorUiFragment.xaml.cs +++ b/Content.Client/CartridgeLoader/Cartridges/GlimmerMonitorUiFragment.xaml.cs @@ -1,12 +1,12 @@ using System.Linq; using System.Numerics; -using Content.Client.Nyanotrasen.UserInterface; +using Content.Client.UserInterface; using Robust.Client.AutoGenerated; using Robust.Client.ResourceManagement; using Robust.Client.UserInterface.Controls; using Robust.Client.UserInterface.XAML; -namespace Content.Client.Nyanotrasen.CartridgeLoader.Cartridges; +namespace Content.Client.CartridgeLoader.Cartridges; [GenerateTypedNameReferences] public sealed partial class GlimmerMonitorUiFragment : BoxContainer diff --git a/Content.Client/Nyanotrasen/Chat/PsionicChatUpdateSystem.cs b/Content.Client/Chat/PsionicChatUpdateSystem.cs similarity index 96% rename from Content.Client/Nyanotrasen/Chat/PsionicChatUpdateSystem.cs rename to Content.Client/Chat/PsionicChatUpdateSystem.cs index 84602052fe7..066501acb78 100644 --- a/Content.Client/Nyanotrasen/Chat/PsionicChatUpdateSystem.cs +++ b/Content.Client/Chat/PsionicChatUpdateSystem.cs @@ -2,7 +2,7 @@ using Content.Client.Chat.Managers; using Robust.Client.Player; -namespace Content.Client.Nyanotrasen.Chat +namespace Content.Client.Chat { public sealed class PsionicChatUpdateSystem : EntitySystem { diff --git a/Content.Client/Nyanotrasen/Psionics/Glimmer/GlimmerReactiveVisuals.cs b/Content.Client/Psionics/Glimmer/GlimmerReactiveVisuals.cs similarity index 100% rename from Content.Client/Nyanotrasen/Psionics/Glimmer/GlimmerReactiveVisuals.cs rename to Content.Client/Psionics/Glimmer/GlimmerReactiveVisuals.cs diff --git a/Content.Client/Nyanotrasen/Psionics/UI/AcceptPsionicsEUI.cs b/Content.Client/Psionics/UI/AcceptPsionicsEUI.cs similarity index 100% rename from Content.Client/Nyanotrasen/Psionics/UI/AcceptPsionicsEUI.cs rename to Content.Client/Psionics/UI/AcceptPsionicsEUI.cs diff --git a/Content.Client/Nyanotrasen/Psionics/UI/AcceptPsionicsWindow.cs b/Content.Client/Psionics/UI/AcceptPsionicsWindow.cs similarity index 100% rename from Content.Client/Nyanotrasen/Psionics/UI/AcceptPsionicsWindow.cs rename to Content.Client/Psionics/UI/AcceptPsionicsWindow.cs diff --git a/Content.Client/Nyanotrasen/UserInterface/GlimmerGraph.cs b/Content.Client/UserInterface/GlimmerGraph.cs similarity index 97% rename from Content.Client/Nyanotrasen/UserInterface/GlimmerGraph.cs rename to Content.Client/UserInterface/GlimmerGraph.cs index c4a9109dcd8..188ebe2475b 100644 --- a/Content.Client/Nyanotrasen/UserInterface/GlimmerGraph.cs +++ b/Content.Client/UserInterface/GlimmerGraph.cs @@ -4,7 +4,7 @@ using Robust.Client.ResourceManagement; using Robust.Client.UserInterface; -namespace Content.Client.Nyanotrasen.UserInterface; +namespace Content.Client.UserInterface; public sealed class GlimmerGraph : Control { diff --git a/Content.Client/UserInterface/Systems/Chat/ChatUIController.cs b/Content.Client/UserInterface/Systems/Chat/ChatUIController.cs index 138dc9e52be..bc79283d76e 100644 --- a/Content.Client/UserInterface/Systems/Chat/ChatUIController.cs +++ b/Content.Client/UserInterface/Systems/Chat/ChatUIController.cs @@ -38,7 +38,6 @@ using Robust.Shared.Replays; using Robust.Shared.Timing; using Robust.Shared.Utility; -using Content.Client.Nyanotrasen.Chat; //Nyano - Summary: chat namespace. namespace Content.Client.UserInterface.Systems.Chat; diff --git a/Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/DispelPowerSystem.cs b/Content.Server/Abilities/Psionics/Abilities/DispelPowerSystem.cs similarity index 100% rename from Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/DispelPowerSystem.cs rename to Content.Server/Abilities/Psionics/Abilities/DispelPowerSystem.cs diff --git a/Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/MetapsionicPowerSystem.cs b/Content.Server/Abilities/Psionics/Abilities/MetapsionicPowerSystem.cs similarity index 100% rename from Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/MetapsionicPowerSystem.cs rename to Content.Server/Abilities/Psionics/Abilities/MetapsionicPowerSystem.cs diff --git a/Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/MindSwapPowerSystem.cs b/Content.Server/Abilities/Psionics/Abilities/MindSwapPowerSystem.cs similarity index 100% rename from Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/MindSwapPowerSystem.cs rename to Content.Server/Abilities/Psionics/Abilities/MindSwapPowerSystem.cs diff --git a/Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/MindSwappedComponent.cs b/Content.Server/Abilities/Psionics/Abilities/MindSwappedComponent.cs similarity index 100% rename from Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/MindSwappedComponent.cs rename to Content.Server/Abilities/Psionics/Abilities/MindSwappedComponent.cs diff --git a/Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/NoosphericZapPowerSystem.cs b/Content.Server/Abilities/Psionics/Abilities/NoosphericZapPowerSystem.cs similarity index 100% rename from Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/NoosphericZapPowerSystem.cs rename to Content.Server/Abilities/Psionics/Abilities/NoosphericZapPowerSystem.cs diff --git a/Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/PsionicInvisibilityPowerSystem.cs b/Content.Server/Abilities/Psionics/Abilities/PsionicInvisibilityPowerSystem.cs similarity index 100% rename from Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/PsionicInvisibilityPowerSystem.cs rename to Content.Server/Abilities/Psionics/Abilities/PsionicInvisibilityPowerSystem.cs diff --git a/Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/PsionicRegenerationPowerSystem.cs b/Content.Server/Abilities/Psionics/Abilities/PsionicRegenerationPowerSystem.cs similarity index 100% rename from Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/PsionicRegenerationPowerSystem.cs rename to Content.Server/Abilities/Psionics/Abilities/PsionicRegenerationPowerSystem.cs diff --git a/Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/PyrokinesisPowerSystem.cs b/Content.Server/Abilities/Psionics/Abilities/PyrokinesisPowerSystem.cs similarity index 100% rename from Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/PyrokinesisPowerSystem.cs rename to Content.Server/Abilities/Psionics/Abilities/PyrokinesisPowerSystem.cs diff --git a/Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/TelegnosisPowerSystem.cs b/Content.Server/Abilities/Psionics/Abilities/TelegnosisPowerSystem.cs similarity index 100% rename from Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/TelegnosisPowerSystem.cs rename to Content.Server/Abilities/Psionics/Abilities/TelegnosisPowerSystem.cs diff --git a/Content.Server/Nyanotrasen/Abilities/Psionics/PsionicAbilitiesSystem.cs b/Content.Server/Abilities/Psionics/PsionicAbilitiesSystem.cs similarity index 100% rename from Content.Server/Nyanotrasen/Abilities/Psionics/PsionicAbilitiesSystem.cs rename to Content.Server/Abilities/Psionics/PsionicAbilitiesSystem.cs diff --git a/Content.Server/Nyanotrasen/Audio/GlimmerSoundComponent.cs b/Content.Server/Audio/GlimmerSoundComponent.cs similarity index 100% rename from Content.Server/Nyanotrasen/Audio/GlimmerSoundComponent.cs rename to Content.Server/Audio/GlimmerSoundComponent.cs diff --git a/Content.Server/Body/Components/BloodstreamComponent.cs b/Content.Server/Body/Components/BloodstreamComponent.cs index 76eadb99fd8..dd93da9598c 100644 --- a/Content.Server/Body/Components/BloodstreamComponent.cs +++ b/Content.Server/Body/Components/BloodstreamComponent.cs @@ -12,7 +12,7 @@ namespace Content.Server.Body.Components { - [RegisterComponent, Access(typeof(BloodstreamSystem), typeof(ReactionMixerSystem), typeof(BloodDeficiencySystem))] + [RegisterComponent, Access(typeof(BloodstreamSystem), typeof(ReactionMixerSystem), typeof(BloodDeficiencySystem), typeof(HemophiliaSystem))] public sealed partial class BloodstreamComponent : Component { public static string DefaultChemicalsSolutionName = "chemicals"; diff --git a/Content.Server/Botany/Components/TeleportingTraitComponent.cs b/Content.Server/Botany/Components/TeleportingTraitComponent.cs new file mode 100644 index 00000000000..b5f79ac8c7e --- /dev/null +++ b/Content.Server/Botany/Components/TeleportingTraitComponent.cs @@ -0,0 +1,31 @@ +namespace Content.Server.Botany +{ + [RegisterComponent] + + public sealed partial class TeleportingTraitComponent : Component + { + /// + /// Teleportation radius of produce. + /// + [DataField] + public float ProduceTeleportRadius; + + /// + /// How much to divide the potency. + /// + [DataField] + public float PotencyDivide = 10f; + + /// + /// Potency of fruit. + /// + [DataField] + public float Potency; + + /// + /// Chance of deletion. + /// + [DataField] + public float DeletionChance = .5f; + } +} diff --git a/Content.Server/Botany/SeedPrototype.cs b/Content.Server/Botany/SeedPrototype.cs index 1a3c0473a48..2644da2a3b0 100644 --- a/Content.Server/Botany/SeedPrototype.cs +++ b/Content.Server/Botany/SeedPrototype.cs @@ -205,6 +205,11 @@ public partial class SeedData /// [DataField("ligneous")] public bool Ligneous; + /// + /// If true, teleports both fruit and player if slippable. + /// + [DataField] public bool Teleporting; + // No, I'm not removing these. // if you re-add these, make sure that they get cloned. //public PlantSpread Spread { get; set; } @@ -215,7 +220,6 @@ public partial class SeedData //public bool Hematophage { get; set; } //public bool Thorny { get; set; } //public bool Stinging { get; set; } - // public bool Teleporting { get; set; } // public PlantJuicy Juicy { get; set; } #endregion @@ -295,6 +299,7 @@ public SeedData Clone() Slip = Slip, Sentient = Sentient, Ligneous = Ligneous, + Teleporting = Teleporting, PlantRsi = PlantRsi, PlantIconState = PlantIconState, @@ -358,6 +363,7 @@ public SeedData SpeciesChange(SeedData other) Slip = Slip, Sentient = Sentient, Ligneous = Ligneous, + Teleporting = Teleporting, PlantRsi = other.PlantRsi, PlantIconState = other.PlantIconState, diff --git a/Content.Server/Botany/Systems/BotanySystem.Seed.cs b/Content.Server/Botany/Systems/BotanySystem.Seed.cs index f64fcb3c43d..82190d1c443 100644 --- a/Content.Server/Botany/Systems/BotanySystem.Seed.cs +++ b/Content.Server/Botany/Systems/BotanySystem.Seed.cs @@ -207,6 +207,11 @@ public IEnumerable GenerateProduct(SeedData proto, EntityCoordinates var collisionWake = EnsureComp(entity); _colWakeSystem.SetEnabled(entity, false, collisionWake); } + if (proto.Teleporting) + { + var teleporting = EnsureComp(entity); + TeleportingTraitSystem.SetPotencyRadius(proto.Potency, teleporting); + } } return products; diff --git a/Content.Server/Botany/Systems/MutationSystem.cs b/Content.Server/Botany/Systems/MutationSystem.cs index c7ce5d47efa..4780f8b3310 100644 --- a/Content.Server/Botany/Systems/MutationSystem.cs +++ b/Content.Server/Botany/Systems/MutationSystem.cs @@ -40,7 +40,7 @@ public void MutateSeed(ref SeedData seed, float severity) } // Add up everything in the bits column and put the number here. - const int totalbits = 275; + const int totalbits = 285; // Tolerances (55) MutateFloat(ref seed.NutrientConsumption , 0.05f, 1.2f, 5, totalbits, severity); @@ -66,11 +66,12 @@ public void MutateSeed(ref SeedData seed, float severity) // Kill the plant (30) MutateBool(ref seed.Viable , false, 30, totalbits, severity); - // Fun (90) + // Fun (100) MutateBool(ref seed.Seedless , true , 10, totalbits, severity); MutateBool(ref seed.Slip , true , 10, totalbits, severity); MutateBool(ref seed.Sentient , true , 10, totalbits, severity); MutateBool(ref seed.Ligneous , true , 10, totalbits, severity); + MutateBool(ref seed.Teleporting , true , 10, totalbits, severity); MutateBool(ref seed.Bioluminescent, true , 10, totalbits, severity); MutateBool(ref seed.TurnIntoKudzu , true , 10, totalbits, severity); MutateBool(ref seed.CanScream , true , 10, totalbits, severity); @@ -120,6 +121,7 @@ public SeedData Cross(SeedData a, SeedData b) CrossBool(ref result.Slip, a.Slip); CrossBool(ref result.Sentient, a.Sentient); CrossBool(ref result.Ligneous, a.Ligneous); + CrossBool(ref result.Teleporting, a.Teleporting); CrossBool(ref result.Bioluminescent, a.Bioluminescent); CrossBool(ref result.TurnIntoKudzu, a.TurnIntoKudzu); CrossBool(ref result.CanScream, a.CanScream); diff --git a/Content.Server/Botany/Systems/TeleportingTraitSystem.cs b/Content.Server/Botany/Systems/TeleportingTraitSystem.cs new file mode 100644 index 00000000000..7aa9a6a82ab --- /dev/null +++ b/Content.Server/Botany/Systems/TeleportingTraitSystem.cs @@ -0,0 +1,51 @@ +using Robust.Shared.Random; +using Content.Shared.Slippery; +using Content.Server.Fluids.EntitySystems; +using Content.Shared.Chemistry.Components; +using Content.Shared.Popups; + +namespace Content.Server.Botany.Systems; + +public sealed class TeleportingTraitSystem : EntitySystem +{ + [Dependency] private readonly SharedTransformSystem _xform = default!; + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly PuddleSystem _puddle = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(Teleport); + } + + // sets the potency and the radius + public static void SetPotencyRadius(float seedPotency, TeleportingTraitComponent comp) + { + comp.Potency = seedPotency; + comp.ProduceTeleportRadius = comp.Potency / comp.PotencyDivide; + } + + // teleports both the produce and the foolish fool who slipped on it to a random postion limited by the radius + private void Teleport(EntityUid uid, TeleportingTraitComponent comp, ref SlipEvent args) + { + var coordinates = Transform(uid).Coordinates; + _xform.SetCoordinates(uid, coordinates.Offset(_random.NextVector2(comp.ProduceTeleportRadius))); + _popup.PopupEntity(Loc.GetString("teleporting-trait-component-slipped"), args.Slipped, args.Slipped, PopupType.SmallCaution); + _xform.SetCoordinates(args.Slipped, coordinates.Offset(_random.NextVector2(comp.ProduceTeleportRadius))); + VanishProbablity(uid, comp); + } + + // chance of being deleted and then spawnin the goop + private void VanishProbablity(EntityUid uid, TeleportingTraitComponent comp) + { + if (!_random.Prob(comp.DeletionChance)) + return; + Solution vanishSolution = new(); + vanishSolution.AddReagent("Slime", comp.Potency / 2); + _puddle.TrySpillAt(uid, vanishSolution, out _); + QueueDel(uid); + } +} + diff --git a/Content.Server/Nyanotrasen/CartridgeLoader/GlimmerMonitorCartridgeComponent.cs b/Content.Server/CartridgeLoader/Cartridges/GlimmerMonitorCartridgeComponent.cs similarity index 100% rename from Content.Server/Nyanotrasen/CartridgeLoader/GlimmerMonitorCartridgeComponent.cs rename to Content.Server/CartridgeLoader/Cartridges/GlimmerMonitorCartridgeComponent.cs diff --git a/Content.Server/Nyanotrasen/CartridgeLoader/GlimmerMonitorCartridgeSystem.cs b/Content.Server/CartridgeLoader/Cartridges/GlimmerMonitorCartridgeSystem.cs similarity index 100% rename from Content.Server/Nyanotrasen/CartridgeLoader/GlimmerMonitorCartridgeSystem.cs rename to Content.Server/CartridgeLoader/Cartridges/GlimmerMonitorCartridgeSystem.cs diff --git a/Content.Server/Nyanotrasen/Chat/TSayCommand.cs b/Content.Server/Chat/Commands/TSayCommand.cs similarity index 100% rename from Content.Server/Nyanotrasen/Chat/TSayCommand.cs rename to Content.Server/Chat/Commands/TSayCommand.cs diff --git a/Content.Server/Chat/Systems/ChatSystem.cs b/Content.Server/Chat/Systems/ChatSystem.cs index b41d2deda6f..b4641928e48 100644 --- a/Content.Server/Chat/Systems/ChatSystem.cs +++ b/Content.Server/Chat/Systems/ChatSystem.cs @@ -8,7 +8,7 @@ using Content.Server.Language; using Content.Server.Speech.Components; using Content.Server.Speech.EntitySystems; -using Content.Server.Nyanotrasen.Chat; +using Content.Server.Chat; using Content.Server.Station.Components; using Content.Server.Station.Systems; using Content.Shared.ActionBlocker; @@ -69,9 +69,7 @@ public sealed partial class ChatSystem : SharedChatSystem [Dependency] private readonly SharedInteractionSystem _interactionSystem = default!; [Dependency] private readonly ReplacementAccentSystem _wordreplacement = default!; [Dependency] private readonly LanguageSystem _language = default!; - - //Nyano - Summary: pulls in the nyano chat system for psionics. - [Dependency] private readonly NyanoChatSystem _nyanoChatSystem = default!; + [Dependency] private readonly TelepathicChatSystem _telepath = default!; public const int VoiceRange = 10; // how far voice goes in world units public const int WhisperClearRange = 2; // how far whisper goes while still being understandable, in world units @@ -277,7 +275,7 @@ public void TrySendInGameICMessage( break; //Nyano - Summary: case adds the telepathic chat sending ability. case InGameICChatType.Telepathic: - _nyanoChatSystem.SendTelepathicChat(source, message, range == ChatTransmitRange.HideChat); + _telepath.SendTelepathicChat(source, message, range == ChatTransmitRange.HideChat); break; } } diff --git a/Content.Server/Nyanotrasen/Chat/NyanoChatSystem.cs b/Content.Server/Chat/TelepathicChatSystem.cs similarity index 97% rename from Content.Server/Nyanotrasen/Chat/NyanoChatSystem.cs rename to Content.Server/Chat/TelepathicChatSystem.cs index 58ed1782741..8d44ead9d07 100644 --- a/Content.Server/Nyanotrasen/Chat/NyanoChatSystem.cs +++ b/Content.Server/Chat/TelepathicChatSystem.cs @@ -16,13 +16,13 @@ using System.Linq; using System.Text; -namespace Content.Server.Nyanotrasen.Chat +namespace Content.Server.Chat { /// - /// Extensions for nyano's chat stuff + /// Extensions for Telepathic chat stuff /// - public sealed class NyanoChatSystem : EntitySystem + public sealed class TelepathicChatSystem : EntitySystem { [Dependency] private readonly IAdminManager _adminManager = default!; [Dependency] private readonly IChatManager _chatManager = default!; diff --git a/Content.Server/Nyanotrasen/Chat/TelepathicRepeaterComponent.cs b/Content.Server/Chat/TelepathicRepeaterComponent.cs similarity index 83% rename from Content.Server/Nyanotrasen/Chat/TelepathicRepeaterComponent.cs rename to Content.Server/Chat/TelepathicRepeaterComponent.cs index fc199f4332a..2183fafd4d1 100644 --- a/Content.Server/Nyanotrasen/Chat/TelepathicRepeaterComponent.cs +++ b/Content.Server/Chat/TelepathicRepeaterComponent.cs @@ -1,4 +1,4 @@ -namespace Content.Server.Nyanotrasen.Chat +namespace Content.Server.Chat { /// /// Repeats whatever is happening in telepathic chat. diff --git a/Content.Server/Construction/Components/WelderRefinableComponent.cs b/Content.Server/Construction/Components/WelderRefinableComponent.cs index 9d8958f7614..dc3074f1958 100644 --- a/Content.Server/Construction/Components/WelderRefinableComponent.cs +++ b/Content.Server/Construction/Components/WelderRefinableComponent.cs @@ -1,5 +1,6 @@ using Content.Shared.Tools; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; +using Content.Shared.Storage; +using Robust.Shared.Prototypes; namespace Content.Server.Construction.Components { @@ -10,13 +11,13 @@ namespace Content.Server.Construction.Components [RegisterComponent] public sealed partial class WelderRefinableComponent : Component { - [DataField("refineResult")] - public HashSet? RefineResult = new(); + [DataField] + public List RefineResult = new(); - [DataField("refineTime")] + [DataField] public float RefineTime = 2f; - [DataField("qualityNeeded", customTypeSerializer:typeof(PrototypeIdSerializer))] - public string QualityNeeded = "Welding"; + [DataField] + public ProtoId QualityNeeded = "Welding"; } } diff --git a/Content.Server/Construction/RefiningSystem.cs b/Content.Server/Construction/RefiningSystem.cs index b9d80c7170a..d4df8b0916b 100644 --- a/Content.Server/Construction/RefiningSystem.cs +++ b/Content.Server/Construction/RefiningSystem.cs @@ -1,11 +1,8 @@ using Content.Server.Construction.Components; using Content.Server.Stack; using Content.Shared.Construction; -using Content.Shared.DoAfter; using Content.Shared.Interaction; -using Content.Shared.Stacks; -using Content.Shared.Tools; -using Robust.Shared.Serialization; +using Content.Shared.Storage; using SharedToolSystem = Content.Shared.Tools.Systems.SharedToolSystem; namespace Content.Server.Construction @@ -13,7 +10,6 @@ namespace Content.Server.Construction public sealed class RefiningSystem : EntitySystem { [Dependency] private readonly SharedToolSystem _toolSystem = default!; - [Dependency] private readonly StackSystem _stackSystem = default!; public override void Initialize() { base.Initialize(); @@ -39,14 +35,9 @@ private void OnDoAfter(EntityUid uid, WelderRefinableComponent component, Welder EntityManager.DeleteEntity(uid); // spawn each result after refine - foreach (var result in component.RefineResult!) + foreach (var ent in EntitySpawnCollection.GetSpawns(component.RefineResult)) { - var droppedEnt = EntityManager.SpawnEntity(result, resultPosition); - - // TODO: If something has a stack... Just use a prototype with a single thing in the stack. - // This is not a good way to do it. - if (TryComp(droppedEnt, out var stack)) - _stackSystem.SetCount(droppedEnt, 1, stack); + Spawn(ent, resultPosition); } } } diff --git a/Content.Server/DeltaV/NPC/Roboisseur/RoboisseurSystem.cs b/Content.Server/DeltaV/NPC/Roboisseur/RoboisseurSystem.cs index b4e99e6199d..ee1c4582239 100644 --- a/Content.Server/DeltaV/NPC/Roboisseur/RoboisseurSystem.cs +++ b/Content.Server/DeltaV/NPC/Roboisseur/RoboisseurSystem.cs @@ -58,7 +58,7 @@ public override void Update(float frameTime) } else if (CheckTier(roboisseur.DesiredPrototype.ID, roboisseur) > 2) message = Loc.GetString(_random.Pick(roboisseur.DemandMessagesTier2), ("item", roboisseur.DesiredPrototype.Name)); - _chat.TrySendInGameICMessage(roboisseur.Owner, message, InGameICChatType.Speak, false); + _chat.TrySendInGameICMessage(roboisseur.Owner, message, InGameICChatType.Speak, true); } if (roboisseur.Accumulator >= roboisseur.ResetTime.TotalSeconds) @@ -100,7 +100,7 @@ private void OnInteractHand(EntityUid uid, RoboisseurComponent component, Intera if (CheckTier(component.DesiredPrototype.ID, component) > 1) message = Loc.GetString(_random.Pick(component.DemandMessagesTier2), ("item", component.DesiredPrototype.Name)); - _chat.TrySendInGameICMessage(component.Owner, message, InGameICChatType.Speak, false); + _chat.TrySendInGameICMessage(component.Owner, message, InGameICChatType.Speak, true); } private void OnInteractUsing(EntityUid uid, RoboisseurComponent component, InteractUsingEvent args) diff --git a/Content.Server/Nyanotrasen/Psionics/AcceptPsionicsEui.cs b/Content.Server/Psionics/AcceptPsionicsEui.cs similarity index 100% rename from Content.Server/Nyanotrasen/Psionics/AcceptPsionicsEui.cs rename to Content.Server/Psionics/AcceptPsionicsEui.cs diff --git a/Content.Server/Nyanotrasen/Psionics/AntiPsychicWeaponComponent.cs b/Content.Server/Psionics/AntiPsychicWeaponComponent.cs similarity index 100% rename from Content.Server/Nyanotrasen/Psionics/AntiPsychicWeaponComponent.cs rename to Content.Server/Psionics/AntiPsychicWeaponComponent.cs diff --git a/Content.Server/Nyanotrasen/Psionics/Dreams/DreamSystem.cs b/Content.Server/Psionics/Dreams/DreamSystem.cs similarity index 100% rename from Content.Server/Nyanotrasen/Psionics/Dreams/DreamSystem.cs rename to Content.Server/Psionics/Dreams/DreamSystem.cs diff --git a/Content.Server/Nyanotrasen/Psionics/Glimmer/GlimmerCommands.cs b/Content.Server/Psionics/Glimmer/GlimmerCommands.cs similarity index 100% rename from Content.Server/Nyanotrasen/Psionics/Glimmer/GlimmerCommands.cs rename to Content.Server/Psionics/Glimmer/GlimmerCommands.cs diff --git a/Content.Server/Nyanotrasen/Psionics/Glimmer/GlimmerReactiveSystem.cs b/Content.Server/Psionics/Glimmer/GlimmerReactiveSystem.cs similarity index 100% rename from Content.Server/Nyanotrasen/Psionics/Glimmer/GlimmerReactiveSystem.cs rename to Content.Server/Psionics/Glimmer/GlimmerReactiveSystem.cs diff --git a/Content.Server/Nyanotrasen/Psionics/Glimmer/PassiveGlimmerReductionSystem.cs b/Content.Server/Psionics/Glimmer/PassiveGlimmerReductionSystem.cs similarity index 100% rename from Content.Server/Nyanotrasen/Psionics/Glimmer/PassiveGlimmerReductionSystem.cs rename to Content.Server/Psionics/Glimmer/PassiveGlimmerReductionSystem.cs diff --git a/Content.Server/Nyanotrasen/Psionics/Glimmer/Structures/GlimmerSourceComponent.cs b/Content.Server/Psionics/Glimmer/Structures/GlimmerSourceComponent.cs similarity index 100% rename from Content.Server/Nyanotrasen/Psionics/Glimmer/Structures/GlimmerSourceComponent.cs rename to Content.Server/Psionics/Glimmer/Structures/GlimmerSourceComponent.cs diff --git a/Content.Server/Nyanotrasen/Psionics/Glimmer/Structures/GlimmerStructuresSystem.cs b/Content.Server/Psionics/Glimmer/Structures/GlimmerStructuresSystem.cs similarity index 100% rename from Content.Server/Nyanotrasen/Psionics/Glimmer/Structures/GlimmerStructuresSystem.cs rename to Content.Server/Psionics/Glimmer/Structures/GlimmerStructuresSystem.cs diff --git a/Content.Server/Nyanotrasen/Psionics/Invisibility/PsionicInvisibilitySystem.cs b/Content.Server/Psionics/Invisibility/PsionicInvisibilitySystem.cs similarity index 100% rename from Content.Server/Nyanotrasen/Psionics/Invisibility/PsionicInvisibilitySystem.cs rename to Content.Server/Psionics/Invisibility/PsionicInvisibilitySystem.cs diff --git a/Content.Server/Nyanotrasen/Psionics/Invisibility/PsionicInvisibleContactsComponent.cs b/Content.Server/Psionics/Invisibility/PsionicInvisibleContactsComponent.cs similarity index 100% rename from Content.Server/Nyanotrasen/Psionics/Invisibility/PsionicInvisibleContactsComponent.cs rename to Content.Server/Psionics/Invisibility/PsionicInvisibleContactsComponent.cs diff --git a/Content.Server/Nyanotrasen/Psionics/Invisibility/PsionicInvisibleContactsSystem.cs b/Content.Server/Psionics/Invisibility/PsionicInvisibleContactsSystem.cs similarity index 100% rename from Content.Server/Nyanotrasen/Psionics/Invisibility/PsionicInvisibleContactsSystem.cs rename to Content.Server/Psionics/Invisibility/PsionicInvisibleContactsSystem.cs diff --git a/Content.Server/Nyanotrasen/Psionics/Invisibility/PsionicallyInvisibleComponent.cs b/Content.Server/Psionics/Invisibility/PsionicallyInvisibleComponent.cs similarity index 100% rename from Content.Server/Nyanotrasen/Psionics/Invisibility/PsionicallyInvisibleComponent.cs rename to Content.Server/Psionics/Invisibility/PsionicallyInvisibleComponent.cs diff --git a/Content.Server/Nyanotrasen/Psionics/PotentialPsionicComponent.cs b/Content.Server/Psionics/PotentialPsionicComponent.cs similarity index 100% rename from Content.Server/Nyanotrasen/Psionics/PotentialPsionicComponent.cs rename to Content.Server/Psionics/PotentialPsionicComponent.cs diff --git a/Content.Server/Nyanotrasen/Psionics/PsionicAwaitingPlayerComponent.cs b/Content.Server/Psionics/PsionicAwaitingPlayerComponent.cs similarity index 100% rename from Content.Server/Nyanotrasen/Psionics/PsionicAwaitingPlayerComponent.cs rename to Content.Server/Psionics/PsionicAwaitingPlayerComponent.cs diff --git a/Content.Server/Nyanotrasen/Psionics/PsionicBonusChanceComponent.cs b/Content.Server/Psionics/PsionicBonusChanceComponent.cs similarity index 100% rename from Content.Server/Nyanotrasen/Psionics/PsionicBonusChanceComponent.cs rename to Content.Server/Psionics/PsionicBonusChanceComponent.cs diff --git a/Content.Server/Nyanotrasen/Psionics/PsionicsCommands.cs b/Content.Server/Psionics/PsionicsCommands.cs similarity index 100% rename from Content.Server/Nyanotrasen/Psionics/PsionicsCommands.cs rename to Content.Server/Psionics/PsionicsCommands.cs diff --git a/Content.Server/Nyanotrasen/Psionics/PsionicsSystem.cs b/Content.Server/Psionics/PsionicsSystem.cs similarity index 100% rename from Content.Server/Nyanotrasen/Psionics/PsionicsSystem.cs rename to Content.Server/Psionics/PsionicsSystem.cs diff --git a/Content.Server/Nyanotrasen/StationEvents/Components/FreeProberRuleComponent.cs b/Content.Server/StationEvents/Components/FreeProberRuleComponent.cs similarity index 100% rename from Content.Server/Nyanotrasen/StationEvents/Components/FreeProberRuleComponent.cs rename to Content.Server/StationEvents/Components/FreeProberRuleComponent.cs diff --git a/Content.Server/Nyanotrasen/StationEvents/Components/GlimmerEventComponent.cs b/Content.Server/StationEvents/Components/GlimmerEventComponent.cs similarity index 100% rename from Content.Server/Nyanotrasen/StationEvents/Components/GlimmerEventComponent.cs rename to Content.Server/StationEvents/Components/GlimmerEventComponent.cs diff --git a/Content.Server/Nyanotrasen/StationEvents/Components/GlimmerRandomSentienceRuleComponent.cs b/Content.Server/StationEvents/Components/GlimmerRandomSentienceRuleComponent.cs similarity index 100% rename from Content.Server/Nyanotrasen/StationEvents/Components/GlimmerRandomSentienceRuleComponent.cs rename to Content.Server/StationEvents/Components/GlimmerRandomSentienceRuleComponent.cs diff --git a/Content.Server/Nyanotrasen/StationEvents/Components/GlimmerRevenantSpawnRuleComponent.cs b/Content.Server/StationEvents/Components/GlimmerRevenantSpawnRuleComponent.cs similarity index 100% rename from Content.Server/Nyanotrasen/StationEvents/Components/GlimmerRevenantSpawnRuleComponent.cs rename to Content.Server/StationEvents/Components/GlimmerRevenantSpawnRuleComponent.cs diff --git a/Content.Server/Nyanotrasen/StationEvents/Components/GlimmerWispRuleComponent.cs b/Content.Server/StationEvents/Components/GlimmerWispRuleComponent.cs similarity index 100% rename from Content.Server/Nyanotrasen/StationEvents/Components/GlimmerWispRuleComponent.cs rename to Content.Server/StationEvents/Components/GlimmerWispRuleComponent.cs diff --git a/Content.Server/Nyanotrasen/StationEvents/Components/MassMindSwapRuleComponent.cs b/Content.Server/StationEvents/Components/MassMindSwapRuleComponent.cs similarity index 100% rename from Content.Server/Nyanotrasen/StationEvents/Components/MassMindSwapRuleComponent.cs rename to Content.Server/StationEvents/Components/MassMindSwapRuleComponent.cs diff --git a/Content.Server/Nyanotrasen/StationEvents/Components/MundaneDischargeRuleComponent.cs b/Content.Server/StationEvents/Components/MundaneDischargeRuleComponent.cs similarity index 100% rename from Content.Server/Nyanotrasen/StationEvents/Components/MundaneDischargeRuleComponent.cs rename to Content.Server/StationEvents/Components/MundaneDischargeRuleComponent.cs diff --git a/Content.Server/Nyanotrasen/StationEvents/Components/NoosphericFryRuleComponent.cs b/Content.Server/StationEvents/Components/NoosphericFryRuleComponent.cs similarity index 100% rename from Content.Server/Nyanotrasen/StationEvents/Components/NoosphericFryRuleComponent.cs rename to Content.Server/StationEvents/Components/NoosphericFryRuleComponent.cs diff --git a/Content.Server/Nyanotrasen/StationEvents/Components/NoosphericStormRuleComponent.cs b/Content.Server/StationEvents/Components/NoosphericStormRuleComponent.cs similarity index 100% rename from Content.Server/Nyanotrasen/StationEvents/Components/NoosphericStormRuleComponent.cs rename to Content.Server/StationEvents/Components/NoosphericStormRuleComponent.cs diff --git a/Content.Server/Nyanotrasen/StationEvents/Components/NoosphericZapRuleComponent.cs b/Content.Server/StationEvents/Components/NoosphericZapRuleComponent.cs similarity index 100% rename from Content.Server/Nyanotrasen/StationEvents/Components/NoosphericZapRuleComponent.cs rename to Content.Server/StationEvents/Components/NoosphericZapRuleComponent.cs diff --git a/Content.Server/Nyanotrasen/StationEvents/Components/PsionicCatGotYourTongueRuleComponent.cs b/Content.Server/StationEvents/Components/PsionicCatGotYourTongueRuleComponent.cs similarity index 100% rename from Content.Server/Nyanotrasen/StationEvents/Components/PsionicCatGotYourTongueRuleComponent.cs rename to Content.Server/StationEvents/Components/PsionicCatGotYourTongueRuleComponent.cs diff --git a/Content.Server/Nyanotrasen/StationEvents/Events/FreeProberRule.cs b/Content.Server/StationEvents/Events/FreeProberRule.cs similarity index 100% rename from Content.Server/Nyanotrasen/StationEvents/Events/FreeProberRule.cs rename to Content.Server/StationEvents/Events/FreeProberRule.cs diff --git a/Content.Server/Nyanotrasen/StationEvents/Events/GlimmerEventSystem.cs b/Content.Server/StationEvents/Events/GlimmerEventSystem.cs similarity index 100% rename from Content.Server/Nyanotrasen/StationEvents/Events/GlimmerEventSystem.cs rename to Content.Server/StationEvents/Events/GlimmerEventSystem.cs diff --git a/Content.Server/Nyanotrasen/StationEvents/Events/GlimmerRandomSentienceRule.cs b/Content.Server/StationEvents/Events/GlimmerRandomSentienceRule.cs similarity index 100% rename from Content.Server/Nyanotrasen/StationEvents/Events/GlimmerRandomSentienceRule.cs rename to Content.Server/StationEvents/Events/GlimmerRandomSentienceRule.cs diff --git a/Content.Server/Nyanotrasen/StationEvents/Events/GlimmerRevenantSpawnRule.cs b/Content.Server/StationEvents/Events/GlimmerRevenantSpawnRule.cs similarity index 100% rename from Content.Server/Nyanotrasen/StationEvents/Events/GlimmerRevenantSpawnRule.cs rename to Content.Server/StationEvents/Events/GlimmerRevenantSpawnRule.cs diff --git a/Content.Server/Nyanotrasen/StationEvents/Events/GlimmerWispSpawnRule.cs b/Content.Server/StationEvents/Events/GlimmerWispSpawnRule.cs similarity index 100% rename from Content.Server/Nyanotrasen/StationEvents/Events/GlimmerWispSpawnRule.cs rename to Content.Server/StationEvents/Events/GlimmerWispSpawnRule.cs diff --git a/Content.Server/Nyanotrasen/StationEvents/Events/MassMindSwapRule.cs b/Content.Server/StationEvents/Events/MassMindSwapRule.cs similarity index 100% rename from Content.Server/Nyanotrasen/StationEvents/Events/MassMindSwapRule.cs rename to Content.Server/StationEvents/Events/MassMindSwapRule.cs diff --git a/Content.Server/Nyanotrasen/StationEvents/Events/MundaneDischargeRule.cs b/Content.Server/StationEvents/Events/MundaneDischargeRule.cs similarity index 100% rename from Content.Server/Nyanotrasen/StationEvents/Events/MundaneDischargeRule.cs rename to Content.Server/StationEvents/Events/MundaneDischargeRule.cs diff --git a/Content.Server/Nyanotrasen/StationEvents/Events/NoosphericFryRule.cs b/Content.Server/StationEvents/Events/NoosphericFryRule.cs similarity index 100% rename from Content.Server/Nyanotrasen/StationEvents/Events/NoosphericFryRule.cs rename to Content.Server/StationEvents/Events/NoosphericFryRule.cs diff --git a/Content.Server/Nyanotrasen/StationEvents/Events/NoosphericStormRule.cs b/Content.Server/StationEvents/Events/NoosphericStormRule.cs similarity index 100% rename from Content.Server/Nyanotrasen/StationEvents/Events/NoosphericStormRule.cs rename to Content.Server/StationEvents/Events/NoosphericStormRule.cs diff --git a/Content.Server/Nyanotrasen/StationEvents/Events/NoosphericZapRule.cs b/Content.Server/StationEvents/Events/NoosphericZapRule.cs similarity index 100% rename from Content.Server/Nyanotrasen/StationEvents/Events/NoosphericZapRule.cs rename to Content.Server/StationEvents/Events/NoosphericZapRule.cs diff --git a/Content.Server/Nyanotrasen/StationEvents/Events/PsionicCatGotYourTongueRule.cs b/Content.Server/StationEvents/Events/PsionicCatGotYourTongueRule.cs similarity index 100% rename from Content.Server/Nyanotrasen/StationEvents/Events/PsionicCatGotYourTongueRule.cs rename to Content.Server/StationEvents/Events/PsionicCatGotYourTongueRule.cs diff --git a/Content.Server/Traits/Assorted/TraitSpeedModifierComponent.cs b/Content.Server/Traits/Assorted/TraitSpeedModifierComponent.cs new file mode 100644 index 00000000000..6acb32e6c1d --- /dev/null +++ b/Content.Server/Traits/Assorted/TraitSpeedModifierComponent.cs @@ -0,0 +1,14 @@ +namespace Content.Server.Traits.Assorted; + +/// +/// This component is used for traits that modify movement speed. +/// +[RegisterComponent] +public sealed partial class TraitSpeedModifierComponent : Component +{ + [DataField(required: true)] + public float WalkModifier = 1.0f; + + [DataField(required: true)] + public float SprintModifier = 1.0f; +} diff --git a/Content.Server/Traits/Assorted/TraitSpeedModifierSystem.cs b/Content.Server/Traits/Assorted/TraitSpeedModifierSystem.cs new file mode 100644 index 00000000000..c804592347a --- /dev/null +++ b/Content.Server/Traits/Assorted/TraitSpeedModifierSystem.cs @@ -0,0 +1,19 @@ +using Content.Shared.Movement.Systems; +using Content.Server.Traits.Assorted; + +namespace Content.Shared.Traits.Assorted; + +public sealed class TraitSpeedModifierSystem : EntitySystem +{ + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnRefreshMovementSpeed); + } + + private void OnRefreshMovementSpeed(EntityUid uid, TraitSpeedModifierComponent component, RefreshMovementSpeedModifiersEvent args) + { + args.ModifySpeed(component.WalkModifier, component.SprintModifier); + } +} diff --git a/Content.Server/Traits/HemophiliaComponent.cs b/Content.Server/Traits/HemophiliaComponent.cs new file mode 100644 index 00000000000..e8f1f57c6e5 --- /dev/null +++ b/Content.Server/Traits/HemophiliaComponent.cs @@ -0,0 +1,21 @@ +using Content.Shared.Damage; +namespace Content.Server.Traits.Assorted; + +/// +/// This is used for the Hemophilia trait. +/// +[RegisterComponent] +public sealed partial class HemophiliaComponent : Component +{ + // + // What the BleedReductionAmount should be multiplied by. + // + [DataField(required: true)] + public float BleedReductionModifier = 1f; + + /// + /// The damage increase from this trait. + /// + [DataField(required: true)] + public DamageModifierSet DamageModifiers = default!; +} diff --git a/Content.Server/Traits/HemophiliaSystem.cs b/Content.Server/Traits/HemophiliaSystem.cs new file mode 100644 index 00000000000..c70c7de37c0 --- /dev/null +++ b/Content.Server/Traits/HemophiliaSystem.cs @@ -0,0 +1,28 @@ +using Content.Server.Body.Systems; +using Content.Server.Body.Components; +using Content.Shared.Damage; + +namespace Content.Server.Traits.Assorted; + +public sealed class HemophiliaSystem : EntitySystem +{ + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnStartup); + SubscribeLocalEvent(OnDamageModify); + } + + private void OnStartup(EntityUid uid, HemophiliaComponent component, ComponentStartup args) + { + if (!TryComp(uid, out var bloodstream)) + return; + + bloodstream.BleedReductionAmount *= component.BleedReductionModifier; + } + + private void OnDamageModify(EntityUid uid, HemophiliaComponent component, DamageModifyEvent args) + { + args.Damage = DamageSpecifier.ApplyModifierSet(args.Damage, component.DamageModifiers); + } +} diff --git a/Content.Shared/Nyanotrasen/Actions/Events/DispelPowerActionEvent.cs b/Content.Shared/Actions/Events/DispelPowerActionEvent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Actions/Events/DispelPowerActionEvent.cs rename to Content.Shared/Actions/Events/DispelPowerActionEvent.cs diff --git a/Content.Shared/Nyanotrasen/Actions/Events/EatMouseActionEvent.cs b/Content.Shared/Actions/Events/EatMouseActionEvent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Actions/Events/EatMouseActionEvent.cs rename to Content.Shared/Actions/Events/EatMouseActionEvent.cs diff --git a/Content.Shared/Nyanotrasen/Actions/Events/HairballActionEvent.cs b/Content.Shared/Actions/Events/HairballActionEvent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Actions/Events/HairballActionEvent.cs rename to Content.Shared/Actions/Events/HairballActionEvent.cs diff --git a/Content.Shared/Nyanotrasen/Actions/Events/MassSleepPowerActionEvent.cs b/Content.Shared/Actions/Events/MassSleepPowerActionEvent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Actions/Events/MassSleepPowerActionEvent.cs rename to Content.Shared/Actions/Events/MassSleepPowerActionEvent.cs diff --git a/Content.Shared/Nyanotrasen/Actions/Events/MetapsionicPowerActionEvent.cs b/Content.Shared/Actions/Events/MetapsionicPowerActionEvent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Actions/Events/MetapsionicPowerActionEvent.cs rename to Content.Shared/Actions/Events/MetapsionicPowerActionEvent.cs diff --git a/Content.Shared/Nyanotrasen/Actions/Events/MindSwapPowerActionEvent.cs b/Content.Shared/Actions/Events/MindSwapPowerActionEvent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Actions/Events/MindSwapPowerActionEvent.cs rename to Content.Shared/Actions/Events/MindSwapPowerActionEvent.cs diff --git a/Content.Shared/Nyanotrasen/Actions/Events/NoosphericZapPowerActionEvent.cs b/Content.Shared/Actions/Events/NoosphericZapPowerActionEvent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Actions/Events/NoosphericZapPowerActionEvent.cs rename to Content.Shared/Actions/Events/NoosphericZapPowerActionEvent.cs diff --git a/Content.Shared/Nyanotrasen/Actions/Events/PsionicInvisibilityPowerActionEvent.cs b/Content.Shared/Actions/Events/PsionicInvisibilityPowerActionEvent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Actions/Events/PsionicInvisibilityPowerActionEvent.cs rename to Content.Shared/Actions/Events/PsionicInvisibilityPowerActionEvent.cs diff --git a/Content.Shared/Nyanotrasen/Actions/Events/PsionicRegenerationPowerActionEvent.cs b/Content.Shared/Actions/Events/PsionicRegenerationPowerActionEvent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Actions/Events/PsionicRegenerationPowerActionEvent.cs rename to Content.Shared/Actions/Events/PsionicRegenerationPowerActionEvent.cs diff --git a/Content.Shared/Nyanotrasen/Actions/Events/PyrokinesisPowerActionEvent.cs b/Content.Shared/Actions/Events/PyrokinesisPowerActionEvent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Actions/Events/PyrokinesisPowerActionEvent.cs rename to Content.Shared/Actions/Events/PyrokinesisPowerActionEvent.cs diff --git a/Content.Shared/Nyanotrasen/Actions/Events/RemovePsionicInvisibilityOffPowerActionEvent.cs b/Content.Shared/Actions/Events/RemovePsionicInvisibilityOffPowerActionEvent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Actions/Events/RemovePsionicInvisibilityOffPowerActionEvent.cs rename to Content.Shared/Actions/Events/RemovePsionicInvisibilityOffPowerActionEvent.cs diff --git a/Content.Shared/Nyanotrasen/Actions/Events/TelegnosisPowerActionEvent.cs b/Content.Shared/Actions/Events/TelegnosisPowerActionEvent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Actions/Events/TelegnosisPowerActionEvent.cs rename to Content.Shared/Actions/Events/TelegnosisPowerActionEvent.cs diff --git a/Content.Shared/Nyanotrasen/CartridgeLoader/Cartridges/GlimmerMonitorUiState.cs b/Content.Shared/CartridgeLoader/Cartridges/GlimmerMonitorUiState.cs similarity index 100% rename from Content.Shared/Nyanotrasen/CartridgeLoader/Cartridges/GlimmerMonitorUiState.cs rename to Content.Shared/CartridgeLoader/Cartridges/GlimmerMonitorUiState.cs diff --git a/Content.Shared/Nyanotrasen/Chapel/SacrificeDoAfterEvent.cs b/Content.Shared/Chapel/SacrificeDoAfterEvent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Chapel/SacrificeDoAfterEvent.cs rename to Content.Shared/Chapel/SacrificeDoAfterEvent.cs diff --git a/Content.Shared/Humanoid/SkinColor.cs b/Content.Shared/Humanoid/SkinColor.cs index 55fab4af5ba..dcc5c2d7645 100644 --- a/Content.Shared/Humanoid/SkinColor.cs +++ b/Content.Shared/Humanoid/SkinColor.cs @@ -136,7 +136,7 @@ public static Color TintedHues(Color color) /// The skin color to blend with /// Blending factor (0.0 to 1.0) /// Tinted hue color - public static Color TintedHuesSkin(Color color, Color skinColor, float blendFactor = 0.5f) + public static Color TintedHuesSkin(Color color, Color skinColor, float blendFactor = 0.0f) { blendFactor = MathHelper.Clamp(blendFactor, 0.0f, 1.0f); diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/AcceptPsionicsEuiMessage.cs b/Content.Shared/Psionics/Abilities/AcceptPsionicsEuiMessage.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/AcceptPsionicsEuiMessage.cs rename to Content.Shared/Psionics/Abilities/AcceptPsionicsEuiMessage.cs diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Dispel/DamageOnDispelComponent.cs b/Content.Shared/Psionics/Abilities/Dispel/DamageOnDispelComponent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Dispel/DamageOnDispelComponent.cs rename to Content.Shared/Psionics/Abilities/Dispel/DamageOnDispelComponent.cs diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Dispel/DispelPowerComponent.cs b/Content.Shared/Psionics/Abilities/Dispel/DispelPowerComponent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Dispel/DispelPowerComponent.cs rename to Content.Shared/Psionics/Abilities/Dispel/DispelPowerComponent.cs diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Dispel/DispellableComponent.cs b/Content.Shared/Psionics/Abilities/Dispel/DispellableComponent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Dispel/DispellableComponent.cs rename to Content.Shared/Psionics/Abilities/Dispel/DispellableComponent.cs diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/MassSleep/MassSleepPowerComponent.cs b/Content.Shared/Psionics/Abilities/MassSleep/MassSleepPowerComponent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/MassSleep/MassSleepPowerComponent.cs rename to Content.Shared/Psionics/Abilities/MassSleep/MassSleepPowerComponent.cs diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/MassSleep/MassSleepPowerSystem.cs b/Content.Shared/Psionics/Abilities/MassSleep/MassSleepPowerSystem.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/MassSleep/MassSleepPowerSystem.cs rename to Content.Shared/Psionics/Abilities/MassSleep/MassSleepPowerSystem.cs diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Metapsionics/MetapsionicPowerComponent.cs b/Content.Shared/Psionics/Abilities/Metapsionics/MetapsionicPowerComponent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Metapsionics/MetapsionicPowerComponent.cs rename to Content.Shared/Psionics/Abilities/Metapsionics/MetapsionicPowerComponent.cs diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/MindSwap/MindSwapPowerComponent.cs b/Content.Shared/Psionics/Abilities/MindSwap/MindSwapPowerComponent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/MindSwap/MindSwapPowerComponent.cs rename to Content.Shared/Psionics/Abilities/MindSwap/MindSwapPowerComponent.cs diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/NoosphericZap/NoosphericZapPowerComponent.cs b/Content.Shared/Psionics/Abilities/NoosphericZap/NoosphericZapPowerComponent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/NoosphericZap/NoosphericZapPowerComponent.cs rename to Content.Shared/Psionics/Abilities/NoosphericZap/NoosphericZapPowerComponent.cs diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/PsionicInvisibility/PsionicInvisibilityPowerComponent.cs b/Content.Shared/Psionics/Abilities/PsionicInvisibility/PsionicInvisibilityPowerComponent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/PsionicInvisibility/PsionicInvisibilityPowerComponent.cs rename to Content.Shared/Psionics/Abilities/PsionicInvisibility/PsionicInvisibilityPowerComponent.cs diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/PsionicInvisibility/PsionicInvisibilityUsedComponent.cs b/Content.Shared/Psionics/Abilities/PsionicInvisibility/PsionicInvisibilityUsedComponent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/PsionicInvisibility/PsionicInvisibilityUsedComponent.cs rename to Content.Shared/Psionics/Abilities/PsionicInvisibility/PsionicInvisibilityUsedComponent.cs diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/PsionicRegeneration/PsionicRegenerationPowerComponent.cs b/Content.Shared/Psionics/Abilities/PsionicRegeneration/PsionicRegenerationPowerComponent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/PsionicRegeneration/PsionicRegenerationPowerComponent.cs rename to Content.Shared/Psionics/Abilities/PsionicRegeneration/PsionicRegenerationPowerComponent.cs diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Pyrokinesis/PyrokinesisPowerComponent.cs b/Content.Shared/Psionics/Abilities/Pyrokinesis/PyrokinesisPowerComponent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Pyrokinesis/PyrokinesisPowerComponent.cs rename to Content.Shared/Psionics/Abilities/Pyrokinesis/PyrokinesisPowerComponent.cs diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/TelegnosisPowerComponent.cs b/Content.Shared/Psionics/Abilities/Telegnosis/TelegnosisPowerComponent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/TelegnosisPowerComponent.cs rename to Content.Shared/Psionics/Abilities/Telegnosis/TelegnosisPowerComponent.cs diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/TelegnosticProjectionComponent.cs b/Content.Shared/Psionics/Abilities/Telegnosis/TelegnosticProjectionComponent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/TelegnosticProjectionComponent.cs rename to Content.Shared/Psionics/Abilities/Telegnosis/TelegnosticProjectionComponent.cs diff --git a/Content.Shared/Nyanotrasen/Psionics/Events.cs b/Content.Shared/Psionics/Events.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Psionics/Events.cs rename to Content.Shared/Psionics/Events.cs diff --git a/Content.Shared/Nyanotrasen/Psionics/Glimmer/GlimmerSystem.cs b/Content.Shared/Psionics/Glimmer/GlimmerSystem.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Psionics/Glimmer/GlimmerSystem.cs rename to Content.Shared/Psionics/Glimmer/GlimmerSystem.cs diff --git a/Content.Shared/Nyanotrasen/Psionics/Glimmer/SharedGlimmerReactiveComponent.cs b/Content.Shared/Psionics/Glimmer/SharedGlimmerReactiveComponent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Psionics/Glimmer/SharedGlimmerReactiveComponent.cs rename to Content.Shared/Psionics/Glimmer/SharedGlimmerReactiveComponent.cs diff --git a/Content.Shared/Nyanotrasen/Psionics/Glimmer/SharedGlimmerReactiveVisuals.cs b/Content.Shared/Psionics/Glimmer/SharedGlimmerReactiveVisuals.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Psionics/Glimmer/SharedGlimmerReactiveVisuals.cs rename to Content.Shared/Psionics/Glimmer/SharedGlimmerReactiveVisuals.cs diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Items/ClothingGrantPsionicPowerComponent.cs b/Content.Shared/Psionics/Items/ClothingGrantPsionicPowerComponent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/Items/ClothingGrantPsionicPowerComponent.cs rename to Content.Shared/Psionics/Items/ClothingGrantPsionicPowerComponent.cs diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Items/HeadCageComponent.cs b/Content.Shared/Psionics/Items/HeadCageComponent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/Items/HeadCageComponent.cs rename to Content.Shared/Psionics/Items/HeadCageComponent.cs diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Items/HeadCagedComponent.cs b/Content.Shared/Psionics/Items/HeadCagedComponent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/Items/HeadCagedComponent.cs rename to Content.Shared/Psionics/Items/HeadCagedComponent.cs diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Items/PsionicItemsSystem.cs b/Content.Shared/Psionics/Items/PsionicItemsSystem.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/Items/PsionicItemsSystem.cs rename to Content.Shared/Psionics/Items/PsionicItemsSystem.cs diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Items/TinfoilHatComponent.cs b/Content.Shared/Psionics/Items/TinfoilHatComponent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/Items/TinfoilHatComponent.cs rename to Content.Shared/Psionics/Items/TinfoilHatComponent.cs diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/PsionicComponent.cs b/Content.Shared/Psionics/PsionicComponent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/PsionicComponent.cs rename to Content.Shared/Psionics/PsionicComponent.cs diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/PsionicInsulationComponent.cs b/Content.Shared/Psionics/PsionicInsulationComponent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/PsionicInsulationComponent.cs rename to Content.Shared/Psionics/PsionicInsulationComponent.cs diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/PsionicsDisabledComponent.cs b/Content.Shared/Psionics/PsionicsDisabledComponent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/PsionicsDisabledComponent.cs rename to Content.Shared/Psionics/PsionicsDisabledComponent.cs diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/SharedPsionicAbilitiesSystem.cs b/Content.Shared/Psionics/SharedPsionicAbilitiesSystem.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Abilities/Psionics/SharedPsionicAbilitiesSystem.cs rename to Content.Shared/Psionics/SharedPsionicAbilitiesSystem.cs diff --git a/Content.Shared/Nyanotrasen/Soul/GolemMessages.cs b/Content.Shared/Soul/GolemMessages.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Soul/GolemMessages.cs rename to Content.Shared/Soul/GolemMessages.cs diff --git a/Content.Shared/Nyanotrasen/Soul/GunHeldByGolemComponent.cs b/Content.Shared/Soul/GunHeldByGolemComponent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Soul/GunHeldByGolemComponent.cs rename to Content.Shared/Soul/GunHeldByGolemComponent.cs diff --git a/Content.Shared/Nyanotrasen/Soul/SharedGolemComponent.cs b/Content.Shared/Soul/SharedGolemComponent.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Soul/SharedGolemComponent.cs rename to Content.Shared/Soul/SharedGolemComponent.cs diff --git a/Content.Shared/Nyanotrasen/Soul/SharedGolemSystem.cs b/Content.Shared/Soul/SharedGolemSystem.cs similarity index 100% rename from Content.Shared/Nyanotrasen/Soul/SharedGolemSystem.cs rename to Content.Shared/Soul/SharedGolemSystem.cs diff --git a/Resources/Audio/Nyanotrasen/Ambience/Objects/prober_hum_dangerous.ogg b/Resources/Audio/Ambience/Objects/prober_hum_dangerous.ogg similarity index 100% rename from Resources/Audio/Nyanotrasen/Ambience/Objects/prober_hum_dangerous.ogg rename to Resources/Audio/Ambience/Objects/prober_hum_dangerous.ogg diff --git a/Resources/Audio/Nyanotrasen/Ambience/Objects/prober_hum_high.ogg b/Resources/Audio/Ambience/Objects/prober_hum_high.ogg similarity index 100% rename from Resources/Audio/Nyanotrasen/Ambience/Objects/prober_hum_high.ogg rename to Resources/Audio/Ambience/Objects/prober_hum_high.ogg diff --git a/Resources/Audio/Nyanotrasen/Ambience/Objects/prober_hum_low.ogg b/Resources/Audio/Ambience/Objects/prober_hum_low.ogg similarity index 100% rename from Resources/Audio/Nyanotrasen/Ambience/Objects/prober_hum_low.ogg rename to Resources/Audio/Ambience/Objects/prober_hum_low.ogg diff --git a/Resources/Audio/Nyanotrasen/Ambience/Objects/prober_hum_moderate.ogg b/Resources/Audio/Ambience/Objects/prober_hum_moderate.ogg similarity index 100% rename from Resources/Audio/Nyanotrasen/Ambience/Objects/prober_hum_moderate.ogg rename to Resources/Audio/Ambience/Objects/prober_hum_moderate.ogg diff --git a/Resources/Audio/Nyanotrasen/Psionics/attributions.yml b/Resources/Audio/Psionics/attributions.yml similarity index 100% rename from Resources/Audio/Nyanotrasen/Psionics/attributions.yml rename to Resources/Audio/Psionics/attributions.yml diff --git a/Resources/Audio/Nyanotrasen/Psionics/heartbeat_fast.ogg b/Resources/Audio/Psionics/heartbeat_fast.ogg similarity index 100% rename from Resources/Audio/Nyanotrasen/Psionics/heartbeat_fast.ogg rename to Resources/Audio/Psionics/heartbeat_fast.ogg diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 5aca84c9f32..6e9745ffd8b 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -5053,3 +5053,73 @@ Entries: message: Barotrauma admin log spam id: 6232 time: '2024-08-07T17:31:55.0000000+00:00' +- author: Mnemotechnician + changes: + - type: Add + message: Mr. Butlertron can now suffer for its crimes. + id: 6233 + time: '2024-08-07T22:38:04.0000000+00:00' +- author: VMSolidus + changes: + - type: Add + message: >- + The following new markings have been added for Harpies: Bat Wings, + Simple Bionic Wings, Haven Tail, Swallow tail, and Long Forked Tail + id: 6234 + time: '2024-08-07T23:11:41.0000000+00:00' +- author: DangerRevolution + changes: + - type: Add + message: Readded Psionic Relay Orb + id: 6235 + time: '2024-08-07T23:16:30.0000000+00:00' +- author: Skubman + changes: + - type: Add + message: >- + Add two new negative traits: Sluggish (+1) and Snail-Paced (+2) that + make you move slower, and climb tables slower. + id: 6236 + time: '2024-08-07T23:38:33.0000000+00:00' +- author: Skubman + changes: + - type: Add + message: >- + Add the Hemophilia trait, a new negative trait for 1 point that makes + you bleed twice as long and makes you take 10% more Blunt damage. + id: 6237 + time: '2024-08-07T23:39:52.0000000+00:00' +- author: SleepyScarecrow + changes: + - type: Fix + message: Fixed the RegenMesh recipe + id: 6238 + time: '2024-08-07T23:51:29.0000000+00:00' +- author: dootythefrooty + changes: + - type: Add + message: >- + Added Bluespace Slips, a plant trait that teleports you randomly if you + slip. + id: 6239 + time: '2024-08-07T23:54:13.0000000+00:00' +- author: BlueHNT + changes: + - type: Tweak + message: >- + Tweaked the formatting for WelderRefinable refineResult to use + EntitySpawnEntry format + id: 6240 + time: '2024-08-08T00:16:02.0000000+00:00' +- author: VMSolidus + changes: + - type: Fix + message: Moths can now once again be colorful. + id: 6241 + time: '2024-08-08T00:18:08.0000000+00:00' +- author: ShatteredSwords + changes: + - type: Tweak + message: Skeleton ghost role description has been adjusted to be less evil. + id: 6242 + time: '2024-08-09T10:52:49.0000000+00:00' diff --git a/Resources/Locale/en-US/nyanotrasen/abilities/psionic.ftl b/Resources/Locale/en-US/abilities/psionic.ftl similarity index 100% rename from Resources/Locale/en-US/nyanotrasen/abilities/psionic.ftl rename to Resources/Locale/en-US/abilities/psionic.ftl diff --git a/Resources/Locale/en-US/botany/components/teleporting-trait-component.ftl b/Resources/Locale/en-US/botany/components/teleporting-trait-component.ftl new file mode 100644 index 00000000000..c38b8605f2b --- /dev/null +++ b/Resources/Locale/en-US/botany/components/teleporting-trait-component.ftl @@ -0,0 +1 @@ +teleporting-trait-component-slipped = You slip through bluespace! diff --git a/Resources/Locale/en-US/cartridge-loader/cartridges.ftl b/Resources/Locale/en-US/cartridge-loader/cartridges.ftl index f5cda2f2a18..cfa1b1424d2 100644 --- a/Resources/Locale/en-US/cartridge-loader/cartridges.ftl +++ b/Resources/Locale/en-US/cartridge-loader/cartridges.ftl @@ -19,3 +19,8 @@ log-probe-scan = Downloaded logs from {$device}! log-probe-label-time = Time log-probe-label-accessor = Accessed by log-probe-label-number = # + +glimmer-monitor-program-name = Glimmer Monitor +glimmer-monitor-current-glimmer = Current Glimmer: {$glimmer}Ψ +glimmer-monitor-interval = Interval +glimmer-monitor-sync = Sync diff --git a/Resources/Locale/en-US/chemistry/reagent-effects.ftl b/Resources/Locale/en-US/chemistry/reagent-effects.ftl index 537770b35a5..cb55db111d6 100644 --- a/Resources/Locale/en-US/chemistry/reagent-effects.ftl +++ b/Resources/Locale/en-US/chemistry/reagent-effects.ftl @@ -1 +1 @@ -effect-sleepy = You feel a bit sleepy. +effect-sleepy = You feel a bit sleepy. \ No newline at end of file diff --git a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl index 7b25eb660bc..9260db903fc 100644 --- a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl +++ b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl @@ -161,7 +161,7 @@ ghost-role-information-skeleton-biker-name = Skeleton Biker ghost-role-information-skeleton-biker-description = Ride around on your sweet ride. ghost-role-information-closet-skeleton-name = Closet Skeleton -ghost-role-information-closet-skeleton-description = Wreak havoc! You are a primordial force with no allegiance. Live happily with the crew or wage sweet skeletal war. +ghost-role-information-closet-skeleton-description = You are a closet skeleton! You are a primordial force of chaos with no allegiance! You can either join the crew and use your skeletal antics to help them, or be a a prankster, and hinder their efforts! ghost-role-information-onestar-mecha-name = Onestar Mecha ghost-role-information-onestar-mecha-description = You are an experimental mecha created by who-knows-what, all you know is that you have weapons and you detect fleshy moving targets nearby... diff --git a/Resources/Locale/en-US/guidebook/chemistry/effects.ftl b/Resources/Locale/en-US/guidebook/chemistry/effects.ftl index b6f45d23862..db2f3816f6b 100644 --- a/Resources/Locale/en-US/guidebook/chemistry/effects.ftl +++ b/Resources/Locale/en-US/guidebook/chemistry/effects.ftl @@ -344,3 +344,21 @@ reagent-effect-guidebook-missing = [1] Causes *[other] cause } an unknown effect as nobody has written this effect yet + +reagent-effect-guidebook-change-glimmer-reaction-effect = + { $chance -> + [1] Modifies + *[other] modify + } the glimmer count by {$count} points + +reagent-effect-guidebook-chem-remove-psionic = + { $chance -> + [1] Removes + *[other] remove + } psionic powers + +reagent-effect-guidebook-chem-reroll-psionic = + { $chance -> + [1] Allows + *[other] allow + } a chance to get a different psionic power \ No newline at end of file diff --git a/Resources/Locale/en-US/guidebook/guides.ftl b/Resources/Locale/en-US/guidebook/guides.ftl index 72746dbf51f..968d3b20038 100644 --- a/Resources/Locale/en-US/guidebook/guides.ftl +++ b/Resources/Locale/en-US/guidebook/guides.ftl @@ -70,3 +70,7 @@ guide-entry-space-ninja = Space Ninja guide-entry-writing = Writing guide-entry-glossary = Glossary + +guide-entry-altars-golemancy = Altars and Golemancy +guide-entry-psionics = Psionics +guide-entry-reverse-engineering = Reverse Engineering diff --git a/Resources/Locale/en-US/markings/harpy.ftl b/Resources/Locale/en-US/markings/harpy.ftl index 6d6ba75a936..724207c3ef8 100644 --- a/Resources/Locale/en-US/markings/harpy.ftl +++ b/Resources/Locale/en-US/markings/harpy.ftl @@ -40,6 +40,14 @@ marking-HarpyWingTipsClassic = Classic Wings with Feather Tips marking-HarpyWingTipsClassic-harpy_wingtip_1 = Main marking-HarpyWingTipsClassic-harpy_wingtip_2 = Feathertips +marking-HarpyWingBat = Bat Wings (Whitescale) +marking-HarpyWingBat-bat_wings_tone_1 = Limbs +marking-HarpyWingBat-bat_wings_tone_2 = Membrane + +marking-HarpyWingBionic = Simple Bionic Wings (Whitescale) +marking-HarpyWingBionic-bionic_wings_tone_1 = Wings +marking-HarpyWingBionic-bionic_wings_tone_2 = Lights (Unshaded) + marking-HarpyEarsDefault = Feather Tufts marking-HarpyEarsDefault-harpy_ears_default = Tufts @@ -65,6 +73,16 @@ marking-HarpyTailPeacock = Peacock Tail marking-HarpyTailPeacock-peacock_tail_feathers = Feathers marking-HarpyTailPeacock-peacock_tail_eyes = Eyes +marking-HarpyTailHaven = Haven Tail (Whitescale) +marking-HarpyTailHaven-haven_tone_1 = Outer Feathers +marking-HarpyTailHaven-haven_tone_2 = Inner Feathers + +marking-HarpyTailForkedLong = Long Forked Tail (Whitescale) +marking-HarpyTailForkedLong-forked_long = Tail + +marking-HarpyTailSwallow = Swallow Tail (Whitescale) +marking-HarpyTailForkedLong-forked_long = Tail + marking-HarpyChestDefault = Wing & Groin Under-Clothes marking-HarpyChestDefault-upper = Wing Under-Clothes marking-HarpyChestDefault-lower = Groin Under-Clothes diff --git a/Resources/Locale/en-US/nyanotrasen/cartridge-loader/cartridges.ftl b/Resources/Locale/en-US/nyanotrasen/cartridge-loader/cartridges.ftl deleted file mode 100644 index 906466bc10f..00000000000 --- a/Resources/Locale/en-US/nyanotrasen/cartridge-loader/cartridges.ftl +++ /dev/null @@ -1,4 +0,0 @@ -glimmer-monitor-program-name = Glimmer Monitor -glimmer-monitor-current-glimmer = Current Glimmer: {$glimmer}Ψ -glimmer-monitor-interval = Interval -glimmer-monitor-sync = Sync diff --git a/Resources/Locale/en-US/nyanotrasen/chemistry/effects.ftl b/Resources/Locale/en-US/nyanotrasen/chemistry/effects.ftl index 19aeebee69e..8d0c96f13c5 100644 --- a/Resources/Locale/en-US/nyanotrasen/chemistry/effects.ftl +++ b/Resources/Locale/en-US/nyanotrasen/chemistry/effects.ftl @@ -1,21 +1,3 @@ -reagent-effect-guidebook-change-glimmer-reaction-effect = - { $chance -> - [1] Modifies - *[other] modify - } the glimmer count by {$count} points - -reagent-effect-guidebook-chem-remove-psionic = - { $chance -> - [1] Removes - *[other] remove - } psionic powers - -reagent-effect-guidebook-chem-reroll-psionic = - { $chance -> - [1] Allows - *[other] allow - } a chance to get a different psionic power - ## Disease System support reagent-effect-guidebook-chem-miasma-pool = diff --git a/Resources/Locale/en-US/nyanotrasen/guidebook/guides.ftl b/Resources/Locale/en-US/nyanotrasen/guidebook/guides.ftl deleted file mode 100644 index 60166b82598..00000000000 --- a/Resources/Locale/en-US/nyanotrasen/guidebook/guides.ftl +++ /dev/null @@ -1,3 +0,0 @@ -guide-entry-altars-golemancy = Altars and Golemancy -guide-entry-psionics = Psionics -guide-entry-reverse-engineering = Reverse Engineering diff --git a/Resources/Locale/en-US/nyanotrasen/reagents/toxins.ftl b/Resources/Locale/en-US/nyanotrasen/reagents/toxins.ftl deleted file mode 100644 index 43e35c191c9..00000000000 --- a/Resources/Locale/en-US/nyanotrasen/reagents/toxins.ftl +++ /dev/null @@ -1,8 +0,0 @@ -reagent-name-soulbreaker-toxin = soulbreaker toxin -reagent-desc-soulbreaker-toxin = An anti-psionic about 4 times as powerful as mindbreaker toxin. - -reagent-name-lotophagoi-oil = lotophagoi oil -reagent-desc-lotophagoi-oil = A super potent drug that is much better at inducing psionics than normal hallucinogens, but with worse side effects. - -reagent-name-ectoplasm = ectoplasm -reagent-desc-ectoplasm = The physical component of semi-corporeal spirits. diff --git a/Resources/Locale/en-US/nyanotrasen/xenoarchaeology/artifact-hints.ftl b/Resources/Locale/en-US/nyanotrasen/xenoarchaeology/artifact-hints.ftl deleted file mode 100644 index e07aa0a0322..00000000000 --- a/Resources/Locale/en-US/nyanotrasen/xenoarchaeology/artifact-hints.ftl +++ /dev/null @@ -1 +0,0 @@ -artifact-effect-hint-psionic = Noöspheric disturbance diff --git a/Resources/Locale/en-US/nyanotrasen/paper/book-epistemics.ftl b/Resources/Locale/en-US/psionics/book-epistemics.ftl similarity index 100% rename from Resources/Locale/en-US/nyanotrasen/paper/book-epistemics.ftl rename to Resources/Locale/en-US/psionics/book-epistemics.ftl diff --git a/Resources/Locale/en-US/nyanotrasen/prototypes/catalog/cargo/cargo-epistemics.ftl b/Resources/Locale/en-US/psionics/cargo-epistemics.ftl similarity index 100% rename from Resources/Locale/en-US/nyanotrasen/prototypes/catalog/cargo/cargo-epistemics.ftl rename to Resources/Locale/en-US/psionics/cargo-epistemics.ftl diff --git a/Resources/Locale/en-US/nyanotrasen/psionics/death-gasp.ftl b/Resources/Locale/en-US/psionics/death-gasp.ftl similarity index 100% rename from Resources/Locale/en-US/nyanotrasen/psionics/death-gasp.ftl rename to Resources/Locale/en-US/psionics/death-gasp.ftl diff --git a/Resources/Locale/en-US/nyanotrasen/prototypes/catalog/fills/crates/epistemics-crates.ftl b/Resources/Locale/en-US/psionics/epistemics-crates.ftl similarity index 100% rename from Resources/Locale/en-US/nyanotrasen/prototypes/catalog/fills/crates/epistemics-crates.ftl rename to Resources/Locale/en-US/psionics/epistemics-crates.ftl diff --git a/Resources/Locale/en-US/nyanotrasen/station-events/events/noospheric-storm.ftl b/Resources/Locale/en-US/psionics/noospheric-storm.ftl similarity index 100% rename from Resources/Locale/en-US/nyanotrasen/station-events/events/noospheric-storm.ftl rename to Resources/Locale/en-US/psionics/noospheric-storm.ftl diff --git a/Resources/Locale/en-US/nyanotrasen/objectives/conditions/conditions.ftl b/Resources/Locale/en-US/psionics/objectives.ftl similarity index 100% rename from Resources/Locale/en-US/nyanotrasen/objectives/conditions/conditions.ftl rename to Resources/Locale/en-US/psionics/objectives.ftl diff --git a/Resources/Locale/en-US/nyanotrasen/research/oracle.ftl b/Resources/Locale/en-US/psionics/oracle.ftl similarity index 100% rename from Resources/Locale/en-US/nyanotrasen/research/oracle.ftl rename to Resources/Locale/en-US/psionics/oracle.ftl diff --git a/Resources/Locale/en-US/nyanotrasen/psionics/psionic-chat.ftl b/Resources/Locale/en-US/psionics/psionic-chat.ftl similarity index 100% rename from Resources/Locale/en-US/nyanotrasen/psionics/psionic-chat.ftl rename to Resources/Locale/en-US/psionics/psionic-chat.ftl diff --git a/Resources/Locale/en-US/nyanotrasen/psionics/psionic-commands.ftl b/Resources/Locale/en-US/psionics/psionic-commands.ftl similarity index 100% rename from Resources/Locale/en-US/nyanotrasen/psionics/psionic-commands.ftl rename to Resources/Locale/en-US/psionics/psionic-commands.ftl diff --git a/Resources/Locale/en-US/nyanotrasen/paper/stamp-component.ftl b/Resources/Locale/en-US/psionics/stamp-component.ftl similarity index 100% rename from Resources/Locale/en-US/nyanotrasen/paper/stamp-component.ftl rename to Resources/Locale/en-US/psionics/stamp-component.ftl diff --git a/Resources/Locale/en-US/nyanotrasen/research/technologies.ftl b/Resources/Locale/en-US/psionics/technologies.ftl similarity index 100% rename from Resources/Locale/en-US/nyanotrasen/research/technologies.ftl rename to Resources/Locale/en-US/psionics/technologies.ftl diff --git a/Resources/Locale/en-US/reagents/meta/toxins.ftl b/Resources/Locale/en-US/reagents/meta/toxins.ftl index eb8422e66cf..fa2a813d1d6 100644 --- a/Resources/Locale/en-US/reagents/meta/toxins.ftl +++ b/Resources/Locale/en-US/reagents/meta/toxins.ftl @@ -75,3 +75,12 @@ reagent-desc-vestine = Has an adverse reaction within the body causing major jit reagent-name-tazinide = tazinide reagent-desc-tazinide = A highly dangerous metallic mixture which can interfere with most movement through an electrifying current. + +reagent-name-soulbreaker-toxin = soulbreaker toxin +reagent-desc-soulbreaker-toxin = An anti-psionic about 4 times as powerful as mindbreaker toxin. + +reagent-name-lotophagoi-oil = lotophagoi oil +reagent-desc-lotophagoi-oil = A super potent drug that is much better at inducing psionics than normal hallucinogens, but with worse side effects. + +reagent-name-ectoplasm = ectoplasm +reagent-desc-ectoplasm = The physical component of semi-corporeal spirits. diff --git a/Resources/Locale/en-US/nyanotrasen/reagents/psionic.ftl b/Resources/Locale/en-US/reagents/psionic.ftl similarity index 100% rename from Resources/Locale/en-US/nyanotrasen/reagents/psionic.ftl rename to Resources/Locale/en-US/reagents/psionic.ftl diff --git a/Resources/Locale/en-US/traits/traits.ftl b/Resources/Locale/en-US/traits/traits.ftl index 0f92cdb0486..bab30df3246 100644 --- a/Resources/Locale/en-US/traits/traits.ftl +++ b/Resources/Locale/en-US/traits/traits.ftl @@ -28,6 +28,11 @@ trait-description-BloodDeficiency = Your body loses more blood than it can replenish. You lose blood over time, and when left untreated you will eventually die from blood loss. +trait-name-Hemophilia = Hemophilia +trait-description-Hemophilia = + Your body's ability to form blood clots is impaired. + You bleed twice as long, and you have easy bruising, taking 10% more Blunt damage. + trait-name-Paracusia = Paracusia trait-description-Paracusia = You hear sounds that aren't really there @@ -94,6 +99,16 @@ trait-description-ParkourTraining = Whether as a hobby, lifestyle, or professional training, you are trained in the discipline of parkour. You're faster with climbing, crawling, lying down, and getting up. +trait-name-Sluggish = Sluggish +trait-description-Sluggish = + You navigate the world slower than others, perhaps due to a medical condition, inactivity, or age. + You move slower, and it takes longer for you to climb, lie down and get up. + +trait-name-SnailPaced = Snail-Paced +trait-description-SnailPaced = + You walk at a snail's pace, perhaps due to a medical condition, mobility impairment, or age. + You move substantially slower, and it takes far longer for you to climb, lie down and get up. + trait-name-LightStep = Light Step trait-description-LightStep = You move with a gentle step, making your footsteps quieter. @@ -111,4 +126,4 @@ trait-description-Spearmaster = trait-name-WeaponsGeneralist = Weapons Generalist trait-description-WeaponsGeneralist = You are a jack of all trades with melee weapons, enabling you to be versatile with your weapon arsenal. - Your melee damage bonus for all Brute damage types (Blunt, Slash, Piercing) becomes 25%. \ No newline at end of file + Your melee damage bonus for all Brute damage types (Blunt, Slash, Piercing) becomes 25%. diff --git a/Resources/Locale/en-US/xenoarchaeology/artifact-hints.ftl b/Resources/Locale/en-US/xenoarchaeology/artifact-hints.ftl index 98dfa89fa9f..a139c2036e1 100644 --- a/Resources/Locale/en-US/xenoarchaeology/artifact-hints.ftl +++ b/Resources/Locale/en-US/xenoarchaeology/artifact-hints.ftl @@ -40,3 +40,6 @@ artifact-trigger-hint-regular-gases = Standard atmospheric gases artifact-trigger-hint-plasma = Gaseous plasma artifact-trigger-hint-land = Active deceleration artifact-trigger-hint-examine = Examination + +# Psionic Effects +artifact-effect-hint-psionic = Noöspheric disturbance diff --git a/Resources/Prototypes/Actions/psionics.yml b/Resources/Prototypes/Actions/psionics.yml new file mode 100644 index 00000000000..62a7fc014cd --- /dev/null +++ b/Resources/Prototypes/Actions/psionics.yml @@ -0,0 +1,136 @@ +- type: entity + id: ActionDispel + name: action-name-dispel + description: action-description-dispel + noSpawn: true + components: + - type: EntityTargetAction + icon: Interface/VerbIcons/dispel.png + useDelay: 45 + checkCanAccess: false + range: 6 + itemIconStyle: BigAction + canTargetSelf: false + event: !type:DispelPowerActionEvent + +- type: entity + id: ActionMassSleep + name: action-name-mass-sleep + description: action-description-mass-sleep + noSpawn: true + components: + - type: WorldTargetAction + icon: Interface/VerbIcons/mass_sleep.png + useDelay: 60 + checkCanAccess: false + range: 8 + itemIconStyle: BigAction + event: !type:MassSleepPowerActionEvent + +- type: entity + id: ActionMindSwap + name: action-name-mind-swap + description: action-description-mind-swap + noSpawn: true + components: + - type: EntityTargetAction + icon: Interface/VerbIcons/mind_swap.png + useDelay: 240 + checkCanAccess: false + range: 8 + itemIconStyle: BigAction + event: !type:MindSwapPowerActionEvent + +- type: entity + id: ActionMindSwapReturn + name: action-name-mind-swap-return + description: action-description-mind-swap-return + noSpawn: true + components: + - type: InstantAction + icon: Interface/VerbIcons/mind_swap_return.png + useDelay: 20 + checkCanInteract: false + event: !type:MindSwapPowerReturnActionEvent + +- type: entity + id: ActionNoosphericZap + name: action-name-noospheric-zap + description: action-description-noospheric-zap + noSpawn: true + components: + - type: EntityTargetAction + icon: Interface/VerbIcons/noospheric_zap.png + useDelay: 100 + range: 5 + itemIconStyle: BigAction + event: !type:NoosphericZapPowerActionEvent + +- type: entity + id: ActionPyrokinesis + name: action-name-pyrokinesis + description: action-description-pyrokinesis + noSpawn: true + components: + - type: EntityTargetAction + icon: Interface/VerbIcons/pyrokinesis.png + useDelay: 50 + range: 6 + checkCanAccess: false + itemIconStyle: BigAction + event: !type:PyrokinesisPowerActionEvent + +- type: entity + id: ActionMetapsionic + name: action-name-metapsionic + description: action-description-metapsionic + noSpawn: true + components: + - type: InstantAction + icon: Interface/VerbIcons/metapsionic.png + useDelay: 45 + event: !type:MetapsionicPowerActionEvent + +- type: entity + id: ActionPsionicRegeneration + name: action-name-psionic-regeneration + description: action-description-psionic-regeneration + noSpawn: true + components: + - type: InstantAction + icon: Interface/VerbIcons/psionic_regeneration.png + useDelay: 120 + event: !type:PsionicRegenerationPowerActionEvent + +- type: entity + id: ActionTelegnosis + name: action-name-telegnosis + description: action-description-telegnosis + noSpawn: true + components: + - type: InstantAction + icon: Interface/VerbIcons/telegnosis.png + useDelay: 150 + event: !type:TelegnosisPowerActionEvent + +- type: entity + id: ActionPsionicInvisibility + name: action-name-psionic-invisibility + description: action-description-psionic-invisibility + noSpawn: true + components: + - type: InstantAction + icon: Interface/VerbIcons/psionic_invisibility.png + useDelay: 120 + event: !type:PsionicInvisibilityPowerActionEvent + +- type: entity + id: ActionPsionicInvisibilityUsed + name: action-name-psionic-invisibility-off + description: action-description-psionic-invisibility-off + noSpawn: true + components: + - type: InstantAction + icon: Interface/VerbIcons/psionic_invisibility_off.png + event: !type:RemovePsionicInvisibilityOffPowerActionEvent + diff --git a/Resources/Prototypes/DeltaV/NPC/roboisseur.yml b/Resources/Prototypes/DeltaV/NPC/roboisseur.yml index 2c0b3aee8a0..e7f0b5bcd09 100644 --- a/Resources/Prototypes/DeltaV/NPC/roboisseur.yml +++ b/Resources/Prototypes/DeltaV/NPC/roboisseur.yml @@ -4,12 +4,22 @@ name: Mr. Butlertron description: It asks for food to deliver to exotic customers across the cosmos. Powered by the latest technology in bluespace food delivery. components: + - type: Anchorable + - type: Pullable - type: Sprite noRot: true drawdepth: Mobs sprite: DeltaV/Structures/Machines/roboisseur.rsi layers: - state: roboisseur-1 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 1000 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] - type: Roboisseur - type: Speech speechSounds: Pai diff --git a/Resources/Prototypes/Entities/Mobs/Customization/Markings/harpy.yml b/Resources/Prototypes/Entities/Mobs/Customization/Markings/harpy.yml index 697781be939..2629d836516 100644 --- a/Resources/Prototypes/Entities/Mobs/Customization/Markings/harpy.yml +++ b/Resources/Prototypes/Entities/Mobs/Customization/Markings/harpy.yml @@ -253,6 +253,56 @@ - sprite: Mobs/Customization/Harpy/harpy_tails48x48.rsi state: peacock_tail_eyes +- type: marking + id: HarpyTailHaven + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Harpy] + coloring: + default: + type: + !type:CategoryColoring + category: Hair + fallbackTypes: + - !type:SimpleColoring + sprites: + - sprite: Mobs/Customization/Harpy/harpy_tails.rsi + state: haven_tone_1 + - sprite: Mobs/Customization/Harpy/harpy_tails.rsi + state: haven_tone_2 + +- type: marking + id: HarpyTailForkedLong + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Harpy] + coloring: + default: + type: + !type:CategoryColoring + category: Hair + fallbackTypes: + - !type:SimpleColoring + sprites: + - sprite: Mobs/Customization/Harpy/harpy_tails.rsi + state: forked_long + +- type: marking + id: HarpyTailSwallow + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Harpy] + coloring: + default: + type: + !type:CategoryColoring + category: Hair + fallbackTypes: + - !type:SimpleColoring + sprites: + - sprite: Mobs/Customization/Harpy/harpy_tails.rsi + state: swallow_tail + - type: marking id: HarpyWing2ToneClassic bodyPart: RArm @@ -310,6 +360,29 @@ - sprite: Mobs/Customization/Harpy/harpy_wings.rsi state: harpy_wingtip_2 +- type: marking + id: HarpyWingBat + bodyPart: RArm + markingCategory: Arms + speciesRestriction: [Harpy] + sprites: + - sprite: Mobs/Customization/Harpy/harpy_wings.rsi + state: bat_wings_tone_1 + - sprite: Mobs/Customization/Harpy/harpy_wings.rsi + state: bat_wings_tone_2 + +- type: marking + id: HarpyWingBionic + bodyPart: RArm + markingCategory: Arms + speciesRestriction: [Harpy] + sprites: + - sprite: Mobs/Customization/Harpy/harpy_wings.rsi + state: bionic_wings_tone_1 + - sprite: Mobs/Customization/Harpy/harpy_wings.rsi + state: bionic_wings_tone_2 + shader: unshaded + - type: marking id: HarpyChestDefault bodyPart: Chest diff --git a/Resources/Prototypes/Entities/Objects/Materials/shards.yml b/Resources/Prototypes/Entities/Objects/Materials/shards.yml index 5fcb006cfa5..6cdc066cf10 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/shards.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/shards.yml @@ -89,7 +89,7 @@ color: "#bbeeff" - type: WelderRefinable refineResult: - - SheetGlass1 + - id: SheetGlass1 - type: DamageUserOnTrigger damage: types: @@ -120,8 +120,8 @@ color: "#96cdef" - type: WelderRefinable refineResult: - - SheetGlass1 - - PartRodMetal1 + - id: SheetGlass1 + - id: PartRodMetal1 - type: DamageUserOnTrigger damage: types: @@ -152,8 +152,8 @@ color: "#FF72E7" - type: WelderRefinable refineResult: - - SheetGlass1 - - SheetPlasma1 + - id: SheetGlass1 + - id: SheetPlasma1 - type: DamageUserOnTrigger damage: types: @@ -186,8 +186,8 @@ color: "#8eff7a" - type: WelderRefinable refineResult: - - SheetGlass1 - - SheetUranium1 + - id: SheetGlass1 + - id: SheetUranium1 - type: DamageUserOnTrigger damage: types: @@ -221,8 +221,8 @@ color: "#e0aa36" - type: WelderRefinable refineResult: - - SheetGlass1 - - SheetBrass1 + - id: SheetGlass1 + - id: SheetBrass1 - type: DamageUserOnTrigger damage: types: diff --git a/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml b/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml index b7c73f5e0cc..32222d0036c 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml @@ -28,4 +28,4 @@ - type: SpaceGarbage - type: WelderRefinable refineResult: - - SheetGlass1 + - id: SheetGlass1 diff --git a/Resources/Prototypes/Entities/Objects/Power/lights.yml b/Resources/Prototypes/Entities/Objects/Power/lights.yml index c8089cd22d3..b18a0feaa52 100644 --- a/Resources/Prototypes/Entities/Objects/Power/lights.yml +++ b/Resources/Prototypes/Entities/Objects/Power/lights.yml @@ -68,7 +68,7 @@ - type: SpaceGarbage - type: WelderRefinable refineResult: - - SheetGlass1 + - id: SheetGlass1 - type: entity parent: BaseLightbulb @@ -276,8 +276,8 @@ node: icon - type: WelderRefinable refineResult: - - SheetGlass1 - - ShardCrystalCyan + - id: SheetGlass1 + - id: ShardCrystalCyan - type: entity parent: LightTubeCrystalCyan @@ -296,8 +296,8 @@ node: icon - type: WelderRefinable refineResult: - - SheetGlass1 - - ShardCrystalBlue + - id: SheetGlass1 + - id: ShardCrystalBlue - type: entity parent: LightTubeCrystalCyan @@ -316,8 +316,8 @@ node: icon - type: WelderRefinable refineResult: - - SheetGlass1 - - ShardCrystalPink + - id: SheetGlass1 + - id: ShardCrystalPink - type: entity parent: LightTubeCrystalCyan @@ -336,8 +336,8 @@ node: icon - type: WelderRefinable refineResult: - - SheetGlass1 - - ShardCrystalOrange + - id: SheetGlass1 + - id: ShardCrystalOrange - type: entity parent: LightTubeCrystalCyan @@ -356,8 +356,8 @@ node: icon - type: WelderRefinable refineResult: - - SheetGlass1 - - ShardCrystalRed + - id: SheetGlass1 + - id: ShardCrystalRed - type: entity parent: LightTubeCrystalCyan @@ -376,5 +376,5 @@ node: icon - type: WelderRefinable refineResult: - - SheetGlass1 - - ShardCrystalGreen + - id: SheetGlass1 + - id: ShardCrystalGreen diff --git a/Resources/Prototypes/Entities/Objects/Specific/Research/misc.yml b/Resources/Prototypes/Entities/Objects/Specific/Research/misc.yml new file mode 100644 index 00000000000..79c475900aa --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Specific/Research/misc.yml @@ -0,0 +1,9 @@ +- type: entity + parent: PonderingOrb + id: PonderingOrbTelepathic + name: telepathic relay orb + description: Relays messages intercepted from Psionics. + components: + - type: TelepathicRepeater + - type: Psionic + - type: Speech \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Furniture/dresser.yml b/Resources/Prototypes/Entities/Structures/Furniture/dresser.yml index 6c50b334091..1d0a25ed852 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/dresser.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/dresser.yml @@ -52,7 +52,7 @@ suffix: Filled components: - type: StaticPrice - price: 5 + price: 15 - type: StorageFill contents: - id: ClothingNeckLGBTPin diff --git a/Resources/Prototypes/Nyanotrasen/Actions/types.yml b/Resources/Prototypes/Nyanotrasen/Actions/types.yml index 04002f5755d..cab8f4a1f4e 100644 --- a/Resources/Prototypes/Nyanotrasen/Actions/types.yml +++ b/Resources/Prototypes/Nyanotrasen/Actions/types.yml @@ -18,141 +18,4 @@ charges: 1 icon: { sprite: Nyanotrasen/Objects/Specific/Species/felinid.rsi, state: icon } useDelay: 30 - event: !type:HairballActionEvent - -- type: entity - id: ActionDispel - name: action-name-dispel - description: action-description-dispel - noSpawn: true - components: - - type: EntityTargetAction - icon: Nyanotrasen/Interface/VerbIcons/dispel.png - useDelay: 45 - checkCanAccess: false - range: 6 - itemIconStyle: BigAction - canTargetSelf: false - event: !type:DispelPowerActionEvent - -- type: entity - id: ActionMassSleep - name: action-name-mass-sleep - description: action-description-mass-sleep - noSpawn: true - components: - - type: WorldTargetAction - icon: Nyanotrasen/Interface/VerbIcons/mass_sleep.png - useDelay: 60 - checkCanAccess: false - range: 8 - itemIconStyle: BigAction - event: !type:MassSleepPowerActionEvent - -- type: entity - id: ActionMindSwap - name: action-name-mind-swap - description: action-description-mind-swap - noSpawn: true - components: - - type: EntityTargetAction - icon: Nyanotrasen/Interface/VerbIcons/mind_swap.png - useDelay: 240 - checkCanAccess: false - range: 8 - itemIconStyle: BigAction - event: !type:MindSwapPowerActionEvent - -- type: entity - id: ActionMindSwapReturn - name: action-name-mind-swap-return - description: action-description-mind-swap-return - noSpawn: true - components: - - type: InstantAction - icon: Nyanotrasen/Interface/VerbIcons/mind_swap_return.png - useDelay: 20 - checkCanInteract: false - event: !type:MindSwapPowerReturnActionEvent - -- type: entity - id: ActionNoosphericZap - name: action-name-noospheric-zap - description: action-description-noospheric-zap - noSpawn: true - components: - - type: EntityTargetAction - icon: Nyanotrasen/Interface/VerbIcons/noospheric_zap.png - useDelay: 100 - range: 5 - itemIconStyle: BigAction - event: !type:NoosphericZapPowerActionEvent - -- type: entity - id: ActionPyrokinesis - name: action-name-pyrokinesis - description: action-description-pyrokinesis - noSpawn: true - components: - - type: EntityTargetAction - icon: Nyanotrasen/Interface/VerbIcons/pyrokinesis.png - useDelay: 50 - range: 6 - checkCanAccess: false - itemIconStyle: BigAction - event: !type:PyrokinesisPowerActionEvent - -- type: entity - id: ActionMetapsionic - name: action-name-metapsionic - description: action-description-metapsionic - noSpawn: true - components: - - type: InstantAction - icon: Nyanotrasen/Interface/VerbIcons/metapsionic.png - useDelay: 45 - event: !type:MetapsionicPowerActionEvent - -- type: entity - id: ActionPsionicRegeneration - name: action-name-psionic-regeneration - description: action-description-psionic-regeneration - noSpawn: true - components: - - type: InstantAction - icon: Nyanotrasen/Interface/VerbIcons/psionic_regeneration.png - useDelay: 120 - event: !type:PsionicRegenerationPowerActionEvent - -- type: entity - id: ActionTelegnosis - name: action-name-telegnosis - description: action-description-telegnosis - noSpawn: true - components: - - type: InstantAction - icon: Nyanotrasen/Interface/VerbIcons/telegnosis.png - useDelay: 150 - event: !type:TelegnosisPowerActionEvent - -- type: entity - id: ActionPsionicInvisibility - name: action-name-psionic-invisibility - description: action-description-psionic-invisibility - noSpawn: true - components: - - type: InstantAction - icon: Nyanotrasen/Interface/VerbIcons/psionic_invisibility.png - useDelay: 120 - event: !type:PsionicInvisibilityPowerActionEvent - -- type: entity - id: ActionPsionicInvisibilityUsed - name: action-name-psionic-invisibility-off - description: action-description-psionic-invisibility-off - noSpawn: true - components: - - type: InstantAction - icon: Nyanotrasen/Interface/VerbIcons/psionic_invisibility_off.png - event: !type:RemovePsionicInvisibilityOffPowerActionEvent - + event: !type:HairballActionEvent \ No newline at end of file diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Structures/Research/glimmer_prober.yml b/Resources/Prototypes/Nyanotrasen/Entities/Structures/Research/glimmer_prober.yml index e157f8b7ff4..102000f8b26 100644 --- a/Resources/Prototypes/Nyanotrasen/Entities/Structures/Research/glimmer_prober.yml +++ b/Resources/Prototypes/Nyanotrasen/Entities/Structures/Research/glimmer_prober.yml @@ -67,22 +67,22 @@ - type: AmbientSound range: 6 volume: -6 - sound: /Audio/Nyanotrasen/Ambience/Objects/prober_hum_low.ogg + sound: /Audio/Ambience/Objects/prober_hum_low.ogg - type: AmbientOnPowered - type: GlimmerSound glimmerTier: Minimal: - path: /Audio/Nyanotrasen/Ambience/Objects/prober_hum_low.ogg + path: /Audio/Ambience/Objects/prober_hum_low.ogg Low: - path: /Audio/Nyanotrasen/Ambience/Objects/prober_hum_low.ogg + path: /Audio/Ambience/Objects/prober_hum_low.ogg Moderate: - path: /Audio/Nyanotrasen/Ambience/Objects/prober_hum_moderate.ogg + path: /Audio/Ambience/Objects/prober_hum_moderate.ogg High: - path: /Audio/Nyanotrasen/Ambience/Objects/prober_hum_high.ogg + path: /Audio/Ambience/Objects/prober_hum_high.ogg Dangerous: - path: /Audio/Nyanotrasen/Ambience/Objects/prober_hum_dangerous.ogg + path: /Audio/Ambience/Objects/prober_hum_dangerous.ogg Critical: - path: /Audio/Nyanotrasen/Ambience/Objects/prober_hum_dangerous.ogg + path: /Audio/Ambience/Objects/prober_hum_dangerous.ogg - type: entity parent: BaseMachinePowered diff --git a/Resources/Prototypes/Recipes/Cooking/medical_recipes.yml b/Resources/Prototypes/Recipes/Cooking/medical_recipes.yml index 9d1947f03eb..03ca5203582 100644 --- a/Resources/Prototypes/Recipes/Cooking/medical_recipes.yml +++ b/Resources/Prototypes/Recipes/Cooking/medical_recipes.yml @@ -2,7 +2,7 @@ id: RecipeAloeCream name: aloe cream recipe result: AloeCream - time: 10 + time: 15 solids: FoodAloe: 1 diff --git a/Resources/Prototypes/Traits/disabilities.yml b/Resources/Prototypes/Traits/disabilities.yml index afdd27f339d..915ea0bf674 100644 --- a/Resources/Prototypes/Traits/disabilities.yml +++ b/Resources/Prototypes/Traits/disabilities.yml @@ -95,6 +95,44 @@ components: - type: Snoring +- type: trait + id: Sluggish + category: Physical + points: 1 + requirements: + - !type:CharacterTraitRequirement + inverted: true + traits: + - ParkourTraining + - SnailPaced + components: + - type: TraitSpeedModifier + sprintModifier: 0.85 + walkModifier: 0.85 + - type: ClimbDelayModifier + climbDelayMultiplier: 1.35 + - type: LayingDownModifier + layingDownCooldownMultiplier: 1.2 + +- type: trait + id: SnailPaced + category: Physical + points: 2 + requirements: + - !type:CharacterTraitRequirement + inverted: true + traits: + - ParkourTraining + - Sluggish + components: + - type: TraitSpeedModifier + sprintModifier: 0.7 + walkModifier: 0.7 + - type: ClimbDelayModifier + climbDelayMultiplier: 1.66 + - type: LayingDownModifier + layingDownCooldownMultiplier: 1.6 + - type: trait id: BloodDeficiency category: Physical @@ -108,3 +146,20 @@ components: - type: BloodDeficiency # 0.07 = start taking bloodloss damage at around ~21.4 minutes, bloodLossAmount: 0.07 # then become crit ~10 minutes later + +- type: trait + id: Hemophilia + category: Physical + points: 1 + requirements: + - !type:CharacterJobRequirement + inverted: true + jobs: + - Borg + - MedicalBorg + components: + - type: Hemophilia + bleedReductionModifier: 0.5 + damageModifiers: + coefficients: + Blunt: 1.1 diff --git a/Resources/Prototypes/Traits/skills.yml b/Resources/Prototypes/Traits/skills.yml index 1a4242aff80..0da622da3c9 100644 --- a/Resources/Prototypes/Traits/skills.yml +++ b/Resources/Prototypes/Traits/skills.yml @@ -91,6 +91,12 @@ id: ParkourTraining category: Physical points: -3 + requirements: + - !type:CharacterTraitRequirement + inverted: true + traits: + - Sluggish + - SnailPaced components: - type: ClimbDelayModifier climbDelayMultiplier: 0.70 diff --git a/Resources/Textures/Nyanotrasen/Interface/VerbIcons/dispel.png b/Resources/Textures/Interface/VerbIcons/dispel.png similarity index 100% rename from Resources/Textures/Nyanotrasen/Interface/VerbIcons/dispel.png rename to Resources/Textures/Interface/VerbIcons/dispel.png diff --git a/Resources/Textures/Nyanotrasen/Interface/VerbIcons/dispel.png.yml b/Resources/Textures/Interface/VerbIcons/dispel.png.yml similarity index 100% rename from Resources/Textures/Nyanotrasen/Interface/VerbIcons/dispel.png.yml rename to Resources/Textures/Interface/VerbIcons/dispel.png.yml diff --git a/Resources/Textures/Nyanotrasen/Interface/VerbIcons/license.txt b/Resources/Textures/Interface/VerbIcons/license.txt similarity index 100% rename from Resources/Textures/Nyanotrasen/Interface/VerbIcons/license.txt rename to Resources/Textures/Interface/VerbIcons/license.txt diff --git a/Resources/Textures/Nyanotrasen/Interface/VerbIcons/mass_sleep.png b/Resources/Textures/Interface/VerbIcons/mass_sleep.png similarity index 100% rename from Resources/Textures/Nyanotrasen/Interface/VerbIcons/mass_sleep.png rename to Resources/Textures/Interface/VerbIcons/mass_sleep.png diff --git a/Resources/Textures/Nyanotrasen/Interface/VerbIcons/mass_sleep.png.yml b/Resources/Textures/Interface/VerbIcons/mass_sleep.png.yml similarity index 100% rename from Resources/Textures/Nyanotrasen/Interface/VerbIcons/mass_sleep.png.yml rename to Resources/Textures/Interface/VerbIcons/mass_sleep.png.yml diff --git a/Resources/Textures/Nyanotrasen/Interface/VerbIcons/metapsionic.png b/Resources/Textures/Interface/VerbIcons/metapsionic.png similarity index 100% rename from Resources/Textures/Nyanotrasen/Interface/VerbIcons/metapsionic.png rename to Resources/Textures/Interface/VerbIcons/metapsionic.png diff --git a/Resources/Textures/Nyanotrasen/Interface/VerbIcons/metapsionic.png.yml b/Resources/Textures/Interface/VerbIcons/metapsionic.png.yml similarity index 100% rename from Resources/Textures/Nyanotrasen/Interface/VerbIcons/metapsionic.png.yml rename to Resources/Textures/Interface/VerbIcons/metapsionic.png.yml diff --git a/Resources/Textures/Nyanotrasen/Interface/VerbIcons/mind_swap.png b/Resources/Textures/Interface/VerbIcons/mind_swap.png similarity index 100% rename from Resources/Textures/Nyanotrasen/Interface/VerbIcons/mind_swap.png rename to Resources/Textures/Interface/VerbIcons/mind_swap.png diff --git a/Resources/Textures/Nyanotrasen/Interface/VerbIcons/mind_swap.png.yml b/Resources/Textures/Interface/VerbIcons/mind_swap.png.yml similarity index 100% rename from Resources/Textures/Nyanotrasen/Interface/VerbIcons/mind_swap.png.yml rename to Resources/Textures/Interface/VerbIcons/mind_swap.png.yml diff --git a/Resources/Textures/Nyanotrasen/Interface/VerbIcons/mind_swap_return.png b/Resources/Textures/Interface/VerbIcons/mind_swap_return.png similarity index 100% rename from Resources/Textures/Nyanotrasen/Interface/VerbIcons/mind_swap_return.png rename to Resources/Textures/Interface/VerbIcons/mind_swap_return.png diff --git a/Resources/Textures/Nyanotrasen/Interface/VerbIcons/mind_swap_return.png.yml b/Resources/Textures/Interface/VerbIcons/mind_swap_return.png.yml similarity index 100% rename from Resources/Textures/Nyanotrasen/Interface/VerbIcons/mind_swap_return.png.yml rename to Resources/Textures/Interface/VerbIcons/mind_swap_return.png.yml diff --git a/Resources/Textures/Nyanotrasen/Interface/VerbIcons/noospheric_zap.png b/Resources/Textures/Interface/VerbIcons/noospheric_zap.png similarity index 100% rename from Resources/Textures/Nyanotrasen/Interface/VerbIcons/noospheric_zap.png rename to Resources/Textures/Interface/VerbIcons/noospheric_zap.png diff --git a/Resources/Textures/Nyanotrasen/Interface/VerbIcons/noospheric_zap.png.yml b/Resources/Textures/Interface/VerbIcons/noospheric_zap.png.yml similarity index 100% rename from Resources/Textures/Nyanotrasen/Interface/VerbIcons/noospheric_zap.png.yml rename to Resources/Textures/Interface/VerbIcons/noospheric_zap.png.yml diff --git a/Resources/Textures/Nyanotrasen/Interface/VerbIcons/psionic_invisibility.png b/Resources/Textures/Interface/VerbIcons/psionic_invisibility.png similarity index 100% rename from Resources/Textures/Nyanotrasen/Interface/VerbIcons/psionic_invisibility.png rename to Resources/Textures/Interface/VerbIcons/psionic_invisibility.png diff --git a/Resources/Textures/Nyanotrasen/Interface/VerbIcons/psionic_invisibility.png.yml b/Resources/Textures/Interface/VerbIcons/psionic_invisibility.png.yml similarity index 100% rename from Resources/Textures/Nyanotrasen/Interface/VerbIcons/psionic_invisibility.png.yml rename to Resources/Textures/Interface/VerbIcons/psionic_invisibility.png.yml diff --git a/Resources/Textures/Nyanotrasen/Interface/VerbIcons/psionic_invisibility_off.png b/Resources/Textures/Interface/VerbIcons/psionic_invisibility_off.png similarity index 100% rename from Resources/Textures/Nyanotrasen/Interface/VerbIcons/psionic_invisibility_off.png rename to Resources/Textures/Interface/VerbIcons/psionic_invisibility_off.png diff --git a/Resources/Textures/Nyanotrasen/Interface/VerbIcons/psionic_invisibility_off.png.yml b/Resources/Textures/Interface/VerbIcons/psionic_invisibility_off.png.yml similarity index 100% rename from Resources/Textures/Nyanotrasen/Interface/VerbIcons/psionic_invisibility_off.png.yml rename to Resources/Textures/Interface/VerbIcons/psionic_invisibility_off.png.yml diff --git a/Resources/Textures/Nyanotrasen/Interface/VerbIcons/psionic_regeneration.png b/Resources/Textures/Interface/VerbIcons/psionic_regeneration.png similarity index 100% rename from Resources/Textures/Nyanotrasen/Interface/VerbIcons/psionic_regeneration.png rename to Resources/Textures/Interface/VerbIcons/psionic_regeneration.png diff --git a/Resources/Textures/Nyanotrasen/Interface/VerbIcons/psionic_regeneration.png.yml b/Resources/Textures/Interface/VerbIcons/psionic_regeneration.png.yml similarity index 100% rename from Resources/Textures/Nyanotrasen/Interface/VerbIcons/psionic_regeneration.png.yml rename to Resources/Textures/Interface/VerbIcons/psionic_regeneration.png.yml diff --git a/Resources/Textures/Nyanotrasen/Interface/VerbIcons/pyrokinesis.png b/Resources/Textures/Interface/VerbIcons/pyrokinesis.png similarity index 100% rename from Resources/Textures/Nyanotrasen/Interface/VerbIcons/pyrokinesis.png rename to Resources/Textures/Interface/VerbIcons/pyrokinesis.png diff --git a/Resources/Textures/Nyanotrasen/Interface/VerbIcons/pyrokinesis.png.yml b/Resources/Textures/Interface/VerbIcons/pyrokinesis.png.yml similarity index 100% rename from Resources/Textures/Nyanotrasen/Interface/VerbIcons/pyrokinesis.png.yml rename to Resources/Textures/Interface/VerbIcons/pyrokinesis.png.yml diff --git a/Resources/Textures/Nyanotrasen/Interface/VerbIcons/telegnosis.png b/Resources/Textures/Interface/VerbIcons/telegnosis.png similarity index 100% rename from Resources/Textures/Nyanotrasen/Interface/VerbIcons/telegnosis.png rename to Resources/Textures/Interface/VerbIcons/telegnosis.png diff --git a/Resources/Textures/Nyanotrasen/Interface/VerbIcons/telegnosis.png.yml b/Resources/Textures/Interface/VerbIcons/telegnosis.png.yml similarity index 100% rename from Resources/Textures/Nyanotrasen/Interface/VerbIcons/telegnosis.png.yml rename to Resources/Textures/Interface/VerbIcons/telegnosis.png.yml diff --git a/Resources/Textures/Mobs/Customization/Harpy/harpy_tails.rsi/forked_long.png b/Resources/Textures/Mobs/Customization/Harpy/harpy_tails.rsi/forked_long.png new file mode 100644 index 00000000000..280768b40af Binary files /dev/null and b/Resources/Textures/Mobs/Customization/Harpy/harpy_tails.rsi/forked_long.png differ diff --git a/Resources/Textures/Mobs/Customization/Harpy/harpy_tails.rsi/haven_tone_1.png b/Resources/Textures/Mobs/Customization/Harpy/harpy_tails.rsi/haven_tone_1.png new file mode 100644 index 00000000000..e818e7dd11e Binary files /dev/null and b/Resources/Textures/Mobs/Customization/Harpy/harpy_tails.rsi/haven_tone_1.png differ diff --git a/Resources/Textures/Mobs/Customization/Harpy/harpy_tails.rsi/haven_tone_2.png b/Resources/Textures/Mobs/Customization/Harpy/harpy_tails.rsi/haven_tone_2.png new file mode 100644 index 00000000000..fe98ec53eb2 Binary files /dev/null and b/Resources/Textures/Mobs/Customization/Harpy/harpy_tails.rsi/haven_tone_2.png differ diff --git a/Resources/Textures/Mobs/Customization/Harpy/harpy_tails.rsi/meta.json b/Resources/Textures/Mobs/Customization/Harpy/harpy_tails.rsi/meta.json index f33401617c0..94795a626ea 100644 --- a/Resources/Textures/Mobs/Customization/Harpy/harpy_tails.rsi/meta.json +++ b/Resources/Textures/Mobs/Customization/Harpy/harpy_tails.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Phoenix and Rooster by @leonardo_dabepis, Finch & Forked Tailfin by @stillxicarus", + "copyright": "Phoenix and Rooster by @leonardo_dabepis, Finch & Forked Tailfin by @stillxicarus, haven & forked_long & swallow by @Kilath", "size": { "x": 32, "y": 32 @@ -22,6 +22,22 @@ { "name": "whitescale_forked_tailfin", "directions": 4 + }, + { + "name": "haven_tone_1", + "directions": 4 + }, + { + "name": "haven_tone_2", + "directions": 4 + }, + { + "name": "forked_long", + "directions": 4 + }, + { + "name": "swallow_tail", + "directions": 4 } ] } diff --git a/Resources/Textures/Mobs/Customization/Harpy/harpy_tails.rsi/swallow_tail.png b/Resources/Textures/Mobs/Customization/Harpy/harpy_tails.rsi/swallow_tail.png new file mode 100644 index 00000000000..f9187b66f84 Binary files /dev/null and b/Resources/Textures/Mobs/Customization/Harpy/harpy_tails.rsi/swallow_tail.png differ diff --git a/Resources/Textures/Mobs/Customization/Harpy/harpy_wings.rsi/bat_wings_tone_1.png b/Resources/Textures/Mobs/Customization/Harpy/harpy_wings.rsi/bat_wings_tone_1.png new file mode 100644 index 00000000000..a147739cc90 Binary files /dev/null and b/Resources/Textures/Mobs/Customization/Harpy/harpy_wings.rsi/bat_wings_tone_1.png differ diff --git a/Resources/Textures/Mobs/Customization/Harpy/harpy_wings.rsi/bat_wings_tone_2.png b/Resources/Textures/Mobs/Customization/Harpy/harpy_wings.rsi/bat_wings_tone_2.png new file mode 100644 index 00000000000..b2170ff803c Binary files /dev/null and b/Resources/Textures/Mobs/Customization/Harpy/harpy_wings.rsi/bat_wings_tone_2.png differ diff --git a/Resources/Textures/Mobs/Customization/Harpy/harpy_wings.rsi/bionic_wings_tone_1.png b/Resources/Textures/Mobs/Customization/Harpy/harpy_wings.rsi/bionic_wings_tone_1.png new file mode 100644 index 00000000000..752d6cc9a20 Binary files /dev/null and b/Resources/Textures/Mobs/Customization/Harpy/harpy_wings.rsi/bionic_wings_tone_1.png differ diff --git a/Resources/Textures/Mobs/Customization/Harpy/harpy_wings.rsi/bionic_wings_tone_2.png b/Resources/Textures/Mobs/Customization/Harpy/harpy_wings.rsi/bionic_wings_tone_2.png new file mode 100644 index 00000000000..528b5cbfa04 Binary files /dev/null and b/Resources/Textures/Mobs/Customization/Harpy/harpy_wings.rsi/bionic_wings_tone_2.png differ diff --git a/Resources/Textures/Mobs/Customization/Harpy/harpy_wings.rsi/meta.json b/Resources/Textures/Mobs/Customization/Harpy/harpy_wings.rsi/meta.json index 7737af0afc2..c8bf28767a8 100644 --- a/Resources/Textures/Mobs/Customization/Harpy/harpy_wings.rsi/meta.json +++ b/Resources/Textures/Mobs/Customization/Harpy/harpy_wings.rsi/meta.json @@ -5,7 +5,7 @@ "y": 32 }, "license": "CC-BY-SA-3.0", - "copyright": "classicharpy Taken from S.P.L.U.R.T at commit https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13/commit/285f6f86ac41a6246f250993486effeab8581c2c, edited by @raistlin_jag | harpyfolded, harpy, and owl by @stillxicarus", + "copyright": "classicharpy Taken from S.P.L.U.R.T at commit https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13/commit/285f6f86ac41a6246f250993486effeab8581c2c, edited by @raistlin_jag | harpyfolded, harpy, and owl by @stillxicarus, bat wings by @Kilath", "states": [ { "name": "huescale_harpy", @@ -78,6 +78,22 @@ { "name": "whitescale_harpy_wing_owl", "directions": 4 + }, + { + "name": "bat_wings_tone_1", + "directions": 4 + }, + { + "name": "bat_wings_tone_2", + "directions": 4 + }, + { + "name": "bionic_wings_tone_1", + "directions": 4 + }, + { + "name": "bionic_wings_tone_2", + "directions": 4 } ] }