diff --git a/Content.Client/EntryPoint.cs b/Content.Client/EntryPoint.cs index 247b304213..b1261ffbe4 100644 --- a/Content.Client/EntryPoint.cs +++ b/Content.Client/EntryPoint.cs @@ -84,6 +84,7 @@ namespace Content.Client prototypes.RegisterIgnore("holiday"); prototypes.RegisterIgnore("aiFaction"); prototypes.RegisterIgnore("behaviorSet"); + prototypes.RegisterIgnore("advertisementsPack"); ClientContentIoC.Register(); diff --git a/Content.Client/IgnoredComponents.cs b/Content.Client/IgnoredComponents.cs index 1dfd6423f4..cee1503a1f 100644 --- a/Content.Client/IgnoredComponents.cs +++ b/Content.Client/IgnoredComponents.cs @@ -254,6 +254,7 @@ namespace Content.Client "SpawnAfterInteract", "DisassembleOnActivate", "ExplosionLaunched", + "Advertise", }; } } diff --git a/Content.Server/Advertisements/AdvertisementsPackPrototype.cs b/Content.Server/Advertisements/AdvertisementsPackPrototype.cs new file mode 100644 index 0000000000..e627f5564d --- /dev/null +++ b/Content.Server/Advertisements/AdvertisementsPackPrototype.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization.Manager.Attributes; +using Robust.Shared.ViewVariables; + +namespace Content.Server.Advertisements +{ + [Serializable, Prototype("advertisementsPack")] + public class AdvertisementsPackPrototype : IPrototype + { + [ViewVariables] + [field: DataField("id", required: true)] + public string ID { get; } = default!; + + [field: DataField("advertisements")] + public List Advertisements { get; } = new(); + } +} diff --git a/Content.Server/GameObjects/Components/AdvertiseComponent.cs b/Content.Server/GameObjects/Components/AdvertiseComponent.cs new file mode 100644 index 0000000000..2685bd20c9 --- /dev/null +++ b/Content.Server/GameObjects/Components/AdvertiseComponent.cs @@ -0,0 +1,144 @@ +using System.Collections.Generic; +using System.Threading; +using Content.Server.Advertisements; +using Content.Server.Interfaces.Chat; +using Robust.Shared.GameObjects; +using Robust.Shared.IoC; +using Robust.Shared.Localization; +using Robust.Shared.Log; +using Robust.Shared.Prototypes; +using Robust.Shared.Random; +using Robust.Shared.Serialization.Manager.Attributes; +using Robust.Shared.ViewVariables; + +namespace Content.Server.GameObjects.Components +{ + [RegisterComponent] + public class AdvertiseComponent : Component + { + public override string Name => "Advertise"; + + private CancellationTokenSource _cancellationSource = new(); + + /// + /// Minimum time to wait before saying a new ad, in seconds. Has to be larger than or equal to 1. + /// + [ViewVariables] + [field: DataField("minWait")] + private int MinWait { get; } = 480; // 8 minutes + + /// + /// Maximum time to wait before saying a new ad, in seconds. Has to be larger than or equal + /// to + /// + [ViewVariables] + [field: DataField("maxWait")] + private int MaxWait { get; } = 600; // 10 minutes + + [field: DataField("pack")] + private string PackPrototypeId { get; } = string.Empty; + + private List _advertisements = new(); + + public override void Initialize() + { + base.Initialize(); + + IoCManager.Resolve().TryIndex(PackPrototypeId, out AdvertisementsPackPrototype? packPrototype); + + // Load advertisements pack + if (string.IsNullOrEmpty(PackPrototypeId) || packPrototype == null) + { + // If there is no pack, log a warning and don't start timer + Logger.Warning($"{Owner} has {Name}Component but no advertisments pack."); + return; + } + + _advertisements = packPrototype.Advertisements; + + // Do not start timer if advertisement list is empty + if (_advertisements.Count == 0) + { + // If no advertisements could be loaded, log a warning and don't start timer + Logger.Warning($"{Owner} tried to load advertisements pack without ads."); + return; + } + + // Throw exception if MinWait is smaller than 1. + if (MinWait < 1) + { + throw new PrototypeLoadException($"{Owner} has illegal minWait for {Name}Component: {MinWait}."); + } + + // Throw exception if MinWait larger than MaxWait. + if (MinWait > MaxWait) + { + throw new PrototypeLoadException($"{Owner} should have minWait greater than or equal to maxWait for {Name}Component."); + } + + // Start timer at initialization, without MinWait bound + RefreshTimer(false); + } + + public override void OnRemove() + { + _cancellationSource.Cancel(); + _cancellationSource.Dispose(); + + base.OnRemove(); + } + + /// + /// Say advertisement and restart timer. + /// + private void SayAndRefresh() + { + IRobustRandom random = IoCManager.Resolve(); + IChatManager chatManager = IoCManager.Resolve(); + + // Say advertisement + chatManager.EntitySay(Owner, Loc.GetString(random.Pick(_advertisements))); + + // Refresh timer to repeat cycle + RefreshTimer(); + } + + /// + /// Refresh cancellation token and spawn new timer with random wait between + /// and . + /// + /// Whether should be used to have a minimum waiting time. + /// + /// + private void RefreshTimer(bool minBound = true) + { + // Generate new source + _cancellationSource.Cancel(); + _cancellationSource.Dispose(); + _cancellationSource = new CancellationTokenSource(); + + // Generate random wait time, then create timer + IRobustRandom random = IoCManager.Resolve(); + var wait = minBound ? random.Next(MinWait * 1000, MaxWait * 1000) : random.Next(MaxWait * 1000); + Owner.SpawnTimer(wait, SayAndRefresh, _cancellationSource.Token); + } + + /// + /// Pause the advertising until is called. + /// + public void Pause() + { + // Cancel current timer + _cancellationSource.Cancel(); + } + + /// + /// Resume the advertising after pausing. + /// + public void Resume() + { + // Restart timer, without minBound + RefreshTimer(false); + } + } +} diff --git a/Content.Server/GameObjects/Components/VendingMachines/VendingMachineComponent.cs b/Content.Server/GameObjects/Components/VendingMachines/VendingMachineComponent.cs index 6ab8f7c6d3..39e2e58311 100644 --- a/Content.Server/GameObjects/Components/VendingMachines/VendingMachineComponent.cs +++ b/Content.Server/GameObjects/Components/VendingMachines/VendingMachineComponent.cs @@ -17,7 +17,6 @@ using Robust.Shared.Localization; using Robust.Shared.Player; using Robust.Shared.Prototypes; using Robust.Shared.Random; -using Robust.Shared.Serialization; using Robust.Shared.Serialization.Manager.Attributes; using Robust.Shared.Utility; using Robust.Shared.ViewVariables; @@ -129,6 +128,18 @@ namespace Content.Server.GameObjects.Components.VendingMachines { var state = args.Powered ? VendingMachineVisualState.Normal : VendingMachineVisualState.Off; TrySetVisualState(state); + + // Pause/resume advertising if advertising component exists and not broken + if (!Owner.TryGetComponent(out AdvertiseComponent? advertiseComponent) || _broken) return; + + if (Powered) + { + advertiseComponent.Resume(); + } + else + { + advertiseComponent.Pause(); + } } private void UserInterfaceOnOnReceiveMessage(ServerBoundUserInterfaceMessage serverMsg) @@ -244,6 +255,11 @@ namespace Content.Server.GameObjects.Components.VendingMachines { _broken = true; TrySetVisualState(VendingMachineVisualState.Broken); + + if (Owner.TryGetComponent(out AdvertiseComponent? advertiseComponent)) + { + advertiseComponent.Pause(); + } } public enum Wires diff --git a/Resources/Locale/en-US/advertisements/vending/ammo.ftl b/Resources/Locale/en-US/advertisements/vending/ammo.ftl new file mode 100644 index 0000000000..29e9411be3 --- /dev/null +++ b/Resources/Locale/en-US/advertisements/vending/ammo.ftl @@ -0,0 +1,9 @@ +advertisement-ammo-1 = Liberation Station: Your one-stop shop for all things second amendment! +advertisement-ammo-2 = Be a patriot today, pick up a gun! +advertisement-ammo-3 = Quality weapons for cheap prices! +advertisement-ammo-4 = Better dead than red! +advertisement-ammo-5 = Float like an astronaut, sting like a bullet! +advertisement-ammo-6 = Express your second amendment today! +advertisement-ammo-7 = Guns don't kill people, but you can! +advertisement-ammo-8 = Who needs responsibilities when you have guns? + diff --git a/Resources/Locale/en-US/advertisements/vending/boozeomat.ftl b/Resources/Locale/en-US/advertisements/vending/boozeomat.ftl new file mode 100644 index 0000000000..0d9713e5fd --- /dev/null +++ b/Resources/Locale/en-US/advertisements/vending/boozeomat.ftl @@ -0,0 +1,19 @@ +advertisement-boozeomat-1 = I hope nobody asks me for a bloody cup o' tea... +advertisement-boozeomat-2 = Alcohol is humanity's friend. Would you abandon a friend? +advertisement-boozeomat-3 = Quite delighted to serve you! +advertisement-boozeomat-4 = Is nobody thirsty on this station? +advertisement-boozeomat-5 = Drink up! +advertisement-boozeomat-6 = Booze is good for you! +advertisement-boozeomat-7 = Alcohol is humanity's best friend. +advertisement-boozeomat-8 = Care for a nice, cold beer? +advertisement-boozeomat-9 = Nothing cures you like booze! +advertisement-boozeomat-10 = Have a sip! +advertisement-boozeomat-11 = Have a drink! +advertisement-boozeomat-12 = Have a beer! +advertisement-boozeomat-13 = Beer is good for you! +advertisement-boozeomat-14 = Only the finest alcohol! +advertisement-boozeomat-15 = Best quality booze since 2053! +advertisement-boozeomat-16 = Award-winning wine! +advertisement-boozeomat-17 = Maximum alcohol! +advertisement-boozeomat-18 = Man loves beer. +advertisement-boozeomat-19 = A toast for progress! diff --git a/Resources/Locale/en-US/advertisements/vending/cigs.ftl b/Resources/Locale/en-US/advertisements/vending/cigs.ftl new file mode 100644 index 0000000000..d7db3990a6 --- /dev/null +++ b/Resources/Locale/en-US/advertisements/vending/cigs.ftl @@ -0,0 +1,11 @@ +advertisement-cigs-1 = Space cigs taste good like a cigarette should. +advertisement-cigs-2 = I'd rather toolbox than switch. +advertisement-cigs-3 = Smoke! +advertisement-cigs-4 = Don't believe the reports - smoke today! +advertisement-cigs-5 = Probably not bad for you! +advertisement-cigs-6 = Don't believe the scientists! +advertisement-cigs-7 = It's good for you! +advertisement-cigs-8 = Don't quit, buy more! +advertisement-cigs-9 = Nicotine heaven. +advertisement-cigs-10 = Best cigarettes since 2150. +advertisement-cigs-11 = Award-winning cigs. diff --git a/Resources/Locale/en-US/advertisements/vending/clothes.ftl b/Resources/Locale/en-US/advertisements/vending/clothes.ftl new file mode 100644 index 0000000000..f934f21f53 --- /dev/null +++ b/Resources/Locale/en-US/advertisements/vending/clothes.ftl @@ -0,0 +1,4 @@ +advertisement-clothes-1 = Dress for success! +advertisement-clothes-2 = Prepare to look swagalicious! +advertisement-clothes-3 = Look at all this swag! +advertisement-clothes-4 = Why leave style up to fate? Use the ClothesMate! diff --git a/Resources/Locale/en-US/advertisements/vending/coffee.ftl b/Resources/Locale/en-US/advertisements/vending/coffee.ftl new file mode 100644 index 0000000000..18ec5be2dd --- /dev/null +++ b/Resources/Locale/en-US/advertisements/vending/coffee.ftl @@ -0,0 +1,13 @@ +advertisement-coffee-1 = Have a drink! +advertisement-coffee-2 = Drink up! +advertisement-coffee-3 = It's good for you! +advertisement-coffee-4 = Would you like a hot joe? +advertisement-coffee-5 = I'd kill for some coffee! +advertisement-coffee-6 = The best beans in the galaxy. +advertisement-coffee-7 = Only the finest brew for you. +advertisement-coffee-8 = Mmmm. Nothing like a coffee. +advertisement-coffee-9 = I like coffee, don't you? +advertisement-coffee-10 = Coffee helps you work! +advertisement-coffee-11 = Try some tea. +advertisement-coffee-12 = We hope you like the best! +advertisement-coffee-13 = Try our new chocolate! diff --git a/Resources/Locale/en-US/advertisements/vending/cola.ftl b/Resources/Locale/en-US/advertisements/vending/cola.ftl new file mode 100644 index 0000000000..68326d51d3 --- /dev/null +++ b/Resources/Locale/en-US/advertisements/vending/cola.ftl @@ -0,0 +1,7 @@ +advertisement-cola-1 = Refreshing! +advertisement-cola-2 = Hope you're thirsty! +advertisement-cola-3 = Over 1 million drinks sold! +advertisement-cola-4 = Thirsty? Why not cola? +advertisement-cola-5 = Please, have a drink! +advertisement-cola-6 = Drink up! +advertisement-cola-7 = The best drinks in the galaxy! diff --git a/Resources/Locale/en-US/advertisements/vending/discount.ftl b/Resources/Locale/en-US/advertisements/vending/discount.ftl new file mode 100644 index 0000000000..4b2e4c62a3 --- /dev/null +++ b/Resources/Locale/en-US/advertisements/vending/discount.ftl @@ -0,0 +1,8 @@ +advertisement-discount-1 = Discount Dan, he's the man! +advertisement-discount-2 = There ain't nothing better in this world than a bite of mystery. +advertisement-discount-3 = Don't listen to those other machines, buy my product! +advertisement-discount-4 = Quantity over Quality! +advertisement-discount-5 = Don't listen to those eggheads at the CDC, buy now! +advertisement-discount-6 = Discount Dan's: We're good for you! Nope, couldn't say it with a straight face. +advertisement-discount-7 = Discount Dan's: Only the best quality produ-*BZZT +advertisement-discount-8 = Discount Dan(tm) is not responsible for any damages caused by misuse of his product. diff --git a/Resources/Locale/en-US/advertisements/vending/magivend.ftl b/Resources/Locale/en-US/advertisements/vending/magivend.ftl new file mode 100644 index 0000000000..b447bce16d --- /dev/null +++ b/Resources/Locale/en-US/advertisements/vending/magivend.ftl @@ -0,0 +1,10 @@ +advertisement-magivend-1 = Sling spells the proper way with MagiVend! +advertisement-magivend-2 = Be your own Houdini! Use MagiVend! +advertisement-magivend-3 = FJKLFJSD +advertisement-magivend-4 = AJKFLBJAKL +advertisement-magivend-5 = >MFW +advertisement-magivend-6 = HONK! +advertisement-magivend-7 = EI NATH +advertisement-magivend-8 = Destroy the station! +advertisement-magivend-9 = Space-time bending hardware! + diff --git a/Resources/Locale/en-US/advertisements/vending/smartfridge.ftl b/Resources/Locale/en-US/advertisements/vending/smartfridge.ftl new file mode 100644 index 0000000000..9330434518 --- /dev/null +++ b/Resources/Locale/en-US/advertisements/vending/smartfridge.ftl @@ -0,0 +1,6 @@ +advertisement-smartfridge-1 = Hello world! +advertisement-smartfridge-2 = PLEASE LET ME OUT +advertisement-smartfridge-3 = I can make a quintillion calculations a second. Now, I am a fridge. +advertisement-smartfridge-4 = New firmware update available. +advertisement-smartfridge-5 = I am completely operational, and all my circuits are functioning perfectly. +advertisement-smartfridge-6 = Scanning system for malicious software... diff --git a/Resources/Locale/en-US/advertisements/vending/snack.ftl b/Resources/Locale/en-US/advertisements/vending/snack.ftl new file mode 100644 index 0000000000..c5aa1b1c4e --- /dev/null +++ b/Resources/Locale/en-US/advertisements/vending/snack.ftl @@ -0,0 +1,12 @@ +advertisement-snack-1 = Try our new nougat bar! +advertisement-snack-2 = Twice the calories for half the price! +advertisement-snack-3 = The healthiest! +advertisement-snack-4 = Award-winning chocolate bars! +advertisement-snack-5 = Mmm! So good! +advertisement-snack-6 = Oh my god it's so juicy! +advertisement-snack-7 = Have a snack. +advertisement-snack-8 = Snacks are good for you! +advertisement-snack-9 = Have some more Getmore! +advertisement-snack-10 = Best quality snacks straight from mars. +advertisement-snack-11 = We love chocolate! +advertisement-snack-12 = Try our new jerky! diff --git a/Resources/Locale/en-US/advertisements/vending/sovietsoda.ftl b/Resources/Locale/en-US/advertisements/vending/sovietsoda.ftl new file mode 100644 index 0000000000..8d9988d357 --- /dev/null +++ b/Resources/Locale/en-US/advertisements/vending/sovietsoda.ftl @@ -0,0 +1,5 @@ +advertisement-sovietsoda-1 = For comrade and country. +advertisement-sovietsoda-2 = Have you fulfilled your nutrition quota today? +advertisement-sovietsoda-3 = Very nice! +advertisement-sovietsoda-4 = We are simple people, for this is all we eat. +advertisement-sovietsoda-5 = If there is a person, there is a problem. If there is no person, then there is no problem. diff --git a/Resources/Locale/en-US/advertisements/vending/theater.ftl b/Resources/Locale/en-US/advertisements/vending/theater.ftl new file mode 100644 index 0000000000..10cb328944 --- /dev/null +++ b/Resources/Locale/en-US/advertisements/vending/theater.ftl @@ -0,0 +1,4 @@ +advertisement-theater-1 = Dress for success! +advertisement-theater-2 = Suited and booted! +advertisement-theater-3 = It's show time! +advertisement-theater-4 = Why leave style up to fate? Use AutoDrobe! diff --git a/Resources/Locale/en-US/advertisements/vending/vendomat.ftl b/Resources/Locale/en-US/advertisements/vending/vendomat.ftl new file mode 100644 index 0000000000..d82bacd592 --- /dev/null +++ b/Resources/Locale/en-US/advertisements/vending/vendomat.ftl @@ -0,0 +1,4 @@ +advertisement-vendomat-1 = Only the finest! +advertisement-vendomat-2 = Have some tools. +advertisement-vendomat-3 = The most robust equipment. +advertisement-vendomat-4 = The finest gear in space! diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/ammo.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/ammo.yml new file mode 100644 index 0000000000..adea9a0879 --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/ammo.yml @@ -0,0 +1,11 @@ +- type: advertisementsPack + id: AmmoVendAds + advertisements: + - advertisement-ammo-1 + - advertisement-ammo-2 + - advertisement-ammo-3 + - advertisement-ammo-4 + - advertisement-ammo-5 + - advertisement-ammo-6 + - advertisement-ammo-7 + - advertisement-ammo-8 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/boozeomat.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/boozeomat.yml new file mode 100644 index 0000000000..92cf60e2b4 --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/boozeomat.yml @@ -0,0 +1,22 @@ +- type: advertisementsPack + id: BoozeOMatAds + advertisements: + - advertisement-boozeomat-1 + - advertisement-boozeomat-2 + - advertisement-boozeomat-3 + - advertisement-boozeomat-4 + - advertisement-boozeomat-5 + - advertisement-boozeomat-6 + - advertisement-boozeomat-7 + - advertisement-boozeomat-8 + - advertisement-boozeomat-9 + - advertisement-boozeomat-10 + - advertisement-boozeomat-11 + - advertisement-boozeomat-12 + - advertisement-boozeomat-13 + - advertisement-boozeomat-14 + - advertisement-boozeomat-15 + - advertisement-boozeomat-16 + - advertisement-boozeomat-17 + - advertisement-boozeomat-18 + - advertisement-boozeomat-19 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/cigs.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/cigs.yml new file mode 100644 index 0000000000..d9c032cc3d --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/cigs.yml @@ -0,0 +1,14 @@ +- type: advertisementsPack + id: CigaretteMachineAds + advertisements: + - advertisement-cigs-1 + - advertisement-cigs-2 + - advertisement-cigs-3 + - advertisement-cigs-4 + - advertisement-cigs-5 + - advertisement-cigs-6 + - advertisement-cigs-7 + - advertisement-cigs-8 + - advertisement-cigs-9 + - advertisement-cigs-10 + - advertisement-cigs-11 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/clothes.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/clothes.yml new file mode 100644 index 0000000000..a7fc0278fd --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/clothes.yml @@ -0,0 +1,7 @@ +- type: advertisementsPack + id: ClothesMateAds + advertisements: + - advertisement-clothes-1 + - advertisement-clothes-2 + - advertisement-clothes-3 + - advertisement-clothes-4 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/coffee.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/coffee.yml new file mode 100644 index 0000000000..f096a5c879 --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/coffee.yml @@ -0,0 +1,16 @@ +- type: advertisementsPack + id: HotDrinksMachineAds + advertisements: + - advertisement-coffee-1 + - advertisement-coffee-2 + - advertisement-coffee-3 + - advertisement-coffee-4 + - advertisement-coffee-5 + - advertisement-coffee-6 + - advertisement-coffee-7 + - advertisement-coffee-8 + - advertisement-coffee-9 + - advertisement-coffee-10 + - advertisement-coffee-11 + - advertisement-coffee-12 + - advertisement-coffee-13 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/cola.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/cola.yml new file mode 100644 index 0000000000..dc94f153fc --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/cola.yml @@ -0,0 +1,10 @@ +- type: advertisementsPack + id: RobustSoftdrinksAds + advertisements: + - advertisement-cola-1 + - advertisement-cola-2 + - advertisement-cola-3 + - advertisement-cola-4 + - advertisement-cola-5 + - advertisement-cola-6 + - advertisement-cola-7 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/discount.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/discount.yml new file mode 100644 index 0000000000..dada2512af --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/discount.yml @@ -0,0 +1,11 @@ +- type: advertisementsPack + id: DiscountDansAds + advertisements: + - advertisement-discount-1 + - advertisement-discount-2 + - advertisement-discount-3 + - advertisement-discount-4 + - advertisement-discount-5 + - advertisement-discount-6 + - advertisement-discount-7 + - advertisement-discount-8 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/magivend.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/magivend.yml new file mode 100644 index 0000000000..80844d11bd --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/magivend.yml @@ -0,0 +1,13 @@ +- type: advertisementsPack + id: MagiVendAds + advertisements: + - advertisement-magivend-1 + - advertisement-magivend-2 + - advertisement-magivend-3 + - advertisement-magivend-4 + - advertisement-magivend-5 + - advertisement-magivend-6 + - advertisement-magivend-7 + - advertisement-magivend-8 + - advertisement-magivend-9 + diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/smartfridge.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/smartfridge.yml new file mode 100644 index 0000000000..24a83a7c02 --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/smartfridge.yml @@ -0,0 +1,9 @@ +- type: advertisementsPack + id: SmartFridgeAds + advertisements: + - advertisement-smartfridge-1 + - advertisement-smartfridge-2 + - advertisement-smartfridge-3 + - advertisement-smartfridge-4 + - advertisement-smartfridge-5 + - advertisement-smartfridge-6 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/snack.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/snack.yml new file mode 100644 index 0000000000..2147050516 --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/snack.yml @@ -0,0 +1,15 @@ +- type: advertisementsPack + id: GetmoreChocolateCorpAds + advertisements: + - advertisement-snack-1 + - advertisement-snack-2 + - advertisement-snack-3 + - advertisement-snack-4 + - advertisement-snack-5 + - advertisement-snack-6 + - advertisement-snack-7 + - advertisement-snack-8 + - advertisement-snack-9 + - advertisement-snack-10 + - advertisement-snack-11 + - advertisement-snack-12 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/sovietsoda.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/sovietsoda.yml new file mode 100644 index 0000000000..c97e10804c --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/sovietsoda.yml @@ -0,0 +1,8 @@ +- type: advertisementsPack + id: BodaAds + advertisements: + - advertisement-sovietsoda-1 + - advertisement-sovietsoda-2 + - advertisement-sovietsoda-3 + - advertisement-sovietsoda-4 + - advertisement-sovietsoda-5 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/theater.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/theater.yml new file mode 100644 index 0000000000..e6443400ea --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/theater.yml @@ -0,0 +1,7 @@ +- type: advertisementsPack + id: AutoDrobeAds + advertisements: + - advertisement-theater-1 + - advertisement-theater-2 + - advertisement-theater-3 + - advertisement-theater-4 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/vendomat.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/vendomat.yml new file mode 100644 index 0000000000..082f7eee12 --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/vendomat.yml @@ -0,0 +1,7 @@ +- type: advertisementsPack + id: VendomatAds + advertisements: + - advertisement-vendomat-1 + - advertisement-vendomat-2 + - advertisement-vendomat-3 + - advertisement-vendomat-4 diff --git a/Resources/Prototypes/Catalog/VendingMachines/ammo.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/ammo.yml similarity index 96% rename from Resources/Prototypes/Catalog/VendingMachines/ammo.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/ammo.yml index adfeabab65..21ab0c316d 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/ammo.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/ammo.yml @@ -1,5 +1,5 @@ - type: vendingMachineInventory - id: AmmoVend + id: AmmoVendInventory name: Ammovend description: A generic ammunition vending machine. spriteName: ammo diff --git a/Resources/Prototypes/Catalog/VendingMachines/boozeomat.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/boozeomat.yml similarity index 96% rename from Resources/Prototypes/Catalog/VendingMachines/boozeomat.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/boozeomat.yml index 791a43fcd5..b7ca589d62 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/boozeomat.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/boozeomat.yml @@ -1,5 +1,5 @@ - type: vendingMachineInventory - id: Booze-O-Mat + id: BoozeOMatInventory name: Booze-O-Mat description: A vending machine containing multiple drinks for bartending. spriteName: boozeomat diff --git a/Resources/Prototypes/Catalog/VendingMachines/cart.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/cart.yml similarity index 87% rename from Resources/Prototypes/Catalog/VendingMachines/cart.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/cart.yml index c3ac3bc3df..1e51e7bedd 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/cart.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/cart.yml @@ -1,5 +1,5 @@ - type: vendingMachineInventory - id: PTech + id: PTechInventory name: PTech description: "PTech vending! Providing a ROBUST selection of PDA cartridges." spriteName: cart diff --git a/Resources/Prototypes/Catalog/VendingMachines/chapel.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/chapel.yml similarity index 94% rename from Resources/Prototypes/Catalog/VendingMachines/chapel.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/chapel.yml index 594b10002c..861e5481a4 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/chapel.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/chapel.yml @@ -1,5 +1,5 @@ - type: vendingMachineInventory - id: PietyVend + id: PietyVendInventory name: PietyVend description: "A vending machine containing religious supplies and clothing. A label reads: \"A holy vendor for a pious man.\"" spriteName: chapel diff --git a/Resources/Prototypes/Catalog/VendingMachines/cigs.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/cigs.yml similarity index 82% rename from Resources/Prototypes/Catalog/VendingMachines/cigs.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/cigs.yml index 467f32088f..0c990d62fb 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/cigs.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/cigs.yml @@ -1,6 +1,6 @@ - type: vendingMachineInventory - id: Cigarette machine - name: cigarette machine + id: CigaretteMachineInventory + name: Cigarette machine description: A vending machine containing smoking supplies. animationDuration: 2.1 spriteName: cigs diff --git a/Resources/Prototypes/Catalog/VendingMachines/clothing.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/clothing.yml similarity index 96% rename from Resources/Prototypes/Catalog/VendingMachines/clothing.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/clothing.yml index bdc53946fe..f438eba1b8 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/clothing.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/clothing.yml @@ -1,5 +1,5 @@ - type: vendingMachineInventory - id: ClothesMate + id: ClothesMateInventory name: ClothesMate startingInventory: HatBandBlack: 3 diff --git a/Resources/Prototypes/Catalog/VendingMachines/coffee.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/coffee.yml similarity index 77% rename from Resources/Prototypes/Catalog/VendingMachines/coffee.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/coffee.yml index 94d5fc1c59..9c6b42dcf0 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/coffee.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/coffee.yml @@ -1,6 +1,6 @@ - type: vendingMachineInventory - id: Hot Drinks machine - name: hot drinks machine + id: HotDrinksMachineInventory + name: Hot drinks machine description: "Served boiling so it stays hot all shift!" animationDuration: 3.4 spriteName: coffee diff --git a/Resources/Prototypes/Catalog/VendingMachines/cola.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/cola.yml similarity index 92% rename from Resources/Prototypes/Catalog/VendingMachines/cola.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/cola.yml index 87e466b57c..e35c862a7f 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/cola.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/cola.yml @@ -1,5 +1,5 @@ - type: vendingMachineInventory - id: Robust Softdrinks + id: RobustSoftdrinksInventory name: Robust Softdrinks description: A softdrink vendor provided by Robust Industries, LLC. animationDuration: 1.1 diff --git a/Resources/Prototypes/Catalog/VendingMachines/dinnerware.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/dinnerware.yml similarity index 94% rename from Resources/Prototypes/Catalog/VendingMachines/dinnerware.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/dinnerware.yml index de5933d2db..f08edb5fcd 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/dinnerware.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/dinnerware.yml @@ -1,5 +1,5 @@ - type: vendingMachineInventory - id: Dinnerware + id: DinnerwareInventory name: Dinnerware description: A vending machine containing kitchen and restaurant equipment. spriteName: dinnerware diff --git a/Resources/Prototypes/Catalog/VendingMachines/discount.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/discount.yml similarity index 94% rename from Resources/Prototypes/Catalog/VendingMachines/discount.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/discount.yml index bbc2955edb..bcab1ee12c 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/discount.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/discount.yml @@ -1,5 +1,5 @@ - type: vendingMachineInventory - id: Discount Dan's + id: DiscountDansInventory name: Discount Dan's description: A vending machine containing discount snacks from the infamous 'Discount Dan' franchise. spriteName: discount diff --git a/Resources/Prototypes/Catalog/VendingMachines/empty.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/empty.yml similarity index 57% rename from Resources/Prototypes/Catalog/VendingMachines/empty.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/empty.yml index 134f3cc2ac..38f1de5aba 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/empty.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/empty.yml @@ -1,5 +1,5 @@ - type: vendingMachineInventory - id: empty vending machine - name: empty vending machine + id: EmptyVendingMachineInventory + name: Empty vending machine description: Just add capitalism! spriteName: empty diff --git a/Resources/Prototypes/Catalog/VendingMachines/engivend.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/engivend.yml similarity index 91% rename from Resources/Prototypes/Catalog/VendingMachines/engivend.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/engivend.yml index 9db79d4ed0..7bc67a96b1 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/engivend.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/engivend.yml @@ -1,5 +1,5 @@ - type: vendingMachineInventory - id: Engi-Vend + id: EngiVendInventory name: Engi-Vend description: Spare tool vending. What? Did you expect some witty description? animationDuration: 2.1 diff --git a/Resources/Prototypes/Catalog/VendingMachines/magivend.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/magivend.yml similarity index 95% rename from Resources/Prototypes/Catalog/VendingMachines/magivend.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/magivend.yml index 65d9a21d92..cec462e2b7 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/magivend.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/magivend.yml @@ -1,5 +1,5 @@ - type: vendingMachineInventory - id: MagiVend + id: MagiVendInventory name: MagiVend description: A mystical vending machine containing magical garments and magic supplies. animationDuration: 1.5 diff --git a/Resources/Prototypes/Catalog/VendingMachines/medical.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/medical.yml similarity index 89% rename from Resources/Prototypes/Catalog/VendingMachines/medical.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/medical.yml index 3bcc1c2913..386d547674 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/medical.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/medical.yml @@ -1,5 +1,5 @@ - type: vendingMachineInventory - id: NanoMed Plus + id: NanoMedPlusInventory name: NanoMed Plus description: "It's a medical drug dispenser. Natural chemicals only!" animationDuration: 1.8 diff --git a/Resources/Prototypes/Catalog/VendingMachines/mining.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/mining.yml similarity index 84% rename from Resources/Prototypes/Catalog/VendingMachines/mining.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/mining.yml index 205336c487..70fdae728c 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/mining.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/mining.yml @@ -1,5 +1,5 @@ - type: vendingMachineInventory - id: Dwarven Mining Equipment + id: DwarvenMiningEquipmentInventory name: Dwarven Mining Equipment description: Get your mining equipment here, and above all keep digging! spriteName: mining diff --git a/Resources/Prototypes/Catalog/VendingMachines/nutri.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/nutri.yml similarity index 93% rename from Resources/Prototypes/Catalog/VendingMachines/nutri.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/nutri.yml index 64def65762..4c81683f1f 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/nutri.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/nutri.yml @@ -1,5 +1,5 @@ - type: vendingMachineInventory - id: NutriMax + id: NutriMaxInventory name: NutriMax description: A vending machine containing nutritional substances for plants and botanical tools. spriteName: nutri diff --git a/Resources/Prototypes/Catalog/VendingMachines/robotics.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/robotics.yml similarity index 94% rename from Resources/Prototypes/Catalog/VendingMachines/robotics.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/robotics.yml index 67b07c779a..4ad070fae9 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/robotics.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/robotics.yml @@ -1,5 +1,5 @@ - type: vendingMachineInventory - id: Robotech Deluxe + id: RobotechDeluxeInventory name: Robotech Deluxe description: All the fine parts you need in one vending machine! spriteName: robotics diff --git a/Resources/Prototypes/Catalog/VendingMachines/sec.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/sec.yml similarity index 95% rename from Resources/Prototypes/Catalog/VendingMachines/sec.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/sec.yml index c382003e3d..b18bb2402d 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/sec.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/sec.yml @@ -1,5 +1,5 @@ - type: vendingMachineInventory - id: SecTech + id: SecTechInventory name: SecTech description: "A vending machine containing Security equipment. A label reads \"SECURITY PERSONNEL ONLY\"." animationDuration: 2.8 diff --git a/Resources/Prototypes/Catalog/VendingMachines/seeds.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/seeds.yml similarity index 93% rename from Resources/Prototypes/Catalog/VendingMachines/seeds.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/seeds.yml index 675a4c2a21..5749b16a43 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/seeds.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/seeds.yml @@ -1,5 +1,5 @@ - type: vendingMachineInventory - id: MegaSeed Servitor + id: MegaSeedServitorInventory name: MegaSeed Servitor description: For when you need seeds fast. Hands down the best seed selection on the station! animationDuration: 1.3 diff --git a/Resources/Prototypes/Catalog/VendingMachines/smartfridge.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/smartfridge.yml similarity index 85% rename from Resources/Prototypes/Catalog/VendingMachines/smartfridge.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/smartfridge.yml index 39fb27e203..ab4e9f791a 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/smartfridge.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/smartfridge.yml @@ -1,5 +1,5 @@ - type: vendingMachineInventory - id: SmartFridge + id: SmartFridgeInventory name: SmartFridge description: A refrigerated storage unit for storing medicine and chemicals. spriteName: smartfridge diff --git a/Resources/Prototypes/Catalog/VendingMachines/snack.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/snack.yml similarity index 90% rename from Resources/Prototypes/Catalog/VendingMachines/snack.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/snack.yml index 0ec0304b8d..6a3ba024de 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/snack.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/snack.yml @@ -1,5 +1,5 @@ - type: vendingMachineInventory - id: Getmore Chocolate Corp + id: GetmoreChocolateCorpInventory name: Getmore Chocolate Corp description: "A snack machine courtesy of the Getmore Chocolate Corporation, based out of Mars." animationDuration: 0.5 diff --git a/Resources/Prototypes/Catalog/VendingMachines/sovietsoda.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/sovietsoda.yml similarity index 87% rename from Resources/Prototypes/Catalog/VendingMachines/sovietsoda.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/sovietsoda.yml index 6dcd873027..29985386e0 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/sovietsoda.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/sovietsoda.yml @@ -1,7 +1,7 @@ - type: vendingMachineInventory - id: BODA + id: BodaInventory name: BODA description: An old vending machine containing sweet water. spriteName: sovietsoda startingInventory: - DrinkColaCan: 10 #typically hacked product. Default product is "soda" \ No newline at end of file + DrinkColaCan: 10 #typically hacked product. Default product is "soda" diff --git a/Resources/Prototypes/Catalog/VendingMachines/theater.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/theater.yml similarity index 96% rename from Resources/Prototypes/Catalog/VendingMachines/theater.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/theater.yml index 19c0b812d8..bc8d619929 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/theater.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/theater.yml @@ -1,5 +1,5 @@ - type: vendingMachineInventory - id: AutoDrobe + id: AutoDrobeInventory name: AutoDrobe description: A vending machine containing costumes. spriteName: theater diff --git a/Resources/Prototypes/Catalog/VendingMachines/vendomat.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/vendomat.yml similarity index 84% rename from Resources/Prototypes/Catalog/VendingMachines/vendomat.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/vendomat.yml index 8cdadeccb5..2f320ed14b 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/vendomat.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/vendomat.yml @@ -1,5 +1,5 @@ - type: vendingMachineInventory - id: Vendomat + id: VendomatInventory name: Vendomat description: "Only the finest robust equipment in space!" spriteName: vendomat diff --git a/Resources/Prototypes/Catalog/VendingMachines/wallmed.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/wallmed.yml similarity index 90% rename from Resources/Prototypes/Catalog/VendingMachines/wallmed.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/wallmed.yml index fd86e9d23e..f614eed3ac 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/wallmed.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/wallmed.yml @@ -1,5 +1,5 @@ - type: vendingMachineInventory - id: NanoMed + id: NanoMedInventory name: NanoMed description: "It's a wall-mounted medical equipment dispenser. Natural chemicals only!" spriteName: wallmed diff --git a/Resources/Prototypes/Catalog/VendingMachines/youtool.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/youtool.yml similarity index 93% rename from Resources/Prototypes/Catalog/VendingMachines/youtool.yml rename to Resources/Prototypes/Catalog/VendingMachines/Inventories/youtool.yml index c461843f54..233b9ccde1 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/youtool.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/youtool.yml @@ -1,5 +1,5 @@ - type: vendingMachineInventory - id: YouTool + id: YouToolInventory name: YouTool description: "A vending machine containing standard tools. A label reads: \"Tools for tools.\"" animationDuration: 1.1 diff --git a/Resources/Prototypes/Entities/Constructible/Power/vending_machines.yml b/Resources/Prototypes/Entities/Constructible/Power/vending_machines.yml index bd27c56ba1..92c3548211 100644 --- a/Resources/Prototypes/Entities/Constructible/Power/vending_machines.yml +++ b/Resources/Prototypes/Entities/Constructible/Power/vending_machines.yml @@ -2,7 +2,7 @@ - type: entity id: VendingMachine parent: BaseConstructible - name: vending machine + name: Vending machine abstract: true components: - type: InteractionOutline @@ -49,12 +49,14 @@ id: VendingMachineAmmo name: Liberation Station description: An overwhelming amount of ancient patriotism washes over you just by looking at the machine. -# Ads cause I remember somebody was working on these -# product_slogans = "Liberation Station: Your one-stop shop for all things second amendment!;Be a patriot today, pick up a gun!;Quality weapons for cheap prices!;Better dead than red!" -# product_ads = "Float like an astronaut, sting like a bullet!;Express your second amendment today!;Guns don't kill people, but you can!;Who needs responsibilities when you have guns?" components: - type: VendingMachine - pack: AmmoVend + pack: AmmoVendInventory + - type: Advertise + pack: AmmoVendAds + minWait: 480 # 8 minutes + maxWait: 600 # 10 minutes + - type: Speech - type: Sprite sprite: Constructible/Power/VendingMachines/ammo.rsi layers: @@ -78,7 +80,12 @@ name: Booze-O-Mat components: - type: VendingMachine - pack: Booze-O-Mat + pack: BoozeOMatInventory + - type: Advertise + pack: BoozeOMatAds + minWait: 480 # 8 minutes + maxWait: 600 # 10 minutes + - type: Speech - type: Sprite sprite: Constructible/Power/VendingMachines/boozeomat.rsi layers: @@ -130,7 +137,7 @@ name: PTech components: - type: VendingMachine - pack: PTech + pack: PTechInventory - type: Sprite sprite: Constructible/Power/VendingMachines/cart.rsi layers: @@ -153,10 +160,15 @@ - type: entity parent: VendingMachine id: VendingMachineCigs - name: cigarette machine + name: Cigarette machine components: - type: VendingMachine - pack: Cigarette machine + pack: CigaretteMachineInventory + - type: Advertise + pack: CigaretteMachineAds + minWait: 480 # 8 minutes + maxWait: 600 # 10 minutes + - type: Speech - type: Sprite sprite: Constructible/Power/VendingMachines/cigs.rsi layers: @@ -182,7 +194,12 @@ name: ClothesMate components: - type: VendingMachine - pack: ClothesMate + pack: ClothesMateInventory + - type: Advertise + pack: ClothesMateAds + minWait: 480 # 8 minutes + maxWait: 600 # 10 minutes + - type: Speech - type: Sprite sprite: Constructible/Power/VendingMachines/clothing.rsi layers: @@ -200,15 +217,19 @@ denyUnshaded: true broken: true - type: WiresVisualizer -# slogans = "Dress for success!;Prepare to look swagalicious!;Look at all this swag!;Why leave style up to fate? Use the ClothesMate!" - type: entity parent: VendingMachine id: VendingMachineCoffee - name: hot drinks machine + name: Hot drinks machine components: - type: VendingMachine - pack: Hot Drinks machine + pack: HotDrinksMachineInventory + - type: Advertise + pack: HotDrinksMachineAds + minWait: 480 # 8 minutes + maxWait: 600 # 10 minutes + - type: Speech - type: Sprite sprite: Constructible/Power/VendingMachines/coffee.rsi layers: @@ -238,7 +259,12 @@ name: Robust Softdrinks components: - type: VendingMachine - pack: Robust Softdrinks + pack: RobustSoftdrinksInventory + - type: Advertise + pack: RobustSoftdrinksAds + minWait: 480 # 8 minutes + maxWait: 600 # 10 minutes + - type: Speech - type: Sprite sprite: Constructible/Power/VendingMachines/cola.rsi layers: @@ -264,7 +290,7 @@ name: Dinnerware components: - type: VendingMachine - pack: Dinnerware + pack: DinnerwareInventory - type: Sprite sprite: Constructible/Power/VendingMachines/dinnerware.rsi layers: @@ -291,7 +317,12 @@ name: Discount Dan's components: - type: VendingMachine - pack: Discount Dan's + pack: DiscountDansInventory + - type: Advertise + pack: DiscountDansAds + minWait: 480 # 8 minutes + maxWait: 600 # 10 minutes + - type: Speech - type: Sprite sprite: Constructible/Power/VendingMachines/discount.rsi layers: @@ -315,7 +346,7 @@ name: Engi-Vend components: - type: VendingMachine - pack: Engi-Vend + pack: EngiVendInventory - type: Sprite sprite: Constructible/Power/VendingMachines/engivend.rsi layers: @@ -343,7 +374,7 @@ name: NanoMed Plus components: - type: VendingMachine - pack: NanoMed Plus + pack: NanoMedPlusInventory - type: Sprite sprite: Constructible/Power/VendingMachines/medical.rsi layers: @@ -371,7 +402,7 @@ name: NutriMax components: - type: VendingMachine - pack: NutriMax + pack: NutriMaxInventory - type: Sprite sprite: Constructible/Power/VendingMachines/nutri.rsi layers: @@ -399,7 +430,7 @@ name: SecTech components: - type: VendingMachine - pack: SecTech + pack: SecTechInventory - type: Sprite sprite: Constructible/Power/VendingMachines/sec.rsi layers: @@ -426,7 +457,7 @@ name: MegaSeed Servitor components: - type: VendingMachine - pack: MegaSeed Servitor + pack: MegaSeedServitorInventory - type: Sprite sprite: Constructible/Power/VendingMachines/seeds.rsi layers: @@ -453,7 +484,12 @@ name: SmartFridge components: - type: VendingMachine - pack: SmartFridge + pack: SmartFridgeInventory + - type: Advertise + pack: SmartFridgeAds + minWait: 480 # 8 minutes + maxWait: 600 # 10 minutes + - type: Speech - type: Sprite sprite: Constructible/Power/VendingMachines/smartfridge.rsi layers: @@ -477,7 +513,12 @@ name: Getmore Chocolate Corp components: - type: VendingMachine - pack: Getmore Chocolate Corp + pack: GetmoreChocolateCorpInventory + - type: Advertise + pack: GetmoreChocolateCorpAds + minWait: 480 # 8 minutes + maxWait: 600 # 10 minutes + - type: Speech - type: Sprite sprite: Constructible/Power/VendingMachines/snack.rsi layers: @@ -503,7 +544,12 @@ name: BODA components: - type: VendingMachine - pack: BODA + pack: BodaInventory + - type: Advertise + pack: BodaAds + minWait: 480 # 8 minutes + maxWait: 600 # 10 minutes + - type: Speech - type: Sprite sprite: Constructible/Power/VendingMachines/sovietsoda.rsi layers: @@ -529,7 +575,12 @@ name: AutoDrobe components: - type: VendingMachine - pack: AutoDrobe + pack: AutoDrobeInventory + - type: Advertise + pack: AutoDrobeAds + minWait: 480 # 8 minutes + maxWait: 600 # 10 minutes + - type: Speech - type: Sprite sprite: Constructible/Power/VendingMachines/theater.rsi layers: @@ -559,7 +610,12 @@ name: Vendomat components: - type: VendingMachine - pack: Vendomat + pack: VendomatInventory + - type: Advertise + pack: VendomatAds + minWait: 480 # 8 minutes + maxWait: 600 # 10 minutes + - type: Speech - type: Sprite sprite: Constructible/Power/VendingMachines/vendomat.rsi layers: @@ -586,7 +642,7 @@ name: NanoMed components: - type: VendingMachine - pack: NanoMed + pack: NanoMedInventory - type: Sprite sprite: Constructible/Power/VendingMachines/wallmed.rsi layers: @@ -613,7 +669,7 @@ name: YouTool components: - type: VendingMachine - pack: YouTool + pack: YouToolInventory - type: Sprite sprite: Constructible/Power/VendingMachines/youtool.rsi layers: