* Beauty element fixes for hard-dels and super-beauty (#57396)
* pass correct material amount to on_removed
* skip detach logic in beauty element for objects that don't actually have beauty
* always remove area-sensitive trait when detaching beauty element
* Beauty element fixes for hard-dels and super-beauty
Co-authored-by: William Wallace <me@wiox.me>
* Adds tourist robots that order food and drinks from the bar and cafeteria (#57010)
* Adds Tourism Economy
Co-authored-by: Emmanuel S. <emmanuelssr@ gmail.com>
Co-authored-by: ATH1909 <42606352+ATH1909@ users.noreply.github.com>
Co-authored-by: coiax <yellowbounder@ gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Adds tourist robots that order food and drinks from the bar and cafeteria
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Emmanuel S. <emmanuelssr@ gmail.com>
Co-authored-by: ATH1909 <42606352+ATH1909@ users.noreply.github.com>
Co-authored-by: coiax <yellowbounder@ gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Beauty is now an element. Fixing an issue with enter/exit area comsigs. (#57147)
Co-authored-by: Ghommie <425422238+Ghommie@ users.noreply.github.com>
* Beauty is now an element. Fixing an issue with enter/exit area comsigs.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Ghommie <425422238+Ghommie@ users.noreply.github.com>
* Refactors the Light Eater and gives it some flavortext. Some minor behavior changes included. (#55551)
Converts the effects of the nightmares light eater into a component and a couple elements
Adds some flavor text to the light eater
Makes the effects of the nightmare's light eater dispel if the armblade is destroyed
Probably a net increase in code quality
More flavortext
The nightmare's light eater effect can be dispelled if you are willing to sacrifice the armblade
* Refactors the Light Eater and gives it some flavortext. Some minor behavior changes included.
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Adds a punctuation and removes an egregious blind message in climbable element (#56744)
Adds a punctuation on the examine message for climbable things
Removes a really bad blind message
* Adds a punctuation and removes an egregious blind message in climbable element
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* You can now remove embedded objects directly with a hemostat (#56637)
* You can now remove embedded objects directly with a hemostat
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* reverts Adds Neon Carpet (#55782), it appears to have been causing massive amounts of maptick (#56496)
It appears to have been causing massive amounts of maptick, this'll need a testmerge so we can test my hypothesis
* Reverts Adds Neon Carpet (#55782)
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Fixes up the crate climbing element being incorrectly removed when opened (#56518)
* Fixes a runtime in crate code due to the climbable element
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
* leatherman (#56483)
Fixes stacks like wet leather not being dryable in a drying rack
* Fixes drying rack not drying wet leather
Co-authored-by: Valtos <valtos@spaces.ru>
* Adds the Hauntium material, which turns any item into a ghost (with AI) (#55728)
* Adds the Hauntium material, which turns any item into a ghost (with AI)
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Refactor card scaling into an element for general item scaling (#56102)
The current TCG code had some code for scaling its cards down when they're on the ground and then scaling them back in hand/inventory. This element aims to preserve this functionality and to allow it work for other items.
While the TCG makes the cards smaller on the ground, this element allows for items to be scaled up OR down when on the floor or in inventory.
While this particular element has to do with scaling, I am looking at ways to expand this sort of icon change functionality to icon_state as well, but there are additional issues with blood decals needing to be redrawn and possibly vis_contents.
* Refactor card scaling into an element for general item scaling
Co-authored-by: Koshenko <53068134+Koshenko@users.noreply.github.com>
* Increases the clarity of firealarms (#56188)
## About The Pull Request
Makes firelocks closed by atmos issues open when those issues are resolved
Adds a finished proc to atmos_sensitive
Adds a new overlay for fire alarms that are currently triggered due to atmos issues
Makes the detecting var work properly instead of shutting off behavior until the next activity (This avenue needs more work put into it, but that's out of scope for this pr)
## Why It's Good For The Game
I've been getting "complaints" from players about firelocks and cold, and while I think part of it is stuff that will smooth out over time, they do have a point. So let's make fixing firelocks less of a shot in the dark, and more of a minigame.
* Increases the clarity of firealarms
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Removes the ANIMATION_PARALLEL flag from floating and fixes another issue with the refactor. (#55930)
Co-authored-by: Rohesie <rohesie@ gmail.com>
* Removes the ANIMATION_PARALLEL flag from floating and fixes another issue with the refactor.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@ gmail.com>
* Fixes 2 really annoying cytology virus bugs. (#56062)
This PR fixes the generate_sample proc so it properly uses virus_chance to determine when to generate a virus. Now most samples will be virus free as intended.
It also fixes the bug where virus penalty and spaceacillin consumption would be multiplied by the number of cell lines, rather than the number of viruses, as intended.
* Fixes 2 really annoying cytology virus bugs.
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
* Adds Rocket Backblast (#55681)
This PR adds the backblast element, which when attached to a gun, creates giant plumes of fire when said gun is fired. The PM9 rocket launcher that nuke ops can buy kinda sucks and even a direct hit with the standard rockets loaded isn't enough to guarantee a one-hit crit on a direct hit against an armored opponent, which sucks for how much you pay for it. In that vein, I've also buffed the standard rockets a bit, they now do 50 brute up from 30 on a direct hit, and they create flames on their explosion.
Also makes a tweak to /proc/get_turf_in_angle(), since tile coordinates start at 1,1 instead of 0,0 that proc is now clamped to min 1,1 rather than 0,0
* Adds Rocket Backblast
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* Turns squashing mobs into an element (#55725)
Opens up room for extending squashing behavior for future cytology updates.
* Turns squashing mobs into an element
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Fixes slimes riding monkeys and thus falling off of each other (#55887)
Fixes slimes trying to ride monkeys.
* Fixes slimes riding monkeys and thus falling off of each other
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Allows you to tuck the nuclear authentication disk (and plushes) into bed. (#55940)
Adds an element, the tuckable element. Objects with this element can be tucked into bed by hitting a bed with it.
You can now make beds by hitting them with a blanket.
You can now tuck plushes into bed.
You can now tuck the disk into bed, too.
* Allows you to tuck the nuclear authentication disk (and plushes) into bed.
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Refactors how movetypes are added and removed, No timers this time. (#55444)
* Refactors how movetypes are added and removed, No timers this time.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Makes drying racks apply color properly (#55317)
Drying racks aren't coloring things currently because of how that typecheck works (It should be a type == current_type instead of !type)
* Makes drying racks apply color properly
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Replace direct poi_list manipulation with element (#55416)
Replaces GLOB.poi_list |= src and GLOB.poi_list -= src with an element that handles it directly.
More consistent code, especially when a lot of code couldn't decide how to add/remove (some |=, some -=, some .Remove, etc).
* Replace direct poi_list manipulation with element
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* Small do-after refactor (#55172)
This is an alternative to the PR Ryll made, it does some things similar e.g. the default limit of 1 interaction per target for a person, however, it refactors do_afters to support overrides for max interaction counts and unique sources.
For example, stripping uses the item being stripped as the source, allowing you to strip multiple items, but not the same item multiple times.
I've also fixed most other edge-cases this could cause where balance would be affected, but feel free to point out any I might've missed, this'll probably require some longer-term testmerging.
* Small do-after refactor
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Moves grown food to newfood (#55040)
Moves grown food to newfood
Gives trash element support for callbacks for item creation override
* Moves grown food to newfood
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* moves misc food to newfood code (#54788)
misc food is now using newfood code
* moves misc food to newfood code
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Converting art component into element. (#54616)
* Only art is now an element. There have been some issues with beauty.
* Typo.
* Update art.dm
* Update art.dm
* Maintainer suggestions. Reversing order of switch(impress) for correct moodlets.
* Fixing some pre-existing oddities with art element.
* stating the right var.
* simplifying the component.
* Update art.dm
* lowercasing pronoun.
* Converting art component into element.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Turns transparency for turfs into an element, and gives it to datum materials. (#54250)
* Turns transparency for turfs into an element, and gives it to datum materials.
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Converting the EMP protection component into an element. (#54617)
* Converting the EMP protection component into an element.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Adds Alloy Materials (#53623)
Adds and implements alloy materials
Takes several materials that were mostly fluff and converts them into actual usable materials.
Messes with material code a bit to make alloys recycle back into their component materials.
Adds the alloy materials to their in-game stacks.
Materials added:
Plasteel
Plastitanium
Plasmaglass
Titaniumglass
Plastitanium Glass
Alien Alloy
Makes plasteel/plastitanium/plasmaglass and the rest able to have separate properties from their component materials. It doesn't make much sense that the materials used to seal off the supermatter chamber from the rest of the station would be prone to exploding when heated.
Allows for further expansion of materials, possibly including actual functional metallurgy and smelting at some point in the very distant future.
(Lemons note: Adds a regeneration component, used for alien alloy)
* Adds Alloy Materials
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Fixes decals causing 20k runtimes and blood not cleaning (#53967)
decals will unregister signals and wont try to clean twice
* Fixes decals causing 20k runtimes and blood not cleaning
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
* s-s-s-spaghetti to newfood (#53574)
🆑 Qustinnus
code: Moves spaghetti to new food
fix: Fixes some more size problems on food
fix: Fixes organs having wrong params
/🆑fixes#53482fixes#53572
* s-s-s-spaghetti to newfood
Co-authored-by: Qustinnus <Floydje123@hotmail.com>