* Fixes Traitor Uplinks Being Set to Existing Radio Channels (#56608)
* Fixes Traitor Uplinks Being Set to Existing Radio Channels
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
* Adds logging to uplinks, spellbooks, and the codex ciatrix (#56450)
* Initial logging
* Bugfix and adds uplink logging to config file
* Another bugfix
* Adds logging to uplinks, spellbooks, and the codex ciatrix
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Minor refactor to signal handlers to remove potential sleeps (#54649)
About The Pull Request
These are legacy sleepers, the remaining 12 are non-trivial to fix.
* Minor refactor to signal handlers to remove potential sleeps
Co-authored-by: spookydonut <github@spooksoftware.com>
* Standardizes attack chain signal returns and fixes a tk bug (#54475)
The attack chain is a bit of a mess, and the introduction of signals hasn't helped in simplifying it.
In order to take a step into untangling this, I re-ordered the attack signals to no longer be by source type and instead to be grouped more modularly, as they are all members of the attack chain and function similarly. They all share the trait of potentially ending the attack chain via a return, but had several different names for it. I joined it into one.
Additionally, fixed a tk bug reported by @ Timberpoes by adding a signal return check at the base of /mob/proc/RangedAttack
Lastly, removed the async call of /datum/mutation/human/telekinesis/proc/on_ranged_attack, which was added as a lazy patch to appease the linter complaining about a sleep on a signal handler (namely in /obj/singularity/attack_tk). Fixed the problem using timers.
Also cleaned some code here and there.
* Standardizes attack chain signal returns and fixes a tk bug
Co-authored-by: Rohesie <rohesie@gmail.com>
* Enforce preserving parent proc return values across ui_act call stacks (#53964)
All ui_act procs should call parent by default. All procs should preserve the value of the parent proc when it's TRUTHY and pass it down the call stack. No UI should be interactible when its flags or state indicate it should not be, except when explicity overriden by child procs intentionally disregarding parent return values to achieve a specific goal.
* Enforce preserving parent proc return values across ui_act call stacks
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>
About The Pull Request
This replaces the 3 individual discounts on each nukie uplink with two shared pools of discounts. There are 5 unlimited stock discounts and 10 limited stock discounts. Amounts subject to change and debate.
Why It's Good For The Game
Changelog
cl Naksu
balance: nukeop uplinks now have 5 unlimited discounts and 10 limited discounts shared between the team, rather than 3 individual discounts like traitor uplinks
/cl
* yeets a GET_COMPONENT_FROM
* signal rather than component
* Update code/game/objects/items/devices/PDA/virus_cart.dm
Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>
cl coiax
add: Uplink pens now require two seperate rotations to unlock. This also
applies to failsafe codes.
/cl
With only 359 combinations on an uplink pen, it's crackable given a
small amount of time. With two, it's now 92,981 combinations, which
is more secure than PDA uplink codes (899 * 26 = 23,374).
* Add files via upload
* oops
* Species restriction attempt #1
* species restriction test
hope this goes well
* first one didn't work (who'dathunkit)
* Add files via upload
* Add files via upload
* Update code/datums/components/uplink.dm
Co-Authored-By: CRTXBacon <34610106+CRTXBacon@users.noreply.github.com>
* Update code/datums/components/uplink.dm
Co-Authored-By: CRTXBacon <34610106+CRTXBacon@users.noreply.github.com>
* Update flashlight.dm
* Add files via upload
* L A M P
* Update uplink_items.dm
* why the hell did it add two paragraph ends
* Update code/modules/uplink/uplink_items.dm
Co-Authored-By: CRTXBacon <34610106+CRTXBacon@users.noreply.github.com>
* Update uplink.dm
* Update code/modules/uplink/uplink_items.dm
Co-Authored-By: CRTXBacon <34610106+CRTXBacon@users.noreply.github.com>
* Update uplink_items.dm
* Update uplink_items.dm