diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index 909f65b4..b068a041 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -294,6 +294,8 @@ if(H.species.flags & IS_SYNTHETIC) return + if(istype(H) && H.species.insulated)//Insulation + return if(M.buckled && istype(M.buckled, /obj/structure/stool/bed/chair/wheelchair)) return ..() diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm index 3e0d0673..9ca356b4 100644 --- a/code/game/objects/items/weapons/grenades/flashbang.dm +++ b/code/game/objects/items/weapons/grenades/flashbang.dm @@ -52,6 +52,25 @@ flick("e_flash", M.flash) M.Stun(2) M.Weaken(10) + //Vaurca damage 29-012-15 + var/mob/living/carbon/human/H = M + if(H.species.flags & IS_BUG) + var/datum/organ/internal/eyes/E = H.internal_organs_by_name["eyes"] + if(!E) + return + //Reworked damage 29/12/15 + usr << "\red Your eyes burn with the intense light of the flash!." + E.damage += rand(10, 11) + if(E.damage > 12) + M.eye_blurry += rand(3,6) + if (E.damage >= E.min_broken_damage) + M.sdisabilities |= BLIND + else if (E.damage >= E.min_bruised_damage) + M.eye_blind = 5 + M.eye_blurry = 5 + M.disabilities |= NEARSIGHTED + spawn(100) + M.disabilities &= ~NEARSIGHTED diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index cedf42d0..ea2333a6 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1132,6 +1132,10 @@ return //TODO: DEFERRED proc/handle_regular_status_updates() + if(species.flags & IS_BUG) + adjustBruteLoss(0) + adjustFireLoss(0) + if(status_flags & GODMODE) return 0 @@ -1408,6 +1412,9 @@ see_in_dark = 8 if(!druggy) see_invisible = SEE_INVISIBLE_OBSERVER_NOLIGHTING + if(species.flags & IS_BUG) //Vaurca nightvision 29/12/15 + see_in_dark = 8 + if(seer==1) var/obj/effect/rune/R = locate() in loc if(R && R.word1 == cultwords["see"] && R.word2 == cultwords["hell"] && R.word3 == cultwords["join"]) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 037538a9..ec03d213 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -75,6 +75,7 @@ var/blood_color = "#A10808" //Red. var/flesh_color = "#FFC896" //Pink. var/base_color //Used when setting species. + var/darkness_view //Used in icon caching. var/race_key = 0 @@ -626,7 +627,8 @@ See code\modules\mob\new_player\preferences_setup.dm for where it's used. secondary_unarmed_type = /datum/unarmed_attack/bite/strong rarity_value = 2 //according to the code this does nothing but upset me so i guess it can stay slowdown = 1 //slow - darksight = 666 //good at seeing + darksight = 8 //good at seeing + darkness_view = 7 eyes = "blank_eyes" //made out of butts brute_mod = 0.5 //note to self: remove is_synthetic checks for brmod and burnmod burn_mod = 2 //bugs on fire diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index 19388bfa..f314d5c3 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -273,11 +273,13 @@ //No animations will be performed by this proc. /proc/electrocute_mob(mob/living/carbon/M as mob, var/power_source, var/obj/source, var/siemens_coeff = 1.0) if(istype(M.loc,/obj/mecha)) return 0 //feckin mechs are dumb + var/mob/living/carbon/human/H = M //29/12/2015 INSULATION INITIATION + if(istype(H) && H.species.insulated) return 0 //This is for performance optimization only. //DO NOT modify siemens_coeff here. That is checked in human/electrocute_act() if(istype(M,/mob/living/carbon/human)) - var/mob/living/carbon/human/H = M + //var/mob/living/carbon/human/H = M Changed for inulation 29/12/15 if(H.gloves) var/obj/item/clothing/gloves/G = H.gloves if(G.siemens_coefficient == 0) return 0 //to avoid spamming with insulated glvoes on