diff --git a/code/__defines/mobs_yw.dm b/code/__defines/mobs_yw.dm
index adceca8519..8b18512935 100644
--- a/code/__defines/mobs_yw.dm
+++ b/code/__defines/mobs_yw.dm
@@ -1 +1,2 @@
-#define SPECIES_SHADEKIN_YW "GeneShadekin"
\ No newline at end of file
+#define SPECIES_SHADEKIN_YW "GeneShadekin"
+#define SPECIES_GREY_YW "Grey"
\ No newline at end of file
diff --git a/code/__defines/species_languages_YW.dm b/code/__defines/species_languages_YW.dm
new file mode 100644
index 0000000000..b47e78f693
--- /dev/null
+++ b/code/__defines/species_languages_YW.dm
@@ -0,0 +1 @@
+#define LANGUAGE_PSIONIC "Psionic Communication"
\ No newline at end of file
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index aa1a07b34c..400018d47a 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -767,7 +767,7 @@
//Clear the access reqs, disable the safeties, and open up all paintjobs.
to_chat(user, "You run the sequencer across the interface, corrupting the operating protocols.")
departments = list("Engineering","Mining","Medical","Security","Atmos","HAZMAT","Construction","Biohazard","Crowd Control","Emergency Medical Response","^%###^%$", "Charring")
- species = list(SPECIES_HUMAN,SPECIES_SKRELL,SPECIES_UNATHI,SPECIES_TAJ, SPECIES_TESHARI, "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Promethean", "Xenomorph Hybrid", "Vasilissan", "Rapala") //VORESTATION EDIT
+ species = list(SPECIES_HUMAN,SPECIES_SKRELL,SPECIES_UNATHI,SPECIES_TAJ, SPECIES_TESHARI, "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Promethean", "Xenomorph Hybrid", "Vasilissan", "Rapala",/*YWEDITGREYADD*/SPECIES_GREY_YW) //VORESTATION EDIT
emagged = 1
safeties = 0
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index cce0641f3c..c6d3dcd6ed 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -457,8 +457,8 @@
SPECIES_TESHARI = 'icons/mob/species/seromi/masks.dmi',
SPECIES_VOX = 'icons/mob/species/vox/masks.dmi',
SPECIES_TAJ = 'icons/mob/species/tajaran/mask.dmi',
- SPECIES_UNATHI = 'icons/mob/species/unathi/mask.dmi'
- )
+ SPECIES_UNATHI = 'icons/mob/species/unathi/mask.dmi',
+ SPECIES_GREY_YW = 'icons/mob/species/grey/mask.dmi')
var/voicechange = 0
var/list/say_messages
@@ -664,7 +664,8 @@
var/rolled_sleeves = -1 //0 = unrolled, 1 = rolled, -1 = cannot be toggled
sprite_sheets = list(
SPECIES_TESHARI = 'icons/mob/species/seromi/uniform.dmi',
- SPECIES_VOX = 'icons/mob/species/vox/uniform.dmi'
+ SPECIES_VOX = 'icons/mob/species/vox/uniform.dmi',
+ SPECIES_GREY_YW = 'icons/mob/species/grey/uniform.dmi'
)
//convenience var for defining the icon state for the overlay used when the clothing is worn.
diff --git a/code/modules/clothing/clothing_vr.dm b/code/modules/clothing/clothing_vr.dm
index f81dd53c18..c1d95ecef4 100644
--- a/code/modules/clothing/clothing_vr.dm
+++ b/code/modules/clothing/clothing_vr.dm
@@ -114,7 +114,8 @@
SPECIES_AKULA = 'icons/mob/species/akula/mask_vr.dmi',
SPECIES_VULPKANIN = 'icons/mob/species/vulpkanin/mask.dmi',
SPECIES_XENOCHIMERA = 'icons/mob/species/tajaran/mask_vr.dmi',
- SPECIES_WEREBEAST = 'icons/mob/species/werebeast/masks.dmi'
+ SPECIES_WEREBEAST = 'icons/mob/species/werebeast/masks.dmi',
+ SPECIES_GREY_YW = 'icons/mob/species/grey/mask.dmi'
)
//"Spider" = 'icons/mob/species/spider/mask_vr.dmi' Add this later when they have custom mask sprites and everything.
@@ -160,7 +161,9 @@
sprite_sheets = list(
SPECIES_TESHARI = 'icons/mob/species/seromi/uniform.dmi',
SPECIES_VOX = 'icons/mob/species/vox/uniform.dmi',
- SPECIES_WEREBEAST = 'icons/mob/species/werebeast/uniform.dmi')
+ SPECIES_WEREBEAST = 'icons/mob/species/werebeast/uniform.dmi',
+ SPECIES_GREY_YW = 'icons/mob/species/grey/uniform.dmi'
+ )
//TFF 5/8/19 - define numbers and specifics for suit sensor settings
/obj/item/clothing/under/New(var/mob/living/carbon/human/H)
diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm
index 072e7e868d..e33ac42d51 100644
--- a/code/modules/clothing/glasses/glasses.dm
+++ b/code/modules/clothing/glasses/glasses.dm
@@ -31,7 +31,8 @@ BLIND // can't see anything
sprite_sheets = list(
"Teshari" = 'icons/mob/species/seromi/eyes.dmi',
"Vox" = 'icons/mob/species/vox/eyes.dmi',
- "Sergal" = 'icons/mob/species/sergal/eyes_yw.dmi'
+ "Sergal" = 'icons/mob/species/sergal/eyes_yw.dmi',
+ SPECIES_GREY_YW = 'icons/mob/species/grey/eyes.dmi'
)
/obj/item/clothing/glasses/update_clothing_icon()
diff --git a/code/modules/clothing/glasses/glasses_vr.dm b/code/modules/clothing/glasses/glasses_vr.dm
index 90e53d89b2..62d9546f29 100644
--- a/code/modules/clothing/glasses/glasses_vr.dm
+++ b/code/modules/clothing/glasses/glasses_vr.dm
@@ -116,5 +116,6 @@
sprite_sheets = list(
SPECIES_TESHARI = 'icons/mob/species/seromi/eyes.dmi',
SPECIES_VOX = 'icons/mob/species/vox/eyes.dmi',
- SPECIES_WEREBEAST = 'icons/mob/species/werebeast/eyes.dmi'
+ SPECIES_WEREBEAST = 'icons/mob/species/werebeast/eyes.dmi',
+ SPECIES_GREY_YW = 'icons/mob/species/grey/eyes.dmi'
)
\ No newline at end of file
diff --git a/code/modules/clothing/spacesuits/rig/rig_pieces_vr.dm b/code/modules/clothing/spacesuits/rig/rig_pieces_vr.dm
index 04022b2331..6c08138c2f 100644
--- a/code/modules/clothing/spacesuits/rig/rig_pieces_vr.dm
+++ b/code/modules/clothing/spacesuits/rig/rig_pieces_vr.dm
@@ -35,17 +35,17 @@
)
/obj/item/clothing/head/helmet/space/rig
- species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_ALRAUNE)
+ species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_ALRAUNE, SPECIES_GREY_YW)
flags = PHORONGUARD //YAWN Edit
/obj/item/clothing/gloves/gauntlets/rig
- species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_ALRAUNE)
+ species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_ALRAUNE, SPECIES_GREY_YW)
flags = PHORONGUARD //YAWN Edit
/obj/item/clothing/shoes/magboots/rig
- species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_ALRAUNE)
+ species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_ALRAUNE, SPECIES_GREY_YW)
flags = PHORONGUARD //YAWN Edit
/obj/item/clothing/suit/space/rig
- species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_ALRAUNE)
+ species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_ALRAUNE, SPECIES_GREY_YW)
flags = PHORONGUARD //YAWN Edit
diff --git a/code/modules/mob/language/station_YW.dm b/code/modules/mob/language/station_YW.dm
new file mode 100644
index 0000000000..88733bf02b
--- /dev/null
+++ b/code/modules/mob/language/station_YW.dm
@@ -0,0 +1,9 @@
+/datum/language/psioniccomm
+ name = LANGUAGE_PSIONIC
+ desc = "Grey Psionic communication"
+ speech_verb = "says"
+ whisper_verb = "whispers"
+ colour = "psionic"
+ key = "^"
+ flags = HIVEMIND
+ syllables = list("blah","blah","blah","bleh","meh","neh","nah","wah")
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/human_powers_YW.dm b/code/modules/mob/living/carbon/human/human_powers_YW.dm
new file mode 100644
index 0000000000..22bb6874e6
--- /dev/null
+++ b/code/modules/mob/living/carbon/human/human_powers_YW.dm
@@ -0,0 +1,11 @@
+/mob/living/carbon/human/proc/telepathy(mob/M as mob in oview())
+ set name = "Project mind"
+ set desc = "Talk telepathically to someone over a distance."
+ set category = "Abilities"
+
+ var/msg = sanitize(input("Message:", "Project mind") as text|null)
+ if(msg)
+ log_say("(GreyTP to [key_name(M)]) [msg]", src)
+ M << "you hear a voice echo across the room in your head... [msg]"
+ to_chat(src, "You said: \"[msg]\" to [M]")
+ return
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/species/station/greyYW.dm b/code/modules/mob/living/carbon/human/species/station/greyYW.dm
new file mode 100644
index 0000000000..adfebcb3a5
--- /dev/null
+++ b/code/modules/mob/living/carbon/human/species/station/greyYW.dm
@@ -0,0 +1,62 @@
+/datum/species/grey
+ name = SPECIES_GREY_YW
+ name_plural = "Gray"
+ icobase = 'icons/mob/human_races/r_grey.dmi'
+ deform = 'icons/mob/human_races/r_def_grey.dmi'
+ unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/punch)
+ blurb = "Insert Grey Lore."
+ num_alternate_languages = 3
+ species_language = LANGUAGE_PSIONIC
+ secondary_langs = list(LANGUAGE_PSIONIC)
+ name_language = null // Use the first-name last-name generator rather than a language scrambler
+ assisted_langs = list(LANGUAGE_EAL, LANGUAGE_SKRELLIAN, LANGUAGE_SKRELLIANFAR, LANGUAGE_ROOTLOCAL, LANGUAGE_ROOTGLOBAL, LANGUAGE_VOX)
+ flesh_color = "#a598ad"
+ blood_color = "#A200FF"
+ brute_mod = 1.25
+ flash_mod = 1.15
+ darksight = 5
+
+
+
+ min_age = 18
+ max_age = 130
+
+
+ health_hud_intensity = 1.5
+
+ spawn_flags = SPECIES_CAN_JOIN
+ appearance_flags = HAS_LIPS | HAS_UNDERWEAR | HAS_EYE_COLOR
+
+ has_organ = list(
+ O_HEART = /obj/item/organ/internal/heart,
+ O_LUNGS = /obj/item/organ/internal/lungs,
+ O_VOICE = /obj/item/organ/internal/voicebox,
+ O_LIVER = /obj/item/organ/internal/liver,
+ O_KIDNEYS = /obj/item/organ/internal/kidneys,
+ O_BRAIN = /obj/item/organ/internal/brain,
+ O_APPENDIX = /obj/item/organ/internal/appendix,
+ O_SPLEEN = /obj/item/organ/internal/spleen,
+ O_EYES = /obj/item/organ/internal/eyes/grey,
+ O_STOMACH = /obj/item/organ/internal/stomach,
+ O_INTESTINE = /obj/item/organ/internal/intestine
+ )
+
+ has_limbs = list(
+ BP_TORSO = list("path" = /obj/item/organ/external/chest),
+ BP_GROIN = list("path" = /obj/item/organ/external/groin),
+ BP_HEAD = list("path" = /obj/item/organ/external/head/vr/grey),
+ BP_L_ARM = list("path" = /obj/item/organ/external/arm),
+ BP_R_ARM = list("path" = /obj/item/organ/external/arm/right),
+ BP_L_LEG = list("path" = /obj/item/organ/external/leg),
+ BP_R_LEG = list("path" = /obj/item/organ/external/leg/right),
+ BP_L_HAND = list("path" = /obj/item/organ/external/hand),
+ BP_R_HAND = list("path" = /obj/item/organ/external/hand/right),
+ BP_L_FOOT = list("path" = /obj/item/organ/external/foot),
+ BP_R_FOOT = list("path" = /obj/item/organ/external/foot/right)
+ )
+
+ inherent_verbs = list(/mob/living/carbon/human/proc/telepathy)
+
+/datum/species/grey/handle_environment_special(var/mob/living/carbon/human/H)
+ if(H.fire_stacks < 0 && H.get_water_protection() <= 0.5) // If over half your body is soaked, you're melting.
+ H.adjustToxLoss(max(0,(3 - (3 * H.get_water_protection())))) // Tripled because 0.5 is miniscule, and fire_stacks are capped in both directions.
diff --git a/code/modules/organs/subtypes/standard_vr.dm b/code/modules/organs/subtypes/standard_vr.dm
index ce6eaf9d9f..bf429cb878 100644
--- a/code/modules/organs/subtypes/standard_vr.dm
+++ b/code/modules/organs/subtypes/standard_vr.dm
@@ -69,3 +69,9 @@
eye_icons_vr = 'icons/mob/human_face_vr.dmi'
eye_icon_vr = "eyes_shadekin"
+
+ //yw edit
+/obj/item/organ/external/head/vr/grey
+ eye_icons_vr = 'icons/mob/human_face_yw.dmi'
+ eye_icon_vr = "eyes_grey"
+ //yw edit
diff --git a/code/modules/vore/appearance/sprite_accessories_taur_yw.dm b/code/modules/vore/appearance/sprite_accessories_taur_yw.dm
index 029d01e8b9..b8ce27f234 100644
--- a/code/modules/vore/appearance/sprite_accessories_taur_yw.dm
+++ b/code/modules/vore/appearance/sprite_accessories_taur_yw.dm
@@ -18,7 +18,7 @@
icon_state = "wolf2_s"
/datum/sprite_accessory/tail/taur/wolf/husky/wolf_2fat
- name = "Fat Wolf (Taur)"
+ name = "Fat WolfTG (Taur)"
icon_state = "wolf2f_s"
/datum/sprite_accessory/tail/taur/long_lizard
@@ -32,4 +32,4 @@
/datum/sprite_accessory/tail/taur/long_lizard/scaled
name = "Large Dragon Tail/W scales"
- extra_overlay = "big_liz_mark"
\ No newline at end of file
+ extra_overlay = "big_liz_mark"
diff --git a/code/stylesheet.dm b/code/stylesheet.dm
index 4fc84eeee6..8bf7679c35 100644
--- a/code/stylesheet.dm
+++ b/code/stylesheet.dm
@@ -109,6 +109,7 @@ h1.alert, h2.alert {color: #000000;}
.say_quote {font-family: Georgia, Verdana, sans-serif;}
.terminus {font-family: "Times New Roman", Times, serif, sans-serif}
.interface {color: #330033;}
+.psionic {color: #993399;}
BIG IMG.icon {width: 32px; height: 32px;}
diff --git a/icons/mob/human_face_yw.dmi b/icons/mob/human_face_yw.dmi
new file mode 100644
index 0000000000..3f777b1af1
Binary files /dev/null and b/icons/mob/human_face_yw.dmi differ
diff --git a/icons/mob/human_races/r_def_grey.dmi b/icons/mob/human_races/r_def_grey.dmi
new file mode 100644
index 0000000000..b243f88e40
Binary files /dev/null and b/icons/mob/human_races/r_def_grey.dmi differ
diff --git a/icons/mob/human_races/r_grey.dmi b/icons/mob/human_races/r_grey.dmi
new file mode 100644
index 0000000000..1f66332a57
Binary files /dev/null and b/icons/mob/human_races/r_grey.dmi differ
diff --git a/icons/mob/species/grey/eyes.dmi b/icons/mob/species/grey/eyes.dmi
new file mode 100644
index 0000000000..a49fd089ca
Binary files /dev/null and b/icons/mob/species/grey/eyes.dmi differ
diff --git a/icons/mob/species/grey/mask.dmi b/icons/mob/species/grey/mask.dmi
new file mode 100644
index 0000000000..041cbb1267
Binary files /dev/null and b/icons/mob/species/grey/mask.dmi differ
diff --git a/icons/mob/species/grey/uniform.dmi b/icons/mob/species/grey/uniform.dmi
new file mode 100644
index 0000000000..74d62beb33
Binary files /dev/null and b/icons/mob/species/grey/uniform.dmi differ