diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index d3f4abef037..31c569904da 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -48,6 +48,7 @@ #define IS_RESTRICTED 2048 #define NO_INTORGANS 4096 #define NO_POISON 8192 +#define RADIMMUNE 16384 //Species clothing flags #define HAS_UNDERWEAR 1 diff --git a/code/game/dna/genes/goon_disabilities.dm b/code/game/dna/genes/goon_disabilities.dm index 01c0b9ed535..e5ebf16975c 100644 --- a/code/game/dna/genes/goon_disabilities.dm +++ b/code/game/dna/genes/goon_disabilities.dm @@ -385,7 +385,7 @@ // playsound(H.loc, 'male_fallscream.ogg', 50, 0) //playsound(H.loc, 'bubbles.ogg', 50, 0) //playsound(H.loc, 'loudcrunch2.ogg', 50, 0) - var/mob/living/carbon/human/skellington/nH = new /mob/living/carbon/human/skellington(H.loc, delay_ready_dna=1) + var/mob/living/carbon/human/skeleton/nH = new /mob/living/carbon/human/skeleton(H.loc, delay_ready_dna=1) nH.real_name = H.real_name nH.name = "[H.name]'s skeleton" //H.decomp_stage = 4 diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index 1dfe1b68fc5..ca4d59fbe6a 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -1,5 +1,5 @@ // PLASMEN SHIT -// CAN'T WEAR UNLESS YOU'RE A PINK SKELLINGTON +// CAN'T WEAR UNLESS YOU'RE A PINK SKELETON /obj/item/clothing/suit/space/eva/plasmaman name = "plasmaman suit" desc = "A special containment suit designed to protect a plasmaman's volatile body from outside exposure and quickly extinguish it in emergencies." diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 5dc9f08b6b9..4978be101d3 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -95,9 +95,9 @@ h_style = "Bald" ..(new_loc, "Vox Armalis") -/mob/living/carbon/human/skellington/New(var/new_loc) +/mob/living/carbon/human/skeleton/New(var/new_loc) h_style = "Bald" - ..(new_loc, "Skellington") + ..(new_loc, "Skeleton") /mob/living/carbon/human/kidan/New(var/new_loc) ..(new_loc, "Kidan") diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 233d4eabb6d..57ea1bb7088 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -213,85 +213,86 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc speech_problem_flag = 1 gene.OnMobLife(src) - if (radiation) + if(!(species.flags & RADIMMUNE)) + if (radiation) - if((locate(src.internal_organs_by_name["resonant crystal"]) in src.internal_organs)) - var/rads = radiation/25 - radiation -= rads - radiation -= 0.1 - reagents.add_reagent("radium", rads/10) - if( prob(10) ) - src << "You feel relaxed." - return - - if (radiation > 100) - radiation = 100 - if(!(species.flags & RAD_ABSORB)) - Weaken(10) - if(!lying) - src << "You feel weak." - emote("collapse") - - if (radiation < 0) - radiation = 0 - - else - if(species.flags & RAD_ABSORB) + if((locate(src.internal_organs_by_name["resonant crystal"]) in src.internal_organs)) var/rads = radiation/25 radiation -= rads - nutrition += rads - adjustBruteLoss(-(rads)) - adjustOxyLoss(-(rads)) - adjustToxLoss(-(rads)) - updatehealth() + radiation -= 0.1 + reagents.add_reagent("radium", rads/10) + if( prob(10) ) + src << "You feel relaxed." return - var/damage = 0 - switch(radiation) - if(0 to 49) - radiation-- - if(prob(25)) - adjustToxLoss(1) + if (radiation > 100) + radiation = 100 + if(!(species.flags & RAD_ABSORB)) + Weaken(10) + if(!lying) + src << "You feel weak." + emote("collapse") + + if (radiation < 0) + radiation = 0 + + else + if(species.flags & RAD_ABSORB) + var/rads = radiation/25 + radiation -= rads + nutrition += rads + adjustBruteLoss(-(rads)) + adjustOxyLoss(-(rads)) + adjustToxLoss(-(rads)) + updatehealth() + return + + var/damage = 0 + switch(radiation) + if(0 to 49) + radiation-- + if(prob(25)) + adjustToxLoss(1) + damage = 1 + updatehealth() + + if(50 to 74) + radiation -= 2 damage = 1 + adjustToxLoss(1) + if(prob(5)) + radiation -= 5 + Weaken(3) + if(!lying) + src << "You feel weak." + emote("collapse") updatehealth() - if(50 to 74) - radiation -= 2 - damage = 1 - adjustToxLoss(1) - if(prob(5)) + if(75 to 100) + radiation -= 3 + adjustToxLoss(3) + damage = 3 + if(prob(1)) + src << "You mutate!" + randmutb(src) + domutcheck(src,null) + emote("gasp") + updatehealth() + + else radiation -= 5 - Weaken(3) - if(!lying) - src << "You feel weak." - emote("collapse") - updatehealth() + adjustToxLoss(5) + damage = 5 + if(prob(1)) + src << "You mutate!" + randmutb(src) + domutcheck(src,null) + emote("gasp") + updatehealth() - if(75 to 100) - radiation -= 3 - adjustToxLoss(3) - damage = 3 - if(prob(1)) - src << "You mutate!" - randmutb(src) - domutcheck(src,null) - emote("gasp") - updatehealth() - - else - radiation -= 5 - adjustToxLoss(5) - damage = 5 - if(prob(1)) - src << "You mutate!" - randmutb(src) - domutcheck(src,null) - emote("gasp") - updatehealth() - - if(damage && organs.len) - var/obj/item/organ/external/O = pick(organs) - if(istype(O)) O.add_autopsy_data("Radiation Poisoning", damage) + if(damage && organs.len) + var/obj/item/organ/external/O = pick(organs) + if(istype(O)) O.add_autopsy_data("Radiation Poisoning", damage) /mob/living/carbon/human/breathe() if(reagents.has_reagent("lexorin")) diff --git a/code/modules/mob/living/carbon/human/species/skeleton.dm b/code/modules/mob/living/carbon/human/species/skeleton.dm new file mode 100644 index 00000000000..82c7864dd46 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/skeleton.dm @@ -0,0 +1,33 @@ +/datum/species/skeleton + name = "Skeleton" + name_plural = "Skeletons" + + blurb = "Spoopy and scary." + + icobase = 'icons/mob/human_races/r_skeleton.dmi' + deform = 'icons/mob/human_races/r_skeleton.dmi' + path = /mob/living/carbon/human/skeleton + default_language = "Galactic Common" + unarmed_type = /datum/unarmed_attack/punch + + blood_color = "#FFFFFF" + flesh_color = "#E6E6C6" + + flags = NO_BREATHE | NO_BLOOD | RADIMMUNE + virus_immune = 1 //why is this a var and not a flag? + dietflags = DIET_OMNI + reagent_tag = PROCESS_ORG + + warning_low_pressure = -1 + hazard_low_pressure = -1 + hazard_high_pressure = 999999999 + warning_high_pressure = 999999999 + + cold_level_1 = -1 + cold_level_2 = -1 + cold_level_3 = -1 + + heat_level_1 = 999999999 + heat_level_2 = 999999999 + heat_level_3 = 999999999 + heat_level_3_breathe = 999999999 \ No newline at end of file diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index ce2a34259ea..4643974d0eb 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -64,7 +64,7 @@ name = "Bald" icon_state = "bald" gender = MALE - species_allowed = list("Human","Unathi","Vox","Diona","Kidan","Grey","Plasmaman","Skellington") + species_allowed = list("Human","Unathi","Vox","Diona","Kidan","Grey","Plasmaman","Skeleton") short name = "Short Hair" // try to capatilize the names please~ @@ -1069,7 +1069,7 @@ /datum/sprite_accessory/underwear icon = 'icons/mob/underwear.dmi' - species_allowed = list("Human","Unathi","Vox","Diona","Vulpkanin","Kidan","Grey","Plasmaman","Skellington") + species_allowed = list("Human","Unathi","Vox","Diona","Vulpkanin","Kidan","Grey","Plasmaman","Skeleton") nude name = "Nude" @@ -1217,7 +1217,7 @@ /datum/sprite_accessory/undershirt icon = 'icons/mob/underwear.dmi' - species_allowed = list("Human","Unathi","Vox","Diona","Vulpkanin","Kidan","Grey","Plasmaman","Skellington") + species_allowed = list("Human","Unathi","Vox","Diona","Vulpkanin","Kidan","Grey","Plasmaman","Skeleton") /datum/sprite_accessory/undershirt/nude name = "Nude" @@ -1503,13 +1503,13 @@ /////////////////////// /datum/sprite_accessory/socks icon = 'icons/mob/underwear.dmi' - species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skellington") + species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skeleton") /datum/sprite_accessory/socks/nude name = "Nude" icon_state = null gender = NEUTER - species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skellington","Vox") + species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skeleton","Vox") /datum/sprite_accessory/socks/white_norm @@ -1681,7 +1681,7 @@ /datum/sprite_accessory/head_accessory/none name = "None" - species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skellington","Vox") + species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skeleton","Vox") icon_state = "accessory_none" /datum/sprite_accessory/head_accessory/simple @@ -1773,7 +1773,7 @@ /datum/sprite_accessory/body_markings/none name = "None" - species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skellington","Vox") + species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skeleton","Vox") icon_state = "accessory_none" /datum/sprite_accessory/body_markings/stripe diff --git a/code/modules/virus2/effect.dm b/code/modules/virus2/effect.dm index ef21731868d..d54115adcfe 100644 --- a/code/modules/virus2/effect.dm +++ b/code/modules/virus2/effect.dm @@ -348,14 +348,14 @@ E.droplimb(0,DROPLIMB_EDGE) if(3) if(ishuman(mob)) - if(H.species.name != "Skellington") + if(H.species.name != "Skeleton") mob << " Your necrotic skin ruptures!" for (var/obj/item/organ/external/E in H.organs) if(pick(1,0) && !(E.status & ORGAN_ROBOT)) E.createwound(CUT, pick(2,4)) if(prob(30)) - if(H.species.name != "Skellington") - if(H.set_species("Skellington")) + if(H.species.name != "Skeleton") + if(H.set_species("Skeleton")) mob << " A massive amount of flesh sloughs off your bones!" H.regenerate_icons() else diff --git a/icons/mob/human_races/r_skeleton.dmi b/icons/mob/human_races/r_skeleton.dmi index f67639aa96b..a350c3f4c4d 100644 Binary files a/icons/mob/human_races/r_skeleton.dmi and b/icons/mob/human_races/r_skeleton.dmi differ diff --git a/paradise.dme b/paradise.dme index 8e5d05ae200..c9154b7844a 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1396,6 +1396,7 @@ #include "code\modules\mob\living\carbon\human\species\monkey.dm" #include "code\modules\mob\living\carbon\human\species\plasmaman.dm" #include "code\modules\mob\living\carbon\human\species\shadow.dm" +#include "code\modules\mob\living\carbon\human\species\skeleton.dm" #include "code\modules\mob\living\carbon\human\species\species.dm" #include "code\modules\mob\living\carbon\human\species\station.dm" #include "code\modules\mob\living\carbon\slime\death.dm"