* Fixes Pathfinder module AGAIN, General JPS Tweak (#84348)
## About The Pull Request
1. Fixes the modsuit pathfinder module's pathfinding for the second
time. This time AI idling broke it, we just make it not idle.
2. Changes the heuristic used by JPS nodes from Chebyshev distance to
Euclidean distance. I have no real logical explanation, it just appeared
to produce a more optimal path. CC @ LemonInTheDark
3. Renames `get_dist_euclidian()` to `get_dist_euclidean()`.
Red line: Euclidean dist JPS path (roughly)
Green line: Chebyshev dist JPS path (roughly)

## Changelog
🆑
fix: MODsuit pathfinder module works. Again.
code: AI pathfinding should produce slightly better paths.
/🆑
* Fixes Pathfinder module AGAIN, General JPS Tweak
* Update goldeneye.dm
---------
Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
* Fixed headless zambos and the oversight of no bio armor resistance (#78589)
## About The Pull Request
Fixed zombies being able to infect headless corpses (Including former
zombies)
Fixed bio armor being totally useless against zombies. Now it checks how
hurt your limb is: If it's more than the bio armor value, you get
infected. THICKMATERIAL clothing guarantees at least 25 damage required
to infect you, non-thick clothing reduces effective defence by 25. In
practice this means people with MODsuits, biosuits will resist infection
unless they're pummeled into crit, and wearing a firesuit will save you
from the first few slashes.
Fixed the bomb hood armor not having the same bio armor value as bomb
armor.
Added a message to the zed when they succesfully infect someone.
Turned some proc names into snake_case rather than, uh, nospacecase.
## Why It's Good For The Game
> Fixed zombies being able to infect headless corpses (Including former
zombies)
This is pretty cool but it also means you can't actually permanently
kill a zombie if they just get slashed again by another zombie.
> Fixed bio armor being totally useless against zombies. Now it checks
how hurt your limb is: If it's more than the bio armor value, you get
infected. THICKMATERIAL clothing guarantees at least 25 damage required
to infect you, non-thick clothing reduces effective defence by 25. In
practice this means people with MODsuits, biosuits will resist infection
unless they're pummeled into crit, and wearing a firesuit will save you
from the first few slashes.
Melbert told me this is an oversight, so I, uh, 'fixed' it? This also
lets people have some true actual defence against zombie infections,
without making them immune to it.
> Fixed the bomb hood armor not having the same bio armor value as bomb
armor.
Bug I noticed while going over bio armors.
> Added a message to the zed when they succesfully infect someone.
QoL and good feedback
> Turned some proc names into snake_case rather than, uh, nospacecase.
what the hell do you call isuckatnamignprocs(). what case is that.
cougarcase?
## Changelog
🆑
fix: Fixed zombies being able to infect headless corpses (Including
former zombies)
fix: Fixed bio armor being totally useless against zombies. Now it
checks how hurt your limb is: If it's more than the bio armor value, you
get infected. THICKMATERIAL clothing guarantees at least 25 damage
required to infect you, non-thick clothing reduces effective defence by
25. In practice this means people with MODsuits, biosuits will resist
infection unless they're pummeled into crit, and wearing a firesuit will
save you from the first few slashes.
fix: Fixed the bomb hood armor not having the same bio armor value as
bomb armor.
qol: Added a message to the zed when they succesfully infect someone.
code: Turned some proc names into snake_case rather than, uh,
nospacecase.
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
* Fixed headless zambos and the oversight of no bio armor resistance
---------
Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
* Radiation pulses will yield to MC for every turf they iterate through. (#68525)
* Be less scary.
Changes radiation pulses so that they store the turfs they need to irradiate, iterate through them and remove them from the list of turfs to irradiate, then yield to MC if MC got angry, and put the radiation pulse with the remaining turfs to irradiate to the back of the radiation processing list.
Radiation pulses pulse information will no longer popleft the processing list. It will delete itself once there are no turfs to process, or if the source is null.
Caches the turfs to process to loop through, adds a counter for how many turfs it iterated through, and cuts the turfs to process by the turfs that got iterated.
* Radiation pulses will yield to MC for every turf they iterate through.
Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
* Radiation.
Replaces radiation chance with radiation intensity on radiation pulses. Radiation intensity determines the chance of getting irradiated, and diminishes over range or getting blocked by objects.
Getting close to the radioactive source will give you a high chance to get irradiated, while being far but still in range will give you a low chance to get irradiated.
* I suck at spelling.
Balances some atmos related radiation stuff. Changes supermatter radiation stuff, though I would probably need to adjust the threshold to adjust for the new changes.
Calling radiation pulse without intensity parameter filled will now set the intensity to be the value where it will give an object a 5% chance to get irradiated from the max range of the pulse, assuming there are no objects between it that absorb radiation. The same will happen if you call radiation pulse without max range parameter filled.
Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
* Modernizing Radiation -- TL;DR: Radiation is now a status effect healed by tox healing, and contamination is removed
* Fixing conflicts
* Makes it compile, yeet all the RAD armor from everywhere (thanks RegEx!)
* Removing more lingering rad armor (woo)
* Damnit powerarmors
* Bye bye rad collectors!
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Process procs now properly utilize deltatime when implementing rates, timers and probabilities (#52981)
* Process procs now properly use deltatime when implementing rates, timers and probabilities
* Review fixes
* Geiger counters cleanup
Made hardsuit geiger code more similar to geiger counter code
Geiger counters are more responsive now
* Moved SS*_DT defines to subsystems.dm
* Rebase fix
* Redefined the SS*_DT defines to use the subsystem wait vars
* Implemented suggested changes by @AnturK
* Commented /datum/proc/process about the deltatime stuff
* Send delta_time as a process parameter instead of the defines
Also DTfied acid_processing
* Dtfied new acid component
* Process procs now properly utilize deltatime when implementing rates, timers and probabilities
Co-authored-by: Donkie <daniel.cf.hultgren@gmail.com>
* wip
* wip2
* makes code actually compile on 511 + fixes
* versioning
* s
* adds python conversion script, schema change and removes 'force ' from item_used_for_combat
* fix to compile
* forgot to actually commit this
* radiation rework and subsystem
* moves a few things to initialize and adds radiation insulation
* adds a radiation contamination mechanic and makes requested changes
I'm terrified by the possibilities from this
* radiated objects give off light
and hopefuly contamination is balanced
* fixes runtimes and an mc crash kek
removed the lighting part of contaminated objects
attempted some more balancing
* Collectors output power in process() gradualy
And some more balancing tweaks
* Excludes a bunch of things from becoming radioactive
* Ready for testmerge balancing
* Inverse square law was swapped
* testmerge balancing
fixes the geiger counter
buffs collector power gen
nerfs sm radiation
slightly buffs rad insulation
nerfs rad damage (and its burn)
raised the minimum radiation
* disabling the radiation subsystem won't build up rad wave datums forever
* rewrites how mobs handle radiation
upgrades geiger counter functionality
and more balance tweaks
* cleans up stuff and removes debug message
* Slight contamination buff
* Major rad wave performance boost
Also improves rad insulation
Buffs contamination, again
* Fixes insulation runtime
More balance and performance tweaks
* fixes rad collectors not receiving power
* The final balance commit
Fixes a major bug causing radiation to underperform
More geiger counter changes that will be changed more to add sounds
* Monkey business
* Geiger counter sounds
* cleanup and move components to their own initialize
* Some code cleanup
And forgotten changes
* Cleans up some trailing returns
* Mapping changes