[MIRROR] Abductors can no longer be converted by conversion antags (#29310)

* Abductors can no longer be converted by conversion antags (#84766)

## About The Pull Request

Basically what the title says. Abductors cannot be converted by
bloodbrother/revs/cult. They will NOT show up as having a mindshield,
however.
## Why It's Good For The Game

Abductors are, by design, incredibly strong. You are not meant to be
able to win against them, and this is reflected policy-wise by the fact
that they're a restricted antagonist. However, this is still a problem
when conversion antags get involved. If an abductor becomes a cultist or
a revolutionary, then suddenly every other player who isn't also
converted has to deal with an abductor without the normal restrictions.
It's not fun to play against and in general just shouldn't happen.
## Changelog
🆑
balance: Abductors (the antag, not the species) can no longer be
converted by any antagonist.
/🆑

* Abductors can no longer be converted by conversion antags

---------

Co-authored-by: GPeckman <21979502+GPeckman@users.noreply.github.com>
This commit is contained in:
SkyratBot
2024-08-15 11:50:44 +02:00
committed by GitHub
parent 80bf0d1971
commit c9e8162a8a
18 changed files with 35 additions and 32 deletions
@@ -20,7 +20,7 @@
if(!.)
return FALSE
if(target.mind)
if((SEND_SIGNAL(target.mind, COMSIG_PRE_MINDSHIELD_IMPLANT, user) & COMPONENT_MINDSHIELD_RESISTED) || target.mind.unconvertable)
if((SEND_SIGNAL(target.mind, COMSIG_PRE_MINDSHIELD_IMPLANT, user) & COMPONENT_MINDSHIELD_RESISTED))
if(!silent)
target.visible_message(span_warning("[target] seems to resist the implant!"), span_warning("You feel something interfering with your mental conditioning, but you resist it!"))
removed(target, TRUE)
@@ -30,7 +30,7 @@
if(prob(1) || check_holidays(APRIL_FOOLS))
target.say("I'm out! I quit! Whose kidneys are these?", forced = "They're out! They quit! Whose kidneys do they have?")
ADD_TRAIT(target, TRAIT_MINDSHIELD, IMPLANT_TRAIT)
target.add_traits(list(TRAIT_MINDSHIELD, TRAIT_UNCONVERTABLE), IMPLANT_TRAIT)
target.sec_hud_set_implants()
if(!silent)
to_chat(target, span_notice("You feel a sense of peace and security. You are now protected from brainwashing."))
@@ -42,7 +42,7 @@
return FALSE
if(isliving(target))
var/mob/living/L = target
REMOVE_TRAIT(L, TRAIT_MINDSHIELD, IMPLANT_TRAIT)
target.remove_traits(list(TRAIT_MINDSHIELD, TRAIT_UNCONVERTABLE), IMPLANT_TRAIT)
L.sec_hud_set_implants()
if(target.stat != DEAD && !silent)
to_chat(target, span_boldnotice("Your mind suddenly feels terribly vulnerable. You are no longer safe from brainwashing."))
@@ -191,7 +191,7 @@
objective = tgui_input_text(user, "What order do you want to imprint on [C]?", "Brainwashing", max_length = 120)
message_admins("[ADMIN_LOOKUPFLW(user)] set brainwash machine objective to '[objective]'.")
user.log_message("set brainwash machine objective to '[objective]'.", LOG_GAME)
if(HAS_TRAIT(C, TRAIT_MINDSHIELD))
if(HAS_MIND_TRAIT(C, TRAIT_UNCONVERTABLE))
return FALSE
brainwash(C, objective)
message_admins("[ADMIN_LOOKUPFLW(user)] brainwashed [key_name_admin(C)] with objective '[objective]'.")