* player-controlled gorillas can now choose to punch windows down instead of politely knocking on them (#57715)
* player-controlled gorillas can now choose to punch windows down instead of politely knocking on them
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
* Makes gas actually dissipate (#57634)
* Raises the quantize threshold from 1E-7 to 1E-4.
This makes gas dissipate as expected, and should help with the amount of useless gas floating around the station
at highpop
Adds a garbage_collect() call to the portion of pipeline code where all gasmixes are in one place, this should
clean things up properly.
Changes BREATH_VOLUME from 2 to 1.99. This is imperative
Documents a FUCKING HELLBUG in quantize/breathcode that can lead to breaths just not working sometimes. I'm not
sure how to fix this totally, so I'll document it and pray.
See <https://www.desmos.com/calculator/5icdlnktus>
Adds a unit test to check for this sort of failure.
Addendum for people tweaking this value in the future.
Because o2 tank release values/human o2 requirements are very strictly set to the same pressure, small errors
can cause breakage
This comes from QUANTIZE being used in /datum/gas_mixture.remove(), forming a slight sawtooth pattern of the
added/removed gas, centered on the actual pressure
Changing BREATH_VOLUME can set us on the lower half of this sawtooth, making humans unable to breath at standard
pressure.
There's no good way I can come up with to hardcode a fix for this. So if you're going to change this variable
graph the functions that describe how it is used/how it interacts with breath code, and pick something on the
upper half of the sawtooth
NOTE: I've made this change with a focus on o2 requirements. Changing this will effect other settings, but most
all of them can be ignored, as none will notice.
* Thank you moth man
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Docs the purpose of the breath unit test, and better explains partial pressure
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Makes gas actually dissipate
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Fixes ethereals being unable to channel power into APCs, readds some defines (#57417)
* Fixes ethereals being unable to channel power into APCs, readds some defines
Co-authored-by: wesoda25 <37246588+wesoda25@users.noreply.github.com>
* Adds a hotkey that puts you in throw mode aslong as you hold it (#57331)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Adds a hotkey that puts you in throw mode aslong as you hold it
* a
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
* Replaces Jump to Mob with Spawners Menu (#57471)
The Jump to Mob verb still exists for the 3 people who think they had a good use case for it, but it is no longer front and center.
* Replaces Jump to Mob with Spawners Menu
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* Dog AI 2.0 (#57186)
Now that JPS and AI movement datums are fully merged, I'm here to take another (my third actually) crack at giving dogs fun AI. Here's a video demonstration (somewhat WIP), and a quick rundown of everything dogs will be able to do. Basically all of these behaviors are generic and can be extended to other simple mobs,
Commands and Friendship
Fetching
Attack/Harass
Heel
Play Dead
* Dog AI 2.0
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* adds a bitflag for no random pixel shift on dropping, adds turf_flags var to replace usage of flags_1 on turfs (#57263)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* adds a bitflag for no random pixel shift on dropping, adds turf_flags var to replace usage of flags_1 on turfs
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Combo streaks (not just the hud icons) now reset after half a dozen seconds (amount subject to change). (#57167)
Co-authored-by: Ghommie <425422238+Ghommie@ users.noreply.github.com>
* Combo streaks (not just the hud icons) now reset after half a dozen seconds (amount subject to change).
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Ghommie <425422238+Ghommie@ users.noreply.github.com>
* ninjaDrainAct is now used with rightclick, not toggled with HUD. (#57153)
* ninjaDrainAct is now used with rightclick, not toggled with HUD.
Co-authored-by: Gurkenglas <gurkenglas@hotmail.de>
* Fix oversight allowing orbiting players to force the player they're orbitting to *surrender (#56972)
Observers with auto-observe inherit the HUD of the person they're observing. This includes Alerts. Alerts can be clicked. Alerts have varying levels of snowflaked checks. Some called parent and didn't check the return value. Some perform actions direct on usr instead of owner.
All of this has been standardised. Every single screen alert now calls ..() on Click() and returns early if the parent proc call returns false.
/atom/movable/screen/alert/Click now returns some useful value to children that call it.
* Fix oversight allowing orbiting players to force the player they're orbitting to *surrender
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Hovering your mouse over things now shows their name on the top of the screen (#56729)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Hovering your mouse over things now shows their name on the top of the screen
* a
* Update preferences_savefile.dm
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
* Moves the plant analyzer chem mode to right click + lets you read out a tray's chemical contents
* Update growninedible.dm
* Update grown.dm
* Create grown.dm
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Makes n2o nontoxic, for reasons (#56839)
Counter to the original intent of the change seen here #50126, n2o will currently deal damage when used with both internal tanks and floods, as the threshold picked for it was about 0.15 moles at room temperature. Even outside this oversight, the original goal can't easily be achieved. Because breathing works off partial pressures, anything you can do with an anesthetic can you can do with an n2o flood.
Therefore I don't think it's behavior worth keeping, as even as a way to disincentivize non-antag n2o floods it would do little.
* Makes n2o nontoxic, for reasons
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* right clicking on a ranged attack now calls afterattack when it's supposed to (#56829)
Makes right-click ranged attacks run afterattack, if afterattack_secondary returns SECONDARY_ATTACK_CALL_NORMAL, as it's supposed to.
Fixes#56795 and #56810
* right clicking on a ranged attack now calls afterattack when it's supposed to
Co-authored-by: TJatPBnJ <69724863+TJatPBnJ@users.noreply.github.com>
* fixes 2 runtimes caused by holding people up with a gun (#56800)
Fixes two runtimes, one caused by status effects always expecting a return from throw_alert, and another caused by holding yourself up (which you shouldn't even be able to do). Also fixes an issue caused by multiple people holding up the same person, when one of the perpetrators stopped holding up the victim, all of the victim's related alerts disappeared.
* fixes 2 runtimes caused by holding people up with a gun
Co-authored-by: TJatPBnJ <69724863+TJatPBnJ@users.noreply.github.com>
* Fix pre_attack (#56798)
Someone passed in the thing being used as the target, this broke many things. Bad moth :newspaper2:
* Fix pre_attack, fixing RPEDs
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
* Fix jumpsuit right click (#56781)
I had accidentally tested this with a medkit in my hand (I'm a CMO on my test server).
Now correctly uses an attack_hand adjacent proc, rather than attackby.
* Fix jumpsuit right click not opening suit sensors, adds attack_hand_secondary
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
* Change health analyzer, chemical scan is now on right click (#56779)
Health analyzer is now left click for health (or wounds, if you toggle
it) and right click for chemical scans.
Ever since the tgchat combine-previous-chats-in-one thing, knowing what
mode you're on has been a pain for me, as well as needing to cycle
through all of them. Furthermore, this is just a sane right-click
action to have.
* Chemical scan is now on right click, removes it as a toggle
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
* Add locking into portals with right click on hand tele, refactor hand tele code, add pre_attack_secondary (#56700)
Refactors hand tele code with better variable names, splitting procs, fixing C&P code, etc.
Adds pre_attack_secondary, the right click version of pre_attack.
Adds a new alternate function to hand teles, which will reopen the last location you opened. Works based off locations, not turfs. For example, right clicking after locking in "None (Dangerous)" will not teleport you to the same place.
* Add locking into portals with right click on hand tele, refactor hand tele code, add pre_attack_secondary
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
* M90 changes (#56667)
The m90 is now 14tc instead of 18. Its grenades can be bought from the uplink in boxes for 6tc, instead of individual grenades for 2tc each. You can also fire the m90's grenade launcher with right click.
* M90 changes
Co-authored-by: TJatPBnJ <69724863+TJatPBnJ@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
* Refactors plane masters a bit and introduces plane master controllers (#56717)
* plane master controllers
* small adjustments
* bro its a comment CHILL OUT
* powerful
* Refactors plane masters a bit and introduces plane master controllers
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Renames the _alt attacks to _secondary for clarity (#56752)
* Renames the _alt attacks to _secondary for clarity
Co-authored-by: Rohesie <rohesie@gmail.com>
* Add pAI internal GPS to possible software (#56404)
pAIs are now a useful space travelling companion, they can help you
navigate if lost (although only the pAI has the GPS view, so they'll
need to communicate the information). If you're holding a GPS, then the
pAI can find you even if you get separated.
* Add pAI internal GPS to possible software
Co-authored-by: coiax <yellowbounder@gmail.com>
* Add alternate attack procs (#56663)
Adds alternate attack procs for right-clicking. Updates the gunpoint code to use this new proc as an example (though I suspect this is being changed soon, so oops).
This makes it easier to add new behavior to right click, which we should be doing.
* Add alternate attack procs
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
* Cleans up blob code, removes a lot of hardcoded stuff, many new defines (#56306)
Cleaned up, commented on, and (hopefully) improves a lot of blob code.
Put pretty much everything balance-related (except for the strains themselves) into a define file, for easier viewing, changing, and balancing.
Added a bunch of new functionality that new strains (some of which I plan to add in the future) could use: from increased expansion range to more spores per factory.
* Cleans up blob code, removes a lot of hardcoded stuff, many new defines
Co-authored-by: NotRanged <rangedvdk@gmail.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>
* Replacing magic numbers with defines in robot code (#56241)
While scouring robot code for some (hopefully upcoming) fixes, I found a bunch of gross numbers. These numbers are now letters.
* Replacing magic numbers with defines in robot code
Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>
* Fixes parallax runtime when observing someone without client (#56092)
When observing someone without client (because they for example disconnected) a runtime happened:
This was because update_parallax didn't take a mob as parameter but instead always updated the parallax of the mob to which the HUD datum belonged (which was the HUD of the person who you tried to observe)
If that mob had no client this caused a runtime.
If you observe someone now the game updates parallax for your client and not the client of the person you tried to observe.
* Fixes parallax runtime when observing someone without client
Co-authored-by: Gamer025 <33846895+Gamer025@users.noreply.github.com>