diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index cad8f8518db..8b62f16e262 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -244,6 +244,7 @@ client body += "" body += "" body += "" + body += "" body += "" body += "" if(ishuman(D)) @@ -546,6 +547,22 @@ client if(usr.client) usr.client.cmd_assume_direct_control(MOB) + else if (href_list["make_skeleton"]) + if(!href_list["make_skeleton"]) + return + var/mob/MOB = locate(href_list["make_skeleton"]) + if(!MOB) + return + if(!ismob(MOB)) + return + if(!src.holder) + return + + if(ishuman(MOB)) + world << "derp" + var/mob/living/carbon/human/HUMANMOB = MOB + HUMANMOB.makeSkeleton() + else if (href_list["delall"]) if(!href_list["delall"]) return diff --git a/code/datums/organs/organ_external.dm b/code/datums/organs/organ_external.dm index 85df6bf56fe..b5c67d5496b 100644 --- a/code/datums/organs/organ_external.dm +++ b/code/datums/organs/organ_external.dm @@ -117,7 +117,7 @@ //Returns total damage...kinda pointless really -/datum/organ/external/proc/get_damage() //returns total damage +/datum/organ/external/proc/get_damage() return brute_dam + burn_dam diff --git a/code/datums/organs/organ_internal.dm b/code/datums/organs/organ_internal.dm index 66496141bbc..5d7fd2547bd 100644 --- a/code/datums/organs/organ_internal.dm +++ b/code/datums/organs/organ_internal.dm @@ -1,5 +1,15 @@ /datum/organ/internal name = "internal" + var/damage = 0 + var/max_damage = 100 + +/datum/organ/internal/skeleton + name = "spooky scary skeleton" + max_damage = 200 + +/datum/organ/internal/skin + name = "skin" + max_damage = 100 /datum/organ/internal/blood_vessels name = "blood vessels" diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index b855908ff47..acd9683094c 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -67,6 +67,21 @@ ticker.mode.check_win() //Calls the rounds wincheck, mainly for wizard, malf, and changeling now return ..(gibbed) +/mob/living/carbon/human/proc/makeSkeleton() + if(SKELETON in src.mutations) return + + if(f_style) + f_style = "Shaved" + if(h_style) + h_style = "Bald" + update_hair(0) + + mutations.Add(SKELETON) + status_flags |= DISFIGURED + update_body(0) + update_mutantrace() + return + /mob/living/carbon/human/proc/ChangeToHusk() if(HUSK in mutations) return diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index f9c572ae67b..80943cf467c 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -21,8 +21,9 @@ dna = new /datum/dna(null) //initialise organs - organs = newlist(/datum/organ/external/chest, /datum/organ/external/head, /datum/organ/external/l_arm, \ - /datum/organ/external/r_arm, /datum/organ/external/r_leg, /datum/organ/external/l_leg) + organs = newlist(/datum/organ/external/chest, /datum/organ/external/head, /datum/organ/external/l_arm, + /datum/organ/external/r_arm, /datum/organ/external/r_leg, /datum/organ/external/l_leg, + /datum/organ/internal/skeleton, /datum/organ/internal/skin) for(var/datum/organ/external/O in organs) O.owner = src diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 679f33e1f79..94bc6fe60bd 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -45,7 +45,7 @@ var/icon/stand_icon = null var/icon/lying_icon = null - var/list/organs = list() + var/list/organs = list() //Gets filled up in the constructor (human.dm, New() proc, line 24. I'm sick and tired of missing comments. -Agouri var/miming = null //Toggle for the mime's abilities. diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index ce5ccfaf1d0..2ea6fcfb090 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -183,45 +183,50 @@ Please contact me on #coderbus IRC. ~Carn x if(stand_icon) del(stand_icon) if(lying_icon) del(lying_icon) if(dna && dna.mutantrace) return - var/husk = (HUSK in src.mutations) - var/fat = (FAT in src.mutations) + //var/husk = (HUSK in src.mutations) //100% unnecessary -Agouri + //var/fat = (FAT in src.mutations) var/g = "m" if(gender == FEMALE) g = "f" //Base mob icon - if(husk) + if(HUSK in src.mutations) stand_icon = new /icon('icons/mob/human.dmi', "husk_s") lying_icon = new /icon('icons/mob/human.dmi', "husk_l") - else if(fat) + else if(FAT in src.mutations) stand_icon = new /icon('icons/mob/human.dmi', "fatbody_s") lying_icon = new /icon('icons/mob/human.dmi', "fatbody_l") + else if(SKELETON in src.mutations) + stand_icon = new /icon('icons/mob/human.dmi', "skeleton_s") + lying_icon = new /icon('icons/mob/human.dmi', "skeleton_l") else stand_icon = new /icon('icons/mob/human.dmi', "body_[g]_s") lying_icon = new /icon('icons/mob/human.dmi', "body_[g]_l") //Skin tone - if(s_tone >= 0) - stand_icon.Blend(rgb(s_tone, s_tone, s_tone), ICON_ADD) - lying_icon.Blend(rgb(s_tone, s_tone, s_tone), ICON_ADD) - else - stand_icon.Blend(rgb(-s_tone, -s_tone, -s_tone), ICON_SUBTRACT) - lying_icon.Blend(rgb(-s_tone, -s_tone, -s_tone), ICON_SUBTRACT) + if((SKELETON in src.mutations) == 0) + if(s_tone >= 0) + stand_icon.Blend(rgb(s_tone, s_tone, s_tone), ICON_ADD) + lying_icon.Blend(rgb(s_tone, s_tone, s_tone), ICON_ADD) + else + stand_icon.Blend(rgb(-s_tone, -s_tone, -s_tone), ICON_SUBTRACT) + lying_icon.Blend(rgb(-s_tone, -s_tone, -s_tone), ICON_SUBTRACT) //Eyes - var/icon/eyes_s = new/icon('icons/mob/human_face.dmi', "eyes_s") - var/icon/eyes_l = new/icon('icons/mob/human_face.dmi', "eyes_l") - eyes_s.Blend(rgb(r_eyes, g_eyes, b_eyes), ICON_ADD) - eyes_l.Blend(rgb(r_eyes, g_eyes, b_eyes), ICON_ADD) - stand_icon.Blend(eyes_s, ICON_OVERLAY) - lying_icon.Blend(eyes_l, ICON_OVERLAY) + if((SKELETON in src.mutations) == 0) + var/icon/eyes_s = new/icon('icons/mob/human_face.dmi', "eyes_s") + var/icon/eyes_l = new/icon('icons/mob/human_face.dmi', "eyes_l") + eyes_s.Blend(rgb(r_eyes, g_eyes, b_eyes), ICON_ADD) + eyes_l.Blend(rgb(r_eyes, g_eyes, b_eyes), ICON_ADD) + stand_icon.Blend(eyes_s, ICON_OVERLAY) + lying_icon.Blend(eyes_l, ICON_OVERLAY) //Mouth (lipstick!) - if(lip_style) + if(lip_style && (SKELETON in src.mutations) == 0) stand_icon.Blend(new/icon('icons/mob/human_face.dmi', "lips_[lip_style]_s"), ICON_OVERLAY) lying_icon.Blend(new/icon('icons/mob/human_face.dmi', "lips_[lip_style]_l"), ICON_OVERLAY) //Underwear - if(underwear < 12 && underwear > 0) - if(!fat) + if(underwear >0 && underwear < 12) + if((FAT in src.mutations) == 0 && (SKELETON in src.mutations) == 0) stand_icon.Blend(new /icon('icons/mob/human.dmi', "underwear[underwear]_[g]_s"), ICON_OVERLAY) lying_icon.Blend(new /icon('icons/mob/human.dmi', "underwear[underwear]_[g]_l"), ICON_OVERLAY) if(update_icons) update_icons() diff --git a/code/setup.dm b/code/setup.dm index 3b40b00c7d9..a0fbfcda54d 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -325,6 +325,9 @@ var/MAX_EXPLOSION_RANGE = 14 #define NANOREGEN 28 // regenerative nanobots, -3 all damage types per second + //2spooky +#define SKELETON 29 + //disabilities #define NEARSIGHTED 1 #define EPILEPSY 2 diff --git a/html/changelog.html b/html/changelog.html index e6986baff0b..155deb36464 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -49,6 +49,12 @@ should be listed in the changelog upon commit tho. Thanks. --> +
+

3 October 2012

+

Agouri updated:

+ +
+

1 October 2012

Cheridan updated:

diff --git a/icons/mob/human.dmi b/icons/mob/human.dmi index 1526448c6fd..3850c7365fd 100644 Binary files a/icons/mob/human.dmi and b/icons/mob/human.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 5447b576899..0b58dfc69ee 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -205,9 +205,7 @@ #define FILE_DIR "icons/vending_icons" #define FILE_DIR "interface" #define FILE_DIR "maps" -#define FILE_DIR "maps/backup" #define FILE_DIR "maps/RandomZLevels" -#define FILE_DIR "maps/RandomZLevels/backup" #define FILE_DIR "sound" #define FILE_DIR "sound/AI" #define FILE_DIR "sound/ambience" @@ -309,6 +307,7 @@ #include "code\datums\helper_datums\topic_input.dm" #include "code\datums\organs\organ.dm" #include "code\datums\organs\organ_external.dm" +#include "code\datums\organs\organ_internal.dm" #include "code\datums\spells\area_teleport.dm" #include "code\datums\spells\conjure.dm" #include "code\datums\spells\emplosion.dm"