diff --git a/code/defines/obj/closet.dm b/code/defines/obj/closet.dm
index 24bd721d0b..7e644e7a0b 100644
--- a/code/defines/obj/closet.dm
+++ b/code/defines/obj/closet.dm
@@ -29,6 +29,13 @@
icon_closed = "emergency"
icon_opened = "emergencyopen"
+/obj/closet/firecloset
+ desc = "A bulky (yet mobile) closet. Comes with supplies to fight fire."
+ name = "Fire Closet"
+ icon_state = "firecloset"
+ icon_closed = "firecloset"
+ icon_opened = "fireclosetopen"
+
/obj/closet/jcloset
desc = "A bulky (yet mobile) closet. Comes with janitor's clothes and biohazard gear."
name = "Custodial Closet"
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index fe860f15eb..79b9e472f3 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -235,7 +235,9 @@ var/showadminmessages = 1
message_admins("\blue[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.")
del(M.client)
- del(M)
+ //del(M)
+ if("Cancel")
+ return
if (href_list["remove"])
if ((src.rank in list( "Administrator", "Primary Administrator", "Shit Guy", "Coder", "Host" )))
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 6366948f92..7cdc837f7f 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -120,8 +120,8 @@
var/health_deficiency = (100 - src.health)
if(health_deficiency >= 40) tally += (health_deficiency / 25)
- var/hungry = (400 - src.nutrition)/5 // So overeat would be 100 and default level would be 80
- if (hungry >= 70) tally += hungry/25
+ var/hungry = (500 - src.nutrition)/5 // So overeat would be 100 and default level would be 80
+ if (hungry >= 70) tally += hungry/50
if(src.wear_suit)
switch(src.wear_suit.type)
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index 55a6b547c3..a411065281 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -554,22 +554,20 @@
handle_chemicals_in_body()
if(reagents) reagents.metabolize(src)
- if(overeatduration > 200 && !(src.mutations & 32))
- if(prob(5 + round((src.nutrition - 200) / 2)))
- src << "\red You suddenly feel blubbery!"
- src.mutations |= 32
- update_body()
- if (overeatduration < 50 && src.mutations & 32)
- if(prob(round((50 - src.nutrition) / 100)))
- src << "\blue You feel fit again!"
- src.mutations &= ~32
- update_body()
+ if(overeatduration > 500 && !(src.mutations & 32))
+ src << "\red You suddenly feel blubbery!"
+ src.mutations |= 32
+ update_body()
+ if (overeatduration < 100 && src.mutations & 32)
+ src << "\blue You feel fit again!"
+ src.mutations &= ~32
+ update_body()
// nutrition decrease
if (nutrition > 0 && src.stat != 2)
nutrition = max (0, nutrition - HUNGER_FACTOR)
- if (nutrition > 400)
+ if (nutrition > 450)
overeatduration++
else
overeatduration = max (0, overeatduration - 1)
diff --git a/code/modules/mob/new_player/preferences.dm b/code/modules/mob/new_player/preferences.dm
index b176825183..6c2606a3c1 100644
--- a/code/modules/mob/new_player/preferences.dm
+++ b/code/modules/mob/new_player/preferences.dm
@@ -8,6 +8,7 @@ datum/preferences
var/midis = 1
var/ooccolor = "#b82e00"
var/be_random_name = 0
+ var/be_random_look = 0
var/underwear = 1
var/occupation1 = "No Preference"
@@ -45,6 +46,112 @@ datum/preferences
else
real_name = capitalize(pick(first_names_female) + " " + capitalize(pick(last_names)))
+ proc/randomize_hair_color(var/target = "hair")
+ var/red
+ var/green
+ var/blue
+
+ var/col = pick ("blonde", "black", "chestnut", "copper", "brown", "wheat", "old", "punk")
+ switch (col)
+ if ("blonde")
+ red = 226
+ green = 209
+ blue = 140
+ if ("black")
+ red = 0
+ green = 0
+ blue = 0
+ if ("chestnut")
+ red = 98
+ green = 77
+ blue = 60
+ if ("copper")
+ red = 152
+ green = 81
+ blue = 63
+ if ("brown")
+ red = 73
+ green = 52
+ blue = 39
+ if ("wheat")
+ red = 210
+ green = 191
+ blue = 158
+ if ("old")
+ red = rand (100, 255)
+ green = red
+ blue = red
+ if ("punk")
+ red = rand (0, 255)
+ green = rand (0, 255)
+ blue = rand (0, 255)
+
+ red = max(min(red + rand (-10, 10), 255), 0)
+ green = max(min(green + rand (-10, 10), 255), 0)
+ blue = max(min(blue + rand (-10, 10), 255), 0)
+
+ switch (target)
+ if ("hair")
+ r_hair = red
+ g_hair = green
+ b_hair = blue
+ if ("facial")
+ r_facial = red
+ g_facial = green
+ b_facial = blue
+
+ proc/randomize_eyes_color()
+ var/red
+ var/green
+ var/blue
+
+ var/col = pick ("black", "grey", "brown", "chestnut", "blue", "lightblue", "green", "albino", "weird")
+ switch (col)
+ if ("black")
+ red = 0
+ green = 0
+ blue = 0
+ if ("grey")
+ red = rand (100, 200)
+ green = red
+ blue = red
+ if ("brown")
+ red = 60
+ green = 30
+ blue = 19
+ if ("chestnut")
+ red = 127
+ green = 79
+ blue = 31
+ if ("blue")
+ red = 53
+ green = 51
+ blue = 64
+ if ("lightblue")
+ red = 94
+ green = 101
+ blue = 115
+ if ("green")
+ red = 115
+ green = 114
+ blue = 84
+ if ("albino")
+ red = rand (100, 255)
+ green = rand (0, 70)
+ blue = rand (0, 70)
+ if ("weird")
+ red = rand (0, 255)
+ green = rand (0, 255)
+ blue = rand (0, 255)
+
+ red = max(min(red + rand (-10, 10), 255), 0)
+ green = max(min(green + rand (-10, 10), 255), 0)
+ blue = max(min(blue + rand (-10, 10), 255), 0)
+
+ r_eyes = red
+ g_eyes = green
+ b_eyes = blue
+
proc/update_preview_icon()
del(src.preview_icon)
@@ -190,9 +297,11 @@ datum/preferences
else
dat += "\tNo Preference
"
- dat += "
| Body " + dat += "
|