* Adds new accidents to the omen component and makes it an admin smite (#54063)
The omen component now has a 15% chance when walking through an airlock to have it try to crush you and a 15% chance when walking next to an open turf to throw yourself into it alongside the existing 15% chance to get crushed by a vending machine and 50% chance when you trip over to crack your skull open.
It is also an admin smite with an option to make it permanent.
Allows airlocks to override safties for a single close() proc call, forcing a crush.
* Adds new accidents to the omen component and makes it an admin smite
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking (#52761)
Adds SIGNAL_HANDLER, a macro that sets SHOULD_NOT_SLEEP(TRUE). This should ideally be required on all new signal callbacks.
Adds BLOCKING_SIGNAL_HANDLER, a macro that does nothing except symbolize "this is an older signal that didn't necessitate a code rewrite". It should not be allowed for new work.
This comes from discussion around #52735, which yields by calling input, and (though it sets the return type beforehand) will not properly return the flag to prevent attack from slapping.
To fix 60% of the yielding cases, WrapAdminProcCall no longer waits for another admin's proc call to finish. I'm not an admin, so I don't know how many behinds this has saved, but if this is problematic for admins I can just make it so that it lets you do it anyway. I'm not sure what the point of this babysitting was anyway.
Requested by @optimumtact.
Changelog
cl
admin: Calling a proc while another admin is calling one will no longer wait for the first to finish. You will simply just have to call it again.
/cl
* Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* Change BYOND version to 513.1526
* Remove BSQL from docker image
* Add a docker publish action
* Add a docker test action
* Cleanup runtime icons
* Cleanup runtime sounds
* Correct docker workflow names
* Add Dockerfile as an appveyor cache dependency
* Fix build issues
* Copy all dlls
* No need for .dlls in docker
* Minor cleanups
* Adds coupons
* fixes invalid var
* fixes old var name
* test
* does this please you travis?
* is that a prize, or....
* adjusts odds
* fikou owes me $10
* neatens code per review
* corrects bouncy
* corrects some errors
* redisables price gouging on goodies