Purrbation toggle and organ insert code refactor (#68738)

This PR improves the purrbation toggle code. Admins can now put any human species on purrbation.
This commit is contained in:
Riggle
2022-07-30 20:57:10 +02:00
committed by GitHub
parent ec6ca62125
commit 8a680eb9ec
17 changed files with 113 additions and 108 deletions
+2 -2
View File
@@ -72,12 +72,12 @@
/obj/item/organ/internal/appendix/get_availability(datum/species/owner_species)
return !(TRAIT_NOHUNGER in owner_species.inherent_traits)
/obj/item/organ/internal/appendix/Remove(mob/living/carbon/organ_owner, special = FALSE)
/obj/item/organ/internal/appendix/Remove(mob/living/carbon/organ_owner, special = FALSE, drop_if_replaced = TRUE)
REMOVE_TRAIT(organ_owner, TRAIT_DISEASELIKE_SEVERITY_MEDIUM, type)
organ_owner.med_hud_set_status()
..()
/obj/item/organ/internal/appendix/Insert(mob/living/carbon/organ_owner, special = FALSE)
/obj/item/organ/internal/appendix/Insert(mob/living/carbon/organ_owner, special = FALSE, drop_if_replaced = TRUE)
. = ..()
if(.)
if(inflamation_stage)
@@ -116,11 +116,11 @@
var/stun_cap_amount = 40
/obj/item/organ/internal/cyberimp/brain/anti_stun/Remove(mob/living/carbon/implant_owner, special = FALSE)
/obj/item/organ/internal/cyberimp/brain/anti_stun/Remove(mob/living/carbon/implant_owner, special = FALSE, drop_if_replaced = TRUE)
. = ..()
UnregisterSignal(implant_owner, signalCache)
/obj/item/organ/internal/cyberimp/brain/anti_stun/Insert()
/obj/item/organ/internal/cyberimp/brain/anti_stun/Insert(special = FALSE, drop_if_replaced = TRUE)
. = ..()
RegisterSignal(owner, signalCache, .proc/on_signal)
+6 -6
View File
@@ -243,11 +243,11 @@
see_in_dark = NIGHTVISION_FOV_RANGE
sight_flags = SEE_MOBS | SEE_OBJS | SEE_TURFS
/obj/item/organ/internal/eyes/robotic/xray/Insert(mob/living/carbon/eye_owner, special = FALSE)
/obj/item/organ/internal/eyes/robotic/xray/Insert(mob/living/carbon/eye_owner, special = FALSE, drop_if_replaced = TRUE)
. = ..()
ADD_TRAIT(eye_owner, TRAIT_XRAY_VISION, ORGAN_TRAIT)
/obj/item/organ/internal/eyes/robotic/xray/Remove(mob/living/carbon/eye_owner, special = FALSE)
/obj/item/organ/internal/eyes/robotic/xray/Remove(mob/living/carbon/eye_owner, special = FALSE, drop_if_replaced = TRUE)
REMOVE_TRAIT(eye_owner, TRAIT_XRAY_VISION, ORGAN_TRAIT)
return ..()
@@ -519,11 +519,11 @@
eye_icon_state = "flyeyes"
icon_state = "eyeballs-fly"
/obj/item/organ/internal/eyes/fly/Insert(mob/living/carbon/eye_owner, special = FALSE)
/obj/item/organ/internal/eyes/fly/Insert(mob/living/carbon/eye_owner, special = FALSE, drop_if_replaced = TRUE)
. = ..()
ADD_TRAIT(eye_owner, TRAIT_FLASH_SENSITIVE, ORGAN_TRAIT)
/obj/item/organ/internal/eyes/fly/Remove(mob/living/carbon/eye_owner, special = FALSE)
/obj/item/organ/internal/eyes/fly/Remove(mob/living/carbon/eye_owner, special = FALSE, drop_if_replaced = TRUE)
REMOVE_TRAIT(eye_owner, TRAIT_FLASH_SENSITIVE, ORGAN_TRAIT)
return ..()
@@ -538,7 +538,7 @@
overlay_ignore_lighting = TRUE
var/obj/item/flashlight/eyelight/adapted/adapt_light
/obj/item/organ/internal/eyes/night_vision/maintenance_adapted/Insert(mob/living/carbon/adapted, special = FALSE)
/obj/item/organ/internal/eyes/night_vision/maintenance_adapted/Insert(mob/living/carbon/adapted, special = FALSE, drop_if_replaced = TRUE)
. = ..()
//add lighting
if(!adapt_light)
@@ -561,7 +561,7 @@
applyOrganDamage(-10) //heal quickly
. = ..()
/obj/item/organ/internal/eyes/night_vision/maintenance_adapted/Remove(mob/living/carbon/unadapted, special = FALSE)
/obj/item/organ/internal/eyes/night_vision/maintenance_adapted/Remove(mob/living/carbon/unadapted, special = FALSE, drop_if_replaced = TRUE)
//remove lighting
adapt_light.on = FALSE
adapt_light.update_brightness(unadapted)
+4 -4
View File
@@ -137,12 +137,12 @@
else
last_pump = world.time //lets be extra fair *sigh*
/obj/item/organ/internal/heart/cursed/Insert(mob/living/carbon/accursed, special = 0)
/obj/item/organ/internal/heart/cursed/Insert(mob/living/carbon/accursed, special = FALSE, drop_if_replaced = TRUE)
..()
if(owner)
to_chat(owner, span_userdanger("Your heart has been replaced with a cursed one, you have to pump this one manually otherwise you'll die!"))
/obj/item/organ/internal/heart/cursed/Remove(mob/living/carbon/accursed, special = 0)
/obj/item/organ/internal/heart/cursed/Remove(mob/living/carbon/accursed, special = FALSE, drop_if_replaced = TRUE)
..()
accursed.remove_client_colour(/datum/client_colour/cursed_heart_blood)
@@ -276,13 +276,13 @@
. = ..()
add_atom_colour(ethereal_color, FIXED_COLOUR_PRIORITY)
/obj/item/organ/internal/heart/ethereal/Insert(mob/living/carbon/owner, special = 0)
/obj/item/organ/internal/heart/ethereal/Insert(mob/living/carbon/owner, special = FALSE, drop_if_replaced = TRUE)
. = ..()
RegisterSignal(owner, COMSIG_MOB_STATCHANGE, .proc/on_stat_change)
RegisterSignal(owner, COMSIG_LIVING_POST_FULLY_HEAL, .proc/on_owner_fully_heal)
RegisterSignal(owner, COMSIG_PARENT_QDELETING, .proc/owner_deleted)
/obj/item/organ/internal/heart/ethereal/Remove(mob/living/carbon/owner, special = 0)
/obj/item/organ/internal/heart/ethereal/Remove(mob/living/carbon/owner, special = FALSE, drop_if_replaced = TRUE)
UnregisterSignal(owner, list(COMSIG_MOB_STATCHANGE, COMSIG_LIVING_POST_FULLY_HEAL, COMSIG_PARENT_QDELETING))
REMOVE_TRAIT(owner, TRAIT_CORPSELOCKED, SPECIES_TRAIT)
stop_crystalization_process(owner)
@@ -12,13 +12,13 @@
adjust_charge(-ETHEREAL_CHARGE_FACTOR * delta_time)
handle_charge(owner, delta_time, times_fired)
/obj/item/organ/internal/stomach/ethereal/Insert(mob/living/carbon/carbon, special = 0)
/obj/item/organ/internal/stomach/ethereal/Insert(mob/living/carbon/carbon, special = FALSE, drop_if_replaced = TRUE)
. = ..()
RegisterSignal(owner, COMSIG_PROCESS_BORGCHARGER_OCCUPANT, .proc/charge)
RegisterSignal(owner, COMSIG_LIVING_ELECTROCUTE_ACT, .proc/on_electrocute)
ADD_TRAIT(owner, TRAIT_NOHUNGER, REF(src))
/obj/item/organ/internal/stomach/ethereal/Remove(mob/living/carbon/carbon, special = 0)
/obj/item/organ/internal/stomach/ethereal/Remove(mob/living/carbon/carbon, special = FALSE, drop_if_replaced = TRUE)
UnregisterSignal(owner, COMSIG_PROCESS_BORGCHARGER_OCCUPANT)
UnregisterSignal(owner, COMSIG_LIVING_ELECTROCUTE_ACT)
REMOVE_TRAIT(owner, TRAIT_NOHUNGER, REF(src))
+4 -4
View File
@@ -46,7 +46,7 @@
/obj/item/organ/internal/tongue/proc/modify_speech(datum/source, list/speech_args)
return speech_args[SPEECH_MESSAGE]
/obj/item/organ/internal/tongue/Insert(mob/living/carbon/tongue_owner, special = 0)
/obj/item/organ/internal/tongue/Insert(mob/living/carbon/tongue_owner, special = FALSE, drop_if_replaced = TRUE)
..()
if(say_mod && tongue_owner.dna && tongue_owner.dna.species)
tongue_owner.dna.species.say_mod = say_mod
@@ -63,7 +63,7 @@
if(!sense_of_taste)
ADD_TRAIT(tongue_owner, TRAIT_AGEUSIA, ORGAN_TRAIT)
/obj/item/organ/internal/tongue/Remove(mob/living/carbon/tongue_owner, special = 0)
/obj/item/organ/internal/tongue/Remove(mob/living/carbon/tongue_owner, special = FALSE, drop_if_replaced = TRUE)
. = ..()
if(say_mod && tongue_owner.dna && tongue_owner.dna.species)
tongue_owner.dna.species.say_mod = initial(tongue_owner.dna.species.say_mod)
@@ -446,7 +446,7 @@
// The timerid for our tonal indicator
var/tonal_timerid
/obj/item/organ/internal/tongue/tied/Insert(mob/living/carbon/signer)
/obj/item/organ/internal/tongue/tied/Insert(mob/living/carbon/signer, special = FALSE, drop_if_replaced = TRUE)
. = ..()
signer.verb_ask = "signs"
signer.verb_exclaim = "signs"
@@ -457,7 +457,7 @@
ADD_TRAIT(signer, TRAIT_SIGN_LANG, ORGAN_TRAIT)
REMOVE_TRAIT(signer, TRAIT_MUTE, ORGAN_TRAIT)
/obj/item/organ/internal/tongue/tied/Remove(mob/living/carbon/speaker, special = 0)
/obj/item/organ/internal/tongue/tied/Remove(mob/living/carbon/speaker, special = FALSE, drop_if_replaced = TRUE)
..()
speaker.verb_ask = initial(speaker.verb_ask)
speaker.verb_exclaim = initial(speaker.verb_exclaim)