diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm
index ee5d418c7e..162631ea34 100644
--- a/code/__DEFINES/misc.dm
+++ b/code/__DEFINES/misc.dm
@@ -23,7 +23,6 @@
#define FRIDAY_13TH "Friday the 13th"
//Human Overlays Indexes/////////
-#define SPECIES_LAYER 28
#define MUTATIONS_LAYER 27 //mutations. Tk headglows, cold resistance glow, etc
#define BODY_BEHIND_LAYER 26 //certain mutantrace features (tail when looking south) that must appear behind the body parts
#define BODYPARTS_LAYER 25 //Initially "AUGMENTS", this was repurposed to be a catch-all bodyparts flag
@@ -41,7 +40,7 @@
#define BELT_LAYER 13 //Possible make this an overlay of somethign required to wear a belt?
#define SUIT_STORE_LAYER 12
#define BACK_LAYER 11
-#define TAIL_LAYER 10
+#define TAIL_LAYER 10
#define HAIR_LAYER 9 //TODO: make part of head layer?
#define FACEMASK_LAYER 8
#define HEAD_LAYER 7
@@ -51,7 +50,7 @@
#define R_HAND_LAYER 3 //Having the two hands seperate seems rather silly, merge them together? It'll allow for code to be reused on mobs with arbitarily many hands
#define BODY_FRONT_LAYER 2
#define FIRE_LAYER 1 //If you're on fire
-#define TOTAL_LAYERS 28 //KEEP THIS UP-TO-DATE OR SHIT WILL BREAK ;_;
+#define TOTAL_LAYERS 27 //KEEP THIS UP-TO-DATE OR SHIT WILL BREAK ;_;
//Human Overlay Index Shortcuts for alternate_worn_layer, layers
//Because I *KNOW* somebody will think layer+1 means "above"
diff --git a/code/citadel/races.dm b/code/citadel/races.dm
index 9892d3508e..42948d5ebb 100644
--- a/code/citadel/races.dm
+++ b/code/citadel/races.dm
@@ -16,21 +16,23 @@ datum
generic="abductor"
adjective="spooky"
restricted=2
- /* ailurus
- name="red panda"
+ ailurus
+ //name="red panda"
id="ailurus"
generic="ailurus"
adjective="cuddly"
tail=1
+ restricted=2
alien
- name="alien"
+ //name="alien"
id="alien"
say_mod="hisses"
generic="xeno"
adjective="phallic"
tail=1
+ restricted=2
armadillo
- name="armadillo"
+ //name="armadillo"
id="armadillo"
say_mod = "drawls"
generic = "cingulate" // Superorder Xenarthra, Order Cingulata
@@ -40,15 +42,17 @@ datum
attack_sound = 'sound/weapons/bite.ogg'
attack_verb = "nom" // apparently attack verbs are just the verb, no S. shrug
attack_sound = 'sound/weapons/bite.ogg'
+ restricted=2
anubis
- name="anubis"
+ //name="anubis"
id="anubis"
say_mod = "intones"
generic="jackal" // mmm...jackal or canine? i'll leave it for now
adjective="cold"
attack_verb = "claw"
+ restricted=2
beaver
- name="beaver"
+ //name="beaver"
id="beaver"
say_mod = "chitters"
generic="rodent"
@@ -56,8 +60,9 @@ datum
tail=1
attack_verb = "tailslap"
attack_sound = 'sound/items/dodgeball.ogg'
+ restricted=2
beholder
- name="beholder"
+ //name="beholder"
id="beholder"
say_mod = "jibbers"
generic="body part"
@@ -65,19 +70,22 @@ datum
tail=0
attack_verb = "visually assault"
attack_sound = 'sound/magic/MM_Hit.ogg' // MAGIC MISSILE! MAGIC MISSILE!
+ restricted=2
boar
- name="boar"
+ //name="boar"
id="boar"
generic="pig"
adjective="wild and curly"
tail=1
+ restricted=2
capra
- name="caprine"
+ //name="caprine"
id="capra"
generic="goat"
adjective="irritable"
+ restricted=2
carp
- name="carp"
+ //name="carp"
id="carp"
say_mod = "glubs"
generic = "abomination"
@@ -86,51 +94,58 @@ datum
eyes = "carpeyes"
attack_verb = "nom"
attack_sound = 'sound/weapons/bite.ogg'
+ restricted=2
corgi
- name="corgi"
+ //name="corgi"
id="corgi"
say_mod ="yaps"
generic="canine"
adjective="corgalicious"
tail=1
+ restricted=2
corvid
- name="corvid"
+ //name="corvid"
id="corvid"
say_mod = "caws"
generic="bird"
adjective="mask-piercing"
tail=1
attack_verb = "whack"
+ restricted=2
cow
- name="cow"
+ //name="cow"
id="cow"
say_mod = "moos"
generic="bovine"
adjective="wise"
tail=1
taur=1
+ restricted=2
coyote
- name="coyote"
+ //name="coyote"
id="coyote"
say_mod = "yips"
generic="canine"
adjective="mangy"
tail=1
+ restricted=2
crocodile
- name="crocodile"
+ //name="crocodile"
id="croc"
generic="water reptile"
adjective="scaled"
tail=1
+ restricted=2
dalmatian
- name="dalmatian"
+ //name="dalmatian"
id="dalmatian"
say_mod = "ruffs"
generic="canine"
adjective="spotty"
tail=1
+ restricted=2
deer
- name="deer"
+ //name="deer"
id="deer"
say_mod = "grunts"
generic = "cervid"
@@ -138,28 +153,32 @@ datum
tail=1 // that's better
attack_verb = "gore"
attack_sound = 'sound/weapons/bladeslice.ogg'
+ restricted=2
drake
- name="drake"
+ //name="drake"
id="drake"
say_mod = "growls"
generic = "reptile"
adjective = "frilly"
tail=1 // i'd use lizard tails but drakes have frills included on the icons
taur=1
+ restricted=2
drider
- name="drider"
+ //name="drider"
id="drider"
generic="humanoid"
adjective="big and hairy"
taur=1
tail=1
eyes="spidereyes"
+ restricted=2
fennec
- name="fennec"
+ //name="fennec"
id="fennec"
generic="vulpine"
adjective="foxy"
- tail=1 */
+ tail=1
+ restricted=2
fox
name="fox"
id="fox"
@@ -167,40 +186,45 @@ datum
adjective="foxy" // open and shut with this one, huh
tail=1
taur=1
- /* glowfen
- name="glowfen"
+ glowfen
+ //name="glowfen"
id="glowfen"
generic="vulpine"
adjective="glowing"
tail=1
+ restricted=2
gremlin
- name="gremlin"
+ //name="gremlin"
id="gremlin"
generic="creature"
tail=1
attack_verb = "thwack"
+ restricted=2
gria
- name="gria"
+ //name="gria"
id="gria"
generic="reptile"
adjective="scaled"
tail=1
attack_verb = "claw"
attack_sound = 'sound/weapons/bladeslice.ogg'
+ restricted=2
hawk
- name="hawk"
+ //name="hawk"
id="hawk"
say_mod = "chirps"
generic="bird"
adjective="feathery"
tail=1
attack_verb = "whack"
+ restricted=2
hippo
- name="hippo"
+ //name="hippo"
id="hippo"
generic="hippo"
adjective="buoyant"
tail=1
+ restricted=2
husky
name="husky"
id="husky"
@@ -210,91 +234,102 @@ datum
tail=1
taur=1
jackalope
- name="jackalope"
+ //name="jackalope"
id="jackalope"
generic="leporid"
adjective="hoppy and horny" //hue
attack_verb = "kick"
tail=1
+ restricted=2
jelly
- name="jelly"
+ //name="jelly"
id="jelly"
generic="jelly"
adjective="jelly"
kangaroo
- name="kangaroo"
+ //name="kangaroo"
id="kangaroo"
generic="marsupial"
adjective="bouncy"
tail=1
attack_verb = "kick"
+ restricted=2
lab
- name="lab"
+ //name="lab"
id="lab"
say_mod = "yaps"
generic="canine"
adjective="sleek"
tail=1
taur=1
+ restricted=2
leporid
- name="leporid"
+ //name="leporid"
id="leporid"
generic="leporid"
adjective="hoppy"
tail=1
- attack_verb = "kick" */
+ attack_verb = "kick"
+ restricted=2
lizard
- name="lizard"
+ //name="lizard"
id="lizard"
generic="reptile"
adjective="scaled"
taur="naga"
tail=1
restricted=2
- /* murid // i have no idea what this is
- name="murid"
+
+ murid // i have no idea what this is
+ //name="murid"
id="murid"
say_mod = "squeaks"
generic="rodent"
adjective="squeaky"
tail=1
+ restricted=2
moth
- name="moth"
+ //name="moth"
id="moth"
generic="insect"
adjective="fluttery"
eyes="motheyes" // this SHOULD work after i've updated human_face.dmi -- iska
+ restricted=2
mushman
- name="mushroom"
+ //name="mushroom"
id="fung"
generic="fungi"
adjective="sporey"
say_mod = "mushes"
tail=0
+ restricted=2
naga
- name="naga"
+ //name="naga"
id="naga"
generic="humanoid"
adjective="noodly"
taur=1
tail=1
+ restricted=2
otter
- name="otter"
+ //name="otter"
id="otter"
say_mod = "squeaks"
generic="mustelid"
adjective="slim"
tail=1
+ restricted=2
otusian
- name="otusian"
+ //name="otusian"
id="otie"
say_mod ="growls"
generic="feline-canine"
adjective="chunky" // ??? are otusians fat????
tail=1
taur=1
+ restricted=2
panther
- name="panther"
+ //name="panther"
id="panther"
generic="feline"
adjective="furry"
@@ -302,19 +337,22 @@ datum
taur=1
attack_verb = "claw"
attack_sound = 'sound/weapons/bladeslice.ogg'
+ restricted=2
pig
- name="pig"
+ //name="pig"
id="pig"
generic="pig"
adjective="curly"
tail=1
+ restricted=2
plant
generic="plant"
adjective="leafy"
+ restricted=2
plant/pod
restricted=1
porcupine
- name="porcupine"
+ //name="porcupine"
id="porcupine"
say_mod = "snuffles"
generic = "rodent"
@@ -322,8 +360,9 @@ datum
tail=1
attack_verb = "quill-whack"
attack_sound = 'sound/weapons/slash.ogg'
+ restricted=2
possum
- name="possum"
+ //name="possum"
id="possum"
say_mod = "chitters"
generic = "marsupial"
@@ -331,67 +370,77 @@ datum
tail=1
attack_verb = "nom"
attack_sound = 'sound/weapons/bite.ogg'
+ restricted=2
raccoon
- name="raccoon"
+ //name="raccoon"
id="raccoon"
say_mod="churrs"
generic="procyonid" // Family Procyonidae
adjective="stripy"
tail=1
+ restricted=2
roorat
- name="kangaroo rat"
+ //name="kangaroo rat"
id="roorat"
generic="Heteromyidae" // ...marsupial rat? Have you tried a google search? They're a real thing.
adjective="bouncy"
tail=1
attack_verb = "kick"
+ restricted=2
saltman
- name="salt"
+ //name="salt"
id="salt"
generic="NaCl"
adjective="salty"
restricted=2
+ restricted=2
seaslug
- name="sea slug"
+ //name="sea slug"
id="seaslug"
generic="slug"
adjective="salty"
tail=1
attack_verb = "smack"
+ restricted=2
shark
- name="shark"
+ //name="shark"
id="shark"
generic="selachimorph" // Superorder Selachimorpha
adjective="fishy"
tail=1
+ restricted=2
shepherd
- name="shepherd"
+ //name="shepherd"
id="shepherd"
say_mod = "barks"
generic="canine"
adjective="happy"
tail=1
taur=1
+ restricted=2
skunk
- name="skunk"
+ //name="skunk"
id="skunk"
say_mod = "snuffles"
generic="mephit"
adjective="stinky"
tail=1
+ restricted=2
slime
- name="slime"
+ //name="slime"
id="slime"
generic="slime"
adjective="slimy"
+ restricted=2
smilodon
- name="smilodon"
+ //name="smilodon"
id="smilodon"
generic="smilodon"
adjective="toothy"
tail=1
+ restricted=2
snarby
- name="snarby"
+ //name="snarby"
id="snarby"
generic="beast"
adjective="snippy and snarly"
@@ -399,12 +448,14 @@ datum
attack_verb = "chomp"
attack_sound = 'sound/weapons/bite.ogg'
eyes = "snarbyeyes"
+ restricted=2
squirrel
- name="squirrel"
+ //name="squirrel"
id="squirrel"
generic="rodent"
adjective="nutty"
- tail=1 */
+ tail=1
+ restricted=2
tajaran
name="tajaran"
id="tajaran"
@@ -422,13 +473,13 @@ datum
tail=1
attack_verb = "pecks"
/* turtle
- name="turtle"
+ //name="turtle"
id="turtle"
generic="reptile"
adjective="hard-shelled"
tail=1
ursine
- name="bear"
+ //name="bear"
id="ursine"
generic="ursine"
adjective="husky"
@@ -437,7 +488,7 @@ datum
attack_verb = "claw"
attack_sound = 'sound/weapons/bladeslice.ogg'
wolf
- name="wolf"
+ //name="wolf"
id="wolf"
say_mod = "howls"
generic="canine"
@@ -445,7 +496,7 @@ datum
tail=1
taur=1
zig
- name="zig"
+ //name="zig"
id="zig"
generic="pokémon"
adjective="curious"
@@ -528,14 +579,14 @@ datum
generic="plasmaman"
adjective="toxic"
restricted=2 // but if you do want the world to burn then please, by all means
- /* pepsiman
+ pepsiman
//name="PEPSI MAAAAAN"
id="PEPSIMAAAN"
generic="beverage"
adjective="refreshing"
restricted=2 // don't want half the station to be running around with soda cans on their heads
cutebold
- name="cutebold"
+ //name="cutebold"
id="cutebold"
say_mod = "yips"
generic = "kobo"
@@ -543,22 +594,26 @@ datum
tail=1
attack_verb = "nom"
attack_sound = 'sound/weapons/bite.ogg'
+ restricted=2
pony // of the "my little" variety
- name="pony"
+ //name="pony"
id="pony"
generic="equine"
adjective="little"
tail=1
attack_verb= "kick"
+ restricted=2
hylotl
- name="hylotl"
+ //name="hylotl"
id="hylotl"
say_mod = "glubs"
generic="amphibian"
adjective="fishy"
tail=0
- eyes="jelleyes"I/ */
-/*var/list/kpcode_race_list
+ eyes="jelleyes"
+ restricted=2
+/*
+var/list/kpcode_race_list
proc/kpcode_race_genlist()
if(!kpcode_race_list)
@@ -566,8 +621,9 @@ proc/kpcode_race_genlist()
kpcode_race_list = new/list()
for(var/path in paths)
var/datum/species/D = new path()
- if(D.name!="undefined")
- kpcode_race_list[D.name] = D*/
+ if(D.//name!="undefined")
+ kpcode_race_list[D.//name] = D
+ */
proc/kpcode_race_getlist(var/restrict=0)
var/list/race_options = list()
@@ -694,7 +750,7 @@ var/list/mutant_tails = list(
"kangaroo"="kangaroo",
"kangaroo"="kangaroo",
"pony"="pony",
- "lizard"="lizard",
+// "lizard"="lizard",
"cyborg"="cyborg")
var/list/mutant_wings = list(
diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm
index f6820d4dd8..1e890c4151 100644
--- a/code/game/gamemodes/wizard/spellbook.dm
+++ b/code/game/gamemodes/wizard/spellbook.dm
@@ -103,12 +103,12 @@
spell_type = /obj/effect/proc_holder/spell/targeted/projectile/magic_missile
log_name = "MM"
category = "Defensive"
-
+/*
/datum/spellbook_entry/disintegrate
name = "Disintegrate"
spell_type = /obj/effect/proc_holder/spell/targeted/touch/disintegrate
log_name = "DG"
-
+*/
/datum/spellbook_entry/disabletech
name = "Disable Tech"
spell_type = /obj/effect/proc_holder/spell/targeted/emplosion/disable_tech
@@ -259,7 +259,7 @@
if(surplus>=0)
dat += "[surplus] left.
"
return dat
-
+/*
/datum/spellbook_entry/item/staffchange
name = "Staff of Change"
desc = "An artefact that spits bolts of coruscating energy which cause the target's very form to reshape itself."
@@ -278,7 +278,7 @@
desc = "A caprious tool that can fire all sorts of magic without any rhyme or reason. Using it on people you care about is not recommended."
item_path = /obj/item/weapon/gun/magic/staff/chaos
log_name = "SC"
-
+*/
/datum/spellbook_entry/item/staffdoor
name = "Staff of Door Creation"
desc = "A particular staff that can mold solid metal into ornate doors. Useful for getting around in the absence of other transportation. Does not work on glass."
diff --git a/code/game/verbs/suicide.dm b/code/game/verbs/suicide.dm
index 43a08eceb1..943c4cb960 100644
--- a/code/game/verbs/suicide.dm
+++ b/code/game/verbs/suicide.dm
@@ -10,6 +10,7 @@
if(confirm == "Yes")
suiciding = 1
log_game("[key_name(src)] (job: [job ? "[job]" : "None"]) commited suicide at [get_area(src)].")
+ message_admins("[key_name(src)] (job: [job ? "[job]" : "None"]) commited suicide at [get_area(src)].")
var/obj/item/held_item = get_active_hand()
if(held_item)
var/damagetype = held_item.suicide_act(src)
diff --git a/code/hub.dm b/code/hub.dm
index 4fd1fd4675..ce9dfd7f2c 100644
--- a/code/hub.dm
+++ b/code/hub.dm
@@ -4,9 +4,9 @@
#ifdef PUTONHUB
hub_password = "kMZy3U5jJHSiBQjr"
#else
- hub_password = "SORRYNOPASSWORD"
+ hub_password = "kMZy3U5jJHSiBQjr"
#endif
- name = "/tg/ Station 13"
+ name = "Citadel Station 13"
/*
This is for any host that would like their server to appear on the main SS13 hub.
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm
index f48ea697a9..ecad5d7354 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm
@@ -1,7 +1,7 @@
/obj/machinery/atmospherics/components/unary/cryo_cell
name = "cryo cell"
icon = 'icons/obj/cryogenics.dmi'
- icon_state = "cell-off"
+ icon_state = "pod0"
density = 1
anchored = 1
@@ -9,7 +9,7 @@
state_open = FALSE
var/autoeject = FALSE
var/volume = 100
-
+ var/running_bob_animation = 0
var/efficiency = 1
var/sleep_factor = 750
var/paralyze_factor = 1000
@@ -54,17 +54,59 @@
return ..()
/obj/machinery/atmospherics/components/unary/cryo_cell/update_icon()
+ handle_update_icon()
+
+/obj/machinery/atmospherics/components/unary/cryo_cell/proc/handle_update_icon() //making another proc to avoid spam in update_icon
+ overlays.Cut() //empty the overlay proc, just in case
+
if(panel_open)
- icon_state = "cell-o"
+ icon_state = "pod0-o"
else if(state_open)
- icon_state = "cell-open"
+ icon_state = "pod0"
else if(on && is_operational())
if(occupant)
- icon_state = "cell-occupied"
+ var/image/pickle = image(occupant.icon, occupant.icon_state)
+ pickle.overlays = occupant.overlays
+ pickle.pixel_y = 22
+ overlays += pickle
+ icon_state = "pod1"
+ var/up = 0 //used to see if we are going up or down, 1 is down, 2 is up
+ spawn(0) // Without this, the icon update will block. The new thread will die once the occupant leaves.
+ running_bob_animation = 1
+ while(occupant)
+ overlays -= "lid1" //have to remove the overlays first, to force an update- remove cloning pod overlay
+ overlays -= pickle //remove mob overlay
+
+ switch(pickle.pixel_y) //this looks messy as fuck but it works, switch won't call itself twice
+
+ if(23) //inbetween state, for smoothness
+ switch(up) //this is set later in the switch, to keep track of where the mob is supposed to go
+ if(2) //2 is up
+ pickle.pixel_y = 24 //set to highest
+
+ if(1) //1 is down
+ pickle.pixel_y = 22 //set to lowest
+
+ if(22) //mob is at it's lowest
+ pickle.pixel_y = 23 //set to inbetween
+ up = 2 //have to go up
+
+ if(24) //mob is at it's highest
+ pickle.pixel_y = 23 //set to inbetween
+ up = 1 //have to go down
+
+ overlays += pickle //re-add the mob to the icon
+ overlays += "lid1" //re-add the overlay of the pod, they are inside it, not floating
+
+ sleep(7) //don't want to jiggle violently, just slowly bob
+ return
+ running_bob_animation = 0
else
- icon_state = "cell-on"
+ icon_state = "pod1"
+ overlays += "lid0" //have to remove the overlays first, to force an update- remove cloning pod overlay
else
- icon_state = "cell-off"
+ icon_state = "pod0"
+ overlays += "lid0" //if no occupant, just put the lid overlay on, and ignore the rest
/obj/machinery/atmospherics/components/unary/cryo_cell/process()
..()
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 06b38d999d..d9b89d82e2 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -212,7 +212,7 @@ var/list/preferences_datums = list()
if(config.mutant_races)
dat += "Species:
[pref_species.id]
"
dat += "Human Tail:[mutant_tail]
"
- dat += "Taur:[be_taur ? "Yes" : "No"]"
+ dat += "Taur (Disabled):[be_taur ? "Yes" : "No"]"
if(!kpcode_cantaur(pref_species.id))
dat += " (not available for [pref_species.id])"
dat += "
"
@@ -1016,8 +1016,8 @@ var/list/preferences_datums = list()
VP.target=src
VP.ShowChoices(user)
- if("be_taur")
- be_taur = !be_taur
+ //if("be_taur")
+ // be_taur = !be_taur
if("tail_lizard")
var/new_tail
@@ -1279,8 +1279,8 @@ var/list/preferences_datums = list()
/*(if(mutant_wing != "none" && config.mutant_races)
character.dna.mutantwing = mutant_wing
character.dna.wingcolor=wingcolor*/
- if(be_taur)
- character.dna.taur=1
+ //if(be_taur)
+ // character.dna.taur=1
//character.dna.special_color = special_color
character.dna.cock=p_cock
character.dna.vagina=p_vagina
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 345a54a5eb..c4466fa10b 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -695,22 +695,23 @@
threatcount += 2
//Check for dresscode violations
- if(istype(head, /obj/item/clothing/head/wizard) || istype(head, /obj/item/clothing/head/helmet/space/hardsuit/wizard))
- threatcount += 2
+ if(istype(head, /obj/item/clothing/head/wizard) || istype(head, /obj/item/clothing/head/helmet/space/hardsuit/wizard) || istype(head, /obj/item/clothing/head/helmet/space/hardsuit/syndi) || istype(head, /obj/item/clothing/head/helmet/space/syndicate) || istype(head, /obj/item/clothing/head/culthood))
+ threatcount += 5
//Check for nonhuman scum
if(dna && dna.species.id && dna.species.id != "human")
- threatcount += 1
+ threatcount += 0
- //mindshield implants imply trustworthyness
+ //Loyalty implants imply trustworthyness
if(isloyal(src))
threatcount -= 1
- //Agent cards lower threatlevel.
+ //Agent cards lower threatlevel, but only just enough to avoid dresscode violations.
if(istype(idcard, /obj/item/weapon/card/id/syndicate))
- threatcount -= 5
+ threatcount -= 2
return threatcount
+ return threatcount
//Used for new human mobs created by cloning/goleming/podding
diff --git a/code/modules/mob/living/carbon/human/species_types.dm b/code/modules/mob/living/carbon/human/species_types.dm
index 11ec5ae780..b204cb18b7 100644
--- a/code/modules/mob/living/carbon/human/species_types.dm
+++ b/code/modules/mob/living/carbon/human/species_types.dm
@@ -53,6 +53,7 @@
id = "lizard"
say_mod = "hisses"
default_color = "00FF00"
+ roundstart = 1
specflags = list(MUTCOLORS,EYECOLOR,LIPS)
mutant_bodyparts = list("tail_lizard", "snout", "spines", "horns", "frills", "body_markings")
mutant_organs = list(/obj/item/organ/tongue/lizard)
diff --git a/code/modules/security_levels/security_levels.dm b/code/modules/security_levels/security_levels.dm
index bbdcfb64a3..a3044ca049 100644
--- a/code/modules/security_levels/security_levels.dm
+++ b/code/modules/security_levels/security_levels.dm
@@ -31,6 +31,8 @@
minor_announce(config.alert_desc_blue_upto, "Attention! Security level elevated to blue:",1)
else
minor_announce(config.alert_desc_blue_downto, "Attention! Security level lowered to blue:")
+ for(var/mob/M in player_list)
+ M << 'sound/misc/voybluealert.ogg'
security_level = SEC_LEVEL_BLUE
for(var/obj/machinery/firealarm/FA in machines)
if(FA.z == ZLEVEL_STATION)
@@ -40,6 +42,8 @@
minor_announce(config.alert_desc_red_upto, "Attention! Code red!",1)
else
minor_announce(config.alert_desc_red_downto, "Attention! Code red!")
+ for(var/mob/M in player_list)
+ M << 'sound/misc/voyalert.ogg'
security_level = SEC_LEVEL_RED
/* - At the time of commit, setting status displays didn't work properly
@@ -54,6 +58,8 @@
pod.admin_controlled = 0
if(SEC_LEVEL_DELTA)
minor_announce(config.alert_desc_delta, "Attention! Delta security level reached!",1)
+ for(var/mob/M in player_list)
+ M << 'sound/misc/tas_red_alert.ogg'
security_level = SEC_LEVEL_DELTA
for(var/obj/machinery/firealarm/FA in machines)
if(FA.z == ZLEVEL_STATION)
diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm
index 70788e7975..4389dfacc7 100644
--- a/code/modules/shuttle/emergency.dm
+++ b/code/modules/shuttle/emergency.dm
@@ -326,6 +326,12 @@
timer = world.time
priority_announce("The Emergency Shuttle has left the station. Estimate [timeLeft(600)] minutes until the shuttle docks at Central Command.", null, null, "Priority")
if(SHUTTLE_ESCAPE)
+
+ if(time_left <= 50 && sound_played) //4 seconds left:Hyperspace trip completed. - should sync up with the landing
+ sound_played = 1 //Only rev them up once.
+ for(var/area/shuttle/escape/E in world)
+ E << 'sound/effects/hyperspace_end.ogg'
+
if(time_left <= 0)
//move each escape pod to its corresponding escape dock
for(var/A in SSshuttle.mobile)
diff --git a/icons/misc/fullscreen.dmi b/icons/misc/fullscreen.dmi
index 116ea7cfdc..70e27e9e69 100644
Binary files a/icons/misc/fullscreen.dmi and b/icons/misc/fullscreen.dmi differ
diff --git a/icons/mob/human_parts.dmi b/icons/mob/human_parts.dmi
index 49970b67ea..0034990c51 100644
Binary files a/icons/mob/human_parts.dmi and b/icons/mob/human_parts.dmi differ
diff --git a/icons/obj/cryogenics.dmi b/icons/obj/cryogenics.dmi
index 1159725b91..49df4d5eb6 100644
Binary files a/icons/obj/cryogenics.dmi and b/icons/obj/cryogenics.dmi differ
diff --git a/sound/effects/hyperspace_begin.ogg b/sound/effects/hyperspace_begin.ogg
index 225e2d9882..a346c67ba7 100644
Binary files a/sound/effects/hyperspace_begin.ogg and b/sound/effects/hyperspace_begin.ogg differ
diff --git a/sound/effects/hyperspace_end.ogg b/sound/effects/hyperspace_end.ogg
index 64fb5214a9..4d56348ec9 100644
Binary files a/sound/effects/hyperspace_end.ogg and b/sound/effects/hyperspace_end.ogg differ
diff --git a/sound/misc/tas_red_alert.ogg b/sound/misc/tas_red_alert.ogg
new file mode 100644
index 0000000000..b2ad11f21e
Binary files /dev/null and b/sound/misc/tas_red_alert.ogg differ
diff --git a/sound/misc/voyalert.ogg b/sound/misc/voyalert.ogg
new file mode 100644
index 0000000000..c5a1b9ff31
Binary files /dev/null and b/sound/misc/voyalert.ogg differ
diff --git a/sound/misc/voybluealert.ogg b/sound/misc/voybluealert.ogg
new file mode 100644
index 0000000000..35d4cc1787
Binary files /dev/null and b/sound/misc/voybluealert.ogg differ
diff --git a/tgstation.dme b/tgstation.dme
index 68a92acf5f..4682841cde 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -51,7 +51,6 @@
#include "code\__DEFINES\tablecrafting.dm"
#include "code\__DEFINES\tgui.dm"
#include "code\__DEFINES\tick.dm"
-#include "code\__DEFINES\voreconstants.dm"
#include "code\__DEFINES\wires.dm"
#include "code\__HELPERS\_logging.dm"
#include "code\__HELPERS\_string_lists.dm"