mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-20 02:27:36 +01:00
AGHHHHHHHHHHHHHHHHHHH WHATTT
This commit is contained in:
@@ -209,17 +209,17 @@ var/const/INGEST = 2
|
||||
//Check if this mob's species is set and can process this type of reagent
|
||||
var/can_process = 0
|
||||
//If we somehow avoided getting a species or reagent_tag set, we'll assume we aren't meant to process ANY reagents (CODERS: SET YOUR SPECIES AND TAG!)
|
||||
if(H.species && H.species.reagent_tag)
|
||||
if((R.process_flags & SYNTHETIC) && (H.species.reagent_tag & PROCESS_SYN)) //SYNTHETIC-oriented reagents require PROCESS_SYN
|
||||
if(H.dna.species && H.dna.species.reagent_tag)
|
||||
if((R.process_flags & SYNTHETIC) && (H.dna.species.reagent_tag & PROCESS_SYN)) //SYNTHETIC-oriented reagents require PROCESS_SYN
|
||||
can_process = 1
|
||||
if((R.process_flags & ORGANIC) && (H.species.reagent_tag & PROCESS_ORG)) //ORGANIC-oriented reagents require PROCESS_ORG
|
||||
if((R.process_flags & ORGANIC) && (H.dna.species.reagent_tag & PROCESS_ORG)) //ORGANIC-oriented reagents require PROCESS_ORG
|
||||
can_process = 1
|
||||
//Species with PROCESS_DUO are only affected by reagents that affect both organics and synthetics, like acid and hellwater
|
||||
if((R.process_flags & ORGANIC) && (R.process_flags & SYNTHETIC) && (H.species.reagent_tag & PROCESS_DUO))
|
||||
if((R.process_flags & ORGANIC) && (R.process_flags & SYNTHETIC) && (H.dna.species.reagent_tag & PROCESS_DUO))
|
||||
can_process = 1
|
||||
|
||||
//If handle_reagents returns 0, it's doing the reagent removal on its own
|
||||
var/species_handled = !(H.species.handle_reagents(H, R))
|
||||
var/species_handled = !(H.dna.species.handle_reagents(H, R))
|
||||
can_process = can_process && !species_handled
|
||||
//If the mob can't process it, remove the reagent at it's normal rate without doing any addictions, overdoses, or on_mob_life() for the reagent
|
||||
if(can_process == 0)
|
||||
@@ -481,13 +481,13 @@ var/const/INGEST = 2
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
//Check if this mob's species is set and can process this type of reagent
|
||||
if(H.species && H.species.reagent_tag)
|
||||
if((R.process_flags & SYNTHETIC) && (H.species.reagent_tag & PROCESS_SYN)) //SYNTHETIC-oriented reagents require PROCESS_SYN
|
||||
if(H.dna.species && H.dna.species.reagent_tag)
|
||||
if((R.process_flags & SYNTHETIC) && (H.dna.species.reagent_tag & PROCESS_SYN)) //SYNTHETIC-oriented reagents require PROCESS_SYN
|
||||
can_process = 1
|
||||
if((R.process_flags & ORGANIC) && (H.species.reagent_tag & PROCESS_ORG)) //ORGANIC-oriented reagents require PROCESS_ORG
|
||||
if((R.process_flags & ORGANIC) && (H.dna.species.reagent_tag & PROCESS_ORG)) //ORGANIC-oriented reagents require PROCESS_ORG
|
||||
can_process = 1
|
||||
//Species with PROCESS_DUO are only affected by reagents that affect both organics and synthetics, like acid and hellwater
|
||||
if((R.process_flags & ORGANIC) && (R.process_flags & SYNTHETIC) && (H.species.reagent_tag & PROCESS_DUO))
|
||||
if((R.process_flags & ORGANIC) && (R.process_flags & SYNTHETIC) && (H.dna.species.reagent_tag & PROCESS_DUO))
|
||||
can_process = 1
|
||||
//We'll assume that non-human mobs lack the ability to process synthetic-oriented reagents (adjust this if we need to change that assumption)
|
||||
else
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
if(H.can_eat(diet_flags)) //Make sure the species has it's dietflag set, otherwise it can't digest any nutrients
|
||||
if(prob(50))
|
||||
M.adjustBruteLoss(-1)
|
||||
if(!(NO_BLOOD in H.species.species_traits))//do not restore blood on things with no blood by nature.
|
||||
if(!(NO_BLOOD in H.dna.species.species_traits))//do not restore blood on things with no blood by nature.
|
||||
if(H.blood_volume < BLOOD_VOLUME_NORMAL)
|
||||
H.blood_volume += 0.4
|
||||
..()
|
||||
@@ -66,7 +66,7 @@
|
||||
M.satiety += 30
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(!(NO_BLOOD in H.species.species_traits))//do not restore blood on things with no blood by nature.
|
||||
if(!(NO_BLOOD in H.dna.species.species_traits))//do not restore blood on things with no blood by nature.
|
||||
if(H.blood_volume < BLOOD_VOLUME_NORMAL)
|
||||
H.blood_volume += 0.5
|
||||
..()
|
||||
|
||||
@@ -221,7 +221,7 @@
|
||||
M.adjustFireLoss(-2*REAGENTS_EFFECT_MULTIPLIER)
|
||||
if(ishuman(M) && prob(33))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(!(NO_BLOOD in H.species.species_traits))//do not restore blood on things with no blood by nature.
|
||||
if(!(NO_BLOOD in H.dna.species.species_traits))//do not restore blood on things with no blood by nature.
|
||||
if(H.blood_volume < BLOOD_VOLUME_NORMAL)
|
||||
H.blood_volume += 1
|
||||
..()
|
||||
|
||||
@@ -155,7 +155,7 @@
|
||||
/datum/reagent/iron/on_mob_life(mob/living/M)
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(!H.species.exotic_blood && !(NO_BLOOD in H.species.species_traits))
|
||||
if(!H.dna.species.exotic_blood && !(NO_BLOOD in H.dna.species.species_traits))
|
||||
if(H.blood_volume < BLOOD_VOLUME_NORMAL)
|
||||
H.blood_volume += 0.8
|
||||
..()
|
||||
@@ -313,8 +313,8 @@
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/obj/item/organ/external/head/head_organ = H.get_organ("head")
|
||||
head_organ.h_style = random_hair_style(H.gender, head_organ.dna.species2.name)
|
||||
head_organ.f_style = random_facial_hair_style(H.gender, head_organ.dna.species2.name)
|
||||
head_organ.h_style = random_hair_style(H.gender, head_organ.dna.species.name)
|
||||
head_organ.f_style = random_facial_hair_style(H.gender, head_organ.dna.species.name)
|
||||
H.update_hair()
|
||||
H.update_fhair()
|
||||
..()
|
||||
@@ -335,14 +335,14 @@
|
||||
var/datum/sprite_accessory/tmp_hair_style = hair_styles_full_list["Very Long Hair"]
|
||||
var/datum/sprite_accessory/tmp_facial_hair_style = facial_hair_styles_list["Very Long Beard"]
|
||||
|
||||
if(head_organ.dna.species2.name in tmp_hair_style.species_allowed) //If 'Very Long Hair' is a style the person's species can have, give it to them.
|
||||
if(head_organ.dna.species.name in tmp_hair_style.species_allowed) //If 'Very Long Hair' is a style the person's species can have, give it to them.
|
||||
head_organ.h_style = "Very Long Hair"
|
||||
else //Otherwise, give them a random hair style.
|
||||
head_organ.h_style = random_hair_style(H.gender, head_organ.dna.species2.name)
|
||||
if(head_organ.dna.species2.name in tmp_facial_hair_style.species_allowed) //If 'Very Long Beard' is a style the person's species can have, give it to them.
|
||||
head_organ.h_style = random_hair_style(H.gender, head_organ.dna.species.name)
|
||||
if(head_organ.dna.species.name in tmp_facial_hair_style.species_allowed) //If 'Very Long Beard' is a style the person's species can have, give it to them.
|
||||
head_organ.f_style = "Very Long Beard"
|
||||
else //Otherwise, give them a random facial hair style.
|
||||
head_organ.f_style = random_facial_hair_style(H.gender, head_organ.dna.species2.name)
|
||||
head_organ.f_style = random_facial_hair_style(H.gender, head_organ.dna.species.name)
|
||||
H.update_hair()
|
||||
H.update_fhair()
|
||||
if(!H.wear_mask || H.wear_mask && !istype(H.wear_mask, /obj/item/clothing/mask/fakemoustache))
|
||||
|
||||
@@ -61,12 +61,12 @@
|
||||
/datum/reagent/slimetoxin/on_mob_life(mob/living/M)
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/human = M
|
||||
if(human.species.name != "Shadow")
|
||||
if(human.dna.species.name != "Shadow")
|
||||
to_chat(M, "<span class='danger'>Your flesh rapidly mutates!</span>")
|
||||
to_chat(M, "<span class='danger'>You are now a Shadow Person, a mutant race of darkness-dwelling humanoids.</span>")
|
||||
to_chat(M, "<span class='danger'>Your body reacts violently to light.</span> <span class='notice'>However, it naturally heals in darkness.</span>")
|
||||
to_chat(M, "<span class='danger'>Aside from your new traits, you are mentally unchanged and retain your prior obligations.</span>")
|
||||
human.set_species("Shadow")
|
||||
human.set_species(/datum/species/shadow)
|
||||
..()
|
||||
|
||||
/datum/reagent/aslimetoxin
|
||||
@@ -961,7 +961,7 @@
|
||||
C.adjustToxLoss(lethality)
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(IS_PLANT in H.species.species_traits) //plantmen take a LOT of damage
|
||||
if(IS_PLANT in H.dna.species.species_traits) //plantmen take a LOT of damage
|
||||
H.adjustToxLoss(50)
|
||||
..()
|
||||
else if(istype(M, /mob/living/simple_animal/diona)) //plantmen monkeys (diona) take EVEN MORE damage
|
||||
|
||||
Reference in New Issue
Block a user