Reverts the removal in #53790.
Broken in #53586.
Because turfNumber++ must be incremented on turf, not on every ATOM it
EVERY TURF, and anyway it don't trigger since first turfs don't have
atoms in it.
Fix#53794, Hilbert's Hotel peephole runtime.
Fix#53795, hhmysteryRoomNumber generates only once.
* Replaces some CANATMOSPASS calls with a new define that checks if the turfs are in each others atmos adjacent list, as that's the same info that they want.
Splits the restrained() proc into component traits: TRAIT_HANDS_BLOCKED for the general inability to use hands and TRAIT_RESTRAINED for the more specific condition that permits arrests.
Code moved away from the update_mobility() proc so it doesn't have to wait for an update, instead changing based on events. The idea is to eventually kill that proc.
Wrapper proc added for setting the handcuffed value so we can react to the event of it changing.
Kills the RestrainedClickOn() proc. That is now just an UnarmedAttack(), in where the ability to use hands can be checked. Monkeys keep their bite attack and humans their self-examine.
Give person standing up Dwarfism. Their standing Y axis is scaled down.
Have them lie down. Transformation matrix applied to rotate them. Cure Dwarfism. Their lying Y axis is scaled up after they've been rotated. This is the equivalent to scaling up their X axis standing.
Repeat the process multiple times and eventually the player is only a couple of pixes tall and as wide as the screen.
This fix creates a new matrix, scales that matrix and then multiplies it with the existing transformation matrix. In this way, the scale is applied first and all other transformations stack ontop of it, to create the final transformation matrix.
All ui_act procs should call parent by default. All procs should preserve the value of the parent proc when it's TRUTHY and pass it down the call stack. No UI should be interactible when its flags or state indicate it should not be, except when explicity overriden by child procs intentionally disregarding parent return values to achieve a specific goal.
Orbiter component keeps Registering the same redundant signal every time a player decides to orbit an atom that already has people orbiting it.
One Register call to one Unregister call and we'll clean up a fuckton of stack_traces about overriding signals from the runtime logs.
During dismemberment from wounds, some scars would stick around even though the limb was no longer attached to the person. This was because I removed the scars from the person before removing the wounds, which itself would create more scars that would still be tied to the victim's scars. This fixes that, and tidies up some related code as well. Notably, you can now see which types of wounds a detached limb is suffering from by sight. Also, I have no clue what happened before when you attached a limb with existing wounds to someone, but I've made sure it applies the wounds to the person where they left off.
I also realized I made an order of operations error in the self-treatment for broken bones (with the bone gel and surgical tape) on the bone gel step, which made failing these treatments and briefly passing out/wasting a use of the gel 38 percentage points more likely than intended. This corrects that, so the base is 25%/45% failure for severe/critical blunt wounds. It also raises the bonuses to succeeding you get from painkillers a bit since you're going through a lot of trouble for all this already.
### Gameplay changes:
- Spacemen lose their ability to sculpt all minerals into statues barehanded, you need a chisel now.
- You can now create carving blocks out of 5 sheets of most materials.
- Using a chisel on the blocks you can designate what to carve in it (including the preset statues from before).
- Chisels can be printed at autolathe, there's also one in art storage.
### Code changes:
- Squeak component now squeaks on attack_hand for structures.
- Radials now accept atom paths automatically extracting the name with initial.
- Base and rigid stack recipes renamed appropriately.
- Statues now use custom materials.
Its all over the place, messy, and overall a bad enough gamemode to be removed from rotation.
A rework would have to tear out everything as is so there is no reason to allow the shitcode to live beyond tripping up everything.
Healium was too stronk, nerfed it to behave like a good gas.
Added coughing and euphoria mood if breathed in small quantities to alert the player.
Sleep if it is 3 moles in the air for 3 to 5 seconds
Sleep you if is more than 6 moles and it heals you while knocked down.
Lowered the amount of healing done
Edit: It doesnt knock you out, it makes you sleep now, since the knockdown effect was so strong that people wouldn't wake up
The Hotel is a runtime machine. When it swaps rooms, its turfs runtime. When people are actively using it, things in it constantly runtime. It's half broken, half buggy. Turfs don't remember contents. Sometimes blank rooms spawn. Sometimes nothing at all.
It's not worth the time and effort to fix or maintain it.
I'm opening this PR to completely remove it.
Adds a keybind for resting, it's odd that there's bind for all the UI buttons such as Resist, Throw, Drop but there isn't one for resting. The default key is now U
🆑 Qustinnus
code: Moves spaghetti to new food
fix: Fixes some more size problems on food
fix: Fixes organs having wrong params
/🆑fixes#53482fixes#53572
Optimizes stat panel code for better performance, including icon caching and removing some unnecessary processing
Also fixes#53432fix#53381fix#53724
Changelog
add: icons are back on alt clicks
fix: horrible performance from alt clicking turfs with multiple objects
tweak:browser should notify the SS when it's ready to receive data
* Update statbrowser.html
* Apply suggestions from code review
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* hidden = TRUE
* almost ready
* Browser should notify when ready to receive data
* Apply MSO's suggestions
* reset cache if something in it gets deleted
* Fix runtime
* fix my stupid code
* send href_token when adding admin tabs
* fix an issue with cyborg suit topic
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
Anything with both grind_results and /datum/component/edible currently does not give its grind_results when grinding it because the edible component is overriding it. This fixes that, I only found livers but there may be other items which are affected.
Changes the name of the recipe for the gloves to make them more clear
Adds a note in the tongue file to make sure it's clear you SHOULDN'T SEE THAT TONGUE.
Adds a unique chat message for mimes who use sign language, to make it clearer you can't cheese as a mime
Adds a unique slurring verb for drunkards
Removes the ability for sign languagers to use megaphones, which I forgot existed in the game.
Punctuation removal now replaces all punctuation used with periods rather than with blank space, to reduce run-on sentences.
This PR completely redoes the layout for PubbyStation's Cargo department, adding plenty of quality of life improvements and significantly changing cargo gameplay compared to every other map through the addition of a cargo docking arm instead of direct docking.
The primary features are thus:
1.The QM gets a corner office that allows him to act as a foreman.
2.The Cargo Bay's layout is drastically changed, repurposing the warehouse as a loading bay and making the main bay as the primary storage area.
3. The docking arm allows for maintenance to run through a small portion of cargo for sabotage opportunities and creates diverse scenarios for unloading and loading cargo.
4.The cargo bay has a way to directly distribute ordered crates to the delivery office.
5.The disposal room (taken from Delta) now shoots trash away from the station and potentially loops around to arrivals.
Fixes#53219
Nukes is_disabled()
Turns several variable value changes into events.
bodypart_disabled turned into a boolean value.
BODYPART_DISABLED_WOUND turned into TRAIT_DISABLED_BY_WOUND. Not the cleanest thing out there, but it works.
Cleans some code and reduces number of updates, as only the extremities have a disabled effect.