mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 19:47:22 +01:00
•Added skeletons
•Only usable through the admins' view_variables as of now, since no actually good ways of implementing them came up •makeSkeleton() is still there, ready to be used wherever you wish. •Note: Skeletons have no underwear and no eyes. •Rewrote some minor stupid shit git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4800 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -244,6 +244,7 @@ client
|
||||
body += "<option value='byond://?src=\ref[src];godmode=\ref[D]'>Toggle Godmode</option>"
|
||||
body += "<option value='byond://?src=\ref[src];build_mode=\ref[D]'>Toggle Build Mode</option>"
|
||||
body += "<option value='byond://?src=\ref[src];direct_control=\ref[D]'>Assume Direct Control</option>"
|
||||
body += "<option value='byond://?src=\ref[src];make_skeleton=\ref[D]'>Make 2spooky</option>"
|
||||
body += "<option value='byond://?src=\ref[src];drop_everything=\ref[D]'>Drop Everything</option>"
|
||||
body += "<option value='byond://?src=\ref[src];regenerateicons=\ref[D]'>Regenerate Icons</option>"
|
||||
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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user