diff --git a/code/controllers/subsystem/input.dm b/code/controllers/subsystem/input.dm index 190b63aa5b..32936af9e9 100644 --- a/code/controllers/subsystem/input.dm +++ b/code/controllers/subsystem/input.dm @@ -53,10 +53,9 @@ SUBSYSTEM_DEF(input) classic_ctrl_override_keys += ascii2text(i) // let's play the game of clientside bind overrides! classic_ctrl_override_keys -= list("T", "O", "M", "L") - macroset_classic_input["Ctrl+T"] = "say_indicator" + macroset_classic_input["Ctrl+T"] = "say" macroset_classic_input["Ctrl+O"] = "ooc" macroset_classic_input["Ctrl+L"] = "looc" - macroset_classic_input["Ctrl+M"] = "me_indicator" // let's play the list iteration game x2 for(var/key in classic_ctrl_override_keys) // make sure to double double quote to ensure things are treated as a key combo instead of addition/semicolon logic. @@ -72,9 +71,9 @@ SUBSYSTEM_DEF(input) // conflicts occur with something like say indicator vs say), we're going to snowflake this anyways var/list/hard_binds = list( "O" = "ooc", - "T" = "say_indicator", + "T" = "say", "L" = "looc", - "M" = "me_indicator" + "M" = "me" ) var/list/hard_bind_anti_collision = list() var/list/anti_collision_modifiers = list("Ctrl", "Alt", "Shift", "Ctrl+Alt", "Ctrl+Shift", "Alt+Shift", "Ctrl+Alt+Shift") diff --git a/code/datums/chatmessage.dm b/code/datums/chatmessage.dm index 5c893b1253..c861259cea 100644 --- a/code/datums/chatmessage.dm +++ b/code/datums/chatmessage.dm @@ -169,6 +169,14 @@ scheduled_destruction = world.time + (lifespan - CHAT_MESSAGE_EOL_FADE) addtimer(CALLBACK(src, .proc/end_of_life), lifespan - CHAT_MESSAGE_EOL_FADE, TIMER_UNIQUE|TIMER_OVERRIDE) + //dogborg check sandstorm thingy thing. + var/mob/living/silicon/robot/R = target + if(owner == R) //without this it would check for module on every mob speaking, and you would NOT remove this unless you love runtimes + if(R.module.dogborg == TRUE) + message.pixel_x = 16 + else + message.pixel_x = 0 + /** * Applies final animations to overlay CHAT_MESSAGE_EOL_FADE deciseconds prior to message deletion */ diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 5cd436a423..a812159685 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -233,6 +233,9 @@ INVOKE_ASYNC(RM, .proc/do_transform_animation) if(RM.dogborg) RM.dogborg_equip() + R.typing_indicator_state = /obj/effect/overlay/typing_indicator/machine/dogborg + else + R.typing_indicator_state = /obj/effect/overlay/typing_indicator/machine R.maxHealth = borghealth R.health = min(borghealth, R.health) qdel(src) diff --git a/code/modules/mob/logout.dm b/code/modules/mob/logout.dm index 1914ad3e3e..536eacca7d 100644 --- a/code/modules/mob/logout.dm +++ b/code/modules/mob/logout.dm @@ -4,7 +4,6 @@ SStgui.on_logout(src) unset_machine() GLOB.player_list -= src - clear_typing_indicator() //(please work) makes sure that if it broke, it fixes when you disconnect - sandstorm change ..() diff --git a/sandcode/code/modules/mob/living/typing_indicator_overrides.dm b/sandcode/code/modules/mob/living/typing_indicator_overrides.dm new file mode 100644 index 0000000000..81d651ce0e --- /dev/null +++ b/sandcode/code/modules/mob/living/typing_indicator_overrides.dm @@ -0,0 +1,22 @@ +/mob/living/silicon/ + typing_indicator_state = /obj/effect/overlay/typing_indicator/machine + +/obj/effect/overlay/typing_indicator/machine + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + icon = 'icons/mob/talk.dmi' + icon_state = "machine_typing" + appearance_flags = RESET_COLOR | TILE_BOUND | PIXEL_SCALE + layer = ABOVE_FLY_LAYER + +/obj/effect/overlay/typing_indicator/machine/dogborg + icon = 'sandcode/icons/mob/talk.dmi' + +/mob/living/simple_animal/slime + typing_indicator_state = /obj/effect/overlay/typing_indicator/slime + +/obj/effect/overlay/typing_indicator/slime + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + icon = 'icons/mob/talk.dmi' + icon_state = "slime_typing" + appearance_flags = RESET_COLOR | TILE_BOUND | PIXEL_SCALE + layer = ABOVE_FLY_LAYER diff --git a/sandcode/icons/mob/screen_liteweb.dmi b/sandcode/icons/mob/screen_liteweb.dmi index 00357fa2ce..41fdde558c 100644 Binary files a/sandcode/icons/mob/screen_liteweb.dmi and b/sandcode/icons/mob/screen_liteweb.dmi differ diff --git a/sandcode/icons/mob/talk.dmi b/sandcode/icons/mob/talk.dmi new file mode 100644 index 0000000000..a9c759985d Binary files /dev/null and b/sandcode/icons/mob/talk.dmi differ diff --git a/sandcode/icons/mob/typing_indicator.dmi b/sandcode/icons/mob/typing_indicator.dmi deleted file mode 100644 index 4a6351e53f..0000000000 Binary files a/sandcode/icons/mob/typing_indicator.dmi and /dev/null differ diff --git a/tgstation.dme b/tgstation.dme index fc5986f755..c0db1d8c34 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3571,6 +3571,7 @@ #include "sandcode\code\modules\mob\living\give.dm" #include "sandcode\code\modules\mob\living\say.dm" #include "sandcode\code\modules\mob\living\ssd_indicator.dm" +#include "sandcode\code\modules\mob\living\typing_indicator_overrides.dm" #include "sandcode\code\modules\mob\living\simple_animal\friendly\doges.dm" #include "sandcode\code\modules\mob\living\simple_animal\hostile\megafauna\drake.dm" #include "sandcode\code\modules\mob\living\simple_animal\hostile\megafauna\sand.dm"