diff --git a/Content.Client/Entry/EntryPoint.cs b/Content.Client/Entry/EntryPoint.cs index 3acc4ab18002e4..fe7778e52a3bfd 100644 --- a/Content.Client/Entry/EntryPoint.cs +++ b/Content.Client/Entry/EntryPoint.cs @@ -107,7 +107,6 @@ public override void Init() _prototypeManager.RegisterIgnore("gameMapPool"); _prototypeManager.RegisterIgnore("npcFaction"); _prototypeManager.RegisterIgnore("lobbyBackground"); - _prototypeManager.RegisterIgnore("advertisementsPack"); _prototypeManager.RegisterIgnore("gamePreset"); _prototypeManager.RegisterIgnore("noiseChannel"); _prototypeManager.RegisterIgnore("spaceBiome"); diff --git a/Content.Server/Advertise/AdvertiseComponent.cs b/Content.Server/Advertise/AdvertiseComponent.cs deleted file mode 100644 index f36cc7ae1e635c..00000000000000 --- a/Content.Server/Advertise/AdvertiseComponent.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Content.Server.Advertisements; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; - -namespace Content.Server.Advertise -{ - [RegisterComponent, Access(typeof(AdvertiseSystem))] - public sealed partial class AdvertiseComponent : Component - { - /// - /// Minimum time in seconds to wait before saying a new ad, in seconds. Has to be larger than or equal to 1. - /// - [ViewVariables(VVAccess.ReadWrite)] - [DataField("minWait")] - public int MinimumWait { get; private set; } = 8 * 60; - - /// - /// Maximum time in seconds to wait before saying a new ad, in seconds. Has to be larger than or equal - /// to - /// - [ViewVariables(VVAccess.ReadWrite)] - [DataField("maxWait")] - public int MaximumWait { get; private set; } = 10 * 60; - - /// - /// The identifier for the advertisements pack prototype. - /// - [DataField("pack", customTypeSerializer:typeof(PrototypeIdSerializer), required: true)] - public string PackPrototypeId { get; private set; } = string.Empty; - - /// - /// The next time an advertisement will be said. - /// - [ViewVariables(VVAccess.ReadWrite)] - public TimeSpan NextAdvertisementTime { get; set; } = TimeSpan.Zero; - - /// - /// Whether the entity will say advertisements or not. - /// - [ViewVariables(VVAccess.ReadWrite)] - public bool Enabled { get; set; } = true; - } -} diff --git a/Content.Server/Advertise/AdvertiseSystem.cs b/Content.Server/Advertise/AdvertiseSystem.cs deleted file mode 100644 index ab538f3c77995b..00000000000000 --- a/Content.Server/Advertise/AdvertiseSystem.cs +++ /dev/null @@ -1,154 +0,0 @@ -using Content.Server.Advertisements; -using Content.Server.Chat.Systems; -using Content.Server.Power.Components; -using Content.Shared.VendingMachines; -using Robust.Shared.Prototypes; -using Robust.Shared.Random; -using Robust.Shared.Timing; - -namespace Content.Server.Advertise -{ - public sealed class AdvertiseSystem : EntitySystem - { - [Dependency] private readonly IPrototypeManager _prototypeManager = default!; - [Dependency] private readonly IRobustRandom _random = default!; - [Dependency] private readonly IGameTiming _gameTiming = default!; - [Dependency] private readonly ChatSystem _chat = default!; - - /// - /// The maximum amount of time between checking if advertisements should be displayed - /// - private readonly TimeSpan _maximumNextCheckDuration = TimeSpan.FromSeconds(15); - - /// - /// The next time the game will check if advertisements should be displayed - /// - private TimeSpan _nextCheckTime = TimeSpan.MaxValue; - - public override void Initialize() - { - SubscribeLocalEvent(OnComponentInit); - SubscribeLocalEvent(OnPowerChanged); - - SubscribeLocalEvent(OnPowerReceiverEnableChangeAttempt); - SubscribeLocalEvent(OnVendingEnableChangeAttempt); - - // The component inits will lower this. - _nextCheckTime = TimeSpan.MaxValue; - } - - private void OnComponentInit(EntityUid uid, AdvertiseComponent advertise, ComponentInit args) - { - RefreshTimer(uid, advertise); - } - - private void OnPowerChanged(EntityUid uid, AdvertiseComponent advertise, ref PowerChangedEvent args) - { - SetEnabled(uid, args.Powered, advertise); - } - - public void RefreshTimer(EntityUid uid, AdvertiseComponent? advertise = null) - { - if (!Resolve(uid, ref advertise)) - return; - - if (!advertise.Enabled) - return; - - var minDuration = Math.Max(1, advertise.MinimumWait); - var maxDuration = Math.Max(minDuration, advertise.MaximumWait); - var waitDuration = TimeSpan.FromSeconds(_random.Next(minDuration, maxDuration)); - var nextTime = _gameTiming.CurTime + waitDuration; - - advertise.NextAdvertisementTime = nextTime; - - _nextCheckTime = MathHelper.Min(nextTime, _nextCheckTime); - } - - public void SayAdvertisement(EntityUid uid, AdvertiseComponent? advertise = null) - { - if (!Resolve(uid, ref advertise)) - return; - - if (_prototypeManager.TryIndex(advertise.PackPrototypeId, out AdvertisementsPackPrototype? advertisements)) - _chat.TrySendInGameICMessage(uid, Loc.GetString(_random.Pick(advertisements.Advertisements)), InGameICChatType.Speak, true); - } - - public void SayThankYou(EntityUid uid, AdvertiseComponent? advertise = null) - { - if (!Resolve(uid, ref advertise)) - return; - - if (_prototypeManager.TryIndex(advertise.PackPrototypeId, out AdvertisementsPackPrototype? advertisements)) - { - _chat.TrySendInGameICMessage(uid, Loc.GetString(_random.Pick(advertisements.ThankYous), ("name", Name(uid))), InGameICChatType.Speak, true); - } - } - - public void SetEnabled(EntityUid uid, bool enable, AdvertiseComponent? advertise = null) - { - if (!Resolve(uid, ref advertise)) - return; - - if (advertise.Enabled == enable) - return; - - var attemptEvent = new AdvertiseEnableChangeAttemptEvent(enable); - RaiseLocalEvent(uid, attemptEvent); - - if (attemptEvent.Cancelled) - return; - - advertise.Enabled = enable; - RefreshTimer(uid, advertise); - } - - private static void OnPowerReceiverEnableChangeAttempt(EntityUid uid, ApcPowerReceiverComponent component, AdvertiseEnableChangeAttemptEvent args) - { - if(args.Enabling && !component.Powered) - args.Cancel(); - } - - private static void OnVendingEnableChangeAttempt(EntityUid uid, VendingMachineComponent component, AdvertiseEnableChangeAttemptEvent args) - { - if(args.Enabling && component.Broken) - args.Cancel(); - } - - public override void Update(float frameTime) - { - var curTime = _gameTiming.CurTime; - if (_nextCheckTime > curTime) - return; - - _nextCheckTime = curTime + _maximumNextCheckDuration; - - var query = EntityQueryEnumerator(); - while (query.MoveNext(out var uid, out var advert)) - { - if (!advert.Enabled) - continue; - - // If this isn't advertising yet - if (advert.NextAdvertisementTime > curTime) - { - _nextCheckTime = MathHelper.Min(advert.NextAdvertisementTime, _nextCheckTime); - continue; - } - - SayAdvertisement(uid, advert); - RefreshTimer(uid, advert); - } - } - } - - public sealed class AdvertiseEnableChangeAttemptEvent : CancellableEntityEventArgs - { - public bool Enabling { get; } - - public AdvertiseEnableChangeAttemptEvent(bool enabling) - { - Enabling = enabling; - } - } -} diff --git a/Content.Server/Advertise/Components/AdvertiseComponent.cs b/Content.Server/Advertise/Components/AdvertiseComponent.cs new file mode 100644 index 00000000000000..140bc6b902a710 --- /dev/null +++ b/Content.Server/Advertise/Components/AdvertiseComponent.cs @@ -0,0 +1,45 @@ +using Content.Server.Advertise.EntitySystems; +using Content.Shared.Advertise; +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; + +namespace Content.Server.Advertise.Components; + +/// +/// Makes this entity periodically advertise by speaking a randomly selected +/// message from a specified MessagePack into local chat. +/// +[RegisterComponent, Access(typeof(AdvertiseSystem))] +public sealed partial class AdvertiseComponent : Component +{ + /// + /// Minimum time in seconds to wait before saying a new ad, in seconds. Has to be larger than or equal to 1. + /// + [DataField] + public int MinimumWait { get; private set; } = 8 * 60; + + /// + /// Maximum time in seconds to wait before saying a new ad, in seconds. Has to be larger than or equal + /// to + /// + [DataField] + public int MaximumWait { get; private set; } = 10 * 60; + + /// + /// The identifier for the advertisements pack prototype. + /// + [DataField(required: true)] + public ProtoId Pack { get; private set; } + + /// + /// The next time an advertisement will be said. + /// + [DataField] + public TimeSpan NextAdvertisementTime { get; set; } = TimeSpan.Zero; + + /// + /// Whether the entity will say advertisements or not. + /// + [DataField] + public bool Enabled { get; set; } = true; +} diff --git a/Content.Server/Advertise/Components/SpeakOnUIClosedComponent.cs b/Content.Server/Advertise/Components/SpeakOnUIClosedComponent.cs new file mode 100644 index 00000000000000..2a663b7f89db8c --- /dev/null +++ b/Content.Server/Advertise/Components/SpeakOnUIClosedComponent.cs @@ -0,0 +1,36 @@ +using Content.Shared.Advertise; +using Robust.Shared.Prototypes; + +namespace Content.Server.Advertise.Components; + +/// +/// Causes the entity to speak using the Chat system when its ActivatableUI is closed, optionally +/// requiring that a Flag be set as well. +/// +[RegisterComponent, Access(typeof(SpeakOnUIClosedSystem))] +public sealed partial class SpeakOnUIClosedComponent : Component +{ + /// + /// The identifier for the message pack prototype containing messages to be spoken by this entity. + /// + [DataField(required: true)] + public ProtoId Pack { get; private set; } + + /// + /// Is this component active? If false, no messages will be spoken. + /// + [DataField] + public bool Enabled = true; + + /// + /// Should messages be spoken only if the is set (true), or every time the UI is closed (false)? + /// + [DataField] + public bool RequireFlag = true; + + /// + /// State variable only used if is true. Set with . + /// + [DataField] + public bool Flag; +} diff --git a/Content.Server/Advertise/EntitySystems/AdvertiseSystem.cs b/Content.Server/Advertise/EntitySystems/AdvertiseSystem.cs new file mode 100644 index 00000000000000..bb254d11ef0be5 --- /dev/null +++ b/Content.Server/Advertise/EntitySystems/AdvertiseSystem.cs @@ -0,0 +1,137 @@ +using Content.Server.Advertise.Components; +using Content.Server.Chat.Systems; +using Content.Server.Power.Components; +using Content.Shared.VendingMachines; +using Robust.Shared.Prototypes; +using Robust.Shared.Random; +using Robust.Shared.Timing; + +namespace Content.Server.Advertise.EntitySystems; + +public sealed class AdvertiseSystem : EntitySystem +{ + [Dependency] private readonly IPrototypeManager _prototypeManager = default!; + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly IGameTiming _gameTiming = default!; + [Dependency] private readonly ChatSystem _chat = default!; + + /// + /// The maximum amount of time between checking if advertisements should be displayed + /// + private readonly TimeSpan _maximumNextCheckDuration = TimeSpan.FromSeconds(15); + + /// + /// The next time the game will check if advertisements should be displayed + /// + private TimeSpan _nextCheckTime = TimeSpan.MaxValue; + + public override void Initialize() + { + SubscribeLocalEvent(OnMapInit); + SubscribeLocalEvent(OnPowerChanged); + + SubscribeLocalEvent(OnPowerReceiverEnableChangeAttempt); + SubscribeLocalEvent(OnVendingEnableChangeAttempt); + + // The component inits will lower this. + _nextCheckTime = TimeSpan.MaxValue; + } + + private void OnMapInit(EntityUid uid, AdvertiseComponent advertise, MapInitEvent args) + { + RefreshTimer(uid, advertise); + } + + private void OnPowerChanged(EntityUid uid, AdvertiseComponent advertise, ref PowerChangedEvent args) + { + SetEnabled(uid, args.Powered, advertise); + } + + public void RefreshTimer(EntityUid uid, AdvertiseComponent? advertise = null) + { + if (!Resolve(uid, ref advertise)) + return; + + if (!advertise.Enabled) + return; + + var minDuration = Math.Max(1, advertise.MinimumWait); + var maxDuration = Math.Max(minDuration, advertise.MaximumWait); + var waitDuration = TimeSpan.FromSeconds(_random.Next(minDuration, maxDuration)); + var nextTime = _gameTiming.CurTime + waitDuration; + + advertise.NextAdvertisementTime = nextTime; + + _nextCheckTime = MathHelper.Min(nextTime, _nextCheckTime); + } + + public void SayAdvertisement(EntityUid uid, AdvertiseComponent? advertise = null) + { + if (!Resolve(uid, ref advertise)) + return; + + if (_prototypeManager.TryIndex(advertise.Pack, out var advertisements)) + _chat.TrySendInGameICMessage(uid, Loc.GetString(_random.Pick(advertisements.Messages)), InGameICChatType.Speak, hideChat: true); + } + + public void SetEnabled(EntityUid uid, bool enable, AdvertiseComponent? advertise = null) + { + if (!Resolve(uid, ref advertise)) + return; + + if (advertise.Enabled == enable) + return; + + var attemptEvent = new AdvertiseEnableChangeAttemptEvent(enable); + RaiseLocalEvent(uid, attemptEvent); + + if (attemptEvent.Cancelled) + return; + + advertise.Enabled = enable; + RefreshTimer(uid, advertise); + } + + private static void OnPowerReceiverEnableChangeAttempt(EntityUid uid, ApcPowerReceiverComponent component, AdvertiseEnableChangeAttemptEvent args) + { + if (args.Enabling && !component.Powered) + args.Cancel(); + } + + private static void OnVendingEnableChangeAttempt(EntityUid uid, VendingMachineComponent component, AdvertiseEnableChangeAttemptEvent args) + { + if (args.Enabling && component.Broken) + args.Cancel(); + } + + public override void Update(float frameTime) + { + var curTime = _gameTiming.CurTime; + if (_nextCheckTime > curTime) + return; + + _nextCheckTime = curTime + _maximumNextCheckDuration; + + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out var advert)) + { + if (!advert.Enabled) + continue; + + // If this isn't advertising yet + if (advert.NextAdvertisementTime > curTime) + { + _nextCheckTime = MathHelper.Min(advert.NextAdvertisementTime, _nextCheckTime); + continue; + } + + SayAdvertisement(uid, advert); + RefreshTimer(uid, advert); + } + } +} + +public sealed class AdvertiseEnableChangeAttemptEvent(bool enabling) : CancellableEntityEventArgs +{ + public bool Enabling { get; } = enabling; +} diff --git a/Content.Server/Advertise/EntitySystems/SpeakOnUIClosedSystem.cs b/Content.Server/Advertise/EntitySystems/SpeakOnUIClosedSystem.cs new file mode 100644 index 00000000000000..048f59b8d33b7c --- /dev/null +++ b/Content.Server/Advertise/EntitySystems/SpeakOnUIClosedSystem.cs @@ -0,0 +1,58 @@ +using Content.Server.Advertise.Components; +using Content.Server.Chat.Systems; +using Content.Server.UserInterface; +using Content.Shared.Advertise; +using Robust.Shared.Prototypes; +using Robust.Shared.Random; + +namespace Content.Server.Advertise; + +public sealed partial class SpeakOnUIClosedSystem : EntitySystem +{ + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly IPrototypeManager _prototypeManager = default!; + [Dependency] private readonly ChatSystem _chat = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnBoundUIClosed); + } + private void OnBoundUIClosed(Entity entity, ref BoundUIClosedEvent args) + { + if (!TryComp(entity, out ActivatableUIComponent? activatable) || !args.UiKey.Equals(activatable.Key)) + return; + + if (entity.Comp.RequireFlag && !entity.Comp.Flag) + return; + + TrySpeak((entity, entity.Comp)); + } + + public bool TrySpeak(Entity entity) + { + if (!Resolve(entity, ref entity.Comp)) + return false; + + if (!entity.Comp.Enabled) + return false; + + if (!_prototypeManager.TryIndex(entity.Comp.Pack, out MessagePackPrototype? messagePack)) + return false; + + var message = Loc.GetString(_random.Pick(messagePack.Messages), ("name", Name(entity))); + _chat.TrySendInGameICMessage(entity, message, InGameICChatType.Speak, true); + entity.Comp.Flag = false; + return true; + } + + public bool TrySetFlag(Entity entity, bool value = true) + { + if (!Resolve(entity, ref entity.Comp)) + return false; + + entity.Comp.Flag = value; + return true; + } +} diff --git a/Content.Server/Advertisements/AdvertisementsPackPrototype.cs b/Content.Server/Advertisements/AdvertisementsPackPrototype.cs deleted file mode 100644 index 641ab3c56fd46c..00000000000000 --- a/Content.Server/Advertisements/AdvertisementsPackPrototype.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Robust.Shared.Prototypes; - -namespace Content.Server.Advertisements -{ - [Serializable, Prototype("advertisementsPack")] - public sealed partial class AdvertisementsPackPrototype : IPrototype - { - [ViewVariables] - [IdDataField] - public string ID { get; private set; } = default!; - - [DataField("advertisements")] - public List Advertisements { get; private set; } = new(); - - [DataField("thankyous")] - public List ThankYous { get; private set; } = new(); - } -} diff --git a/Content.Server/VendingMachines/VendingMachineSystem.cs b/Content.Server/VendingMachines/VendingMachineSystem.cs index 9443b0b3948aa2..7bc98529250454 100644 --- a/Content.Server/VendingMachines/VendingMachineSystem.cs +++ b/Content.Server/VendingMachines/VendingMachineSystem.cs @@ -1,12 +1,11 @@ using System.Linq; using System.Numerics; using Content.Server.Advertise; +using Content.Server.Advertise.Components; using Content.Server.Cargo.Systems; -using Content.Server.Chat.Systems; using Content.Server.Emp; using Content.Server.Power.Components; using Content.Server.Power.EntitySystems; -using Content.Server.UserInterface; using Content.Shared.Access.Components; using Content.Shared.Access.Systems; using Content.Shared.Actions; @@ -25,7 +24,6 @@ using Robust.Shared.Prototypes; using Robust.Shared.Random; using Robust.Shared.Timing; -using Robust.Shared.Utility; namespace Content.Server.VendingMachines { @@ -39,7 +37,7 @@ public sealed class VendingMachineSystem : SharedVendingMachineSystem [Dependency] private readonly ThrowingSystem _throwingSystem = default!; [Dependency] private readonly UserInterfaceSystem _userInterfaceSystem = default!; [Dependency] private readonly IGameTiming _timing = default!; - [Dependency] private readonly AdvertiseSystem _advertise = default!; + [Dependency] private readonly SpeakOnUIClosedSystem _speakOnUIClosed = default!; private ISawmill _sawmill = default!; @@ -61,7 +59,6 @@ public override void Initialize() Subs.BuiEvents(VendingMachineUiKey.Key, subs => { subs.Event(OnBoundUIOpened); - subs.Event(OnBoundUIClosed); subs.Event(OnInventoryEjectMessage); }); @@ -117,16 +114,6 @@ private void OnBoundUIOpened(EntityUid uid, VendingMachineComponent component, B UpdateVendingMachineInterfaceState(uid, component); } - private void OnBoundUIClosed(EntityUid uid, VendingMachineComponent component, BoundUIClosedEvent args) - { - // Only vendors that advertise will send message after dispensing - if (component.ShouldSayThankYou && TryComp(uid, out var advertise)) - { - _advertise.SayThankYou(uid, advertise); - component.ShouldSayThankYou = false; - } - } - private void UpdateVendingMachineInterfaceState(EntityUid uid, VendingMachineComponent component) { var state = new VendingMachineInterfaceState(GetAllInventory(uid, component)); @@ -297,7 +284,10 @@ public void TryEjectVendorItem(EntityUid uid, InventoryType type, string itemId, vendComponent.Ejecting = true; vendComponent.NextItemToEject = entry.ID; vendComponent.ThrowNextItem = throwItem; - vendComponent.ShouldSayThankYou = true; + + if (TryComp(uid, out SpeakOnUIClosedComponent? speakComponent)) + _speakOnUIClosed.TrySetFlag((uid, speakComponent)); + entry.Amount--; UpdateVendingMachineInterfaceState(uid, vendComponent); TryUpdateVisualState(uid, vendComponent); diff --git a/Content.Shared/Advertise/MessagePackPrototype.cs b/Content.Shared/Advertise/MessagePackPrototype.cs new file mode 100644 index 00000000000000..f7495d7e468e30 --- /dev/null +++ b/Content.Shared/Advertise/MessagePackPrototype.cs @@ -0,0 +1,14 @@ +using Robust.Shared.Prototypes; + +namespace Content.Shared.Advertise; + +[Serializable, Prototype("messagePack")] +public sealed partial class MessagePackPrototype : IPrototype +{ + [ViewVariables] + [IdDataField] + public string ID { get; private set; } = default!; + + [DataField] + public List Messages { get; private set; } = []; +} diff --git a/Content.Shared/VendingMachines/VendingMachineComponent.cs b/Content.Shared/VendingMachines/VendingMachineComponent.cs index a7c8ae299ad585..7d474feca9b7e4 100644 --- a/Content.Shared/VendingMachines/VendingMachineComponent.cs +++ b/Content.Shared/VendingMachines/VendingMachineComponent.cs @@ -51,8 +51,6 @@ public sealed partial class VendingMachineComponent : Component public bool Broken; - public bool ShouldSayThankYou; - /// /// When true, will forcefully throw any object it dispenses /// diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/ammo.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/ammo.yml index 6038134ea163d4..7e089a282595f4 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/ammo.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/ammo.yml @@ -1,6 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: AmmoVendAds - advertisements: + messages: - advertisement-ammo-1 - advertisement-ammo-2 - advertisement-ammo-3 @@ -11,5 +11,3 @@ - advertisement-ammo-8 - advertisement-ammo-9 - advertisement-ammo-10 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/atmosdrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/atmosdrobe.yml index c5737d58bffeaa..7946c0631027e6 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/atmosdrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/atmosdrobe.yml @@ -1,8 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: AtmosDrobeAds - advertisements: + messages: - advertisement-atmosdrobe-1 - advertisement-atmosdrobe-2 - advertisement-atmosdrobe-3 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/bardrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/bardrobe.yml index 84501583d76668..0a21acf2cb5b45 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/bardrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/bardrobe.yml @@ -1,7 +1,5 @@ -- type: advertisementsPack +- type: messagePack id: BarDrobeAds - advertisements: + messages: - advertisement-bardrobe-1 - advertisement-bardrobe-2 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/boozeomat.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/boozeomat.yml index 943e571887009b..e6bcbbcb9c389a 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/boozeomat.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/boozeomat.yml @@ -1,6 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: BoozeOMatAds - advertisements: + messages: - advertisement-boozeomat-1 - advertisement-boozeomat-2 - advertisement-boozeomat-3 @@ -20,8 +20,3 @@ - advertisement-boozeomat-17 - advertisement-boozeomat-18 - advertisement-boozeomat-19 - thankyous: - - vending-machine-thanks - - thankyou-boozeomat-1 - - thankyou-boozeomat-2 - - thankyou-boozeomat-3 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/cargodrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/cargodrobe.yml index fdf90a1d0d61df..f2cd38f737e200 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/cargodrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/cargodrobe.yml @@ -1,8 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: CargoDrobeAds - advertisements: + messages: - advertisement-cargodrobe-1 - advertisement-cargodrobe-2 - advertisement-cargodrobe-3 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/chang.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/chang.yml index ebfe81286b56fa..911d467e7d06d0 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/chang.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/chang.yml @@ -1,12 +1,8 @@ -- type: advertisementsPack +- type: messagePack id: ChangAds - advertisements: + messages: - advertisement-chang-1 - advertisement-chang-2 - advertisement-chang-3 - advertisement-chang-4 - advertisement-chang-5 - thankyous: - - vending-machine-thanks - - thankyou-chang-1 - - thankyou-chang-2 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/chefdrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/chefdrobe.yml index 2d45bd4e29ddb4..c71d8225e03169 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/chefdrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/chefdrobe.yml @@ -1,8 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: ChefDrobeAds - advertisements: + messages: - advertisement-chefdrobe-1 - advertisement-chefdrobe-2 - advertisement-chefdrobe-3 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/chefvend.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/chefvend.yml index 9b1edb4b5becce..d52fcf9894cf76 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/chefvend.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/chefvend.yml @@ -1,6 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: ChefvendAds - advertisements: + messages: - advertisement-chefvend-1 - advertisement-chefvend-2 - advertisement-chefvend-3 @@ -10,9 +10,3 @@ - advertisement-chefvend-7 - advertisement-chefvend-8 - advertisement-chefvend-9 - thankyous: - - vending-machine-thanks - - thankyou-chefvend-1 - - thankyou-chefvend-2 - - thankyou-chefvend-3 - - thankyou-chefvend-4 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/chemdrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/chemdrobe.yml index 7d4508473843f9..69a37de184be8b 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/chemdrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/chemdrobe.yml @@ -1,9 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: ChemDrobeAds - advertisements: + messages: - advertisement-chemdrobe-1 - advertisement-chemdrobe-2 - advertisement-chemdrobe-3 - thankyous: - - vending-machine-thanks - diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/cigs.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/cigs.yml index fe6cb1bf26a251..db3d492c459625 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/cigs.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/cigs.yml @@ -1,6 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: CigaretteMachineAds - advertisements: + messages: - advertisement-cigs-1 - advertisement-cigs-2 - advertisement-cigs-3 @@ -13,8 +13,3 @@ - advertisement-cigs-10 - advertisement-cigs-11 - advertisement-cigs-12 - thankyous: - - vending-machine-thanks - - thankyou-cigs-1 - - thankyou-cigs-2 - - thankyou-cigs-3 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/clothesmate.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/clothesmate.yml index 5c728513b89f9f..dc109f8eb996bb 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/clothesmate.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/clothesmate.yml @@ -1,6 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: ClothesMateAds - advertisements: + messages: - advertisement-clothes-1 - advertisement-clothes-2 - advertisement-clothes-3 @@ -8,5 +8,3 @@ - advertisement-clothes-5 - advertisement-clothes-6 - advertisement-clothes-7 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/coffee.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/coffee.yml index 5153040165c023..4781768cf0c57f 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/coffee.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/coffee.yml @@ -1,6 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: HotDrinksMachineAds - advertisements: + messages: - advertisement-coffee-1 - advertisement-coffee-2 - advertisement-coffee-3 @@ -15,9 +15,3 @@ - advertisement-coffee-12 - advertisement-coffee-13 - advertisement-coffee-14 - thankyous: - - vending-machine-thanks - - thankyou-coffee-1 - - thankyou-coffee-2 - - thankyou-coffee-3 - - thankyou-coffee-4 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/cola.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/cola.yml index 862846274da6f9..d12d7eb92f4744 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/cola.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/cola.yml @@ -1,6 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: RobustSoftdrinksAds - advertisements: + messages: - advertisement-cola-1 - advertisement-cola-2 - advertisement-cola-3 @@ -9,9 +9,3 @@ - advertisement-cola-6 - advertisement-cola-7 - advertisement-cola-8 - thankyous: - - vending-machine-thanks - - thankyou-cola-1 - - thankyou-cola-2 - - thankyou-cola-3 - - thankyou-cola-4 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/condiments.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/condiments.yml index 05dbc75887591c..d1d07df0c4e599 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/condiments.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/condiments.yml @@ -1,11 +1,9 @@ -- type: advertisementsPack +- type: messagePack id: CondimentVendAds - advertisements: + messages: - advertisement-condiment-1 - advertisement-condiment-2 - advertisement-condiment-3 - advertisement-condiment-4 - advertisement-condiment-5 - advertisement-condiment-6 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/curadrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/curadrobe.yml index b6e2d485cec0d7..47523c6e936ec8 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/curadrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/curadrobe.yml @@ -1,8 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: CuraDrobeAds - advertisements: + messages: - advertisement-curadrobe-1 - advertisement-curadrobe-2 - advertisement-curadrobe-3 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/detdrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/detdrobe.yml index e64b5198692227..50024ce3d99151 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/detdrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/detdrobe.yml @@ -1,8 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: DetDrobeAds - advertisements: + messages: - advertisement-detdrobe-1 - advertisement-detdrobe-2 - advertisement-detdrobe-3 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/dinnerware.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/dinnerware.yml index ebaba26b6f410d..ac31dc075b95cc 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/dinnerware.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/dinnerware.yml @@ -1,6 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: DinnerwareAds - advertisements: + messages: - advertisement-dinnerware-1 - advertisement-dinnerware-2 - advertisement-dinnerware-3 @@ -11,5 +11,3 @@ - advertisement-dinnerware-8 - advertisement-dinnerware-9 - advertisement-dinnerware-10 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/discount.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/discount.yml index 5260e2bbcc6d7e..dce8646a60ca06 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/discount.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/discount.yml @@ -1,6 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: DiscountDansAds - advertisements: + messages: - advertisement-discount-1 - advertisement-discount-2 - advertisement-discount-3 @@ -10,13 +10,3 @@ - advertisement-discount-7 - advertisement-discount-8 - advertisement-discount-9 - thankyous: - - vending-machine-thanks - - thankyou-discount-1 - - thankyou-discount-2 - - thankyou-discount-3 - - thankyou-discount-4 - - thankyou-discount-5 - - thankyou-discount-6 - - thankyou-discount-7 - - thankyou-discount-8 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/donut.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/donut.yml index 29ea90e7655b1c..73766aa749f9bf 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/donut.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/donut.yml @@ -1,14 +1,8 @@ -- type: advertisementsPack +- type: messagePack id: DonutAds - advertisements: + messages: - advertisement-donut-1 - advertisement-donut-2 - advertisement-donut-3 - advertisement-donut-4 - advertisement-donut-5 - thankyous: - - vending-machine-thanks - - thankyou-donut-1 - - thankyou-donut-2 - - thankyou-donut-3 - - thankyou-donut-4 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/engidrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/engidrobe.yml index 5d1290147eeba6..ec92fbe4dea8e8 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/engidrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/engidrobe.yml @@ -1,10 +1,8 @@ -- type: advertisementsPack +- type: messagePack id: EngiDrobeAds - advertisements: + messages: - advertisement-engidrobe-1 - advertisement-engidrobe-2 - advertisement-engidrobe-3 - advertisement-engidrobe-4 - advertisement-engidrobe-5 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/fatextractor.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/fatextractor.yml index ad100c462639fe..7619ea1856c328 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/fatextractor.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/fatextractor.yml @@ -1,11 +1,9 @@ -- type: advertisementsPack +- type: messagePack id: FatExtractorFacts - advertisements: + messages: - fat-extractor-fact-1 - fat-extractor-fact-2 - fat-extractor-fact-3 - fat-extractor-fact-4 - fat-extractor-fact-5 - fat-extractor-fact-6 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/games.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/games.yml index e640b378def7fb..1348635e1f50b0 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/games.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/games.yml @@ -1,6 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: GoodCleanFunAds - advertisements: + messages: - advertisement-goodcleanfun-1 - advertisement-goodcleanfun-2 - advertisement-goodcleanfun-3 @@ -11,9 +11,3 @@ - advertisement-goodcleanfun-8 - advertisement-goodcleanfun-9 - advertisement-goodcleanfun-10 - thankyous: - - vending-machine-thanks - - thankyou-goodcleanfun-1 - - thankyou-goodcleanfun-2 - - thankyou-goodcleanfun-3 - - thankyou-goodcleanfun-4 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/genedrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/genedrobe.yml index 71d56bdcccc50c..722388055b9f62 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/genedrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/genedrobe.yml @@ -1,7 +1,5 @@ -- type: advertisementsPack +- type: messagePack id: GeneDrobeAds - advertisements: + messages: - advertisement-genedrobe-1 - advertisement-genedrobe-2 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/happyhonk.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/happyhonk.yml index 737ad02e291b3d..e145ebcdacbd9f 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/happyhonk.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/happyhonk.yml @@ -1,6 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: HappyHonkAds - advertisements: + messages: - advertisement-happyhonk-1 - advertisement-happyhonk-2 - advertisement-happyhonk-3 @@ -11,9 +11,3 @@ - advertisement-happyhonk-8 - advertisement-happyhonk-9 - advertisement-happyhonk-10 - thankyous: - - vending-machine-thanks - - thankyou-happyhonk-1 - - thankyou-happyhonk-2 - - thankyou-happyhonk-3 - - thankyou-happyhonk-4 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/hydrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/hydrobe.yml index 213097db0d9534..5999c496f51fb9 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/hydrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/hydrobe.yml @@ -1,9 +1,7 @@ -- type: advertisementsPack +- type: messagePack id: HyDrobeAds - advertisements: + messages: - advertisement-hydrobe-1 - advertisement-hydrobe-2 - advertisement-hydrobe-3 - advertisement-hydrobe-4 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/janidrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/janidrobe.yml index 2d1ee1e7dfbe8e..8310136bf8fbd1 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/janidrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/janidrobe.yml @@ -1,8 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: JaniDrobeAds - advertisements: + messages: - advertisement-janidrobe-1 - advertisement-janidrobe-2 - advertisement-janidrobe-3 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/lawdrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/lawdrobe.yml index 5f3892d0f95ccc..a948413abde333 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/lawdrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/lawdrobe.yml @@ -1,6 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: LawDrobeAds - advertisements: + messages: - advertisement-lawdrobe-1 - advertisement-lawdrobe-2 - advertisement-lawdrobe-3 @@ -9,10 +9,3 @@ - advertisement-lawdrobe-6 - advertisement-lawdrobe-7 - advertisement-lawdrobe-8 - thankyous: - - vending-machine-thanks - - thankyou-lawdrobe-1 - - thankyou-lawdrobe-2 - - thankyou-lawdrobe-3 - - thankyou-lawdrobe-4 - - thankyou-lawdrobe-5 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/magivend.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/magivend.yml index 5785f04bac6047..896a3853e7c448 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/magivend.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/magivend.yml @@ -1,6 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: MagiVendAds - advertisements: + messages: - advertisement-magivend-1 - advertisement-magivend-2 - advertisement-magivend-3 @@ -12,5 +12,3 @@ - advertisement-magivend-9 - advertisement-magivend-10 - advertisement-magivend-11 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/medidrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/medidrobe.yml index f5744722e47622..b7b055231b82b3 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/medidrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/medidrobe.yml @@ -1,8 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: MediDrobeAds - advertisements: + messages: - advertisement-medidrobe-1 - advertisement-medidrobe-2 - advertisement-medidrobe-3 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/megaseed.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/megaseed.yml index 77babcf55a3126..b6e6ae098e9df6 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/megaseed.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/megaseed.yml @@ -1,11 +1,9 @@ -- type: advertisementsPack +- type: messagePack id: MegaSeedAds - advertisements: + messages: - advertisement-megaseed-1 - advertisement-megaseed-2 - advertisement-megaseed-3 - advertisement-megaseed-4 - advertisement-megaseed-5 - advertisement-megaseed-6 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/nanomed.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/nanomed.yml index 3e710bf7bee6ed..a79a4c8a6c498b 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/nanomed.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/nanomed.yml @@ -1,6 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: NanoMedAds - advertisements: + messages: - advertisement-nanomed-1 - advertisement-nanomed-2 - advertisement-nanomed-3 @@ -10,5 +10,3 @@ - advertisement-nanomed-7 - advertisement-nanomed-8 - advertisement-nanomed-9 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/nutrimax.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/nutrimax.yml index 40a39336eea68a..a3ade349602b4d 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/nutrimax.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/nutrimax.yml @@ -1,6 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: NutriMaxAds - advertisements: + messages: - advertisement-nutrimax-1 - advertisement-nutrimax-2 - advertisement-nutrimax-3 @@ -8,7 +8,3 @@ - advertisement-nutrimax-5 - advertisement-nutrimax-6 - advertisement-nutrimax-7 - thankyous: - - vending-machine-thanks - - thankyou-nutrimax-1 - - thankyou-nutrimax-2 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/robodrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/robodrobe.yml index f4a8f14fee6c49..82ece7d7632952 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/robodrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/robodrobe.yml @@ -1,9 +1,7 @@ -- type: advertisementsPack +- type: messagePack id: RoboDrobeAds - advertisements: + messages: - advertisement-robodrobe-1 - advertisement-robodrobe-2 - advertisement-robodrobe-3 - advertisement-robodrobe-4 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/scidrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/scidrobe.yml index 9a3a2243606b63..f8b125073b8506 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/scidrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/scidrobe.yml @@ -1,8 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: SciDrobeAds - advertisements: + messages: - advertisement-scidrobe-1 - advertisement-scidrobe-2 - advertisement-scidrobe-3 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/secdrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/secdrobe.yml index 886856c153edbe..99c2c402deebcd 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/secdrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/secdrobe.yml @@ -1,10 +1,8 @@ -- type: advertisementsPack +- type: messagePack id: SecDrobeAds - advertisements: + messages: - advertisement-secdrobe-1 - advertisement-secdrobe-2 - advertisement-secdrobe-3 - advertisement-secdrobe-4 - advertisement-secdrobe-5 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/sectech.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/sectech.yml index 8b9f9865727062..0b32ed166d52e8 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/sectech.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/sectech.yml @@ -1,13 +1,8 @@ -- type: advertisementsPack +- type: messagePack id: SecTechAds - advertisements: + messages: - advertisement-sectech-1 - advertisement-sectech-2 - advertisement-sectech-3 - advertisement-sectech-4 - advertisement-sectech-5 - thankyous: - - vending-machine-thanks - - thankyou-sectech-1 - - thankyou-sectech-2 - - thankyou-sectech-3 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/smartfridge.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/smartfridge.yml index e7c20761a6aea4..d92a95f70ffead 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/smartfridge.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/smartfridge.yml @@ -1,6 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: SmartFridgeAds - advertisements: + messages: - advertisement-smartfridge-1 - advertisement-smartfridge-2 - advertisement-smartfridge-3 @@ -9,5 +9,3 @@ - advertisement-smartfridge-6 - advertisement-smartfridge-7 - advertisement-smartfridge-8 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/snack.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/snack.yml index c8f960d97229df..3d9b93f9c27b2a 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/snack.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/snack.yml @@ -1,6 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: GetmoreChocolateCorpAds - advertisements: + messages: - advertisement-snack-1 - advertisement-snack-2 - advertisement-snack-3 @@ -16,11 +16,3 @@ - advertisement-snack-13 - advertisement-snack-14 - advertisement-snack-15 - thankyous: - - vending-machine-thanks - - thankyou-snack-1 - - thankyou-snack-2 - - thankyou-snack-3 - - thankyou-snack-4 - - thankyou-snack-5 - - thankyou-snack-6 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/sovietsoda.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/sovietsoda.yml index ff4957015317c2..630de1e615f092 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/sovietsoda.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/sovietsoda.yml @@ -1,14 +1,9 @@ -- type: advertisementsPack +- type: messagePack id: BodaAds - advertisements: + messages: - advertisement-sovietsoda-1 - advertisement-sovietsoda-2 - advertisement-sovietsoda-3 - advertisement-sovietsoda-4 - advertisement-sovietsoda-5 - advertisement-sovietsoda-6 - thankyous: - - vending-machine-thanks - - thankyou-sovietsoda-1 - - thankyou-sovietsoda-2 - - thankyou-sovietsoda-3 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/syndiedrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/syndiedrobe.yml index c9e3bbfe5c46ae..dc89d04aa0b204 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/syndiedrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/syndiedrobe.yml @@ -1,6 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: SyndieDrobeAds - advertisements: + messages: - advertisement-syndiedrobe-1 - advertisement-syndiedrobe-2 - advertisement-syndiedrobe-3 @@ -32,10 +32,3 @@ - advertisement-syndiedrobe-29 - advertisement-syndiedrobe-30 - advertisement-syndiedrobe-31 - thankyous: - - vending-machine-thanks - - thankyou-syndiedrobe-1 - - thankyou-syndiedrobe-2 - - thankyou-syndiedrobe-3 - - thankyou-syndiedrobe-4 - - thankyou-syndiedrobe-5 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/theater.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/theater.yml index 090ec81cffbe4b..8b06cdb5172601 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/theater.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/theater.yml @@ -1,11 +1,9 @@ -- type: advertisementsPack +- type: messagePack id: AutoDrobeAds - advertisements: + messages: - advertisement-theater-1 - advertisement-theater-2 - advertisement-theater-3 - advertisement-theater-4 - advertisement-theater-5 - advertisement-theater-6 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/vendomat.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/vendomat.yml index aaa0c411336b91..31c0e0c241129f 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/vendomat.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/vendomat.yml @@ -1,6 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: VendomatAds - advertisements: + messages: - advertisement-vendomat-1 - advertisement-vendomat-2 - advertisement-vendomat-3 @@ -8,5 +8,3 @@ - advertisement-vendomat-5 - advertisement-vendomat-6 - advertisement-vendomat-7 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/virodrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/virodrobe.yml index a64bcd824c6275..c48f9e7d2e452e 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/virodrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/virodrobe.yml @@ -1,8 +1,6 @@ -- type: advertisementsPack +- type: messagePack id: ViroDrobeAds - advertisements: + messages: - advertisement-virodrobe-1 - advertisement-virodrobe-2 - advertisement-virodrobe-3 - thankyous: - - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/boozeomat.yml b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/boozeomat.yml new file mode 100644 index 00000000000000..e5c96887b974e5 --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/boozeomat.yml @@ -0,0 +1,7 @@ +- type: messagePack + id: BoozeOMatGoodbyes + messages: + - vending-machine-thanks + - thankyou-boozeomat-1 + - thankyou-boozeomat-2 + - thankyou-boozeomat-3 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/chang.yml b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/chang.yml new file mode 100644 index 00000000000000..a348d8fa9c18f0 --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/chang.yml @@ -0,0 +1,6 @@ +- type: messagePack + id: ChangGoodbyes + messages: + - vending-machine-thanks + - thankyou-chang-1 + - thankyou-chang-2 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/chefvend.yml b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/chefvend.yml new file mode 100644 index 00000000000000..93249586e10acd --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/chefvend.yml @@ -0,0 +1,8 @@ +- type: messagePack + id: ChefvendGoodbyes + messages: + - vending-machine-thanks + - thankyou-chefvend-1 + - thankyou-chefvend-2 + - thankyou-chefvend-3 + - thankyou-chefvend-4 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/cigs.yml b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/cigs.yml new file mode 100644 index 00000000000000..108a34a4722ff3 --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/cigs.yml @@ -0,0 +1,7 @@ +- type: messagePack + id: CigaretteMachineGoodbyes + messages: + - vending-machine-thanks + - thankyou-cigs-1 + - thankyou-cigs-2 + - thankyou-cigs-3 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/coffee.yml b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/coffee.yml new file mode 100644 index 00000000000000..6f2aef01b8c469 --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/coffee.yml @@ -0,0 +1,8 @@ +- type: messagePack + id: HotDrinksMachineGoodbyes + messages: + - vending-machine-thanks + - thankyou-coffee-1 + - thankyou-coffee-2 + - thankyou-coffee-3 + - thankyou-coffee-4 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/cola.yml b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/cola.yml new file mode 100644 index 00000000000000..76f00fddaf7a00 --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/cola.yml @@ -0,0 +1,8 @@ +- type: messagePack + id: RobustSoftdrinksGoodbyes + messages: + - vending-machine-thanks + - thankyou-cola-1 + - thankyou-cola-2 + - thankyou-cola-3 + - thankyou-cola-4 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/discount.yml b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/discount.yml new file mode 100644 index 00000000000000..d3f7d89a93dddf --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/discount.yml @@ -0,0 +1,12 @@ +- type: messagePack + id: DiscountDansGoodbyes + messages: + - vending-machine-thanks + - thankyou-discount-1 + - thankyou-discount-2 + - thankyou-discount-3 + - thankyou-discount-4 + - thankyou-discount-5 + - thankyou-discount-6 + - thankyou-discount-7 + - thankyou-discount-8 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/donut.yml b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/donut.yml new file mode 100644 index 00000000000000..3c28741e3b6c76 --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/donut.yml @@ -0,0 +1,8 @@ +- type: messagePack + id: DonutGoodbyes + messages: + - vending-machine-thanks + - thankyou-donut-1 + - thankyou-donut-2 + - thankyou-donut-3 + - thankyou-donut-4 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/games.yml b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/games.yml new file mode 100644 index 00000000000000..5d842619bb309d --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/games.yml @@ -0,0 +1,8 @@ +- type: messagePack + id: GoodCleanFunGoodbyes + messages: + - vending-machine-thanks + - thankyou-goodcleanfun-1 + - thankyou-goodcleanfun-2 + - thankyou-goodcleanfun-3 + - thankyou-goodcleanfun-4 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/generic.yml b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/generic.yml new file mode 100644 index 00000000000000..98a2d7d17a289c --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/generic.yml @@ -0,0 +1,4 @@ +- type: messagePack + id: GenericVendGoodbyes + messages: + - vending-machine-thanks diff --git a/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/happyhonk.yml b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/happyhonk.yml new file mode 100644 index 00000000000000..7859d5546340b7 --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/happyhonk.yml @@ -0,0 +1,8 @@ +- type: messagePack + id: HappyHonkGoodbyes + messages: + - vending-machine-thanks + - thankyou-happyhonk-1 + - thankyou-happyhonk-2 + - thankyou-happyhonk-3 + - thankyou-happyhonk-4 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/lawdrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/lawdrobe.yml new file mode 100644 index 00000000000000..56678c10178ec7 --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/lawdrobe.yml @@ -0,0 +1,8 @@ +- type: messagePack + id: LawDrobeGoodbyes + messages: + - thankyou-lawdrobe-1 + - thankyou-lawdrobe-2 + - thankyou-lawdrobe-3 + - thankyou-lawdrobe-4 + - thankyou-lawdrobe-5 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/nutrimax.yml b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/nutrimax.yml new file mode 100644 index 00000000000000..3568ae303142a5 --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/nutrimax.yml @@ -0,0 +1,6 @@ +- type: messagePack + id: NutriMaxGoodbyes + messages: + - vending-machine-thanks + - thankyou-nutrimax-1 + - thankyou-nutrimax-2 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/sectech.yml b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/sectech.yml new file mode 100644 index 00000000000000..8909693473869c --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/sectech.yml @@ -0,0 +1,7 @@ +- type: messagePack + id: SecTechGoodbyes + messages: + - vending-machine-thanks + - thankyou-sectech-1 + - thankyou-sectech-2 + - thankyou-sectech-3 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/snack.yml b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/snack.yml new file mode 100644 index 00000000000000..bd86e074c6bbc3 --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/snack.yml @@ -0,0 +1,10 @@ +- type: messagePack + id: GetmoreChocolateCorpGoodbyes + messages: + - vending-machine-thanks + - thankyou-snack-1 + - thankyou-snack-2 + - thankyou-snack-3 + - thankyou-snack-4 + - thankyou-snack-5 + - thankyou-snack-6 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/sovietsoda.yml b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/sovietsoda.yml new file mode 100644 index 00000000000000..01ab25a7ad4a5e --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/sovietsoda.yml @@ -0,0 +1,7 @@ +- type: messagePack + id: BodaGoodbyes + messages: + - vending-machine-thanks + - thankyou-sovietsoda-1 + - thankyou-sovietsoda-2 + - thankyou-sovietsoda-3 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/syndiedrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/syndiedrobe.yml new file mode 100644 index 00000000000000..1246eb3089dda6 --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Goodbyes/syndiedrobe.yml @@ -0,0 +1,9 @@ +- type: messagePack + id: SyndieDrobeGoodbyes + messages: + - vending-machine-thanks + - thankyou-syndiedrobe-1 + - thankyou-syndiedrobe-2 + - thankyou-syndiedrobe-3 + - thankyou-syndiedrobe-4 + - thankyou-syndiedrobe-5 diff --git a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml index 88ae5bb6d7ec44..7aaf04d9df6e7b 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml @@ -130,6 +130,8 @@ density: 190 - type: Advertise pack: CondimentVendAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Speech - type: Transform noRot: false @@ -147,6 +149,8 @@ normalState: normal-unshaded - type: Advertise pack: AmmoVendAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Speech - type: Sprite sprite: Structures/Machines/VendingMachines/ammo.rsi @@ -174,6 +178,8 @@ loopDeny: false - type: Advertise pack: BoozeOMatAds + - type: SpeakOnUIClosed + pack: BoozeOMatGoodbyes - type: Speech - type: Sprite sprite: Structures/Machines/VendingMachines/boozeomat.rsi @@ -235,6 +241,8 @@ ejectState: eject-unshaded - type: Advertise pack: ChefvendAds + - type: SpeakOnUIClosed + pack: ChefvendGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/chefvend.rsi layers: @@ -269,6 +277,8 @@ denyState: deny-unshaded - type: Advertise pack: CigaretteMachineAds + - type: SpeakOnUIClosed + pack: CigaretteMachineGoodbyes - type: Speech - type: Sprite sprite: Structures/Machines/VendingMachines/cigs.rsi @@ -295,6 +305,8 @@ denyState: deny-unshaded - type: Advertise pack: ClothesMateAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Speech - type: Sprite sprite: Structures/Machines/VendingMachines/clothing.rsi @@ -325,6 +337,8 @@ denyState: deny-unshaded - type: Advertise pack: ClothesMateAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Speech - type: Sprite sprite: Structures/Machines/VendingMachines/winterdrobe.rsi @@ -361,6 +375,8 @@ soundVend: /Audio/Machines/machine_vend_hot_drink.ogg - type: Advertise pack: HotDrinksMachineAds + - type: SpeakOnUIClosed + pack: HotDrinksMachineGoodbyes - type: Speech - type: Sprite sprite: Structures/Machines/VendingMachines/coffee.rsi @@ -398,6 +414,8 @@ ejectDelay: 1.9 - type: Advertise pack: RobustSoftdrinksAds + - type: SpeakOnUIClosed + pack: RobustSoftdrinksGoodbyes - type: Speech - type: Sprite sprite: Structures/Machines/VendingMachines/cola.rsi @@ -575,6 +593,8 @@ ejectDelay: 1.9 - type: Advertise pack: RobustSoftdrinksAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Speech - type: Sprite sprite: Structures/Machines/VendingMachines/pwrgame.rsi @@ -609,6 +629,8 @@ ejectDelay: 1.9 - type: Advertise pack: RobustSoftdrinksAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Speech - type: Sprite sprite: Structures/Machines/VendingMachines/gib.rsi @@ -639,6 +661,8 @@ ejectState: eject-unshaded - type: Advertise pack: DinnerwareAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/dinnerware.rsi layers: @@ -669,6 +693,8 @@ normalState: normal-unshaded - type: Advertise pack: MagiVendAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/magivend.rsi layers: @@ -699,6 +725,8 @@ normalState: normal-unshaded - type: Advertise pack: DiscountDansAds + - type: SpeakOnUIClosed + pack: DiscountDansGoodbyes - type: Speech - type: Sprite sprite: Structures/Machines/VendingMachines/discount.rsi @@ -761,6 +789,8 @@ ejectDelay: 0.6 - type: Advertise pack: NanoMedAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/medical.rsi layers: @@ -796,6 +826,8 @@ denyState: deny-unshaded - type: Advertise pack: NutriMaxAds + - type: SpeakOnUIClosed + pack: NutriMaxGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/nutri.rsi layers: @@ -828,6 +860,8 @@ denyState: deny-unshaded - type: Advertise pack: SecTechAds + - type: SpeakOnUIClosed + pack: SecTechGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/sec.rsi layers: @@ -864,6 +898,8 @@ denyState: deny-unshaded - type: Advertise pack: MegaSeedAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/seeds.rsi layers: @@ -904,6 +940,8 @@ denyState: deny-unshaded - type: Advertise pack: GetmoreChocolateCorpAds + - type: SpeakOnUIClosed + pack: GetmoreChocolateCorpGoodbyes - type: Speech - type: Sprite sprite: Structures/Machines/VendingMachines/snack.rsi @@ -1047,6 +1085,8 @@ denyState: deny-unshaded - type: Advertise pack: BodaAds + - type: SpeakOnUIClosed + pack: BodaGoodbyes - type: Speech - type: Sprite sprite: Structures/Machines/VendingMachines/sovietsoda.rsi @@ -1079,6 +1119,8 @@ screenState: screen - type: Advertise pack: AutoDrobeAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Speech - type: Sprite sprite: Structures/Machines/VendingMachines/theater.rsi @@ -1113,6 +1155,8 @@ denyState: deny-unshaded - type: Advertise pack: VendomatAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Speech - type: Sprite sprite: Structures/Machines/VendingMachines/vendomat.rsi @@ -1144,6 +1188,8 @@ denyState: deny-unshaded - type: Advertise pack: VendomatAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Speech - type: Sprite sprite: Structures/Machines/VendingMachines/robotics.rsi @@ -1208,6 +1254,8 @@ ejectDelay: 1.8 - type: Advertise pack: GoodCleanFunAds + - type: SpeakOnUIClosed + pack: GoodCleanFunGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/games.rsi layers: @@ -1238,6 +1286,8 @@ normalState: normal-unshaded - type: Advertise pack: ChangAds + - type: SpeakOnUIClosed + pack: ChangGoodbyes - type: Speech - type: Sprite sprite: Structures/Machines/VendingMachines/changs.rsi @@ -1301,6 +1351,8 @@ normalState: normal-unshaded - type: Advertise pack: DonutAds + - type: SpeakOnUIClosed + pack: DonutGoodbyes - type: Speech - type: Sprite sprite: Structures/Machines/VendingMachines/donut.rsi @@ -1384,6 +1436,8 @@ normalState: normal-unshaded - type: Advertise pack: HyDrobeAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/hydrobe.rsi layers: @@ -1410,6 +1464,8 @@ normalState: normal-unshaded - type: Advertise pack: LawDrobeAds + - type: SpeakOnUIClosed + pack: LawDrobeGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/lawdrobe.rsi layers: @@ -1436,6 +1492,8 @@ normalState: normal-unshaded - type: Advertise pack: SecDrobeAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/secdrobe.rsi layers: @@ -1462,6 +1520,8 @@ normalState: normal-unshaded - type: Advertise pack: BarDrobeAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/bardrobe.rsi layers: @@ -1516,6 +1576,8 @@ normalState: normal-unshaded - type: Advertise pack: CargoDrobeAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/cargodrobe.rsi layers: @@ -1542,6 +1604,8 @@ normalState: normal-unshaded - type: Advertise pack: MediDrobeAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/medidrobe.rsi layers: @@ -1568,6 +1632,8 @@ normalState: normal-unshaded - type: Advertise pack: ChemDrobeAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/chemdrobe.rsi layers: @@ -1594,6 +1660,8 @@ normalState: normal-unshaded - type: Advertise pack: CuraDrobeAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/curadrobe.rsi layers: @@ -1620,6 +1688,8 @@ normalState: normal-unshaded - type: Advertise pack: AtmosDrobeAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/atmosdrobe.rsi layers: @@ -1646,6 +1716,8 @@ normalState: normal-unshaded - type: Advertise pack: EngiDrobeAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/engidrobe.rsi layers: @@ -1672,6 +1744,8 @@ normalState: normal-unshaded - type: Advertise pack: ChefDrobeAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/chefdrobe.rsi layers: @@ -1698,6 +1772,8 @@ normalState: normal-unshaded - type: Advertise pack: DetDrobeAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/detdrobe.rsi layers: @@ -1724,6 +1800,8 @@ normalState: normal-unshaded - type: Advertise pack: JaniDrobeAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/janidrobe.rsi layers: @@ -1750,6 +1828,8 @@ normalState: normal-unshaded - type: Advertise pack: SciDrobeAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/scidrobe.rsi layers: @@ -1776,6 +1856,8 @@ normalState: normal-unshaded - type: Advertise pack: SyndieDrobeAds + - type: SpeakOnUIClosed + pack: SyndieDrobeGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/syndiedrobe.rsi layers: @@ -1802,6 +1884,8 @@ normalState: normal-unshaded - type: Advertise pack: RoboDrobeAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/robodrobe.rsi layers: @@ -1828,6 +1912,8 @@ normalState: normal-unshaded - type: Advertise pack: GeneDrobeAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/genedrobe.rsi layers: @@ -1854,6 +1940,8 @@ normalState: normal-unshaded - type: Advertise pack: ViroDrobeAds + - type: SpeakOnUIClosed + pack: GenericVendGoodbyes - type: Sprite sprite: Structures/Machines/VendingMachines/virodrobe.rsi layers: @@ -1927,6 +2015,8 @@ color: "#3c5eb5" - type: Advertise pack: HappyHonkAds + - type: SpeakOnUIClosed + pack: HappyHonkGoodbyes - type: AccessReader access: [["Kitchen"], ["Theatre"]]