diff --git a/Content.Server/Damage/Components/DamageOnTriggerComponent.cs b/Content.Server/Damage/Components/DamageOnTriggerComponent.cs new file mode 100644 index 00000000000..f5cef74457e --- /dev/null +++ b/Content.Server/Damage/Components/DamageOnTriggerComponent.cs @@ -0,0 +1,12 @@ +using Content.Shared.Damage; + +namespace Content.Server.Damage.Components; + +[RegisterComponent] +public sealed partial class DamageOnTriggerComponent : Component +{ + [DataField("ignoreResistances")] public bool IgnoreResistances; + + [DataField("damage", required: true)] + public DamageSpecifier Damage = default!; +} diff --git a/Content.Server/Nyanotrasen/Carrying/BeingCarriedComponent.cs b/Content.Server/Nyanotrasen/Carrying/BeingCarriedComponent.cs new file mode 100644 index 00000000000..afc78978c86 --- /dev/null +++ b/Content.Server/Nyanotrasen/Carrying/BeingCarriedComponent.cs @@ -0,0 +1,11 @@ +namespace Content.Server.Carrying +{ + /// + /// Stores the carrier of an entity being carried. + /// + [RegisterComponent] + public sealed partial class BeingCarriedComponent : Component + { + public EntityUid Carrier = default!; + } +} diff --git a/Content.Server/Nyanotrasen/Carrying/CarriableComponent.cs b/Content.Server/Nyanotrasen/Carrying/CarriableComponent.cs new file mode 100644 index 00000000000..f4fd1fa6d56 --- /dev/null +++ b/Content.Server/Nyanotrasen/Carrying/CarriableComponent.cs @@ -0,0 +1,17 @@ +using System.Threading; + +namespace Content.Server.Carrying +{ + [RegisterComponent] + public sealed partial class CarriableComponent : Component + { + /// + /// Number of free hands required + /// to carry the entity + /// + [DataField("freeHandsRequired")] + public int FreeHandsRequired = 2; + + public CancellationTokenSource? CancelToken; + } +} diff --git a/Content.Server/Nyanotrasen/Carrying/CarryingComponent.cs b/Content.Server/Nyanotrasen/Carrying/CarryingComponent.cs new file mode 100644 index 00000000000..e79460595b9 --- /dev/null +++ b/Content.Server/Nyanotrasen/Carrying/CarryingComponent.cs @@ -0,0 +1,11 @@ +namespace Content.Server.Carrying +{ + /// + /// Added to an entity when they are carrying somebody. + /// + [RegisterComponent] + public sealed partial class CarryingComponent : Component + { + public EntityUid Carried = default!; + } +} diff --git a/Content.Server/Nyanotrasen/Carrying/CarryingSystem.cs b/Content.Server/Nyanotrasen/Carrying/CarryingSystem.cs new file mode 100644 index 00000000000..e0e38e757ef --- /dev/null +++ b/Content.Server/Nyanotrasen/Carrying/CarryingSystem.cs @@ -0,0 +1,315 @@ +using System.Threading; +using Content.Server.DoAfter; +using Content.Server.Body.Systems; +using Content.Server.Hands.Systems; +using Content.Server.Resist; +using Content.Server.Popups; +using Content.Server.Contests; +using Content.Shared.Climbing; // Shared instead of Server +using Content.Shared.Mobs; +using Content.Shared.DoAfter; +using Content.Shared.Buckle.Components; +using Content.Shared.Hands.Components; +using Content.Shared.Hands; +using Content.Shared.Stunnable; +using Content.Shared.Interaction.Events; +using Content.Shared.Verbs; +using Content.Shared.Climbing.Events; // Added this. +using Content.Shared.Carrying; +using Content.Shared.Movement.Events; +using Content.Shared.Movement.Systems; +using Content.Shared.Pulling; +using Content.Shared.Pulling.Components; +using Content.Shared.Standing; +using Content.Shared.ActionBlocker; +using Content.Shared.Throwing; +using Content.Shared.Physics.Pull; +using Content.Shared.Mobs.Systems; +using Robust.Shared.Map.Components; + +namespace Content.Server.Carrying +{ + public sealed class CarryingSystem : EntitySystem + { + [Dependency] private readonly HandVirtualItemSystem _virtualItemSystem = default!; + [Dependency] private readonly CarryingSlowdownSystem _slowdown = default!; + [Dependency] private readonly DoAfterSystem _doAfterSystem = default!; + [Dependency] private readonly StandingStateSystem _standingState = default!; + [Dependency] private readonly ActionBlockerSystem _actionBlockerSystem = default!; + [Dependency] private readonly SharedPullingSystem _pullingSystem = default!; + [Dependency] private readonly MobStateSystem _mobStateSystem = default!; + [Dependency] private readonly EscapeInventorySystem _escapeInventorySystem = default!; + [Dependency] private readonly PopupSystem _popupSystem = default!; + [Dependency] private readonly ContestsSystem _contests = default!; + [Dependency] private readonly MovementSpeedModifierSystem _movementSpeed = default!; + [Dependency] private readonly RespiratorSystem _respirator = default!; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent>(AddCarryVerb); + SubscribeLocalEvent(OnVirtualItemDeleted); + SubscribeLocalEvent(OnThrow); + SubscribeLocalEvent(OnParentChanged); + SubscribeLocalEvent(OnMobStateChanged); + SubscribeLocalEvent(OnInteractionAttempt); + SubscribeLocalEvent(OnMoveInput); + SubscribeLocalEvent(OnMoveAttempt); + SubscribeLocalEvent(OnStandAttempt); + SubscribeLocalEvent(OnInteractedWith); + SubscribeLocalEvent(OnPullAttempt); + SubscribeLocalEvent(OnStartClimb); + SubscribeLocalEvent(OnBuckleChange); + SubscribeLocalEvent(OnDoAfter); + } + + + private void AddCarryVerb(EntityUid uid, CarriableComponent component, GetVerbsEvent args) + { + if (!args.CanInteract || !args.CanAccess) + return; + + if (!CanCarry(args.User, uid, component)) + return; + + if (HasComp(args.User)) // yeah not dealing with that + return; + + if (HasComp(args.User) || HasComp(args.Target)) + return; + + if (!_mobStateSystem.IsAlive(args.User)) + return; + + if (args.User == args.Target) + return; + + AlternativeVerb verb = new() + { + Act = () => + { + StartCarryDoAfter(args.User, uid, component); + }, + Text = Loc.GetString("carry-verb"), + Priority = 2 + }; + args.Verbs.Add(verb); + } + + /// + /// Since the carried entity is stored as 2 virtual items, when deleted we want to drop them. + /// + private void OnVirtualItemDeleted(EntityUid uid, CarryingComponent component, VirtualItemDeletedEvent args) + { + if (!HasComp(args.BlockingEntity)) + return; + + DropCarried(uid, args.BlockingEntity); + } + + /// + /// Basically using virtual item passthrough to throw the carried person. A new age! + /// Maybe other things besides throwing should use virt items like this... + /// + private void OnThrow(EntityUid uid, CarryingComponent component, BeforeThrowEvent args) + { + if (!TryComp(args.ItemUid, out var virtItem) || !HasComp(virtItem.BlockingEntity)) + return; + + args.ItemUid = virtItem.BlockingEntity; + + var multiplier = _contests.MassContest(uid, virtItem.BlockingEntity); + args.ThrowStrength = 5f * multiplier; + } + + private void OnParentChanged(EntityUid uid, CarryingComponent component, ref EntParentChangedMessage args) + { + if (Transform(uid).MapID != args.OldMapId) + return; + + DropCarried(uid, component.Carried); + } + + private void OnMobStateChanged(EntityUid uid, CarryingComponent component, MobStateChangedEvent args) + { + DropCarried(uid, component.Carried); + } + + /// + /// Only let the person being carried interact with their carrier and things on their person. + /// + private void OnInteractionAttempt(EntityUid uid, BeingCarriedComponent component, InteractionAttemptEvent args) + { + if (args.Target == null) + return; + + var targetParent = Transform(args.Target.Value).ParentUid; + + if (args.Target.Value != component.Carrier && targetParent != component.Carrier && targetParent != uid) + args.Cancel(); + } + + /// + /// Try to escape via the escape inventory system. + /// + private void OnMoveInput(EntityUid uid, BeingCarriedComponent component, ref MoveInputEvent args) + { + if (!TryComp(uid, out var escape)) + return; + + if (_actionBlockerSystem.CanInteract(uid, component.Carrier)) + { + _escapeInventorySystem.AttemptEscape(uid, component.Carrier, escape, _contests.MassContest(uid, component.Carrier)); + } + } + + private void OnMoveAttempt(EntityUid uid, BeingCarriedComponent component, UpdateCanMoveEvent args) + { + args.Cancel(); + } + + private void OnStandAttempt(EntityUid uid, BeingCarriedComponent component, StandAttemptEvent args) + { + args.Cancel(); + } + + private void OnInteractedWith(EntityUid uid, BeingCarriedComponent component, GettingInteractedWithAttemptEvent args) + { + if (args.Uid != component.Carrier) + args.Cancel(); + } + + private void OnPullAttempt(EntityUid uid, BeingCarriedComponent component, PullAttemptEvent args) + { + args.Cancelled = true; + } + + private void OnStartClimb(EntityUid uid, BeingCarriedComponent component, ref StartClimbEvent args) + { + DropCarried(component.Carrier, uid); + } + + private void OnBuckleChange(EntityUid uid, BeingCarriedComponent component, ref BuckleChangeEvent args) + { + DropCarried(component.Carrier, uid); + } + + private void OnDoAfter(EntityUid uid, CarriableComponent component, CarryDoAfterEvent args) + { + component.CancelToken = null; + if (args.Handled || args.Cancelled) + return; + + if (!CanCarry(args.Args.User, uid, component)) + return; + + Carry(args.Args.User, uid); + args.Handled = true; + } + private void StartCarryDoAfter(EntityUid carrier, EntityUid carried, CarriableComponent component) + { + TimeSpan length = TimeSpan.FromSeconds(3); + + var mod = _contests.MassContest(carrier, carried); + + if (mod != 0) + length /= mod; + + if (length >= TimeSpan.FromSeconds(9)) + { + _popupSystem.PopupEntity(Loc.GetString("carry-too-heavy"), carried, carrier, Shared.Popups.PopupType.SmallCaution); + return; + } + + if (!HasComp(carried)) + length *= 2f; + + component.CancelToken = new CancellationTokenSource(); + + var ev = new CarryDoAfterEvent(); + var args = new DoAfterArgs(EntityManager, carrier, length, ev, carried, target: carried) + { + BreakOnTargetMove = true, + BreakOnUserMove = true, + NeedHand = true + }; + + _doAfterSystem.TryStartDoAfter(args); + } + + private void Carry(EntityUid carrier, EntityUid carried) + { + if (TryComp(carried, out var pullable)) + _pullingSystem.TryStopPull(pullable); + + Transform(carrier).AttachToGridOrMap(); + Transform(carried).AttachToGridOrMap(); + Transform(carried).Coordinates = Transform(carrier).Coordinates; + Transform(carried).AttachParent(Transform(carrier)); + _virtualItemSystem.TrySpawnVirtualItemInHand(carried, carrier); + _virtualItemSystem.TrySpawnVirtualItemInHand(carried, carrier); + var carryingComp = EnsureComp(carrier); + ApplyCarrySlowdown(carrier, carried); + var carriedComp = EnsureComp(carried); + EnsureComp(carried); + + carryingComp.Carried = carried; + carriedComp.Carrier = carrier; + + _actionBlockerSystem.UpdateCanMove(carried); + } + + public void DropCarried(EntityUid carrier, EntityUid carried) + { + RemComp(carrier); // get rid of this first so we don't recusrively fire that event + RemComp(carrier); + RemComp(carried); + RemComp(carried); + _actionBlockerSystem.UpdateCanMove(carried); + _virtualItemSystem.DeleteInHandsMatching(carrier, carried); + Transform(carried).AttachToGridOrMap(); + _standingState.Stand(carried); + _movementSpeed.RefreshMovementSpeedModifiers(carrier); + } + + private void ApplyCarrySlowdown(EntityUid carrier, EntityUid carried) + { + var massRatio = _contests.MassContest(carrier, carried); + + if (massRatio == 0) + massRatio = 1; + + var massRatioSq = Math.Pow(massRatio, 2); + var modifier = (1 - (0.15 / massRatioSq)); + modifier = Math.Max(0.1, modifier); + var slowdownComp = EnsureComp(carrier); + _slowdown.SetModifier(carrier, (float) modifier, (float) modifier, slowdownComp); + } + + public bool CanCarry(EntityUid carrier, EntityUid carried, CarriableComponent? carriedComp = null) + { + if (!Resolve(carried, ref carriedComp, false)) + return false; + + if (carriedComp.CancelToken != null) + return false; + + if (!HasComp(Transform(carrier).ParentUid)) + return false; + + if (HasComp(carrier) || HasComp(carried)) + return false; + + // if (_respirator.IsReceivingCPR(carried)) + // return false; + + if (!TryComp(carrier, out var hands)) + return false; + + if (hands.CountFreeHands() < carriedComp.FreeHandsRequired) + return false; + + return true; + } + } +} diff --git a/Content.Server/Resist/EscapeInventorySystem.cs b/Content.Server/Resist/EscapeInventorySystem.cs index 1249269de56..f4d98ce4288 100644 --- a/Content.Server/Resist/EscapeInventorySystem.cs +++ b/Content.Server/Resist/EscapeInventorySystem.cs @@ -1,5 +1,9 @@ using Content.Server.Contests; using Content.Server.Popups; +using Content.Shared.Storage; +using Content.Server.Carrying; // Carrying system from Nyanotrasen. +using Content.Shared.Inventory; +using Content.Shared.Hands.EntitySystems; using Content.Server.Storage.Components; using Content.Shared.ActionBlocker; using Content.Shared.DoAfter; @@ -21,6 +25,7 @@ public sealed class EscapeInventorySystem : EntitySystem [Dependency] private readonly ActionBlockerSystem _actionBlockerSystem = default!; [Dependency] private readonly SharedHandsSystem _handsSystem = default!; [Dependency] private readonly ContestsSystem _contests = default!; + [Dependency] private readonly CarryingSystem _carryingSystem = default!; // Carrying system from Nyanotrasen. /// /// You can't escape the hands of an entity this many times more massive than you. @@ -64,7 +69,7 @@ private void OnRelayMovement(EntityUid uid, CanEscapeInventoryComponent componen AttemptEscape(uid, container.Owner, component); } - private void AttemptEscape(EntityUid user, EntityUid container, CanEscapeInventoryComponent component, float multiplier = 1f) + public void AttemptEscape(EntityUid user, EntityUid container, CanEscapeInventoryComponent component, float multiplier = 1f) //private to public for carrying system. { if (component.IsEscaping) return; @@ -93,6 +98,13 @@ private void OnEscape(EntityUid uid, CanEscapeInventoryComponent component, Esca if (args.Handled || args.Cancelled) return; + if (TryComp(uid, out var carried)) // Start of carrying system of nyanotrasen. + { + _carryingSystem.DropCarried(carried.Carrier, uid); + return; + } // End of carrying system of nyanotrasen. + + _containerSystem.AttachParentToContainerOrGrid((uid, Transform(uid))); args.Handled = true; } diff --git a/Content.Server/SimpleStation14/Damage/Systems/DamageOnTriggerSystem.cs b/Content.Server/SimpleStation14/Damage/Systems/DamageOnTriggerSystem.cs new file mode 100644 index 00000000000..d646f09c5d4 --- /dev/null +++ b/Content.Server/SimpleStation14/Damage/Systems/DamageOnTriggerSystem.cs @@ -0,0 +1,24 @@ +using Content.Server.Damage.Components; +using Content.Server.Explosion.EntitySystems; +using Content.Shared.Damage; +using Content.Shared.StepTrigger.Systems; + +namespace Content.Server.Damage.Systems +{ +// System for damage that occurs on specific trigger, towards the entity.. + public sealed class DamageOnTriggerSystem : EntitySystem + { + [Dependency] private readonly DamageableSystem _damageableSystem = default!; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(DamageOnTrigger); + } + + private void DamageOnTrigger(EntityUid uid, DamageOnTriggerComponent component, TriggerEvent args) + { + _damageableSystem.TryChangeDamage(uid, component.Damage, component.IgnoreResistances); + } + } +} diff --git a/Content.Shared/Nyanotrasen/Carrying/CarryingDoAfterEvent.cs b/Content.Shared/Nyanotrasen/Carrying/CarryingDoAfterEvent.cs new file mode 100644 index 00000000000..6acd6b775f3 --- /dev/null +++ b/Content.Shared/Nyanotrasen/Carrying/CarryingDoAfterEvent.cs @@ -0,0 +1,10 @@ +using Robust.Shared.Serialization; +using Content.Shared.DoAfter; + +namespace Content.Shared.Carrying +{ + [Serializable, NetSerializable] + public sealed partial class CarryDoAfterEvent : SimpleDoAfterEvent + { + } +} diff --git a/Content.Shared/Nyanotrasen/Carrying/CarryingSlowdownComponent.cs b/Content.Shared/Nyanotrasen/Carrying/CarryingSlowdownComponent.cs new file mode 100644 index 00000000000..aabde66af0d --- /dev/null +++ b/Content.Shared/Nyanotrasen/Carrying/CarryingSlowdownComponent.cs @@ -0,0 +1,28 @@ +using Robust.Shared.GameStates; +using Robust.Shared.Serialization; + +namespace Content.Shared.Carrying +{ + [RegisterComponent, NetworkedComponent, Access(typeof(CarryingSlowdownSystem))] + + public sealed partial class CarryingSlowdownComponent : Component + { + [DataField("walkModifier", required: true)] [ViewVariables(VVAccess.ReadWrite)] + public float WalkModifier = 1.0f; + + [DataField("sprintModifier", required: true)] [ViewVariables(VVAccess.ReadWrite)] + public float SprintModifier = 1.0f; + } + + [Serializable, NetSerializable] + public sealed class CarryingSlowdownComponentState : ComponentState + { + public float WalkModifier; + public float SprintModifier; + public CarryingSlowdownComponentState(float walkModifier, float sprintModifier) + { + WalkModifier = walkModifier; + SprintModifier = sprintModifier; + } + } +} diff --git a/Content.Shared/Nyanotrasen/Carrying/CarryingSlowdownSystem.cs b/Content.Shared/Nyanotrasen/Carrying/CarryingSlowdownSystem.cs new file mode 100644 index 00000000000..9b9c8cec10f --- /dev/null +++ b/Content.Shared/Nyanotrasen/Carrying/CarryingSlowdownSystem.cs @@ -0,0 +1,47 @@ +using Content.Shared.Movement.Systems; +using Robust.Shared.GameStates; + +namespace Content.Shared.Carrying +{ + public sealed class CarryingSlowdownSystem : EntitySystem + { + [Dependency] private readonly MovementSpeedModifierSystem _movementSpeed = default!; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnGetState); + SubscribeLocalEvent(OnHandleState); + SubscribeLocalEvent(OnRefreshMoveSpeed); + } + + public void SetModifier(EntityUid uid, float walkSpeedModifier, float sprintSpeedModifier, CarryingSlowdownComponent? component = null) + { + if (!Resolve(uid, ref component)) + return; + + component.WalkModifier = walkSpeedModifier; + component.SprintModifier = sprintSpeedModifier; + _movementSpeed.RefreshMovementSpeedModifiers(uid); + } + private void OnGetState(EntityUid uid, CarryingSlowdownComponent component, ref ComponentGetState args) + { + args.State = new CarryingSlowdownComponentState(component.WalkModifier, component.SprintModifier); + } + + private void OnHandleState(EntityUid uid, CarryingSlowdownComponent component, ref ComponentHandleState args) + { + if (args.Current is CarryingSlowdownComponentState state) + { + component.WalkModifier = state.WalkModifier; + component.SprintModifier = state.SprintModifier; + + _movementSpeed.RefreshMovementSpeedModifiers(uid); + } + } + private void OnRefreshMoveSpeed(EntityUid uid, CarryingSlowdownComponent component, RefreshMovementSpeedModifiersEvent args) + { + args.ModifySpeed(component.WalkModifier, component.SprintModifier); + } + } +} diff --git a/Resources/Audio/NES/Voice/Doge/attributions.yml b/Resources/Audio/NES/Voice/Doge/attributions.yml new file mode 100644 index 00000000000..e45ab8b34bf --- /dev/null +++ b/Resources/Audio/NES/Voice/Doge/attributions.yml @@ -0,0 +1,29 @@ +- files: ["dog_bark1.ogg", "dog_bark2.ogg", "dog_bark3.ogg"] + license: "CC0-1.0" + copyright: "Original sound by https://freesound.org/people/abhisheky948/sounds/625497/" + source: "https://freesound.org/people/abhisheky948/sounds/625497/" + + files: ["dog_bark2.ogg"] + license: "CC0-1.0" + copyright: "Original sound by https://freesound.org/people/michael_grinnell/sounds/464400/" + source: "https://freesound.org/people/michael_grinnell/sounds/464400/" + + files: ["dog_bark3.ogg"] + license: "CC0-1.0" + copyright: "Original sound by https://freesound.org/people/Geoff-Bremner-Audio/sounds/688201/" + source: "https://freesound.org/people/Geoff-Bremner-Audio/sounds/688201/" + +- files: ["dog_growl1.ogg", "dog_growl2.ogg", "dog_growl3.ogg"] + license: "CC0-1.0" + copyright: "Original sound by https://freesound.org/people/Glitchedtones/sounds/372533/ - cut out three clips of dog growling, cleaned up, converted to ogg" + source: "https://freesound.org/people/Glitchedtones/sounds/372533/" + +- files: ["dog_snarl1.ogg", "dog_snarl2.ogg", "dog_snarl3.ogg"] + license: "CC0-1.0" + copyright: "Original sound by https://freesound.org/people/strongbot/sounds/341090/ - cut out three clips of dog snarling, cleaned up, converted to ogg" + source: "https://freesound.org/people/strongbot/sounds/341090/" + + files: ["dog_whine.ogg"] + license: "CC0-1.0" + copyright: "Original sound by https://freesound.org/people/Sruddi1/sounds/34878/ - cleaned up, converted to ogg" + source: "https://freesound.org/people/Sruddi1/sounds/34878/" diff --git a/Resources/Audio/NES/Voice/Doge/dog_bark1.ogg b/Resources/Audio/NES/Voice/Doge/dog_bark1.ogg new file mode 100644 index 00000000000..8f3b8fe5bff Binary files /dev/null and b/Resources/Audio/NES/Voice/Doge/dog_bark1.ogg differ diff --git a/Resources/Audio/NES/Voice/Doge/dog_bark2.ogg b/Resources/Audio/NES/Voice/Doge/dog_bark2.ogg new file mode 100644 index 00000000000..ed4d7bc7868 Binary files /dev/null and b/Resources/Audio/NES/Voice/Doge/dog_bark2.ogg differ diff --git a/Resources/Audio/NES/Voice/Doge/dog_bark3.ogg b/Resources/Audio/NES/Voice/Doge/dog_bark3.ogg new file mode 100644 index 00000000000..13aab8edd40 Binary files /dev/null and b/Resources/Audio/NES/Voice/Doge/dog_bark3.ogg differ diff --git a/Resources/Audio/NES/Voice/Doge/dog_growl1.ogg b/Resources/Audio/NES/Voice/Doge/dog_growl1.ogg new file mode 100644 index 00000000000..d2c99e97e7e Binary files /dev/null and b/Resources/Audio/NES/Voice/Doge/dog_growl1.ogg differ diff --git a/Resources/Audio/NES/Voice/Doge/dog_growl2.ogg b/Resources/Audio/NES/Voice/Doge/dog_growl2.ogg new file mode 100644 index 00000000000..3eb018413a5 Binary files /dev/null and b/Resources/Audio/NES/Voice/Doge/dog_growl2.ogg differ diff --git a/Resources/Audio/NES/Voice/Doge/dog_growl3.ogg b/Resources/Audio/NES/Voice/Doge/dog_growl3.ogg new file mode 100644 index 00000000000..84b505442d2 Binary files /dev/null and b/Resources/Audio/NES/Voice/Doge/dog_growl3.ogg differ diff --git a/Resources/Audio/NES/Voice/Doge/dog_snarl1.ogg b/Resources/Audio/NES/Voice/Doge/dog_snarl1.ogg new file mode 100644 index 00000000000..4493be060cc Binary files /dev/null and b/Resources/Audio/NES/Voice/Doge/dog_snarl1.ogg differ diff --git a/Resources/Audio/NES/Voice/Doge/dog_snarl2.ogg b/Resources/Audio/NES/Voice/Doge/dog_snarl2.ogg new file mode 100644 index 00000000000..6529e4e05d0 Binary files /dev/null and b/Resources/Audio/NES/Voice/Doge/dog_snarl2.ogg differ diff --git a/Resources/Audio/NES/Voice/Doge/dog_snarl3.ogg b/Resources/Audio/NES/Voice/Doge/dog_snarl3.ogg new file mode 100644 index 00000000000..fb9e4c7ec7b Binary files /dev/null and b/Resources/Audio/NES/Voice/Doge/dog_snarl3.ogg differ diff --git a/Resources/Audio/NES/Voice/Doge/dog_whine.ogg b/Resources/Audio/NES/Voice/Doge/dog_whine.ogg new file mode 100644 index 00000000000..47f2e8200d7 Binary files /dev/null and b/Resources/Audio/NES/Voice/Doge/dog_whine.ogg differ diff --git a/Resources/Audio/NES/Voice/Doge/license.txt b/Resources/Audio/NES/Voice/Doge/license.txt new file mode 100644 index 00000000000..7604e4dfc25 --- /dev/null +++ b/Resources/Audio/NES/Voice/Doge/license.txt @@ -0,0 +1,10 @@ +dog_bark1.ogg licensed under CC0 1.0 taken from abhisheky948 at https://freesound.org/people/abhisheky948/sounds/625497/ +dog_bark2.ogg licensed under CC0 1.0 taken from michael_grinnell at https://freesound.org/people/michael_grinnell/sounds/464400/ +dog_bark3.ogg licensed under CC0 1.0 taken from Geoff-Bremner-Audio at https://freesound.org/people/Geoff-Bremner-Audio/sounds/688201/ +dog_growl1.ogg licensed under CC0 1.0 taken from GlitchedTones at https://freesound.org/people/Glitchedtones/sounds/372533/ +dog_growl2.ogg licensed under CC0 1.0 taken from GlitchedTones at https://freesound.org/people/Glitchedtones/sounds/372533/ +dog_growl3.ogg licensed under CC0 1.0 taken from GlitchedTones at https://freesound.org/people/Glitchedtones/sounds/372533/ +dog_snarl1.ogg licensed under CC0 1.0 taken from strongbot at https://freesound.org/people/strongbot/sounds/341090/ +dog_snarl2.ogg licensed under CC0 1.0 taken from strongbot at https://freesound.org/people/strongbot/sounds/341090/ +dog_snarl3.ogg licensed under CC0 1.0 taken from strongbot at https://freesound.org/people/strongbot/sounds/341090/ +dog_whine.ogg licensed under CC SAMPLING+ 1.0 DEED taken from Sruddil at https://freesound.org/people/Sruddi1/sounds/34878/ \ No newline at end of file diff --git a/Resources/Audio/NES/Voice/Vulpakanin/bark.ogg b/Resources/Audio/NES/Voice/Vulpakanin/bark.ogg new file mode 100644 index 00000000000..e0e77281d82 Binary files /dev/null and b/Resources/Audio/NES/Voice/Vulpakanin/bark.ogg differ diff --git a/Resources/Audio/NES/Voice/Vulpakanin/growl1.ogg b/Resources/Audio/NES/Voice/Vulpakanin/growl1.ogg new file mode 100644 index 00000000000..d5152d9c057 Binary files /dev/null and b/Resources/Audio/NES/Voice/Vulpakanin/growl1.ogg differ diff --git a/Resources/Audio/NES/Voice/Vulpakanin/growl2.ogg b/Resources/Audio/NES/Voice/Vulpakanin/growl2.ogg new file mode 100644 index 00000000000..5c48053ac68 Binary files /dev/null and b/Resources/Audio/NES/Voice/Vulpakanin/growl2.ogg differ diff --git a/Resources/Audio/NES/Voice/Vulpakanin/growl3.ogg b/Resources/Audio/NES/Voice/Vulpakanin/growl3.ogg new file mode 100644 index 00000000000..bcacf2442f0 Binary files /dev/null and b/Resources/Audio/NES/Voice/Vulpakanin/growl3.ogg differ diff --git a/Resources/Audio/NES/Voice/Vulpakanin/howl.ogg b/Resources/Audio/NES/Voice/Vulpakanin/howl.ogg new file mode 100644 index 00000000000..778fd6b2483 Binary files /dev/null and b/Resources/Audio/NES/Voice/Vulpakanin/howl.ogg differ diff --git a/Resources/Audio/NES/Voice/Vulpakanin/license.txt b/Resources/Audio/NES/Voice/Vulpakanin/license.txt new file mode 100644 index 00000000000..40e76cd1fec --- /dev/null +++ b/Resources/Audio/NES/Voice/Vulpakanin/license.txt @@ -0,0 +1,3 @@ +all taken from +https://github.com/new-frontiers-14/frontier-station-14/tree/master/Resources/Audio/_NF/Vulpikanin +licensed under CC BY-NC-SA 3.0 diff --git a/Resources/Audio/NES/Voice/Vulpakanin/scream1.ogg b/Resources/Audio/NES/Voice/Vulpakanin/scream1.ogg new file mode 100644 index 00000000000..8c5cf335a4a Binary files /dev/null and b/Resources/Audio/NES/Voice/Vulpakanin/scream1.ogg differ diff --git a/Resources/Audio/NES/Voice/Vulpakanin/scream2.ogg b/Resources/Audio/NES/Voice/Vulpakanin/scream2.ogg new file mode 100644 index 00000000000..0ff2ac25ce4 Binary files /dev/null and b/Resources/Audio/NES/Voice/Vulpakanin/scream2.ogg differ diff --git a/Resources/Audio/NES/Voice/Vulpkanin_Talk/license.txt b/Resources/Audio/NES/Voice/Vulpkanin_Talk/license.txt new file mode 100644 index 00000000000..117cf54003a --- /dev/null +++ b/Resources/Audio/NES/Voice/Vulpkanin_Talk/license.txt @@ -0,0 +1,6 @@ +pug.ogg (Renamed to vulp.ogg) +pug_ask.ogg (Renamed to vulp_ask.ogg) +pug_exclaim.ogg (Renamed to vulp_exclaim.ogg) +all taken from +https://github.com/goonstation/goonstation/commit/da7c8965c4552ca53af367e6c83a83da2affe790 +licensed under CC BY-NC-SA 3.0 diff --git a/Resources/Audio/NES/Voice/Vulpkanin_Talk/vulp.ogg b/Resources/Audio/NES/Voice/Vulpkanin_Talk/vulp.ogg new file mode 100644 index 00000000000..86d50225a52 Binary files /dev/null and b/Resources/Audio/NES/Voice/Vulpkanin_Talk/vulp.ogg differ diff --git a/Resources/Audio/NES/Voice/Vulpkanin_Talk/vulp_ask.ogg b/Resources/Audio/NES/Voice/Vulpkanin_Talk/vulp_ask.ogg new file mode 100644 index 00000000000..4cdf1c8a5e3 Binary files /dev/null and b/Resources/Audio/NES/Voice/Vulpkanin_Talk/vulp_ask.ogg differ diff --git a/Resources/Audio/NES/Voice/Vulpkanin_Talk/vulp_exclaim.ogg b/Resources/Audio/NES/Voice/Vulpkanin_Talk/vulp_exclaim.ogg new file mode 100644 index 00000000000..ed47bcf1c6e Binary files /dev/null and b/Resources/Audio/NES/Voice/Vulpkanin_Talk/vulp_exclaim.ogg differ diff --git a/Resources/Changelog/ChangelogADT.yml b/Resources/Changelog/ChangelogADT.yml index e9b150493e1..9f487d8c265 100644 --- a/Resources/Changelog/ChangelogADT.yml +++ b/Resources/Changelog/ChangelogADT.yml @@ -1019,3 +1019,18 @@ Entries: - {message: Изменено КЗ и СРП. Крепитесь, type: Tweak} id: 55660 #костыль отображения в Обновлениях time: '2024-01-08T07:20:00.0000000+00:00' + +- author: Aserovich + changes: + - {message: Добавил звуки для вульп - "Кричит. Рычит. Лает. Воет. и так далее", type: Add} + - {message: У новакида появился собственный мозг, type: Add} + - {message: Теперь любое разумное существо можно носить на руках, type: Add} + - {message: Добавлены платы рельсотрона и тяжелого рельсотрона, type: Add} + - {message: Добавлен терминал синдиката, type: Add} + - {message: Шансы на появление лута в лотерее карго были ребалансированы, type: Tweak} + - {message: СЭИД двигатель теперь взрывается при разрушении, type: Tweak} + - {message: Теперь все очки имеют свойство разбиваться если их бросить или наступить на них, type: Tweak} + - {message: Теперь мех РИПЛИ и органы стоят намного больше кредитов, type: Tweak} + - {message: Изменил СБ шаттл, type: Tweak} + id: 55661 #костыль отображения в Обновлениях + time: '2024-01-06T08:20:00.0000000+00:00' diff --git a/Resources/Locale/ru-RU/ADT/Actions/carry.ftl b/Resources/Locale/ru-RU/ADT/Actions/carry.ftl new file mode 100644 index 00000000000..faf782bdfb4 --- /dev/null +++ b/Resources/Locale/ru-RU/ADT/Actions/carry.ftl @@ -0,0 +1,2 @@ +carry-verb = Взять на руки. +carry-too-heavy = Вы недостаточно сильны. diff --git a/Resources/Maps/Misc/planet_terminal.yml b/Resources/Maps/Misc/planet_terminal.yml index 02b22e599cd..397a1b9448b 100644 --- a/Resources/Maps/Misc/planet_terminal.yml +++ b/Resources/Maps/Misc/planet_terminal.yml @@ -4675,13 +4675,6 @@ entities: - pos: -7.5,9.5 parent: 818 type: Transform -- proto: KitchenKnife - entities: - - uid: 1193 - components: - - pos: 10.649275,9.52482 - parent: 818 - type: Transform - proto: KitchenMicrowave entities: - uid: 820 @@ -4696,13 +4689,6 @@ entities: - pos: 11.5,7.5 parent: 818 type: Transform -- proto: KukriKnife - entities: - - uid: 5 - components: - - pos: 7.6116056,8.491207 - parent: 818 - type: Transform - proto: LeftHandVulpkanin entities: - uid: 478 diff --git a/Resources/Maps/Shuttles/SYND_Karneline.yml b/Resources/Maps/Shuttles/SYND_Karneline.yml index f809682e4f8..830464d5e5c 100644 --- a/Resources/Maps/Shuttles/SYND_Karneline.yml +++ b/Resources/Maps/Shuttles/SYND_Karneline.yml @@ -3,14 +3,14 @@ meta: postmapinit: false tilemap: 0: Space - 33: FloorDarkMini - 38: FloorDarkPlastic - 91: FloorSteelCheckerDark - 103: FloorTechMaint - 111: FloorWhiteMini - 116: FloorWhitePlastic - 119: Lattice - 120: Plating + 35: FloorDarkMini + 40: FloorDarkPlastic + 93: FloorSteelCheckerDark + 106: FloorTechMaint + 114: FloorWhiteMini + 119: FloorWhitePlastic + 122: Lattice + 123: Plating entities: - proto: "" entities: @@ -24,33 +24,33 @@ entities: - chunks: 0,0: ind: 0,0 - tiles: ZwAAAAAAZwAAAAAAeAAAAAAAZwAAAAAAZwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAJgAAAAAAJgAAAAAAJgAAAAAAIQAAAAAAJgAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAIQAAAAAAZwAAAAAAeAAAAAAAZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgAAAAAAJgAAAAAAJgAAAAAAJgAAAAAAIQAAAAAAJgAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAZwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAJgAAAAAAIQAAAAAAeAAAAAAAbwAAAAAAdAAAAAAAbwAAAAAAbwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAJgAAAAAAIQAAAAAAeAAAAAAAbwAAAAAAeAAAAAAAbwAAAAAAbwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAJgAAAAAAIQAAAAAAeAAAAAAAbwAAAAAAeAAAAAAAbwAAAAAAbwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAJgAAAAAAIQAAAAAAeAAAAAAAbwAAAAAAeAAAAAAAbwAAAAAAeAAAAAAAdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAbwAAAAAAdAAAAAAAbwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgAAAAAAJgAAAAAAIQAAAAAAeAAAAAAAeAAAAAAAdAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgAAAAAAJgAAAAAAIQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAdwAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + tiles: agAAAAAAagAAAAAAewAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAKAAAAAAAKAAAAAAAKAAAAAAAIwAAAAAAKAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAIwAAAAAAagAAAAAAewAAAAAAagAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAKAAAAAAAKAAAAAAAKAAAAAAAIwAAAAAAKAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAKAAAAAAAIwAAAAAAewAAAAAAcgAAAAAAdwAAAAAAcgAAAAAAcgAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAKAAAAAAAIwAAAAAAewAAAAAAcgAAAAAAewAAAAAAcgAAAAAAcgAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAKAAAAAAAIwAAAAAAewAAAAAAcgAAAAAAewAAAAAAcgAAAAAAcgAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAKAAAAAAAIwAAAAAAewAAAAAAcgAAAAAAewAAAAAAcgAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAcgAAAAAAdwAAAAAAcgAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAKAAAAAAAIwAAAAAAewAAAAAAewAAAAAAdwAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAKAAAAAAAIwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwAAAAAAIwAAAAAAIwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA version: 6 0,-1: ind: 0,-1 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdwAAAAAAdwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAZwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZwAAAAAAZwAAAAAAeAAAAAAAZwAAAAAAZwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAagAAAAAAewAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA version: 6 -1,0: ind: -1,0 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAZwAAAAAAZwAAAAAAZwAAAAAAZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAJgAAAAAAIQAAAAAAJgAAAAAAJgAAAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZwAAAAAAeAAAAAAAZwAAAAAAIQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAJgAAAAAAIQAAAAAAJgAAAAAAJgAAAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAZwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAIQAAAAAAIQAAAAAAWwAAAAAAIQAAAAAAeAAAAAAAIQAAAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAIQAAAAAAIQAAAAAAeAAAAAAAIQAAAAAAeAAAAAAAIQAAAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAIQAAAAAAIQAAAAAAeAAAAAAAIQAAAAAAeAAAAAAAIQAAAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdwAAAAAAeAAAAAAAIQAAAAAAeAAAAAAAIQAAAAAAeAAAAAAAIQAAAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAIQAAAAAAWwAAAAAAIQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAJgAAAAAAeAAAAAAAeAAAAAAAIQAAAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAIQAAAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAIQAAAAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAdwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAKAAAAAAAIwAAAAAAKAAAAAAAKAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAagAAAAAAIwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAKAAAAAAAIwAAAAAAKAAAAAAAKAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAIwAAAAAAIwAAAAAAXQAAAAAAIwAAAAAAewAAAAAAIwAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAIwAAAAAAIwAAAAAAewAAAAAAIwAAAAAAewAAAAAAIwAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAIwAAAAAAIwAAAAAAewAAAAAAIwAAAAAAewAAAAAAIwAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAIwAAAAAAewAAAAAAIwAAAAAAewAAAAAAIwAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAIwAAAAAAXQAAAAAAIwAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAKAAAAAAAewAAAAAAewAAAAAAIwAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAIwAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAIwAAAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAA version: 6 -1,-1: ind: -1,-1 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAZwAAAAAAZwAAAAAAZwAAAAAAZwAAAAAA + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAA version: 6 -1,1: ind: -1,1 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA version: 6 0,1: ind: 0,1 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + tiles: AAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA version: 6 type: MapGrid - type: Broadphase - bodyStatus: InAir - angularDamping: 0.06 - linearDamping: 0.06 + angularDamping: 0.05 + linearDamping: 0.05 fixedRotation: False bodyType: Dynamic type: Physics @@ -74,6 +74,12 @@ entities: 10: -5,2 11: 5,4 12: 5,2 + - node: + color: '#951710FF' + id: Box + decals: + 102: -1,16 + 103: 1,16 - node: color: '#A91409A7' id: Box @@ -359,6 +365,18 @@ entities: - pos: -2.3138375,0.41272402 parent: 1 type: Transform +- proto: AirlockExternalGlassNukeopLocked + entities: + - uid: 741 + components: + - pos: -3.5,15.5 + parent: 1 + type: Transform + - uid: 742 + components: + - pos: 4.5,15.5 + parent: 1 + type: Transform - proto: AirlockExternalGlassSyndicateLocked entities: - uid: 3 @@ -504,6 +522,16 @@ entities: type: Transform - proto: AtmosDeviceFanTiny entities: + - uid: 258 + components: + - pos: -3.5,15.5 + parent: 1 + type: Transform + - uid: 298 + components: + - pos: 4.5,15.5 + parent: 1 + type: Transform - uid: 735 components: - pos: -7.5,3.5 @@ -1502,6 +1530,146 @@ entities: - pos: 2.5,4.5 parent: 1 type: Transform + - uid: 740 + components: + - pos: -0.5,16.5 + parent: 1 + type: Transform + - uid: 743 + components: + - pos: 1.5,16.5 + parent: 1 + type: Transform + - uid: 744 + components: + - pos: -4.5,15.5 + parent: 1 + type: Transform + - uid: 745 + components: + - pos: -3.5,15.5 + parent: 1 + type: Transform + - uid: 746 + components: + - pos: -2.5,15.5 + parent: 1 + type: Transform + - uid: 747 + components: + - pos: -1.5,15.5 + parent: 1 + type: Transform + - uid: 748 + components: + - pos: -0.5,15.5 + parent: 1 + type: Transform + - uid: 749 + components: + - pos: 0.5,15.5 + parent: 1 + type: Transform + - uid: 750 + components: + - pos: 1.5,15.5 + parent: 1 + type: Transform + - uid: 751 + components: + - pos: 2.5,15.5 + parent: 1 + type: Transform + - uid: 752 + components: + - pos: 3.5,15.5 + parent: 1 + type: Transform + - uid: 753 + components: + - pos: 4.5,15.5 + parent: 1 + type: Transform + - uid: 754 + components: + - pos: 5.5,15.5 + parent: 1 + type: Transform + - uid: 755 + components: + - pos: -4.5,7.5 + parent: 1 + type: Transform + - uid: 756 + components: + - pos: -4.5,8.5 + parent: 1 + type: Transform + - uid: 757 + components: + - pos: -4.5,9.5 + parent: 1 + type: Transform + - uid: 758 + components: + - pos: -4.5,10.5 + parent: 1 + type: Transform + - uid: 759 + components: + - pos: -4.5,11.5 + parent: 1 + type: Transform + - uid: 760 + components: + - pos: -4.5,12.5 + parent: 1 + type: Transform + - uid: 761 + components: + - pos: -4.5,13.5 + parent: 1 + type: Transform + - uid: 762 + components: + - pos: -4.5,14.5 + parent: 1 + type: Transform + - uid: 763 + components: + - pos: 5.5,14.5 + parent: 1 + type: Transform + - uid: 764 + components: + - pos: 5.5,13.5 + parent: 1 + type: Transform + - uid: 765 + components: + - pos: 5.5,12.5 + parent: 1 + type: Transform + - uid: 766 + components: + - pos: 5.5,11.5 + parent: 1 + type: Transform + - uid: 767 + components: + - pos: 5.5,10.5 + parent: 1 + type: Transform + - uid: 768 + components: + - pos: 5.5,9.5 + parent: 1 + type: Transform + - uid: 769 + components: + - pos: 5.5,8.5 + parent: 1 + type: Transform - proto: CableTerminal entities: - uid: 117 @@ -1772,9 +1940,11 @@ entities: type: Transform - proto: ClothingHeadHatSyndie entities: - - uid: 298 + - uid: 770 components: - - pos: 0.49156094,13.452639 + - name: шапка Ядерного Огузка + type: MetaData + - pos: 2.303103,11.786343 parent: 1 type: Transform - proto: ClothingHeadsetAltSyndicate @@ -1962,6 +2132,8 @@ entities: - pos: 4.5,-4.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - color: '#3385FFFF' type: AtmosPipeColor - proto: GasPassiveVent @@ -1972,6 +2144,8 @@ entities: pos: 1.5,-6.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - color: '#CC0000FF' type: AtmosPipeColor - proto: GasPipeBend @@ -2700,12 +2874,16 @@ entities: pos: 4.5,-5.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - uid: 239 components: - rot: 3.141592653589793 rad pos: 3.5,-5.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - proto: GasPressurePump entities: - uid: 200 @@ -2714,6 +2892,8 @@ entities: pos: 4.5,-2.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - color: '#3385FFFF' type: AtmosPipeColor - uid: 240 @@ -2721,6 +2901,8 @@ entities: - pos: 3.5,-2.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - color: '#CC0000FF' type: AtmosPipeColor - proto: GasVentPump @@ -2731,6 +2913,8 @@ entities: pos: -1.5,4.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - color: '#3385FFFF' type: AtmosPipeColor - uid: 335 @@ -2739,6 +2923,8 @@ entities: pos: 2.5,2.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - color: '#3385FFFF' type: AtmosPipeColor - uid: 336 @@ -2747,6 +2933,8 @@ entities: pos: 2.5,8.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - color: '#3385FFFF' type: AtmosPipeColor - uid: 337 @@ -2754,6 +2942,8 @@ entities: - pos: 1.5,11.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - color: '#3385FFFF' type: AtmosPipeColor - uid: 356 @@ -2761,6 +2951,8 @@ entities: - pos: 5.5,13.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - color: '#3385FFFF' type: AtmosPipeColor - uid: 357 @@ -2768,6 +2960,8 @@ entities: - pos: -4.5,13.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - color: '#3385FFFF' type: AtmosPipeColor - uid: 358 @@ -2776,6 +2970,8 @@ entities: pos: -5.5,8.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - color: '#3385FFFF' type: AtmosPipeColor - uid: 359 @@ -2784,6 +2980,8 @@ entities: pos: 6.5,8.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - color: '#3385FFFF' type: AtmosPipeColor - uid: 361 @@ -2792,6 +2990,8 @@ entities: pos: -6.5,2.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - color: '#3385FFFF' type: AtmosPipeColor - uid: 362 @@ -2800,6 +3000,8 @@ entities: pos: 7.5,4.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - color: '#3385FFFF' type: AtmosPipeColor - proto: GasVentScrubber @@ -2810,6 +3012,8 @@ entities: pos: -1.5,2.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - color: '#CC0000FF' type: AtmosPipeColor - uid: 393 @@ -2817,6 +3021,8 @@ entities: - pos: 2.5,4.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - color: '#CC0000FF' type: AtmosPipeColor - uid: 394 @@ -2824,6 +3030,8 @@ entities: - pos: -0.5,8.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - color: '#CC0000FF' type: AtmosPipeColor - uid: 395 @@ -2831,6 +3039,8 @@ entities: - pos: -0.5,11.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - color: '#CC0000FF' type: AtmosPipeColor - uid: 396 @@ -2839,6 +3049,8 @@ entities: pos: 6.5,7.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - color: '#CC0000FF' type: AtmosPipeColor - uid: 397 @@ -2847,6 +3059,8 @@ entities: pos: -5.5,7.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - color: '#CC0000FF' type: AtmosPipeColor - proto: GeneratorBasic15kW @@ -3066,6 +3280,11 @@ entities: type: Transform - proto: Multitool entities: + - uid: 29 + components: + - pos: 0.95259,13.199076 + parent: 1 + type: Transform - uid: 649 components: - pos: -1.4700876,0.45959902 @@ -3104,6 +3323,13 @@ entities: - pos: -3.5,0.5 parent: 1 type: Transform +- proto: NesSyndicateComputerButton + entities: + - uid: 42 + components: + - pos: 0.5,13.5 + parent: 1 + type: Transform - proto: NitrogenCanister entities: - uid: 105 @@ -3111,16 +3337,22 @@ entities: - pos: 3.5,0.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - uid: 196 components: - pos: 4.5,0.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - uid: 220 components: - pos: 3.5,-5.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - proto: NuclearBombUnanchored entities: - uid: 176 @@ -3142,21 +3374,29 @@ entities: - pos: 4.5,-0.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - uid: 199 components: - pos: 4.5,-5.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - uid: 278 components: - pos: -6.5,4.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - uid: 279 components: - pos: 7.5,2.5 parent: 1 type: Transform + - joinedGrid: 1 + type: AtmosDevice - proto: PinpointerNuclear entities: - uid: 679 @@ -3689,6 +3929,13 @@ entities: pos: 2.5,12.5 parent: 1 type: Transform +- proto: SyndicateJawsOfLife + entities: + - uid: 771 + components: + - pos: 2.4529235,6.383344 + parent: 1 + type: Transform - proto: SyndieMiniBomb entities: - uid: 321 @@ -3735,11 +3982,6 @@ entities: - pos: -1.5,12.5 parent: 1 type: Transform - - uid: 258 - components: - - pos: 0.5,13.5 - parent: 1 - type: Transform - uid: 259 components: - pos: 2.5,11.5 @@ -3899,12 +4141,6 @@ entities: pos: 4.5,14.5 parent: 1 type: Transform - - uid: 29 - components: - - rot: 3.141592653589793 rad - pos: 4.5,15.5 - parent: 1 - type: Transform - uid: 30 components: - rot: 3.141592653589793 rad @@ -3977,12 +4213,6 @@ entities: pos: -3.5,16.5 parent: 1 type: Transform - - uid: 42 - components: - - rot: 3.141592653589793 rad - pos: -3.5,15.5 - parent: 1 - type: Transform - uid: 43 components: - rot: 3.141592653589793 rad diff --git a/Resources/Maps/Shuttles/security.yml b/Resources/Maps/Shuttles/security.yml index cc312da9482..47ca7dadcd3 100644 --- a/Resources/Maps/Shuttles/security.yml +++ b/Resources/Maps/Shuttles/security.yml @@ -1,1623 +1,14 @@ meta: format: 6 postmapinit: false -tilemap: - 0: Space - 38: FloorDarkPlastic - 91: FloorSteelCheckerDark - 103: FloorTechMaint - 119: Lattice - 120: Plating +tilemap: {} entities: -- proto: "" +- proto: FaxMachineBase entities: - uid: 1 components: - - name: NT-Sec. Owl - type: MetaData - - pos: -0.5,-0.40625 - parent: invalid - type: Transform - - chunks: - 0,0: - ind: 0,0 - tiles: eAAAAAAAZwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgAAAAAAJgAAAAAAJgAAAAAAWwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgAAAAAAJgAAAAAAJgAAAAAAWwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgAAAAAAJgAAAAAAJgAAAAAAWwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgAAAAAAJgAAAAAAJgAAAAAAJgAAAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWwAAAAAAJgAAAAAAWwAAAAAAWwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAJgAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgAAAAAAJgAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgAAAAAAJgAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - version: 6 - 0,-1: - ind: 0,-1 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdwAAAAAAeAAAAAAAdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAZwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAZwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - version: 6 - -1,0: - ind: -1,0 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAZwAAAAAAZwAAAAAAWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAZwAAAAAAZwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAZwAAAAAAZwAAAAAAWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAZwAAAAAAZwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - version: 6 - -1,-1: - ind: -1,-1 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdwAAAAAAeAAAAAAAdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAZwAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAZwAAAAAAeAAAAAAAeAAAAAAA - version: 6 - type: MapGrid - - type: Broadphase - - bodyStatus: InAir - angularDamping: 0 - linearDamping: 0 - fixedRotation: False - bodyType: Dynamic - type: Physics - - fixtures: {} - type: Fixtures - - type: OccluderTree - - type: SpreaderGrid - - type: Shuttle - - type: GridPathfinding - - gravityShakeSound: !type:SoundPathSpecifier - path: /Audio/Effects/alert.ogg - type: Gravity - - chunkCollection: - version: 2 - nodes: [] - type: DecalGrid - - version: 2 - data: - tiles: - 0,0: - 0: 65535 - 0,-1: - 0: 65535 - 0,1: - 0: 65535 - 0,2: - 0: 127 - 1,0: - 0: 4369 - 1,1: - 0: 4369 - 0,-2: - 0: 65024 - 1,-2: - 0: 4096 - 1,-1: - 0: 4369 - -1,0: - 0: 65535 - -1,1: - 0: 65535 - -1,2: - 0: 206 - -1,-2: - 0: 65024 - -1,-1: - 0: 65535 - uniqueMixes: - - volume: 2500 - temperature: 293.15 - moles: - - 21.824879 - - 82.10312 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - chunkSize: 4 - type: GridAtmosphere - - type: GasTileOverlay - - type: RadiationGridResistance - - type: SecShuttle -- proto: AirCanister - entities: - - uid: 180 - components: - - pos: 3.5,-0.5 - parent: 1 - type: Transform -- proto: AirlockExternalGlassShuttleLocked - entities: - - uid: 164 - components: - - rot: 1.5707963267948966 rad - pos: 4.5,4.5 - parent: 1 - type: Transform -- proto: AirlockSecurityGlassLocked - entities: - - uid: 160 - components: - - pos: 1.5,6.5 - parent: 1 - type: Transform - - uid: 161 - components: - - pos: -0.5,4.5 - parent: 1 - type: Transform - - uid: 162 - components: - - pos: -0.5,1.5 - parent: 1 - type: Transform -- proto: AirlockSecurityLocked - entities: - - uid: 163 - components: - - pos: 1.5,0.5 - parent: 1 - type: Transform -- proto: APCBasic - entities: - - uid: 84 - components: - - rot: 3.141592653589793 rad - pos: 3.5,0.5 - parent: 1 - type: Transform - - uid: 85 - components: - - rot: 1.5707963267948966 rad - pos: -1.5,7.5 - parent: 1 - type: Transform -- proto: AtmosDeviceFanTiny - entities: - - uid: 165 - components: - - pos: 4.5,4.5 - parent: 1 - type: Transform -- proto: Bed - entities: - - uid: 166 - components: - - pos: -2.5,5.5 - parent: 1 - type: Transform - - uid: 167 - components: - - pos: -2.5,2.5 - parent: 1 - type: Transform -- proto: BedsheetOrange - entities: - - uid: 249 - components: - - pos: -2.5,2.5 - parent: 1 - type: Transform - - uid: 250 - components: - - pos: -2.5,5.5 - parent: 1 - type: Transform -- proto: CableApcExtension - entities: - - uid: 110 - components: - - pos: 3.5,0.5 - parent: 1 - type: Transform - - uid: 111 - components: - - pos: 3.5,1.5 - parent: 1 - type: Transform - - uid: 112 - components: - - pos: 2.5,1.5 - parent: 1 - type: Transform - - uid: 113 - components: - - pos: 1.5,1.5 - parent: 1 - type: Transform - - uid: 114 - components: - - pos: 0.5,1.5 - parent: 1 - type: Transform - - uid: 115 - components: - - pos: -0.5,1.5 - parent: 1 - type: Transform - - uid: 116 - components: - - pos: -1.5,1.5 - parent: 1 - type: Transform - - uid: 117 - components: - - pos: -2.5,1.5 - parent: 1 - type: Transform - - uid: 118 - components: - - pos: -1.5,7.5 - parent: 1 - type: Transform - - uid: 119 - components: - - pos: -0.5,7.5 - parent: 1 - type: Transform - - uid: 120 - components: - - pos: 0.5,7.5 - parent: 1 - type: Transform - - uid: 121 - components: - - pos: 1.5,7.5 - parent: 1 - type: Transform - - uid: 122 - components: - - pos: 2.5,7.5 - parent: 1 - type: Transform - - uid: 123 - components: - - pos: 0.5,8.5 - parent: 1 - type: Transform - - uid: 124 - components: - - pos: 1.5,6.5 - parent: 1 - type: Transform - - uid: 125 - components: - - pos: 1.5,5.5 - parent: 1 - type: Transform - - uid: 126 - components: - - pos: 1.5,4.5 - parent: 1 - type: Transform - - uid: 127 - components: - - pos: 1.5,3.5 - parent: 1 - type: Transform - - uid: 128 - components: - - pos: 2.5,3.5 - parent: 1 - type: Transform - - uid: 129 - components: - - pos: 3.5,3.5 - parent: 1 - type: Transform - - uid: 130 - components: - - pos: 3.5,4.5 - parent: 1 - type: Transform - - uid: 131 - components: - - pos: 0.5,4.5 - parent: 1 - type: Transform - - uid: 132 - components: - - pos: -0.5,4.5 - parent: 1 - type: Transform - - uid: 133 - components: - - pos: -1.5,4.5 - parent: 1 - type: Transform - - uid: 134 - components: - - pos: -2.5,4.5 - parent: 1 - type: Transform - - uid: 135 - components: - - pos: 1.5,0.5 - parent: 1 - type: Transform - - uid: 136 - components: - - pos: 1.5,-0.5 - parent: 1 - type: Transform - - uid: 137 - components: - - pos: 1.5,-1.5 - parent: 1 - type: Transform - - uid: 138 - components: - - pos: 1.5,-2.5 - parent: 1 - type: Transform - - uid: 139 - components: - - pos: 2.5,-2.5 - parent: 1 - type: Transform - - uid: 140 - components: - - pos: 3.5,-2.5 - parent: 1 - type: Transform - - uid: 141 - components: - - pos: 3.5,-3.5 - parent: 1 - type: Transform - - uid: 142 - components: - - pos: 0.5,-0.5 - parent: 1 - type: Transform - - uid: 143 - components: - - pos: -0.5,-0.5 - parent: 1 - type: Transform - - uid: 144 - components: - - pos: -1.5,-0.5 - parent: 1 - type: Transform - - uid: 145 - components: - - pos: -1.5,-1.5 - parent: 1 - type: Transform - - uid: 146 - components: - - pos: -1.5,-2.5 - parent: 1 - type: Transform - - uid: 147 - components: - - pos: -2.5,-2.5 - parent: 1 - type: Transform - - uid: 148 - components: - - pos: -2.5,-3.5 - parent: 1 - type: Transform - - uid: 149 - components: - - pos: -2.5,-4.5 - parent: 1 - type: Transform - - uid: 150 - components: - - pos: 3.5,-4.5 - parent: 1 - type: Transform -- proto: CableHV - entities: - - uid: 77 - components: - - pos: -1.5,-3.5 - parent: 1 - type: Transform - - uid: 78 - components: - - pos: -0.5,-3.5 - parent: 1 - type: Transform - - uid: 79 - components: - - pos: 0.5,-3.5 - parent: 1 - type: Transform - - uid: 80 - components: - - pos: 1.5,-3.5 - parent: 1 - type: Transform - - uid: 81 - components: - - pos: 2.5,-3.5 - parent: 1 - type: Transform - - uid: 82 - components: - - pos: 0.5,-2.5 - parent: 1 - type: Transform - - uid: 83 - components: - - pos: 0.5,-1.5 - parent: 1 - type: Transform -- proto: CableMV - entities: - - uid: 43 - components: - - pos: -2.5,8.5 - parent: 1 - type: Transform - - uid: 44 - components: - - pos: 3.5,8.5 - parent: 1 - type: Transform - - uid: 86 - components: - - pos: 0.5,-1.5 - parent: 1 - type: Transform - - uid: 87 - components: - - pos: 0.5,-0.5 - parent: 1 - type: Transform - - uid: 88 - components: - - pos: 1.5,-0.5 - parent: 1 - type: Transform - - uid: 89 - components: - - pos: 1.5,0.5 - parent: 1 - type: Transform - - uid: 90 - components: - - pos: 1.5,1.5 - parent: 1 - type: Transform - - uid: 91 - components: - - pos: 2.5,1.5 - parent: 1 - type: Transform - - uid: 92 - components: - - pos: 3.5,1.5 - parent: 1 - type: Transform - - uid: 93 - components: - - pos: 3.5,0.5 - parent: 1 - type: Transform - - uid: 94 - components: - - pos: 1.5,2.5 - parent: 1 - type: Transform - - uid: 95 - components: - - pos: 1.5,3.5 - parent: 1 - type: Transform - - uid: 96 - components: - - pos: 1.5,4.5 - parent: 1 - type: Transform - - uid: 97 - components: - - pos: 1.5,5.5 - parent: 1 - type: Transform - - uid: 98 - components: - - pos: 1.5,6.5 - parent: 1 - type: Transform - - uid: 99 - components: - - pos: 1.5,7.5 - parent: 1 - type: Transform - - uid: 100 - components: - - pos: 0.5,7.5 - parent: 1 - type: Transform - - uid: 101 - components: - - pos: -0.5,7.5 - parent: 1 - type: Transform - - uid: 102 - components: - - pos: -1.5,7.5 - parent: 1 - type: Transform - - uid: 103 - components: - - pos: -0.5,6.5 - parent: 1 - type: Transform - - uid: 104 - components: - - pos: -1.5,6.5 - parent: 1 - type: Transform - - uid: 105 - components: - - pos: -2.5,6.5 - parent: 1 - type: Transform - - uid: 106 - components: - - pos: -2.5,7.5 - parent: 1 - type: Transform - - uid: 107 - components: - - pos: 2.5,6.5 - parent: 1 - type: Transform - - uid: 108 - components: - - pos: 3.5,6.5 - parent: 1 - type: Transform - - uid: 109 - components: - - pos: 3.5,7.5 - parent: 1 - type: Transform - - uid: 153 - components: - - pos: -0.5,-0.5 - parent: 1 - type: Transform - - uid: 154 - components: - - pos: -1.5,-0.5 - parent: 1 - type: Transform - - uid: 155 - components: - - pos: -2.5,-0.5 - parent: 1 - type: Transform -- proto: CableTerminal - entities: - - uid: 61 - components: - - rot: 3.141592653589793 rad - pos: 0.5,-3.5 - parent: 1 - type: Transform -- proto: Catwalk - entities: - - uid: 226 - components: - - pos: -1.5,-0.5 - parent: 1 - type: Transform - - uid: 227 - components: - - pos: -1.5,-1.5 - parent: 1 - type: Transform - - uid: 228 - components: - - pos: -1.5,-2.5 - parent: 1 - type: Transform - - uid: 229 - components: - - pos: -0.5,-0.5 - parent: 1 - type: Transform - - uid: 230 - components: - - pos: -0.5,-1.5 - parent: 1 - type: Transform - - uid: 231 - components: - - pos: -0.5,-2.5 - parent: 1 - type: Transform -- proto: ChairPilotSeat - entities: - - uid: 174 - components: - - rot: 3.141592653589793 rad - pos: -0.5,7.5 - parent: 1 - type: Transform - - uid: 175 - components: - - rot: 3.141592653589793 rad - pos: 1.5,7.5 - parent: 1 - type: Transform -- proto: ComputerRadar - entities: - - uid: 173 - components: - - pos: 1.5,8.5 - parent: 1 - type: Transform -- proto: ComputerShuttle - entities: - - uid: 171 - components: - - pos: -0.5,8.5 - parent: 1 - type: Transform -- proto: GasAnalyzer - entities: - - uid: 241 - components: - - pos: 3.3954656,-1.3730652 - parent: 1 - type: Transform -- proto: GasPassiveVent - entities: - - uid: 181 - components: - - rot: 3.141592653589793 rad - pos: 3.5,-5.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor -- proto: GasPipeBend - entities: - - uid: 202 - components: - - pos: 3.5,-1.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor - - uid: 212 - components: - - rot: 3.141592653589793 rad - pos: -0.5,-1.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor - - uid: 223 - components: - - rot: -1.5707963267948966 rad - pos: 0.5,2.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor - - uid: 224 - components: - - rot: 1.5707963267948966 rad - pos: 0.5,3.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor -- proto: GasPipeFourway - entities: - - uid: 221 - components: - - pos: -0.5,2.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor -- proto: GasPipeStraight - entities: - - uid: 187 - components: - - pos: 1.5,7.5 - parent: 1 - type: Transform - - color: '#3385FFFF' - type: AtmosPipeColor - - uid: 188 - components: - - pos: 1.5,6.5 - parent: 1 - type: Transform - - color: '#3385FFFF' - type: AtmosPipeColor - - uid: 189 - components: - - pos: 1.5,5.5 - parent: 1 - type: Transform - - color: '#3385FFFF' - type: AtmosPipeColor - - uid: 190 - components: - - pos: 1.5,3.5 - parent: 1 - type: Transform - - color: '#3385FFFF' - type: AtmosPipeColor - - uid: 192 - components: - - pos: 1.5,0.5 - parent: 1 - type: Transform - - color: '#3385FFFF' - type: AtmosPipeColor - - uid: 197 - components: - - rot: -1.5707963267948966 rad - pos: 0.5,1.5 - parent: 1 - type: Transform - - color: '#3385FFFF' - type: AtmosPipeColor - - uid: 198 - components: - - rot: -1.5707963267948966 rad - pos: -0.5,1.5 - parent: 1 - type: Transform - - color: '#3385FFFF' - type: AtmosPipeColor - - uid: 199 - components: - - rot: -1.5707963267948966 rad - pos: -0.5,4.5 - parent: 1 - type: Transform - - color: '#3385FFFF' - type: AtmosPipeColor - - uid: 200 - components: - - rot: -1.5707963267948966 rad - pos: 0.5,4.5 - parent: 1 - type: Transform - - color: '#3385FFFF' - type: AtmosPipeColor - - uid: 203 - components: - - pos: 3.5,-2.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor - - uid: 204 - components: - - pos: 3.5,-3.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor - - uid: 205 - components: - - pos: 3.5,-4.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor - - uid: 213 - components: - - rot: 1.5707963267948966 rad - pos: 0.5,-1.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor - - uid: 214 - components: - - pos: -0.5,-0.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor - - uid: 215 - components: - - pos: -0.5,0.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor - - uid: 216 - components: - - pos: -0.5,3.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor - - uid: 217 - components: - - pos: -0.5,4.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor - - uid: 218 - components: - - pos: -0.5,6.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor - - uid: 219 - components: - - pos: -0.5,7.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor - - uid: 222 - components: - - rot: -1.5707963267948966 rad - pos: 1.5,3.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor - - uid: 225 - components: - - pos: -0.5,1.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor -- proto: GasPipeTJunction - entities: - - uid: 191 - components: - - rot: -1.5707963267948966 rad - pos: 1.5,1.5 - parent: 1 - type: Transform - - color: '#3385FFFF' - type: AtmosPipeColor - - uid: 193 - components: - - rot: 3.141592653589793 rad - pos: 1.5,-0.5 - parent: 1 - type: Transform - - color: '#3385FFFF' - type: AtmosPipeColor - - uid: 195 - components: - - rot: 1.5707963267948966 rad - pos: 1.5,2.5 - parent: 1 - type: Transform - - color: '#3385FFFF' - type: AtmosPipeColor - - uid: 196 - components: - - rot: -1.5707963267948966 rad - pos: 1.5,4.5 - parent: 1 - type: Transform - - color: '#3385FFFF' - type: AtmosPipeColor - - uid: 211 - components: - - pos: 1.5,-1.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor - - uid: 220 - components: - - rot: -1.5707963267948966 rad - pos: -0.5,5.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor -- proto: GasPort - entities: - - uid: 179 - components: - - rot: -1.5707963267948966 rad - pos: 3.5,-0.5 - parent: 1 - type: Transform -- proto: GasPressurePump - entities: - - uid: 194 - components: - - rot: -1.5707963267948966 rad - pos: 2.5,-0.5 - parent: 1 - type: Transform - - color: '#3385FFFF' - type: AtmosPipeColor - - uid: 201 - components: - - rot: 1.5707963267948966 rad - pos: 2.5,-1.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor -- proto: GasVentPump - entities: - - uid: 182 - components: - - rot: 1.5707963267948966 rad - pos: 0.5,-0.5 - parent: 1 - type: Transform - - color: '#3385FFFF' - type: AtmosPipeColor - - uid: 183 - components: - - rot: 1.5707963267948966 rad - pos: -1.5,1.5 - parent: 1 - type: Transform - - color: '#3385FFFF' - type: AtmosPipeColor - - uid: 184 - components: - - rot: 1.5707963267948966 rad - pos: -1.5,4.5 - parent: 1 - type: Transform - - color: '#3385FFFF' - type: AtmosPipeColor - - uid: 185 - components: - - rot: -1.5707963267948966 rad - pos: 2.5,2.5 - parent: 1 - type: Transform - - color: '#3385FFFF' - type: AtmosPipeColor - - uid: 186 - components: - - pos: 1.5,8.5 - parent: 1 - type: Transform - - color: '#3385FFFF' - type: AtmosPipeColor -- proto: GasVentScrubber - entities: - - uid: 206 - components: - - rot: 3.141592653589793 rad - pos: 1.5,-2.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor - - uid: 207 - components: - - rot: -1.5707963267948966 rad - pos: 2.5,3.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor - - uid: 208 - components: - - rot: 1.5707963267948966 rad - pos: -1.5,5.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor - - uid: 209 - components: - - rot: 1.5707963267948966 rad - pos: -1.5,2.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor - - uid: 210 - components: - - pos: -0.5,8.5 - parent: 1 - type: Transform - - color: '#CC0000FF' - type: AtmosPipeColor -- proto: GeneratorBasic15kW - entities: - - uid: 72 - components: - - pos: -1.5,-3.5 - parent: 1 - type: Transform - - uid: 73 - components: - - pos: 2.5,-3.5 - parent: 1 - type: Transform -- proto: GravityGeneratorMini - entities: - - uid: 151 - components: - - pos: -2.5,-0.5 - parent: 1 - type: Transform -- proto: Grille - entities: - - uid: 49 - components: - - pos: 4.5,2.5 - parent: 1 - type: Transform - - uid: 176 - components: - - rot: 3.141592653589793 rad - pos: -0.5,9.5 - parent: 1 - type: Transform - - uid: 177 - components: - - rot: 3.141592653589793 rad - pos: 0.5,9.5 - parent: 1 - type: Transform - - uid: 178 - components: - - rot: 3.141592653589793 rad - pos: 1.5,9.5 - parent: 1 - type: Transform - - uid: 242 - components: - - pos: -0.5,2.5 - parent: 1 - type: Transform - - uid: 243 - components: - - pos: -0.5,5.5 - parent: 1 - type: Transform -- proto: Gyroscope - entities: - - uid: 152 - components: - - pos: -2.5,-1.5 - parent: 1 - type: Transform -- proto: LockerEvidence - entities: - - uid: 232 - components: - - pos: 2.5,5.5 - parent: 1 - type: Transform - - uid: 233 - components: - - pos: 3.5,5.5 - parent: 1 - type: Transform -- proto: NesCombatEmitterSmall - entities: - - uid: 158 - components: - - rot: 3.141592653589793 rad - pos: -2.5,8.5 - parent: 1 - type: Transform - - links: - - 172 - type: DeviceLinkSink - - uid: 159 - components: - - rot: 3.141592653589793 rad - pos: 3.5,8.5 - parent: 1 - type: Transform - - links: - - 172 - type: DeviceLinkSink -- proto: NesComputerButton - entities: - - uid: 172 - components: - - pos: 0.5,8.5 - parent: 1 - type: Transform - - linkedPorts: - 158: - - Pressed: Toggle - 159: - - Pressed: Toggle - type: DeviceLinkSource - - canCollide: False - type: Physics -- proto: NesThrusterRSY - entities: - - uid: 14 - components: - - pos: 4.5,7.5 - parent: 1 - type: Transform - - uid: 15 - components: - - pos: -3.5,7.5 - parent: 1 - type: Transform - - uid: 16 - components: - - rot: -1.5707963267948966 rad - pos: 4.5,-3.5 - parent: 1 - type: Transform - - uid: 17 - components: - - rot: 1.5707963267948966 rad - pos: -3.5,-3.5 - parent: 1 - type: Transform -- proto: PowerCellRecharger - entities: - - uid: 237 - components: - - pos: 3.5,3.5 - parent: 1 - type: Transform -- proto: Poweredlight - entities: - - uid: 251 - components: - - pos: 2.5,5.5 - parent: 1 - type: Transform - - uid: 252 - components: - - rot: 3.141592653589793 rad - pos: 2.5,1.5 - parent: 1 - type: Transform - - uid: 253 - components: - - rot: 3.141592653589793 rad - pos: 0.5,7.5 - parent: 1 - type: Transform -- proto: PoweredSmallLight - entities: - - uid: 245 - components: - - pos: -2.5,5.5 - parent: 1 - type: Transform - - uid: 246 - components: - - pos: -2.5,2.5 - parent: 1 - type: Transform - - uid: 247 - components: - - pos: -1.5,-0.5 - parent: 1 - type: Transform - - uid: 248 - components: - - pos: 2.5,-0.5 - parent: 1 - type: Transform -- proto: Rack - entities: - - uid: 240 - components: - - pos: 3.5,-1.5 - parent: 1 - type: Transform -- proto: ShuttleWindow - entities: - - uid: 3 - components: - - pos: -0.5,9.5 - parent: 1 - type: Transform - - uid: 4 - components: - - pos: 0.5,9.5 - parent: 1 - type: Transform - - uid: 5 - components: - - pos: 1.5,9.5 - parent: 1 - type: Transform - - uid: 69 - components: - - pos: -0.5,5.5 - parent: 1 - type: Transform - - uid: 70 - components: - - pos: -0.5,2.5 - parent: 1 - type: Transform - - uid: 244 - components: - - pos: 4.5,2.5 - parent: 1 - type: Transform -- proto: SMESBasic - entities: - - uid: 74 - components: - - pos: 0.5,-2.5 - parent: 1 - type: Transform -- proto: SubstationBasic - entities: - - uid: 75 - components: - - pos: 0.5,-1.5 - parent: 1 - type: Transform -- proto: TableReinforced - entities: - - uid: 234 - components: - - pos: 3.5,3.5 - parent: 1 - type: Transform - - uid: 235 - components: - - pos: 3.5,2.5 - parent: 1 - type: Transform - - uid: 236 - components: - - pos: 3.5,1.5 - parent: 1 - type: Transform -- proto: Thruster - entities: - - uid: 12 - components: - - rot: 3.141592653589793 rad - pos: -1.5,-5.5 - parent: 1 - type: Transform - - uid: 13 - components: - - rot: 3.141592653589793 rad - pos: 2.5,-5.5 - parent: 1 - type: Transform -- proto: VendingMachineSustenance - entities: - - uid: 170 - components: - - pos: 0.5,5.5 - parent: 1 - type: Transform -- proto: WallShuttle - entities: - - uid: 2 - components: - - pos: 3.5,0.5 - parent: 1 - type: Transform - - uid: 7 - components: - - pos: 2.5,7.5 - parent: 1 - type: Transform - - uid: 9 - components: - - pos: 2.5,8.5 - parent: 1 - type: Transform - - uid: 10 - components: - - pos: -1.5,7.5 - parent: 1 - type: Transform - - uid: 11 - components: - - pos: -1.5,8.5 - parent: 1 - type: Transform - - uid: 24 - components: - - pos: -2.5,-4.5 - parent: 1 - type: Transform - - uid: 25 - components: - - pos: -1.5,-4.5 - parent: 1 - type: Transform - - uid: 26 - components: - - pos: -0.5,-4.5 - parent: 1 - type: Transform - - uid: 27 - components: - - pos: 0.5,-4.5 - parent: 1 - type: Transform - - uid: 28 - components: - - pos: 1.5,-4.5 - parent: 1 - type: Transform - - uid: 29 - components: - - pos: 2.5,-4.5 - parent: 1 - type: Transform - - uid: 30 - components: - - pos: 3.5,-4.5 - parent: 1 - type: Transform - - uid: 31 - components: - - pos: 3.5,-3.5 - parent: 1 - type: Transform - - uid: 32 - components: - - pos: -2.5,-3.5 - parent: 1 - type: Transform - - uid: 33 - components: - - pos: -3.5,-2.5 - parent: 1 - type: Transform - - uid: 34 - components: - - pos: -3.5,-1.5 - parent: 1 - type: Transform - - uid: 35 - components: - - pos: -3.5,-0.5 - parent: 1 - type: Transform - - uid: 36 - components: - - pos: -3.5,0.5 - parent: 1 - type: Transform - - uid: 37 - components: - - pos: -3.5,1.5 - parent: 1 - type: Transform - - uid: 38 - components: - - pos: -3.5,2.5 - parent: 1 - type: Transform - - uid: 39 - components: - - pos: -3.5,3.5 - parent: 1 - type: Transform - - uid: 40 - components: - - pos: -3.5,4.5 - parent: 1 - type: Transform - - uid: 41 - components: - - pos: -3.5,5.5 - parent: 1 - type: Transform - - uid: 42 - components: - - pos: -3.5,6.5 - parent: 1 - type: Transform - - uid: 45 - components: - - pos: 4.5,6.5 - parent: 1 - type: Transform - - uid: 46 - components: - - pos: 4.5,5.5 - parent: 1 - type: Transform - - uid: 47 - components: - - pos: -1.5,6.5 - parent: 1 - type: Transform - - uid: 48 - components: - - pos: 4.5,3.5 - parent: 1 - type: Transform - - uid: 50 - components: - - pos: 4.5,1.5 - parent: 1 - type: Transform - - uid: 51 - components: - - pos: 4.5,0.5 - parent: 1 - type: Transform - - uid: 52 - components: - - pos: 4.5,-0.5 - parent: 1 - type: Transform - - uid: 53 - components: - - pos: 4.5,-1.5 - parent: 1 - type: Transform - - uid: 54 - components: - - pos: 4.5,-2.5 - parent: 1 - type: Transform - - uid: 55 - components: - - pos: -0.5,6.5 - parent: 1 - type: Transform - - uid: 56 - components: - - pos: 3.5,6.5 - parent: 1 - type: Transform - - uid: 57 - components: - - pos: -2.5,6.5 - parent: 1 - type: Transform - - uid: 58 - components: - - pos: -2.5,-2.5 - parent: 1 - type: Transform - - uid: 59 - components: - - pos: 3.5,-2.5 - parent: 1 - type: Transform - - uid: 60 - components: - - pos: 2.5,6.5 - parent: 1 - type: Transform - - uid: 62 - components: - - pos: 0.5,0.5 - parent: 1 - type: Transform - - uid: 63 - components: - - pos: -1.5,3.5 - parent: 1 - type: Transform - - uid: 64 - components: - - pos: 2.5,0.5 - parent: 1 - type: Transform - - uid: 65 - components: - - pos: -1.5,0.5 - parent: 1 - type: Transform - - uid: 66 - components: - - pos: -2.5,0.5 - parent: 1 - type: Transform - - uid: 67 - components: - - pos: -0.5,3.5 - parent: 1 - type: Transform - - uid: 68 - components: - - pos: -2.5,3.5 - parent: 1 - type: Transform - - uid: 71 - components: - - pos: -0.5,0.5 - parent: 1 - type: Transform - - uid: 76 - components: - - pos: 0.5,6.5 - parent: 1 - type: Transform - - uid: 156 - components: - - pos: -2.5,7.5 - parent: 1 - type: Transform - - uid: 157 - components: - - pos: 3.5,7.5 - parent: 1 - type: Transform -- proto: WallShuttleDiagonal - entities: - - uid: 6 - components: - - rot: -1.5707963267948966 rad - pos: 2.5,9.5 - parent: 1 - type: Transform - - uid: 8 - components: - - pos: -1.5,9.5 - parent: 1 - type: Transform - - uid: 18 - components: - - rot: 3.141592653589793 rad - pos: -0.5,-5.5 - parent: 1 - type: Transform - - uid: 19 - components: - - rot: 1.5707963267948966 rad - pos: -2.5,-5.5 - parent: 1 - type: Transform - - uid: 20 - components: - - rot: 1.5707963267948966 rad - pos: 1.5,-5.5 - parent: 1 - type: Transform - - uid: 21 - components: - - rot: 3.141592653589793 rad - pos: 3.5,-5.5 - parent: 1 - type: Transform - - uid: 22 - components: - - rot: 1.5707963267948966 rad - pos: -3.5,-4.5 - parent: 1 - type: Transform - - uid: 23 - components: - - rot: 3.141592653589793 rad - pos: 4.5,-4.5 - parent: 1 - type: Transform -- proto: WardrobePrisonFilled - entities: - - uid: 168 - components: - - pos: -2.5,1.5 - parent: 1 - type: Transform - - uid: 169 - components: - - pos: -2.5,4.5 - parent: 1 - type: Transform -- proto: WeaponCapacitorRecharger - entities: - - uid: 238 - components: - - pos: 3.5,2.5 - parent: 1 - type: Transform -- proto: WeaponDisabler - entities: - - uid: 239 - components: - - pos: 3.5759718,1.6651497 - parent: 1 + - pos: 2.5,4.5 type: Transform + - name: NT-SEC Орел + type: FaxMachine ... diff --git a/Resources/Prototypes/ADT/Demon/Mobs/Species/demon.yml b/Resources/Prototypes/ADT/Demon/Mobs/Species/demon.yml index 46f08e1deb0..9243d5627a4 100644 --- a/Resources/Prototypes/ADT/Demon/Mobs/Species/demon.yml +++ b/Resources/Prototypes/ADT/Demon/Mobs/Species/demon.yml @@ -16,6 +16,7 @@ netsync: false noRot: true drawdepth: Mobs + - type: Carriable - type: Body prototype: Demon requiredLegs: 2 diff --git a/Resources/Prototypes/ADT/Drask/Mobs/Species/Drask.yml b/Resources/Prototypes/ADT/Drask/Mobs/Species/Drask.yml index 90a454dda25..bb697eee97e 100644 --- a/Resources/Prototypes/ADT/Drask/Mobs/Species/Drask.yml +++ b/Resources/Prototypes/ADT/Drask/Mobs/Species/Drask.yml @@ -16,6 +16,7 @@ state: full - type: Thirst - type: Perishable + - type: Carriable - type: Butcherable butcheringType: Spike spawned: diff --git a/Resources/Prototypes/ADT/Felinid/Sound/speech_emotes.yml b/Resources/Prototypes/ADT/Felinid/Sound/speech_emotes.yml index 8f9da3c4d7a..e1adb027625 100644 --- a/Resources/Prototypes/ADT/Felinid/Sound/speech_emotes.yml +++ b/Resources/Prototypes/ADT/Felinid/Sound/speech_emotes.yml @@ -45,7 +45,7 @@ category: Vocal chatMessages: [growls] chatTriggers: - - рычит + # - рычит - ррр - growl - growls diff --git a/Resources/Prototypes/ADT/Novakid/Body/Organs/novakid.yml b/Resources/Prototypes/ADT/Novakid/Body/Organs/novakid.yml index b872a952dc6..9edfd190d50 100644 --- a/Resources/Prototypes/ADT/Novakid/Body/Organs/novakid.yml +++ b/Resources/Prototypes/ADT/Novakid/Body/Organs/novakid.yml @@ -17,6 +17,29 @@ - type: Metabolizer metabolizerTypes: [ Novakid ] +- type: entity + id: ADTOrganNovakidBrain + parent: OrganHumanBrain + name: brain + description: "The source of incredible, unending intelligence. Honk." + components: + - type: Sprite + sprite: ADT/Mobs/Novakid/organs.rsi + state: brain + - type: Organ + - type: Input + context: "ghost" + - type: Brain + - type: InputMover + - type: Examiner + - type: BlockMovement + - type: BadFood + - type: StaticPrice + price: 1500 + - type: Tag + tags: + - Meat + - type: entity id: OrganNovakidHeart parent: OrganAnimalHeart diff --git a/Resources/Prototypes/ADT/Novakid/Body/Prototypes/novakid.yml b/Resources/Prototypes/ADT/Novakid/Body/Prototypes/novakid.yml index 7013f312679..f471c12bbce 100644 --- a/Resources/Prototypes/ADT/Novakid/Body/Prototypes/novakid.yml +++ b/Resources/Prototypes/ADT/Novakid/Body/Prototypes/novakid.yml @@ -8,7 +8,7 @@ connections: - torso organs: - brain: OrganHumanBrain + brain: ADTOrganNovakidBrain eyes: OrganHumanEyes torso: part: TorsoNovakid diff --git a/Resources/Prototypes/ADT/Tajaran/Entities/Mobs/Species/Tajaran.yml b/Resources/Prototypes/ADT/Tajaran/Entities/Mobs/Species/Tajaran.yml index 72b566b05f8..0302c57ec86 100644 --- a/Resources/Prototypes/ADT/Tajaran/Entities/Mobs/Species/Tajaran.yml +++ b/Resources/Prototypes/ADT/Tajaran/Entities/Mobs/Species/Tajaran.yml @@ -19,6 +19,7 @@ - type: Damageable damageContainer: Biological damageModifierSet: Fur + - type: Carriable - type: MeleeWeapon hidden: true soundHit: diff --git a/Resources/Prototypes/ADT/Vulpkanin/Entities/Mobs/Species/Vulpkanin.yml b/Resources/Prototypes/ADT/Vulpkanin/Entities/Mobs/Species/Vulpkanin.yml index 863d4bfc0cc..2ca6402912e 100644 --- a/Resources/Prototypes/ADT/Vulpkanin/Entities/Mobs/Species/Vulpkanin.yml +++ b/Resources/Prototypes/ADT/Vulpkanin/Entities/Mobs/Species/Vulpkanin.yml @@ -10,9 +10,15 @@ - type: Body prototype: VulpkaninBody requiredLegs: 2 + - type: Carriable - type: RoarAccent - type: Hunger - type: Thirst + - type: Vocal + sounds: + Male: NesMaleVulpa + Female: NesFemaleVulpa + Unsexed: NesFemaleVulpa - type: Icon sprite: Mobs/Species/Vulpkanin/parts.rsi state: vulpkanin_m diff --git a/Resources/Prototypes/Body/Organs/human.yml b/Resources/Prototypes/Body/Organs/human.yml index 4752ed04dea..0f85c00efb4 100644 --- a/Resources/Prototypes/Body/Organs/human.yml +++ b/Resources/Prototypes/Body/Organs/human.yml @@ -43,6 +43,8 @@ - type: Examiner - type: BlockMovement - type: BadFood + - type: StaticPrice + price: 1500 - type: Tag tags: - Meat @@ -53,6 +55,8 @@ name: eyes description: "I see you!" components: + - type: StaticPrice + price: 2200 - type: Sprite layers: - state: eyeball-l @@ -64,6 +68,8 @@ name: tongue description: "A fleshy muscle mostly used for lying." components: + - type: StaticPrice + price: 2000 - type: Sprite state: tongue @@ -84,6 +90,8 @@ name: ears description: "There are three parts to the ear. Inner, middle and outer. Only one of these parts should normally be visible." components: + - type: StaticPrice + price: 1000 - type: Sprite state: ears @@ -98,6 +106,8 @@ - state: lung-l - state: lung-r - type: Lung + - type: StaticPrice + price: 3600 - type: Metabolizer removeEmpty: true solutionOnBody: false @@ -132,6 +142,8 @@ # The heart 'metabolizes' medicines and poisons that aren't filtered out by other organs. # This is done because these chemicals need to have some effect even if they aren't being filtered out of your body. # You're technically 'immune to poison' without a heart, but.. uhh, you'll have bigger problems on your hands. + - type: StaticPrice + price: 3000 - type: Metabolizer maxReagents: 4 metabolizerTypes: [Human] @@ -195,6 +207,8 @@ - state: kidney-l - state: kidney-r # The kidneys just remove anything that doesn't currently have any metabolisms, as a stopgap. + - type: StaticPrice + price: 2000 - type: Metabolizer maxReagents: 5 metabolizerTypes: [Human] diff --git a/Resources/Prototypes/Catalog/Fills/Crates/cargo.yml b/Resources/Prototypes/Catalog/Fills/Crates/cargo.yml index 7f5ace2abac..bff120a5983 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/cargo.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/cargo.yml @@ -15,6 +15,26 @@ #never make a storage fill this large - type: StorageFill contents: + #ADT + - id: MobMothroach + prob: 0.2 + orGroup: Weapons + - id: MobMothroach + prob: 0.2 + orGroup: Clothes + - id: MobMothroach + prob: 0.2 + orGroup: Junk + - id: MobMothroach + prob: 0.2 + orGroup: Canister + - id: MobMothroach + prob: 0.2 + orGroup: Swag + - id: ADTTallRobotMekaJani + prob: 0.01 + orGroup: NotUseful + #Офовский мусор - id: SpaceCash1000000 prob: 0.001 orGroup: Money @@ -136,15 +156,15 @@ - id: ClothingUniformJumpsuitFamilyGuy prob: 0.05 orGroup: Clothes - - id: ClothingOuterHardsuitCBURN - prob: 0.01 - orGroup: Clothes + # - id: ClothingOuterHardsuitCBURN + # prob: 0.01 + # orGroup: Clothes - id: ClothingBackpackERTClown prob: 0.01 orGroup: Clothes - - id: ClothingNeckCloakAdmin - prob: 0.01 - orGroup: Clothes + # - id: ClothingNeckCloakAdmin + # prob: 0.01 + # orGroup: Clothes - id: ClothingOuterFlannelBlue prob: 0.01 orGroup: Clothes @@ -226,7 +246,7 @@ prob: 0.01 orGroup: Plushies - id: PlushieMoth - prob: 0.01 + prob: 0.3 orGroup: Plushies #useful - id: AmeJar @@ -257,7 +277,7 @@ prob: 0.01 orGroup: Useful - id: ToyAmongPequeno - prob: 0.01 + prob: 0.01 orGroup: Useful - id: PenExploding prob: 0.01 @@ -270,7 +290,7 @@ prob: 0.01 orGroup: NotUseful - id: MobLaserRaptor - prob: 0.01 + prob: 0.001 orGroup: NotUseful - id: DrinkNothing prob: 0.01 diff --git a/Resources/Prototypes/Entities/Clothing/Eyes/glasses.yml b/Resources/Prototypes/Entities/Clothing/Eyes/glasses.yml index 5a19bf49414..20f8f82cb7c 100644 --- a/Resources/Prototypes/Entities/Clothing/Eyes/glasses.yml +++ b/Resources/Prototypes/Entities/Clothing/Eyes/glasses.yml @@ -1,5 +1,5 @@ - type: entity - parent: ClothingEyesBase + parent: ClothingEyesGlasses id: ClothingEyesGlassesGar name: gar glasses description: Go beyond impossible and kick reason to the curb! @@ -15,7 +15,7 @@ Blunt: 7 - type: entity - parent: ClothingEyesBase + parent: ClothingEyesGlasses id: ClothingEyesGlassesGarOrange name: orange gar glasses description: Just who the hell do you think I am?! @@ -34,7 +34,7 @@ Blunt: 10 - type: entity - parent: ClothingEyesBase + parent: ClothingEyesGlasses id: ClothingEyesGlassesGarGiga name: giga gar glasses description: We evolve past the person we were a minute before. Little by little we advance with each turn. That's how a drill works! @@ -75,13 +75,74 @@ - type: Clothing sprite: Clothing/Eyes/Glasses/glasses.rsi - type: VisionCorrection + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Glass + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 5 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: GlassBreak + - !type:SpawnEntitiesBehavior + spawn: + ShardGlass: + min: 1 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: DamageOnLand + ignoreResistances: true + damage: + types: + Blunt: 5 + chance: 15 + - type: DamageOtherOnHit + damage: + types: + Blunt: 5 + - type: CollisionWake + enabled: false + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.2,-0.2,0.2,0.2" + hard: false + layer: + - LowImpassable + fix2: + shape: + !type:PhysShapeAabb + bounds: "-0.2,-0.2,0.2,0.2" + density: 30 + mask: + - ItemMask + - type: TriggerOnStepTrigger + - type: StepTrigger + intersectRatio: 0.2 + requiredTriggeredSpeed: 0 + - type: Slippery + slipSound: + path: /Audio/Effects/glass_step.ogg + launchForwardsMultiplier: 0 + paralyzeTime: 0 + - type: DamageOnTrigger + ignoreResistances: true + damage: + types: + Blunt: 5 - type: Tag tags: - HamsterWearable - WhitelistChameleon - + - type: entity - parent: ClothingEyesBase + parent: ClothingEyesGlasses id: ClothingEyesGlassesJensen name: jensen glasses description: A pair of yellow tinted folding glasses. You never asked for these. @@ -95,7 +156,7 @@ - WhitelistChameleon - type: entity - parent: ClothingEyesBase + parent: ClothingEyesGlasses id: ClothingEyesGlassesJamjar name: jamjar glasses description: Also known as Virginity Protectors. @@ -111,7 +172,7 @@ - WhitelistChameleon - type: entity - parent: ClothingEyesBase + parent: ClothingEyesGlasses id: ClothingEyesGlassesOutlawGlasses name: outlaw glasses description: A must for every self-respecting undercover agent. @@ -124,7 +185,7 @@ - type: IdentityBlocker - type: entity - parent: ClothingEyesBase + parent: ClothingEyesGlasses id: ClothingEyesGlassesCosmeticSunglasses name: sun glasses description: A pair of black sunglasses. @@ -147,7 +208,7 @@ protectionTime: 5 - type: entity - parent: ClothingEyesBase + parent: ClothingEyesGlasses id: ClothingEyesGlassesSecurity name: security glasses description: Upgraded sunglasses that provide flash immunity and a security HUD. @@ -170,7 +231,7 @@ - type: ShowSecurityIcons - type: entity - parent: ClothingEyesBase + parent: ClothingEyesGlasses id: ClothingEyesGlassesMercenary name: mercenary glasses description: Glasses made for combat, to protect the eyes from bright blinding flashes. diff --git a/Resources/Prototypes/Entities/Mobs/Species/arachnid.yml b/Resources/Prototypes/Entities/Mobs/Species/arachnid.yml index fad98ced248..0c3dbc558c9 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/arachnid.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/arachnid.yml @@ -21,6 +21,7 @@ productionLength: 2 entityProduced: MaterialWebSilk1 hungerCost: 4 # Should total to 25 total silk on full hunger + - type: Carriable - type: Tag tags: - CanPilot diff --git a/Resources/Prototypes/Entities/Mobs/Species/diona.yml b/Resources/Prototypes/Entities/Mobs/Species/diona.yml index 49849d95d2c..b52f0109165 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/diona.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/diona.yml @@ -17,6 +17,7 @@ - type: Icon sprite: Mobs/Species/Diona/parts.rsi state: full + - type: Carriable - type: Body prototype: Diona requiredLegs: 2 diff --git a/Resources/Prototypes/Entities/Mobs/Species/dwarf.yml b/Resources/Prototypes/Entities/Mobs/Species/dwarf.yml index c6a263a5a98..7bbc836b448 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/dwarf.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/dwarf.yml @@ -25,6 +25,7 @@ noRot: true drawdepth: Mobs scale: 1, 0.8 + - type: Carriable - type: Body prototype: Dwarf requiredLegs: 2 diff --git a/Resources/Prototypes/Entities/Mobs/Species/human.yml b/Resources/Prototypes/Entities/Mobs/Species/human.yml index 0022f10cb87..990e2ea3d64 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/human.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/human.yml @@ -5,6 +5,7 @@ name: Urist McHands abstract: true components: + - type: Carriable - type: Hunger starvationDamage: types: diff --git a/Resources/Prototypes/Entities/Mobs/Species/moth.yml b/Resources/Prototypes/Entities/Mobs/Species/moth.yml index 4e72aafbc38..dd96d45eb03 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/moth.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/moth.yml @@ -16,6 +16,7 @@ - type: Icon sprite: Mobs/Species/Moth/parts.rsi state: full + - type: Carriable - type: Body prototype: Moth requiredLegs: 2 diff --git a/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml b/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml index 92a07cfdff2..12ca365e43b 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml @@ -18,6 +18,7 @@ - type: Icon sprite: Mobs/Species/Reptilian/parts.rsi state: full + - type: Carriable - type: Body prototype: Reptilian requiredLegs: 2 diff --git a/Resources/Prototypes/Entities/Mobs/Species/slime.yml b/Resources/Prototypes/Entities/Mobs/Species/slime.yml index b041441c4cf..d3c1a0e68db 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/slime.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/slime.yml @@ -17,6 +17,7 @@ requiredLegs: 2 - type: HumanoidAppearance species: SlimePerson + - type: Carriable - type: Speech speechVerb: Slime speechSounds: Slime diff --git a/Resources/Prototypes/Entities/Objects/Specific/Mech/mechs.yml b/Resources/Prototypes/Entities/Objects/Specific/Mech/mechs.yml index 637d0b56caf..e7c27f2dc6a 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Mech/mechs.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Mech/mechs.yml @@ -124,6 +124,8 @@ damage: types: Blunt: 14 #intentionally shit so people realize that going into combat with the ripley is usually a bad idea. + - type: StaticPrice + price: 12000 - type: MovementSpeedModifier baseWalkSpeed: 2.25 baseSprintSpeed: 3.6 diff --git a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml index fe7e8e12e6b..92e4a5c0baf 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml @@ -421,6 +421,14 @@ - type: AccessReader access: [["Security", "Command"]] +- type: entity + parent: AirlockExternalGlass + id: AirlockExternalGlassSecurityLocked + suffix: External, Glass, Security, Locked + components: + - type: AccessReader + access: [["Security"]] + - type: entity parent: AirlockCommand id: AirlockEVALocked diff --git a/Resources/Prototypes/NES/Nes_mobs.yml b/Resources/Prototypes/NES/Mobs/Nes_mobs.yml similarity index 100% rename from Resources/Prototypes/NES/Nes_mobs.yml rename to Resources/Prototypes/NES/Mobs/Nes_mobs.yml diff --git a/Resources/Prototypes/NES/Mobs/Nes_vulpkanin_voice.yml b/Resources/Prototypes/NES/Mobs/Nes_vulpkanin_voice.yml new file mode 100644 index 00000000000..7ee4b48f933 --- /dev/null +++ b/Resources/Prototypes/NES/Mobs/Nes_vulpkanin_voice.yml @@ -0,0 +1,182 @@ +#Для звуков и голосов вульпочек + +- type: emote + id: VulpHowl + category: Vocal + chatMessages: [воет] + chatTriggers: + - воет + - воет. + - воет! + +- type: emote + id: VulpWhine + category: Vocal + chatMessages: [скулит] + chatTriggers: + - скул + - скул. + - скул! + - скулит + - скулит. + - скулит! + +- type: emote + id: VulpBark + category: Vocal + chatMessages: [лает] + chatTriggers: + - лает + - лает. + - лает! + - гавкает + - гавкает. + - гавкает! + - гав + - гав. + - гав! + - рявкает + - рявкает. + - рявкает! + +- type: emote + id: VulpGrowl + category: Vocal + chatMessages: [воет] + chatTriggers: + - рычит + - рычит. + - рычит! + +- type: soundCollection + id: NesMaleVulpaScreams + files: + - /Audio/NES/Voice/Vulpakanin/growl1.ogg + - /Audio/NES/Voice/Vulpakanin/growl2.ogg + - /Audio/NES/Voice/Vulpakanin/growl3.ogg + +- type: soundCollection + id: NesFemaleVulpaScreams + files: + - /Audio/NES/Voice/Vulpakanin/scream1.ogg + - /Audio/NES/Voice/Vulpakanin/scream2.ogg + +- type: soundCollection + id: VulpHowls + files: + - /Audio/NES/Voice/Vulpakanin/howl.ogg + +- type: soundCollection + id: VulpBarks + files: + - /Audio/NES/Voice/Vulpakanin/bark.ogg + - /Audio/NES/Voice/Doge/dog_bark1.ogg + - /Audio/NES/Voice/Doge/dog_bark2.ogg + - /Audio/NES/Voice/Doge/dog_bark3.ogg + +- type: soundCollection + id: VulpWhines + files: + - /Audio/NES/Voice/Doge/dog_whine.ogg + +- type: soundCollection + id: VulpGrowls + files: + - /Audio/NES/Voice/Doge/dog_growl1.ogg + - /Audio/NES/Voice/Doge/dog_growl2.ogg + - /Audio/NES/Voice/Doge/dog_growl3.ogg + +- type: speechSounds + id: Vulpa + saySound: + path: /Audio/NES/Voice/Vulpkanin_Talk/vulp.ogg + askSound: + path: /Audio/NES/Voice/Vulpkanin_Talk/vulp_ask.ogg + exclaimSound: + path: /Audio/NES/Voice/Vulpkanin_Talk/vulp_exclaim.ogg + +# Спишс блядь + +- type: emoteSounds + id: NesMaleVulpa + params: + variation: 0.125 + sounds: + Scream: + collection: NesMaleVulpaScreams + Laugh: + collection: MaleLaugh + Sneeze: + collection: MaleSneezes + Cough: + collection: MaleCoughs + CatMeow: + collection: CatMeows + CatHisses: + collection: CatHisses + MonkeyScreeches: + collection: MonkeyScreeches + RobotBeep: + collection: RobotBeeps + Yawn: + collection: MaleYawn + Snore: + collection: Snores + Honk: + collection: BikeHorn + Sigh: + collection: MaleSigh + Crying: + collection: MaleCry + VulpHowl: + collection: VulpHowls + VulpBark: + collection: VulpBarks + VulpGrowl: + collection: VulpGrowls + VulpWhine: + collection: VulpWhines + Whistle: + collection: Whistles + +- type: emoteSounds + id: NesFemaleVulpa + params: + variation: 0.125 + sounds: + Scream: + collection: NesFemaleVulpaScreams + Laugh: + collection: FemaleLaugh + Sneeze: + collection: FemaleSneezes + Cough: + collection: FemaleCoughs + CatMeow: + collection: CatMeows + CatHisses: + collection: CatHisses + MonkeyScreeches: + collection: MonkeyScreeches + RobotBeep: + collection: RobotBeeps + Yawn: + collection: FemaleYawn + Snore: + collection: Snores + Honk: + collection: CluwneHorn + Sigh: + collection: FemaleSigh + Crying: + collection: FemaleCry + VulpHowl: + collection: VulpHowls + VulpBark: + collection: VulpBarks + VulpGrowl: + collection: VulpGrowls + VulpWhine: + collection: VulpWhines + Whistle: + collection: Whistles diff --git a/Resources/Prototypes/NES/Nes_furniture.yml b/Resources/Prototypes/NES/Nes_furniture.yml index d8463a70c17..12969bbdf03 100644 --- a/Resources/Prototypes/NES/Nes_furniture.yml +++ b/Resources/Prototypes/NES/Nes_furniture.yml @@ -63,19 +63,37 @@ #Терминалы - type: entity - parent: BaseComputer + parent: NesPeopleComputerButton id: NesComputerButton - name: боевой терминал взаимодействия + name: боевой терминал description: Терминал для взаимодействия с подключенными к нему устройствами, требует доступ службы безопасности. components: - - type: Clickable - - type: UseDelay - - type: SignalSwitch - clickSound: "/Audio/Machines/beep.ogg" - onPort: Pressed - offPort: Pressed - statusPort: Pressed - delay: 0.5 # prevent light-toggling auto-clickers. + - type: Sprite + layers: + - map: ["computerLayerBody"] + state: computer + - map: ["computerLayerKeyboard"] + state: generic_keyboard + - map: ["computerLayerScreen"] + state: medcomp + color: "#ff5400" + - map: ["computerLayerKeys"] + state: med_key + - type: PointLight + radius: 1.5 + energy: 1.6 + color: "#ff5400" + - type: Lock + locked: true + - type: AccessReader + access: [['Security']] + +- type: entity + parent: NesPeopleComputerButton + id: NesSyndicateComputerButton + name: боевой терминал Синдиката + description: Терминал для взаимодействия с подключенными к нему устройствами, требует доступ мародеров Горлакса. + components: - type: Sprite layers: - map: ["computerLayerBody"] @@ -87,14 +105,6 @@ color: "#ff0000" - map: ["computerLayerKeys"] state: med_key - # - type: Fixtures - - type: DeviceNetwork - deviceNetId: Wireless - - type: WirelessNetworkConnection - range: 200 - - type: DeviceLinkSource - ports: - - Pressed - type: PointLight radius: 1.5 energy: 1.6 @@ -102,12 +112,12 @@ - type: Lock locked: true - type: AccessReader - access: [['Security']] + access: [['NuclearOperative']] - type: entity parent: BaseComputer id: NesPeopleComputerButton - name: терминал взаимодействия + name: терминал description: Терминал для взаимодействия с подключенными к нему устройствами. components: - type: Clickable diff --git a/Resources/Prototypes/NES/Shuttles/Nes_shuttles.yml b/Resources/Prototypes/NES/Shuttles/Nes_shuttles.yml index f7b3f8732c9..7a481c8dba7 100644 --- a/Resources/Prototypes/NES/Shuttles/Nes_shuttles.yml +++ b/Resources/Prototypes/NES/Shuttles/Nes_shuttles.yml @@ -39,7 +39,7 @@ mode: SnapgridCenter - type: entity - id: NesThrusterRSY + id: NesRCS name: двигатель РСУ parent: [ NesBaseOldThruster, ConstructibleMachine ] components: @@ -63,7 +63,7 @@ offset: 0, 1 - type: entity - id: NesOldThrusterRSY + id: NesOldRCS name: старый двигатель РСУ parent: [ NesBaseOldThruster, ConstructibleMachine ] components: @@ -102,6 +102,24 @@ powerLoad: 1500 - type: StaticPrice price: 5000 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 2000 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/metalbreak.ogg + - !type:ExplodeBehavior + - type: Explosive + explosionType: Default + # Same as AME, but numbers still picked from a hat. + maxIntensity: 80 + intensitySlope: 5 + totalIntensity: 300 - type: Sprite sprite: NES/Shuttle/ZETA_thruster.rsi layers: @@ -185,6 +203,8 @@ baseFireBurstDelayMin: 10 baseFireInterval: 0.8 baseFireBurstDelayMax: 15 + - type: Machine + board: NesCombatEmitterCircuitboard - type: Gun showExamineText: false fireRate: 1 #just has to be fast enough to keep up with upgrades @@ -223,29 +243,11 @@ - type: entity id: NesCombatEmitterSmall name: рельсотрон - parent: ConstructibleMachine + parent: NesCombatEmitter description: Рельсотрон, разгоняющий снаряд в стволе до сверх скоростей. Снаряд будучи обычным стержнем на большой скорости может повредить обшивку вражеского корабля. placement: mode: SnapgridCenter components: - - type: Clickable - - type: InteractionOutline - - type: Physics - canCollide: false - bodyType: Static - - type: Fixtures - fixtures: - fix1: - shape: - !type:PhysShapeAabb - bounds: "-0.25,-0.25,0.25,0.25" - density: 400 - mask: - - MachineMask - layer: - - MachineLayer - - type: Transform - anchored: true - type: Sprite sprite: NES/Railguns/mini_railgun.rsi layers: @@ -263,45 +265,46 @@ baseFireBurstDelayMin: 1 baseFireInterval: 0.5 baseFireBurstDelayMax: 1 + - type: Machine + board: NesCombatEmitterSmallCircuitboard - type: Gun - showExamineText: false - fireRate: 1 #just has to be fast enough to keep up with upgrades - selectedMode: FullAuto - availableModes: - - FullAuto + fireRate: 1 soundGunshot: path: /Audio/NES/Canon/Canon2.ogg - - type: PowerConsumer - voltage: Medium - - type: NodeContainer - examinable: true - nodes: - input: - !type:CableDeviceNode - nodeGroupID: MVPower - - type: Anchorable - - type: Pullable - - type: Rotatable - - type: Appearance - - type: Lock - locked: true - - type: AccessReader - access: [['Security']] - - type: DeviceNetwork - deviceNetId: Wireless - receiveFrequencyId: BasicDevice - - type: WirelessNetworkConnection - range: 200 - - type: DeviceLinkSink - ports: - - On - - Off - - Toggle + +- type: entity + id: NesCombatEmitterCircuitboard + parent: BaseMachineCircuitboard + name: тяжелый рельсотрон (машинная плата) + components: + - type: MachineBoard + prototype: NesCombatEmitter + requirements: + Capacitor: 6 + Manipulator: 4 + materialRequirements: + CableHV: 12 + Steel: 5 + Plasteel: 20 + +- type: entity + id: NesCombatEmitterSmallCircuitboard + parent: BaseMachineCircuitboard + name: рельсотрон (машинная плата) + components: + - type: MachineBoard + prototype: NesCombatEmitterSmall + requirements: + Capacitor: 4 + Manipulator: 2 + materialRequirements: + CableHV: 10 + Steel: 10 - type: entity id: NesMiniGyroscope name: гироскоп истребителя #Для маленьких шаттлов - parent: [ BaseThruster, ConstructibleMachine ] + parent: Gyroscope components: - type: Thruster thrusterType: Angular @@ -309,31 +312,6 @@ baseThrust: 300 thrust: 300 machinePartThrust: Manipulator - - type: Sprite - sprite: Structures/Shuttles/gyroscope.rsi - snapCardinals: true - layers: - - state: base - map: ["enum.ThrusterVisualLayers.Base"] - - state: thrust - map: ["enum.ThrusterVisualLayers.ThrustOn"] - shader: unshaded - visible: false - - state: thrust_burn - map: [ "enum.ThrusterVisualLayers.Thrusting" ] - visible: false - - state: thrust_burn_unshaded - map: ["enum.ThrusterVisualLayers.ThrustingUnshaded"] - shader: unshaded - visible: false - - type: PointLight - radius: 1.3 - energy: 0.8 - enabled: false - mask: /Textures/Effects/LightMasks/cone.png - autoRot: true - offset: "0, 0.1" # shine from the top, not bottom of the computer - color: "#4246b3" - type: Machine board: GyroscopeMachineCircuitboard - type: UpgradePowerDraw diff --git a/Resources/Textures/ADT/Mobs/Novakid/organs.rsi/brain.png b/Resources/Textures/ADT/Mobs/Novakid/organs.rsi/brain.png new file mode 100644 index 00000000000..8759df848a1 Binary files /dev/null and b/Resources/Textures/ADT/Mobs/Novakid/organs.rsi/brain.png differ diff --git a/Resources/Textures/ADT/Mobs/Novakid/organs.rsi/meta.json b/Resources/Textures/ADT/Mobs/Novakid/organs.rsi/meta.json new file mode 100644 index 00000000000..9fb39cb8327 --- /dev/null +++ b/Resources/Textures/ADT/Mobs/Novakid/organs.rsi/meta.json @@ -0,0 +1,23 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation and cev-eris at https://github.com/tgstation/tgstation/commit/c4b7f3c41b6742aca260fe60cc358a778ba9b8c8 and https://github.com/discordia-space/CEV-Eris/commit/476e374cea95ff5e8b1603c48342bf700e2cd7af", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "brain", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + } + ] +} diff --git a/Scripts/bat/buildAllDebug.bat b/Scripts/bat/buildAllDebug.bat new file mode 100644 index 00000000000..17415a48a02 --- /dev/null +++ b/Scripts/bat/buildAllDebug.bat @@ -0,0 +1,6 @@ +@echo off +cd ../../ +call python RUN_THIS.py +call git submodule update --init --recursive +call dotnet build -c Debug +pause diff --git a/Scripts/bat/buildAllRelease.bat b/Scripts/bat/buildAllRelease.bat new file mode 100644 index 00000000000..485492ed069 --- /dev/null +++ b/Scripts/bat/buildAllRelease.bat @@ -0,0 +1,6 @@ +@echo off +cd ../../ +call python RUN_THIS.py +call git submodule update --init --recursive +call dotnet build -c Release +pause diff --git a/Scripts/bat/runQuickAll.bat b/Scripts/bat/runQuickAll.bat new file mode 100644 index 00000000000..c2d34380942 --- /dev/null +++ b/Scripts/bat/runQuickAll.bat @@ -0,0 +1,4 @@ +@echo off +start runQuickServer.bat %* +start runQuickClient.bat %* +exit diff --git a/Scripts/bat/runQuickClient.bat b/Scripts/bat/runQuickClient.bat new file mode 100644 index 00000000000..16e02d0ada5 --- /dev/null +++ b/Scripts/bat/runQuickClient.bat @@ -0,0 +1,4 @@ +@echo off +cd ../../ +call dotnet run --project Content.Client --no-build %* +pause diff --git a/Scripts/bat/runQuickServer.bat b/Scripts/bat/runQuickServer.bat new file mode 100644 index 00000000000..602d33663a9 --- /dev/null +++ b/Scripts/bat/runQuickServer.bat @@ -0,0 +1,4 @@ +@echo off +cd ../../ +call dotnet run --project Content.Server --no-build %* +pause diff --git a/Scripts/bat/runTestsIntegration.bat b/Scripts/bat/runTestsIntegration.bat new file mode 100644 index 00000000000..100cbf8348a --- /dev/null +++ b/Scripts/bat/runTestsIntegration.bat @@ -0,0 +1,14 @@ +cd ..\..\ + +dotnet restore +dotnet build --configuration DebugOpt --no-restore /p:WarningsAsErrors=nullable /m + +mkdir Scripts\logs + +del Scripts\logs\Content.Tests.log +dotnet test --no-build --configuration DebugOpt Content.Tests/Content.Tests.csproj -- NUnit.ConsoleOut=0 > Scripts\logs\Content.Tests.log + +del Scripts\logs\Content.IntegrationTests.log +dotnet test --no-build --configuration DebugOpt Content.IntegrationTests/Content.IntegrationTests.csproj -- NUnit.ConsoleOut=0 NUnit.MapWarningTo=Failed > Scripts\logs\Content.IntegrationTests.log + +pause diff --git a/Scripts/bat/runTestsYAML.bat b/Scripts/bat/runTestsYAML.bat new file mode 100644 index 00000000000..eaee34aab08 --- /dev/null +++ b/Scripts/bat/runTestsYAML.bat @@ -0,0 +1,10 @@ +cd ..\..\ + +dotnet restore +dotnet build --configuration DebugOpt --no-restore /p:WarningsAsErrors=nullable /m + +mkdir Scripts\logs +del Scripts\logs\Content.YAMLLinter.log +dotnet run --project Content.YAMLLinter/Content.YAMLLinter.csproj --no-build -- NUnit.ConsoleOut=0 > Scripts\logs\Content.YAMLLinter.log + +pause diff --git a/Scripts/sh/buildAllDebug.sh b/Scripts/sh/buildAllDebug.sh new file mode 100644 index 00000000000..9e51c52d95e --- /dev/null +++ b/Scripts/sh/buildAllDebug.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env sh + +# make sure to start from script dir +if [ "$(dirname $0)" != "." ]; then + cd "$(dirname $0)" +fi + +cd ../../ + +python RUN_THIS.py +git submodule update --init --recursive +dotnet build -c Debug diff --git a/Scripts/sh/buildAllRelease.sh b/Scripts/sh/buildAllRelease.sh new file mode 100644 index 00000000000..d67628d1f19 --- /dev/null +++ b/Scripts/sh/buildAllRelease.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env sh + +# make sure to start from script dir +if [ "$(dirname $0)" != "." ]; then + cd "$(dirname $0)" +fi + +cd ../../ + +python RUN_THIS.py +git submodule update --init --recursive +dotnet build -c Release diff --git a/Scripts/sh/runQuickAll.sh b/Scripts/sh/runQuickAll.sh new file mode 100644 index 00000000000..49eb5ab8d22 --- /dev/null +++ b/Scripts/sh/runQuickAll.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env sh + +# make sure to start from script dir +if [ "$(dirname $0)" != "." ]; then + cd "$(dirname $0)" +fi + +sh -e runQuickServer.sh & +sh -e runQuickClient.sh + +exit diff --git a/Scripts/sh/runQuickClient.sh b/Scripts/sh/runQuickClient.sh new file mode 100644 index 00000000000..080c78f27ca --- /dev/null +++ b/Scripts/sh/runQuickClient.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh + +# make sure to start from script dir +if [ "$(dirname $0)" != "." ]; then + cd "$(dirname $0)" +fi + +cd ../../ +dotnet run --project Content.Client --no-build diff --git a/Scripts/sh/runQuickServer.sh b/Scripts/sh/runQuickServer.sh new file mode 100644 index 00000000000..b264ff6fc7b --- /dev/null +++ b/Scripts/sh/runQuickServer.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh + +# make sure to start from script dir +if [ "$(dirname $0)" != "." ]; then + cd "$(dirname $0)" +fi + +cd ../../ +dotnet run --project Content.Server --no-build diff --git a/Scripts/sh/runTestsIntegration.sh b/Scripts/sh/runTestsIntegration.sh new file mode 100644 index 00000000000..327e5153003 --- /dev/null +++ b/Scripts/sh/runTestsIntegration.sh @@ -0,0 +1,15 @@ +cd ../../ + +dotnet restore +dotnet build --configuration DebugOpt --no-restore /p:WarningsAsErrors=nullable /m + +mkdir Scripts/logs + +rm Scripts/logs/Content.Tests.log +dotnet test --no-build --configuration DebugOpt Content.Tests/Content.Tests.csproj -- NUnit.ConsoleOut=0 > Scripts/logs/Content.Tests.log + +rm Scripts/logs/Content.IntegrationTests.log +dotnet test --no-build --configuration DebugOpt Content.IntegrationTests/Content.IntegrationTests.csproj -- NUnit.ConsoleOut=0 NUnit.MapWarningTo=Failed > Scripts/logs/Content.IntegrationTests.log + +echo "Tests complete. Press enter to continue." +read diff --git a/Scripts/sh/runTestsYAML.sh b/Scripts/sh/runTestsYAML.sh new file mode 100644 index 00000000000..606540bdde7 --- /dev/null +++ b/Scripts/sh/runTestsYAML.sh @@ -0,0 +1,11 @@ +cd ../../ + +dotnet restore +dotnet build --configuration DebugOpt --no-restore /p:WarningsAsErrors=nullable /m + +mkdir Scripts/logs +rm Scripts/logs/Content.YAMLLinter.log +dotnet run --project Content.YAMLLinter/Content.YAMLLinter.csproj --no-build -- NUnit.ConsoleOut=0 > Scripts/logs/Content.YAMLLinter.log + +echo "Tests complete. Press enter to continue." +read