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/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 148522672ca..962800892f4 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -300,10 +300,12 @@ else heard_b += M + var/speech_bubble_test = say_test(message) + var/image/speech_bubble = image('talk.dmi',src,"h[speech_bubble_test]") + var/rendered = null if (length(heard_a)) var/message_a = say_quote(message) - if (italics) message_a = "[message_a]" if (!istype(src, /mob/living/carbon/human)) @@ -337,6 +339,9 @@ for (var/mob/M in heard_a) M.show_message(rendered, 2) + M << speech_bubble + spawn(30) del(speech_bubble) + //spawn(30) del(speech_bubble) /* if(M.client) @@ -407,6 +412,8 @@ for (var/mob/M in heard_b) M.show_message(rendered, 2) + M << speech_bubble + spawn(30) del(speech_bubble) /* if(M.client) @@ -415,7 +422,7 @@ var/image/I = image('speechbubble.dmi', B, "override") I.override = 1 M << I - */ /* + flick("[presay]say", B) diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm index 50053a7e04c..6c741402696 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -70,3 +70,11 @@ /mob/proc/emote(var/act) return + +/mob/proc/say_test(var/text) + var/ending = copytext(text, length(text)) + if (ending == "?") + return "1" + else if (ending == "!") + return "2" + return "0" \ No newline at end of file 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