Revolution Improvements (#7878)

- Added a new category to the traitor uplink, which is only available to revolutionaries.

- Head Revolutionaries now spawn with an uplink that has 50 TC, they also get an alert telling them to not abuse it.

- Revamped the drill dropper into a generic orbital dropper, capable of dropping ANY sort of item you wish it to.

- Added a Mech orbital dropper. Added an Armory orbital dropper.

- Made loyalty implants display their text correctly when they implant someone.

- Added aggression implants, which makes whoever it is implanted into extremely aggressive. Quite useful for starting a revolution.

- Added some description_antag to mercenary cipherkeys, informing the reader that the mercenary radio key is :t.

- Added a gear crate (not for mercs) which is just six syndicate softsuits. Useful in a pinch.
This commit is contained in:
Geeves
2020-01-08 18:45:58 -03:00
committed by Alberyk
parent 2b1908df72
commit bead18d3f1
20 changed files with 355 additions and 146 deletions
@@ -393,10 +393,6 @@ the implant may become unstable and either pre-maturely inject the subject or si
spawn(20)
malfunction--
/obj/item/implant/loyalty/implanted(mob/source as mob)
//mobname = source.real_name
return 1
/obj/item/implant/loyalty/ipc
name = "loyalty chip"
desc = "A device that sets directives programmed for loyalty to NanoTrasen on the synthetic subject. Will not work on organics."
@@ -576,3 +572,57 @@ the implant may become unstable and either pre-maturely inject the subject or si
/obj/item/implant/compressed/islegal()
return 0
/obj/item/implant/aggression
name = "aggression implant"
desc = "An implant that microdoses its user with chemicals that induce anger."
/obj/item/implant/aggression/get_data()
. = {"
<b>Implant Specifications:</b><BR>
<b>Name:</b> Aggression Implant<BR>
<b>Life:</b> N/A.<BR>
<b>Important Notes:</b> Users injected with this device get increasingly angry to a breaking point. Users tend to expire before the implant does.<BR>
<HR>
<b>Implant Details:</b><BR>
<b>Function:</b> Contains a small pod of nanobots that manipulate the host's mental functions.<BR>
<b>Integrity:</b> Implant will last so long as the nanobots are inside the bloodstream."}
/obj/item/implant/aggression/implanted(mob/M)
if(!istype(M, /mob/living/carbon/human))
return FALSE
var/mob/living/carbon/human/H = M
for(var/obj/item/implant/loyalty/I in H)
if(I.implanted)
to_chat(H, span("danger", "Rage surges through your body, but the nanobots from your loyalty implant stop it soon after it starts!"))
return TRUE
var/datum/antagonist/antag_data = get_antag_data(H.mind.special_role)
if(antag_data?.flags & ANTAG_IMPLANT_IMMUNE)
H.visible_message("[H] seems to resist the implant!", "You feel rage overtake your body, but you manage to fend it off by sheer will!")
log_and_message_admins("[key_name(H)] was implanted by an aggression implant, but was not effected.", H)
else if(antag_data?.id == MODE_LOYALIST)
clear_antag_roles(H.mind, 1)
to_chat(H, span("danger", "You feel a surge of rage override your loyalty!"))
log_and_message_admins("[key_name(H)] was implanted by an aggression implant, clearing their loyalist status!", H)
else
to_chat(H, span("danger", "You feel a surge of rage course through your body and very soul!"))
log_and_message_admins("[key_name(H)] was implanted by an aggression implant!", H)
return TRUE
/obj/item/implant/aggression/emp_act(severity)
if(malfunction)
return
malfunction = MALFUNCTION_TEMPORARY
activate("emp")
if(severity == 1)
if(prob(50))
meltdown()
else if(prob(50))
malfunction = MALFUNCTION_PERMANENT
return
spawn(20)
malfunction--
@@ -159,3 +159,14 @@
src.imp = new /obj/item/implant/health( src )
..()
return
/obj/item/implantcase/aggression
name = "glass case - 'aggression'"
desc = "A case containing an aggression inducing implant."
icon_state = "implantcase-b"
/obj/item/implantcase/aggression/New()
src.imp = new /obj/item/implant/aggression(src)
..()
return