* Completely refactors hallucinations, and also adds a few
* delete 5 old hallucination types that should have been removed
* Fixed old leftover tips conflicts
* Fixes all the leftover conflicts and otherwise broken code
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* wip
* Revert "Auxiliary commit to revert individual files from 8264953fcf103b17ab62af0084c7c4da49e01a67"
This reverts commit 450a612c00535c6fd3f0cc847fb00c54c2faa59a.
* Update humanoid.dm
* Update mammal.dm
* Apply suggestions!
* Resolve feedback at long last.
* Fix screenies, but uh, actually on the right branch!
* Unit tests say signal gets the correct list passed with it (#69854)
* Unit tests say signal gets the correct list passed with it
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Fixes a closet harddel (#69889)
* Fixes a closet harddel
PopulateContents is called in init which means that the closet is being
qdelled but it's contents are not being properly removed when the
prob(1) is called and it returns the qdel hint. This returns the qdel
hint BEFORE parents init is called to stop this from happening
* okay im just stupid
* moves it
* Update code/modules/unit_tests/closets.dm
Co-authored-by: ShizCalev <ShizCalev@ users.noreply.github.com>
* Update code/modules/unit_tests/closets.dm
Co-authored-by: ShizCalev <ShizCalev@ users.noreply.github.com>
* Fixes a closet harddel
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: ShizCalev <ShizCalev@ users.noreply.github.com>
* Atmos init speedup, saves 4 seconds (#69697)
* Micro optimizes ssair's turf init, saving 2 seconds
Most of this is making existing operations do more legwork, or cheaper.
I did add cycle checking to ONLY init turf linking, which required
creating a new proc.
Did some horrible horrible things in said proc to save like 0.8 seconds.
I think it was worth it.
* Atmos init speedup, saves 4 seconds
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Micro-optimize GetIdFromArguments to be 48% faster, gaining 0.48s of init time on local (likely more in prod) (#69659)
About The Pull Request
Avoids stringifying key unless its necessary. This was done redundantly twice, but I locked it to just the isnum path, as REF will always return a string, and the other path passes istext.
Use sortTim directly instead of sort_list. sort_list is just sortTim but it copies the list, so it's just wasted cost.
I still would like the bespoke element key option, as that's the only way to drastically cut down costs on things like item descriptions and decals, but this is good for the general use case, and makes it marginally less pressing.
I also want to test if we'd be better off inserting into the list in sorted order rather than sorting it all in the end, but I suspect not.
* Micro-optimize GetIdFromArguments to be 48% faster, gaining 0.48s of init time on local (likely more in prod)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* Fixes storage mass transfer being generally broken, adds mass transferring onto griddles (#69084)
* - Fixes storage mass transfer
- Brings some sanity to storage procs
- Implements a griddle feature that never was
* Uncomment this
* Right-click attack fix
* Scoop fix
* Smartfridges use silent
* Restores some lost checks
* Fixes storage implants
* Fixes storage mass transfer being generally broken, adds mass transferring onto griddles
* update modular
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Unit tests range suck (#69352)
* Unit tests range suck
Ok so we currently rely on some undefined behavior in energy_ball code
Namely, the range() family will return turfs in least/greatest get_dist
This is VERY useful for optimizing the tesla, but it's also undefined,
and lummy could change it any day now.
So let's at least unit test it so if it breaks we can remove it
* Unit tests range suck
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Refactors operating tables to be event driven + QoL + Unit Test (#69015)
* Event driven table
* Operating computer fix + loosening of check
* Unit testing
* IT NEEDS TO BE FORCE MOVE YOU GOTTA CLIMB TABLES AAAAH
* Migrated patient to carbon instead of human
Has no real bearing on the experiments tbh
* DNAs can be null apparently
* Simplify replacement code
* Move comments
* Refactors operating tables to be event driven + QoL + Unit Test
* Refactors operating tables to be event driven + QoL + Unit Test
Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Fixes the unit test for moths
* Adds some code to hopefully force monkeys to have a more consistent appearance for screenshot tests
* Fixes the stupid monkey test.
* Concentrated barbers aid can give hairless species hair + fixes hair updating once and for all (probably)
* Update code/modules/antagonists/thief/thief.dm
* Update code/modules/mob/living/carbon/human/species_types/felinid.dm
* Concentrated barbers aid can give hairless species hair + fixes hair updating once and for all (probably)
* yes
* Update _compile_options.dm
Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* fixes verbs not actually queuing. (#68990)
thanks to Vallat for pointing this out
whoops turns out most verbs havent been queued since may 11th because I made /datum/controller/subsystem/verb_manager have the SS_NO_INIT flag, without also removing a check in verb_manager/proc/can_queue_verb() that stops the verb callback from being queued if the subsystem isnt initialized yet. since subsystems with SS_NO_INIT obviously never have initialized set to TRUE, this always failed for every verb manager subsystem except for SSinput (because it doesnt have SS_NO_INIT).
also adds a debug var to force a subsystem to always queue incoming verbs if possible.
now the default verb management subsystem, and speech_controller will successfully queue verbs again. SSinput always queued verbs so that shouldnt change.
* fixes verbs not actually queuing.
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
* Fixes the icon_states for the short_pants.dmi file
* Fixes security vendors selling the wrong kind of security jacket at a premium, which resulted in a runtime
* Fixes the two modified screenshot test results
* Fixes seed extractors not taking seeds from plant bags. (#68842)
* Fixes seed extractors not taking seeds from plant bags.
- When refactored, it accidently changed it from taking the seed "from its loc" to "from the extractor itself", which always failed
* Unit test
* Genericises it a bit
* Fixes seed extractors not taking seeds from plant bags.
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Tsu's Brand Spanking New Storage: or, How I Learned To Pass Github Copilot As My Own Code
* Delete storage.dm
* yippee
* shit
* holy shit i am stupid
* more fixes
* fuck
* woops
* Refactors mothweek check (#68280)
* Refactors mothweek check
Mothweek HAS SIDE EFFECTS
Checking it on a day that causes a week offset will currently cause that
week offset to persist
That's dumb.
Also it's not very expansive, only covers a slim set of possibilities.
Instead, lets build something to generate all passing days over a period
of time, maybe 3 months out of 2 years.
Then we'll crosscheck that against some predecided "ok" dates
If either list disagrees with each other, we'll fail. That way we can't
miss an edgecase. or have issues with side effects
I like this pattern.
* Refactors mothweek check
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Removed some commented-out code I forgot to remove last time
* Gives the skrell a proper good look for the prefs menu and the screenshot tests
* Updates the Skrell picture used for the screenshot tests
* Completely removes `proc_holders` from existence. Refactors all wizard, xeno, spider, and genetics powers to be actions. Also refactors and sorts ton of accompanying code.
* our changes
* yes
* 0
* Update blackmesa.dmm
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Fixes the MODsuit-related screenshot tests
* Fixes eye sprites not refreshing properly when they're meant to
* Fixed outfits calling too many update procs and pre/post_equip twice because of some silly code
* Fixes glass golems not being transparent
* Fixed the map compilation errors
* Added the screenshot for the vox primalis
* Updates the colors of the moth bodyparts to be easier to work with (making them whiter)
* Fixes the antag icon for blood brothers
* Fixes nightmares looking stupid in their antag icon and also failing the screenshot test
* Fixes the humanoid screenshot
* Updated the blood brother icon with the new colors for moths (because ours are greyscaled)
* Updates some of the randomization stuff for moths, making it possibly functional again
* Cleans up our moth species override a bit
* Updates the screenshot_humanoids test to allow for better control over the screenshots
* Updated the lizard, ashwalker and silverscale screenshots
* I totally didn't forget the .dm
* Moved the set_species before the prepare_human_for_preview()
* The moth's fixed, by the way! In the prefs menu too!
* The xenos are fixed too!
* Pink felinids, how 'bout that?
* Fixed the mush people (so they actually look like the icon that was there already!)
* Snails are fixed too, splitting the .dmi edit in a different commit
* Added https://github.com/tgstation/tgstation/pull/68013 early
* Revert "Fixed the map compilation errors"
This reverts commit b7db0a1f507ed3721d88883338508c058ffb7804.
* Okay just Icebox this time
* Podpeople hair still is broken :(
* Turns out they weren't getting their snouts and frills properly... Now they do!
* Possibly fixes that issue with Tram making compile maps fail
* (code bounty) The tram is now unstoppably powerful. it cannot be stopped, it cannot be slowed, it cannot be reasoned with. YOU HAVE NO IDEA HOW READY YOU ARE
* fex
* fex
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>