From 6df564aafcabdea28a01c28535ae62329c3b837e Mon Sep 17 00:00:00 2001 From: gluesniffler <159397573+gluesniffler@users.noreply.github.com> Date: Mon, 12 Aug 2024 17:43:52 -0400 Subject: [PATCH 01/11] Hardsuit MRP Descriptions (#725) # Description Copying over the original description from #617 > This is a significantly pared down version of #492 > Focusing only on a small category of item descriptions just to get the ball rolling. > > Space Station 14 is actually missing the other two suit-names that were at one point present and commonplace in SS13. The term "Hardsuit" is itself one of three classifications of space suit, based on a book series that I read as a teenager. The full list is as follows. > > Vacsuit: Vacuum-Protection-Suit > Hardsuit: Hardened Vacsuit > Tacsuit: Tactical Combat Hardsuit > Vacsuits are a catch-all shorthand for civilian space suits. They offer no actual protection from anything other than the cold void. > Hardsuits are a form of "Up-armored" vacsuit, and are more like industrial PPE in space. You wear a hardsuit because it's there to protect you while you're welding, shipbreaking, asteroid mining, and so on. > Tacsuits are a variant on the idea of a hardsuit, but instead of having an industrial purpose, they are explicitly for military purposes, and aren't for civilian use at all. > > I've opened this up on draft because Mocho was asking to help me with it. > > Generally, the hardsuits need to be explicitly associated with a specific in-universe corporation. With descriptions changed to better suit a hypothetical setting that we'd wish to write. > > For instance, much of the equipment used by Security would likely be products of Five-Points-Armory, a corporation that NT prefers to buy their security equipment from for the simple fact that it's cheap, yet gets the job done. Rewrote hardsuit descriptions to match the original request, but from the POV of a character as suggested by @DangerRevolution. The descriptions also have a rough template which goes along the lines of... {Type of suit} produced by {corporation} + {optional visual attributes} + the label/tag says {hint at protective stats} + it feels {light or heavy depending on speed stats}. In the commits you can also find that I had lengthier but more fleshed out descs for each of the hardsuits. But they went into detail your character wouldn't feasibly be able to know at a glance (how do I know this suit is made of plastitanium plating, and that the other has ceramic TPS plates?). Feel free to ask for mix and matching between the two. **Also I moved the paramedic voidsuit to be a hardsuit, because for whatever reason it wasn't one already.** Even had all of the properties that a normal hardsuit does. :trollface: --- # Changelog :cl: - tweak: Changed hardsuit descriptions to be slightly less LRP. - tweak: Changed paramedic voidsuit from a softsuit to a hardsuit. --------- Co-authored-by: VMSolidus --- .../clothing/head/hardsuit-helmets.ftl | 102 +++++++++++++ .../clothing/outerClothing/hardsuits.ftl | 135 ++++++++++++++++++ .../Catalog/Fills/Lockers/suit_storage.yml | 3 +- .../Entities/Clothing/Head/eva-helmets.yml | 20 --- .../Clothing/Head/hardsuit-helmets.yml | 19 +++ .../Clothing/OuterClothing/hardsuits.yml | 32 +++++ .../Clothing/OuterClothing/softsuits.yml | 53 ++----- .../Clothing/Head/hardsuit-helmets.yml | 4 +- .../Objectives/stealTargetGroups.yml | 2 +- .../paramedhelm.rsi/equipped-HELMET.png | Bin .../paramedhelm.rsi/icon.png | Bin .../paramedhelm.rsi/inhand-left.png | Bin .../paramedhelm.rsi/inhand-right.png | Bin .../paramedhelm.rsi/meta.json | 52 +++---- 14 files changed, 326 insertions(+), 96 deletions(-) create mode 100644 Resources/Locale/en-US/prototypes/entities/clothing/head/hardsuit-helmets.ftl create mode 100644 Resources/Locale/en-US/prototypes/entities/clothing/outerClothing/hardsuits.ftl rename Resources/Textures/Clothing/Head/{Helmets => Hardsuits}/paramedhelm.rsi/equipped-HELMET.png (100%) rename Resources/Textures/Clothing/Head/{Helmets => Hardsuits}/paramedhelm.rsi/icon.png (100%) rename Resources/Textures/Clothing/Head/{Helmets => Hardsuits}/paramedhelm.rsi/inhand-left.png (100%) rename Resources/Textures/Clothing/Head/{Helmets => Hardsuits}/paramedhelm.rsi/inhand-right.png (100%) rename Resources/Textures/Clothing/Head/{Helmets => Hardsuits}/paramedhelm.rsi/meta.json (95%) diff --git a/Resources/Locale/en-US/prototypes/entities/clothing/head/hardsuit-helmets.ftl b/Resources/Locale/en-US/prototypes/entities/clothing/head/hardsuit-helmets.ftl new file mode 100644 index 00000000000..2bbacf2abca --- /dev/null +++ b/Resources/Locale/en-US/prototypes/entities/clothing/head/hardsuit-helmets.ftl @@ -0,0 +1,102 @@ +ent-ClothingHeadHelmetHardsuitBasic = basic vacsuit helmet + .desc = A common vacsuit helmet that provides little more than basic protection from vacuum. +ent-ClothingHeadHelmetHardsuitAtmos = HpI-19t helmet + .desc = The Fotia's standard helmet, it features the same heat protection as the suit, along with some integrated protective gear for the wearer's head. +ent-ClothingHeadHelmetHardsuitEngineering = HpI-19r helmet + .desc = The Lampsi's standard helmet, it features the same radiation protection as the suit, along with some integrated protective gear for the wearer's head. +ent-ClothingHeadHelmetHardsuitSpatio = HpI-20s helmet + .desc = A lightweight helmet designed for the Kriti hardsuit, it allows for better mobility, along with some protection against radiation. +ent-ClothingHeadHelmetHardsuitSalvage = HpI-20a helmet + .desc = A bulky helmet designed for the Lavrion hardsuit, it has reinforced plating to protect the wearer's head in wildlife encounters. +ent-ClothingHeadHelmetHardsuitVoidParamed = ZhP-24m helmet + .desc = A lightweight helmet designed for use with the Sukunabikona hardsuit. Parts of the helmet are made of hard transparent plastics, allowing for better visibility. +ent-ClothingHeadHelmetHardsuitMaxim = mysterious helmet + .desc = An old looking helmet, it seems rather sturdy and lightweight. It also has an ominous red and black color scheme. +ent-ClothingHeadHelmetHardsuitSecurity = FPA-83s helmet + .desc = A bulky helmet deployed with the Baghatur tacsuit. Protects its wearer against ballistics and explosive ordinance, at the cost of some mobility. +ent-ClothingHeadHelmetHardsuitBrigmedic = FPA-84m helmet + .desc = A bulky helmet deployed with the Tsagaan tacsuit. Protects its wearer against ballistics and explosive ordinance, at the cost of some mobility. +ent-ClothingHeadHelmetHardsuitCombatStandard = FPA-85 helmet + .desc = A bulky helmet deployed with the Baghatur Mk.II tacsuit. + Protects its wearer against ballistics and explosive ordinance, at the cost of some mobility. +ent-ClothingHeadHelmetHardsuitCombatOfficer = FPA-85s helmet + .desc = { ent-ClothingHeadHelmetHardsuitCombatStandard.desc } +ent-ClothingHeadHelmetHardsuitCombatMedical = FPA-86 helmet + .desc = A bulky helmet deployed with the Tsagaan Mk.II tacsuit. + Protects its wearer against ballistics and explosive ordinance, at the cost of some mobility. +ent-ClothingHeadHelmetHardsuitCombatCorpsman = FPA-86m helmet + .desc = { ent-ClothingHeadHelmetHardsuitCombatMedical.desc } +ent-ClothingHeadHelmetHardsuitWarden = FPA-92s helmet + .desc = A modified riot-control helmet for use with the Sulde tacsuit. Offers better overall protection than standard tacsuits at the expense of mobility. +ent-ClothingHeadHelmetHardsuitCombatRiot = FPA-93 helmet + .desc = A modified riot-control helmet for use with the Sulde Mk.II tacsuit. + Offers better overall protection than other models at the expense of mobility. +ent-ClothingHeadHelmetHardsuitCombatWarden = FPA-93s helmet + .desc = { ent-ClothingHeadHelmetHardsuitCombatRiot.desc } +ent-ClothingHeadHelmetHardsuitCap = NT-42c helmet + .desc = A special helmet for the Tengri tacsuit, despite its lightweight appearance, it provides good all-around protection to its wearer. +ent-ClothingHeadHelmetHardsuitEngineeringWhite = HpI-24c helmet + .desc = A high-grade helmet used with the Daedalus hardsuit, it has a lighter construction than its standard counterparts, along with more radiation protection. +ent-ClothingHeadHelmetHardsuitMedical = ZhP-25m helmet + .desc = An extraordinarily lightweight helmet designed for use with the Okuninushi hardsuit. + It is primarily made from transparent hard-plastics, providing complete freedom of vision. +ent-ClothingHeadHelmetHardsuitRd = NT-45e helmet + .desc = A heavily armored helmet worn over the Sophia hardsuit. It boasts the same near-immunity to explosions, heat and radiation as the suit, but heavily restricts the wearer's mobility. +ent-ClothingHeadHelmetHardsuitMystagogue = NT-45e helmet + .desc = { ent-ClothingHeadHelmetHardsuitRd.desc } +ent-ClothingHeadHelmetHardsuitSecurityRed = FPA-98s helmet + .desc = A high quality helmet for the Dayicin tacsuit. It offers better overall protection than standard tacsuits without impacting mobility as much. +ent-ClothingHeadHelmetHardsuitCombatAdvanced = FPA-99 helmet + .desc = A high quality helmet for the Dayicin Mk.II tacsuit. + Features a lightweight construction, offering the same protection as a standard tacsuit without impacting mobility as much. +ent-ClothingHeadHelmetHardsuitCombatHoS = FPA-99s helmet + .desc = { ent-ClothingHeadHelmetHardsuitCombatAdvanced.desc } +ent-ClothingHeadHelmetHardsuitLuxury = HpI-20c helmet + .desc = A modified helmet for the Minos hardsuit, fashioned after the Logistics Officer's colors. It's been modified for greater mobility at the expense of physical trauma protection. +ent-ClothingHeadHelmetHardsuitSyndie = CSA-51a helmet + .desc = An armored helmet deployed over a Shanlin tacsuit. This one has been painted blood red. +ent-ClothingHeadHelmetHardsuitSyndieMedic = CSA-51m helmet + .desc = An armored helmet deployed over a Zhongyao tacsuit. features optic integrations for nearly every medical hud on the market. + Designed to enable the survival of combat medics in the most dangerous of environments. +ent-ClothingHeadHelmetHardsuitSyndieElite = CSA-54UA helmet + .desc = An elite version of the Shanlin tacsuit's helmet, featuring improved armor and fireproofing. +ent-ClothingHeadHelmetHardsuitSyndieCommander = CSA-54c helmet + .desc = A bulked up version of the Shanlin tacsuit's helmet, purpose-built for commanders of special operation squads. This one has been painted blood-red. +ent-ClothingHeadHelmetHardsuitCybersun = CSA-80UA helmet + .desc = An incredibly sturdy looking helmet designed for the Guan Yu tacsuit. +ent-ClothingHeadHelmetHardsuitWizard = WZD-84 helmet + .desc = A bizarre, gem-encrusted helmet from unknown origins. It provides some protection to its wearer without restricting their movements. +ent-ClothingHeadHelmetHardsuitLing = organic space helmet + .desc = A spaceworthy biomass of pressure and temperature resistant tissue. +ent-ClothingHeadHelmetHardsuitPirateEVA = pirate helmet + .desc = A pirate vacsuit helmet, very heavy but provides good protection. + .suffix = Pirate +ent-ClothingHeadHelmetHardsuitPirateCap = pirate captain's tacsuit helmet + .desc = A special hardsuit helmet, made for the captain of a pirate ship. + .suffix = Pirate +ent-ClothingHeadHelmetHardsuitSyndieReverseEngineered = NTSA-122 helmet + .desc = A sturdy, lightweight helmet made by the special adquisitions department of Nanotrasen. +ent-ClothingHeadHelmetHardsuitJuggernautReverseEngineered = NTSA-126 helmet + .desc = A very sturdy helmet made by the special acquisitions department of Nanotrasen, based on the "Juggernaut" tacsuit's design. +ent-ClothingHeadHelmetHardsuitERTCentcomm = NT-444c helmet + .desc = A special tacsuit helmet worn by Central Command Officers. +ent-ClothingHeadHelmetHardsuitERTLeader = NT-444l helmet + .desc = A special tacsuit helmet worn by leaders of an emergency response team. +ent-ClothingHeadHelmetHardsuitERTEngineer = NT-444e helmet + .desc = A special hardsuit helmet worn by members of an engineering emergency response team. +ent-ClothingHeadHelmetHardsuitERTMedical = NT-444m helmet + .desc = A special hardsuit helmet worn by members of a medical emergency response team. +ent-ClothingHeadHelmetHardsuitERTSecurity = NT-444s helmet + .desc = A special tacsuit helmet worn by members of a engineering emergency response team. +ent-ClothingHeadHelmetHardsuitERTJanitor = NT-444j helmet + .desc = A special hardsuit helmet worn by members of a janitorial emergency response team. +ent-ClothingHeadHelmetCBURN = NT-444-CBRN helmet + .desc = A pressure resistant and fireproof hood worn by special cleanup units. +ent-ClothingHeadHelmetHardsuitDeathsquad = NT-662ua helmet + .desc = A highly advanced, top of the line helmet used in special operations. +ent-ClothingHeadHelmetHardsuitClown = clown vacsuit helmet + .desc = A colorful clown vacsuit helmet. On closer inspection, it appears to be a normal helmet painted with crayons, and a clown mask glued on top. +ent-ClothingHeadHelmetHardsuitMime = mime vacsuit helmet + .desc = A mime vacsuit helmet. On closer inspection, it appears to be a normal helmet painted with crayons, and a mime mask glued on top. +ent-ClothingHeadHelmetHardsuitSanta = DNK-31 helmet + .desc = A festive-looking hardsuit helmet that provides the jolly gift-giver protection from low-pressure environments. \ No newline at end of file diff --git a/Resources/Locale/en-US/prototypes/entities/clothing/outerClothing/hardsuits.ftl b/Resources/Locale/en-US/prototypes/entities/clothing/outerClothing/hardsuits.ftl new file mode 100644 index 00000000000..84f03af5c92 --- /dev/null +++ b/Resources/Locale/en-US/prototypes/entities/clothing/outerClothing/hardsuits.ftl @@ -0,0 +1,135 @@ +ent-ClothingOuterHardsuitBasic = basic vacsuit + .desc = A common, colonial-era vacsuit of indeterminate make and model. It's strictly better than nothing, but not by much. +ent-ClothingOuterHardsuitAtmos = HpI-19t "Fotia" hardsuit + .desc = A standard-issue hardsuit produced by Hephaestus Industries, used by atmospheric technicians in low & high pressure environments. + The label indicates that its rated for high amounts of thermal exposure. It feels a bit heavy. +ent-ClothingOuterHardsuitEngineering = HpI-19r "Lampsi" hardsuit + .desc = A standard-issue hardsuit produced by Hephaestus Industries, used by engineers in low & high pressure environments. + The label indicates that its rated for moderate amounts of radiation exposure. It feels a bit heavy. +ent-ClothingOuterHardsuitSpatio = HpI-20s "Kriti" hardsuit + .desc = A standard-issue hardsuit produced by Hephaestus Industries, designed for industrial work in low pressure environments. + The label indicates that its rated for moderate amounts of radiation exposure, and it feels somewhat light. +ent-ClothingOuterHardsuitSalvage = HpI-20a "Lavrion" hardsuit + .desc = A sturdy hardsuit produced by Hephaestus Industries, designed for industrial work in low pressure environments. + The labels indicate that it provides protection against most forms of damage. It feels heavy. +ent-ClothingOuterHardsuitVoidParamed = ZhP-24m "Sukunabikona" + .desc = A standard-issue hardsuit manufactured by Zeng-Hu Pharmaceuticals, used by paramedics due to its lightweight frame. + The label mentions that it offers some protection against chemical spills. +ent-ClothingOuterHardsuitMaxim = Mysterious tacsuit + .desc = An old looking tactical combat hardsuit. It has a faded red logo on it along with the words "Maxim". + It feels very sturdy and doesn't seem to have any weight... Though it has an ominous aura to it. +ent-ClothingOuterHardsuitSecurity = FPA-83s - "Baghatur" tacsuit + .desc = A sturdy tactical combat hardsuit mass-produced by Five-Points-Armory, used by the Nanotrasen security force. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels heavy. +ent-ClothingOuterHardsuitBrigmedic = FPA-84m - "Tsagaan" tacsuit + .desc = A sturdy tactical combat hardsuit mass-produced by Five-Points-Armory, used by doctors in the Nanotrasen security force. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels heavy. +ent-ClothingOuterHardsuitCombatStandard = FPA-85 - "Baghatur Mk.II" tacsuit + .desc = A sturdy tactical combat hardsuit mass-produced by Five-Points-Armory. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels heavy. +ent-ClothingOuterHardsuitCombatOfficer = FPA-85s - "Baghatur Mk.II" tacsuit + .desc = A sturdy tactical combat hardsuit mass-produced by Five-Points-Armory, painted with the colors of station security. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels heavy. +ent-ClothingOuterHardsuitCombatMedical = FPA-86 - "Tsagaan Mk.II" tacsuit + .desc = A sturdy tactical combat hardsuit mass-produced by Five-Points-Armory. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels heavy. +ent-ClothingOuterHardsuitCombatCorpsman = FPA-86m - "Tsagaan Mk.II" tacsuit + .desc = A sturdy tactical combat hardsuit mass-produced by Five-Points-Armory, painted with the colors of station security & medical staff. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels heavy. +ent-ClothingOuterHardsuitWarden = FPA-92s - "Sulde" tacsuit + .desc = A specialized tactical combat hardsuit produced by Five-Points-Armory, often used by Wardens in Nanotrasen stations. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels VERY heavy. +ent-ClothingOuterHardsuitCombatRiot = FPA-93 - "Sulde Mk.II" tacsuit + .desc = A specialized tactical combat hardsuit produced by Five-Points-Armory. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels VERY heavy. +ent-ClothingOuterHardsuitCombatWarden = FPA-93s - "Sulde Mk.II" tacsuit + .desc = A specialized tactical combat hardsuit produced by Five-Points-Armory, painted with the colors of station security. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels VERY heavy. +ent-ClothingOuterHardsuitCap = NT-42c - "Tengri" tacsuit + .desc = A formal, tactical combat hardsuit, made in collaboration by Nanotrasen's R&D department with Five-Points-Armory for station captains. + The labels indicate that it provides protection against most forms of damage. It feels somewhat light. +ent-ClothingOuterHardsuitEngineeringWhite = HpI-24c "Daedalus" hardsuit + .desc = A specialized hardsuit produced by Hephaestus Industries, often purchased for use by Nanotrasen senior engineers. + The labels indicate that its rated for high amounts of radiation and pressure. It feels somewhat light. +ent-ClothingOuterHardsuitMedical = ZhP-25m - "Okuninushi" hardsuit + .desc = A hardsuit produced by Zeng-hu Pharmaceuticals, often purchased for use by Nanotrasen senior medical doctors. + The labels claim it protects against damage from most chemical spills. It feels incredibly light. +ent-ClothingOuterHardsuitRd = NT-45e - "Sophia" research hardsuit + .desc = The magnum opus of Nanotrasen's R&D division. The labels on this hardsuit claim that its near-immune to explosions, heat and radiation. + Somehow it also can shrink enough to fit in a bag. It feels VERY heavy. +ent-ClothingOuterHardsuitMystagogue = NT-45e - "Sophia" research hardsuit + .desc = { ent-ClothingOuterHardsuitRd.desc } +ent-ClothingOuterHardsuitSecurityRed = FPA-98s - "Dayicin" tacsuit + .desc = A top-of-the-line tactical combat hardsuit produced by Five-Points-Armory, often purchased for use by Nanotrasen senior security officers. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels somewhat light. +ent-ClothingOuterHardsuitCombatAdvanced = FPA-99 - "Dayicin Mk.II" tacsuit + .desc = A top-of-the-line tactical combat hardsuit produced by Five-Points-Armory. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels somewhat light. +ent-ClothingOuterHardsuitCombatHoS = FPA-99s - "Dayicin Mk.II" tacsuit + .desc = A top-of-the-line tactical combat hardsuit produced by Five-Points-Armory, painted with the colors of station security. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels somewhat light. +ent-ClothingOuterHardsuitLuxury = HpI-20c - "Minos" hardsuit + .desc = A modified mining hardsuit from Hephaestus Industries, fashioned after the Logistics Officer's colors. + The labels indicate that it provides slight protection against most forms of damage. It feels incredibly light. +ent-ClothingOuterHardsuitSyndie = CSA-51a - "Shanlin" tacsuit + .desc = A tactical combat hardsuit produced by the Cybersun-Armaments Corporation, the suit's tags indicate it provides moderate protection against most forms of damage. + This one has been painted blood red. It feels incredibly light. +ent-ClothingOuterHardsuitSyndieMedic = CSA-51m - "Zhongyao" tacsuit + .desc = A tactical combat hardsuit produced by the Cybersun-Armaments Corporation, the suit's tags indicate it provides moderate protection against most forms of damage. + Half of the suit is painted blood red, the rest bears galactic-standard medical markings. It feels incredibly light. +ent-ClothingOuterHardsuitSyndieElite = CSA-54UA - "Shiwei" tacsuit + .desc = An "Up-Armored" tactical combat hardsuit produced by the Cybersun-Armaments Corporation. + The suit's tags indicate its rated for high exposure to radiation, heat and explosions, along with moderate physical trauma protection. + It feels incredibly light. +ent-ClothingOuterHardsuitSyndieCommander = CSA-54c - "Tianming" tacsuit + .desc = A "Commander" tactical combat hardsuit produced by the Cybersun-Armaments Corporation. The suit's tags indicate that it protects greatly against all forms of damage. + This one has been painted blood red. It doesn't seem to have any weight. +ent-ClothingOuterHardsuitJuggernaut = CSA-80UA - "Guan Yu" tacsuit + .desc = The pride and joy of the Cybersun-Armaments Corporation, named after an ancient Sol' War God. Commonly known throughout the galaxy as a "Juggernaut". + Matching its bulky appearance, it protects against all forms of damage. It feels VERY heavy. +ent-ClothingOuterHardsuitWizard = WZD-84 - "Mana" tacsuit + .desc = A bizarre gem-encrusted hardsuit. Famously used by members of the Wizard Federation in their operations. + Contrary to it's appearance, it can protect its wearer from space and considerable amounts of physical trauma, it feels somewhat light. +ent-ClothingOuterHardsuitLing = organic vacsuit + .desc = A suit made of biomass tissue that is somehow capable of resisting the hazards of low pressure and temperature in space. +ent-ClothingOuterHardsuitPirateEVA = pirate vacsuit + .desc = A worn-out heavy space suit of unknown origin that provides some basic protection from the cold harsh realities of deep space. + .suffix = Pirate +ent-ClothingOuterHardsuitPirateCap = pirate captain's tacsuit + .desc = An ancient armored tactical combat hardsuit of unknown origin, provides basic protections from the cold harsh realities of deep space and physical trauma. + It doesn't seem to have any weight either. Perfect for defending against space scurvy and toolbox-wielding scallywags. +ent-ClothingOuterHardsuitSyndieReverseEngineered = NTSA-122 tacsuit + .desc = A suit made by the special adquisitions department of Nanotrasen, the suit's tags indicate it provides moderate protection against most forms of damage. +ent-ClothingOuterHardsuitJuggernautReverseEngineered = NTSA-126 tacsuit + .desc = A suit made by the special acquisitions department of Nanotrasen based on the "Juggernaut" design. + Matching its bulky appearance, it protects against all forms of damage. It feels VERY heavy. +ent-ClothingOuterHardsuitERTCentcomm = NT-444c - "Ophanim" tacsuit + .desc = A highly advanced, tactical combat hardsuit used by Central Command Officers, it seems to be branded with the Nanotrasen logo and a strange looking series number. + The armor appears to be lined with a very sturdy alloy, it doesn't seem to have any weight either. +ent-ClothingOuterHardsuitERTLeader = NT-444l - "Michael" tacsuit + .desc = A highly advanced, tactical combat hardsuit used by Leaders of the Emergency Response Team, it seems to be branded with the Nanotrasen logo and a strange looking series number. + The armor appears to be lined with a very sturdy alloy, it doesn't seem to have any weight either. +ent-ClothingOuterHardsuitERTEngineer = NT-444e - "Uriel" hardsuit + .desc = A highly advanced hardsuit used by Engineers of the Emergency Response Team, it seems to be branded with the Nanotrasen logo and a strange looking series number. + The armor appears to be lined with a very sturdy alloy, it doesn't seem to have any weight either. +ent-ClothingOuterHardsuitERTMedical = NT-444m - "Raphael" hardsuit + .desc = A highly advanced hardsuit used by Doctors of the Emergency Response Team, it seems to be branded with the Nanotrasen logo and a strange looking series number. + The armor appears to be lined with a very sturdy alloy, it doesn't seem to have any weight either. +ent-ClothingOuterHardsuitERTSecurity = NT-444s - "Gabriel" tacsuit + .desc = A highly advanced, tactical combat hardsuit used by Security Officers of the Emergency Response Team, it seems to be branded with the Nanotrasen logo and a strange looking series number. + The armor appears to be lined with a very sturdy alloy, it doesn't seem to have any weight either. +ent-ClothingOuterHardsuitERTJanitor = NT-444j - "Sandalphon" hardsuit + .desc = A highly advanced hardsuit used by Janitors of the Emergency Response Team, it seems to be branded with the Nanotrasen logo and a strange looking series number. + The armor appears to be lined with a very sturdy alloy, it doesn't seem to have any weight either. +ent-ClothingOuterHardsuitDeathsquad = NT-662ua "Samael" tacsuit + .desc = A highly advanced, top of the line tactical combat hardsuit, it seems to be branded with the Nanotrasen logo and a strange looking series number. + You can barely make out the letters "NTIA-DAP" written on it. The armor appears to be lined with a very sturdy alloy, and doesn't seem to have any weight either. +ent-ClothingOuterHardsuitCBURN = NT-444-CBRN -"Jophiel" tacsuit + .desc = A tactical combat hardsuit used by the CBURN subdivision of the Emergency Response Team, it seems to be branded with the Nanotrasen logo and a strange looking series number. + The armor appears to be lined with a rather plain, but sturdy alloy, it doesn't seem to have any weight either. +ent-ClothingOuterHardsuitClown = clown vacsuit + .desc = A custom-made clown vacsuit. On closer inspection, it appears to be a normal vacsuit with paint applied on top. +ent-ClothingOuterHardsuitMime = mime vacsuit + .desc = A custom-made mime vacsuit. On closer inspection, it appears to be a normal vacsuit with suspenders and paint applied on top. +ent-ClothingOuterHardsuitSanta = DNK-31 "Jolly" hardsuit + .desc = A festive hardsuit produced by Donk Co. for their time-limited celebratory events, provides protection for its jolly gift-giver to sleighride safely in space without worrying about asteroid strikes. \ No newline at end of file diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/suit_storage.yml b/Resources/Prototypes/Catalog/Fills/Lockers/suit_storage.yml index ac5cb47cc97..734bd485a2e 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/suit_storage.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/suit_storage.yml @@ -44,7 +44,7 @@ suffix: Prisoner EVA components: - type: StorageFill - contents: + contents: - id: OxygenTankFilled - id: ClothingOuterHardsuitEVAPrisoner - id: ClothingHeadHelmetEVALarge @@ -258,7 +258,6 @@ - id: NitrogenTankFilled - id: OxygenTankFilled - id: ClothingOuterHardsuitVoidParamed - - id: ClothingHeadHelmetVoidParamed - id: ClothingMaskBreathMedical - type: AccessReader access: [ [ "Paramedic" ] ] diff --git a/Resources/Prototypes/Entities/Clothing/Head/eva-helmets.yml b/Resources/Prototypes/Entities/Clothing/Head/eva-helmets.yml index 963bcdedd78..c3c6a617a03 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/eva-helmets.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/eva-helmets.yml @@ -54,26 +54,6 @@ - type: Clothing sprite: Clothing/Head/Helmets/cosmonaut.rsi -#Paramedic Void Helmet -- type: entity - parent: ClothingHeadEVAHelmetBase - id: ClothingHeadHelmetVoidParamed - name: paramedic void helmet - description: A void helmet made for paramedics. - components: - - type: BreathMask - - type: Sprite - sprite: Clothing/Head/Helmets/paramedhelm.rsi - - type: Clothing - sprite: Clothing/Head/Helmets/paramedhelm.rsi - - type: TemperatureProtection - coefficient: 0.1 - - type: Armor - modifiers: - coefficients: - Heat: 0.90 - Radiation: 0.75 - #Ancient Void Helmet - type: entity parent: ClothingHeadEVAHelmetBase diff --git a/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml b/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml index f1489b0ddd6..6985fe7ec39 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml @@ -156,6 +156,25 @@ Piercing: 0.9 Heat: 0.9 +#Paramedic Void Helmet +- type: entity + parent: ClothingHeadHardsuitBase + id: ClothingHeadHelmetHardsuitVoidParamed + name: paramedic void helmet + description: A void helmet made for paramedics. + components: + - type: BreathMask + - type: Sprite + sprite: Clothing/Head/Hardsuits/paramedhelm.rsi + - type: Clothing + sprite: Clothing/Head/Hardsuits/paramedhelm.rsi + - type: Armor + modifiers: + coefficients: + Heat: 0.90 + Radiation: 0.75 + + #Security Hardsuit - type: entity parent: ClothingHeadHardsuitWithLightBase diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml index 70ab3016469..ba889285a16 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml @@ -163,6 +163,38 @@ - type: ToggleableClothing clothingPrototype: ClothingHeadHelmetHardsuitSalvage +#Paramedic Voidsuit +- type: entity + parent: ClothingOuterHardsuitBase + id: ClothingOuterHardsuitVoidParamed + name: paramedic hardsuit + description: A hardsuit made for paramedics. + components: + - type: Sprite + sprite: Clothing/OuterClothing/Hardsuits/paramed.rsi + - type: Clothing + sprite: Clothing/OuterClothing/Hardsuits/paramed.rsi + - type: TemperatureProtection + coefficient: 0.1 + - type: PressureProtection + highPressureMultiplier: 0.5 + lowPressureMultiplier: 1000 + - type: Armor + modifiers: + coefficients: + Heat: 0.90 + Radiation: 0.75 + Caustic: 0.5 + - type: StealTarget + stealGroup: ClothingOuterHardsuitVoidParamed + - type: ClothingSpeedModifier + walkModifier: 0.9 + sprintModifier: 0.9 + - type: HeldSpeedModifier + - type: ToggleableClothing + clothingPrototype: ClothingHeadHelmetHardsuitVoidParamed + + - type: entity parent: ClothingOuterHardsuitBase id: ClothingOuterHardsuitMaxim diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/softsuits.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/softsuits.yml index b81b3d1e7f0..115202813c7 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/softsuits.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/softsuits.yml @@ -2,8 +2,8 @@ - type: entity parent: ClothingOuterEVASuitBase id: ClothingOuterHardsuitEVA - name: EVA suit - description: A lightweight space suit with the basic ability to protect the wearer from the vacuum of space during emergencies. + name: vacsuit + description: A lightweight vacsuit with the basic ability to protect the wearer from the vacuum of space during emergencies. components: - type: Sprite sprite: Clothing/OuterClothing/Suits/eva.rsi @@ -20,7 +20,7 @@ - type: entity parent: ClothingOuterEVASuitBase id: ClothingOuterHardsuitSyndicate # TODO: rename to ClothingOuterEVASuitSyndicate - name: syndicate EVA suit + name: syndicate vacsuit description: "Has a tag on the back that reads: 'Totally not property of an enemy corporation, honest!'" components: - type: Sprite @@ -38,8 +38,8 @@ - type: entity parent: ClothingOuterEVASuitBase id: ClothingOuterSuitEmergency - name: emergency EVA suit - description: An emergency EVA suit with a built-in helmet. It's horribly slow and lacking in temperature protection, but enough to bide you time from the harsh vaccuum of space. + name: emergency vacsuit + description: An emergency vacsuit with a built-in helmet. It's horribly slow and lacking in temperature protection, but enough to bide you time from the harsh vaccuum of space. components: - type: Sprite sprite: Clothing/OuterClothing/Suits/eva_emergency.rsi @@ -62,7 +62,7 @@ - type: entity parent: ClothingOuterEVASuitBase id: ClothingOuterHardsuitEVAPrisoner - name: prisoner EVA suit + name: prisoner vacsuit description: A lightweight space suit for prisoners to protect them from the vacuum of space during emergencies. components: - type: Sprite @@ -80,8 +80,8 @@ - type: entity parent: ClothingOuterEVASuitBase id: ClothingOuterHardsuitAncientEVA - name: NTSRA voidsuit #Nanotrasen Space Research Association - description: An ancient space suit, designed by the NTSRA branch of CentCom. It is very finely crafted, allowing for greater mobility than most modern space suits. + name: NTSRA vacsuit #Nanotrasen Space Research Association + description: An ancient vacsuit, designed by the NTSRA branch of CentCom. It is very finely crafted, allowing for greater mobility than most modern vacsuits. components: - type: Sprite sprite: Clothing/OuterClothing/Suits/ancient_voidsuit.rsi @@ -91,40 +91,3 @@ walkModifier: 0.85 sprintModifier: 0.85 - type: HeldSpeedModifier - -#Paramedic Voidsuit -#Despite having resistances and looking like a hardsuit, this parents off the EVA suit so it goes here. -- type: entity - parent: ClothingOuterEVASuitBase - id: ClothingOuterHardsuitVoidParamed - name: paramedic void suit - description: A void suit made for paramedics. - components: - - type: Sprite - sprite: Clothing/OuterClothing/Hardsuits/paramed.rsi - - type: Clothing - sprite: Clothing/OuterClothing/Hardsuits/paramed.rsi - - type: PressureProtection - highPressureMultiplier: 0.5 - lowPressureMultiplier: 1000 - - type: ClothingSpeedModifier - walkModifier: 0.9 - sprintModifier: 0.9 - - type: HeldSpeedModifier - - type: TemperatureProtection - coefficient: 0.1 - - type: Armor - modifiers: - coefficients: - Heat: 0.90 - Radiation: 0.75 - Caustic: 0.5 - - type: GroupExamine - - type: StealTarget - stealGroup: ClothingOuterHardsuitVoidParamed - - type: ToggleableClothing - clothingPrototype: ClothingHeadHelmetVoidParamed - slot: head - - type: ContainerContainer - containers: - toggleable-clothing: !type:ContainerSlot {} diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Clothing/Head/hardsuit-helmets.yml b/Resources/Prototypes/Nyanotrasen/Entities/Clothing/Head/hardsuit-helmets.yml index 6c96d3a56dd..1a83a14bd57 100644 --- a/Resources/Prototypes/Nyanotrasen/Entities/Clothing/Head/hardsuit-helmets.yml +++ b/Resources/Prototypes/Nyanotrasen/Entities/Clothing/Head/hardsuit-helmets.yml @@ -19,7 +19,7 @@ parent: ClothingHeadHelmetHardsuitSyndie id: ClothingHeadHelmetHardsuitSyndieReverseEngineered noSpawn: true - name: SA-123 combat hardsuit helmet + name: SA-122 combat hardsuit helmet description: An advanced hardsuit helmet designed for work in special operations. components: - type: Sprite @@ -31,7 +31,7 @@ parent: ClothingHeadHelmetHardsuitCybersun id: ClothingHeadHelmetHardsuitJuggernautReverseEngineered noSpawn: true - name: SA-127 combat hardsuit helmet + name: SA-126 combat hardsuit helmet description: An assault hardsuit helmet featuring a top-secret translucent polymer. components: - type: Sprite diff --git a/Resources/Prototypes/Objectives/stealTargetGroups.yml b/Resources/Prototypes/Objectives/stealTargetGroups.yml index e93c9c319da..59952784339 100644 --- a/Resources/Prototypes/Objectives/stealTargetGroups.yml +++ b/Resources/Prototypes/Objectives/stealTargetGroups.yml @@ -190,7 +190,7 @@ - type: stealTargetGroup id: ClothingOuterHardsuitVoidParamed - name: paramedic void suit + name: paramedic hardsuit sprite: sprite: Clothing/OuterClothing/Hardsuits/paramed.rsi state: icon diff --git a/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/equipped-HELMET.png similarity index 100% rename from Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/equipped-HELMET.png rename to Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/equipped-HELMET.png diff --git a/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/icon.png b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/icon.png similarity index 100% rename from Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/icon.png rename to Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/icon.png diff --git a/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/inhand-left.png b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/inhand-left.png similarity index 100% rename from Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/inhand-left.png rename to Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/inhand-left.png diff --git a/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/inhand-right.png b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/inhand-right.png similarity index 100% rename from Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/inhand-right.png rename to Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/inhand-right.png diff --git a/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/meta.json b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/meta.json similarity index 95% rename from Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/meta.json rename to Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/meta.json index 4ec7339a888..a42fdeb8102 100644 --- a/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/meta.json @@ -1,26 +1,26 @@ -{ - "version": 1, - "license": "CC-BY-SA-3.0", - "copyright": "Taken from paradise station at commit https://github.com/ParadiseSS13/Paradise/commit/e5e584804b4b0b373a6a69d23afb73fd3c094365, redrawn by Ubaser", - "size": { - "x": 32, - "y": 32 - }, - "states": [ - { - "name": "icon" - }, - { - "name": "equipped-HELMET", - "directions": 4 - }, - { - "name": "inhand-left", - "directions": 4 - }, - { - "name": "inhand-right", - "directions": 4 - } - ] -} +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from paradise station at commit https://github.com/ParadiseSS13/Paradise/commit/e5e584804b4b0b373a6a69d23afb73fd3c094365, redrawn by Ubaser", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} From e23114ce58b7532800099b71947fba16ea29c7a8 Mon Sep 17 00:00:00 2001 From: SimpleStation Changelogs Date: Mon, 12 Aug 2024 21:44:15 +0000 Subject: [PATCH 02/11] Automatic Changelog Update (#725) --- Resources/Changelog/Changelog.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 75cc34a090f..debbbbfe988 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -5256,3 +5256,11 @@ Entries: message: Added showers id: 6256 time: '2024-08-12T16:46:05.0000000+00:00' +- author: gluesniffler + changes: + - type: Tweak + message: Changed hardsuit descriptions to be slightly less LRP. + - type: Tweak + message: Changed paramedic voidsuit from a softsuit to a hardsuit. + id: 6257 + time: '2024-08-12T21:43:52.0000000+00:00' From 2ae464e0693feb8aecf813070a13bb7b49d49006 Mon Sep 17 00:00:00 2001 From: stellar-novas Date: Mon, 12 Aug 2024 19:07:17 -0400 Subject: [PATCH 03/11] Nix Version Bump (#721) The bi-monthly nix version bump. Only impacts the nix users, which are me and @DEATHB4DEFEAT --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 7baaa468ea5..40a98aa9f96 100644 --- a/flake.lock +++ b/flake.lock @@ -20,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1717352157, - "narHash": "sha256-hbBzucWOhwxt3QzeAyUojtD6/aHH81JssDfhFfmqOy0=", + "lastModified": 1723382296, + "narHash": "sha256-55jPcSyBPG77QysozW12H0VA0E56PJYS+duYndDUNLg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "44f538ab12e2726af450877a5529f4fd88ddb0fb", + "rev": "a5d81094146e6b042c4e5f4c5e179c5c35c3ae28", "type": "github" }, "original": { From eb98bc86afa2148db0e15acf1edcab711df24dfc Mon Sep 17 00:00:00 2001 From: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com> Date: Tue, 13 Aug 2024 10:08:24 -0700 Subject: [PATCH 04/11] Fix Whitelist Requirements (#729) # Changelog :cl: - fix: Whitelist requirements work properly --- Resources/Prototypes/Roles/Antags/nukeops.yml | 2 +- Resources/Prototypes/Roles/Jobs/Command/captain.yml | 2 +- Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml | 2 +- Resources/Prototypes/Roles/Jobs/Security/warden.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Resources/Prototypes/Roles/Antags/nukeops.yml b/Resources/Prototypes/Roles/Antags/nukeops.yml index fe05393b9ca..26024b44b28 100644 --- a/Resources/Prototypes/Roles/Antags/nukeops.yml +++ b/Resources/Prototypes/Roles/Antags/nukeops.yml @@ -39,4 +39,4 @@ - !type:CharacterDepartmentTimeRequirement # DeltaV - Command dept time requirement department: Command min: 36000 # DeltaV - 10 hours - - !type:WhitelistRequirement # DeltaV - Whitelist requirement + - !type:CharacterWhitelistRequirement diff --git a/Resources/Prototypes/Roles/Jobs/Command/captain.yml b/Resources/Prototypes/Roles/Jobs/Command/captain.yml index 12ad83e6e5c..d624b349d56 100644 --- a/Resources/Prototypes/Roles/Jobs/Command/captain.yml +++ b/Resources/Prototypes/Roles/Jobs/Command/captain.yml @@ -24,7 +24,7 @@ min: 108000 # DeltaV - 30 hours - !type:CharacterOverallTimeRequirement # DeltaV - Playtime requirement min: 108000 # 30 hours - - !type:WhitelistRequirement # DeltaV - Whitelist requirement + - !type:CharacterWhitelistRequirement weight: 20 startingGear: CaptainGear icon: "JobIconCaptain" diff --git a/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml b/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml index 675e7768fa7..46e018f35a8 100644 --- a/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml +++ b/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml @@ -15,7 +15,7 @@ min: 36000 # 10 hours - !type:CharacterOverallTimeRequirement min: 90000 # DeltaV - 25 hours - - !type:WhitelistRequirement # DeltaV - Whitelist requirement + - !type:CharacterWhitelistRequirement weight: 10 startingGear: HoSGear icon: "JobIconHeadOfSecurity" diff --git a/Resources/Prototypes/Roles/Jobs/Security/warden.yml b/Resources/Prototypes/Roles/Jobs/Security/warden.yml index a4c5c5a8fab..82101373db2 100644 --- a/Resources/Prototypes/Roles/Jobs/Security/warden.yml +++ b/Resources/Prototypes/Roles/Jobs/Security/warden.yml @@ -10,7 +10,7 @@ - !type:CharacterPlaytimeRequirement # DeltaV - JobDetective time requirement. Give them an understanding of basic forensics. tracker: JobDetective min: 14400 # DeltaV - 4 hours - - !type:WhitelistRequirement # DeltaV - Whitelist requirement + - !type:CharacterWhitelistRequirement startingGear: WardenGear icon: "JobIconWarden" supervisors: job-supervisors-hos From 42a57938faf9a5e4f83cf8a4705b0c0268c3b7d4 Mon Sep 17 00:00:00 2001 From: SimpleStation Changelogs Date: Tue, 13 Aug 2024 17:08:52 +0000 Subject: [PATCH 05/11] Automatic Changelog Update (#729) --- Resources/Changelog/Changelog.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index debbbbfe988..f8708b5992f 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -5264,3 +5264,9 @@ Entries: message: Changed paramedic voidsuit from a softsuit to a hardsuit. id: 6257 time: '2024-08-12T21:43:52.0000000+00:00' +- author: DEATHB4DEFEAT + changes: + - type: Fix + message: Whitelist requirements work properly + id: 6258 + time: '2024-08-13T17:08:24.0000000+00:00' From 90f56f412dfcb3651341540fee08e7e8e2405de0 Mon Sep 17 00:00:00 2001 From: Angelo Fallaria Date: Wed, 14 Aug 2024 01:12:15 +0800 Subject: [PATCH 06/11] Oni Speech Update (#724) # Description This PR has updates surrounding Oni speech: a new speech bubble for Onis with horns, unique speech verbs, and a tweak to the Nekomimetic description to mention Onis. Notably, Onis will now have a **fully unique** speech (sound, speech bubble, verbs), improving how distinct they feel. #711 (Remove Or Rework Vulpkanin) triggered a discussion about how unique the species should be in EE. As an Oni main, I can't help but notice that Onis often feel like human reskins, practically being colorful humans with horns. This PR aims to be a step in the right direction to make Onis more aesthetically distinct from humans by changing the visuals of their speech. All that is left is to give them unique screams, preferably screams that sound rather *demonic*. Shoutout to @leonardo-dabepis who improved the chat bubble horns for me. I will impulsively put him in the changelog to give credit :trollface: ## Media **Speech Bubble** ![image](https://github.com/user-attachments/assets/71185797-40b9-437b-a360-7ffcac83705b)
See more **Speech Style** ![image](https://github.com/user-attachments/assets/67ef53f9-d713-40c4-a88f-903d7be4f55a) **Nekomimetic Description** ![image](https://github.com/user-attachments/assets/c3df58db-22d1-44a1-8f0c-84e879ad0c7f)
## Changelog :cl: Skubman and leonardo-dabepis - add: Onis now get a unique speech bubble, a black bubble with horns. - add: Onis have received a distinct speech style that reflects their strength. Hear them 'grunt', 'bellow', 'blare', and 'rumble' as they talk. - tweak: The Nekomimetic language description has been changed to mention Onis speaking it. --------- Signed-off-by: Angelo Fallaria Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com> --- .../en-US/chat/managers/chat-manager.ftl | 6 ++++++ Resources/Locale/en-US/language/languages.ftl | 2 +- .../Nyanotrasen/Entities/Mobs/Species/Oni.yml | 3 +++ Resources/Prototypes/Voice/speech_verbs.yml | 11 +++++++++- Resources/Prototypes/typing_indicator.yml | 5 +++++ .../Textures/Effects/speech.rsi/meta.json | 19 +++++++++++++++++- .../Textures/Effects/speech.rsi/oni0.png | Bin 0 -> 715 bytes .../Textures/Effects/speech.rsi/oni1.png | Bin 0 -> 741 bytes .../Textures/Effects/speech.rsi/oni2.png | Bin 0 -> 742 bytes 9 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 Resources/Textures/Effects/speech.rsi/oni0.png create mode 100644 Resources/Textures/Effects/speech.rsi/oni1.png create mode 100644 Resources/Textures/Effects/speech.rsi/oni2.png diff --git a/Resources/Locale/en-US/chat/managers/chat-manager.ftl b/Resources/Locale/en-US/chat/managers/chat-manager.ftl index 6fbeb83ed41..589d79e6ea9 100644 --- a/Resources/Locale/en-US/chat/managers/chat-manager.ftl +++ b/Resources/Locale/en-US/chat/managers/chat-manager.ftl @@ -112,6 +112,12 @@ chat-speech-verb-vox-1 = screeches chat-speech-verb-vox-2 = shrieks chat-speech-verb-vox-3 = croaks +chat-speech-verb-name-oni = Oni +chat-speech-verb-oni-1 = grunts +chat-speech-verb-oni-2 = bellows +chat-speech-verb-oni-3 = blares +chat-speech-verb-oni-4 = rumbles + chat-speech-verb-name-canine = Canine chat-speech-verb-canine-1 = barks chat-speech-verb-canine-2 = woofs diff --git a/Resources/Locale/en-US/language/languages.ftl b/Resources/Locale/en-US/language/languages.ftl index 4b0c1248f28..68dc80f51da 100644 --- a/Resources/Locale/en-US/language/languages.ftl +++ b/Resources/Locale/en-US/language/languages.ftl @@ -11,7 +11,7 @@ language-RootSpeak-name = Rootspeak language-RootSpeak-description = The strange whistling-style language spoken by the Diona. language-Nekomimetic-name = Nekomimetic -language-Nekomimetic-description = To the casual observer, this language is an incomprehensible mess of broken Japanese. To the felinids, it's somehow comprehensible. +language-Nekomimetic-description = To the casual observer, this language is an incomprehensible mess of broken Japanese. To the Felinids and Oni, it's somehow comprehensible. language-Draconic-name = Draconic language-Draconic-description = The common language of lizard-people, composed of sibilant hisses and rattles. diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Mobs/Species/Oni.yml b/Resources/Prototypes/Nyanotrasen/Entities/Mobs/Species/Oni.yml index e93117b1aad..c1655287fdc 100644 --- a/Resources/Prototypes/Nyanotrasen/Entities/Mobs/Species/Oni.yml +++ b/Resources/Prototypes/Nyanotrasen/Entities/Mobs/Species/Oni.yml @@ -6,6 +6,7 @@ components: - type: Speech speechSounds: Baritone + speechVerb: Oni - type: HumanoidAppearance species: Oni - type: Sprite @@ -35,6 +36,8 @@ - MobLayer - type: Stamina critThreshold: 115 + - type: TypingIndicator + proto: oni - type: LanguageKnowledge speaks: - GalacticCommon diff --git a/Resources/Prototypes/Voice/speech_verbs.yml b/Resources/Prototypes/Voice/speech_verbs.yml index 9879cefb75d..3f0a4c10fce 100644 --- a/Resources/Prototypes/Voice/speech_verbs.yml +++ b/Resources/Prototypes/Voice/speech_verbs.yml @@ -1,4 +1,4 @@ -- type: speechVerb +- type: speechVerb id: Default name: chat-speech-verb-name-default speechVerbStrings: @@ -94,6 +94,15 @@ - chat-speech-verb-vox-2 - chat-speech-verb-vox-3 +- type: speechVerb + id: Oni + name: chat-speech-verb-name-oni + speechVerbStrings: + - chat-speech-verb-oni-1 + - chat-speech-verb-oni-2 + - chat-speech-verb-oni-3 + - chat-speech-verb-oni-4 + - type: speechVerb id: Plant name: chat-speech-verb-name-plant diff --git a/Resources/Prototypes/typing_indicator.yml b/Resources/Prototypes/typing_indicator.yml index 7271770ef50..7e8c92787fe 100644 --- a/Resources/Prototypes/typing_indicator.yml +++ b/Resources/Prototypes/typing_indicator.yml @@ -48,3 +48,8 @@ id: slime typingState: slime0 offset: 0, 0.125 + +- type: typingIndicator + id: oni + typingState: oni0 + offset: 0, 0.0625 diff --git a/Resources/Textures/Effects/speech.rsi/meta.json b/Resources/Textures/Effects/speech.rsi/meta.json index 98dd3b20607..1ec1219b0f8 100644 --- a/Resources/Textures/Effects/speech.rsi/meta.json +++ b/Resources/Textures/Effects/speech.rsi/meta.json @@ -5,7 +5,7 @@ "y": 32 }, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c6e3401f2e7e1e55c57060cdf956a98ef1fefc24 | Moth sprites made by PuroSlavKing (Github) | Spider sprites made by PixelTheKermit (Github) | Lizard sprites made by AmalgoMyte (Github)", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c6e3401f2e7e1e55c57060cdf956a98ef1fefc24 | Moth sprites made by PuroSlavKing (Github) | Spider sprites made by PixelTheKermit (Github) | Lizard sprites made by AmalgoMyte (Github) | Oni sprites made by angelofallars and leonardo-dabepis (Github)", "states": [ { "name": "alien0", @@ -422,6 +422,23 @@ 0.4 ] ] + }, + { + "name": "oni0", + "delays": [ + [ + 0.2, + 0.3, + 0.3, + 0.5 + ] + ] + }, + { + "name": "oni1" + }, + { + "name": "oni2" } ] } diff --git a/Resources/Textures/Effects/speech.rsi/oni0.png b/Resources/Textures/Effects/speech.rsi/oni0.png new file mode 100644 index 0000000000000000000000000000000000000000..cae529b35c2cf0ab1fa384fcfda2e626e327f52c GIT binary patch literal 715 zcmV;+0yO=JP)EX>4Tx04R}tkv&MmKpe$iQ%j3f9PA+CkfA!+MMWHI6^c+H)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfc5qU3krMxx6k5c1aNLh~_a1le0HIZ5n$?#CG~G6{ z>6Dl+tcu}RL=c655W+IEj5$flz;}GzBf!_Y1kdt6_vaW;ixvX{B5{%#rcJy-JhN#V zocD=itRkz#=fo2xU6A;Z>x##3oXai?JTqqIvh&0-VzJ!AN)NM&sS!^T$5loiA^#v+y=L4<+^s;I$6f>xar3t8Gv`S?d%zeFyDTvae~ zET9ezvg-%`gWug+rKw3TDVhR8FOKsu284HkcGGdbj~%Cd0tBCdE4}Nlw}9DC(wki^ zegq6|0~gm_P1yr3cYxt1LpEhs3eprxCE)#xzNr8V-2(kX!oIU_K>MC;s92^4U zWy)Und3U6@w|~!c`uhR$&~kHCs7&wx009F@L_t(|+U?rW4TB&M#_`km*iE`X;~LK4 zG|u4~gaO)39H0-i4WVkOkvn4kzr;7mRX)mk%DjfBt@Sqb@#@R5-um5~$uBB*}UrS+z zVYq7M6*mBV-#;|-s`y)6*@PyglR!N`J_c{jxz91QwJGJ=3ykv@XXKvo53uxn5$o^* z@&Nz<00000oDlT^DX0(7Ta9Y@)CYv4PJO^{=dTZV-_L8`)34>{?nih%?h}?^&dtyy xpZb9K8>2qpdq$`aDBw38000000000E@dQjOu6&_V?cD$X002ovPDHLkV1nCON45X} literal 0 HcmV?d00001 diff --git a/Resources/Textures/Effects/speech.rsi/oni1.png b/Resources/Textures/Effects/speech.rsi/oni1.png new file mode 100644 index 0000000000000000000000000000000000000000..03da318f1d915f3b705706ef3cd097e7e4c623aa GIT binary patch literal 741 zcmVEX>4Tx04R}tkv&MmKpe$iQ%j3f9PA+CkfA!+MMWHI6^c+H)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfc5qU3krMxx6k5c1aNLh~_a1le0HIZ5n$?#CG~G6{ z>6Dl+tcu}RL=c655W+IEj5$flz;}GzBf!_Y1kdt6_vaW;ixvX{B5{%#rcJy-JhN#V zocD=itRkz#=fo2xU6A;Z>x##3oXai?JTqqIvh&0-VzJ!AN)NM&sS!^T$5loiA^#v+y=L4<+^s;I$6f>xar3t8Gv`S?d%zeFyDTvae~ zET9ezvg-%`gWug+rKw3TDVhR8FOKsu284HkcGGdbj~%Cd0tBCdE4}Nlw}9DC(wki^ zegq6|0~gm_P1yr3cYxt1LpEhs3eprxCE)#xzNr8V-2(kX!oIU_K>MC;s92^4U zWy)Und3U6@w|~!c`uhR$&~kHCs7&wx00A9IL_t(|+U?ri34<^chT&uJvYWU-IcsDN zcM&p&Ye)uYH|YSqs6w=AEf|m0_W|z$F<*WZPDI{9`^;I==I>lYB-C}isBznF^$>pS ze^vR!Ob^}Upz=6f=Uh#$MNG$BR$dyvJm-VNS+Uxlv%)a-&=t5`%NV*lq1|Nrz>JS`NRaFtMfTOy|$z{VYz{DY#eEC~#fo$$G z*oCoG08=5P8vGJLRqs}RfT}vXDmDwjvhzIz0000000000$6{HZx9EX>4Tx04R}tkv&MmKpe$iQ%j3f9PA+CkfA!+MMWHI6^c+H)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfc5qU3krMxx6k5c1aNLh~_a1le0HIZ5n$?#CG~G6{ z>6Dl+tcu}RL=c655W+IEj5$flz;}GzBf!_Y1kdt6_vaW;ixvX{B5{%#rcJy-JhN#V zocD=itRkz#=fo2xU6A;Z>x##3oXai?JTqqIvh&0-VzJ!AN)NM&sS!^T$5loiA^#v+y=L4<+^s;I$6f>xar3t8Gv`S?d%zeFyDTvae~ zET9ezvg-%`gWug+rKw3TDVhR8FOKsu284HkcGGdbj~%Cd0tBCdE4}Nlw}9DC(wki^ zegq6|0~gm_P1yr3cYxt1LpEhs3eprxCE)#xzNr8V-2(kX!oIU_K>MC;s92^4U zWy)Und3U6@w|~!c`uhR$&~kHCs7&wx00ACJL_t(|+U?ri4Z;Ph*_9` zNt+TY;GVg+i)@83sHMS&@3$U!db%707*qoM6N<$g5dE-uK)l5 literal 0 HcmV?d00001 From 079e9787de25151d1cd41cd806d97e7013d067e4 Mon Sep 17 00:00:00 2001 From: SimpleStation Changelogs Date: Tue, 13 Aug 2024 17:12:42 +0000 Subject: [PATCH 07/11] Automatic Changelog Update (#724) --- Resources/Changelog/Changelog.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index f8708b5992f..164bbbb316f 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -5270,3 +5270,17 @@ Entries: message: Whitelist requirements work properly id: 6258 time: '2024-08-13T17:08:24.0000000+00:00' +- author: Skubman and leonardo-dabepis + changes: + - type: Add + message: Onis now get a unique speech bubble, a black bubble with horns. + - type: Add + message: >- + Onis have received a distinct speech style that reflects their strength. + Hear them 'grunt', 'bellow', 'blare', and 'rumble' as they talk. + - type: Tweak + message: >- + The Nekomimetic language description has been changed to mention Onis + speaking it. + id: 6259 + time: '2024-08-13T17:12:15.0000000+00:00' From 666e820aedf209758f3773ecff4559a83242d035 Mon Sep 17 00:00:00 2001 From: FoxxoTrystan <45297731+FoxxoTrystan@users.noreply.github.com> Date: Tue, 13 Aug 2024 19:16:51 +0200 Subject: [PATCH 08/11] Plushie Update! (#654) # Description By multiple requests i bring my PR from Frontier The [PLUSHIE UPDATE!](https://github.com/new-frontiers-14/frontier-station-14/pull/886) This PR add a prize vendor machine where you can trade prize ticket for a toy/plushie, to get ticket you win those in arcade machines. This PR will give a chance for everyone to get the toys they need in a special machine and will make plushies in general more random and fun, in term of random spawns. WARNING THIS PR DOES NOT MAP THE PRIZE VENDOR AND WILL MOSTLY NEED TO BE MAPPED. --- # TODO - [x] Prize Vendor - [x] Prize Tickets - [x] New Toys/Plushies - [x] Prizes ---

Media

![image](https://github.com/user-attachments/assets/643e6c65-bba0-4eef-8e8e-d3510922e51e)

--- # Changelog :cl: - add: A ton of new plushies has arrived - add: Prize counter are here, get your prizes by winning games and getting prize tickets! and find prize balls!! --- Resources/Audio/Effects/silence.ogg | Bin 0 -> 4181 bytes Resources/Migrations/eeMigration.yml | 3 + .../Prototypes/Catalog/Cargo/cargo_fun.yml | 20 - .../Prototypes/Catalog/Fills/Crates/fun.yml | 47 -- .../Entities/Markers/Spawners/Random/toy.yml | 32 + .../Entities/Objects/Fun/prizeticket.yml | 395 +++++++++ .../Entities/Objects/Fun/puppet.yml | 89 +++ .../Prototypes/Entities/Objects/Fun/toys.yml | 390 +++++++++ .../Structures/Machines/Computers/arcades.yml | 68 +- .../Entities/Structures/Machines/lathe.yml | 138 ++++ .../Entities/Objects/Specific/Mail/mail.yml | 145 +++- .../Reagents/Materials/prizeticket.yml | 6 + .../Recipes/Lathes/prizecounter.yml | 729 +++++++++++++++++ Resources/Prototypes/Stacks/prizeticket.yml | 7 + Resources/Prototypes/tags.yml | 3 + .../Objects/Fun/catplushie.rsi/black.png | Bin 0 -> 250 bytes .../Objects/Fun/catplushie.rsi/grey.png | Bin 0 -> 250 bytes .../Objects/Fun/catplushie.rsi/meta.json | 32 + .../Objects/Fun/catplushie.rsi/orange.png | Bin 0 -> 585 bytes .../Objects/Fun/catplushie.rsi/siames.png | Bin 0 -> 658 bytes .../Objects/Fun/catplushie.rsi/tabby.png | Bin 0 -> 539 bytes .../Objects/Fun/catplushie.rsi/tuxedo.png | Bin 0 -> 280 bytes .../Objects/Fun/catplushie.rsi/white.png | Bin 0 -> 250 bytes .../Objects/Fun/corgiplushie.rsi/corgi.png | Bin 0 -> 394 bytes .../Fun/corgiplushie.rsi/girlycorgi.png | Bin 0 -> 412 bytes .../Objects/Fun/corgiplushie.rsi/meta.json | 20 + .../Fun/corgiplushie.rsi/robotcorgi.png | Bin 0 -> 391 bytes .../Objects/Fun/foxplushie.rsi/black.png | Bin 0 -> 1201 bytes .../Objects/Fun/foxplushie.rsi/blue.png | Bin 0 -> 936 bytes .../Objects/Fun/foxplushie.rsi/coffee.png | Bin 0 -> 1046 bytes .../Objects/Fun/foxplushie.rsi/crimson.png | Bin 0 -> 927 bytes .../Objects/Fun/foxplushie.rsi/marble.png | Bin 0 -> 1089 bytes .../Objects/Fun/foxplushie.rsi/meta.json | 38 + .../Objects/Fun/foxplushie.rsi/orange.png | Bin 0 -> 939 bytes .../Objects/Fun/foxplushie.rsi/pink.png | Bin 0 -> 936 bytes .../Objects/Fun/foxplushie.rsi/purple.png | Bin 0 -> 942 bytes .../Objects/Fun/foxplushie.rsi/red.png | Bin 0 -> 1408 bytes .../Textures/Objects/Fun/petrock.rsi/fred.png | Bin 0 -> 204 bytes .../Objects/Fun/petrock.rsi/meta.json | 20 + .../Textures/Objects/Fun/petrock.rsi/rock.png | Bin 0 -> 195 bytes .../Objects/Fun/petrock.rsi/roxie.png | Bin 0 -> 231 bytes .../Objects/Fun/prizeticket.rsi/meta.json | 26 + .../Objects/Fun/prizeticket.rsi/prizeball.png | Bin 0 -> 732 bytes .../Objects/Fun/prizeticket.rsi/ticket.png | Bin 0 -> 201 bytes .../Objects/Fun/prizeticket.rsi/ticket_2.png | Bin 0 -> 296 bytes .../Objects/Fun/prizeticket.rsi/ticket_3.png | Bin 0 -> 361 bytes .../Objects/Fun/prizeticket.rsi/ticket_4.png | Bin 0 -> 188 bytes .../Objects/Fun/toys.rsi/abductor.png | Bin 0 -> 245 bytes .../Objects/Fun/toys.rsi/abductor_agent.png | Bin 0 -> 333 bytes .../Textures/Objects/Fun/toys.rsi/deer.png | Bin 0 -> 787 bytes .../Textures/Objects/Fun/toys.rsi/gnome.png | Bin 0 -> 330 bytes .../Textures/Objects/Fun/toys.rsi/grey.png | Bin 0 -> 389 bytes .../Textures/Objects/Fun/toys.rsi/ipc.png | Bin 0 -> 335 bytes .../Objects/Fun/toys.rsi/loveable.png | Bin 0 -> 373 bytes .../Textures/Objects/Fun/toys.rsi/meta.json | 747 +++++++++--------- .../Objects/Fun/toys.rsi/plushie_jester.png | Bin 0 -> 585 bytes .../Objects/Fun/toys.rsi/plushie_slips.png | Bin 0 -> 462 bytes .../Objects/Fun/toys.rsi/plushie_trystan.png | Bin 0 -> 1108 bytes .../Objects/Fun/toys.rsi/plushie_vulp.png | Bin 0 -> 1033 bytes .../rock_carrier.rsi/box-inhand-left.png | Bin 0 -> 563 bytes .../rock_carrier.rsi/box-inhand-right.png | Bin 0 -> 632 bytes .../Happyhonk/rock_carrier.rsi/box-open.png | Bin 0 -> 2925 bytes .../Happyhonk/rock_carrier.rsi/box.png | Bin 0 -> 3009 bytes .../Happyhonk/rock_carrier.rsi/meta.json | 25 + .../Machines/prizecounter.rsi/icon.png | Bin 0 -> 817 bytes .../Machines/prizecounter.rsi/meta.json | 20 + .../Machines/prizecounter.rsi/panel.png | Bin 0 -> 179 bytes .../Machines/prizecounter.rsi/unlit.png | Bin 0 -> 444 bytes 68 files changed, 2489 insertions(+), 511 deletions(-) create mode 100644 Resources/Audio/Effects/silence.ogg create mode 100644 Resources/Migrations/eeMigration.yml create mode 100644 Resources/Prototypes/Entities/Objects/Fun/prizeticket.yml create mode 100644 Resources/Prototypes/Reagents/Materials/prizeticket.yml create mode 100644 Resources/Prototypes/Recipes/Lathes/prizecounter.yml create mode 100644 Resources/Prototypes/Stacks/prizeticket.yml create mode 100644 Resources/Textures/Objects/Fun/catplushie.rsi/black.png create mode 100644 Resources/Textures/Objects/Fun/catplushie.rsi/grey.png create mode 100644 Resources/Textures/Objects/Fun/catplushie.rsi/meta.json create mode 100644 Resources/Textures/Objects/Fun/catplushie.rsi/orange.png create mode 100644 Resources/Textures/Objects/Fun/catplushie.rsi/siames.png create mode 100644 Resources/Textures/Objects/Fun/catplushie.rsi/tabby.png create mode 100644 Resources/Textures/Objects/Fun/catplushie.rsi/tuxedo.png create mode 100644 Resources/Textures/Objects/Fun/catplushie.rsi/white.png create mode 100644 Resources/Textures/Objects/Fun/corgiplushie.rsi/corgi.png create mode 100644 Resources/Textures/Objects/Fun/corgiplushie.rsi/girlycorgi.png create mode 100644 Resources/Textures/Objects/Fun/corgiplushie.rsi/meta.json create mode 100644 Resources/Textures/Objects/Fun/corgiplushie.rsi/robotcorgi.png create mode 100644 Resources/Textures/Objects/Fun/foxplushie.rsi/black.png create mode 100644 Resources/Textures/Objects/Fun/foxplushie.rsi/blue.png create mode 100644 Resources/Textures/Objects/Fun/foxplushie.rsi/coffee.png create mode 100644 Resources/Textures/Objects/Fun/foxplushie.rsi/crimson.png create mode 100644 Resources/Textures/Objects/Fun/foxplushie.rsi/marble.png create mode 100644 Resources/Textures/Objects/Fun/foxplushie.rsi/meta.json create mode 100644 Resources/Textures/Objects/Fun/foxplushie.rsi/orange.png create mode 100644 Resources/Textures/Objects/Fun/foxplushie.rsi/pink.png create mode 100644 Resources/Textures/Objects/Fun/foxplushie.rsi/purple.png create mode 100644 Resources/Textures/Objects/Fun/foxplushie.rsi/red.png create mode 100644 Resources/Textures/Objects/Fun/petrock.rsi/fred.png create mode 100644 Resources/Textures/Objects/Fun/petrock.rsi/meta.json create mode 100644 Resources/Textures/Objects/Fun/petrock.rsi/rock.png create mode 100644 Resources/Textures/Objects/Fun/petrock.rsi/roxie.png create mode 100644 Resources/Textures/Objects/Fun/prizeticket.rsi/meta.json create mode 100644 Resources/Textures/Objects/Fun/prizeticket.rsi/prizeball.png create mode 100644 Resources/Textures/Objects/Fun/prizeticket.rsi/ticket.png create mode 100644 Resources/Textures/Objects/Fun/prizeticket.rsi/ticket_2.png create mode 100644 Resources/Textures/Objects/Fun/prizeticket.rsi/ticket_3.png create mode 100644 Resources/Textures/Objects/Fun/prizeticket.rsi/ticket_4.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/abductor.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/abductor_agent.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/deer.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/gnome.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/grey.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/ipc.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/loveable.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/plushie_jester.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/plushie_slips.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/plushie_trystan.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/plushie_vulp.png create mode 100644 Resources/Textures/Objects/Storage/Happyhonk/rock_carrier.rsi/box-inhand-left.png create mode 100644 Resources/Textures/Objects/Storage/Happyhonk/rock_carrier.rsi/box-inhand-right.png create mode 100644 Resources/Textures/Objects/Storage/Happyhonk/rock_carrier.rsi/box-open.png create mode 100644 Resources/Textures/Objects/Storage/Happyhonk/rock_carrier.rsi/box.png create mode 100644 Resources/Textures/Objects/Storage/Happyhonk/rock_carrier.rsi/meta.json create mode 100644 Resources/Textures/Structures/Machines/prizecounter.rsi/icon.png create mode 100644 Resources/Textures/Structures/Machines/prizecounter.rsi/meta.json create mode 100644 Resources/Textures/Structures/Machines/prizecounter.rsi/panel.png create mode 100644 Resources/Textures/Structures/Machines/prizecounter.rsi/unlit.png diff --git a/Resources/Audio/Effects/silence.ogg b/Resources/Audio/Effects/silence.ogg new file mode 100644 index 0000000000000000000000000000000000000000..91738108486ed65c60563112099c3c036aab1eba GIT binary patch literal 4181 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 S@Na+rEraqO5^{C_x9Oi>d^^Yh literal 0 HcmV?d00001 diff --git a/Resources/Migrations/eeMigration.yml b/Resources/Migrations/eeMigration.yml new file mode 100644 index 00000000000..26713f6cbac --- /dev/null +++ b/Resources/Migrations/eeMigration.yml @@ -0,0 +1,3 @@ +# 2024-06-08 +CrateFunPlushie: CrateFunToyBox +CrateFunLizardPlushieBulk: CrateFunToyBox diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_fun.yml b/Resources/Prototypes/Catalog/Cargo/cargo_fun.yml index 61085f13b94..68bb4a6b849 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_fun.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_fun.yml @@ -88,26 +88,6 @@ category: cargoproduct-category-name-fun group: market -- type: cargoProduct - id: FunPlushies - icon: - sprite: Objects/Fun/toys.rsi - state: plushie_h - product: CrateFunPlushie - cost: 1000 - category: cargoproduct-category-name-fun - group: market - -- type: cargoProduct - id: FunLizardPlushies - icon: - sprite: Objects/Fun/toys.rsi - state: plushie_lizard - product: CrateFunLizardPlushieBulk - cost: 500 - category: cargoproduct-category-name-fun - group: market - - type: cargoProduct id: FunBoardGames icon: diff --git a/Resources/Prototypes/Catalog/Fills/Crates/fun.yml b/Resources/Prototypes/Catalog/Fills/Crates/fun.yml index 28c5ea8dd47..b55bdd48322 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/fun.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/fun.yml @@ -1,50 +1,3 @@ -- type: entity - id: CrateFunPlushie - parent: CrateGenericSteel - name: plushie crate - description: A buncha soft plushies. Throw them around and then wonder how you're gonna explain this purchase to NT. - components: - - type: StorageFill - contents: - - id: PlushieBee - - id: PlushieNar - - id: PlushieCarp - - id: PlushieNuke - - id: PlushieSlime - - id: PlushieSnake - - id: PlushieLizard - - id: PlushieSpaceLizard - - id: PlushieVox - - id: PlushieRouny - - id: PlushieRatvar - - id: PlushieSharkBlue - orGroup: PlushieShark - - id: PlushieSharkGrey - orGroup: PlushieShark - - id: PlushieAtmosian - - id: PlushieDiona - - id: PlushieXeno - - id: PlushieHampter - - id: PlushieMoth - - id: PlushieMothRandom # Nyanotrasen - Random Moth Plushies - amount: 2 - - id: PlushieArachind - - id: PlushiePenguin - - id: PlushieArachne - -- type: entity - id: CrateFunLizardPlushieBulk - parent: CrateGenericSteel - name: bulk lizard plushie crate - description: A buncha soft lizard plushies. Throw them around and then wonder how you're gonna explain this purchase to NT. - components: - - type: StorageFill - contents: - - id: PlushieLizard - amount: 3 - - id: PlushieSpaceLizard - amount: 2 - - type: entity id: CrateFunInstrumentsVariety parent: CrateGenericSteel diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/toy.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/toy.yml index d12b85cde41..96b5f7aa8c5 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/toy.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/toy.yml @@ -12,6 +12,7 @@ rarePrototypes: - FoamBlade - PlushieGhost + - PlushieAbductorAgent rareChance: 0.03 prototypes: - PlushieBee @@ -37,6 +38,37 @@ - PlushieMothRandom # Nyanotrasen Random Moth Plushies - PlushieArachind - PlushieArachne + - PlushieAbductor + - PlushieGnome + - PlushieLoveable + - PlushieDeer + - PlushieIpc + - PlushieGrey + - PlushieRedFox + - PlushiePurpleFox + - PlushiePinkFox + - PlushieOrangeFox + - PlushieMarbleFox + - PlushieCrimsonFox + - PlushieCoffeeFox + - PlushieBlueFox + - PlushieBlackFox + - PlushieVulp + - PlushieCorgi + - PlushieGirlyCorgi + - PlushieRobotCorgi + - PlushieCatBlack + - PlushieCatGrey + - PlushieCatOrange + - PlushieCatSiames + - PlushieCatTabby + - PlushieCatTuxedo + - PlushieCatWhite + - PlushieRatvar + - PlushieNar + - PlushieTrystan + - PlushieSlips + - PlushieJester chance: 0.5 offset: 0.2 diff --git a/Resources/Prototypes/Entities/Objects/Fun/prizeticket.yml b/Resources/Prototypes/Entities/Objects/Fun/prizeticket.yml new file mode 100644 index 00000000000..695e45a2e64 --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Fun/prizeticket.yml @@ -0,0 +1,395 @@ +- type: entity + abstract: true + parent: BaseItem + id: PrizeTicketBase + description: A prize ticket, ready to be redeemed at a prize counter. + components: + - type: Sprite + sprite: Objects/Fun/prizeticket.rsi + - type: Item + sprite: Objects/Fun/prizeticket.rsi + size: Tiny + - type: StaticPrice + price: 0 + - type: Tag + tags: + - Sheet + - PrizeTicket + +- type: entity + parent: PrizeTicketBase + id: PrizeTicket + name: prize ticket + suffix: Full + components: + - type: Material + - type: PhysicalComposition + materialComposition: + PrizeTicket: 1 + - type: Stack + count: 100 + stackType: PrizeTicket + baseLayer: base + layerStates: + - ticket + - ticket_2 + - ticket_3 + - ticket_4 + - type: Sprite + state: ticket_4 + layers: + - state: ticket_4 + map: ["base"] + - type: Item + heldPrefix: prize ticket + - type: Appearance + +- type: entity + parent: PrizeTicket + id: PrizeTicket10 + name: prize ticket + suffix: 10 + components: + - type: Sprite + state: ticket + - type: Stack + stackType: PrizeTicket + count: 10 + +- type: entity + parent: PrizeTicket + id: PrizeTicket30 + name: prize ticket + suffix: 30 + components: + - type: Sprite + state: ticket + - type: Stack + stackType: PrizeTicket + count: 30 + +- type: entity + parent: PrizeTicket + id: PrizeTicket60 + name: prize ticket + suffix: 60 + components: + - type: Sprite + state: ticket + - type: Stack + stackType: PrizeTicket + count: 60 + +- type: entity + parent: PrizeTicket + id: PrizeTicket1 + name: prize ticket + suffix: Single + components: + - type: Sprite + state: ticket + - type: Stack + stackType: PrizeTicket + count: 1 + +- type: entity + parent: PresentRandom + id: PrizeBall + name: prize ball + description: I wounder whats inside! + components: + - type: Sprite + sprite: Objects/Fun/prizeticket.rsi + layers: + - state: prizeball + - type: SpawnItemsOnUse + items: + - id: PresentTrash + - id: PrizeTicket10 + orGroup: Prize + # Common + - id: PrizeTicket30 + prob: 0.80 + orGroup: Prize + - id: PlushieMothRandom + prob: 0.80 + orGroup: Prize + - id: PlushieMothMusician + prob: 0.80 + orGroup: Prize + - id: PlushieMothBartender + prob: 0.80 + orGroup: Prize + - id: PlushieBee + prob: 0.80 + orGroup: Prize + - id: PlushieHampter + prob: 0.80 + orGroup: Prize + - id: PlushieRouny + prob: 0.80 + orGroup: Prize + - id: PlushieLamp + prob: 0.80 + orGroup: Prize + - id: PlushieArachind + prob: 0.80 + orGroup: Prize + - id: PlushieLizard + prob: 0.80 + orGroup: Prize + - id: PlushieLizardMirrored + prob: 0.80 + orGroup: Prize + - id: PlushieSpaceLizard + prob: 0.80 + orGroup: Prize + - id: PlushieDiona + prob: 0.80 + orGroup: Prize + - id: PlushieSharkBlue + prob: 0.80 + orGroup: Prize + - id: PlushieSharkPink + prob: 0.80 + orGroup: Prize + - id: PlushieSharkGrey + prob: 0.80 + orGroup: Prize + - id: PlushieCarp + prob: 0.80 + orGroup: Prize + - id: PlushieMagicarp + prob: 0.80 + orGroup: Prize + - id: PlushieHolocarp + prob: 0.80 + orGroup: Prize + - id: PlushieSlime + prob: 0.80 + orGroup: Prize + - id: PlushieSnake + prob: 0.80 + orGroup: Prize + - id: ToyMouse + prob: 0.80 + orGroup: Prize + - id: ToyRubberDuck + prob: 0.80 + orGroup: Prize + - id: PlushieVox + prob: 0.80 + orGroup: Prize + - id: PlushieAtmosian + prob: 0.80 + orGroup: Prize + - id: PlushiePenguin + prob: 0.80 + orGroup: Prize + - id: PlushieHuman + prob: 0.80 + orGroup: Prize + - id: PlushieArachne + prob: 0.80 + orGroup: Prize + - id: PlushieGnome + prob: 0.80 + orGroup: Prize + - id: PlushieLoveable + prob: 0.80 + orGroup: Prize + - id: PlushieDeer + prob: 0.80 + orGroup: Prize + - id: PlushieIpc + prob: 0.80 + orGroup: Prize + - id: PlushieGrey + prob: 0.80 + orGroup: Prize + - id: PlushieRedFox + prob: 0.80 + orGroup: Prize + - id: PlushiePurpleFox + prob: 0.80 + orGroup: Prize + - id: PlushiePinkFox + prob: 0.80 + orGroup: Prize + - id: PlushieOrangeFox + prob: 0.80 + orGroup: Prize + - id: PlushieMarbleFox + prob: 0.80 + orGroup: Prize + - id: PlushieCrimsonFox + prob: 0.80 + orGroup: Prize + - id: PlushieCoffeeFox + prob: 0.80 + orGroup: Prize + - id: PlushieBlueFox + prob: 0.80 + orGroup: Prize + - id: PlushieBlackFox + prob: 0.80 + orGroup: Prize + - id: PlushieVulp + prob: 0.80 + orGroup: Prize + - id: PlushieCorgi + prob: 0.80 + orGroup: Prize + - id: PlushieGirlyCorgi + prob: 0.80 + orGroup: Prize + - id: PlushieRobotCorgi + prob: 0.80 + orGroup: Prize + - id: PlushieCatBlack + prob: 0.80 + orGroup: Prize + - id: PlushieCatGrey + prob: 0.80 + orGroup: Prize + - id: PlushieCatOrange + prob: 0.80 + orGroup: Prize + - id: PlushieCatSiames + prob: 0.80 + orGroup: Prize + - id: PlushieCatTabby + prob: 0.80 + orGroup: Prize + - id: PlushieCatTuxedo + prob: 0.80 + orGroup: Prize + - id: PlushieCatWhite + prob: 0.80 + orGroup: Prize + - id: ToyAi + prob: 0.80 + orGroup: Prize + - id: ToyIan + prob: 0.80 + orGroup: Prize + - id: BalloonNT + prob: 0.80 + orGroup: Prize + - id: BalloonCorgi + prob: 0.80 + orGroup: Prize + - id: CrayonBox + prob: 0.80 + orGroup: Prize + - id: BasePetRock + prob: 0.80 + orGroup: Prize + # Uncommon + - id: PrizeTicket60 + prob: 0.50 + orGroup: Prize + - id: PlushieGhost + prob: 0.50 + orGroup: Prize + - id: PlushieRGBee + prob: 0.50 + orGroup: Prize + - id: PlushieRatvar + prob: 0.50 + orGroup: Prize + - id: PlushieNar + prob: 0.50 + orGroup: Prize + - id: PlushieRainbowCarp + prob: 0.50 + orGroup: Prize + - id: PlushieXeno + prob: 0.50 + orGroup: Prize + - id: PlushieJester + prob: 0.50 + orGroup: Prize + - id: PlushieSlips + prob: 0.50 + orGroup: Prize + - id: PlushieAbductor + prob: 0.50 + orGroup: Prize + - id: PlushieTrystan + prob: 0.50 + orGroup: Prize + - id: FoamCrossbow + prob: 0.50 + orGroup: Prize + - id: RevolverCapGun + prob: 0.50 + orGroup: Prize + - id: PonderingOrb + prob: 0.50 + orGroup: Prize + - id: ToyAmongPequeno + prob: 0.50 + orGroup: Prize + - id: FoamCutlass + prob: 0.50 + orGroup: Prize + - id: ToyHammer + prob: 0.50 + orGroup: Prize + - id: WhoopieCushion + prob: 0.50 + orGroup: Prize + - id: PlasticBanana + prob: 0.50 + orGroup: Prize + - id: WeaponWaterPistol + prob: 0.50 + orGroup: Prize + - id: WeaponWaterBlaster + prob: 0.50 + orGroup: Prize + - id: NewtonCradle + prob: 0.50 + orGroup: Prize + - id: SnapPopBox + prob: 0.50 + orGroup: Prize + - id: CrazyGlue + prob: 0.50 + orGroup: Prize + - id: MrChips + prob: 0.50 + orGroup: Prize + - id: MrDips + prob: 0.50 + orGroup: Prize + # Rare + - id: PlushieAbductorAgent + prob: 0.30 + orGroup: Prize + - id: PlushieNuke + prob: 0.30 + orGroup: Prize + - id: ToyNuke + prob: 0.30 + orGroup: Prize + - id: FoamBlade + prob: 0.30 + orGroup: Prize + - id: BalloonSyn + prob: 0.30 + orGroup: Prize + - id: SingularityToy + prob: 0.30 + orGroup: Prize + - id: TeslaToy + prob: 0.30 + orGroup: Prize + - id: ToySword + prob: 0.30 + orGroup: Prize + - id: ThronglerToy + prob: 0.30 + orGroup: Prize + \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Fun/puppet.yml b/Resources/Prototypes/Entities/Objects/Fun/puppet.yml index 01a15d2e5bd..068039e0c56 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/puppet.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/puppet.yml @@ -40,3 +40,92 @@ sprite: Objects/Fun/mrdips.rsi layers: - state: icon + +## PET ROCK! + +- type: entity + id: PetRockCarrier + parent: HappyHonk + name: pet rock carrier + description: Your new and only best friend home! + components: + - type: Sprite + sprite: Objects/Storage/Happyhonk/rock_carrier.rsi + state: box + - type: Item + sprite: Objects/Storage/Happyhonk/rock_carrier.rsi + heldPrefix: box + - type: StorageFill + contents: + - id: PetRock + prob: 0.8 + orGroup: Rock + - id: PetRockFred + prob: 0.1 + orGroup: Rock + - id: PetRockRoxie + prob: 0.1 + orGroup: Rock + +- type: entity + parent: [BaseItem, MrChips] + id: BasePetRock + name: pet rock + description: Your new and only best friend! + abstract: true + components: + - type: DamageOnLand + damage: + types: + Blunt: 1 + - type: DamageOtherOnHit + damage: + types: + Blunt: 1 + - type: Damageable + damageContainer: Inorganic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 10 + behaviors: + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/break_stone.ogg + - !type:SpawnEntitiesBehavior + spawn: + Ash: + min: 1 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] + +- type: entity + parent: BasePetRock + id: PetRock + components: + - type: Sprite + sprite: Objects/Fun/petrock.rsi + layers: + - state: rock + +- type: entity + parent: BasePetRock + id: PetRockFred + name: fred + components: + - type: Sprite + sprite: Objects/Fun/petrock.rsi + layers: + - state: fred + +- type: entity + parent: BasePetRock + id: PetRockRoxie + name: roxie + components: + - type: Sprite + sprite: Objects/Fun/petrock.rsi + layers: + - state: roxie \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Fun/toys.yml b/Resources/Prototypes/Entities/Objects/Fun/toys.yml index 66d6713fb22..1fea59a926c 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/toys.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/toys.yml @@ -819,6 +819,368 @@ useSound: path: /Audio/Voice/Moth/moth_chitter.ogg +- type: entity + parent: BasePlushie + id: PlushieJester #Weh! + name: jester plushie + description: A dubious little creature getting up to mischief. + components: + - type: Sprite + sprite: Objects/Fun/toys.rsi + state: plushie_jester + +- type: entity + parent: BasePlushie + id: PlushieSlips + name: janitor plushie + description: The silent cleaner, the one that you dont hear say "Weh"! + components: + - type: Sprite + sprite: Objects/Fun/toys.rsi + state: plushie_slips + - type: EmitSoundOnUse + sound: + path: /Audio/Effects/silence.ogg + - type: EmitSoundOnLand + sound: + path: /Audio/Effects/silence.ogg + - type: EmitSoundOnActivate + sound: + path: /Audio/Effects/silence.ogg + - type: MeleeWeapon + soundHit: + path: /Audio/Effects/silence.ogg + - type: Tag + tags: + - Soap + - type: Slippery + paralyzeTime: 0.7 + launchForwardsMultiplier: 0.5 + - type: StepTrigger + intersectRatio: 0.2 + - type: CollisionWake + enabled: false + - type: Physics + bodyType: Dynamic + - type: Fixtures + fixtures: + slips: + shape: + !type:PhysShapeAabb + bounds: "-0.4,-0.3,0.4,0.3" + layer: + - SlipLayer + hard: false + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.4,-0.3,0.4,0.3" + density: 10 + mask: + - ItemMask + +- type: entity + parent: BasePlushie + id: PlushieGnome + name: gnome plushie + description: A stuffed toy that resembles a gnome! or a drawf... + components: + - type: Sprite + sprite: Objects/Fun/toys.rsi + state: gnome + +- type: entity + parent: BasePlushie + id: PlushieLoveable + name: loveable plushie + description: A stuffed toy that resembles... a creature. + components: + - type: Sprite + sprite: Objects/Fun/toys.rsi + state: loveable + +- type: entity + parent: BasePlushie + id: PlushieDeer + name: deer plushie + description: A stuffed toy that resembles a deer! + components: + - type: Sprite + sprite: Objects/Fun/toys.rsi + state: deer + +- type: entity + parent: BasePlushie + id: PlushieIpc + name: ipc plushie + description: A stuffed toy that resembles a ipc! + components: + - type: Sprite + sprite: Objects/Fun/toys.rsi + state: ipc + +- type: entity + parent: BasePlushie + id: PlushieGrey + name: grey plushie + description: A stuffed toy that resembles a grey! + components: + - type: Sprite + sprite: Objects/Fun/toys.rsi + state: grey + +- type: entity + parent: BasePlushie + id: PlushieAbductor + name: abductor plushie + description: A stuffed toy that resembles an abductor! + components: + - type: Sprite + sprite: Objects/Fun/toys.rsi + state: abductor + +- type: entity + parent: BasePlushie + id: PlushieAbductorAgent + name: abductor agent plushie + description: A stuffed toy that resembles an abductor agent! + components: + - type: Sprite + sprite: Objects/Fun/toys.rsi + state: abductor_agent + +- type: entity + parent: BasePlushie + id: PlushieRedFox + name: red fox plushie + description: A cute plushie that look like a red foxxo! + components: + - type: Sprite + sprite: Objects/Fun/foxplushie.rsi + state: red + +- type: entity + parent: BasePlushie + id: PlushiePurpleFox + name: purple fox plushie + description: A cute plushie that look like a purple foxxo! + components: + - type: Sprite + sprite: Objects/Fun/foxplushie.rsi + state: purple + +- type: entity + parent: BasePlushie + id: PlushiePinkFox + name: pink fox plushie + description: A cute plushie that look like a pink foxxo! + components: + - type: Sprite + sprite: Objects/Fun/foxplushie.rsi + state: pink + +- type: entity + parent: BasePlushie + id: PlushieOrangeFox + name: orange fox plushie + description: A cute plushie that look like a orange foxxo! + components: + - type: Sprite + sprite: Objects/Fun/foxplushie.rsi + state: orange + +- type: entity + parent: BasePlushie + id: PlushieMarbleFox + name: marble fox plushie + description: A cute plushie that look like a marble foxxo! + components: + - type: Sprite + sprite: Objects/Fun/foxplushie.rsi + state: marble + +- type: entity + parent: BasePlushie + id: PlushieCrimsonFox + name: crimson fox plushie + description: A cute plushie that look like a crimson foxxo! + components: + - type: Sprite + sprite: Objects/Fun/foxplushie.rsi + state: crimson + +- type: entity + parent: BasePlushie + id: PlushieCoffeeFox + name: coffee fox plushie + description: A cute plushie that look like a coffee foxxo! + components: + - type: Sprite + sprite: Objects/Fun/foxplushie.rsi + state: coffee + +- type: entity + parent: BasePlushie + id: PlushieBlueFox + name: blue fox plushie + description: A cute plushie that look like a blue foxxo! + components: + - type: Sprite + sprite: Objects/Fun/foxplushie.rsi + state: blue + +- type: entity + parent: BasePlushie + id: PlushieBlackFox + name: black fox plushie + description: A cute plushie that look like a black foxxo! + components: + - type: Sprite + sprite: Objects/Fun/foxplushie.rsi + state: black + +- type: entity + parent: BasePlushie + id: PlushieVulp + name: vulpkanin plushie + description: A vulpkanin plushie, at least you can hug this one without the risk to get bitten. + components: + - type: Sprite + sprite: Objects/Fun/toys.rsi + state: plushie_vulp + - type: EmitSoundOnUse + sound: + path: /Audio/DeltaV/Voice/Vulpkanin/dog_bark1.ogg + - type: EmitSoundOnLand + sound: + path: /Audio/DeltaV/Voice/Vulpkanin/dog_bark1.ogg + - type: EmitSoundOnActivate + sound: + path: /Audio/DeltaV/Voice/Vulpkanin/dog_bark1.ogg + - type: MeleeWeapon + soundHit: + path: /Audio/DeltaV/Voice/Vulpkanin/dog_bark1.ogg + +- type: entity + parent: PlushieVulp + id: PlushieTrystan + name: office vulp plushie + description: The ones who yeeps! + components: + - type: Sprite + sprite: Objects/Fun/toys.rsi + state: plushie_trystan + +- type: entity + parent: PlushieVulp + id: PlushieCorgi + name: corgi plushie + description: The ian plushie edition! + components: + - type: Sprite + sprite: Objects/Fun/corgiplushie.rsi + state: corgi + +- type: entity + parent: PlushieVulp + id: PlushieGirlyCorgi + name: girly corgi plushie + components: + - type: Sprite + sprite: Objects/Fun/corgiplushie.rsi + state: girlycorgi + +- type: entity + parent: PlushieVulp + id: PlushieRobotCorgi + name: robot corgi plushie + components: + - type: Sprite + sprite: Objects/Fun/corgiplushie.rsi + state: robotcorgi + +- type: entity + parent: BasePlushie + id: BasePlushieCat + description: A stuffed toy that resembles a cute kitty! + abstract: true + components: + - type: EmitSoundOnUse + sound: + path: /Audio/Nyanotrasen/Voice/Felinid/cat_meow1.ogg + - type: EmitSoundOnLand + sound: + path: /Audio/Nyanotrasen/Voice/Felinid/cat_meow1.ogg + - type: EmitSoundOnActivate + sound: + path: /Audio/Nyanotrasen/Voice/Felinid/cat_meow1.ogg + - type: MeleeWeapon + soundHit: + path: /Audio/Nyanotrasen/Voice/Felinid/cat_meow1.ogg + +- type: entity + parent: BasePlushieCat + id: PlushieCatBlack + name: black cat plushie + components: + - type: Sprite + sprite: Objects/Fun/catplushie.rsi + state: black + +- type: entity + parent: BasePlushieCat + id: PlushieCatGrey + name: grey cat plushie + components: + - type: Sprite + sprite: Objects/Fun/catplushie.rsi + state: grey + +- type: entity + parent: BasePlushieCat + id: PlushieCatOrange + name: orange cat plushie + components: + - type: Sprite + sprite: Objects/Fun/catplushie.rsi + state: orange + +- type: entity + parent: BasePlushieCat + id: PlushieCatSiames + name: siames cat plushie + components: + - type: Sprite + sprite: Objects/Fun/catplushie.rsi + state: siames + +- type: entity + parent: BasePlushieCat + id: PlushieCatTabby + name: tabby cat plushie + components: + - type: Sprite + sprite: Objects/Fun/catplushie.rsi + state: tabby + +- type: entity + parent: BasePlushieCat + id: PlushieCatTuxedo + name: tuxedo cat plushie + components: + - type: Sprite + sprite: Objects/Fun/catplushie.rsi + state: tuxedo + +- type: entity + parent: BasePlushieCat + id: PlushieCatWhite + name: white cat plushie + components: + - type: Sprite + sprite: Objects/Fun/catplushie.rsi + state: white + ## Cheapo Figurines - type: entity @@ -1538,3 +1900,31 @@ # params: # volume: -9 # maxDistance: 3 + +- type: entity + name: The Throngler + parent: ToyHammer + id: ThronglerToy + suffix: Toy + description: Why would you make this? + components: + - type: Sprite + sprite: Objects/Weapons/Melee/Throngler2.rsi + state: icon + - type: StaminaDamageOnHit + damage: 0.8 + - type: MeleeWeapon + wideAnimationRotation: -135 + attackRate: 10 + damage: + types: + Blunt: 0 + soundHit: + path: /Audio/Effects/explosion_small1.ogg + soundNoDamage: + path: /Audio/Effects/explosion_small1.ogg + - type: Item + size: Ginormous + sprite: Objects/Weapons/Melee/Throngler-in-hand.rsi + - type: DisarmMalus + malus: 0 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml b/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml index 98f4a9afb0c..59690e56ebd 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml @@ -72,65 +72,15 @@ rewardMinAmount: 0 rewardMaxAmount: 0 possibleRewards: - - ToyMouse - - ToyAi - - ToyNuke - - ToyGriffin - - ToyHonk - - ToyIan - - ToyMarauder - - ToyMauler - - ToyGygax - - ToyOdysseus - - ToyOwlman - - ToyDeathRipley - - ToyPhazon - - ToyFireRipley - - ToyReticence - - ToyRipley - - ToySeraph - - ToyDurand - - ToySkeleton - - FoamCrossbow - - RevolverCapGun - - PlushieHampter - - PlushieLizard - - PlushieAtmosian - - PlushieSpaceLizard - - PlushieNuke - - PlushieCarp - - PlushieMagicarp - - PlushieHolocarp - - PlushieRainbowCarp - - PlushieRatvar - - PlushieNar - - PlushieSnake - - PlushieArachind - - Basketball - - Football - - PlushieRouny - - PlushieBee - - PlushieSlime - - BalloonNT - - BalloonCorgi - - ToySword - - CrayonBox - - BoxDonkSoftBox - - BoxCartridgeCap - - HarmonicaInstrument - - OcarinaInstrument - - RecorderInstrument - - GunpetInstrument - - BirdToyInstrument - - PlushieXeno - - BeachBall - - PlushieMoth - - PlushieHampter - - ToyRenault # DeltaV Toy, see Resources/Prototypes/DeltaV/Entities/Objects/Fun/toys.yml - - ToySiobhan # DeltaV Toy, see Resources/Prototypes/DeltaV/Entities/Objects/Fun/toys.yml - - PlushiePenguin - - PlushieHuman - - ClothingHeadHatCowboyRed + - PrizeBall + - PrizeTicket10 + - PrizeTicket10 + - PrizeTicket10 + - PrizeTicket10 + - PrizeTicket10 + - PrizeTicket30 + - PrizeTicket30 + - PrizeTicket60 - type: WiresPanel - type: Wires layoutId: Arcade diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 7e861db0d5a..de72dfcd5e4 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -1275,3 +1275,141 @@ staticRecipes: - MaterialSheetMeat - SheetPaper + +- type: entity + parent: BaseLathe + id: PrizeCounter + name: prize counter + description: Claim your prize and win some toys and cute plushies! + components: + - type: AmbientOnPowered + - type: AmbientSound + volume: -9 + range: 3 + enabled: false + sound: + path: /Audio/Ambience/Objects/vending_machine_hum.ogg + - type: LitOnPowered + - type: ApcPowerReceiver + powerLoad: 200 + priority: Low + # - type: Advertise + # pack: CuddlyCritterAds # TODO Change this + - type: PointLight + radius: 1.5 + energy: 1.6 + color: "#4b93ad" + - type: Transform + noRot: false + - type: Sprite + sprite: Structures/Machines/prizecounter.rsi + snapCardinals: true + layers: + - state: icon + map: ["enum.LatheVisualLayers.IsRunning"] + - state: unlit + shader: unshaded + map: ["enum.PowerDeviceVisualLayers.Powered"] + - state: panel + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: Lathe + idleState: icon + runningState: icon + staticRecipes: + - PrizeBall + - PlushieMothRandom + - PlushieMothMusician + - PlushieMothBartender + - PlushieBee + - PlushieHampter + - PlushieRouny + - PlushieLamp + - PlushieArachind + - PlushieLizard + - PlushieSpaceLizard + - PlushieSharkBlue + - PlushieSharkPink + - PlushieSharkGrey + - PlushieCarp + - PlushieMagicarp + - PlushieHolocarp + - PlushieSlime + - PlushieSnake + - ToyMouse + - ToyRubberDuck + - PlushieVox + - PlushieAtmosian + - PlushiePenguin + - PlushieHuman + - PlushieArachne + - PlushieGnome + - PlushieLoveable + - PlushieDeer + - PlushieIpc + - PlushieGrey + - PlushieRedFox + - PlushiePurpleFox + - PlushiePinkFox + - PlushieOrangeFox + - PlushieMarbleFox + - PlushieCrimsonFox + - PlushieCoffeeFox + - PlushieBlueFox + - PlushieBlackFox + - PlushieVulp + - PlushieCorgi + - PlushieGirlyCorgi + - PlushieRobotCorgi + - PlushieCatBlack + - PlushieCatGrey + - PlushieCatOrange + - PlushieCatSiames + - PlushieCatTabby + - PlushieCatTuxedo + - PlushieCatWhite + - ToyAi + - ToyIan + - BalloonNT + - BalloonCorgi + - CrayonBox + - PetRockCarrier + - PlushieXeno + - FoamCrossbow + - RevolverCapGun + - PonderingOrb + - ToyAmongPequeno + - FoamCutlass + - WhoopieCushion + - ToyHammer + - PlasticBanana + - WeaponWaterPistol + - WeaponWaterBlaster + - NewtonCradle + - SnapPopBox + - MrDips + - MrChips + - CrazyGlue + - PlushieRatvar + - PlushieNar + - type: EmagLatheRecipes + emagStaticRecipes: + - PlushieGhost + - PlushieRGBee + - PlushieRainbowCarp + - PlushieJester + - PlushieSlips + - PlushieTrystan + - PlushieAbductor + - PlushieAbductorAgent + - PlushieNuke + - ToyNuke + - FoamBlade + - BalloonSyn + - SingularityToy + - TeslaToy + - ToySword + - ThronglerToy + - type: MaterialStorage + whitelist: + tags: + - PrizeTicket \ No newline at end of file diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Objects/Specific/Mail/mail.yml b/Resources/Prototypes/Nyanotrasen/Entities/Objects/Specific/Mail/mail.yml index 72f0cb741c7..7f1b26d9cbf 100644 --- a/Resources/Prototypes/Nyanotrasen/Entities/Objects/Specific/Mail/mail.yml +++ b/Resources/Prototypes/Nyanotrasen/Entities/Objects/Specific/Mail/mail.yml @@ -569,41 +569,130 @@ components: - type: Mail contents: - # These are all grouped up now to guarantee at least one item received. - # The downside is you're not going to get half a dozen plushies anymore. + - id: PlushieMothRandom + orGroup: Prize + - id: PlushieMothMusician + orGroup: Prize + - id: PlushieMothBartender + orGroup: Prize - id: PlushieBee - orGroup: Plushie - - id: PlushieRGBee - prob: 0.5 - orGroup: Plushie - - id: PlushieNuke - orGroup: Plushie + orGroup: Prize + - id: PlushieHampter + orGroup: Prize - id: PlushieRouny - orGroup: Plushie + orGroup: Prize + - id: PlushieLamp + orGroup: Prize + - id: PlushieArachind + orGroup: Prize - id: PlushieLizard - orGroup: Plushie + orGroup: Prize + - id: PlushieLizardMirrored + orGroup: Prize - id: PlushieSpaceLizard - orGroup: Plushie - - id: PlushieRatvar - orGroup: Plushie - - id: PlushieNar - orGroup: Plushie + orGroup: Prize + - id: PlushieDiona + orGroup: Prize + - id: PlushieSharkBlue + orGroup: Prize + - id: PlushieSharkPink + orGroup: Prize + - id: PlushieSharkGrey + orGroup: Prize - id: PlushieCarp - orGroup: Plushie + orGroup: Prize + - id: PlushieMagicarp + orGroup: Prize + - id: PlushieHolocarp + orGroup: Prize - id: PlushieSlime - orGroup: Plushie + orGroup: Prize - id: PlushieSnake - orGroup: Plushie - - id: PlushieMothRandom - orGroup: Plushie - - id: PlushieMoth - orGroup: Plushie - - id: PlushieMothMusician - prob: 0.5 - orGroup: Plushie - - id: PlushieMothBartender - prob: 0.5 - orGroup: Plushie + orGroup: Prize + - id: PlushieVox + orGroup: Prize + - id: PlushieAtmosian + orGroup: Prize + - id: PlushiePenguin + orGroup: Prize + - id: PlushieHuman + orGroup: Prize + - id: PlushieArachne + orGroup: Prize + - id: PlushieGnome + orGroup: Prize + - id: PlushieLoveable + orGroup: Prize + - id: PlushieDeer + orGroup: Prize + - id: PlushieIpc + orGroup: Prize + - id: PlushieGrey + orGroup: Prize + - id: PlushieRedFox + orGroup: Prize + - id: PlushiePurpleFox + orGroup: Prize + - id: PlushiePinkFox + orGroup: Prize + - id: PlushieOrangeFox + orGroup: Prize + - id: PlushieMarbleFox + orGroup: Prize + - id: PlushieCrimsonFox + orGroup: Prize + - id: PlushieCoffeeFox + orGroup: Prize + - id: PlushieBlueFox + orGroup: Prize + - id: PlushieBlackFox + orGroup: Prize + - id: PlushieVulp + orGroup: Prize + - id: PlushieCorgi + orGroup: Prize + - id: PlushieGirlyCorgi + orGroup: Prize + - id: PlushieRobotCorgi + orGroup: Prize + - id: PlushieCatBlack + orGroup: Prize + - id: PlushieCatGrey + orGroup: Prize + - id: PlushieCatOrange + orGroup: Prize + - id: PlushieCatSiames + orGroup: Prize + - id: PlushieCatTabby + orGroup: Prize + - id: PlushieCatTuxedo + orGroup: Prize + - id: PlushieCatWhite + orGroup: Prize + - id: PlushieGhost + orGroup: Prize + - id: PlushieRGBee + orGroup: Prize + - id: PlushieRatvar + orGroup: Prize + - id: PlushieNar + orGroup: Prize + - id: PlushieRainbowCarp + orGroup: Prize + - id: PlushieXeno + orGroup: Prize + - id: PlushieJester + orGroup: Prize + - id: PlushieSlips + orGroup: Prize + - id: PlushieAbductor + orGroup: Prize + - id: PlushieTrystan + orGroup: Prize + - id: PlushieAbductorAgent + orGroup: Prize + - id: PlushieNuke + orGroup: Prize - type: entity noSpawn: true diff --git a/Resources/Prototypes/Reagents/Materials/prizeticket.yml b/Resources/Prototypes/Reagents/Materials/prizeticket.yml new file mode 100644 index 00000000000..cde81626c84 --- /dev/null +++ b/Resources/Prototypes/Reagents/Materials/prizeticket.yml @@ -0,0 +1,6 @@ +- type: material + id: PrizeTicket + stackEntity: PrizeTicket1 + name: prize ticket + icon: { sprite: Objects/Fun/prizeticket.rsi, state: ticket } + price: 0 diff --git a/Resources/Prototypes/Recipes/Lathes/prizecounter.yml b/Resources/Prototypes/Recipes/Lathes/prizecounter.yml new file mode 100644 index 00000000000..e893c178358 --- /dev/null +++ b/Resources/Prototypes/Recipes/Lathes/prizecounter.yml @@ -0,0 +1,729 @@ +- type: latheRecipe + id: PrizeBall + result: PrizeBall + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 30 + +- type: latheRecipe + id: PlushieMothRandom + result: PlushieMothRandom + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieMothMusician + result: PlushieMothMusician + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieMothBartender + result: PlushieMothBartender + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieBee + result: PlushieBee + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieHampter + result: PlushieHampter + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieRouny + result: PlushieRouny + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieLamp + result: PlushieLamp + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieArachind + result: PlushieArachind + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieLizard + result: PlushieLizard + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieSpaceLizard + result: PlushieSpaceLizard + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieSharkBlue + result: PlushieSharkBlue + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieSharkPink + result: PlushieSharkPink + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieSharkGrey + result: PlushieSharkGrey + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieCarp + result: PlushieCarp + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieMagicarp + result: PlushieMagicarp + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieHolocarp + result: PlushieHolocarp + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieSlime + result: PlushieSlime + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieSnake + result: PlushieSnake + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: ToyMouse + result: ToyMouse + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: ToyRubberDuck + result: ToyRubberDuck + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieVox + result: PlushieVox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieAtmosian + result: PlushieAtmosian + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushiePenguin + result: PlushiePenguin + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieHuman + result: PlushieHuman + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieArachne + result: PlushieArachne + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieGnome + result: PlushieGnome + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieLoveable + result: PlushieLoveable + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieDeer + result: PlushieDeer + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieIpc + result: PlushieIpc + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieGrey + result: PlushieGrey + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieRedFox + result: PlushieRedFox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushiePurpleFox + result: PlushiePurpleFox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushiePinkFox + result: PlushiePinkFox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieOrangeFox + result: PlushieOrangeFox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieMarbleFox + result: PlushieMarbleFox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieCrimsonFox + result: PlushieCrimsonFox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieCoffeeFox + result: PlushieCoffeeFox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieBlueFox + result: PlushieBlueFox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieBlackFox + result: PlushieBlackFox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieVulp + result: PlushieVulp + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieCorgi + result: PlushieCorgi + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieGirlyCorgi + result: PlushieGirlyCorgi + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieRobotCorgi + result: PlushieRobotCorgi + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieCatBlack + result: PlushieCatBlack + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieCatGrey + result: PlushieCatGrey + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieCatOrange + result: PlushieCatOrange + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieCatSiames + result: PlushieCatSiames + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieCatTabby + result: PlushieCatTabby + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieCatTuxedo + result: PlushieCatTuxedo + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieCatWhite + result: PlushieCatWhite + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: ToyAi + result: ToyAi + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 30 + +- type: latheRecipe + id: ToyIan + result: ToyIan + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 30 + +- type: latheRecipe + id: BalloonNT + result: BalloonNT + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 30 + +- type: latheRecipe + id: BalloonCorgi + result: BalloonCorgi + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 30 + +- type: latheRecipe + id: CrayonBox + result: CrayonBox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 20 + +- type: latheRecipe + id: PetRockCarrier + result: PetRockCarrier + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieXeno + result: PlushieXeno + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 80 + +- type: latheRecipe + id: FoamCrossbow + result: FoamCrossbow + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: RevolverCapGun + result: RevolverCapGun + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: PonderingOrb + result: PonderingOrb + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 80 + +- type: latheRecipe + id: ToyAmongPequeno + result: ToyAmongPequeno + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 80 + +- type: latheRecipe + id: FoamCutlass + result: FoamCutlass + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: ToyHammer + result: ToyHammer + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: WhoopieCushion + result: WhoopieCushion + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: PlasticBanana + result: PlasticBanana + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 80 + +- type: latheRecipe + id: WeaponWaterPistol + result: WeaponWaterPistol + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: WeaponWaterBlaster + result: WeaponWaterBlaster + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: NewtonCradle + result: NewtonCradle + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 80 + +- type: latheRecipe + id: SnapPopBox + result: SnapPopBox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 80 + +- type: latheRecipe + id: MrDips + result: MrDips + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 80 + +- type: latheRecipe + id: MrChips + result: MrChips + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 80 + +- type: latheRecipe + id: CrazyGlue + result: CrazyGlue + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: PlushieRatvar + result: PlushieRatvar + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 80 + +- type: latheRecipe + id: PlushieNar + result: PlushieNar + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 80 + +# EMAG + +- type: latheRecipe + id: PlushieGhost + result: PlushieGhost + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: PlushieRGBee + result: PlushieRGBee + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: PlushieRainbowCarp + result: PlushieRainbowCarp + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: PlushieJester + result: PlushieJester + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: PlushieSlips + result: PlushieSlips + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: PlushieTrystan + result: PlushieTrystan + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: PlushieAbductor + result: PlushieAbductor + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: PlushieAbductorAgent + result: PlushieAbductorAgent + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: PlushieNuke + result: PlushieNuke + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: ToyNuke + result: ToyNuke + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: FoamBlade + result: FoamBlade + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 150 + +- type: latheRecipe + id: BalloonSyn + result: BalloonSyn + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: SingularityToy + result: SingularityToy + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 150 + +- type: latheRecipe + id: TeslaToy + result: TeslaToy + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 150 + +- type: latheRecipe + id: ToySword + result: ToySword + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 200 + +- type: latheRecipe + id: ThronglerToy + result: ThronglerToy + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 500 \ No newline at end of file diff --git a/Resources/Prototypes/Stacks/prizeticket.yml b/Resources/Prototypes/Stacks/prizeticket.yml new file mode 100644 index 00000000000..1b84c81632c --- /dev/null +++ b/Resources/Prototypes/Stacks/prizeticket.yml @@ -0,0 +1,7 @@ +- type: stack + id: PrizeTicket + name: prize ticket + icon: { sprite: Objects/Fun/prizeticket.rsi, state: ticket } + spawn: PrizeTicket1 + maxCount: 100 + itemSize: 1 \ No newline at end of file diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index 928da630f6f..cc81a2ed64b 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -1033,6 +1033,9 @@ - type: Tag id: PrisonUniform +- type: Tag + id: PrizeTicket + - type: Tag id: ProximitySensor diff --git a/Resources/Textures/Objects/Fun/catplushie.rsi/black.png b/Resources/Textures/Objects/Fun/catplushie.rsi/black.png new file mode 100644 index 0000000000000000000000000000000000000000..e62cb62916e36ce5d03c8aa066038b751483d852 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv=>VS)*8>L*@bmM_$;k-|3u|a- z{Qv)-m6esBgYj$gyBXJa+yp9PED7=pW^j0RBMr#u^>lFz(U^F){~+%n10L76ypL44 zkDO%6Q(uvNgpG&6+JLb+m@{K;%mj;%|KGl>J<0ZCe#=_Bhz%tQqO0akieN9WyldmI zZ~pp6y*d1E)oz4z*m#-vZnF@WDITW&^y(zd?fouMrnAl!S8Ha7geHle%5UA|8TXuF vN4|!FpiF{&21_K{!ukZ^eYy;sb*F_BeFb$6Y}dU3bQpuDtDnm{r-UW|2DMi% literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/catplushie.rsi/grey.png b/Resources/Textures/Objects/Fun/catplushie.rsi/grey.png new file mode 100644 index 0000000000000000000000000000000000000000..b941adbf78194b15c17b17ffc4eaea39ec4e20bb GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv=>VS)*8>L*7#bL)rlvYLI5amm z|NsA=m6esBgYj$gyMyVUG=Rz&OM?7@862M7NCR?uJzX3_G$x+yKgfH?fXDSM?;{oN zBPW^i)K_F5VdG)2HehTH=FFHIGr{8H|F8x|b)tVV1p-G~r@>@4~#yw}) vk*}d3D3f5H!4k=~us%U}pDqJu-D%-OUqPJ%+jVaM9me44>gTe~DWM4fv)frg literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/catplushie.rsi/meta.json b/Resources/Textures/Objects/Fun/catplushie.rsi/meta.json new file mode 100644 index 00000000000..878f438f4ec --- /dev/null +++ b/Resources/Textures/Objects/Fun/catplushie.rsi/meta.json @@ -0,0 +1,32 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from Paradise Station", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "black" + }, + { + "name": "grey" + }, + { + "name": "orange" + }, + { + "name": "siames" + }, + { + "name": "tabby" + }, + { + "name": "tuxedo" + }, + { + "name": "white" + } + ] +} diff --git a/Resources/Textures/Objects/Fun/catplushie.rsi/orange.png b/Resources/Textures/Objects/Fun/catplushie.rsi/orange.png new file mode 100644 index 0000000000000000000000000000000000000000..0f4cad131f780ecb2d1897d0e7e14e5d227df3cd GIT binary patch literal 585 zcmV-P0=E5$P)#HWjg&GK+@O2dtBy+^2A(<~;lHb&LL1eCR>O2WykR1~QxL&$ zHO!4&ojw--|NjLA1>VQBlRpd(2m$x*=-{Gv(RNJi$D8iXxAyGi^@HyB?B(I9gYx3n z^W@s$u8+)VJgH7An>QPkGZkPc2-klsr9dd};MMZv+tZ+Y#)e(^@a*&F;Ak%p+@xOW z)5Y%G(aw`_^X1&$uWY74D!*$lp*$kfqlDqVs`u~d_wDE1r(oTxWZRrnog3e5i1_g9?c31Cgk9;n9Ax})fkUtyj6hs3szg- z*wh{~t(`SwweL&-Y;EtbHbB}t!<+?HJ85@s9|{MDo*00r%z=QeqsGzk$?4g7urDsJ zxV0|$0jW2xA^hCjR-k2o7Uuolj1v#@<%@^;)ZM*}7HB>^#sSTz=a*<8d3}422mVwa XRp=GyD$AXr00000NkvXXu0mjf#}p}# literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/catplushie.rsi/siames.png b/Resources/Textures/Objects/Fun/catplushie.rsi/siames.png new file mode 100644 index 0000000000000000000000000000000000000000..6f27a86343a2d2450faccef3345bc9eaa4c8c805 GIT binary patch literal 658 zcmV;D0&V??P)eEgK{f2W&|yG9eNl396&H0Xhbc2UN}G-2M-7V zT`moJTRfq9KVUHs^@HwLCJJUa7^IF~oN`2TMDbb ziCJ1H4Rl8%Cl(4dBo!bI1WYIpf?_;IFdKbQD^4pCL^B|ARyZ>p3`8IbA`k^G9S>9^ z2_X*!KN|)`APPh-8gNf7eqK6XN-$SKDP=<}N;o7xFda807da>wR3!;kB?>DO1}7B> zC=moH5d=s$BRwn|DHjSiCKfs>8BseXFdq>i5CuasATt{bLNXsi9SAEK3?mT+a87mq z00001bW%=J06^y0W&i*I2uVaiR5*=eU>F5RfDwq9@W?Z>urjc*bKsQcMC+ z#A$$#u!yLbxC9$61(H(IGP2S#a`HIj6%>_}WmJ@9L{t@UsZdjw)zH+^#w8C_p{=8< zr>_78I8>-AD5z?yY8x0BU{|4_4FU#0%0L@rj3K%LBV!X)pk^R804g*!Gq*sIwzQJ9 zwz0LdcK}(Tt*YwiFVv{>*uc!VC5znh@>JY*eWE{Ei9bP zO*SGT(j6pZ6%vJFNpwtXTs#9q0yDE!I9Px))B$IpfI(tt5?*=E(Bu?+^31ZSY53%U sPUggGfs0#MI$i|~>FGxJ6;Krb0Nb!9XXk;&$p8QV07*qoM6N<$g2P|dnE(I) literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/catplushie.rsi/tabby.png b/Resources/Textures/Objects/Fun/catplushie.rsi/tabby.png new file mode 100644 index 0000000000000000000000000000000000000000..38575cc0de2a47fc8856e110be3b9fc6ccb34969 GIT binary patch literal 539 zcmV+$0_6RPP)CdG!^6zX z%=LrrzP-M!t*taOGo_`aa&mGN6%{r$HC9$uPfkuoMMXL~I&^e&IygEsGBZ3oJa2Dr z#l^)=O-^oYZE|sOsi~=2T3UK~dXA2ce0+RpXJbi$iw5)vwQNAy^h|d7sj*A9FVYJtPTppao}?}-apdMU_h2g78IiX d1X1002ovPDHLkV1lM|L*NJvN+85t=kC^$Mg z{{R1_!@pGvCw2F+^ix za)N}70|UoI#>GmDmAV=>ELvdHC6uVDZqjIQJtc+FZK=_B73UODB{}0c0b2}KnMiVR zDRFahOG)muP~!Ah8&nihMh~(UUhKSQoWibPYIhGQi_z zKmf}smw+Qj1CHE`XlN8%=N`}y7%+iRk)d2**8wr-5W8~mEDOUoFWfF~d~7m{;d>t2 bCk6(OOJbW|374M*I+elG)z4*}Q$iB}NN!}# literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/catplushie.rsi/white.png b/Resources/Textures/Objects/Fun/catplushie.rsi/white.png new file mode 100644 index 0000000000000000000000000000000000000000..e16a9ed29dbc2334887cf408db029caa7cd126ab GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv=>VS)*8>L*oH%jf-o1P0&YgSx z`t|?+|5;gC`8gQBHow!jKC=p_jIkuhFPOpM*^M+Hr`OZPF+^kH+5UsPhYWaJ-|{|E z;XZPbDNlVx_7OH725SSx=3vf@xiJ$gKK_6Evi2m~kNGWY?IJdmD2T3_J1K&_!1At* z!@l|JANA(&zg4>t(qZFe;=9d4V5WGO`qQhEG`IJ=M48SyS6r=`ArhJ-dMdwllV{v> wh8_7D3W72T_8BaZYzylXg!kz(aMqm`PV^PjIj~*#2GC&)p00i_>zopr09GJhB>(^b literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/corgiplushie.rsi/corgi.png b/Resources/Textures/Objects/Fun/corgiplushie.rsi/corgi.png new file mode 100644 index 0000000000000000000000000000000000000000..83eaa3bb860151b94f96b2cbe7634fed80ef1f08 GIT binary patch literal 394 zcmV;50d@X~P)FMbQ5`KUN@GzoM@7Wt$!aA#+6XJ>P1X>>;z z;BpfP00001bW%=J06^y0W&i*H%t=H+R5*?0k6m)YFbssFm6bR(3TYh>#HEz>{&%d+ z&x_M=0d~fE(0P2H1WB6#;Z=g9V}f8EU;yqJfCBI;Kmzf?{OCXx zC<4yU^>o);6(te^u<<%`Jyra008px^7*Mb`Kvwor#AVeHTkJJw?wY?_V)Ru zH1qTGbVnE9aM$VS>GARLlarHlNEmHoWR;bb`KUPgt33316#1hw`J^;-Mi%*|HF7iw zb7^UDXJ>Rp6>w)~bVnFp#*69z0004WQchC@kpt+?WIEIRvfWN5e=4H`FygBT+4L)6Ae#YX*$9v;G0n#k za>xP9R{#M}H2}=}##n2~5t2z4=jN@VL?Wy62`s8ESl4TIOGJ?rSoMHvT{q&q_nWlC zwzrFp*r~#xWVJ_R!N|O>>vs4{gH^#S4x_M>whT!`u!rMm)i@vVe7Lk4#-BtuYk}*n z@i&ZEUhWU#G{TW52_ZbAt~a~%2_-u9rx4S?PSG*{C-nlxkqp668Tr8g0000%q1F literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/corgiplushie.rsi/meta.json b/Resources/Textures/Objects/Fun/corgiplushie.rsi/meta.json new file mode 100644 index 00000000000..06c0cf9ed4a --- /dev/null +++ b/Resources/Textures/Objects/Fun/corgiplushie.rsi/meta.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from Paradise Station", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "corgi" + }, + { + "name": "girlycorgi" + }, + { + "name": "robotcorgi" + } + ] +} diff --git a/Resources/Textures/Objects/Fun/corgiplushie.rsi/robotcorgi.png b/Resources/Textures/Objects/Fun/corgiplushie.rsi/robotcorgi.png new file mode 100644 index 0000000000000000000000000000000000000000..a8dfdfb3f32d8744a16138695f681eba8785d658 GIT binary patch literal 391 zcmV;20eJq2P)$!BM0V`F0%6%{QhDJv%@US3{OOG{KuO;b!v zURG8vDk@YRqKp6l00DGTPE!Ct=GbNc006^DL_t(IjpdI^8iFtkgh@icN6}IYNGsy= z{#UdG-4x*h%p!}-pZO+9vMvFHvEU;?0_i*f9Dp!pfs6nd=K(^*bP3=9&@2F)^Pn#P z5g4p|v)y@M)IN%0R$~AXg)&$iqKKo`x-=F3RGi{6QhNof8G!S&EVSOU)}gY9mtqni zX{(G?4ohQgQ^fCz^=EBI89HsMYkwn>2;h6)rReaXtLMv?$Rvu8y7D3JEh36FmysV3 lwyZ=3SY+yt`#N literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/foxplushie.rsi/black.png b/Resources/Textures/Objects/Fun/foxplushie.rsi/black.png new file mode 100644 index 0000000000000000000000000000000000000000..b314043924a700369a0e59064891c767464cf785 GIT binary patch literal 1201 zcmV;i1Wx;jP) zH8wgQ9v~|!E)WnBK|x9?C@vTm8W$EAN={TKCn_y1FhWI2NkT^%85|xWB@z-97#SN7 z4-ps?7(zis9v>ntFElJIFf%hZTwrBxZgy^IZ)ag=7!wvB9UwV7KQ%QvWM^(hK0`V) zH#sslBqAg%C@V)lMKmrl9~m7Y93LGUA1^R9OiWQ%Qdu-DGDJKC$oCqh3(Jw8G(GBqF|BRn}mBqAp{H$8@smO@5J z2nY%&CM`NVK{PcwH#t2dA|*~zRvsK592_1X9U>bT9VaC!C?_l+AS53jA|)j#USw$? zA0reWC00DGTPE!Ct=GbNc00FH@L_t(IjbmUKI)IT0pDZ&A11lRl z9t9knEL_|?ytoyx^YIG^3JHtgQ6VZOE+L6Wft0k2tem`pA`WR886{;I85LDEbzBNG zG_|yKboKNN42_JrOw>&=R4}uciI`hhT3OrJa@yH*af7#sO;qIBJb+v?&0a` zx=4d7C(Q-fWV+&zmU+da89p?NKVeEXk-O3v5t;$@zM#7iAl*Rsa|R6oEe!} z**S3e+`RmP!lL4m(v-Zi@`}pXs_L4M+PeA%h-_n1UbABgV@qomds};lX=hh=4?{<9 zVqgD+iOgUHlO|6AlCe{#O$YI2%$x;^+MbNrbLP&Q53^#y!bOXhbTBY1UAAmFdk;ut z#mZHy*Q{N)9;#r&#!Z_+^u`UFAf_(cvUS_`9Xog7N(IYyPurusH*4SiHf*xIj0X-* zJ9PNS(PPI?^q|Rc@J^ZDcJfs0=`&}yojZRaj{{xvl8cuv7jL~1d-dA&8#iyo-o`Y3 z$(_5V+S+~>?%jXjtc5idK76Ph8=L>=vEQl=Tt0YG^;D{(gQ*IKH1z=hXu|A* P00000NkvXXu0mjfJehD= literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/foxplushie.rsi/blue.png b/Resources/Textures/Objects/Fun/foxplushie.rsi/blue.png new file mode 100644 index 0000000000000000000000000000000000000000..ccc9b2d7e4adcb3b39780d25ff23411da83d90dd GIT binary patch literal 936 zcmV;Z16TZsP)r;v9{~sz0S6NS2ND4Y7Mz@%y}iBH*VpCd=%};2-QwmGZo3OBQ4A_k4?1iO zI&Kd{fDl}u6K}m0d(Q$NQ@6Oh=I7|$;pGohkPkw65?Y-TZ@&|7vjk7G12~20>FMa` z=|rX1)z#JH=IG+&=hxojVYu14#?Tmu)C3hN+1c6E*V$N}zbcm1*VowKTgF{?gMi!R> zIeB>nMI~hwRW)@DO-*$z3>DhiI=XuL28Kq)CZ=ZQ7M51r+?d8#+t}LKJ2*Oti;4@2 ziwipgfeWfBu5Rw4U?40mDk?4xVxg$;@bvN)74`A;6BPzZi3>wiAguD24+snr4OR?M z1j&hubA!zghnf)@79J596&({Br=z384KzWVn}Hi_gfK)!d_p3SOcG2^0r67P#6c#z zh@vvE1Q8KCpRy@pb#YDEQ(|V14B`9Nj8WsE-5Ji3pj(_0CxojC@m93H30>b zS5#J2SJ!}oLl`|wwaayNYrPcf>KhuHz}`jItRpWU(A?76*51+C)!ozEhiSZa|AdK? z6edrZI&J!lnL5}Upgn7ntE>F%IdkXD*T&(4S=vCbU?DDP>H`3mph^Oj#Q#_T0000< KMNUMnLSTZQJ##Jq literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/foxplushie.rsi/coffee.png b/Resources/Textures/Objects/Fun/foxplushie.rsi/coffee.png new file mode 100644 index 0000000000000000000000000000000000000000..81650c1b6f6981f04c4c387cd8ebaf3abef7d3e9 GIT binary patch literal 1046 zcmV+x1nK*UP)F0wfs?Sv(bCL>(6n1riDaG$RWt9S=As z4`)gw8xaT{5(rmCEn!bLTS+lkMlOC~Iu8f}D;*G?fm#3n0RR90gltTPX+o-wY1-G) z($2}Bi*VJ^!|CYg>+9?0<>c}3@bK{O&9|A5d0du}hl_)G)6vl5F3SK!&XEr91H7*snOJ1P?>91y|5z2V^A z)6mS`+}XsxyzA=db6GXx;osca*4Wk1V?`fKGZRcR6ntn-6%7Tap_u6C=koIM?d|K= z)6e4I-s|b;X-+3zNh@DOAFi2xQ92w~MKQy}!Q9*0zPYl_%*g8M>fztp=jG$k&&%lN z<>21i-rU+M8Vrtwe7CZ%;N98S)X&-1)ARH5^Yil4(b1fij*y6ci-UM?WLIfkP@$WY zvahVk$;qO0Dp~*l00DGTPE!Ct=GbNc00DkUL_t(IjbmUKI)IT0pDZ&A11lRl9t9kn zT--doe7F_x3-AgG33H0zRv{`TE+Hu;jaz|?tem`ptRgcGX*oG1WjQ$&RRtMb3e?m! zG_|yKbQNSE07HeIzJZ~Uv5|?Xf-D$dQ^R1Ut!-{0E32R&t01nRAZ`f+RwxRrO>Ar- z`o$H%>VN=6g`K^FqpXv&i>sSBP)b1@q5@%+ySay_mp7-6hOZw`PC-EiY=#2V4F7<@ zpx}_uu<(e;sOT7R+1R*v1{tss;t&-Hi6EoGlZ2B&yp+_iG$3Uqi{gy*jHJx0YzBs$ z+`RmPY>-G{ERqon4ANXh#UQ#wnx7RcP#RVSbOYQK7@)kOvWll#Shl7Xn`~WuLt|5O zOKU}2dq*dlTvvBbZ(sj}iIXNxo-#FK+VmOdnrE8N(wIGG?z~y^7c5+~c*#;soyII?K^hv!r_D6d-m?zf8gM59MaSW067X@vYYkh QnE(I)07*qoM6N<$f~1|=y#N3J literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/foxplushie.rsi/crimson.png b/Resources/Textures/Objects/Fun/foxplushie.rsi/crimson.png new file mode 100644 index 0000000000000000000000000000000000000000..025750617687fc66565a7a6d050e5578821c5f23 GIT binary patch literal 927 zcmV;Q17Q4#P)q%0001HC?^;M1XKb9UMeUZ1O$E%7JMWm!W$(_Eh-!Y z1dR?Ai6SJ_7b3>S#boD3%~3q7W7o0s-dX;o92T+1JFMd{ z=+{I})z#JL9QV+9Ch1O=rRA3`7?QY0u& zEGQHN1RV+q9SaH^3kokA84m;mFarb)1qBQR1!xfyxEmtZ)zxZHOhp_VS|=xaB`AX= zC%wG9)zHt0UR+NtDtJ6R+q%8z=jYhe)y%!UT_z;8adGD3k0d!JMQvg8b*k%9#0dPq~K~y-6V_+CMfRPEGEHeuOD;ql=1st4Q z+#Ec-cogvQb8`p?3gJ;93Otn!x+2n-SpR#XT9$%%_|gUt|! znh_cn9uXN89TOX;qoczOG(nu3fg5auFhoUsLL!h%5=>43@lw;oK_Lw;dV7Kkn^Dk=gCID_2)cLfG0E)hjF0R@znl~+_&R)K;; z7(Gn2OLcXty%cL|>*^c8-bL4}BQGD&Xw%f((%RPE(b?6FX}oq%Z(qN{go%?TPnkMR z2b%-5r}w+M%FmcNYxW#%96p$?4Fq%N;gY64006r6Ne_AxUEBZw002ovPDHLkV1nsA BUAq7P literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/foxplushie.rsi/marble.png b/Resources/Textures/Objects/Fun/foxplushie.rsi/marble.png new file mode 100644 index 0000000000000000000000000000000000000000..b6f1cb9032df73a30248205732b42897dc1e58dd GIT binary patch literal 1089 zcmV-H1it%;P)RMrAPgGX7yuP2Rtso~U5fl~%2L}ZO1soqC z=jrLX!^b~EML|PFUu0%>dwz3ydwhe2fQXHYla(VUC>k6c3k?m`+u4+um_!Yo(go}^V*Vu-RkwQgBM@&x6(b3=G;nmsN@$&N7+uL(`e6_l~!p+YoC@3f_EGjH4 z4iFFo1O%0!rNhR?=;`V0?(Vm{ziDrCFETPHEG;K0DtCT?TxV;4hKPWNieqSM$j!_? zL`SEruFuiZ=I7_p)YYf1u))R1*xTM-V`eQdFf1)CK1NDDMMzCmS1Bzox4**R;^Ld1 zpN^B3i<6c+Ktqj_mfGIogo}|VDk?ujL}hV#mY$;0)YReQ#Jw6|$-a_;c(u(h>_j*b^!y9NLN00DGTPE!Ct=GbNc00EIn zL_t(IjbmUKI)IUpfGiU;J{62Cj7+R7YFetuCgaa>05OGrvdu}aIx%E>DzDk&-{VLFmgS%sCISyfG4LsLszM^{hZ0Mi&l zR#qcp6H_yD3rj0&adsP9J9`Hd1x&0ej!w=lu5Rwy9-b`X;$AY|KDNjTd|6fe{8?DV z0|J9wSy;r`gF`~Y!XqN#@=?)JQsObOtWvB}?BYNJn55$36B3h@A+pISscGpMnOWI6 zhK7br94xtcYz$2K1%*Y$f+b)DrDf$nvZ9jJ5X7shuBio5b@dI6O-;=(E7Dq8+uDHv z)zR72-O~#a>Fb{`anj@|P)iu5vax}~aoY45GrBZ~lUXFa_v9Wzpg#OC^>q zU$GLatcs!3s?}@OhOb+{VI!IxlL}Cl6$mzM-m-Pu_8mJhLR<&IK*X})g_w7G` zX*?4L2M0*a!9$0S96g530ZdE~BaXA4IEljtOi+MBn)(0$kD^{00000NkvXX Hu0mjfr27Q% literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/foxplushie.rsi/meta.json b/Resources/Textures/Objects/Fun/foxplushie.rsi/meta.json new file mode 100644 index 00000000000..5842b1ad07a --- /dev/null +++ b/Resources/Textures/Objects/Fun/foxplushie.rsi/meta.json @@ -0,0 +1,38 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from Paradise Station", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "black" + }, + { + "name": "blue" + }, + { + "name": "coffee" + }, + { + "name": "crimson" + }, + { + "name": "marble" + }, + { + "name": "orange" + }, + { + "name": "pink" + }, + { + "name": "purple" + }, + { + "name": "red" + } + ] +} diff --git a/Resources/Textures/Objects/Fun/foxplushie.rsi/orange.png b/Resources/Textures/Objects/Fun/foxplushie.rsi/orange.png new file mode 100644 index 0000000000000000000000000000000000000000..5bd3098c0d25efb396fa78c12fec86fc903c8f08 GIT binary patch literal 939 zcmV;c162HpP)z)0001HJSP|l1XK(HUOFfp2?TyD5PUx*!bclSIVv0p z1dT2Zi9sUNOc%z+#FMd{ z=+|*X)z#JL<>cq%;^W%a*@16&DQ$ zLMIL{6bJ+z5D6U+3LFs%FCrNa2Lvz*0}llR4G0Ac2n7@e1ZX1>xJMh;)zxZP zOhqUhS~n+qJtc!bB)z=6)zQz1Y+O${DtJ#k+s?Y^=jYhf)Xc)YT{k4PhH>WPOtn!x+2n-Sp z4hdBR$%%_|gUt|!nh_Qr5g8R76B`$=qoczOG(nu3fg5auFhoT{ViJ%{7EDP6@zT=8 zK_LvcxI8Hg?^EiDBLID_2)cLfG0uMkBw z0R>c6RoB$k)`5aU7(Gn2D|L12y+Rrqo0?m|-bL4}BQGD&YSY%<(b?7A)7#gNX}tD? ziIXNPOqn`u`iz;gbg(%SGN2Gdy%SW=6yxg##h!>FMd{ z=+{Ju)z#JL zLLx0gA1zcHIK{=q7zz(k9x`DhJk@8J6bK3!1q}`a2u>$7PbV~E1sr7r8l@LbLLe(r zBsoqfG86;}9SIK|3J)9#4lfxW4+ID>0}c%Z2Mh%VXb~y68&=oV)oM&qMI0zvCpmj1 zMS~ z(9@7_d5V64o12@QoSXNqr2qf`00DGTPE!Ct=GbNc00D4GL_t(IjbmUKI)IT0pDZ&A z11lRl9t9knT-+Qyym%Dw@pE$s2nyj*Aq)f}cr4)-KTgF{?gMi!R> zIeB>nMI~hwRW)@DO-*$z3>DhiI=XuL28Kq)CZ=ZQ7M51r+?d8#+t}LKJ2*Oti;4@2 ziwipgfeWfBu5Rw4U?40mDk?4xVxg$;@bvN)74`A;6BPzZi3>wiAguD24+snr4Gswn z0m+GrbA!zghnf)<9uXN89TOWDucM>G4KzWVn}Hi_gfK)!LShn-OcqQ@1@Y3-#X%;! zh@vb zl~+_&RaJw6Ll`|wwaavMYidL4>KhuHz}`jItRpWU(A?76*51+C)!ozEhiSZa|AdK? z6edrZI&J!lnL5}Upgn7ntE>F%IdkXD*T&(4S=vCbU?DDP>H`3&&Pu+BmUaXH0000< KMNUMnLSTZR1#;d1 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/foxplushie.rsi/purple.png b/Resources/Textures/Objects/Fun/foxplushie.rsi/purple.png new file mode 100644 index 0000000000000000000000000000000000000000..18aa47315d69685354a9eb295de9468b8a70e82c GIT binary patch literal 942 zcmV;f15x~mP)FMa` z>6=8?)z#JJ-`4+ALJtt2j1!E@!WnCAgGay1Y zBvL;pP7enc3Ir4s2^|y)9To~4CmAmZ1P>DfFbD(>2?Y%a1q?M2Xlxs})z#NwOlmP4 zMMEcAPbGU)B!k!0*S);G<>Kel&((HZi9sq)UOafxy4&dI=+)HN#l6f$BwdzqwdCXG zlxetEB8FohqIg)AGZ$0Az{A49#KXeG+1T0N-QSRDwbIJiX;pktENoFHZ&W*EoSU55 z+1k+0($vt`gKv<9eu|r$o1B}QDY|IG00001bW%=J06^y0W&i*Ia7jc#R5*=eU>G`p zkqMtHGYbPN8#^8a9GqO-96Y>u6!7tLa|j3u;ZY$B1R{7W;TGi(6Bm_`#HF7@N}7X1 zTwF#LmjXF?c?Cr!WffI5bq!5TbuA1P+S)q0din;2M#d(lX66=_R@~f}##r0f+Sxle zI*E&l3yX^jI|G3Wswu8+?xJ8IEG{Z4E)HU$sPORg@)i~K@%0lG21iWgWUjk1qLW9 z7ezGz1yod4RoB$if`UUBJxsOhbam?+LK>TzTUx>1Mc1q&FCWlm)85h9)!ozE*FOQ% zcoGGrZ@^k0SU$9UchY#jx1Hq!jxTL8M0H~%)-o-EO QUjP6A07*qoM6N<$f@$)3EdT%j literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/foxplushie.rsi/red.png b/Resources/Textures/Objects/Fun/foxplushie.rsi/red.png new file mode 100644 index 0000000000000000000000000000000000000000..966108f7abe96ce5d2ed2ce4a60fcada6afe5c01 GIT binary patch literal 1408 zcmV-`1%LX9P)1w!oSAlpuG3PWOqoK}E`nH*C;^mGfv`=B#$8bpHHcoI5H;R-VKfp=OkFWi zqo9$X2E+nm0R`g{gNRy$Zg!>1jMEMs+L<{sXU_S(0187D5ka`{y*XR*e^1`L-lA*Ec<>i+{=)BwxfH^|4A+#vr`fPP<-{P8ij1emqN%{yQ1Wo1SAd4)&-7?GrM zx2K+W9&pRgHf~|mm|Wg}{&toxntk3N5&)jKe;I3DTFvZftb@4h-rQI$uWYk*-P9E`-Uj~Ha>rY`RK zr~^IRi?FI(zaW?O_sluxE?AD=l$Di90MD{g+Ji^m2_b0P zVL}E{eLu*~^vgJMI7r1}Hx?-gbTyLgx*YG?#eDzyPvjT5NEzrOY4R-8>@g^c0Vaf6 zI=N%@R#Ghj&5*pddFL6y3=84On&3>AqwEnRc;7@?#fjv4HuwyuZbLMKyal~S0ONuZ~l2Og}TwA9J96I1C;iZOMp4fX9? zhlTjG00*8~hPPoeMl{6er5|I>9*t@rLB{+wC=;J1YwqjVuAWI>TOH!JJ=E6h!kOb> zY<4;=t=(w7UV@=8IVmbub&$e}N%TIqSngX@DgPGWg`3M|?(|}UzBq=W(o?^eZ}zp* z>5X8uSg_|6Ayf+^OYS7uW@r2ULo~NF)9wv&?aXUfw`DJv7i1%Z%8y-P+Pen{9*U8i zn@L>gLv<1|@YYlJ%TIslCg0^E*(!(+9;SNDv#kBpgQ)w0!El)CCS+2uXgT(xshE)v zM*d`8T{@Q>5#Yx1E2-MFkHDafN8ha$Z`?6QPM>6@ILE=4O@2(pN=BNUh%QJ8hL}<1 z5eaR$@#k(V3LI*0quNs=0NQ}2+UI1q?j%zQ^WnBmK6toXpaCKsI{bX{YrmXa=)(K8 zpPg-zb=B1Z;NkT<#pCWWx%QD7z%sAD7ll8=khh$t$#x##U zH#9V2nsI7sb_jqwZ*t2}9HazCRwmvaF9?RdAJ>vfx14gtCCp3nQ|QWLzhC3NdFfQW zTg$G4!NfsyvTEyFFr`FrbRvFUvpwP9Kqv}G6d~~YeAH~;F|5UwRJ!HZJSY8O$=2vd zJb@_a8hu-=%yy||9@s0xm32e;jF zBPu6~A6I>I`%qZV8lb7JRe1ZnM0K607GWS1B&NpziHd@df*CW)D4IBNsJNzSw6=Dz zZQF^(=3j?!bdFud2LrfDreU#Ikw8?Bfs{xI(llvotY>cdJX8#-J&E1)mu+~a^7$hI z>?HMeOB0A0ag3NjEE=P=t)0j~Kd-*BhHaidU+2zS8=k2y-an)NN`C-Zic6bDFMn|W O0000VS)*8>L*$jHbT8yoxj`j(fM zYieqqSy8;M&hx;uScQW>1cAyJOM?7@862M7NCR@>JzX3_G$tk|Nc?i(=v|+p)N!c1 zsLYJZ;n8LZ>Del*N}L+2XK1ce;xy>8u-4R`%5{KsMo&+uvo4b$Q_rbYS&lCkdN8e8 xc<}AQ6K!2>ZEaj!3P7b?i*|K0x>gl1F?`P8kvnX${1(tE22WQ%mvv4FO#qYBL6HCe literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/petrock.rsi/meta.json b/Resources/Textures/Objects/Fun/petrock.rsi/meta.json new file mode 100644 index 00000000000..d39a58e623d --- /dev/null +++ b/Resources/Textures/Objects/Fun/petrock.rsi/meta.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from Paradise Station", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "rock" + }, + { + "name": "fred" + }, + { + "name": "roxie" + } + ] +} diff --git a/Resources/Textures/Objects/Fun/petrock.rsi/rock.png b/Resources/Textures/Objects/Fun/petrock.rsi/rock.png new file mode 100644 index 0000000000000000000000000000000000000000..4f97dfeba6f1b58eb6ddb51661beb0f3f3915da8 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvp#Yx{*8>L*$jHbT8yoxj`j(fM zYiep1-s}1Xlw~Xl@(X5gcy=QV$cguKaSYLzn4BQ-%YmbJeTq`Yq4J_KGcJcmn1prCPAj2Q>(ljS1t5lTD9na**8>L*>@u75Y4WQ(8AoJf zWXj9SeSLj3H8qWmjnAwoURURNU|OvA%-jl~dd893!RFCB!i$`HuDBOP3~W-4R~m(|y9>L*yze zqo`nK83Cquw@+zbx+NvR^i=zHdPs^wh{2BO>;3fCI|wBdYU=CjI~K0&_U>fvVh9jC c{D6(2bf(10u&`bIK+73CUHx3vIVCg!07gYq&j0`b literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/prizeticket.rsi/meta.json b/Resources/Textures/Objects/Fun/prizeticket.rsi/meta.json new file mode 100644 index 00000000000..bf0f0d3224d --- /dev/null +++ b/Resources/Textures/Objects/Fun/prizeticket.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from Paradise Station", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "ticket" + }, + { + "name": "ticket_2" + }, + { + "name": "ticket_3" + }, + { + "name": "ticket_4" + }, + { + "name": "prizeball" + } + ] +} diff --git a/Resources/Textures/Objects/Fun/prizeticket.rsi/prizeball.png b/Resources/Textures/Objects/Fun/prizeticket.rsi/prizeball.png new file mode 100644 index 0000000000000000000000000000000000000000..fd8290de14789c7629b796b6824221cb397878ae GIT binary patch literal 732 zcmV<20wev2P)@yq4(%H{LS<@Czr^TFWpip1uCz~a8%@y_P-+wJ$^@c88M z`Q`HY+3fez>GjO!^t9UVg23dq+waZh^vi5=?~0Q4keHsVwEO-3@Av!X^ZM88_Qc`x zvDof?zT&#w@T5#o=Y)&-_}Kpb;s5{t{+FNikeBI(jpXwAf4<_h+3vmG@T*c*?d-?- z`Pu*f;`jE}?(N9l@A$Ra@2}VGc)a1W+3vjE@RdJ9+}W-4^U?d1ocxxZ`uf|JqpEa% zguuLmpGZrs*6nw@;Q%EEvf1vq-0zDwIz~)SW^Z)pg^cr#mGkn?Z+U*iz=^lAbu>9U ztkvxRAq4;<20TGTMN3bbL`b(>VXaeGxwLtyqhX_*S9d2Vu-EPYAO!#-1pxm`g~Q~L ziaeH&M1(Oki8VMtMoFTaRy{&Rnv+U$BP0M+4o^ZDl8QZiD=jWEG?R=#lZ-!y!{h)} z4oN%~Ped6^K^ICt7XVWZ08$MARSy7J5CB&Y09FqGSP%eF4Xm!Y&;S4c0d!JMQvg8b z*k%9#0QE^kK~y-6V_+BsWB^7cW+o;UoYKs!Z0sDIT--do*yWk{_yq)oghfQf#3iuF zOGrvd%gD;fD<~={tEghLKuujkQ%hS%S5Kc^9E&9ehDOFFre-=?<`$M>R@OEc3V3bp z>>V7PoLyYq+&v6Ey)YDb`}q3#2LuKMhlGZOt3*U%D2S4jf+o6OiE6%NySi* zmY$KBm7SBDmtT-ssG5$cAhIYuqqwBBth^$#k~cjPQvpL-ReE}LO-*ebQ+j$mrW1fh zG&DA)gF$mq12zRf74>MQvE+fhr=~8bBZohdfvb2;h_+#sB~svpVD84M1K1 O0000L*WH8BpQ;j^sU~J#U zXMBc%TYssA^Wua2Hfd@9f5kD(1*&8$3GxeOaCmkj4akY~ba4#Pn3$X(@x_6m_xy^E zW8y|`p-M|~ayk|{+`J*`+8MB`u%l49Nq_%? v)(OZFHQVM8#t?L=<5>|W&wK-(Dh39l``jDXfAY`)TEgJz>gTe~DWM4fej7nD literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/prizeticket.rsi/ticket_2.png b/Resources/Textures/Objects/Fun/prizeticket.rsi/ticket_2.png new file mode 100644 index 0000000000000000000000000000000000000000..7e59f474e6afe60ae3ab60f57809c8af34f75458 GIT binary patch literal 296 zcmV+@0oVSCP)nvfozZ+GC-wDJ#y;?UAKl{Vo-fSNZ-TH*qFa%r#s!I zyT=&u5vwLCVyh7${ed0%B3*nx@v)txJ09QUF4FVy%9`XOSw)(FloeSbS(99gEeegS zk*aW#TE3DpT~S!nfTAGP6sQAD!3)zAD6Z1>RPbou)Z{7dK#yd5f)c6n;HTlbJU0h7 uAHF|KdIj3ju%Lh;z>$!qCDRx%b(cT?1uhZg=w2fL0000LPd@yJnJb8B3Fw{$?%5 zTycWshKNt$3L*WH8BpQ;j^xZ*zvh zxWR#e`};Kkpe$oakY6x^!?PP{Ku(0Gi(`n!#N-5tR}KLI3{%%HS<<0%XoZS~22aT0 zjtdVSJ$jL$!5}VBB*-f&D3;LjGATr)B(+q;P2$iBj=)BP5SElS#Z9_;4$%`>C0KfU ic`wGaJ-f7!fuY8h!*$u8HS>XXFnGH9xvXL*tXREa|Dod#9zIb~ zQThM>|E8_GCQqB4>7peBRKr*j5bjhC}wnoYp^fZA-7eTWf9~TU7S0KbYZEwW;&e)VbEp4|y*t=$%?{S&CEZ zg@|OA^fCSo_7Z=tUJ6*h{jf%XE5p6h;is(kSE!u$sB&YkQo)jUB{}@xS+{h{vbE_l spXl^za-ZLFE+d=s(AM%bh4!@~ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/toys.rsi/abductor_agent.png b/Resources/Textures/Objects/Fun/toys.rsi/abductor_agent.png new file mode 100644 index 0000000000000000000000000000000000000000..59aefaca07e7749b974fa22339b73ab6c6497d45 GIT binary patch literal 333 zcmV-T0kZyyP)|Pft($_7uPX0004WQchC5j-~U+~ ztX=IyuRHyQadD0iL#h7@XwEc^urUSa$b2@9%Z4#k;8ixVQ25LS+8!-yHCh1{w$1i@ zf1EvB0$RLTK@ybKpfck* fXyUH*o&R87$FT@FHY1YU00000NkvXXu0mjfK|G4_ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/toys.rsi/deer.png b/Resources/Textures/Objects/Fun/toys.rsi/deer.png new file mode 100644 index 0000000000000000000000000000000000000000..d9bc621422f15d402100ccc4db92cf2945fc808b GIT binary patch literal 787 zcmV+u1MK{XP)111v!9uNc%2mvP(0~!qj84Lm(4+AC=0vHSeE*J(K4+Ip+ z`1bYN)5 z?CEPm9xE0FJst*ZKNzi-dvp^tWUb^ZJMOf@Ga6$eWw3wlW&L?;hD9tA%j22?H&WjPi;AOn0y85I!@O)e5J8V7A#NxZ6?nty1&v#A>n1Y$T9PcIZYAqyJ~0~`+o85kHjIXOc- zHDN<2O-V<0cXmidLm3zsLOL}=EgDQN5_U%&Of3>66$cj<6&M&778DXcIyWXJCKwnP zB^weM85k514$oH1WB>pF0d!JMQvg8b*k%9#0Tf9@K~y-6V_+CWfRTv_NHVkFQ^Lx? zz{U+i;J5Zs2hlRa2dhN3Iu%2{5ULO77!F-W#tlP#V#)*A}S^# zA})bL8l*r{N?Jrl7Ah|%uYjgNQAt@vRZSf#&#IxRg>Hnlj;@|QQ~|4jp^-7V0%H?X zGjl!*Rxq%%GO|WjU}I}%@8Bro4jl}w~w!%n7@BOU{G*KXc(qv!XqMu z{G*~{VtL}6E#ng~6(q9yCncw(rln_C3JMBla-*rp%J%oq$>qq)FDNWxD=sN5D@RpO zQCU?DbbL*1U427iQ*#S%E1Cgq?d=_4Mtf&hcaM+|&HxA6)!WC4M|u?C1^`{NE|(m$ RiGu(D002ovPDHLkV1iAZ1!MpK literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/toys.rsi/gnome.png b/Resources/Textures/Objects/Fun/toys.rsi/gnome.png new file mode 100644 index 0000000000000000000000000000000000000000..7fdb97a688d5b7b186d105ea4078e5b5b49669b3 GIT binary patch literal 330 zcmV-Q0k!^#P)W*ESj{|j*iSX%*2 z1+7p!m9lY;Za(WB~=ft@Z7^i6(G4KQFZ~>66i6EF2P!R+@ zgNgkNLG(ERf+fZnLWIC9;gN%Z$gFt^eC$Tl0g%KAP`2)S|Kw6jCA$?|IhXl$3rX~n%-eKyeBXYP4iz)pcQKVEL=#?3-Mjo z!IRO7?DxQy#qPJj7;CRzH!!yU3~<40;Z3gvL`PuzTN%(W4A8O+mEev7)AeQ05;-w> zy3(U??v6mF<|TMI_n>X60S?)@ss1QL>%Q?JLdOt%#fLEpW6%rnegsdi1|HvyPvEsJ zvfqM~v@KeC1ut&Hzsff!0Zl34l4&9(z)zTBoP{{)kG5r=GtBCv=4DytbzNs!xfXC< j^Z<&FPA@pmn*WhEIh+!Y{~FWU00000NkvXXu0mjfgTJQ^ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/toys.rsi/ipc.png b/Resources/Textures/Objects/Fun/toys.rsi/ipc.png new file mode 100644 index 0000000000000000000000000000000000000000..ed8aac5cea8d71131d90a21f0ebef13d924e45b7 GIT binary patch literal 335 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy-T^)#t_Kbr_`>AJbN9Nt$DPGrnVmcZbygYNiFuDnOB(F8K zE_iqEF-LCU?yJ8!&j~urKP)-3jhEAwg3Pu001;s4;@8L3;+NC0d!JMQvg8b*k%9#0Rl-x zK~yM_y^%3)!!Qs8PbyTf(jEZ^U}c_@AYf&gKz@)1xO8XPfQq~zAMgWQrlVM>;44ES z3M3#+s$92&<#D+r`p*Gawkus}%^oZ8cw~!i(apyZZ#%RLxZNLa(BVg`>2!ZNdCWk3 zH;6oaTJx=IU~{o7PP_R=$kb~V*_>ywg7>|F*XO|Nm#GoheZ}lWW!?mNmE8 zGHRK8WB4GYA4dXiQ3H|3yn*3^8Ui90=A978O6pI$u3*Q_AG5@2yXuVF*C)3pEp&+r|a6}Ii= z&X+PhX>!~y&+D|#)a>c(xH>(kOli})*E$#Solm^Tp35?wH*;sw*0QUfAFkb~RyyQt z==z#v-roJyq3TtPy?0-*f7qwpx9WPZ(B4K(m*onp?HL!{ci3Llal43TL-q5#(>wNa zE&nLW`#@xCfw#cK9>Iuvt5f_mla}w~58P=S;+4`YP~p#$#xGEOte?f?w_=~;!^^Jm vclSSK6y7Q%&!}`I3g`*G)CkWsUtb0-Ae#e-LEuvGWDw=)>gTe~DWM4fC&l8Y literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/toys.rsi/plushie_slips.png b/Resources/Textures/Objects/Fun/toys.rsi/plushie_slips.png new file mode 100644 index 0000000000000000000000000000000000000000..55b389ab5680f9fe9c767066c392c9b6c2c66abd GIT binary patch literal 462 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Storage/Happyhonk/rock_carrier.rsi/box-inhand-right.png b/Resources/Textures/Objects/Storage/Happyhonk/rock_carrier.rsi/box-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..49b15d7ac2b2f45646caf8b0b6f594ce448b14f9 GIT binary patch literal 632 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 Dubaq! literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Storage/Happyhonk/rock_carrier.rsi/meta.json b/Resources/Textures/Objects/Storage/Happyhonk/rock_carrier.rsi/meta.json new file mode 100644 index 00000000000..0241de806c0 --- /dev/null +++ b/Resources/Textures/Objects/Storage/Happyhonk/rock_carrier.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Made by ghostprince", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "box" + }, + { + "name": "box-open" + }, + { + "name": "box-inhand-left", + "directions": 4 + }, + { + "name": "box-inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Structures/Machines/prizecounter.rsi/icon.png b/Resources/Textures/Structures/Machines/prizecounter.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4a2e7df7335b73b42ad5446541406a9a48aa5643 GIT binary patch literal 817 zcmV-11J3-3P)p)7%NqbjXCKE~#<{}ti9lH*+?1FR;&O&h<8P|^ zs|@7iGuMIsA?`nXKu1RhySuwp?T@eDiAUFrk6m5S)~;*7E;!B{N7poghPyL3)-E_8 z)xbc}WxC~}K(eB!#ZJH9kSX`c3De;)OY@6FR#(c_E~Q}^W<`;<)>iFTY9^6L)SWvw zJ4-yeMnGt*IY##o>LEDu$XQ!ipU>yhHR0&JhdVDswe zuQvo>RgX|lPc&hR#R7mNNw__pt7SlvBmfRwE|O^l(mBA)q06O>QBO}$%{DAG*0@pz zyk2kV1qo5a=l3I>w++#$f~E}UkuWNLj*$!)dK)H05sTTZ#g)Wjv4!p~neHyRtbaNj zCeS}rQydy(K$0Y~ih{*#rf__W^ZfZ2&j-LAzlE`2XQ+7Hq3*GsHsSVou9ksPky7zW zeu)J#B^zH)Yu}q!%RrCEa~2fadSpP!6z5%ZU%Coj4LoZsdQIpWSRP2Qy|G2lV6WDW zjt#RM`9^Sjgx4=;E+wY7FK zYe?uaG?jr;mgX0kn3^;sQZG}w25My>FmP8J6OXPjH*4&RsUErpf}1{qCLe5~wQTP2 v2tP!3uC+?4417p^zP81UU@HB4eiQrwW}$l%iA*<200000NkvXXu0mjftsrv! literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Machines/prizecounter.rsi/meta.json b/Resources/Textures/Structures/Machines/prizecounter.rsi/meta.json new file mode 100644 index 00000000000..c8a01ff8d86 --- /dev/null +++ b/Resources/Textures/Structures/Machines/prizecounter.rsi/meta.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/ParadiseSS13/Paradise/", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "unlit" + }, + { + "name": "panel" + } + ] +} diff --git a/Resources/Textures/Structures/Machines/prizecounter.rsi/panel.png b/Resources/Textures/Structures/Machines/prizecounter.rsi/panel.png new file mode 100644 index 0000000000000000000000000000000000000000..65dce282de08f8ca0868d98b80d2f132f3e28665 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!pogc6V@QPi+Y1YM85DR}FTM}B%X;*m+(Eqv z7fzOgEUbm+r(F5c1XRfIAbPR5xpDmGHA$wK>`P)EGhh4on|+?^oaOUa6xvJ}FTa(} TsK1vv6{OVD)z4*}Q$iB}ex5h( literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Machines/prizecounter.rsi/unlit.png b/Resources/Textures/Structures/Machines/prizecounter.rsi/unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..45074c1ac4a1cbe9a64a9151997f3bdd7fc0fe12 GIT binary patch literal 444 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCilm0(?ST6Ly}S{Pf%Z|Nraj>%)YE-o1Ob#>gm4TDnU|M@&p?Td;uDq$O9D z%M=H3uJm9FGF8{s*0!^=J6&Mpsjn2B_fSC6PfS?2%&E(a)l*$r`OdXK`!+r?1D3Tb z{ZE%zUa8wzD;5j1Dx&PgK_I16666;QvcbbrP>gF{s5`X`p&`BXO`5i+*a97IvpHNd8v|Sq?l{r+=AVM+JBH9$#`V3$_xk5F z1juJQbP0l+XkK DBx$@{ literal 0 HcmV?d00001 From 794b8ebeaf5db889d008cb0bc1a866f9cc23174b Mon Sep 17 00:00:00 2001 From: SimpleStation Changelogs Date: Tue, 13 Aug 2024 17:17:16 +0000 Subject: [PATCH 09/11] Automatic Changelog Update (#654) --- Resources/Changelog/Changelog.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 164bbbb316f..15c67e383a4 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -5284,3 +5284,13 @@ Entries: speaking it. id: 6259 time: '2024-08-13T17:12:15.0000000+00:00' +- author: FoxxoTrystan + changes: + - type: Add + message: A ton of new plushies has arrived + - type: Add + message: >- + Prize counter are here, get your prizes by winning games and getting + prize tickets! and find prize balls!! + id: 6260 + time: '2024-08-13T17:16:52.0000000+00:00' From ecfed3e5a7a6d6ea079c034abd7836125da847b3 Mon Sep 17 00:00:00 2001 From: Angelo Fallaria Date: Wed, 14 Aug 2024 05:12:45 +0800 Subject: [PATCH 10/11] Oni Pointy Ears And Tusks (#727) # Description Adds eight pointy ears, two tusks, one feet marking (toes resembling WarCraft trolls) and human nose markings to Onis. The pointed ears are a big reference to tieflings (similar to Onis) who often have them. Onis will now have pointy ears by default, but there is a marking to disable ears. 5 human nose markings have all been made available to Onis, Harpies, and Felinids. Onis and Felinids can now get chest scars, originally humna-only. The tusk markings are originally from Frontier goblins. The new pointy ears give players the power to make their Onis look like **tieflings, orcs, elves, goblins**, and more fantasy races. These markings can potentially be used in the future for other species like psionic elves. ## Media **Blood Elf** (Tall Ears) ![image](https://github.com/user-attachments/assets/257c8839-303c-45b2-b129-3f9183e47695)
See more **Orc** (Upward Ears, Large Tusks) ![image](https://github.com/user-attachments/assets/46bac694-de88-4e04-a12b-7ff8a8111e7b) **Night Elf** (Wide Ears) ![image](https://github.com/user-attachments/assets/18813660-cd2c-4d37-800d-bf84b1d7dee5) **Night Elf** (Slanted Ears) ![image](https://github.com/user-attachments/assets/7f39457b-875d-4c46-a5fb-428a6a535fb1) **Troll** (Large Ears, Small Tusks, Two-Toed Feet) ![image](https://github.com/user-attachments/assets/d9a0c52e-020d-4b55-bb7e-7a4afed61dcc) **Character Setup** ![image](https://github.com/user-attachments/assets/35ba27d4-e6d1-4c52-bbc7-0f057df12fc8) ![image](https://github.com/user-attachments/assets/5d9e7690-7118-48b3-95b9-50ee784660e2)
## Changelog :cl: Skubman - add: Onis have received eight new pointy ear markings in the 'Head (Side)' section that can help them resemble tieflings, orcs, elves, goblins, trolls, and more. - add: Onis get two new tusk markings in the 'Snout' section, and a Two-Toed feet marking in the 'Legs' section. - add: Felinids, Onis, and Harpies can now select Human nose markings like the schnozz, blobby nose, and nubby nose. - add: Felinids and Onis can now select the Chest Scar and Top Surgery Scar markings. - tweak: Default Onis now use the Double Curved horn and Upward Ears markings. --- .../Locale/en-US/markings/goblin_markings.ftl | 9 ++ Resources/Locale/en-US/markings/oni_feet.ftl | 2 + .../Locale/en-US/markings/pointy_ears.ftl | 26 +++++ .../Customization/Markings/human_noses.yml | 10 +- .../Mobs/Customization/Markings/oni_feet.yml | 13 +++ .../Customization/Markings/pointy_ears.yml | 89 ++++++++++++++++++ .../Mobs/Customization/Markings/scars.yml | 6 +- .../Mobs/Customization/Markings/tusks.yml | 27 ++++++ .../Prototypes/Nyanotrasen/Species/Oni.yml | 9 +- Resources/Prototypes/Species/human.yml | 1 + .../goblin_tusks.rsi/goblin_tusks_big.png | Bin 0 -> 617 bytes .../goblin_tusks.rsi/goblin_tusks_none.png | Bin 0 -> 7430 bytes .../goblin_tusks.rsi/goblin_tusks_small.png | Bin 0 -> 607 bytes .../Customization/goblin_tusks.rsi/meta.json | 23 +++++ .../Mobs/Customization/oni_feet.rsi/meta.json | 15 +++ .../Customization/oni_feet.rsi/two_toes.png | Bin 0 -> 748 bytes .../Customization/pointy_ears.rsi/meta.json | 47 +++++++++ .../pointy_ears.rsi/pointy_ears_large.png | Bin 0 -> 907 bytes .../pointy_ears.rsi/pointy_ears_none.png | Bin 0 -> 678 bytes .../pointy_ears.rsi/pointy_ears_slanted.png | Bin 0 -> 865 bytes .../pointy_ears.rsi/pointy_ears_small.png | Bin 0 -> 753 bytes .../pointy_ears.rsi/pointy_ears_standard.png | Bin 0 -> 686 bytes .../pointy_ears.rsi/pointy_ears_tall.png | Bin 0 -> 826 bytes .../pointy_ears.rsi/pointy_ears_thin.png | Bin 0 -> 601 bytes .../pointy_ears.rsi/pointy_ears_upwards.png | Bin 0 -> 789 bytes .../pointy_ears.rsi/pointy_ears_wide.png | Bin 0 -> 675 bytes 26 files changed, 268 insertions(+), 9 deletions(-) create mode 100644 Resources/Locale/en-US/markings/goblin_markings.ftl create mode 100644 Resources/Locale/en-US/markings/oni_feet.ftl create mode 100644 Resources/Locale/en-US/markings/pointy_ears.ftl create mode 100644 Resources/Prototypes/Entities/Mobs/Customization/Markings/oni_feet.yml create mode 100644 Resources/Prototypes/Entities/Mobs/Customization/Markings/pointy_ears.yml create mode 100644 Resources/Prototypes/Entities/Mobs/Customization/Markings/tusks.yml create mode 100644 Resources/Textures/Mobs/Customization/goblin_tusks.rsi/goblin_tusks_big.png create mode 100644 Resources/Textures/Mobs/Customization/goblin_tusks.rsi/goblin_tusks_none.png create mode 100644 Resources/Textures/Mobs/Customization/goblin_tusks.rsi/goblin_tusks_small.png create mode 100644 Resources/Textures/Mobs/Customization/goblin_tusks.rsi/meta.json create mode 100644 Resources/Textures/Mobs/Customization/oni_feet.rsi/meta.json create mode 100644 Resources/Textures/Mobs/Customization/oni_feet.rsi/two_toes.png create mode 100644 Resources/Textures/Mobs/Customization/pointy_ears.rsi/meta.json create mode 100644 Resources/Textures/Mobs/Customization/pointy_ears.rsi/pointy_ears_large.png create mode 100644 Resources/Textures/Mobs/Customization/pointy_ears.rsi/pointy_ears_none.png create mode 100644 Resources/Textures/Mobs/Customization/pointy_ears.rsi/pointy_ears_slanted.png create mode 100644 Resources/Textures/Mobs/Customization/pointy_ears.rsi/pointy_ears_small.png create mode 100644 Resources/Textures/Mobs/Customization/pointy_ears.rsi/pointy_ears_standard.png create mode 100644 Resources/Textures/Mobs/Customization/pointy_ears.rsi/pointy_ears_tall.png create mode 100644 Resources/Textures/Mobs/Customization/pointy_ears.rsi/pointy_ears_thin.png create mode 100644 Resources/Textures/Mobs/Customization/pointy_ears.rsi/pointy_ears_upwards.png create mode 100644 Resources/Textures/Mobs/Customization/pointy_ears.rsi/pointy_ears_wide.png diff --git a/Resources/Locale/en-US/markings/goblin_markings.ftl b/Resources/Locale/en-US/markings/goblin_markings.ftl new file mode 100644 index 00000000000..21b1afea238 --- /dev/null +++ b/Resources/Locale/en-US/markings/goblin_markings.ftl @@ -0,0 +1,9 @@ +# goblin tusks +marking-GoblinTusksBasic = No Tusks +marking-GoblinTusksBasic-goblin_tusks_none = No Tusks + +marking-GoblinTusksSmall = Small Tusks +marking-GoblinTusksSmall-goblin_tusks_small = Small Tusks + +marking-GoblinTusksBig = Long Tusks +marking-GoblinTusksBig-goblin_tusks_big = Long Tusks diff --git a/Resources/Locale/en-US/markings/oni_feet.ftl b/Resources/Locale/en-US/markings/oni_feet.ftl new file mode 100644 index 00000000000..db35a69acdb --- /dev/null +++ b/Resources/Locale/en-US/markings/oni_feet.ftl @@ -0,0 +1,2 @@ +marking-OniTwoToedFeet-two_toes= Two-Toed Feet +marking-OniTwoToedFeet= Two-Toed Feet diff --git a/Resources/Locale/en-US/markings/pointy_ears.ftl b/Resources/Locale/en-US/markings/pointy_ears.ftl new file mode 100644 index 00000000000..637f216667f --- /dev/null +++ b/Resources/Locale/en-US/markings/pointy_ears.ftl @@ -0,0 +1,26 @@ +marking-PointyEarsStandard-pointy_ears_standard = Standard Ears +marking-PointyEarsStandard = Standard Ears + +marking-PointyEarsWide-pointy_ears_wide = Wide Ears +marking-PointyEarsWide = Wide Ears + +marking-PointyEarsSmall-pointy_ears_small = Small Ears +marking-PointyEarsSmall = Small Ears + +marking-PointyEarsUpwards-pointy_ears_upwards = Upward Ears +marking-PointyEarsUpwards = Upward Ears + +marking-PointyEarsTall-pointy_ears_tall = Tall Ears +marking-PointyEarsTall = Tall Ears + +marking-PointyEarsSlanted-pointy_ears_slanted = Slanted Ears +marking-PointyEarsSlanted = Slanted Ears + +marking-PointyEarsThin-pointy_ears_thin = Thin Ears +marking-PointyEarsThin = Thin Ears + +marking-PointyEarsLarge-pointy_ears_large = Large Ears +marking-PointyEarsLarge = Large Ears + +marking-PointyEarsNone-pointy_ears_none = No Ears +marking-PointyEarsNone = No Ears diff --git a/Resources/Prototypes/Entities/Mobs/Customization/Markings/human_noses.yml b/Resources/Prototypes/Entities/Mobs/Customization/Markings/human_noses.yml index 51fc2fd15a2..bfca2ff488a 100644 --- a/Resources/Prototypes/Entities/Mobs/Customization/Markings/human_noses.yml +++ b/Resources/Prototypes/Entities/Mobs/Customization/Markings/human_noses.yml @@ -4,7 +4,7 @@ markingCategory: Snout followSkinColor: true forcedColoring: true - speciesRestriction: [Human, Dwarf] + speciesRestriction: [Human, Dwarf, Felinid, Oni, Harpy] sprites: - sprite: Mobs/Customization/human_noses.rsi state: schnozz @@ -15,7 +15,7 @@ markingCategory: Snout followSkinColor: true forcedColoring: true - speciesRestriction: [Human, Dwarf] + speciesRestriction: [Human, Dwarf, Felinid, Oni, Harpy] sprites: - sprite: Mobs/Customization/human_noses.rsi state: nubby @@ -26,7 +26,7 @@ markingCategory: Snout followSkinColor: true forcedColoring: true - speciesRestriction: [Human, Dwarf] + speciesRestriction: [Human, Dwarf, Felinid, Oni, Harpy] sprites: - sprite: Mobs/Customization/human_noses.rsi state: droop @@ -37,7 +37,7 @@ markingCategory: Snout followSkinColor: true forcedColoring: true - speciesRestriction: [Human, Dwarf] + speciesRestriction: [Human, Dwarf, Felinid, Oni, Harpy] sprites: - sprite: Mobs/Customization/human_noses.rsi state: blob @@ -48,7 +48,7 @@ markingCategory: Snout followSkinColor: true forcedColoring: true - speciesRestriction: [Human, Dwarf] + speciesRestriction: [Human, Dwarf, Felinid, Oni, Harpy] sprites: - sprite: Mobs/Customization/human_noses.rsi state: uppie diff --git a/Resources/Prototypes/Entities/Mobs/Customization/Markings/oni_feet.yml b/Resources/Prototypes/Entities/Mobs/Customization/Markings/oni_feet.yml new file mode 100644 index 00000000000..0ff03df1a0d --- /dev/null +++ b/Resources/Prototypes/Entities/Mobs/Customization/Markings/oni_feet.yml @@ -0,0 +1,13 @@ +- type: marking + id: OniTwoToedFeet + bodyPart: RFoot # Can't be LFoot to avoid visual glitches + markingCategory: Legs + speciesRestriction: [Oni] + coloring: + default: + type: + !type:SimpleColoring + color: "#454545" + sprites: + - sprite: Mobs/Customization/oni_feet.rsi + state: two_toes diff --git a/Resources/Prototypes/Entities/Mobs/Customization/Markings/pointy_ears.yml b/Resources/Prototypes/Entities/Mobs/Customization/Markings/pointy_ears.yml new file mode 100644 index 00000000000..10016fb9851 --- /dev/null +++ b/Resources/Prototypes/Entities/Mobs/Customization/Markings/pointy_ears.yml @@ -0,0 +1,89 @@ +- type: marking + id: PointyEarsStandard + bodyPart: HeadSide + markingCategory: HeadSide + forcedColoring: true + speciesRestriction: [Oni] + sprites: + - sprite: Mobs/Customization/pointy_ears.rsi + state: pointy_ears_standard + +- type: marking + id: PointyEarsWide + bodyPart: HeadSide + markingCategory: HeadSide + forcedColoring: true + speciesRestriction: [Oni] + sprites: + - sprite: Mobs/Customization/pointy_ears.rsi + state: pointy_ears_wide + +- type: marking + id: PointyEarsSmall + bodyPart: HeadSide + markingCategory: HeadSide + forcedColoring: true + speciesRestriction: [Oni] + sprites: + - sprite: Mobs/Customization/pointy_ears.rsi + state: pointy_ears_small + +- type: marking + id: PointyEarsUpwards + bodyPart: HeadSide + markingCategory: HeadSide + forcedColoring: true + speciesRestriction: [Oni] + sprites: + - sprite: Mobs/Customization/pointy_ears.rsi + state: pointy_ears_upwards + +- type: marking + id: PointyEarsTall + bodyPart: HeadSide + markingCategory: HeadSide + forcedColoring: true + speciesRestriction: [Oni] + sprites: + - sprite: Mobs/Customization/pointy_ears.rsi + state: pointy_ears_tall + +- type: marking + id: PointyEarsSlanted + bodyPart: HeadSide + markingCategory: HeadSide + forcedColoring: true + speciesRestriction: [Oni] + sprites: + - sprite: Mobs/Customization/pointy_ears.rsi + state: pointy_ears_slanted + +- type: marking + id: PointyEarsThin + bodyPart: HeadSide + markingCategory: HeadSide + forcedColoring: true + speciesRestriction: [Oni] + sprites: + - sprite: Mobs/Customization/pointy_ears.rsi + state: pointy_ears_thin + +- type: marking + id: PointyEarsLarge + bodyPart: HeadSide + markingCategory: HeadSide + forcedColoring: true + speciesRestriction: [Oni] + sprites: + - sprite: Mobs/Customization/pointy_ears.rsi + state: pointy_ears_large + +- type: marking + id: PointyEarsNone + bodyPart: HeadSide + markingCategory: HeadSide + forcedColoring: true + speciesRestriction: [Oni] + sprites: + - sprite: Mobs/Customization/pointy_ears.rsi + state: pointy_ears_none diff --git a/Resources/Prototypes/Entities/Mobs/Customization/Markings/scars.yml b/Resources/Prototypes/Entities/Mobs/Customization/Markings/scars.yml index f4186295900..79e0a0ff012 100644 --- a/Resources/Prototypes/Entities/Mobs/Customization/Markings/scars.yml +++ b/Resources/Prototypes/Entities/Mobs/Customization/Markings/scars.yml @@ -22,7 +22,7 @@ id: ScarTopSurgeryShort bodyPart: Chest markingCategory: Chest - speciesRestriction: [Human, Dwarf] + speciesRestriction: [Human, Dwarf, Felinid, Oni] sexRestriction: [Male] followSkinColor: true sprites: @@ -33,7 +33,7 @@ id: ScarTopSurgeryLong bodyPart: Chest markingCategory: Chest - speciesRestriction: [Human, Dwarf] + speciesRestriction: [Human, Dwarf, Felinid, Oni] sexRestriction: [Male] followSkinColor: true sprites: @@ -44,7 +44,7 @@ id: ScarChest bodyPart: Chest markingCategory: Chest - speciesRestriction: [Human, Dwarf] + speciesRestriction: [Human, Dwarf, Felinid, Oni] followSkinColor: true sprites: - sprite: Mobs/Customization/scars.rsi diff --git a/Resources/Prototypes/Entities/Mobs/Customization/Markings/tusks.yml b/Resources/Prototypes/Entities/Mobs/Customization/Markings/tusks.yml new file mode 100644 index 00000000000..e2b74b44847 --- /dev/null +++ b/Resources/Prototypes/Entities/Mobs/Customization/Markings/tusks.yml @@ -0,0 +1,27 @@ +- type: marking + id: GoblinTusksSmall + bodyPart: Snout + markingCategory: Snout + speciesRestriction: [Oni] + coloring: + default: + type: + !type:SimpleColoring + color: "#d9d9d9" + sprites: + - sprite: Mobs/Customization/goblin_tusks.rsi + state: goblin_tusks_small + +- type: marking + id: GoblinTusksBig + bodyPart: Snout + markingCategory: Snout + speciesRestriction: [Oni] + coloring: + default: + type: + !type:SimpleColoring + color: "#d9d9d9" + sprites: + - sprite: Mobs/Customization/goblin_tusks.rsi + state: goblin_tusks_big diff --git a/Resources/Prototypes/Nyanotrasen/Species/Oni.yml b/Resources/Prototypes/Nyanotrasen/Species/Oni.yml index a6a63b29526..ba5e5661f9f 100644 --- a/Resources/Prototypes/Nyanotrasen/Species/Oni.yml +++ b/Resources/Prototypes/Nyanotrasen/Species/Oni.yml @@ -30,7 +30,14 @@ HeadTop: points: 1 required: true - defaultMarkings: [ OniHornSingleCurved ] + defaultMarkings: [ OniHornDoubleCurved ] + HeadSide: + points: 1 + required: false + defaultMarkings: [ PointyEarsUpwards ] + Snout: + points: 2 + required: false Chest: points: 1 required: false diff --git a/Resources/Prototypes/Species/human.yml b/Resources/Prototypes/Species/human.yml index 49f8839cac3..99ec35da2e1 100644 --- a/Resources/Prototypes/Species/human.yml +++ b/Resources/Prototypes/Species/human.yml @@ -33,6 +33,7 @@ RFoot: MobHumanRFoot Tail: MobHumanoidAnyMarking # Nyanotrasen - Felinid HeadTop: MobHumanoidAnyMarking # Nyanotrasen - Felinid & Oni + HeadSide: MobHumanoidAnyMarking - type: markingPoints id: MobHumanMarkingLimits diff --git a/Resources/Textures/Mobs/Customization/goblin_tusks.rsi/goblin_tusks_big.png b/Resources/Textures/Mobs/Customization/goblin_tusks.rsi/goblin_tusks_big.png new file mode 100644 index 0000000000000000000000000000000000000000..fb706ac649e82e68a92ceb77b165f81a9b9ad22f GIT binary patch literal 617 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/goblin_tusks.rsi/meta.json b/Resources/Textures/Mobs/Customization/goblin_tusks.rsi/meta.json new file mode 100644 index 00000000000..0983b297549 --- /dev/null +++ b/Resources/Textures/Mobs/Customization/goblin_tusks.rsi/meta.json @@ -0,0 +1,23 @@ +{ + "version": 1, + "copyright": "Sprited by erhardsteinhauer (discord)", + "license": "CC-BY-SA-4.0", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "goblin_tusks_small", + "directions": 4 + }, + { + "name": "goblin_tusks_big", + "directions": 4 + }, + { + "name": "goblin_tusks_none", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Mobs/Customization/oni_feet.rsi/meta.json b/Resources/Textures/Mobs/Customization/oni_feet.rsi/meta.json new file mode 100644 index 00000000000..c0792d54004 --- /dev/null +++ b/Resources/Textures/Mobs/Customization/oni_feet.rsi/meta.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprites by angelofallars (github), two toes based off of Reptilian ( https://github.com/tgstation/tgstation/blob/8024397cc81c5f47f74cf4279e35728487d0a1a7/icons/mob/human_parts_greyscale.dmi )", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "two_toes", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Mobs/Customization/oni_feet.rsi/two_toes.png b/Resources/Textures/Mobs/Customization/oni_feet.rsi/two_toes.png new file mode 100644 index 0000000000000000000000000000000000000000..898f115fe35c948630a08ca7215f16f3406a906d GIT binary patch literal 748 zcmVEX>4Tx04R}tkv&MmP!xqvQ^g_`1v`i+WT;MdQ4z;lg(6f4wL+^7CNKSiCJjl7 zi=*ILaPVib>fqw6tAnc`2>yULJ2)x2NQw6)g%&YBxV(?^-Z|WNA0RX;OtZS;fTr7K zI++l&xmB^}6(NK%Ks72e%b1g-6nxj$Jpz2ci}5V~dw;GzHE%H>AQH!!VcNtS#50?= z!FiuJ!b-AAd`>)JQiH^gTvt4P<6LxE;F%FKlb$Dz5R1hQRyvrKOpSP&II3zo)|5Tqat9cCGGtSBr6841C;;zg^i4Tn@D}J@^XAq%$LRx*p;@JFfP+I| zyhz#WKJN~7&h6hjt@-@`ULrl$=#YHN#vYURaF{>!Pd^bUt2hiqx!yIzSpkD z$8p?z_m9Wpa#H7A{+&Oo>-wRS4FCWD000000000V;i+5H5W;d*9b;72bvm6+|Jrz2 zmdf*7F~+Cf1EX>4Tx04R}tkv&MmP!xqvQ^g_`1v`i+WT;MdQ4z;lg(6f4wL+^7CNKSiCJjl7 zi=*ILaPVib>fqw6tAnc`2>yULJ2)x2NQw6)g%&YBxV(?^-Z|WNA0RX;OtZS;fTr7K zI++l&xmB^}6(NK%Ks72e%b1g-6nxj$Jpz2ci}5V~dw;GzHE%H>AQH!!VcNtS#50?= z!FiuJ!b-AAd`>)JQiH^gTvt4P<6LxE;F%FKlb$Dz5R1hQRyvrKOpSP&II3zo)|5Tqat9cCGGtSBr6841C;;zg^i4Tn@D}J@^XAq%$LRx*p;@JFfP+I| zyhz#WKJN~7&h6hjt@-@`ULEMvqExSmtkQI!@e64Kx~(Pvh{Y(xViYEhjf@f9R#VO0Nw?L6*KwBdH?7%iHJ9NWK2HVo5B9A}so zdUhM7dM(ozpyG#tkNI!{Ay%_n2!Z)tE1mlF&Lu)of6%)|SCeF3hzu^`S^9@%1slaNq#| z!obJX!;{urt^NSDSQz*)ObhW(A`gm{G7QuD)#kM`Af5>TaC!fjs|EX>4Tx04R}tkv&MmP!xqvQ^g_`1v`i+WT;MdQ4z;lg(6f4wL+^7CNKSiCJjl7 zi=*ILaPVib>fqw6tAnc`2>yULJ2)x2NQw6)g%&YBxV(?^-Z|WNA0RX;OtZS;fTr7K zI++l&xmB^}6(NK%Ks72e%b1g-6nxj$Jpz2ci}5V~dw;GzHE%H>AQH!!VcNtS#50?= z!FiuJ!b-AAd`>)JQiH^gTvt4P<6LxE;F%FKlb$Dz5R1hQRyvrKOpSP&II3zo)|5Tqat9cCGGtSBr6841C;;zg^i4Tn@D}J@^XAq%$LRx*p;@JFfP+I| zyhz#WKJN~7&h6hjt@-@`ULkVwY zf{(*0UV(-iU_wXeC`crs8XGYzL3u|a|CdYwOqj`Rxg!DqGiK@%Lf5mN*ZW=L+(#VA z_IU2qVELb)dT5&0Ng70w#fhlu*F05~EKVd1qCrn74I)uhE6R0?F?9WR6ID|#pTa1` zU-k3o@*MyG0000000000X03KVz;`aPSgx#hgWbCitj#V%E538Fb_A;K=zpo$(-`{+ z)(}G1o9qC(>?fGEL&$9oCo#rMW&rowRYausN)7-300000004jN2|encG>Q>+6#xJL M07*qoM6N<$f+|`kQ2+n{ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/pointy_ears.rsi/pointy_ears_slanted.png b/Resources/Textures/Mobs/Customization/pointy_ears.rsi/pointy_ears_slanted.png new file mode 100644 index 0000000000000000000000000000000000000000..93c7ee9a8c5090a149db9b67ccd4f8273e00b92d GIT binary patch literal 865 zcmV-n1D^beP)EX>4Tx04R}tkv&MmP!xqvQ^g_`1v`i+WT;MdQ4z;lg(6f4wL+^7CNKSiCJjl7 zi=*ILaPVib>fqw6tAnc`2>yULJ2)x2NQw6)g%&YBxV(?^-Z|WNA0RX;OtZS;fTr7K zI++l&xmB^}6(NK%Ks72e%b1g-6nxj$Jpz2ci}5V~dw;GzHE%H>AQH!!VcNtS#50?= z!FiuJ!b-AAd`>)JQiH^gTvt4P<6LxE;F%FKlb$Dz5R1hQRyvrKOpSP&II3zo)|5Tqat9cCGGtSBr6841C;;zg^i4Tn@D}J@^XAq%$LRx*p;@JFfP+I| zyhz#WKJN~7&h6hjt@-@`ULuh1pCXauJe9V7vzf-cudi5g9!Q3HK`lP~Ap{m4 zn+-W&0B5Pcw=q=(09}MrjJv(WWXq=SUtdr*ssJD&a`2@eSN}H{%Jaw9R;=gPsNB_Z ztsiYfRaKKN!`WcCip}#sAX;Blv6+7P+9CBzX@W#V`t4S#QTE#{$!F}__5F^EML5M~ zdJ(}QoWk$8C#g?FL_|bHL_|bHL_|dYPTqU}BJ^0wk~qtr{!)j}+T*@eHvq(LSq;;Y zeS7)~9)8zWSnAD2wgCW$uAx^C(%vg@PBHf-tex-ZWwGbj@EjZSU=rQcYk|J~Wm`HA zCh#2l_@6-B5CFh>YvAg(g0fLXQP%MDV1jYC2g9`BcU;8XL2~o}qC)_Hr}xjo3_w-U rZ?^y-)8UDTh=_=Yh=_=Yi2j*BB+D2G>VL7^00000NkvXXu0mjfZCsV< literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/pointy_ears.rsi/pointy_ears_small.png b/Resources/Textures/Mobs/Customization/pointy_ears.rsi/pointy_ears_small.png new file mode 100644 index 0000000000000000000000000000000000000000..c6cdebef00521c119c35fbefe0efc9c82d6b4b29 GIT binary patch literal 753 zcmVEX>4Tx04R}tkv&MmP!xqvQ^g_`1v`i+WT;MdQ4z;lg(6f4wL+^7CNKSiCJjl7 zi=*ILaPVib>fqw6tAnc`2>yULJ2)x2NQw6)g%&YBxV(?^-Z|WNA0RX;OtZS;fTr7K zI++l&xmB^}6(NK%Ks72e%b1g-6nxj$Jpz2ci}5V~dw;GzHE%H>AQH!!VcNtS#50?= z!FiuJ!b-AAd`>)JQiH^gTvt4P<6LxE;F%FKlb$Dz5R1hQRyvrKOpSP&II3zo)|5Tqat9cCGGtSBr6841C;;zg^i4Tn@D}J@^XAq%$LRx*p;@JFfP+I| zyhz#WKJN~7&h6hjt@-@`ULSWNx zf)4Io{0hE&*jm4WOZE&E(j}5kMhHzIAjic>3`7$Wwd()31@6sr?mc%r5&-;T?z086 z=|sbQ&x-HE^KtE-hdcjm-SRPZl5~1`-KoH8eq9aa>>|HOwrf&E7RHif+s6lT&eiTQ zGh59UlH>*>ueUCh^NYI6Wtf>HnIyH%-)OREF!B@yzI*+7t<`*?DDZndd^JB$QdN84 zoKv2pUzQI500000000000KZ=FQEDoj?TumxjWR>-p)s}65oCSd6L@m(^663x9YrW`w|K#7gt)R3%I|%k<@)8 j2LJ#700000fIsX7D^!sPg4vV500000NkvXXu0mjf7kgDr literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/pointy_ears.rsi/pointy_ears_standard.png b/Resources/Textures/Mobs/Customization/pointy_ears.rsi/pointy_ears_standard.png new file mode 100644 index 0000000000000000000000000000000000000000..38d7137e61b3d457bc55880eb9ae2caa0b210bd5 GIT binary patch literal 686 zcmV;f0#W^mP)EX>4Tx04R}tkv&MmP!xqvQ^g_`1v`i+WT;MdQ4z;lg(6f4wL+^7CNKSiCJjl7 zi=*ILaPVib>fqw6tAnc`2>yULJ2)x2NQw6)g%&YBxV(?^-Z|WNA0RX;OtZS;fTr7K zI++l&xmB^}6(NK%Ks72e%b1g-6nxj$Jpz2ci}5V~dw;GzHE%H>AQH!!VcNtS#50?= z!FiuJ!b-AAd`>)JQiH^gTvt4P<6LxE;F%FKlb$Dz5R1hQRyvrKOpSP&II3zo)|5Tqat9cCGGtSBr6841C;;zg^i4Tn@D}J@^XAq%$LRx*p;@JFfP+I| zyhz#WKJN~7&h6hjt@-@`ULb7kh-rFMN+8^##XzBzY&+k|tKySq^5YLQpf z)^Bv_?4i-6S+YI=00000000000Q|Jx^Ybi@#Np@-o)K8nm|2EVvN-BJqhHfk<^!IK zU}pd}w*YmnCd~)zh6ep06h)edN-J5U$>u(RB28qamE4~_erx~$00000006i>0AZ`i U|6;tX>;M1&07*qoM6N<$f&!T?2LJ#7 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/pointy_ears.rsi/pointy_ears_tall.png b/Resources/Textures/Mobs/Customization/pointy_ears.rsi/pointy_ears_tall.png new file mode 100644 index 0000000000000000000000000000000000000000..f42a86613a91e271169c6539cca1b69bd1e56120 GIT binary patch literal 826 zcmV-A1I7G_P)EX>4Tx04R}tkv&MmP!xqvQ^g_`1v`i+WT;MdQ4z;lg(6f4wL+^7CNKSiCJjl7 zi=*ILaPVib>fqw6tAnc`2>yULJ2)x2NQw6)g%&YBxV(?^-Z|WNA0RX;OtZS;fTr7K zI++l&xmB^}6(NK%Ks72e%b1g-6nxj$Jpz2ci}5V~dw;GzHE%H>AQH!!VcNtS#50?= z!FiuJ!b-AAd`>)JQiH^gTvt4P<6LxE;F%FKlb$Dz5R1hQRyvrKOpSP&II3zo)|5Tqat9cCGGtSBr6841C;;zg^i4Tn@D}J@^XAq%$LRx*p;@JFfP+I| zyhz#WKJN~7&h6hjt@-@`UL?m{+ z>d?KPqAwpd#@)%q-629i2xRL?4+A}rr;CwTt#?Tyk^29wUha9x#pOAG=%g%8k;SQ$ zd`7Z3{TJ~803ss3Nn~*Z@CskVSvSW1ORCFx+mA> zzc0okL}7p^4E|hrai4at`|F-j80_NL6?^YH{QCHW&l}jTtNni{kH0;Q$4+Ra_${AB zok1VV=>!0jW2stBC+H0NwKgD+pUh{LaxyooHLNzuYU5oz;GXv%boJrs8SP#dxA%7kbNVJ5V70+!wMH_Z zc^6-*0Y5*7$CtN@YCwLCr%drgL_|bHL_|bHL_}BS8_B69Xc=)$qyPW_07*qoM6N<$ Ef=F$8X#fBK literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/pointy_ears.rsi/pointy_ears_thin.png b/Resources/Textures/Mobs/Customization/pointy_ears.rsi/pointy_ears_thin.png new file mode 100644 index 0000000000000000000000000000000000000000..a910e67f6d07167dd7bdcc25745d90da09a95c24 GIT binary patch literal 601 zcmV-f0;c_mP)EX>4Tx04R}tkv&MmP!xqvQ^g_`1v`i+WT;MdQ4z;lg(6f4wL+^7CNKSiCJjl7 zi=*ILaPVib>fqw6tAnc`2>yULJ2)x2NQw6)g%&YBxV(?^-Z|WNA0RX;OtZS;fTr7K zI++l&xmB^}6(NK%Ks72e%b1g-6nxj$Jpz2ci}5V~dw;GzHE%H>AQH!!VcNtS#50?= z!FiuJ!b-AAd`>)JQiH^gTvt4P<6LxE;F%FKlb$Dz5R1hQRyvrKOpSP&II3zo)|5Tqat9cCGGtSBr6841C;;zg^i4Tn@D}J@^XAq%$LRx*p;@JFfP+I| zyhz#WKJN~7&h6hjt@-@`UL>rFpo zZfx@b00000000=X?EbuK+K7nH_3v+Z{1*@rsi?}Vy_4J_*8@|;rGuZ&XFqd`$6Xz# n{UH{sW%8y0000000G>Dliy|+{59 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/pointy_ears.rsi/pointy_ears_upwards.png b/Resources/Textures/Mobs/Customization/pointy_ears.rsi/pointy_ears_upwards.png new file mode 100644 index 0000000000000000000000000000000000000000..8454708d9e41e25fcae454885b23a85f80053214 GIT binary patch literal 789 zcmV+w1M2*VP)EX>4Tx04R}tkv&MmP!xqvQ^g_`1v`i+WT;MdQ4z;lg(6f4wL+^7CNKSiCJjl7 zi=*ILaPVib>fqw6tAnc`2>yULJ2)x2NQw6)g%&YBxV(?^-Z|WNA0RX;OtZS;fTr7K zI++l&xmB^}6(NK%Ks72e%b1g-6nxj$Jpz2ci}5V~dw;GzHE%H>AQH!!VcNtS#50?= z!FiuJ!b-AAd`>)JQiH^gTvt4P<6LxE;F%FKlb$Dz5R1hQRyvrKOpSP&II3zo)|5Tqat9cCGGtSBr6841C;;zg^i4Tn@D}J@^XAq%$LRx*p;@JFfP+I| zyhz#WKJN~7&h6hjt@-@`UL#eG)o>TsHRYBl7zn^a&?*FZ|znA~>^!$3#!VmKU*ZFhIz;%xD zPtD%Dr@lYGq|Oc$b)7#0Y`&_>;U?Sf+T>5_6iw$diF{8)#8i};$oFJApLKcxZ2o4o zGx|vRN&A$p-)c00000006+n>E*rqz;m3m2+$EPzTdeOZ(((e7s2)h zG;L34)E{6~^$852Jf|l80hPBvd5}CwB@1Jdg|YP12-5mwW??K@7@IsvYcIa`Gr$g3 z^a#k+-K`nh39xgDe6LYwNTY?6Z->Xl%Tc4kkSE~d{jJf?0{{R300000aDjdRWC-8- TTJhfo00000NkvXXu0mjfU0HEx literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/pointy_ears.rsi/pointy_ears_wide.png b/Resources/Textures/Mobs/Customization/pointy_ears.rsi/pointy_ears_wide.png new file mode 100644 index 0000000000000000000000000000000000000000..2a643bf6c61c3eb38eddf9c80e635360a6a451ed GIT binary patch literal 675 zcmV;U0$lxxP)EX>4Tx04R}tkv&MmP!xqvQ^g_`1v`i+WT;MdQ4z;lg(6f4wL+^7CNKSiCJjl7 zi=*ILaPVib>fqw6tAnc`2>yULJ2)x2NQw6)g%&YBxV(?^-Z|WNA0RX;OtZS;fTr7K zI++l&xmB^}6(NK%Ks72e%b1g-6nxj$Jpz2ci}5V~dw;GzHE%H>AQH!!VcNtS#50?= z!FiuJ!b-AAd`>)JQiH^gTvt4P<6LxE;F%FKlb$Dz5R1hQRyvrKOpSP&II3zo)|5Tqat9cCGGtSBr6841C;;zg^i4Tn@D}J@^XAq%$LRx*p;@JFfP+I| zyhz#WKJN~7&h6hjt@-@`UL Date: Tue, 13 Aug 2024 21:13:08 +0000 Subject: [PATCH 11/11] Automatic Changelog Update (#727) --- Resources/Changelog/Changelog.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 15c67e383a4..253a6a57a20 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -5294,3 +5294,26 @@ Entries: prize tickets! and find prize balls!! id: 6260 time: '2024-08-13T17:16:52.0000000+00:00' +- author: Skubman + changes: + - type: Add + message: >- + Onis have received eight new pointy ear markings in the 'Head (Side)' + section that can help them resemble tieflings, orcs, elves, goblins, + trolls, and more. + - type: Add + message: >- + Onis get two new tusk markings in the 'Snout' section, and a Two-Toed + feet marking in the 'Legs' section. + - type: Add + message: >- + Felinids, Onis, and Harpies can now select Human nose markings like the + schnozz, blobby nose, and nubby nose. + - type: Add + message: >- + Felinids and Onis can now select the Chest Scar and Top Surgery Scar + markings. + - type: Tweak + message: Default Onis now use the Double Curved horn and Upward Ears markings. + id: 6261 + time: '2024-08-13T21:12:45.0000000+00:00'