diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index 8efb2617bd..4acfdb3218 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -288,6 +288,10 @@ #define COMPONENT_INTERRUPT_LIFE_BIOLOGICAL 1 // interrupt biological processes #define COMPONENT_INTERRUPT_LIFE_PHYSICAL 2 // interrupt physical handling +#define COMSIG_LIVING_BIOLOGICAL_LIFE "biological_life" //from base of mob/living/BiologicalLife() (seconds, times_fired) + +#define COMSIG_LIVING_PHYSICAL_LIFE "physical_life" //from base of mob/living/PhysicalLife() (seconds, times_fired) + // /mob/living/carbon physiology signals #define COMSIG_CARBON_GAIN_WOUND "carbon_gain_wound" //from /datum/wound/proc/apply_wound() (/mob/living/carbon/C, /datum/wound/W, /obj/item/bodypart/L) #define COMSIG_CARBON_LOSE_WOUND "carbon_lose_wound" //from /datum/wound/proc/remove_wound() (/mob/living/carbon/C, /datum/wound/W, /obj/item/bodypart/L) diff --git a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm index 1fcffff810..5af2a49b1b 100644 --- a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm +++ b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm @@ -138,7 +138,7 @@ if(owner.current.gender == MALE) if(prob(10)) // Gender override bloodsucker_reputation = pick("King of the Damned", "Blood King", "Emperor of Blades", "Sinlord", "God-King") - else + else if(owner.current.gender == FEMALE) if(prob(10)) // Gender override bloodsucker_reputation = pick("Queen of the Damned", "Blood Queen", "Empress of Blades", "Sinlady", "God-Queen") @@ -341,10 +341,12 @@ //This handles the application of antag huds/special abilities /datum/antagonist/bloodsucker/apply_innate_effects(mob/living/mob_override) + RegisterSignal(owner.current,COMSIG_LIVING_BIOLOGICAL_LIFE,.proc/LifeTick) return //This handles the removal of antag huds/special abilities /datum/antagonist/bloodsucker/remove_innate_effects(mob/living/mob_override) + UnregisterSignal(owner.current,COMSIG_LIVING_BIOLOGICAL_LIFE) return //Assign default team and creates one for one of a kind team antagonists diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index d06ebe9d9d..0f3f6d872a 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -94,6 +94,7 @@ B.decoy_override = FALSE remove_changeling_powers() owner.special_role = null + owner.current.hud_used?.lingchemdisplay?.invisibility = INVISIBILITY_ABSTRACT . = ..() /datum/antagonist/changeling/proc/remove_clownmut() @@ -225,6 +226,8 @@ else //not dead? no chem/geneticdamage caps. chem_charges = min(max(0, chem_charges + chem_recharge_rate - chem_recharge_slowdown), chem_storage) geneticdamage = max(0, geneticdamage-1) + owner.current.hud_used?.lingchemdisplay?.invisibility = 0 + owner.current.hud_used?.lingchemdisplay?.maptext = "