From 1c6dd39106ec9fbc3bacb759110899f131e3cdba Mon Sep 17 00:00:00 2001 From: Glamurio <51779813+Glamurio@users.noreply.github.com> Date: Mon, 15 Apr 2024 03:15:01 +0200 Subject: [PATCH] Add new negative traits to character creation (#18491) --- code/datums/traits.dm | 20 ++++++++++++++++++++ code/mob/input.dm | 6 ++++++ 2 files changed, 26 insertions(+) diff --git a/code/datums/traits.dm b/code/datums/traits.dm index 9f99d5caaea40..8f2c496145e22 100644 --- a/code/datums/traits.dm +++ b/code/datums/traits.dm @@ -649,6 +649,19 @@ ABSTRACT_TYPE(/datum/trait/job) category = list("stats") points = -2 +/datum/trait/slowstrider + name = "Slow Strider" + desc = "What's the rush? You can't sprint anymore." + id = "slowstrider" + category = list("stats") + points = 2 + afterlife_blacklisted = TRUE + + onAdd(var/mob/owner) + if(ishuman(owner)) + var/mob/living/carbon/human/H = owner + APPLY_ATOM_PROPERTY(H, PROP_MOB_CANTSPRINT, "trait") + //Category: Background. /datum/trait/stowaway @@ -947,6 +960,13 @@ ABSTRACT_TYPE(/datum/trait/job) points = 1 afterlife_blacklisted = TRUE +/datum/trait/trippy + name = "Trippy" + desc = "You have a tendency to randomly trip while moving." + id = "trippy" + points = 1 + afterlife_blacklisted = TRUE + /datum/trait/scaredshitless name = "Scared Shitless" desc = "Literally. When you scream, you fart. Be careful around Bibles!" diff --git a/code/mob/input.dm b/code/mob/input.dm index d0c23b32276d2..8b0e867d1be76 100644 --- a/code/mob/input.dm +++ b/code/mob/input.dm @@ -202,6 +202,12 @@ last_move_trigger = ticker ? ticker.round_elapsed_ticks : 0 //Wire note: Fix for Cannot read null.round_elapsed_ticks deliver_move_trigger(running ? "sprint" : m_intent) + // Tripping (the physical kind) + var/trip_chance = 5 + if (src.traitHolder && src.traitHolder.hasTrait("trippy") && prob(trip_chance)) + src.setStatus("resting", INFINITE_STATUS) + src.force_laydown_standup() + src.visible_message(SPAN_ALERT("[src] trips!")) src.glide_size = glide // dumb hack: some Move() code needs glide_size to be set early in order to adjust "following" objects src.animate_movement = SLIDE_STEPS