diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index c0b510111f..81de8e64de 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -1,4 +1,3 @@ - //The advanced pea-green monochrome lcd of tomorrow. GLOBAL_LIST_EMPTY(PDAs) diff --git a/code/modules/antagonists/abductor/abductee/abductee.dm b/code/modules/antagonists/abductor/abductee/abductee.dm new file mode 100644 index 0000000000..cf09a76912 --- /dev/null +++ b/code/modules/antagonists/abductor/abductee/abductee.dm @@ -0,0 +1,30 @@ +/datum/antagonist/abductee + name = "Abductee" + roundend_category = "abductees" + antagpanel_category = "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) + update_abductor_icons_added(mob_override ? mob_override.mind : owner,"abductee") + var/mob/living/carbon/C = mob_override || owner?.current + if(istype(C)) + C.gain_trauma_type(/datum/brain_trauma/abductee, TRAUMA_RESILIENCE_SURGERY) + +/datum/antagonist/abductee/remove_innate_effects(mob/living/mob_override) + update_abductor_icons_removed(mob_override ? mob_override.mind : owner) diff --git a/code/modules/antagonists/abductor/abductee/abductee_objectives.dm b/code/modules/antagonists/abductor/abductee/abductee_objectives.dm index f188319644..2d62bf1ac9 100644 --- a/code/modules/antagonists/abductor/abductee/abductee_objectives.dm +++ b/code/modules/antagonists/abductor/abductee/abductee_objectives.dm @@ -18,7 +18,7 @@ /datum/objective/abductee/paint/New() var/color = pick(list("red", "blue", "green", "yellow", "orange", "purple", "black", "in rainbows", "in blood")) - explanation_text+= " [color]!" + explanation_text = " [color]!" /datum/objective/abductee/speech explanation_text = "Your brain is broken... you can only communicate in" diff --git a/code/modules/antagonists/abductor/abductee/trauma.dm b/code/modules/antagonists/abductor/abductee/trauma.dm new file mode 100644 index 0000000000..1edc96421d --- /dev/null +++ b/code/modules/antagonists/abductor/abductee/trauma.dm @@ -0,0 +1,15 @@ +/datum/brain_trauma/abductee + name = "abductee mindsnapped" + desc = "The patient's brain has been scrambled by experimental procedures." + scan_desc = "brain scrambling" + gain_text = "Your mind snaps.. you feel fragmented." + lose_text = "Your mind heals itself and you feel whole again." + random_gain = FALSE + clonable = TRUE + +/datum/brain_trauma/abductee/on_gain() + if(!owner.has_antag_datum(/datum/antagonist/abductee)) + owner.add_antag_datum(/datum/antagonist/abductee) + +/datum/brain_trauma/abductee/on_lose() + owner.remove_antag_datum(/datum/antagonist/abductee) diff --git a/code/modules/antagonists/abductor/abductor.dm b/code/modules/antagonists/abductor/abductor.dm index 92504641a9..564e9a8617 100644 --- a/code/modules/antagonists/abductor/abductor.dm +++ b/code/modules/antagonists/abductor/abductor.dm @@ -159,35 +159,6 @@ return "