diff --git a/Resources/Locale/en-US/advertisements/vending/games.ftl b/Resources/Locale/en-US/advertisements/vending/games.ftl new file mode 100644 index 0000000000..f6beabec6f --- /dev/null +++ b/Resources/Locale/en-US/advertisements/vending/games.ftl @@ -0,0 +1,8 @@ +advertisement-goodcleanfun-1 = Escape to a fantasy world! +advertisement-goodcleanfun-2 = Fuel your gambling addiction! +advertisement-goodcleanfun-3 = Ruin your friendships! +advertisement-goodcleanfun-4 = Roll for initiative! +advertisement-goodcleanfun-5 = Elves and dwarves! +advertisement-goodcleanfun-6 = Paranoid computers! +advertisement-goodcleanfun-7 = Totally not satanic! +advertisement-goodcleanfun-8 = Fun times forever! diff --git a/Resources/Prototypes/Catalog/VendingMachines/Advertisements/games.yml b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/games.yml new file mode 100644 index 0000000000..d3a320b371 --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Advertisements/games.yml @@ -0,0 +1,11 @@ +- type: advertisementsPack + id: GoodCleanFunAds + advertisements: + - advertisement-goodcleanfun-1 + - advertisement-goodcleanfun-2 + - advertisement-goodcleanfun-3 + - advertisement-goodcleanfun-4 + - advertisement-goodcleanfun-5 + - advertisement-goodcleanfun-6 + - advertisement-goodcleanfun-7 + - advertisement-goodcleanfun-8 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/games.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/games.yml new file mode 100644 index 0000000000..3dbd6f4eb9 --- /dev/null +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/games.yml @@ -0,0 +1,13 @@ +- type: vendingMachineInventory + id: GoodCleanFunInventory + name: Good Clean Fun + animationDuration: 1.3 + spriteName: games + startingInventory: + DiceBag: 4 + Paper: 8 + d6Dice: 8 + ChessBoard: 1 + BackgammonBoard: 1 + ParchisBoard: 1 + CheckerBoard: 1 diff --git a/Resources/Prototypes/Entities/Objects/Fun/dice.yml b/Resources/Prototypes/Entities/Objects/Fun/dice.yml index 9d82eb3c01..2a640ea5be 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/dice.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/dice.yml @@ -9,12 +9,17 @@ - type: Sprite sprite: Objects/Fun/dice.rsi noRot: true # If their sprites rotate, the number becomes even more illegible than usual. + - type: Tag + tags: + - Dice + - type: Item + size: 2 - type: entity parent: BaseDice id: d100Dice name: d100 - description: A die with one hundred sides! Probably not fairly weighted... + description: A die with ten sides. Works better for d100 rolls than a golf ball. components: - type: Dice sides: 100 diff --git a/Resources/Prototypes/Entities/Objects/Fun/dice_bag.yml b/Resources/Prototypes/Entities/Objects/Fun/dice_bag.yml new file mode 100644 index 0000000000..ba0c640ccd --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Fun/dice_bag.yml @@ -0,0 +1,38 @@ +- type: entity + parent: BaseItem + id: DiceBag + name: bag of dice + description: Contains all the luck you'll ever need. + components: + - type: StorageFill + contents: + - id: d4Dice + - id: d6Dice + - id: d8Dice + - id: d10Dice + - id: d12Dice + - id: d20Dice + - id: d100Dice + - type: Sprite + netsync: false + sprite: Objects/Fun/dice.rsi + state: dicebag + - type: Item + - type: Storage + capacity: 18 + size: 5 + whitelist: + tags: + - Dice + +- type: entity + parent: DiceBag + id: MagicDiceBag + name: bag of dice + components: + - type: Sprite + netsync: false + sprite: Objects/Fun/dice.rsi + state: magicdicebag + - type: Storage + capacity: 30 diff --git a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml index 2921c1418e..ebe3e4ecc4 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml @@ -170,7 +170,7 @@ radius: 1 energy: 1.3 color: "#ffb0b0" - + - type: entity parent: VendingMachine id: VendingMachineChapel @@ -809,3 +809,35 @@ radius: 1.5 energy: 1.6 color: "#d4ab33" + +- type: entity + parent: VendingMachine + id: VendingMachineGames + name: Good Clean Fun + description: Vends things that the Captain and Head of Personnel are probably not going to appreciate you fiddling with instead of your job... + components: + - type: VendingMachine + pack: GoodCleanFunInventory + - type: Advertise + pack: GoodCleanFunAds + - type: Sprite + sprite: Structures/Machines/VendingMachines/games.rsi + layers: + - state: "off" + map: ["enum.VendingMachineVisualLayers.Unlit"] + - state: "off" + map: ["enum.VendingMachineVisualLayers.BaseUnshaded"] + shader: unshaded + - state: panel + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: Appearance + visuals: + - type: VendingMachineVisualizer + normalUnshaded: true + ejectUnshaded: true + broken: true + - type: WiresVisualizer + - type: PointLight + radius: 1.5 + energy: 1.6 + color: "#326e3f" diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index 6c28880be8..db7b93250b 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -11,7 +11,7 @@ - type: Tag id: Brutepack - + - type: Tag id: BodyBag @@ -44,7 +44,7 @@ - type: Tag id: CaptainSabre - + - type: Tag id: Cartridge @@ -99,6 +99,9 @@ - type: Tag id: Debug +- type: Tag + id: Dice + - type: Tag id: Document @@ -251,7 +254,7 @@ - type: Tag id: Taser - + - type: Tag id: Trash diff --git a/Resources/Textures/Structures/Machines/VendingMachines/games.rsi/broken.png b/Resources/Textures/Structures/Machines/VendingMachines/games.rsi/broken.png new file mode 100644 index 0000000000..be3c4f4d69 Binary files /dev/null and b/Resources/Textures/Structures/Machines/VendingMachines/games.rsi/broken.png differ diff --git a/Resources/Textures/Structures/Machines/VendingMachines/games.rsi/eject-unshaded.png b/Resources/Textures/Structures/Machines/VendingMachines/games.rsi/eject-unshaded.png new file mode 100644 index 0000000000..d5814969aa Binary files /dev/null and b/Resources/Textures/Structures/Machines/VendingMachines/games.rsi/eject-unshaded.png differ diff --git a/Resources/Textures/Structures/Machines/VendingMachines/games.rsi/meta.json b/Resources/Textures/Structures/Machines/VendingMachines/games.rsi/meta.json new file mode 100644 index 0000000000..d45bae2bf9 --- /dev/null +++ b/Resources/Textures/Structures/Machines/VendingMachines/games.rsi/meta.json @@ -0,0 +1,43 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation https://github.com/tgstation/tgstation/commit/dd67e1e4e10bcf632b82b8b14b6a8479d80d5f78#diff-34173d670aca65c110ef18312c32abc4e05c84f33a9402248a32000e45acd0d3", + "states": [ + { + "name": "normal-unshaded", + "delays": [ + [ + 2.5, + 0.1, + 3.4, + 0.1 + ] + ] + }, + { + "name": "broken" + }, + { + "name": "eject-unshaded", + "delays": [ + [ + 0.5, + 0.1, + 1.0, + 0.1, + 0.1 + ] + ] + }, + { + "name": "off" + }, + { + "name": "panel" + } + ] +} diff --git a/Resources/Textures/Structures/Machines/VendingMachines/games.rsi/normal-unshaded.png b/Resources/Textures/Structures/Machines/VendingMachines/games.rsi/normal-unshaded.png new file mode 100644 index 0000000000..d7ac9ba8c4 Binary files /dev/null and b/Resources/Textures/Structures/Machines/VendingMachines/games.rsi/normal-unshaded.png differ diff --git a/Resources/Textures/Structures/Machines/VendingMachines/games.rsi/off.png b/Resources/Textures/Structures/Machines/VendingMachines/games.rsi/off.png new file mode 100644 index 0000000000..d688eea525 Binary files /dev/null and b/Resources/Textures/Structures/Machines/VendingMachines/games.rsi/off.png differ diff --git a/Resources/Textures/Structures/Machines/VendingMachines/games.rsi/panel.png b/Resources/Textures/Structures/Machines/VendingMachines/games.rsi/panel.png new file mode 100644 index 0000000000..9e3049e07d Binary files /dev/null and b/Resources/Textures/Structures/Machines/VendingMachines/games.rsi/panel.png differ