* Refactors disabilities into lists, allowing for independent disability sources
* defines
* Xhuiiiiissss
* living
* did that
* adjusted for traumas
* Updates pacifism and removed remove_all_disabilities from fully_heal to prevent issues.
* makes antur happy
I had some time free, and noticed how awful the reagent grinder code was - it used huge static lists containing types and their associated reagents from grinding.
This is now split into two new vars on /obj/item - var/list/grind_results and var/list/juice_results, as well as two new helper procs, on_grind() and on_juice() to allow those to change based on conditions like plant potency. Such checks and the like have been moved to that. If any of these procs return -1, the operation is canceled.
I also fixed some of the recipes that didn't work. The reagent IDs for them didn't exist, leading me to believe that they weren't tested. I corrected that! (I've tested every single recipe in this PR, with the exception of a few juicing-related ones.)
* Reworks Brain Damage
* mechanics
* rebalancing
* hulks in wheelchairs
* yup
* bugsquash
* Adds narcolepsy, phobias and agnosia. Not guaranteed 100% bug-free yet, testmerge at your own risk.
* lizard phobia
* Did you know there's a skeleton inside of you RIGHT NOW?
* Fixes for the new stuff
* The issue with those is that in most rounds you won't see them
I'll keep them available so they can be added manually, for example by events and such
* Goof reviews
* Brainloss is based off brain organ integrity
removes brainloss var
* Replaces some getorganslot with defines
* eyes
* put the traumas in the brainnnn
* text
* args
* Adds godwoken, puts split personality in severe, adds brainwashing
* Bluespace prophet special trauma (untested)
* Some minor stuff
* Monophobia, and tweaks
* More fixes
* fix
* a
* new tail
* Discoordination and Muscle Weakness
* thanks for the review!
* [B]oneless
* agnosia fix
* .
* go away agnosia
* pretend it didn't happen
* Shitcode-free-er
* bitwisdom
* psychotic brawling
* i guess this might be important
* latest reviews
* .
* conflict-free
* addresses it
* surgery fix
* a masterpiece
* fix
* fix again
* config
* damage formula reworked
* who needs to test anyway
* fixes some bugs
* fix 2
* proper spookin
* bluespace prophet fixes and improvements
* no bible healing
* .
* normalizes monophobia chances
* Adds missing </span>'s.
* ".name]" --> "]" and
"to_chat(GLOB.admins," --> "message_admins("
and one [name] --> [src]
* Earlier commit was a mistake, lesson learned
* Hopefully all is ok now.
* Revert "Hopefully all is ok now."
This reverts commit 3c95e41b4c13ce96469861e9a97453adf4b56826.
* Revert "Earlier commit was a mistake, lesson learned"
This reverts commit d611af1e4a76690453a7f9808b6e2c429b679f6c.
* Revert "".name]" --> "]" and"
This reverts commit d538b9efef2d7d8be9122bf5ceaf105055059bc6.
* message_admins fix
In cases where you're creating an image to use as an overlay, it makes more sense to use a mutable_appearance if you can. The image will create a static appearance for not just the image but also each intermediate step if you change vars along the way. The mutable appearance avoids this unnecessary and expensive process. The only situation that requires an image instead of a mutable_appearance is if the overlay is supposed to be directional. MA's ignore direction while images don't. I dunno why, probably another BYOND-ism.
I added a convenience function, mutable_appearance(), designed to emulate image(). Also went ahead and set the default plane of /mutable_appearance to FLOAT_PLANE because it's fucking 0 by default.
Several overlays that were image() calls were changed to just text strings when I could. overlays += "string" has the same result as overlays += image(icon, "string") and saves a proc call.
🆑 coiax
add: Glowsticks can now be found in "Swarmer Cyan" colors.
/🆑
because apparently adding the colour cyan to swarmers was too potential
to cause meta or some shit idk
* Refactors atom/Initialize
Captialized for compiling correctness and to be more inline with Destroy
Will now be called from atom/New if the world initialization loop in SSobj has already run. Should always call the base.
Now comes with the `roundstart` parameter indicating whether or not it was called by SSobj or atom/New
Other fixes/tweaks:
- Renamed a proc called Initialize in abduction consoles to Setup
- Removed /obj/item/device/radio/headset/headset_sec/department: Broken and referenced literally nowhere in the code
- Removed a spawn from the Initialize of turbine_computer which made literally zero sense
- Generalized the proc which fixes RND servers with no id set
Reasoning: It's better to check roundstart per function than to have to duplicate code in New and Initialize. Think of it as a safer New for atoms. If we move enough stuff to it, initial map load performance will increase due to less New calls
* Fixed a thing
* Actually, fuck the police
* >Expecting a merge without errors
* >Not calling ..() in New
* Sanic
* Fix the headset bug
* Makes sure the map loaders dew it right
* Fixes ruins being initialized twice
* Rename roundstart -> mapload
* Revert "Rename roundstart -> mapload"
This reverts commit 667c327fd2ccfa3ce4f4db52eac03f9e8b0f6812.
* Remove unrelated change
* A more direct solution to map loads
* And now we shouldnt need this warning
* Add the new var to SSobj recovery
* Revert "Revert "Rename roundstart -> mapload""
This reverts commit dee07dbd5e4696554ac43aae5b91cce743b9b9e0.
* Line endings