* Adds unit test for spawned food edibility (#57232)
* Adds unit test for spawned food having reagents
- Adds stack trace for biting food failing due to a lack of reagents
- Adds checks for seed var being set under food/grown's initialize() in grown.dm
- Fixes issue with gondola meat code duplicated for penguin meat slabs resulting in a runtime and being unable to slice penguin meat
- Adds seeds for bombananas
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Adds unit test for spawned food edibility
Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Fixes pin the tail on the corgi. (#57218)
There was an old check on there that was completely unnecessary to the tails being pinned, combat mode broke it further but on the whole the check wasn't necessary, so it's gone and now the game works as expected.
* Fixes pin the tail on the corgi.
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
* 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>
* Updates the stackcrafting description and normal description of the daemon forge (#57126)
* Updates the stackcrafting description and normal description of the daemon forge
Co-authored-by: ATH1909 <42606352+ATH1909@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>
* Completely refactors glowshroom spreading and makes them self-decay faster (#56981)
* Completely refactors glowshroom spreading and makes them self-decay faster
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Update eggcluster radial menu (#57125)
- Updated radial menu for spider selection from an egg clusters. It
will now also include a small button for showing additional information
about given spider type. No need to wiki dive to find out about what
each spider type does.
- You can now a choose spider from an egg cluster from a distance
instead of having to be next to them as a ghost, which was rather
annoying and confused new players about why they cannot choose any
spider type.
- "Click to play" button on when spider egg cluster matures will now
actually give you a selection of spiders to choose from instead of
doing nothing and being a dead weight in the chat.
* Spider egg cluster selection update
Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
* Sticky tape no longer can be used on objects that aren't within reach. (#57103)
* #57049 but only the prox check: fixes tape being able to be used on objects without proximity
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
* Adds pulling rabbits from top-hats (#56773)
This PR makes it so using a wand on a top-hat makes a rabbit appear in
your hand! Fun! There's a 10% chance that instead of a cute bun you get
angry bees though, but a true performer will soldier on anyway. You can
now also scoop up rabbits in your hands, and scooping animals only
requires one free hand to do so instead of all your hands being free.
* Adds pulling rabbits from top-hats
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* Implements JPS (Jump Point Search) Pathfinding (#56780)
So a month or so ago I wanted to make it so dogs in my dog AI PR could path through doors if they had access, and was told I'd need to improve our pathfinding efficiency if I wanted to use full pathfinding for them. Thus, enter JPS, a pathfinding algorithm that allows for massive timesavings in systems with uniform cost grids like ours. This code is still fairly rough and needs polishing, but it's fully functional and already shows massive savings over traditional A*! I plan for this to replace A* as our default pathing method, but I'll leave the A* code in place in case someone ever needs it for whatever reason, like if a specific case needs variable cost pathing.
Note that this allows for diagonal pathing instead of the cardinal pathing our A* uses right now, and the current version of the code costs the same to move diagonally as it does to move laterally, which may change later. There's also a lot of dummy/test code in right now in general, but you should still be able to test it out for yourself by spawning a bot like a medibot and using your PDA to summon it.
Preliminary Profile Results
A preliminary profile is available here. Using one medibot by itself on Metastation, I generated a list of 500 random blob spawn points around the station, gave the medibot all access, then let each algorithm tackle the list. The old A* algorithm took a total of 86 seconds to complete the list and processed 978065 nodes, while JPS took a total of 46 seconds and processed only 100062 nodes, for a 47% decrease in total time and an almost 90% decrease in nodes processed!
Why It's Good For The Game
Significantly cheaper pathing, which will very much come in handy for the AI datums I'm looking to dig into, what's not to like?
* Implements JPS (Jump Point Search) Pathfinding
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* Improved visual clarity for health scanner text (#57076)
* Improved visual clarity for health scanner text
Co-authored-by: Sza'Thi <donniescatch@gmail.com>
* Buffed atmos holofans. Added to CE locker. (#57074)
Atmos holofans can now make six holos instead of three. Swapped the (useless) engineering holo with the atmos holo in the CE locker.
* Increased holo count for atmos holofans. Added one to the CE's locker.
Co-authored-by: Cimika/Lessie/KathyRyals <65850818+KathyRyals@users.noreply.github.com>
* moves gun related icons to guns folder (#57077)
moves ammo icons, projectile icons and hitscan effect icons to guns folder
renames projectile.dmi to ballistic.dmi so its less confusing
moves rcd ammo from ammo.dmi to tools.dmi with the rcd
* moves gun related icons to guns folder
Co-authored-by: Fikou <piotrbryla@onet.pl>
Surgery-compatible gown to let patients stay modest. Available in protolathes for plastic, the medidrobe, and pre-spawned in surgery duffel bags - fast equip times onto others. Sprites made by Kroto
* improves fire extinguisher code, and makes fire extinguisher water go through machinery, lockers, and crates (#57004)
* improves fire extinguisher code, and makes fire extinguisher water go through machinery, lockers, and crates
Co-authored-by: Tlaltecuhtli <33834933+Tlaltecuhtli@users.noreply.github.com>
* Updates the lifebringer flavor text to be less ambivalent about their goals (#57059)
* Updates the lifebringer flavor text to be less ambivalent about their goals
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* cult construct stuff (#57027)
edits sprites for wizard cult constructs to have more sheen
fixes wizard cult constructs not working
makes soulstone code a bit cleaner i think
makes cult spells use second defines
fixes wraith jaunts being invisible
* cult construct stuff
Co-authored-by: Fikou <piotrbryla@onet.pl>
* Add Loincloths
Adds leather and cloth loincloths, craftable with their namesake materials; also adds a sensor variant in the Autodrobe and Loadout.
* what the fuck
oh no its broken
* feck
changes defines to be correct, fixes female sprites borking, lets you fix your wedgie, and adds cloth crafting. basically fixes everything.
* Add a new admin weapon: foam finger that shoots missiles (#57013)
An admin only rocket firing foam finger has been added. There is also
a toy version available from arcades that is just a giant foam finger.
* added a new admeme weapon: foam finger that shoots missiles as requested by boris (now in arcades!)
Co-authored-by: c420-o <76887567+c420-o@users.noreply.github.com>
* Crafting menu tells you which colour of crayon is needed (#56950)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Crafting menu tells you which colour of crayon is needed
Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Fermichem part 2.2 Adds new tools, crafts and methods for ghetto chemists to handle the new reaction mechanics. (#56871)
Since reactions now require a bit more involvement from chemists, ghetto chemistry is a bit harder. This seeks to help some of those problems by providing new tools for those without a chem heater/reaction chamber.
Also some of these might be useful for chemists in the lab too!
Here's what you can make:
image
the burners are similar to candles - except they burn their internal reagents. The temperature they heat by is dependant on the flame, fuel and oil burn for a lower amount, ethanol for a higher amount and plasma for the highest amount. They can be put on tables and bonked with beakers for a quick way to heat them (similar to lighters). You'll need to light them with a match or lighter too, though, and can be put out by use in hand.
The thermometer looks like this and gives you temperature readings!
thermom
The pH booklets are the same as before - but you can now craft them by making universal indicator. These are the best way for a ghetto chemist to check their pH, and multiple sheets should be used over a reaction.
The improvised chem heater looks like this, and is a reconfigured space heater, it requires more materials and tools lending itself to a static drug den, but has the best method of adjusting temperature and fighting against exo/endo thermic reactions:
Improv_heater
Finally, the cooling spray lets chemists do the oposite of a lighter on their beaker - cooling the reagents within. In addition, fire extinquishers perform the same function.
In addition ice and universal indicator have been added as reactions.
Co-authored-by: Rohesie <rohesie@ gmail.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@ users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>
* Fermichem part 2.2 Adds new tools, crafts and methods for ghetto chemists to handle the new reaction mechanics.
Co-authored-by: Thalpy <33956696+Thalpy@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@ gmail.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@ users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>
* Fixes Cigarettes being lit in no-oxygen environments (#56911)
This closes#26487 (Issue about cigs working fine in non-oxygenated enviroments) which has been a known bug for years. Everyone knows how EXTREMELY CRITICAL cigarettes are to game balance. Plasmamen being able to smoke in a room with no oxygen? Spessmen smoking in the hard vacuum of space? What is this madness?!?
I must put an end to these OP tactics.
My changes make it so that if a cigarette has either one mole of oxygen in the current atmosphere or is injected with oxygen reagents, then it can be smoked.
I've also made it so "Space" cigarettes can be smoked in space by changing the default starting reagents to include oxygen. The description was also updated to hint that they can be smoked anywhere.
Also I added a has_gas proc to gasmixtures. I have seen a few places in the code where this can be used and once this gets merged, I will be doing a refactor to clean some code involving it. (bonfires, plasmamen code, etc.)
(Note from lemon, if you use this in the supermatter I will eat you)
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com>
* Fixes Cigarettes being lit in no-oxygen environments
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com>
* replaces all instances of ammo_casing/BB to loaded_projectile again without crashing this time
* a
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
* Adds a plushie sprite for suit storage (#56919)
fix: Adds a sprite for plushies in suit storage slots.
* Adds a plushie sprite for suit storage
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
* stop people using message all when their pda doesn't allow it (#57005)
Fixes not checking for Send All permissions in Topic.
* stops people using message all when their pda doesn't allow it
Co-authored-by: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com>
* fixes being unable to attach training toolboxes to training units (#56990)
* fixes being unable to attach training toolboxes to training units
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>