diff --git a/Content.Server/GameTicking/Rules/Components/NukeopsRuleComponent.cs b/Content.Server/GameTicking/Rules/Components/NukeopsRuleComponent.cs index f32af05282..8de9709b4f 100644 --- a/Content.Server/GameTicking/Rules/Components/NukeopsRuleComponent.cs +++ b/Content.Server/GameTicking/Rules/Components/NukeopsRuleComponent.cs @@ -1,5 +1,6 @@ using Content.Server.RoundEnd; using Content.Shared.Dataset; +using Content.Shared.FixedPoint; using Content.Shared.NPC.Prototypes; using Content.Shared.Roles; using Robust.Shared.Audio; @@ -63,11 +64,13 @@ public sealed partial class NukeopsRuleComponent : Component /// This amount of TC will be given to each nukie /// [DataField] - public int WarTcAmountPerNukie = 40; + public FixedPoint2 WarTcAmountPerNukie = 40; // Sunrise-Start [DataField] public int RoundstartOperatives; + + public EntityUid? UplinkEnt; // Sunrise-End /// diff --git a/Content.Server/GameTicking/Rules/NukeopsRuleSystem.cs b/Content.Server/GameTicking/Rules/NukeopsRuleSystem.cs index 648fe89f90..8aedb6d68e 100644 --- a/Content.Server/GameTicking/Rules/NukeopsRuleSystem.cs +++ b/Content.Server/GameTicking/Rules/NukeopsRuleSystem.cs @@ -24,9 +24,8 @@ using Robust.Shared.Map; using Robust.Shared.Random; using Robust.Shared.Utility; using System.Linq; -using Content.Server.Antag.Components; using Content.Server.Traitor.Uplink; -using Content.Shared.Mind; +using Content.Shared.FixedPoint; using Content.Shared.Roles; using Content.Shared.Store.Components; @@ -42,7 +41,6 @@ public sealed class NukeopsRuleSystem : GameRuleSystem [Dependency] private readonly StoreSystem _store = default!; [Dependency] private readonly TagSystem _tag = default!; [Dependency] private readonly UplinkSystem _uplinkSystem = default!; - [Dependency] private readonly SharedRoleSystem _roles = default!; [ValidatePrototypeId] private const string TelecrystalCurrencyPrototype = "Telecrystal"; @@ -75,7 +73,6 @@ public sealed class NukeopsRuleSystem : GameRuleSystem SubscribeLocalEvent(OnShuttleCallAttempt); SubscribeLocalEvent(OnAfterAntagEntSelected); - SubscribeLocalEvent(OnAfterAntagSelectionComplete); // Sunrise-Edit SubscribeLocalEvent(OnRuleLoadedGrids); } @@ -497,51 +494,36 @@ public sealed class NukeopsRuleSystem : GameRuleSystem ent.Comp.GreetSoundNotification); // Sunrise-Start - if (!args.GameRule.Comp.UseSpawners) - return; + ent.Comp.RoundstartOperatives += 1; - ent.Comp.RoundstartOperatives = args.GameRule.Comp.SpawnersCount; - var commander = GetCommander(args.GameRule); - if (commander != null) - SetupUplink(commander.Value, ent.Comp); + if (args.Def.PrefRoles.Contains(CommanderAntagProto)) + { + var uplink = SetupUplink(args.EntityUid, ent.Comp); + ent.Comp.UplinkEnt = uplink; + } + + if (ent.Comp.UplinkEnt != null) + { + var giveTcCount = ent.Comp.WarTcAmountPerNukie; + if (ent.Comp.RoundstartOperatives > 1) + giveTcCount *= ent.Comp.RoundstartOperatives; + var store = EnsureComp(ent.Comp.UplinkEnt.Value); + _store.TryAddCurrency(new Dictionary { { TelecrystalCurrencyPrototype, giveTcCount } }, + ent.Comp.UplinkEnt.Value, + store); + } // Sunrise-End } // Sunrise-Start - private void OnAfterAntagSelectionComplete(Entity ent, ref AntagSelectionCompleteEvent args) - { - ent.Comp.RoundstartOperatives = args.GameRule.Comp.SelectedMinds.Count; - - var commander = GetCommander(args.GameRule); - if (commander != null) - SetupUplink(commander.Value, ent.Comp); - } - - private EntityUid? GetCommander(Entity antagSelection) - { - EntityUid? commander = null; - foreach (var compSelectedMind in antagSelection.Comp.SelectedMinds) - { - if (!TryComp(compSelectedMind.Item1, out var mindComp)) - continue; - - foreach (var roleInfo in _roles.MindGetAllRoleInfo((compSelectedMind.Item1, mindComp))) - { - if (roleInfo.Prototype != CommanderAntagProto || mindComp.CurrentEntity == null) - continue; - - commander = mindComp.CurrentEntity.Value; - } - } - - return commander; - } - - private void SetupUplink(EntityUid user, NukeopsRuleComponent nukeopsRule) + private EntityUid? SetupUplink(EntityUid user, NukeopsRuleComponent rule) { var uplink = _uplinkSystem.FindUplinkByTag(user, NukeOpsUplinkTagPrototype); - if (uplink != null) - _uplinkSystem.SetUplink(user, uplink.Value, nukeopsRule.WarTcAmountPerNukie * nukeopsRule.RoundstartOperatives, true); + if (uplink == null) + return null; + + _uplinkSystem.SetUplink(user, uplink.Value, 0, true); + return uplink; } // Sunrise-End diff --git a/Content.Server/_Sunrise/AssaultOps/AssaultOpsRuleComponent.cs b/Content.Server/_Sunrise/AssaultOps/AssaultOpsRuleComponent.cs index 0910e4afe0..65ac45956e 100644 --- a/Content.Server/_Sunrise/AssaultOps/AssaultOpsRuleComponent.cs +++ b/Content.Server/_Sunrise/AssaultOps/AssaultOpsRuleComponent.cs @@ -37,9 +37,10 @@ public sealed partial class AssaultOpsRuleComponent : Component [DataField] public int TCAmountPerOperative = 50; - [DataField] public int RoundstartOperatives; + public EntityUid? UplinkEnt; + [DataField("greetingSound", customTypeSerializer: typeof(SoundSpecifierTypeSerializer))] public SoundSpecifier? GreetSoundNotification = new SoundPathSpecifier("/Audio/_Sunrise/AssaultOperatives/assault_operatives_greet.ogg", AudioParams.Default.WithVolume(-6f)); diff --git a/Content.Server/_Sunrise/AssaultOps/AssaultOpsRuleSystem.cs b/Content.Server/_Sunrise/AssaultOps/AssaultOpsRuleSystem.cs index c9d0d5513b..e4f0dd673e 100644 --- a/Content.Server/_Sunrise/AssaultOps/AssaultOpsRuleSystem.cs +++ b/Content.Server/_Sunrise/AssaultOps/AssaultOpsRuleSystem.cs @@ -7,8 +7,11 @@ using Content.Server.Mind; using Content.Server.Revolutionary.Components; using Content.Server.RoundEnd; using Content.Server.Station.Components; +using Content.Server.Store.Systems; using Content.Server.Traitor.Uplink; using Content.Shared._Sunrise.AssaultOps; +using Content.Shared._Sunrise.AssaultOps.Icarus; +using Content.Shared.FixedPoint; using Content.Shared.GameTicking; using Content.Shared.GameTicking.Components; using Content.Shared.Implants; @@ -19,6 +22,8 @@ using Content.Shared.Mobs.Components; using Content.Shared.NPC.Components; using Content.Shared.NPC.Systems; using Content.Shared.Roles; +using Content.Shared.Store; +using Content.Shared.Store.Components; using Content.Shared.Tag; using Robust.Shared.Containers; using Robust.Shared.Random; @@ -35,6 +40,7 @@ public sealed class AssaultOpsRuleSystem : GameRuleSystem] private const string UplinkTagPrototype = "AssaultOpsUplink"; @@ -42,6 +48,9 @@ public sealed class AssaultOpsRuleSystem : GameRuleSystem] private const string CommanderAntagProto = "AssaultCommander"; + [ValidatePrototypeId] + private const string TelecrystalCurrencyPrototype = "Telecrystal"; + public override void Initialize() { base.Initialize(); @@ -52,7 +61,6 @@ public sealed class AssaultOpsRuleSystem : GameRuleSystem(OnMobStateChanged); SubscribeLocalEvent(OnAfterAntagEntSelected); - SubscribeLocalEvent(OnAfterAntagSelectionComplete); // Sunrise-Edit SubscribeLocalEvent(OnRuleLoadedGrids); } @@ -84,14 +92,20 @@ public sealed class AssaultOpsRuleSystem : GameRuleSystem(); - while (fleshCultistQuery.MoveNext(out var operativeUid, out _)) + var assaultOperativesQuery = EntityQueryEnumerator(); + while (assaultOperativesQuery.MoveNext(out var operativeUid, out _)) { QueueDel(operativeUid); } - var query = EntityQueryEnumerator(); - while (query.MoveNext(out var assaultOpsShuttleUid, out var shuttle)) + var icarusKeysQuery = EntityQueryEnumerator(); + while (icarusKeysQuery.MoveNext(out var icarusKeyUid, out _)) + { + QueueDel(icarusKeyUid); + } + + var assaultOpsShuttlequery = EntityQueryEnumerator(); + while (assaultOpsShuttlequery.MoveNext(out var assaultOpsShuttleUid, out var shuttle)) { if (shuttle.AssociatedRule == uid) { @@ -125,51 +139,34 @@ public sealed class AssaultOpsRuleSystem : GameRuleSystem ent, ref AntagSelectionCompleteEvent args) - { - ent.Comp.RoundstartOperatives = args.GameRule.Comp.SelectedMinds.Count; - - var commander = GetCommander(args.GameRule); - if (commander != null) - SetupUplink(commander.Value, ent.Comp); - } - - private EntityUid? GetCommander(Entity antagSelection) - { - EntityUid? commander = null; - foreach (var compSelectedMind in antagSelection.Comp.SelectedMinds) + if (args.Def.PrefRoles.Contains(CommanderAntagProto)) { - if (!TryComp(compSelectedMind.Item1, out var mindComp)) - continue; - - foreach (var roleInfo in _roles.MindGetAllRoleInfo((compSelectedMind.Item1, mindComp))) - { - if (roleInfo.Prototype != CommanderAntagProto || mindComp.CurrentEntity == null) - continue; - - commander = mindComp.CurrentEntity.Value; - } + var uplink = SetupUplink(args.EntityUid, ent.Comp); + ent.Comp.UplinkEnt = uplink; } - return commander; + if (ent.Comp.UplinkEnt != null) + { + var giveTcCount = ent.Comp.TCAmountPerOperative; + if (ent.Comp.RoundstartOperatives > 1) + giveTcCount *= ent.Comp.RoundstartOperatives; + var store = EnsureComp(ent.Comp.UplinkEnt.Value); + _store.TryAddCurrency(new Dictionary { { TelecrystalCurrencyPrototype, giveTcCount } }, + ent.Comp.UplinkEnt.Value, + store); + } } - private void SetupUplink(EntityUid user, AssaultOpsRuleComponent rule) + private EntityUid? SetupUplink(EntityUid user, AssaultOpsRuleComponent rule) { var uplink = _uplinkSystem.FindUplinkByTag(user, UplinkTagPrototype); - if (uplink != null) - _uplinkSystem.SetUplink(user, uplink.Value, rule.TCAmountPerOperative * rule.RoundstartOperatives, true); + if (uplink == null) + return null; + + _uplinkSystem.SetUplink(user, uplink.Value, 0, true); + return uplink; } private void InsertIcarusKeys(EntityUid uid, AssaultOpsRuleComponent? component = null) diff --git a/Content.Server/_Sunrise/FleshCult/FleshCultSystem.Abilities.cs b/Content.Server/_Sunrise/FleshCult/FleshCultSystem.Abilities.cs index 0184af507d..213ed82797 100644 --- a/Content.Server/_Sunrise/FleshCult/FleshCultSystem.Abilities.cs +++ b/Content.Server/_Sunrise/FleshCult/FleshCultSystem.Abilities.cs @@ -270,7 +270,7 @@ public sealed partial class FleshCultSystem { fleshCultistComponent.Hunger += saturation; _store.TryAddCurrency(new Dictionary - { {fleshCultistComponent.StolenCurrencyPrototype, evolutionPoint} }, uid); + { {StolenMutationPointPrototype, evolutionPoint} }, uid); } } diff --git a/Content.Server/_Sunrise/FleshCult/FleshCultSystem.Cultist.cs b/Content.Server/_Sunrise/FleshCult/FleshCultSystem.Cultist.cs index 9303c98fe9..63a9821ce0 100644 --- a/Content.Server/_Sunrise/FleshCult/FleshCultSystem.Cultist.cs +++ b/Content.Server/_Sunrise/FleshCult/FleshCultSystem.Cultist.cs @@ -19,6 +19,7 @@ using Content.Shared.Inventory.Events; using Content.Shared.Mobs; using Content.Shared.Nutrition.Components; using Content.Shared.Popups; +using Content.Shared.Store; using Content.Shared.Store.Components; using Content.Shared.Sunrise.CollectiveMind; using Content.Shared.Tag; @@ -46,6 +47,9 @@ public sealed partial class FleshCultSystem [ValidatePrototypeId] private const string FleshCultSurviveObjective = "FleshCultSurviveObjective"; + [ValidatePrototypeId] + private const string StolenMutationPointPrototype = "StolenMutationPoint"; + private void InitializeCultist() { SubscribeLocalEvent(OnStartup); @@ -161,7 +165,7 @@ public sealed partial class FleshCultSystem storeComp.Categories.Add("FleshCultistActiveSkills"); storeComp.Categories.Add("FleshCultistWeapon"); storeComp.Categories.Add("FleshCultistArmor"); - storeComp.CurrencyWhitelist.Add("StolenMutationPoint"); + storeComp.CurrencyWhitelist.Add(StolenMutationPointPrototype); storeComp.BuySuccessSound = component.BuySuccesSound; storeComp.RefundAllowed = false; @@ -177,6 +181,10 @@ public sealed partial class FleshCultSystem appearance.HideLayersOnEquip.Add(HumanoidVisualLayers.LFoot); Dirty(uid, appearance); } + + _store.TryAddCurrency(new Dictionary + { {StolenMutationPointPrototype, component.StartingMutationPoints} }, + uid); } private void OnShutdown(EntityUid uid, FleshCultistComponent component, ComponentShutdown args) @@ -300,13 +308,13 @@ public sealed partial class FleshCultSystem { if (hasAppearance) { - return 20; + return 30; } return bloodVolume switch { - >= 300 => 15, - >= 150 => 10, - >= 100 => 5, + >= 300 => 20, + >= 150 => 15, + >= 100 => 10, _ => 0 }; } diff --git a/Content.Server/_Sunrise/FleshCult/FleshCultSystem.Virus.cs b/Content.Server/_Sunrise/FleshCult/FleshCultSystem.Virus.cs index b051934804..e7401e7811 100644 --- a/Content.Server/_Sunrise/FleshCult/FleshCultSystem.Virus.cs +++ b/Content.Server/_Sunrise/FleshCult/FleshCultSystem.Virus.cs @@ -91,7 +91,7 @@ public sealed partial class FleshCultSystem if (!TryComp(uid, out var humanoidAppearance)) break; - if (_speciesWhitelist.Contains(humanoidAppearance.Species)) + if (!_speciesWhitelist.Contains(humanoidAppearance.Species)) { RemCompDeferred(uid); break; diff --git a/Content.Server/_Sunrise/FleshCult/GameRule/FleshCultRuleComponent.cs b/Content.Server/_Sunrise/FleshCult/GameRule/FleshCultRuleComponent.cs index d7dcd76a66..4d6f51984e 100644 --- a/Content.Server/_Sunrise/FleshCult/GameRule/FleshCultRuleComponent.cs +++ b/Content.Server/_Sunrise/FleshCult/GameRule/FleshCultRuleComponent.cs @@ -1,9 +1,7 @@ using Content.Shared._Sunrise.FleshCult; using Content.Shared.NPC.Prototypes; -using Content.Shared.Preferences; using Content.Shared.Roles; using Robust.Shared.Audio; -using Robust.Shared.Player; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; namespace Content.Server._Sunrise.FleshCult.GameRule; @@ -11,7 +9,7 @@ namespace Content.Server._Sunrise.FleshCult.GameRule; [RegisterComponent, Access(typeof(FleshCultRuleSystem))] public sealed partial class FleshCultRuleComponent : Component { - public EntityUid CultistsLeaderMind = new(); + public EntityUid? CultistsLeaderMind; public SoundSpecifier AddedSound = new SoundPathSpecifier( "/Audio/_Sunrise/FleshCult/flesh_culstis_greeting.ogg"); diff --git a/Content.Server/_Sunrise/FleshCult/GameRule/FleshCultRuleSystem.cs b/Content.Server/_Sunrise/FleshCult/GameRule/FleshCultRuleSystem.cs index 0f411afc60..5691500caf 100644 --- a/Content.Server/_Sunrise/FleshCult/GameRule/FleshCultRuleSystem.cs +++ b/Content.Server/_Sunrise/FleshCult/GameRule/FleshCultRuleSystem.cs @@ -1,6 +1,5 @@ using System.Linq; using Content.Server.Antag; -using Content.Server.Antag.Components; using Content.Server.Chat.Managers; using Content.Server.GameTicking; using Content.Server.GameTicking.Rules; @@ -8,9 +7,7 @@ using Content.Server.Mind; using Content.Server.Objectives; using Content.Server.RoundEnd; using Content.Server.Station.Components; -using Content.Server.Store.Systems; using Content.Shared._Sunrise.FleshCult; -using Content.Shared.FixedPoint; using Content.Shared.GameTicking.Components; using Content.Shared.Mind; using Content.Shared.NPC.Components; @@ -26,10 +23,8 @@ public sealed class FleshCultRuleSystem : GameRuleSystem [Dependency] private readonly IChatManager _chatManager = default!; [Dependency] private readonly SharedAudioSystem _audioSystem = default!; [Dependency] private readonly RoundEndSystem _roundEndSystem = default!; - [Dependency] private readonly StoreSystem _store = default!; [Dependency] private readonly MindSystem _mindSystem = default!; [Dependency] private readonly NpcFactionSystem _npcFaction = default!; - [Dependency] private readonly SharedRoleSystem _roles = default!; [ValidatePrototypeId] private const string LeaderAntagProto = "FleshCultistLeader"; @@ -40,7 +35,6 @@ public sealed class FleshCultRuleSystem : GameRuleSystem SubscribeLocalEvent(AfterEntitySelected); SubscribeLocalEvent(OnObjectivesTextPrepend); - SubscribeLocalEvent(OnAfterAntagSelectionComplete); SubscribeLocalEvent(OnFleshHeartStatusChange); } @@ -124,35 +118,13 @@ public sealed class FleshCultRuleSystem : GameRuleSystem private void AfterEntitySelected(Entity ent, ref AfterAntagEntitySelectedEvent args) { - MakeCultist(args.EntityUid, 15, ent.Comp); - } - - private void OnAfterAntagSelectionComplete(Entity ent, ref AntagSelectionCompleteEvent args) - { - var leader = GetLeader(args.GameRule); - if (leader == null || !_mindSystem.TryGetMind(leader.Value, out var mindId, out var mind)) - return; - ent.Comp.CultistsLeaderMind = mindId; - } - - private EntityUid? GetLeader(Entity antagSelection) - { - EntityUid? leader = null; - foreach (var compSelectedMind in antagSelection.Comp.SelectedMinds) + if (args.Def.PrefRoles.Contains(LeaderAntagProto)) { - if (!TryComp(compSelectedMind.Item1, out var mindComp)) - continue; - - foreach (var roleInfo in _roles.MindGetAllRoleInfo((compSelectedMind.Item1, mindComp))) - { - if (roleInfo.Prototype != LeaderAntagProto || mindComp.CurrentEntity == null) - continue; - - leader = mindComp.CurrentEntity.Value; - } + if (!_mindSystem.TryGetMind(args.EntityUid, out var mindId, out var mind)) + return; + ent.Comp.CultistsLeaderMind = mindId; } - - return leader; + MakeCultist(args.EntityUid, ent.Comp); } public FleshCultRuleComponent StartGameRule() @@ -167,7 +139,7 @@ public sealed class FleshCultRuleSystem : GameRuleSystem return comp; } - public bool MakeCultist(EntityUid fleshCultist, FixedPoint2 startingPoints, FleshCultRuleComponent fleshCultRule) + private bool MakeCultist(EntityUid fleshCultist, FleshCultRuleComponent fleshCultRule) { if (!_mindSystem.TryGetMind(fleshCultist, out var mindId, out var mind)) return false; @@ -185,14 +157,6 @@ public sealed class FleshCultRuleSystem : GameRuleSystem _audioSystem.PlayGlobal(fleshCultRule.AddedSound, session); } - _npcFaction.RemoveFaction(entity, "NanoTrasen", false); - _npcFaction.AddFaction(entity, "FleshHuman"); - - var fleshCultistComponent = EnsureComp(mind.OwnedEntity.Value); - - _store.TryAddCurrency(new Dictionary - { {fleshCultistComponent.StolenCurrencyPrototype, startingPoints} }, mind.OwnedEntity.Value); - fleshCultRule.Cultists.Add(fleshCultist); return true; diff --git a/Content.Shared/_Sunrise/AssaultOps/AssaultOperativeComponent.cs b/Content.Shared/_Sunrise/AssaultOps/AssaultOperativeComponent.cs index 14d1259176..da48022962 100644 --- a/Content.Shared/_Sunrise/AssaultOps/AssaultOperativeComponent.cs +++ b/Content.Shared/_Sunrise/AssaultOps/AssaultOperativeComponent.cs @@ -8,6 +8,6 @@ namespace Content.Shared._Sunrise.AssaultOps public sealed partial class AssaultOperativeComponent : Component { [DataField("statusIcon")] - public ProtoId StatusIcon { get; set; } = "SyndicateFaction"; + public ProtoId StatusIcon { get; set; } = "AssaultOpsFaction"; } } diff --git a/Content.Shared/_Sunrise/FleshCult/FleshCultistComponent.cs b/Content.Shared/_Sunrise/FleshCult/FleshCultistComponent.cs index 3e98385127..7089fb9f65 100644 --- a/Content.Shared/_Sunrise/FleshCult/FleshCultistComponent.cs +++ b/Content.Shared/_Sunrise/FleshCult/FleshCultistComponent.cs @@ -15,19 +15,19 @@ public sealed partial class FleshCultistComponent : Component [ViewVariables(VVAccess.ReadWrite)] public FixedPoint2 Hunger = 100; [ViewVariables(VVAccess.ReadWrite), DataField("hungerСonsumption")] - public FixedPoint2 HungerСonsumption = -0.025; // 100 hunger in 60 minutes + public FixedPoint2 HungerСonsumption = -0.0555555555556; // 100 hunger in 30 minutes [ViewVariables(VVAccess.ReadWrite), DataField("maxHunger")] - public FixedPoint2 MaxHunger = 100; + public FixedPoint2 MaxHunger = 150; [DataField(customTypeSerializer: typeof(PrototypeIdSerializer))] public string ActionFleshCultistShop = "FleshCultistShop"; [DataField] - public EntityUid? ActionFleshCultistShopEntity; + public FixedPoint2 StartingMutationPoints = 15; - [DataField("stolenCurrencyPrototype", customTypeSerializer: typeof(PrototypeIdSerializer))] - public string StolenCurrencyPrototype = "StolenMutationPoint"; + [DataField] + public EntityUid? ActionFleshCultistShopEntity; [ViewVariables(VVAccess.ReadWrite), DataField("fleshMutationMobId", customTypeSerializer: typeof(PrototypeIdSerializer))] diff --git a/Resources/Changelog/ChangelogSunrise.yml b/Resources/Changelog/ChangelogSunrise.yml index 556e692818..17a225e50c 100644 --- a/Resources/Changelog/ChangelogSunrise.yml +++ b/Resources/Changelog/ChangelogSunrise.yml @@ -10071,3 +10071,68 @@ id: 700 time: '2025-01-08T00:55:14.0000000+00:00' url: https://github.com/space-sunrise/space-station-14/pull/1049 +- author: VigesrRay + changes: + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E \u043E\u0442\ + \u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0437\u043D\u0430\u0447\ + \u043A\u0430 \u0447\u043B\u0435\u043D\u0430 \u0434\u0438\u0432\u0435\u0440\u0441\ + \u0438\u043E\u043D\u043D\u043E\u0433\u043E \u043E\u0442\u0440\u044F\u0434\u0430\ + ." + type: Fix + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430 \u0432\u044B\ + \u0434\u0430\u0447\u0430 \u0434\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\ + \u043B\u044C\u043D\u044B\u0445 \u043E\u0447\u043A\u043E\u0432 \u043C\u0443\u0442\ + \u0430\u0446\u0438\u0438 \u043B\u0438\u0434\u0435\u0440\u0443 \u043A\u0443\u043B\ + \u044C\u0442\u0430 \u043F\u043B\u043E\u0442\u0438." + type: Fix + - message: "\u0423\u0441\u043A\u043E\u0440\u0435\u043D\u0430 \u0442\u0440\u0430\u0442\ + \u0430 \u0433\u043E\u043B\u043E\u0434\u0430 \u043A\u0443\u043B\u044C\u0442\u0438\ + \u0441\u0442\u0430\u043C \u043F\u043B\u043E\u0442\u0438." + type: Tweak + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E \u0437\u0430\ + \u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0432\u0438\u0440\u0443\u0441\u043E\ + \u043C \u043A\u0443\u043B\u044C\u0442\u0430 \u043F\u043B\u043E\u0442\u0438 \u0447\ + \u0435\u0440\u0435\u0437 \u0445\u0438\u043C\u0438\u043A\u0430\u0442." + type: Fix + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E \u043D\u0430\ + \u043B\u0438\u0447\u0438\u0435 \u0433\u0440\u043E\u043C\u043A\u043E\u0433\u043E\ + \ \u0432\u043E\u043E\u0440\u0443\u0436\u0435\u043D\u0438\u044F \u0443 \u0434\ + \u0438\u0432\u0435\u0440\u0441\u0438\u043E\u043D\u043D\u043E\u0433\u043E \u043E\ + \u0442\u0440\u044F\u0434\u0430." + type: Fix + - message: "\u0411\u0435\u0433\u043B\u0435\u0446 \u0431\u043E\u043B\u044C\u0448\u0435\ + \ \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u043A\u0443\u043F\u0438\u0442\ + \u044C \u0418\u043C\u043F\u043B\u0430\u043D\u0442 \u0441\u043C\u0435\u043D\u044B\ + \ \u0414\u041D\u041A \u0438 \u0438\u043C\u043F\u043B\u0430\u043D\u0442 \u0430\ + \u043F\u043B\u0438\u043D\u043A\u0430." + type: Fix + - message: "\u041D\u0430 \u0448\u0430\u0442\u0442\u043B \u0414\u041E \u0431\u044B\ + \u043B\u0438 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u043D\u0430\ + \u043D\u043E\u043C\u0435\u0434\u044B \u0438 \u0434\u043E\u043F\u043E\u043B\u043D\ + \u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u0433\u0438\u0440\u043E\u0441\ + \u043A\u043E\u043F." + type: Tweak + - message: "\u0412 \u0430\u043F\u043B\u0438\u043D\u043A \u0414\u041E \u0431\u044B\ + \u043B \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u0433\u043E\u0440\u043B\ + \u0430\u043A\u0441 \u0433\u0438\u043F\u043E\u0441\u043F\u0440\u0435\u0439 \u0437\ + \u0430 12 \u0442\u043A." + type: Tweak + - message: "\u0412 \u0430\u043F\u043B\u0438\u043D\u043A \u0431\u044B\u043B\u0438\ + \ \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u043D\u0430\u0440\u0443\ + \u0447\u043D\u0438\u043A\u0438 \u0437\u0430 2 \u0442\u043A." + type: Tweak + id: 701 + time: '2025-01-08T05:46:31.938545+00:00' +- author: VigersRay + changes: + - message: "\u0422\u0435\u043F\u0435\u0440\u044C \u043B\u0438\u0434\u0435\u0440\u0430\ + \u043C \u0414\u041E \u0438 \u042F\u041E \u043F\u0440\u0438 \u043F\u043E\u044F\ + \u0432\u043B\u0435\u043D\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 \u0440\u043E\ + \u043B\u0438 \u043F\u0440\u0438\u0437\u0440\u0430\u043A\u043E\u0432 \u0422\u041A\ + \ \u0431\u0443\u0434\u0443\u0442 \u0432\u044B\u0434\u0430\u0432\u0430\u0442\u044C\ + \u0441\u044F \u043F\u043E \u043C\u0435\u0440\u0435 \u043F\u043E\u044F\u0432\u043B\ + \u0435\u043D\u0438\u044F \u0434\u0440\u0443\u0433\u0438\u0445 \u0430\u0433\u0435\ + \u043D\u0442\u043E\u0432." + type: Tweak + id: 702 + time: '2025-01-08T05:46:44.173944+00:00' diff --git a/Resources/Locale/ru-RU/_strings/_sunrise/assault-ops/preset-assaultops.ftl b/Resources/Locale/ru-RU/_strings/_sunrise/assault-ops/preset.ftl similarity index 100% rename from Resources/Locale/ru-RU/_strings/_sunrise/assault-ops/preset-assaultops.ftl rename to Resources/Locale/ru-RU/_strings/_sunrise/assault-ops/preset.ftl diff --git a/Resources/Locale/ru-RU/_strings/_sunrise/flesh-cult/preset.ftl b/Resources/Locale/ru-RU/_strings/_sunrise/flesh-cult/preset.ftl index 95c4a0ee9b..a5626d9739 100644 --- a/Resources/Locale/ru-RU/_strings/_sunrise/flesh-cult/preset.ftl +++ b/Resources/Locale/ru-RU/_strings/_sunrise/flesh-cult/preset.ftl @@ -28,7 +28,9 @@ flesh-cult-user-was-a-cultist-leader-with-objectives = [color=gray]{ $user }[/co flesh-cult-user-was-a-cultist-leader-with-objectives-named = [color=White]{ $name }[/color] ([color=gray]{ $user }[/color]) был(а) лидером культа плоти со следующими целями: flesh-cult-was-a-cultist-leader-with-objectives-named = [color=White]{ $name }[/color] был(а) лидером культа плоти со следующими целями: -flesh-cult-round-end-leader = [bold]Лидером культа плоти был [color=White]{ $name }[/color] ([color=gray]{ $username }[/color])[/bold] +flesh-cult-round-end-leader = + [bold]Лидером культа плоти был: + [color=White]{ $name }[/color] ([color=gray]{ $username }[/color])[/bold] preset-flesh-cult-objective-issuer-flesh-cult = [color=#e0106a]Культ плоти[/color] objective-issuer-flesh-cult = [color=#e0106a]Культ плоти[/color] diff --git a/Resources/Maps/_Sunrise/Shuttles/assaultops.yml b/Resources/Maps/_Sunrise/Shuttles/assaultops.yml index 2d2efe57ac..95b7261577 100644 --- a/Resources/Maps/_Sunrise/Shuttles/assaultops.yml +++ b/Resources/Maps/_Sunrise/Shuttles/assaultops.yml @@ -28,11 +28,11 @@ entities: chunks: -1,-1: ind: -1,-1 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAQAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAQAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAewAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAewAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAHQAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAewAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAQAAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAQAAAAAAAQAAAAAAAHQAAAAAATAAAAAAATAAAAAAAHQAAAAAAHQAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAVgAAAAAA + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAQAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAQAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAewAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAHQAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAHQAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAPQAAAAAAPQAAAAAAHQAAAAAAPQAAAAAAPQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAQAAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAQAAAAAAAQAAAAAAAHQAAAAAATAAAAAAATAAAAAAAHQAAAAAAHQAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAVgAAAAAA version: 6 -1,0: ind: -1,0 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAQAAAAAAAQAAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAQAAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAHQAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAATAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAATAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAHQAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAegAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + tiles: AAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAQAAAAAAAQAAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAQAAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAVgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAHQAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAATAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAATAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAHQAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAegAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA version: 6 0,0: ind: 0,0 @@ -40,7 +40,7 @@ entities: version: 6 0,-1: ind: 0,-1 - tiles: ewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVgAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVgAAAAAAVgAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAQAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVgAAAAAAVgAAAAAAHQAAAAAAHQAAAAAATAAAAAAATAAAAAAAHQAAAAAAQAAAAAAAQAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + tiles: ewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVgAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVgAAAAAAVgAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAQAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVgAAAAAAVgAAAAAAHQAAAAAAHQAAAAAATAAAAAAATAAAAAAAHQAAAAAAQAAAAAAAQAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA version: 6 -1,-2: ind: -1,-2 @@ -572,7 +572,6 @@ entities: devices: - 1118 - 6 - - 445 - 873 - 874 - proto: AirlockExternalShuttleSyndicateLocked @@ -871,7 +870,7 @@ entities: - uid: 195 components: - type: Transform - pos: -1.5,-8.5 + pos: -1.5,-9.5 parent: 1 - uid: 255 components: @@ -1029,12 +1028,6 @@ entities: rot: 1.5707963267948966 rad pos: -8.5,-5.5 parent: 1 - - uid: 823 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -8.5,-3.5 - parent: 1 - proto: BedsheetSyndie entities: - uid: 779 @@ -1411,6 +1404,11 @@ entities: - type: Transform pos: -1.5,-9.5 parent: 1 + - uid: 289 + components: + - type: Transform + pos: -1.5,-1.5 + parent: 1 - uid: 290 components: - type: Transform @@ -1631,11 +1629,6 @@ entities: - type: Transform pos: 5.5,5.5 parent: 1 - - uid: 525 - components: - - type: Transform - pos: -1.5,-8.5 - parent: 1 - uid: 531 components: - type: Transform @@ -2001,6 +1994,36 @@ entities: - type: Transform pos: -6.5,9.5 parent: 1 + - uid: 1222 + components: + - type: Transform + pos: -1.5,-2.5 + parent: 1 + - uid: 1237 + components: + - type: Transform + pos: -1.5,-3.5 + parent: 1 + - uid: 1238 + components: + - type: Transform + pos: -1.5,-4.5 + parent: 1 + - uid: 1239 + components: + - type: Transform + pos: -1.5,-5.5 + parent: 1 + - uid: 1240 + components: + - type: Transform + pos: -1.5,-6.5 + parent: 1 + - uid: 1241 + components: + - type: Transform + pos: -1.5,-7.5 + parent: 1 - proto: CableApcStack10 entities: - uid: 987 @@ -2010,11 +2033,6 @@ entities: parent: 1 - proto: CableHV entities: - - uid: 91 - components: - - type: Transform - pos: -0.5,-7.5 - parent: 1 - uid: 95 components: - type: Transform @@ -2040,11 +2058,6 @@ entities: - type: Transform pos: -0.5,-4.5 parent: 1 - - uid: 183 - components: - - type: Transform - pos: -2.5,-7.5 - parent: 1 - uid: 185 components: - type: Transform @@ -2055,6 +2068,21 @@ entities: - type: Transform pos: -2.5,-4.5 parent: 1 + - uid: 197 + components: + - type: Transform + pos: -2.5,-8.5 + parent: 1 + - uid: 199 + components: + - type: Transform + pos: -0.5,-8.5 + parent: 1 + - uid: 200 + components: + - type: Transform + pos: -1.5,-8.5 + parent: 1 - proto: CableMV entities: - uid: 9 @@ -2232,11 +2260,6 @@ entities: - type: Transform pos: 4.5,-4.5 parent: 1 - - uid: 169 - components: - - type: Transform - pos: -1.5,-8.5 - parent: 1 - uid: 172 components: - type: Transform @@ -2568,6 +2591,12 @@ entities: parent: 1 - proto: Catwalk entities: + - uid: 91 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -1.5,-7.5 + parent: 1 - uid: 648 components: - type: Transform @@ -2667,12 +2696,6 @@ entities: parent: 1 - proto: ChairPilotSeat entities: - - uid: 25 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -2.5,-10.5 - parent: 1 - uid: 42 components: - type: Transform @@ -2703,6 +2726,16 @@ entities: rot: -1.5707963267948966 rad pos: 1.5,0.5 parent: 1 + - uid: 135 + components: + - type: Transform + pos: -2.5,-10.5 + parent: 1 + - uid: 174 + components: + - type: Transform + pos: -0.5,-10.5 + parent: 1 - uid: 361 components: - type: Transform @@ -2715,29 +2748,23 @@ entities: rot: 1.5707963267948966 rad pos: -4.5,0.5 parent: 1 - - uid: 444 - components: - - type: Transform - pos: -1.5,-9.5 - parent: 1 - uid: 582 components: - type: Transform rot: 3.141592653589793 rad pos: -0.5,-2.5 parent: 1 - - uid: 617 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -0.5,-10.5 - parent: 1 - uid: 652 components: - type: Transform rot: -1.5707963267948966 rad pos: 1.5,-1.5 parent: 1 + - uid: 1198 + components: + - type: Transform + pos: -1.5,-10.5 + parent: 1 - proto: ChemicalPayload entities: - uid: 984 @@ -2858,24 +2885,6 @@ entities: - type: Transform pos: -0.5,11.5 parent: 1 - - type: ContainerContainer - containers: - firstKeySlot: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - secondKeySlot: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - thirdKeySlot: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - board: !type:Container - showEnts: False - occludes: True - ents: [] - proto: ComputerIFFSyndicate entities: - uid: 237 @@ -2883,6 +2892,14 @@ entities: - type: Transform pos: -2.5,11.5 parent: 1 +- proto: ComputerPowerMonitoring + entities: + - uid: 58 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -2.5,-6.5 + parent: 1 - proto: ComputerShuttleSyndie entities: - uid: 223 @@ -3380,6 +3397,12 @@ entities: parent: 1 - type: AtmosPipeColor color: '#0000FFFF' + - uid: 183 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -1.5,-10.5 + parent: 1 - uid: 204 components: - type: Transform @@ -4366,14 +4389,6 @@ entities: parent: 1 - type: AtmosPipeColor color: '#FF0000FF' - - uid: 289 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -1.5,-10.5 - parent: 1 - - type: AtmosPipeColor - color: '#0000FFFF' - uid: 416 components: - type: Transform @@ -4611,13 +4626,6 @@ entities: parent: 1 - type: AtmosPipeColor color: '#0000FFFF' - - uid: 445 - components: - - type: Transform - pos: -1.5,-9.5 - parent: 1 - - type: AtmosPipeColor - color: '#0000FFFF' - uid: 848 components: - type: Transform @@ -4851,17 +4859,17 @@ entities: - uid: 131 components: - type: Transform - pos: -2.5,-7.5 + pos: -1.5,-8.5 parent: 1 - - uid: 135 + - uid: 617 components: - type: Transform - pos: -1.5,-7.5 + pos: -2.5,-8.5 parent: 1 - - uid: 1251 + - uid: 818 components: - type: Transform - pos: -0.5,-7.5 + pos: -0.5,-8.5 parent: 1 - proto: GravityGeneratorMini entities: @@ -4953,10 +4961,17 @@ entities: parent: 1 - proto: Gyroscope entities: - - uid: 64 + - uid: 70 components: - type: Transform - pos: -2.5,-6.5 + rot: 3.141592653589793 rad + pos: -2.5,-7.5 + parent: 1 + - uid: 395 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -0.5,-7.5 parent: 1 - proto: HospitalCurtainsOpen entities: @@ -4992,12 +5007,6 @@ entities: rot: 1.5707963267948966 rad pos: -8.5,-5.5 parent: 1 - - uid: 818 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -8.5,-3.5 - parent: 1 - uid: 902 components: - type: Transform @@ -5185,11 +5194,6 @@ entities: parent: 1 - proto: MedicalBed entities: - - uid: 314 - components: - - type: Transform - pos: -8.5,-3.5 - parent: 1 - uid: 814 components: - type: Transform @@ -5483,29 +5487,24 @@ entities: parent: 1 - proto: PoweredSmallLight entities: + - uid: 25 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -1.5,-8.5 + parent: 1 - uid: 149 components: - type: Transform rot: -1.5707963267948966 rad pos: -0.5,-12.5 parent: 1 - - uid: 174 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -1.5,-7.5 - parent: 1 - uid: 198 components: - type: Transform rot: 1.5707963267948966 rad pos: -2.5,-12.5 parent: 1 - - uid: 200 - components: - - type: Transform - pos: -1.5,-9.5 - parent: 1 - uid: 483 components: - type: Transform @@ -5627,10 +5626,10 @@ entities: parent: 1 - proto: RandomPosterContraband entities: - - uid: 58 + - uid: 212 components: - type: Transform - pos: -2.5,-8.5 + pos: -4.5,-2.5 parent: 1 - uid: 220 components: @@ -5650,6 +5649,11 @@ entities: rot: 3.141592653589793 rad pos: -0.5,7.5 parent: 1 + - uid: 525 + components: + - type: Transform + pos: 1.5,-2.5 + parent: 1 - uid: 606 components: - type: Transform @@ -5692,18 +5696,6 @@ entities: rot: 3.141592653589793 rad pos: -0.5,2.5 parent: 1 - - uid: 1197 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -3.5,-2.5 - parent: 1 - - uid: 1198 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 0.5,-2.5 - parent: 1 - uid: 1199 components: - type: Transform @@ -5716,11 +5708,6 @@ entities: rot: 1.5707963267948966 rad pos: -9.5,-3.5 parent: 1 - - uid: 1201 - components: - - type: Transform - pos: -0.5,-8.5 - parent: 1 - uid: 1202 components: - type: Transform @@ -6599,6 +6586,27 @@ entities: - type: Transform pos: -4.5,-3.5 parent: 1 + - type: Emagged +- proto: VendingMachineMedical + entities: + - uid: 314 + components: + - type: Transform + pos: -8.5,-3.5 + parent: 1 + - type: Emagged +- proto: VendingMachineRestockMedical + entities: + - uid: 445 + components: + - type: Transform + pos: -8.483772,-6.3955884 + parent: 1 + - uid: 1221 + components: + - type: Transform + pos: -8.494188,-4.4150457 + parent: 1 - proto: VendingMachineSyndieDrobe entities: - uid: 442 @@ -6613,6 +6621,20 @@ entities: - type: Transform pos: 1.5,-13.5 parent: 1 +- proto: VendingMachineWallMedical + entities: + - uid: 169 + components: + - type: Transform + pos: -7.5,-2.5 + parent: 1 + - type: Emagged + - uid: 543 + components: + - type: Transform + pos: -8.5,-8.5 + parent: 1 + - type: Emagged - proto: VendingMachineYouTool entities: - uid: 993 @@ -6731,6 +6753,11 @@ entities: rot: 1.5707963267948966 rad pos: 0.5,-3.5 parent: 1 + - uid: 64 + components: + - type: Transform + pos: -1.5,-9.5 + parent: 1 - uid: 67 components: - type: Transform @@ -6743,12 +6770,6 @@ entities: rot: -1.5707963267948966 rad pos: 2.5,2.5 parent: 1 - - uid: 70 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 0.5,-2.5 - parent: 1 - uid: 75 components: - type: Transform @@ -6889,11 +6910,6 @@ entities: - type: Transform pos: -9.5,-2.5 parent: 1 - - uid: 212 - components: - - type: Transform - pos: -2.5,-8.5 - parent: 1 - uid: 214 components: - type: Transform @@ -7156,11 +7172,6 @@ entities: rot: -1.5707963267948966 rad pos: 3.5,6.5 parent: 1 - - uid: 395 - components: - - type: Transform - pos: -1.5,-8.5 - parent: 1 - uid: 397 components: - type: Transform @@ -7402,23 +7413,12 @@ entities: rot: -1.5707963267948966 rad pos: -8.5,1.5 parent: 1 - - uid: 538 - components: - - type: Transform - pos: 1.5,-2.5 - parent: 1 - uid: 541 components: - type: Transform rot: -1.5707963267948966 rad pos: -4.5,1.5 parent: 1 - - uid: 543 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -3.5,-2.5 - parent: 1 - uid: 550 components: - type: Transform @@ -7440,11 +7440,6 @@ entities: rot: 3.141592653589793 rad pos: -9.5,-6.5 parent: 1 - - uid: 562 - components: - - type: Transform - pos: -0.5,-8.5 - parent: 1 - uid: 566 components: - type: Transform @@ -7719,6 +7714,11 @@ entities: rot: 3.141592653589793 rad pos: -2.5,-16.5 parent: 1 + - uid: 823 + components: + - type: Transform + pos: 1.5,-2.5 + parent: 1 - uid: 869 components: - type: Transform @@ -7779,6 +7779,18 @@ entities: rot: -1.5707963267948966 rad pos: 8.5,8.5 parent: 1 + - uid: 1201 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -2.5,-9.5 + parent: 1 + - uid: 1213 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -0.5,-9.5 + parent: 1 - proto: WallPlastitaniumDiagonal entities: - uid: 18 @@ -7827,18 +7839,6 @@ entities: rot: 1.5707963267948966 rad pos: -10.5,-4.5 parent: 1 - - uid: 197 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -2.5,-9.5 - parent: 1 - - uid: 199 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -0.5,-9.5 - parent: 1 - uid: 213 components: - type: Transform @@ -7913,6 +7913,17 @@ entities: - type: Transform pos: -11.5,9.5 parent: 1 + - uid: 538 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -3.5,-2.5 + parent: 1 + - uid: 562 + components: + - type: Transform + pos: 0.5,-2.5 + parent: 1 - uid: 576 components: - type: Transform @@ -7966,6 +7977,12 @@ entities: parent: 1 - proto: WallWeaponCapacitorRecharger entities: + - uid: 444 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 2.5,0.5 + parent: 1 - uid: 1188 components: - type: Transform @@ -7978,6 +7995,12 @@ entities: rot: -1.5707963267948966 rad pos: 0.5,-4.5 parent: 1 + - uid: 1197 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -5.5,0.5 + parent: 1 - proto: WarningN2 entities: - uid: 380 diff --git a/Resources/Prototypes/Catalog/uplink_catalog.yml b/Resources/Prototypes/Catalog/uplink_catalog.yml index 357f9b90df..2330329058 100644 --- a/Resources/Prototypes/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/Catalog/uplink_catalog.yml @@ -51,6 +51,13 @@ Telecrystal: 1 categories: - UplinkWeaponry + #Sunrise-start + conditions: + - !type:StoreWhitelistCondition + blacklist: + tags: + - AssaultOpsUplink + #Sunrise-end - type: listing id: UplinkEsword @@ -168,6 +175,13 @@ Telecrystal: 12 categories: - UplinkWeaponry + #Sunrise-start + conditions: + - !type:StoreWhitelistCondition + blacklist: + tags: + - AssaultOpsUplink + #Sunrise-end - type: listing id: UplinkC20RBundle @@ -182,6 +196,13 @@ Telecrystal: 17 categories: - UplinkWeaponry + #Sunrise-start + conditions: + - !type:StoreWhitelistCondition + blacklist: + tags: + - AssaultOpsUplink + #Sunrise-end - type: listing id: UplinkBulldogBundle @@ -196,6 +217,13 @@ Telecrystal: 20 categories: - UplinkWeaponry + #Sunrise-start + conditions: + - !type:StoreWhitelistCondition + blacklist: + tags: + - AssaultOpsUplink + #Sunrise-end - type: listing id: UplinkGrenadeLauncherBundle @@ -253,6 +281,13 @@ Telecrystal: 4 categories: - UplinkExplosives + #Sunrise-start + conditions: + - !type:StoreWhitelistCondition + blacklist: + tags: + - AssaultOpsUplink + #Sunrise-end - type: listing id: UplinkExplosiveGrenadeFlash @@ -325,6 +360,13 @@ Telecrystal: 5 categories: - UplinkExplosives + #Sunrise-start + conditions: + - !type:StoreWhitelistCondition + blacklist: + tags: + - AssaultOpsUplink + #Sunrise-end - type: listing id: UplinkC4 @@ -427,6 +469,7 @@ whitelist: tags: - NukeOpsUplink + - AssaultOpsUplink - type: listing id: UplinkClusterGrenade @@ -440,6 +483,13 @@ Telecrystal: 8 categories: - UplinkExplosives + #Sunrise-start + conditions: + - !type:StoreWhitelistCondition + blacklist: + tags: + - AssaultOpsUplink + #Sunrise-end - type: listing id: UplinkGrenadeShrapnel @@ -453,6 +503,13 @@ Telecrystal: 4 categories: - UplinkExplosives + #Sunrise-start + conditions: + - !type:StoreWhitelistCondition + blacklist: + tags: + - AssaultOpsUplink + #Sunrise-end - type: listing id: UplinkGrenadeIncendiary @@ -466,6 +523,13 @@ Telecrystal: 4 categories: - UplinkExplosives + #Sunrise-start + conditions: + - !type:StoreWhitelistCondition + blacklist: + tags: + - AssaultOpsUplink + #Sunrise-end - type: listing id: UplinkEmpKit @@ -504,6 +568,13 @@ Telecrystal: 2 categories: - UplinkAmmo + #Sunrise-start + conditions: + - !type:StoreWhitelistCondition + blacklist: + tags: + - AssaultOpsUplink + #Sunrise-end # For the Cobra - type: listing @@ -516,6 +587,13 @@ Telecrystal: 1 categories: - UplinkAmmo + #Sunrise-start + conditions: + - !type:StoreWhitelistCondition + blacklist: + tags: + - AssaultOpsUplink + #Sunrise-end # For the Python - type: listing @@ -539,6 +617,13 @@ Telecrystal: 1 categories: - UplinkAmmo + #Sunrise-start + conditions: + - !type:StoreWhitelistCondition + blacklist: + tags: + - AssaultOpsUplink + #Sunrise-end # for the hristov - type: listing @@ -550,6 +635,13 @@ Telecrystal: 1 categories: - UplinkAmmo + #Sunrise-start + conditions: + - !type:StoreWhitelistCondition + blacklist: + tags: + - AssaultOpsUplink + #Sunrise-end - type: listing id: UplinkAmmoBundle @@ -672,6 +764,7 @@ whitelist: tags: - NukeOpsUplink + - AssaultOpsUplink # Sunrise-Edit - type: listing id: UplinkStimpack @@ -690,6 +783,7 @@ whitelist: tags: - NukeOpsUplink + - AssaultOpsUplink # Sunrise-Edit - type: listing id: UplinkStimkit @@ -708,6 +802,7 @@ whitelist: tags: - NukeOpsUplink + - AssaultOpsUplink # Sunrise-Edit - type: listing id: UplinkCigarettes @@ -950,7 +1045,7 @@ description: uplink-soap-desc productEntity: SoapSyndie cost: - Telecrystal: 2 # Sunrise-Edit + Telecrystal: 1 categories: - UplinkDisruption @@ -974,9 +1069,9 @@ productEntity: ToolboxSyndicateFilled discountCategory: rareDiscounts discountDownTo: - Telecrystal: 4 # Sunrise-edit: Toolbox rebalance + Telecrystal: 2 # Sunrise-edit cost: - Telecrystal: 6 # Sunrise-edit: Toolbox rebalance + Telecrystal: 4 # Sunrise-edit categories: - UplinkDisruption @@ -1347,6 +1442,13 @@ Telecrystal: 4 # Sunrise-Edit categories: - UplinkImplants + #Sunrise-start + conditions: + - !type:StoreWhitelistCondition + blacklist: + tags: + - FugitiveUplink + #Sunrise-end - type: listing id: UplinkEmpImplanter @@ -1428,6 +1530,8 @@ blacklist: tags: - NukeOpsUplink + - AssaultOpsUplink + - FugitiveUplink - type: listing id: UplinkDeathRattle @@ -1513,9 +1617,9 @@ productEntity: ClothingShoesChameleonNoSlips discountCategory: veryRareDiscounts discountDownTo: - Telecrystal: 4 # Sunrise-Edit + Telecrystal: 2 # Sunrise-Edit cost: - Telecrystal: 6 # Sunrise-Edit + Telecrystal: 4 # Sunrise-Edit categories: - UplinkWearables @@ -1539,9 +1643,9 @@ productEntity: ClothingOuterVestWeb discountCategory: usualDiscounts discountDownTo: - Telecrystal: 5 # Sunrise-Edit + Telecrystal: 4 # Sunrise-Edit cost: - Telecrystal: 10 # Sunrise-Edit + Telecrystal: 8 # Sunrise-Edit categories: - UplinkWearables @@ -1599,6 +1703,13 @@ Telecrystal: 10 # Sunrise-Edit categories: - UplinkWearables + #Sunrise-start + conditions: + - !type:StoreWhitelistCondition + blacklist: + tags: + - AssaultOpsUplink + #Sunrise-end - type: listing id: UplinkClothingOuterArmorRaid @@ -1629,6 +1740,13 @@ Telecrystal: 15 categories: - UplinkWearables + #Sunrise-start + conditions: + - !type:StoreWhitelistCondition + blacklist: + tags: + - AssaultOpsUplink + #Sunrise-end - type: listing id: UplinkClothingOuterHardsuitJuggernaut @@ -1643,6 +1761,13 @@ Telecrystal: 16 categories: - UplinkWearables + #Sunrise-start + conditions: + - !type:StoreWhitelistCondition + blacklist: + tags: + - AssaultOpsUplink + #Sunrise-end - type: listing id: UplinkClothingEyesHudSyndicate diff --git a/Resources/Prototypes/_Sunrise/AssaultOps/status_icon.yml b/Resources/Prototypes/_Sunrise/AssaultOps/status_icon.yml new file mode 100644 index 0000000000..58fc561b33 --- /dev/null +++ b/Resources/Prototypes/_Sunrise/AssaultOps/status_icon.yml @@ -0,0 +1,10 @@ +- type: factionIcon + id: AssaultOpsFaction + priority: 12 + showTo: + components: + - ShowAntagIcons + - AssaultOperative + icon: + sprite: /Textures/Interface/Misc/job_icons.rsi + state: Syndicate diff --git a/Resources/Prototypes/_Sunrise/Catalog/uplink_catalog.yml b/Resources/Prototypes/_Sunrise/Catalog/uplink_catalog.yml index ba4076029c..3b055ead26 100644 --- a/Resources/Prototypes/_Sunrise/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/_Sunrise/Catalog/uplink_catalog.yml @@ -737,6 +737,20 @@ tags: - NukeOpsUplink +- type: listing + id: UplinkHandcuffs + name: uplink-handcuffs-name + description: uplink-handcuffs-desc + icon: { sprite: /Textures/Objects/Misc/handcuffs.rsi, state: handcuff } + productEntity: Handcuffs + discountCategory: rareDiscounts + discountDownTo: + Telecrystal: 1 + cost: + Telecrystal: 2 + categories: + - UplinkDisruption + - type: listing id: UplinkTeleporter name: uplink-syndicate-teleporter-name @@ -751,6 +765,25 @@ categories: - UplinkDisruption +- type: listing + id: UplinkHypo + name: uplink-hypo-name + description: uplink-hypo-desc + icon: { sprite: /Textures/Objects/Specific/Medical/syndihypo.rsi, state: hypo } + productEntity: SyndiHypo + discountCategory: rareDiscounts + discountDownTo: + Telecrystal: 6 + cost: + Telecrystal: 12 + categories: + - UplinkChemicals + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - AssaultOpsUplink + - type: listing id: UplinkSyndicateRapier name: uplink-syndicate-rapier-name diff --git a/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/humanoid_xeno.yml b/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/humanoid_xeno.yml index 0119ffdf94..44082971da 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/humanoid_xeno.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/humanoid_xeno.yml @@ -53,7 +53,7 @@ shape: !type:PhysShapeCircle radius: 0.40 - density: 200 + density: 250 restitution: 0.0 mask: - MobMask @@ -106,18 +106,6 @@ - type: Icon # It will not have an icon in the adminspawn menu without this. Body parts seem fine for whatever reason. sprite: _Sunrise/Mobs/Species/HumanoidXeno/parts.rsi state: full - - type: Fixtures - fixtures: - fix1: - shape: - !type:PhysShapeCircle - radius: 0.40 - density: 250 - restitution: 0.0 - mask: - - MobMask - layer: - - MobLayer - type: Perishable - type: Butcherable butcheringType: Spike diff --git a/Resources/Prototypes/_Sunrise/FleshCult/Store/catalog.yml b/Resources/Prototypes/_Sunrise/FleshCult/Store/catalog.yml index 76918249e4..35938f7f1c 100644 --- a/Resources/Prototypes/_Sunrise/FleshCult/Store/catalog.yml +++ b/Resources/Prototypes/_Sunrise/FleshCult/Store/catalog.yml @@ -22,7 +22,7 @@ productEvent: !type:FleshCultistInsulatedImmunityMutationEvent raiseProductEventOnUser: true cost: - StolenMutationPoint: 10 + StolenMutationPoint: 5 categories: - FleshCultistPassiveSkills conditions: @@ -146,7 +146,7 @@ prototype: FleshCultistArmor raiseProductEventOnUser: true cost: - StolenMutationPoint: 25 + StolenMutationPoint: 20 categories: - FleshCultistArmor conditions: @@ -162,7 +162,7 @@ productEvent: !type:FleshCultistUnlockAbilityEvent prototype: FleshCultistHeavyArmor cost: - StolenMutationPoint: 45 + StolenMutationPoint: 40 categories: - FleshCultistArmor conditions: @@ -178,7 +178,7 @@ prototype: FleshCultistSpiderlegs raiseProductEventOnUser: true cost: - StolenMutationPoint: 20 + StolenMutationPoint: 15 categories: - FleshCultistArmor conditions: @@ -194,7 +194,7 @@ prototype: FleshCultistAdrenalin raiseProductEventOnUser: true cost: - StolenMutationPoint: 30 + StolenMutationPoint: 15 categories: - FleshCultistActiveSkills conditions: @@ -226,7 +226,7 @@ prototype: FleshCultistThrowHugger raiseProductEventOnUser: true cost: - StolenMutationPoint: 30 + StolenMutationPoint: 15 categories: - FleshCultistActiveSkills conditions: @@ -242,7 +242,7 @@ prototype: FleshCultistAcidSpit raiseProductEventOnUser: true cost: - StolenMutationPoint: 30 + StolenMutationPoint: 15 categories: - FleshCultistActiveSkills conditions: diff --git a/Resources/Prototypes/_Sunrise/FleshCult/roundstart.yml b/Resources/Prototypes/_Sunrise/FleshCult/roundstart.yml index c72496acf9..322ae4fd3c 100644 --- a/Resources/Prototypes/_Sunrise/FleshCult/roundstart.yml +++ b/Resources/Prototypes/_Sunrise/FleshCult/roundstart.yml @@ -20,6 +20,7 @@ startingGear: FleshCultistLeaderGear components: - type: FleshCultist + startingMutationPoints: 50 - type: NpcFactionMember factions: - FleshHuman @@ -49,9 +50,23 @@ playerRatio: 15 components: - type: FleshCultist + startingMutationPoints: 15 - type: NpcFactionMember factions: - FleshHuman + whitelist: + species: + - Human + - Reptilian + - Dwarf + - Vulpkanin + - Felinid + - Moth + - Arachnid + - Swine + - Demon + - Vox + - Tajaran blacklist: components: - AntagImmune diff --git a/Resources/Prototypes/_Sunrise/tags.yml b/Resources/Prototypes/_Sunrise/tags.yml index 88d5096fba..4aed1d8d84 100644 --- a/Resources/Prototypes/_Sunrise/tags.yml +++ b/Resources/Prototypes/_Sunrise/tags.yml @@ -326,3 +326,6 @@ - type: Tag id: ToySword + +- type: Tag + id: FugitiveUplink