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"