From 0a284aefddaa00a668f801728f9b0f6fbb793a43 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Tue, 9 Feb 2021 00:08:04 +0100 Subject: [PATCH] [MIRROR] Plasmaman won't burn or breath in Mafia/Highlander instead of being transformed into a Human. (#3177) * Plasmaman won't burn or breath in Mafia/Highlander instead of being transformed into a Human. (#56501) NO_BREATH and NO_FIRE are added to Mafia/Highlander players and plasmaman there won't be turned into Humans. Also shifts Ashwalkers above Ethereals and under Lizards in human.dm just too keep it in a pretty order. * Plasmaman won't burn or breath in Mafia/Highlander instead of being transformed into a Human. Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com> --- code/__DEFINES/traits.dm | 4 ++++ .../antagonists/highlander/highlander.dm | 19 ++++++++++--------- code/modules/mafia/controller.dm | 7 ++----- code/modules/mob/living/carbon/human/human.dm | 6 +++--- .../carbon/human/species_types/plasmamen.dm | 2 +- 5 files changed, 20 insertions(+), 18 deletions(-) diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index eebbe742302..009c78bd35d 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -410,6 +410,10 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define LYING_DOWN_TRAIT "lying-down" /// Trait associated to lacking electrical power. #define POWER_LACK_TRAIT "power-lack" +/// Trait associated with mafia +#define MAFIA_TRAIT "mafia" +/// Trait associated with highlander +#define HIGHLANDER_TRAIT "highlander" // unique trait sources, still defines #define CLONING_POD_TRAIT "cloning-pod" diff --git a/code/modules/antagonists/highlander/highlander.dm b/code/modules/antagonists/highlander/highlander.dm index 33850fdffaa..9e1dce422d6 100644 --- a/code/modules/antagonists/highlander/highlander.dm +++ b/code/modules/antagonists/highlander/highlander.dm @@ -7,16 +7,20 @@ /datum/antagonist/highlander/apply_innate_effects(mob/living/mob_override) var/mob/living/L = owner.current || mob_override - ADD_TRAIT(L, TRAIT_NOGUNS, "highlander") - ADD_TRAIT(L, TRAIT_NODISMEMBER, "highlander") - ADD_TRAIT(L, TRAIT_SHOCKIMMUNE, "highlander") + ADD_TRAIT(L, TRAIT_NOGUNS, HIGHLANDER_TRAIT) + ADD_TRAIT(L, TRAIT_NODISMEMBER, HIGHLANDER_TRAIT) + ADD_TRAIT(L, TRAIT_SHOCKIMMUNE, HIGHLANDER_TRAIT) + ADD_TRAIT(L, TRAIT_NOFIRE, HIGHLANDER_TRAIT) + ADD_TRAIT(L, TRAIT_NOBREATH, HIGHLANDER_TRAIT) REMOVE_TRAIT(L, TRAIT_PACIFISM, ROUNDSTART_TRAIT) /datum/antagonist/highlander/remove_innate_effects(mob/living/mob_override) var/mob/living/L = owner.current || mob_override - REMOVE_TRAIT(L, TRAIT_NOGUNS, "highlander") - REMOVE_TRAIT(L, TRAIT_NODISMEMBER, "highlander") - REMOVE_TRAIT(L, TRAIT_SHOCKIMMUNE, "highlander") + REMOVE_TRAIT(L, TRAIT_NOGUNS, HIGHLANDER_TRAIT) + REMOVE_TRAIT(L, TRAIT_NODISMEMBER, HIGHLANDER_TRAIT) + REMOVE_TRAIT(L, TRAIT_SHOCKIMMUNE, HIGHLANDER_TRAIT) + REMOVE_TRAIT(L, TRAIT_NOFIRE, HIGHLANDER_TRAIT) + REMOVE_TRAIT(L, TRAIT_NOBREATH, HIGHLANDER_TRAIT) if(L.has_quirk(/datum/quirk/nonviolent)) ADD_TRAIT(L, TRAIT_PACIFISM, ROUNDSTART_TRAIT) @@ -32,9 +36,6 @@ /datum/antagonist/highlander/on_gain() forge_objectives() owner.special_role = "highlander" - var/mob/living/carbon/human/humanlander = owner.current - if(ishuman(humanlander) && humanlander.dna.species.outfit_important_for_life) //things that cannot live with the scottish kilt will be owned - humanlander.set_species(/datum/species/human) give_equipment() . = ..() diff --git a/code/modules/mafia/controller.dm b/code/modules/mafia/controller.dm index 3be68a89ba0..1cc126bc75d 100644 --- a/code/modules/mafia/controller.dm +++ b/code/modules/mafia/controller.dm @@ -570,16 +570,13 @@ /datum/mafia_controller/proc/create_bodies() for(var/datum/mafia_role/role in all_roles) var/mob/living/carbon/human/H = new(get_turf(role.assigned_landmark)) + ADD_TRAIT(H, TRAIT_NOFIRE, MAFIA_TRAIT) + ADD_TRAIT(H, TRAIT_NOBREATH, MAFIA_TRAIT) H.equipOutfit(player_outfit) H.status_flags |= GODMODE RegisterSignal(H,COMSIG_ATOM_UPDATE_OVERLAYS,.proc/display_votes) var/datum/action/innate/mafia_panel/mafia_panel = new(null,src) mafia_panel.Grant(H) - var/client/player_client = GLOB.directory[role.player_key] - if(player_client) - player_client.prefs.copy_to(H) - if(H.dna.species.outfit_important_for_life) //plasmamen - H.set_species(/datum/species/human) role.body = H player_role_lookup[H] = role H.key = role.player_key diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index eb4cc143811..9fcd155d9fb 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1294,12 +1294,12 @@ /mob/living/carbon/human/species/lizard race = /datum/species/lizard -/mob/living/carbon/human/species/ethereal - race = /datum/species/ethereal - /mob/living/carbon/human/species/lizard/ashwalker race = /datum/species/lizard/ashwalker +/mob/living/carbon/human/species/ethereal + race = /datum/species/ethereal + /mob/living/carbon/human/species/moth race = /datum/species/moth diff --git a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm index e71388aee67..c32b37c9b7c 100644 --- a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm +++ b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm @@ -6,7 +6,7 @@ meat = /obj/item/stack/sheet/mineral/plasma species_traits = list(NOBLOOD,NOTRANSSTING, HAS_BONE) // plasmemes get hard to wound since they only need a severe bone wound to dismember, but unlike skellies, they can't pop their bones back into place - inherent_traits = list(TRAIT_ADVANCEDTOOLUSER,TRAIT_RESISTCOLD, TRAIT_RADIMMUNE, TRAIT_GENELESS, TRAIT_NOHUNGER, TRAIT_HARDLY_WOUNDED) + inherent_traits = list(TRAIT_ADVANCEDTOOLUSER, TRAIT_RESISTCOLD, TRAIT_RADIMMUNE, TRAIT_GENELESS, TRAIT_NOHUNGER, TRAIT_HARDLY_WOUNDED) inherent_biotypes = MOB_HUMANOID|MOB_MINERAL mutantlungs = /obj/item/organ/lungs/plasmaman