* Cursed quirk doesn't go away after triggering a single time (#75477)
## About The Pull Request
Fixes#75471
Someone added some optional initialise arguments and forgot to make an
important one optional, leading to it always setting the "permanent"
value to "null", which of course evaluates falsily to FALSE.
## Why It's Good For The Game
If you take this quirk you _want_ to be repeatedly pulverised by vending
machines until your skull pops. We shouldn't deny people their agency.
## Changelog
🆑
fix: The Cursed quirk will once more plague you with bad luck for your
entire shift rather than just once.
/🆑
* Cursed quirk doesn't go away after triggering a single time
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* Fixes omen component door crushing failing, fixes tilted vendors double dipping on omen people (#74692)
## About The Pull Request
- Fixed door crush always failing.
- It passed `forced = TRUE` and not `force_crush = TRUE`, so it just did
a limp close -> re-open. Fixed that
- Fixed tilted vendor double dip
- It checked for tiltable but not already tilted, meaning you can get
crushed -> move -> get crushed by the same vendor. Fixes that
## Why It's Good For The Game
Curses
## Changelog
🆑 Melbert
fix: Omen Component door crush works
fix: Omen Component vendors will no longer double dip (double tip)
/🆑
* Fixes omen component door crushing failing, fixes tilted vendors double dipping on omen people
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Electrified tram plate (#74334)
A new addition for the bad luck smite/cursed trait. A chance of getting
an electric shock when crossing the tram rails.
While it adds no additional danger for normal crew, if you have the bad
luck smite or cursed trait you may be in for a shocking surprise!
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* Replaces the mood component with a mood datum
* Fixes merge conflicts and updates all of our mood events to use the new mood datums
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* 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