* At first i thought that i was being forced to add a feature 🤮 but then i realized i was being encouraged to refactor 😄. Electrified chair is now a component instead of a failure (#57117)
* At first i thought that i was being forced to add a feature 🤮 but then i realized i was being encouraged to refactor 😄. Electrified chair is now a component instead of a failure
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
* a
* :hhh:
* reworks hotel
* iron repath eee
* modularize
* arcade
* cables
* fills unused areas
* does this fix it 🤔
* pipe
* plants and office touchup
* bruh
* manager role
* adds a little carpet
* door access reqs
* original hotel revert
* gitkraken hates me
* swaps out flooring, adds some more lights
* plating
* modularisation
Co-authored-by: KathrinBailey <53862927+KathrinBailey@users.noreply.github.com>
* Rework plumbing reaction chamber, purity support (#57071)
Currently does four things:
The reaction chamber now supports purity! It has a yellow (acid) and green (basic) input for buffers, aswell as a setting to automatically dispense either an acidic or alkalic buffer when above/below a certain pH! Now you can make a 100% pure meth factory! The buffer connects are on an alternate layer.
Probably going to be less loved, but I removed the reaction chambers ability to pick reagents from the net. Instead, it will pull untill a set volume is reached. Then it'll start reacting. While this means that players will have to be more creative and use a wider array of machinery.
Also new machine! Buffers! They fill the hole that reagent chambers left. They can be set with a threshold volume and will only start putting out chems when ALL of their neighbouring buffers also are also above this threshold. You might have a lot of one chem and have to wait for a more specialized chem to be produced, and with the cleverness of reaction chambers gone, bufferers can do just that: wait.
I also removed all but two layers. I want to make it obvious what layer the buffer connects are on. Also layers are basically unusable and I'm gonna give them a rework very soon. I'll put the things back in then when they actually have something to contribute
* Reworks plumbing reaction chamber, purity support
Co-authored-by: Time-Green <timkoster1@hotmail.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>
* 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>
* 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>
* 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>
* 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>
* 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>
* Gets Rid of Both Sleeps In Transit Tubes, Replaces Them With Timers (#56913)
* Gets Rid of Both Sleeps In Transit Tubes, Replaces Them With Timers
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
* Fixes tags on ordered pizza (#56369)
Box tags
Fixes bug where box tags weren't updating correctly on creation
Adds box tag flavours for the pizzas without them (i.e. Donk Pocket -> Bangin' Donk, Dank -> Fresh Herb, Sassysage -> Sausage Lovers, Arnold -> 9mm Pepperoni)
Randomised pizza crates
Pizza crates can now come with any five pizzas, weighted by disruptiveness
Small chance of getting one pizza bomb in a pizza crate (either armed or not) per shift
Armed pizza bomb
Adds an armed variant of the bomb pizza box, which has the boxtag "Meat Explosion", contains a meat pizza and explodes 5 seconds after opening
Makes the pizza party spawner use the armed bomb pizza box, instead of giving whoever a free syndicate pizza bomb they probably aren't allowed to use anyway
Secure kitchen crate
Adds the secure kitchen crate from my previous PR
Adds a secure pizza crate variant to KiloStation's cargo warehouse where the freezer crate was, which contains the pizza party and is locked with kitchen access
Ghost examines
Adds ghost examine messages for pizza boxes with bombs or the nanomachine pizza in them
* Fixes tags on ordered pizza
Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
* Winter coats (#56854)
add: Thirteen more winter coats covering all departments and most jobs.
* Winter coats
Co-authored-by: Tom <tomforde4@gmail.com>
* Windows are now less fussy and will let more things exit a shared turf. (#56788)
I recently changed it so that windows don't use their direction to decide if they're fulltile or not. I missed a check in CheckExit and as a result, you couldn't exit a fulltile window you were stood on from the South, their default facing direction.
Fulltile windows no longer do this check to block movement off their turf. Directional windows now only block movement off the turf they're on if you're attempting to walk the direction they're facing (i.e. walking through them) and they're not dense.
Finally, windows also check pass_flags_self instead of hardcoded passflags.
* Windows are now less fussy and will let more things exit a shared turf.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Updates Bronze to be a lot better, fixes bugs and allows it to be used on grilles. (#56696)
* Updates Bronze to be a lot better, fixes bugs and allows it to be used on grilles.
Co-authored-by: CRITAWAKETS <sebastienracicot@hotmail.com>
* Refactor ventcrawling flag into traits (#56620)
Instead of using var/ventcrawling on `/mob/living`, it is now instead
two traits. It functions in exactly the same way.
This now ensures that manipulation of ventcrawling will not clash with
any other manipulation, such as a proposed genetics ability to give
people ventcrawling, versus abductor organs.
---
Intended to be a pure refactor, no functionality should change.
* Refactor ventcrawling flag into traits
* Update true_changeling.dm
* Update true_changeling.dm
Co-authored-by: coiax <yellowbounder@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
* repaths plasteel tiles to iron
* Update robot_modules.dm
* a
* fuck me
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
* renames metal sheets to iron sheets
* Merge branch 'master' into upstream-merge-56643
* yay metal
* Update DeltaStation2_skyrat.dmm
* a
* Update CentCom_skyrat_z2.dmm
* a
* a
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
* Makes reinforced plasma windows block heatspreading, mostly so the sm delams properly, and partially so mappers have a tool for this sort of thing (#56545)
* Makes reinforced plasma windows block heatspreading
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* You can no longer kidnap ghosts with a moving table (#56614)
* You can no longer kidnap ghosts with a moving table
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Changes fireman carrying from a trait on gloves to a skillchip (#56593)
* Changes fireman carrying from a trait on gloves to a skillchip
Co-authored-by: necromanceranne <40847847+necromanceranne@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>
* You can now make damp rags by dipping a bolt of cloth in a sink (#56337)
Co-authored-by: Mothblocks <35135081+Jared-Fogle@ users.noreply.github.com>
* You can now make damp rags by dipping a bolt of cloth in a sink
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@ 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>
* Adds missing duffelbags for some jobs and update their respective vendors and closets.
* Update roboticist.dm
Co-authored-by: Tristrian <Tiago.A.C.9@hotmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
* Vend-A-Trays can be moved onto tables (#56503)
Vend a trays are mapped onto kitchen tables and bar counters. They can't be moved back onto the table with deconstructing the table. This gives them the table passflag, allowing them to be just moved back onto the tabletop.
* Vend-A-Trays can be moved onto tables.
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>