diff --git a/code/modules/antagonists/abductor/abductee/abductee.dm b/code/modules/antagonists/abductor/abductee/abductee.dm new file mode 100644 index 00000000000..755db387f33 --- /dev/null +++ b/code/modules/antagonists/abductor/abductee/abductee.dm @@ -0,0 +1,37 @@ +/** + * ## Abductees + * + * Abductees are created by being operated on by abductors. They get some instructions about not + * remembering the abduction, plus some random weird objectives for them to act crazy with. + */ +/datum/antagonist/abductee + name = "Abductee" + roundend_category = "abductees" + antagpanel_category = "Other" + antag_hud_type = ANTAG_HUD_ABDUCTOR + antag_hud_name = "abductee" + +/datum/antagonist/abductee/on_gain() + give_objective() + . = ..() + +/datum/antagonist/abductee/greet() + to_chat(owner, "Your mind snaps!") + to_chat(owner, "You can't remember how you got here...") + owner.announce_objectives() + +/datum/antagonist/abductee/proc/give_objective() + var/mob/living/carbon/human/H = owner.current + if(istype(H)) + H.gain_trauma_type(BRAIN_TRAUMA_MILD, TRAUMA_RESILIENCE_LOBOTOMY) + var/objtype = (prob(75) ? /datum/objective/abductee/random : pick(subtypesof(/datum/objective/abductee/) - /datum/objective/abductee/random)) + var/datum/objective/abductee/O = new objtype() + objectives += O + +/datum/antagonist/abductee/apply_innate_effects(mob/living/mob_override) + var/mob/living/M = mob_override || owner.current + add_antag_hud(antag_hud_type, antag_hud_name, M) + +/datum/antagonist/abductee/remove_innate_effects(mob/living/mob_override) + var/mob/living/M = mob_override || owner.current + remove_antag_hud(antag_hud_type, M) diff --git a/code/modules/antagonists/abductor/abductor.dm b/code/modules/antagonists/abductor/abductor.dm index a195c98631f..6061d717964 100644 --- a/code/modules/antagonists/abductor/abductor.dm +++ b/code/modules/antagonists/abductor/abductor.dm @@ -166,39 +166,6 @@ GLOBAL_LIST_INIT(possible_abductor_names, list("Alpha","Beta","Gamma","Delta","E return "
[result.Join("
")]
" -/datum/antagonist/abductee - name = "Abductee" - roundend_category = "abductees" - antagpanel_category = "Abductee" - antag_hud_type = ANTAG_HUD_ABDUCTOR - antag_hud_name = "abductee" - -/datum/antagonist/abductee/on_gain() - give_objective() - . = ..() - -/datum/antagonist/abductee/greet() - to_chat(owner, "Your mind snaps!") - to_chat(owner, "You can't remember how you got here...") - owner.announce_objectives() - -/datum/antagonist/abductee/proc/give_objective() - var/mob/living/carbon/human/H = owner.current - if(istype(H)) - H.gain_trauma_type(BRAIN_TRAUMA_MILD, TRAUMA_RESILIENCE_LOBOTOMY) - var/objtype = (prob(75) ? /datum/objective/abductee/random : pick(subtypesof(/datum/objective/abductee/) - /datum/objective/abductee/random)) - var/datum/objective/abductee/O = new objtype() - objectives += O - -/datum/antagonist/abductee/apply_innate_effects(mob/living/mob_override) - var/mob/living/M = mob_override || owner.current - add_antag_hud(antag_hud_type, antag_hud_name, M) - -/datum/antagonist/abductee/remove_innate_effects(mob/living/mob_override) - var/mob/living/M = mob_override || owner.current - remove_antag_hud(antag_hud_type, M) - - // LANDMARKS /obj/effect/landmark/abductor var/team_number = 1 diff --git a/code/modules/antagonists/blob/blob.dm b/code/modules/antagonists/blob/blob.dm index 36d520a3238..6988226a335 100644 --- a/code/modules/antagonists/blob/blob.dm +++ b/code/modules/antagonists/blob/blob.dm @@ -1,7 +1,7 @@ /datum/antagonist/blob name = "Blob" roundend_category = "blobs" - antagpanel_category = "Blob" + antagpanel_category = "Biohazards" show_to_ghosts = TRUE job_rank = ROLE_BLOB diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index 259f8029a9d..97a6ccebb08 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -682,12 +682,6 @@ newprofile.profile_snapshot = profile_snapshot newprofile.id_icon = id_icon -/datum/antagonist/changeling/xenobio - name = "Xenobio Changeling" - give_objectives = FALSE - show_in_roundend = FALSE //These are here for admin tracking purposes only - you_are_greet = FALSE - /datum/antagonist/changeling/roundend_report() var/list/parts = list() @@ -717,5 +711,3 @@ return parts.Join("
") -/datum/antagonist/changeling/xenobio/antag_listing_name() - return ..() + "(Xenobio)" diff --git a/code/modules/antagonists/disease/disease_datum.dm b/code/modules/antagonists/disease/disease_datum.dm index cb0cc12be0b..abd17e8791c 100644 --- a/code/modules/antagonists/disease/disease_datum.dm +++ b/code/modules/antagonists/disease/disease_datum.dm @@ -1,7 +1,7 @@ /datum/antagonist/disease name = "Sentient Disease" roundend_category = "diseases" - antagpanel_category = "Disease" + antagpanel_category = "Biohazards" show_to_ghosts = TRUE var/disease_name = "" diff --git a/code/modules/antagonists/nukeop/nukeop.dm b/code/modules/antagonists/nukeop/nukeop.dm index d83564784f6..aba720fe0ff 100644 --- a/code/modules/antagonists/nukeop/nukeop.dm +++ b/code/modules/antagonists/nukeop/nukeop.dm @@ -242,6 +242,7 @@ nuke_team.memorized_code = null /datum/antagonist/nukeop/reinforcement + show_in_antagpanel = FALSE send_to_spawnpoint = FALSE nukeop_outfit = /datum/outfit/syndicate/no_crystals diff --git a/code/modules/antagonists/pirate/pirate.dm b/code/modules/antagonists/pirate/pirate.dm index 7bfbced12b0..26ac3b8121a 100644 --- a/code/modules/antagonists/pirate/pirate.dm +++ b/code/modules/antagonists/pirate/pirate.dm @@ -2,7 +2,7 @@ name = "Space Pirate" job_rank = ROLE_TRAITOR roundend_category = "space pirates" - antagpanel_category = "Pirate" + show_in_antagpanel = FALSE show_to_ghosts = TRUE var/datum/team/pirate/crew diff --git a/code/modules/antagonists/slaughter/imp_antag.dm b/code/modules/antagonists/slaughter/imp_antag.dm new file mode 100644 index 00000000000..2276bf21da0 --- /dev/null +++ b/code/modules/antagonists/slaughter/imp_antag.dm @@ -0,0 +1,20 @@ +/** + * ## Imps + * + * Imps used to be summoned by a devil ascending to their final form, but now they're just + * kinda sitting in limbo... Well, whatever! They're kinda cool anyways! + */ +/datum/antagonist/imp + name = "Imp" + show_in_antagpanel = FALSE + show_in_roundend = FALSE + +/datum/antagonist/imp/on_gain() + . = ..() + give_objectives() + +/datum/antagonist/imp/proc/give_objectives() + var/datum/objective/newobjective = new + newobjective.explanation_text = "Try to get a promotion to a higher devilish rank." + newobjective.owner = owner + objectives += newobjective diff --git a/code/modules/antagonists/slaughter/slaughter.dm b/code/modules/antagonists/slaughter/slaughter.dm index 8a3b5bb0a53..efcd78028c3 100644 --- a/code/modules/antagonists/slaughter/slaughter.dm +++ b/code/modules/antagonists/slaughter/slaughter.dm @@ -44,21 +44,6 @@ Though you are not obligated to help, perhaps by aiding a higher ranking devil, you might just get a promotion. However, you are incapable \ of intentionally harming a fellow devil." -/datum/antagonist/imp - name = "Imp" - antagpanel_category = "Other" - show_in_roundend = FALSE - -/datum/antagonist/imp/on_gain() - . = ..() - give_objectives() - -/datum/antagonist/imp/proc/give_objectives() - var/datum/objective/newobjective = new - newobjective.explanation_text = "Try to get a promotion to a higher devilish rank." - newobjective.owner = owner - objectives += newobjective - //////////////////The Man Behind The Slaughter /mob/living/simple_animal/hostile/imp/slaughter diff --git a/code/modules/antagonists/traitor/IAA/internal_affairs.dm b/code/modules/antagonists/traitor/IAA/internal_affairs.dm index 6f1eea49590..ff5d82bf237 100644 --- a/code/modules/antagonists/traitor/IAA/internal_affairs.dm +++ b/code/modules/antagonists/traitor/IAA/internal_affairs.dm @@ -7,7 +7,6 @@ /datum/antagonist/traitor/internal_affairs name = "Internal Affairs Agent" employer = "Nanotrasen" - antagpanel_category = "IAA" var/special_role = "internal affairs agent" var/syndicate = FALSE diff --git a/code/modules/antagonists/wizard/wizard.dm b/code/modules/antagonists/wizard/wizard.dm index f069fc675c0..673b6ab1097 100644 --- a/code/modules/antagonists/wizard/wizard.dm +++ b/code/modules/antagonists/wizard/wizard.dm @@ -234,6 +234,7 @@ //Random event wizard /datum/antagonist/wizard/apprentice/imposter name = "Wizard Imposter" + show_in_antagpanel = FALSE allow_rename = FALSE move_to_lair = FALSE @@ -266,6 +267,7 @@ /datum/antagonist/wizard/academy name = "Academy Teacher" + show_in_antagpanel = FALSE outfit_type = /datum/outfit/wizard/academy move_to_lair = FALSE diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm index 1e0c38c6d81..b99a958b0ac 100644 --- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm +++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm @@ -78,7 +78,7 @@ origin.transfer_to(M) var/datum/antagonist/changeling/C = origin.has_antag_datum(/datum/antagonist/changeling) if(!C) - C = origin.add_antag_datum(/datum/antagonist/changeling/xenobio) + C = origin.add_antag_datum(/datum/antagonist/changeling) if(C.can_absorb_dna(owner)) C.add_new_profile(owner) diff --git a/tgstation.dme b/tgstation.dme index af27d856ad1..a63e16ccdc3 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1659,6 +1659,7 @@ #include "code\modules\antagonists\_common\antag_team.dm" #include "code\modules\antagonists\abductor\abductor.dm" #include "code\modules\antagonists\abductor\ice_abductor.dm" +#include "code\modules\antagonists\abductor\abductee\abductee.dm" #include "code\modules\antagonists\abductor\abductee\abductee_objectives.dm" #include "code\modules\antagonists\abductor\equipment\abduction_gear.dm" #include "code\modules\antagonists\abductor\equipment\abduction_outfits.dm" @@ -1808,6 +1809,7 @@ #include "code\modules\antagonists\revolution\revolution.dm" #include "code\modules\antagonists\santa\santa.dm" #include "code\modules\antagonists\separatist\separatist.dm" +#include "code\modules\antagonists\slaughter\imp_antag.dm" #include "code\modules\antagonists\slaughter\slaughter.dm" #include "code\modules\antagonists\slaughter\slaughter_antag.dm" #include "code\modules\antagonists\slaughter\slaughterevent.dm"