mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-30 15:37:36 +01:00
@@ -137,6 +137,36 @@
|
||||
spawn(10)
|
||||
qdel(spark_system)
|
||||
|
||||
/mob/living/carbon/human/proc/becomeSlim()
|
||||
to_chat(src, "<span class='notice'>You feel fit again!</span>")
|
||||
var/obj/item/organ/external/chest/C = get_organ("chest")
|
||||
if(istype(C))
|
||||
C.makeSlim(0)
|
||||
else
|
||||
to_chat(src, "Err, well, you *would*, but you don't have a torso. Yell at a coder.")
|
||||
log_debug("[src] at ([x],[y],[z]) doesn't have a torso.")
|
||||
mutations.Remove(FAT)
|
||||
update_mutantrace(0)
|
||||
update_mutations(0)
|
||||
update_body(0)
|
||||
update_inv_w_uniform(0)
|
||||
update_inv_wear_suit()
|
||||
|
||||
/mob/living/carbon/human/proc/becomeFat()
|
||||
to_chat(src, "<span class='alert'>You suddenly feel blubbery!</span>")
|
||||
var/obj/item/organ/external/chest/C = get_organ("chest")
|
||||
if(istype(C))
|
||||
C.makeFat()
|
||||
else
|
||||
to_chat(src, "Err, well, you *would*, but you don't have a torso. Yell at a coder.")
|
||||
log_debug("[src] at ([x],[y],[z]) doesn't have a torso.")
|
||||
mutations.Add(FAT)
|
||||
update_mutantrace(0)
|
||||
update_mutations(0)
|
||||
update_body(0)
|
||||
update_inv_w_uniform(0)
|
||||
update_inv_wear_suit()
|
||||
|
||||
//Handles chem traces
|
||||
/mob/living/carbon/human/proc/handle_trace_chems()
|
||||
//New are added for reagents to random organs.
|
||||
@@ -166,4 +196,4 @@ I use this to standardize shadowling dethrall code
|
||||
if(!get_int_organ(organ_name))
|
||||
return null
|
||||
var/obj/item/organ/internal/O = get_int_organ(organ_name)
|
||||
return O.parent_organ
|
||||
return O.parent_organ
|
||||
|
||||
@@ -675,20 +675,10 @@
|
||||
if(species.flags & CAN_BE_FAT)
|
||||
if(FAT in mutations)
|
||||
if(overeatduration < 100)
|
||||
to_chat(src, "<span class='notice'>You feel fit again!</span>")
|
||||
mutations.Remove(FAT)
|
||||
update_mutantrace(0)
|
||||
update_mutations(0)
|
||||
update_inv_w_uniform(0)
|
||||
update_inv_wear_suit()
|
||||
becomeSlim()
|
||||
else
|
||||
if(overeatduration > 500)
|
||||
to_chat(src, "<span class='alert'>You suddenly feel blubbery!</span>")
|
||||
mutations.Add(FAT)
|
||||
update_mutantrace(0)
|
||||
update_mutations(0)
|
||||
update_inv_w_uniform(0)
|
||||
update_inv_wear_suit()
|
||||
becomeFat()
|
||||
|
||||
// nutrition decrease
|
||||
if(nutrition > 0 && stat != 2)
|
||||
|
||||
@@ -49,6 +49,38 @@ var/global/list/limb_icon_cache = list()
|
||||
get_icon()
|
||||
. = ..()
|
||||
|
||||
/obj/item/organ/external/proc/get_icon(skeletal, fat)
|
||||
// Kasparrov, you monster
|
||||
if(istext(species))
|
||||
species = all_species[species]
|
||||
if(force_icon)
|
||||
mob_icon = new /icon(force_icon, "[icon_name]")
|
||||
if(species && species.name == "Machine") //snowflake for IPC's, sorry.
|
||||
if(s_col && s_col.len >= 3)
|
||||
mob_icon.Blend(rgb(s_col[1], s_col[2], s_col[3]), ICON_ADD)
|
||||
else
|
||||
var/new_icons = get_icon_state(skeletal)
|
||||
var/icon_file = new_icons[1]
|
||||
var/new_icon_state = new_icons[2]
|
||||
mob_icon = new /icon(icon_file, new_icon_state)
|
||||
if(!skeletal && !(status & ORGAN_ROBOT))
|
||||
if(status & ORGAN_DEAD)
|
||||
mob_icon.ColorTone(rgb(10,50,0))
|
||||
mob_icon.SetIntensity(0.7)
|
||||
|
||||
if(!isnull(s_tone))
|
||||
if(s_tone >= 0)
|
||||
mob_icon.Blend(rgb(s_tone, s_tone, s_tone), ICON_ADD)
|
||||
else
|
||||
mob_icon.Blend(rgb(-s_tone, -s_tone, -s_tone), ICON_SUBTRACT)
|
||||
else if(s_col && s_col.len >= 3)
|
||||
mob_icon.Blend(rgb(s_col[1], s_col[2], s_col[3]), ICON_ADD)
|
||||
|
||||
dir = EAST
|
||||
icon = mob_icon
|
||||
|
||||
return mob_icon
|
||||
|
||||
/obj/item/organ/external/head/get_icon()
|
||||
|
||||
..()
|
||||
@@ -113,51 +145,39 @@ var/global/list/limb_icon_cache = list()
|
||||
|
||||
return mob_icon
|
||||
|
||||
/obj/item/organ/external/proc/get_icon(var/skeletal)
|
||||
/obj/item/organ/external/proc/get_icon_state(skeletal)
|
||||
var/gender
|
||||
if(istext(species))
|
||||
species = all_species[species]
|
||||
if(force_icon)
|
||||
mob_icon = new /icon(force_icon, "[icon_name]")
|
||||
if(species && species.name == "Machine") //snowflake for IPC's, sorry.
|
||||
if(s_col && s_col.len >= 3)
|
||||
mob_icon.Blend(rgb(s_col[1], s_col[2], s_col[3]), ICON_ADD)
|
||||
var/icon_file
|
||||
var/new_icon_state
|
||||
if(!dna)
|
||||
icon_file = 'icons/mob/human_races/r_human.dmi'
|
||||
new_icon_state = "[icon_name][gendered_icon ? "_f" : ""]"
|
||||
else
|
||||
if(!dna)
|
||||
mob_icon = new /icon('icons/mob/human_races/r_human.dmi', "[icon_name][gendered_icon ? "_f" : ""]")
|
||||
else
|
||||
if(gendered_icon)
|
||||
if(dna.GetUIState(DNA_UI_GENDER))
|
||||
gender = "f"
|
||||
else
|
||||
gender = "m"
|
||||
|
||||
if(skeletal)
|
||||
mob_icon = new /icon('icons/mob/human_races/r_skeleton.dmi', "[icon_name][gender ? "_[gender]" : ""]")
|
||||
else if(status & ORGAN_ROBOT)
|
||||
mob_icon = new /icon('icons/mob/human_races/robotic.dmi', "[icon_name][gender ? "_[gender]" : ""]")
|
||||
if(gendered_icon)
|
||||
if(dna.GetUIState(DNA_UI_GENDER))
|
||||
gender = "f"
|
||||
else
|
||||
if(status & ORGAN_MUTATED)
|
||||
mob_icon = new /icon(species.deform, "[icon_name][gender ? "_[gender]" : ""]")
|
||||
else
|
||||
mob_icon = new /icon(species.icobase, "[icon_name][gender ? "_[gender]" : ""]")
|
||||
gender = "m"
|
||||
new_icon_state = "[icon_name][gender ? "_[gender]" : ""]"
|
||||
|
||||
if(status & ORGAN_DEAD)
|
||||
mob_icon.ColorTone(rgb(10,50,0))
|
||||
mob_icon.SetIntensity(0.7)
|
||||
if(skeletal)
|
||||
icon_file = 'icons/mob/human_races/r_skeleton.dmi'
|
||||
else if(status & ORGAN_ROBOT)
|
||||
icon_file = 'icons/mob/human_races/robotic.dmi'
|
||||
else
|
||||
if(status & ORGAN_MUTATED)
|
||||
icon_file = species.deform
|
||||
else
|
||||
// Congratulations, you are normal
|
||||
icon_file = species.icobase
|
||||
return list(icon_file, new_icon_state)
|
||||
|
||||
if(!isnull(s_tone))
|
||||
if(s_tone >= 0)
|
||||
mob_icon.Blend(rgb(s_tone, s_tone, s_tone), ICON_ADD)
|
||||
else
|
||||
mob_icon.Blend(rgb(-s_tone, -s_tone, -s_tone), ICON_SUBTRACT)
|
||||
else if(s_col && s_col.len >= 3)
|
||||
mob_icon.Blend(rgb(s_col[1], s_col[2], s_col[3]), ICON_ADD)
|
||||
/obj/item/organ/external/chest/get_icon_state(skeletal)
|
||||
var/result = ..()
|
||||
if(fat && !skeletal && !(status & ORGAN_ROBOT) && (species.flags & CAN_BE_FAT))
|
||||
result[2] += "_fat"
|
||||
return result
|
||||
|
||||
dir = EAST
|
||||
icon = mob_icon
|
||||
|
||||
return mob_icon
|
||||
|
||||
// new damage icon system
|
||||
// adjusted to set damage_state to brute/burn code only (without r_name0 as before)
|
||||
|
||||
@@ -16,6 +16,25 @@
|
||||
cannot_amputate = 1
|
||||
parent_organ = null
|
||||
encased = "ribcage"
|
||||
var/fat = FALSE
|
||||
|
||||
/obj/item/organ/external/chest/proc/makeFat(update_body_icon = 1)
|
||||
fat = TRUE
|
||||
if(owner)
|
||||
owner.update_body(update_body_icon)
|
||||
else
|
||||
// get_icon updates the sprite icon, update_icon updates the injuries overlay.
|
||||
// Madness.
|
||||
get_icon()
|
||||
|
||||
/obj/item/organ/external/chest/proc/makeSlim(update_body_icon = 1)
|
||||
fat = FALSE
|
||||
if(owner)
|
||||
owner.update_body(update_body_icon)
|
||||
else
|
||||
// get_icon updates the sprite icon, update_icon updates the injuries overlay.
|
||||
// Madness.
|
||||
get_icon()
|
||||
|
||||
/obj/item/organ/external/groin
|
||||
name = "lower body"
|
||||
|
||||
Reference in New Issue
Block a user