From 7f6871c23310c67723c00a736bd979fa0c0a9b47 Mon Sep 17 00:00:00 2001 From: Xhuis Date: Sat, 21 Mar 2015 12:47:25 -0400 Subject: [PATCH] Fixes conflicts and commits --- .../gamemodes/changeling/powers/augmented_eyesight.dm | 4 +++- code/game/machinery/flasher.dm | 3 +++ code/game/objects/items/devices/flash.dm | 5 +++++ code/game/objects/items/devices/laserpointer.dm | 2 ++ code/game/objects/items/weapons/grenades/flashbang.dm | 8 ++++++++ code/modules/mob/living/carbon/carbon.dm | 2 ++ code/modules/mob/mob_defines.dm | 1 + 7 files changed, 24 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm index e2f88ac9d9f..e76ed33827c 100644 --- a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm +++ b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm @@ -4,7 +4,7 @@ /obj/effect/proc_holder/changeling/augmented_eyesight name = "Augmented Eyesight" desc = "Creates heat receptors in our eyes and dramatically increases light sensing ability." - helptext = "Grants us night vision and thermal vision. It may be toggled on or off." + helptext = "Grants us night vision and thermal vision. It may be toggled on or off. We will become more vulnerable to flash-based devices while active." chemical_cost = 0 dna_cost = 2 //Would be 1 without thermal vision var/active = 0 //Whether or not vision is enhanced @@ -13,9 +13,11 @@ active = !active if(active) user << "We feel a minute twitch in our eyes, and darkness creeps away." + user.weakeyes = 1 else user << "Our vision dulls. Shadows gather." user.sight -= SEE_MOBS + user.weakeyes = 0 while(active) user.see_in_dark = 8 user.see_invisible = 2 diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index 3873123583f..f575ccd7778 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -84,6 +84,9 @@ if(L.flash_eyes()) L.Weaken(strength) + if(L.weakeyes) + L.Weaken(strength * 1.5) + L.visible_message("[L] gasps and shields their eyes!") return 1 diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index e680889e33d..1345391f783 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -60,11 +60,16 @@ /obj/item/device/flash/proc/flash_carbon(var/mob/living/carbon/M, var/mob/user = null, var/power = 5, targeted = 1) add_logs(user, M, "flashed", object="[src.name]") if(user && targeted) + if(M.weakeyes) + M.Weaken(3) //quick weaken bypasses eye protection but has no eye flash if(M.flash_eyes(1, 1)) M.confused += power terrible_conversion_proc(M, user) M.Stun(1) user.visible_message("[user] blinds [M] with the flash!") + if(M.weakeyes) + M.Stun(2) + M.visible_message("[M] gasps and shields their eyes!") else user.visible_message("[user] fails to blind [M] with the flash!") else diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm index 4dc95ea12e3..f4ed728f21d 100644 --- a/code/game/objects/items/devices/laserpointer.dm +++ b/code/game/objects/items/devices/laserpointer.dm @@ -109,6 +109,8 @@ //20% chance to actually hit the eyes if(prob(effectchance * diode.rating) && C.flash_eyes(severity)) outmsg = "You blind [C] by shining [src] in their eyes." + if(C.weakeyes) + C.Stun(1) else outmsg = "You fail to blind [C] by shining [src] at their eyes." diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm index 8157a2208e7..9c39b6c5f3d 100644 --- a/code/game/objects/items/weapons/grenades/flashbang.dm +++ b/code/game/objects/items/weapons/grenades/flashbang.dm @@ -27,11 +27,19 @@ var/distance = max(1,get_dist(src,T)) //Flash + if(M.weakeyes) + M.visible_message("[M] screams and collapses!") + M << "AAAAGH!" + M.Weaken(15) //hella stunned + M.Stun(15) + M.eye_stat += 8 + if(M.flash_eyes()) M.eye_stat += rand(1, 3) M.Stun(max(10/distance, 3)) M.Weaken(max(10/distance, 3)) + //Bang if((loc == M) || loc == M.loc)//Holding on person or being exactly where lies is significantly more dangerous and voids protection M.Stun(10) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index a8918fd3051..2084317d388 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -155,6 +155,8 @@ /mob/living/carbon/flash_eyes(intensity = 1, override_blindness_check = 0) var/damage = intensity - check_eye_prot() if(..()) // we've been flashed + if(weakeyes) + Stun(2) switch(damage) if(1) src << "Your eyes sting a little." diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 292206ab56b..5358cf7a878 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -141,6 +141,7 @@ var/area/lastarea = null var/digitalcamo = 0 // Can they be tracked by the AI? + var/weakeyes = 0 //Are they vulnerable to flashes? var/has_unlimited_silicon_privilege = 0 // Can they interact with station electronics