[PORT] Adds TG "busy" cogbar animation for players (#27932)

* looks like it works

* move to PREFTOGGLE_3 and add sneaky do_after

* linter

* param doc and some cleanup

* autodoc and comment signal

* fix wrong type in link_processing

* fix wrong var in preferences

* cover do_mob and do_after_once

* fix toggles total

* replace indent with space

* offset and helpers procs

* fix conditional statement

* Apply suggestions from code review

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: Mira <42539014+MiraHell@users.noreply.github.com>

* Update code/__HELPERS/mob_helpers.dm

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: Mira <42539014+MiraHell@users.noreply.github.com>

* use SECONDS

* Update code/game/objects/items/weapons/weaponry.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Signed-off-by: Mira <42539014+MiraHell@users.noreply.github.com>

---------

Signed-off-by: Mira <42539014+MiraHell@users.noreply.github.com>
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
This commit is contained in:
Mira
2025-03-06 16:04:51 +00:00
committed by GitHub
co-authored by Luc Burzah
parent c550db4e65
commit a6e8f69c55
40 changed files with 357 additions and 41 deletions
@@ -27,7 +27,7 @@
is_operating = FALSE
return FALSE
user.visible_message("<span class='danger'>[user] begins vomiting an arachnid!</span>")
if(do_after(user, 4 SECONDS, FALSE, target = user)) // Takes 4 seconds to spawn a spider
if(do_after(user, 4 SECONDS, FALSE, target = user, hidden = TRUE)) // Takes 4 seconds to spawn a spider
spider_counter++
user.visible_message("<span class='danger'>[user] vomits up an arachnid!</span>")
var/mob/living/simple_animal/hostile/poison/giant_spider/hunter/infestation_spider/S = new(user.loc)
@@ -134,7 +134,7 @@
"<span class='sinister'>We begin our harvest on [H].</span>",
"<span class='notice'>You hear the hum of electricity.</span>"
)
if(!do_mob(owner.current, H, time = 2 SECONDS))
if(!do_mob(owner.current, H, time = 2 SECONDS, hidden = TRUE))
send_swarm_message("Our connection was incomplete.")
harvesting = null
return
@@ -201,7 +201,7 @@
to_chat(user, "<span class='notice'>Your override attempt fails before it can even begin.</span>")
qdel(src)
return
if(!do_mob(user, borg, conversion_time))
if(!do_mob(user, borg, conversion_time, hidden = TRUE))
to_chat(user, "<span class='notice'>Your concentration breaks.</span>")
qdel(src)
return
@@ -253,7 +253,7 @@
M.visible_message("<span class='notice'>[M] starts entering a cryptic series of characters on [U].</span>",\
"<span class='notice'>You start entering an extraction signal to your handlers on [U]...</span>")
if(do_after(M, EXTRACTION_PHASE_PREPARE, target = M))
if(do_after(M, EXTRACTION_PHASE_PREPARE, target = M, hidden = TRUE))
if(!U.Adjacent(M) || extraction_deadline > world.time)
return
var/obj/effect/contractor_flare/F = new(get_turf(M))
@@ -113,7 +113,7 @@ RESTRICT_TYPE(/datum/antagonist/vampire)
H.LAssailant = null
else
H.LAssailant = owner
while(do_mob(owner.current, H, suck_rate))
while(do_mob(owner.current, H, suck_rate, hidden = TRUE))
owner.current.do_attack_animation(H, ATTACK_EFFECT_BITE)
if(unique_suck_id in drained_humans)
if(drained_humans[unique_suck_id] >= BLOOD_DRAIN_LIMIT)
@@ -28,7 +28,7 @@
var/mob/living/target = targets[1]
user.visible_message("<span class='warning'>[user] bites [target]'s neck!</span>", "<span class='warning'>You bite [target]'s neck and begin the flow of power.</span>")
to_chat(target, "<span class='warning'>You feel the tendrils of evil invade your mind.</span>")
if(do_mob(user, target, 15 SECONDS))
if(do_mob(user, target, 15 SECONDS, hidden = TRUE))
if(can_enthrall(user, target))
handle_enthrall(user, target)
var/datum/spell_handler/vampire/V = custom_handler
@@ -140,7 +140,7 @@
if(!making_anchor && !anchor) // first cast, setup the anchor
var/turf/anchor_turf = get_turf(user)
making_anchor = TRUE
if(do_mob(user, user, 5 SECONDS, only_use_extra_checks = TRUE)) // no checks, cant fail
if(do_mob(user, user, 5 SECONDS, only_use_extra_checks = TRUE, hidden = TRUE)) // no checks, cant fail
make_anchor(user, anchor_turf)
making_anchor = FALSE
return