diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 0bbbf1a1b9a..350e3c053da 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -219,6 +219,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_PASSTABLE "passtable" #define TRAIT_NOFLASH "noflash" //Makes you immune to flashes #define TRAIT_XENO_IMMUNE "xeno_immune"//prevents xeno huggies implanting skeletons +#define TRAIT_FLASH_SENSITIVE "flash_sensitive"//Makes you flashable from any direction #define TRAIT_NAIVE "naive" #define TRAIT_PRIMITIVE "primitive" #define TRAIT_GUNFLIP "gunflip" diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index 99a6afbfcdd..05da2b6d5a7 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -194,6 +194,9 @@ if(victim.flags_1 & IS_SPINNING_1) return DEVIATION_NONE + if(HAS_TRAIT(victim, TRAIT_FLASH_SENSITIVE)) //Basically if you have Flypeople eyes + return DEVIATION_NONE + // Are they on the same tile? We'll return partial deviation. This may be someone flashing while lying down // or flashing someone they're stood on the same turf as, or a borg flashing someone buckled to them. if(victim.loc == attacker.loc) diff --git a/code/modules/mob/living/carbon/human/species_types/flypeople.dm b/code/modules/mob/living/carbon/human/species_types/flypeople.dm index 66b568ced5b..c743fe85aa8 100644 --- a/code/modules/mob/living/carbon/human/species_types/flypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/flypeople.dm @@ -7,6 +7,7 @@ meat = /obj/item/food/meat/slab/human/mutant/fly disliked_food = null liked_food = GROSS + mutanteyes = /obj/item/organ/eyes/fly toxic_food = NONE changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT species_language_holder = /datum/language_holder/fly diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm index b7b62431f51..6eb39ac1a21 100644 --- a/code/modules/surgery/organs/eyes.dm +++ b/code/modules/surgery/organs/eyes.dm @@ -405,3 +405,14 @@ eye_icon_state = "snail_eyes" icon_state = "snail_eyeballs" +/obj/item/organ/eyes/fly + name = "fly eyes" + desc = "These eyes seem to stare back no matter the direction you look at it from." + +/obj/item/organ/eyes/fly/Insert(mob/living/carbon/M, special = FALSE) + . = ..() + ADD_TRAIT(M, TRAIT_FLASH_SENSITIVE, ORGAN_TRAIT) + +/obj/item/organ/eyes/fly/Remove(mob/living/carbon/M, special = FALSE) + REMOVE_TRAIT(M, TRAIT_FLASH_SENSITIVE, ORGAN_TRAIT) + return ..()