diff --git a/code/defines/mob/mob.dm b/code/defines/mob/mob.dm index 59dd7144cdb..f0353d0ec04 100644 --- a/code/defines/mob/mob.dm +++ b/code/defines/mob/mob.dm @@ -20,7 +20,7 @@ var/oxyloss = 0.0//Living var/toxloss = 0.0//Living - + var/obj/screen/pain = null var/obj/screen/flash = null var/obj/screen/blind = null var/obj/screen/hands = null diff --git a/code/game/objects/items/item.dm b/code/game/objects/items/item.dm index a070ca7443c..643c7663e22 100644 --- a/code/game/objects/items/item.dm +++ b/code/game/objects/items/item.dm @@ -217,6 +217,9 @@ O.layer = 20 return +mob/proc/flash_weak_pain() + flick("weak_pain",pain) + /obj/item/proc/attack(mob/living/M as mob, mob/living/user as mob, def_zone) if (!istype(M)) // not sure if this is the right thing... @@ -227,6 +230,7 @@ messagesource = M:container if (src.hitsound) playsound(src.loc, hitsound, 50, 1, -1) + M.flash_weak_pain() ///////////////////////// user.lastattacked = M M.lastattacker = user diff --git a/code/modules/mob/living/carbon/human/hud.dm b/code/modules/mob/living/carbon/human/hud.dm index a5c1d990785..1cafa5e6043 100644 --- a/code/modules/mob/living/carbon/human/hud.dm +++ b/code/modules/mob/living/carbon/human/hud.dm @@ -536,6 +536,12 @@ mymob.flash.screen_loc = "1,1 to 15,15" mymob.flash.layer = 17 + mymob.pain = new /obj/screen( null ) + mymob.pain.icon_state = "blank" + mymob.pain.name = "pain" + mymob.pain.screen_loc = "1,1 to 15,15" + mymob.pain.layer = 17 + mymob.hands = new /obj/screen( null ) mymob.hands.icon = ui_style mymob.hands.icon_state = "hand" @@ -650,7 +656,7 @@ mymob.client.screen = null //, mymob.i_select, mymob.m_select - mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.toxin, mymob.bodytemp, mymob.internals, mymob.fire, mymob.hands, mymob.healths, mymob.nutrition_icon, mymob.pullin, mymob.blind, mymob.flash, mymob.rest, mymob.sleep) //, mymob.mach ) + mymob.client.screen += list( mymob.pain, mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.toxin, mymob.bodytemp, mymob.internals, mymob.fire, mymob.hands, mymob.healths, mymob.nutrition_icon, mymob.pullin, mymob.blind, mymob.flash, mymob.rest, mymob.sleep) //, mymob.mach ) mymob.client.screen += src.adding + src.other //if(istype(mymob,/mob/living/carbon/monkey)) mymob.client.screen += src.mon_blo diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 225e160070e..a6f693641df 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -43,6 +43,8 @@ src << "\blue Your [C.name] was disrupted!" stunned = max(stunned, 2) + flash_weak_pain() + var/absorb = run_armor_check(def_zone, P.flag) if(absorb >= 2) P.on_hit(src,2) diff --git a/icons/mob/screen1.dmi b/icons/mob/screen1.dmi index 450bdcac600..c91a553540b 100644 Binary files a/icons/mob/screen1.dmi and b/icons/mob/screen1.dmi differ diff --git a/icons/mob/screen1_old.dmi b/icons/mob/screen1_old.dmi index d108f7976a7..1a70335cafd 100644 Binary files a/icons/mob/screen1_old.dmi and b/icons/mob/screen1_old.dmi differ