diff --git a/code/__SPLURTCODE/DEFINES/say.dm b/code/__SPLURTCODE/DEFINES/say.dm new file mode 100644 index 0000000000..c5608da5cf --- /dev/null +++ b/code/__SPLURTCODE/DEFINES/say.dm @@ -0,0 +1,2 @@ +//Spans. Robot speech, italics, etc. Applied in compose_message(). +#define SPAN_SMALL "small" diff --git a/modular_splurt/code/__HELPERS/unsorted.dm b/modular_splurt/code/__HELPERS/unsorted.dm new file mode 100644 index 0000000000..2effd8e3c5 --- /dev/null +++ b/modular_splurt/code/__HELPERS/unsorted.dm @@ -0,0 +1,7 @@ +/atom/proc/do_twist(targetangle = 45, timer = 20) + var/matrix/OM = matrix(transform) + var/matrix/M = matrix(transform) + var/halftime = timer * 0.5 + M.Turn(pick(-targetangle, targetangle)) + animate(src, transform = M, time = halftime, easing = ELASTIC_EASING) + animate(src, transform = OM, time = halftime, easing = QUAD_EASING) diff --git a/modular_splurt/code/datums/elements/smalltalk.dm b/modular_splurt/code/datums/elements/smalltalk.dm new file mode 100644 index 0000000000..cc236e7036 --- /dev/null +++ b/modular_splurt/code/datums/elements/smalltalk.dm @@ -0,0 +1,17 @@ +//For small players and such +/datum/element/smalltalk + element_flags = ELEMENT_DETACH + +/datum/element/smalltalk/Attach(datum/target, force = FALSE) + . = ..() + if(!(isliving(target) || (force && istype(target, /atom/movable)))) + return ELEMENT_INCOMPATIBLE + + RegisterSignal(target, COMSIG_MOB_SAY, .proc/handle_speech) + +/datum/element/smalltalk/Detach(datum/source, force) + . = ..() + UnregisterSignal(source, COMSIG_MOB_SAY) + +/datum/element/smalltalk/proc/handle_speech(datum/source, list/speech_args) + speech_args[SPEECH_SPANS] |= SPAN_SMALL diff --git a/modular_splurt/code/game/object/structures/railings.dm b/modular_splurt/code/game/object/structures/railings.dm index 7712257220..ca1e6e2c9e 100644 --- a/modular_splurt/code/game/object/structures/railings.dm +++ b/modular_splurt/code/game/object/structures/railings.dm @@ -151,15 +151,18 @@ usr.visible_message("[user] starts climbing onto \the [src]!") - if(!do_after(user, 20, target = src)) + if(!do_after(user, 15, target = src)) return if(get_turf(user) == get_turf(src)) + usr.dir = get_dir(usr.loc, get_step(src, src.dir))//turn and face railing usr.forceMove(get_step(src, src.dir)) else + usr.dir = get_dir(usr.loc, loc)//turn and face railing usr.forceMove(get_turf(src)) usr.visible_message("[user] climbed over \the [src]!") + usr.do_twist(targetangle = 45, timer = 8) /obj/structure/railing/handrail name = "handrail" diff --git a/modular_splurt/code/modules/mob/living/living.dm b/modular_splurt/code/modules/mob/living/living.dm index 6f413f106a..c03e034e00 100644 --- a/modular_splurt/code/modules/mob/living/living.dm +++ b/modular_splurt/code/modules/mob/living/living.dm @@ -28,3 +28,10 @@ to_chat(src, "An admin has [!admin_sleeping ? "un": ""]slept you.") log_admin("[key_name(admin)] toggled admin-sleep on [key_name(src)].") message_admins("[key_name_admin(admin)] toggled admin-sleep on [key_name_admin(src)].") + +/mob/living/adjust_mobsize() + . = ..() + if(mob_size == 0) + AddElement(/datum/element/smalltalk) + else + RemoveElement(/datum/element/smalltalk) diff --git a/modular_splurt/code/modules/resize/resizing.dm b/modular_splurt/code/modules/resize/resizing.dm deleted file mode 100644 index d98a2d6423..0000000000 --- a/modular_splurt/code/modules/resize/resizing.dm +++ /dev/null @@ -1,11 +0,0 @@ -/* -/mob/living/update_size(new_size) - . = ..() - if(!small_sprite) - small_sprite = new(src) - - if(new_size >= (RESIZE_A_BIGNORMAL + RESIZE_NORMAL) / 2) - small_sprite.Grant(src) - else - small_sprite.Remove(src) -*/ diff --git a/tgstation.dme b/tgstation.dme index 9c9f8422a4..32c8db8f73 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -247,6 +247,7 @@ #include "code\__SPLURTCODE\DEFINES\is_helpers.dm" #include "code\__SPLURTCODE\DEFINES\mobs.dm" #include "code\__SPLURTCODE\DEFINES\radiation.dm" +#include "code\__SPLURTCODE\DEFINES\say.dm" #include "code\__SPLURTCODE\DEFINES\signals.dm" #include "code\__SPLURTCODE\DEFINES\sound.dm" #include "code\__SPLURTCODE\DEFINES\subsystems.dm" @@ -4192,6 +4193,7 @@ #include "modular_splurt\code\__HELPERS\_cit_helpers.dm" #include "modular_splurt\code\__HELPERS\icons.dm" #include "modular_splurt\code\__HELPERS\matrices.dm" +#include "modular_splurt\code\__HELPERS\unsorted.dm" #include "modular_splurt\code\_DEFINES\is_helpers.dm" #include "modular_splurt\code\_globalvars\lists\global_lewd.dm" #include "modular_splurt\code\_globalvars\lists\mapping.dm" @@ -4218,6 +4220,7 @@ #include "modular_splurt\code\datums\components\crafting\recipes\recipes_misc.dm" #include "modular_splurt\code\datums\components\crafting\recipes\recipes_primal.dm" #include "modular_splurt\code\datums\components\crafting\recipes\recipes_robot.dm" +#include "modular_splurt\code\datums\elements\smalltalk.dm" #include "modular_splurt\code\datums\components\storage\concrete\pockets.dm" #include "modular_splurt\code\datums\elements\crawl_under.dm" #include "modular_splurt\code\datums\elements\spooky.dm" @@ -4548,7 +4551,6 @@ #include "modular_splurt\code\modules\research\techweb\nodes\bluespace_nodes.dm" #include "modular_splurt\code\modules\research\techweb\nodes\medical_nodes.dm" #include "modular_splurt\code\modules\research\techweb\nodes\misc_nodes.dm" -#include "modular_splurt\code\modules\resize\resizing.dm" #include "modular_splurt\code\modules\resize\smallsprite_action.dm" #include "modular_splurt\code\modules\ruins\objects_and_mobs\ash_walker_den.dm" #include "modular_splurt\code\modules\ruins\spaceruin_code\hilbertshotel.dm"