Stops CTF players delivering the flag to the flag (#76789)

## About The Pull Request

Adds more warnings telling CTF players the flag has to be taken to the
controller to capture it by:

Text when picking up the flag
Text and angry buzz when trying to hit another flag with it

## Why It's Good For The Game

Players continue to obliviously drop flags on the ground on top of their
own flag despite being told what to do when joining the match, so this
information needs to be reiterated during the match when relevant to the
player.

## Changelog
🆑
qol: CTF has more reminders of how to capture flags.
/🆑

---------

Co-authored-by: san7890 <the@san7890.com>
This commit is contained in:
Thunder12345
2023-07-14 19:07:42 -06:00
committed by GitHub
co-authored by san7890
parent 29e0ae2990
commit f2fe624ca4
+10
View File
@@ -256,9 +256,19 @@
anchored = TRUE // Avoid directly assigning to anchored and prefer to use set_anchored() on normal circumstances.
return
//passing means the user picked up the flag so we can now apply this
to_chat(user, span_userdanger("Take \the [initial(name)] to your team's controller!"))
user.set_anchored(TRUE)
user.status_flags &= ~CANPUSH
/obj/item/ctf_flag/attackby(obj/item/item, mob/user, params)
if(!istype(item, /obj/item/ctf_flag))
return ..()
var/obj/item/ctf_flag/flag = item
if(flag.team != team)
to_chat(user, span_userdanger("Take \the [initial(flag.name)] to your team's controller!"))
user.playsound_local(get_turf(user), 'sound/machines/buzz-sigh.ogg', 100, vary = FALSE, use_reverb = FALSE)
/obj/item/ctf_flag/dropped(mob/user)
..()
user.anchored = FALSE // Hacky usage that bypasses set_anchored()