diff --git a/code/controllers/subsystem/input.dm b/code/controllers/subsystem/input.dm index 006bf72939ad..61a7e411c8e1 100644 --- a/code/controllers/subsystem/input.dm +++ b/code/controllers/subsystem/input.dm @@ -5,7 +5,6 @@ VERB_MANAGER_SUBSYSTEM_DEF(input) flags = SS_TICKER priority = FIRE_PRIORITY_INPUT runlevels = RUNLEVELS_DEFAULT | RUNLEVEL_LOBBY - use_default_stats = FALSE /// Standard macroset *ALL* players get diff --git a/code/controllers/subsystem/processing/kinesis.dm b/code/controllers/subsystem/processing/kinesis.dm index b5b9183db1c8..7f43cf6393d7 100644 --- a/code/controllers/subsystem/processing/kinesis.dm +++ b/code/controllers/subsystem/processing/kinesis.dm @@ -1,4 +1,4 @@ PROCESSING_SUBSYSTEM_DEF(kinesis) name = "Kinesis" - wait = 0 + wait = 1 stat_tag = "KN" diff --git a/code/controllers/subsystem/processing/projectiles.dm b/code/controllers/subsystem/processing/projectiles.dm index 378739856bdc..2ea8d050008f 100644 --- a/code/controllers/subsystem/processing/projectiles.dm +++ b/code/controllers/subsystem/processing/projectiles.dm @@ -1,6 +1,6 @@ PROCESSING_SUBSYSTEM_DEF(projectiles) name = "Projectiles" - wait = 0 + wait = 1 stat_tag = "PP" flags = SS_NO_INIT|SS_HIBERNATE var/global_max_tick_moves = 10 diff --git a/code/controllers/subsystem/throwing.dm b/code/controllers/subsystem/throwing.dm index 5c4069d05645..9175aca3175d 100644 --- a/code/controllers/subsystem/throwing.dm +++ b/code/controllers/subsystem/throwing.dm @@ -4,8 +4,8 @@ SUBSYSTEM_DEF(throwing) name = "Throwing" priority = FIRE_PRIORITY_THROWING - wait = SS_TICKER - flags = SS_NO_INIT + wait = 1 + flags = SS_NO_INIT | SS_TICKER | SS_KEEP_TIMING runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME var/list/currentrun = list() @@ -15,7 +15,6 @@ SUBSYSTEM_DEF(throwing) msg = "P:[length(processing)]" return ..() - /datum/controller/subsystem/throwing/fire(resumed = 0) if (!resumed) src.currentrun = processing.Copy() diff --git a/code/controllers/subsystem/verb_manager.dm b/code/controllers/subsystem/verb_manager.dm index a53e44097db2..ea94880f32a0 100644 --- a/code/controllers/subsystem/verb_manager.dm +++ b/code/controllers/subsystem/verb_manager.dm @@ -21,7 +21,7 @@ */ SUBSYSTEM_DEF(verb_manager) name = "Verb Manager" - wait = 0 + wait = 1 flags = SS_TICKER | SS_HIBERNATE priority = FIRE_PRIORITY_DELAYED_VERBS runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index 15a9366865ca..7d598791c4fb 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -176,7 +176,7 @@ /obj/item/staff/bostaff/Initialize(mapload) . = ..() - icon_state_wielded = "base_icon_state[1]" + icon_state_wielded = "[base_icon_state][1]" /obj/item/staff/bostaff/update_icon_state() icon_state = "[base_icon_state]0" diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 93fae3d67ad9..ee2f403eb199 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -314,9 +314,9 @@ DEFINE_INTERACTABLE(/obj/item) return TRUE /obj/item/update_icon_state() - . = ..() if(wielded && icon_state_wielded) icon_state = icon_state_wielded + return ..() /// Called when an action associated with our item is deleted /obj/item/proc/on_action_deleted(datum/source) @@ -818,6 +818,7 @@ DEFINE_INTERACTABLE(/obj/item) // Change appearance name = "[name] (Wielded)" update_appearance() + user.update_held_items() return TRUE /obj/item/proc/unwield(mob/living/user, show_message = TRUE, dropping = FALSE) @@ -843,7 +844,7 @@ DEFINE_INTERACTABLE(/obj/item) if(!dropping) var/slot = user.get_slot_by_item(src) if(slot == ITEM_SLOT_HANDS) - user.update_worn_back() + user.update_held_items() else if(slot) user.update_clothing(slot) diff --git a/code/game/objects/items/broom.dm b/code/game/objects/items/broom.dm index 153d0a887386..1ab4bb802868 100644 --- a/code/game/objects/items/broom.dm +++ b/code/game/objects/items/broom.dm @@ -23,7 +23,7 @@ /obj/item/pushbroom/Initialize(mapload) . = ..() - icon_state_wielded = "base_icon_state[1]" + icon_state_wielded = "[base_icon_state][1]" /obj/item/pushbroom/update_icon_state() icon_state = "[base_icon_state]0" diff --git a/code/game/objects/items/fireaxe.dm b/code/game/objects/items/fireaxe.dm index 39717e474120..84518cecf9dd 100644 --- a/code/game/objects/items/fireaxe.dm +++ b/code/game/objects/items/fireaxe.dm @@ -25,7 +25,7 @@ /obj/item/fireaxe/Initialize(mapload) . = ..() - icon_state_wielded = "base_icon_state[1]" + icon_state_wielded = "[base_icon_state][1]" AddComponent(/datum/component/butchering, 100, 80, 0 , hitsound) //axes are not known for being precision butchering tools /obj/item/fireaxe/update_icon_state() diff --git a/code/game/objects/items/singularityhammer.dm b/code/game/objects/items/singularityhammer.dm index d410edc138ac..7daa895ecfb8 100644 --- a/code/game/objects/items/singularityhammer.dm +++ b/code/game/objects/items/singularityhammer.dm @@ -25,7 +25,7 @@ /obj/item/singularityhammer/Initialize(mapload) . = ..() - icon_state_wielded = "base_icon_state[1]" + icon_state_wielded = "[base_icon_state][1]" AddElement(/datum/element/kneejerk) /obj/item/singularityhammer/update_icon_state() @@ -88,7 +88,7 @@ /obj/item/mjollnir/Initialize(mapload) . = ..() - icon_state_wielded = "base_icon_state[1]" + icon_state_wielded = "[base_icon_state][1]" /obj/item/mjollnir/update_icon_state() icon_state = "[base_icon_state]0" diff --git a/code/modules/grab/grab_helpers.dm b/code/modules/grab/grab_helpers.dm index af07a4e8bdc6..e0c3ba2e0495 100644 --- a/code/modules/grab/grab_helpers.dm +++ b/code/modules/grab/grab_helpers.dm @@ -41,9 +41,11 @@ /// Frees src from all grabs. /atom/movable/proc/free_from_all_grabs() - grabbed_by?.len = 0 - grabbed_by = null + if(!LAZYLEN(grabbed_by)) + return + for(var/obj/item/hand_item/grab/G in grabbed_by) + qdel(G) /// Gets every grabber of this atom, and every grabber of those grabbers, repeat /atom/movable/proc/recursively_get_all_grabbers() diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 0fad24a558fb..f27654e243d2 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -190,6 +190,7 @@ var/turf/end_T = get_turf(target) if(start_T && end_T) log_combat(src, thrown_thing, "thrown", addition="grab from tile in [AREACOORD(start_T)] towards tile at [AREACOORD(end_T)]") + var/power_throw = 0 if(HAS_TRAIT(src, TRAIT_HULK)) power_throw++ @@ -199,6 +200,7 @@ power_throw++ if(neckgrab_throw) power_throw++ + do_attack_animation(target, no_effect = TRUE) //PARIAH EDIT ADDITION - AESTHETICS playsound(loc, 'sound/weapons/punchmiss.ogg', 50, TRUE, -1) //PARIAH EDIT ADDITION - AESTHETICS visible_message(span_danger("[src] throws [thrown_thing][power_throw ? " really hard!" : "."]"), \ diff --git a/code/modules/mob/living/carbon/pain.dm b/code/modules/mob/living/carbon/pain.dm index d1ba588da71e..714201d51f5d 100644 --- a/code/modules/mob/living/carbon/pain.dm +++ b/code/modules/mob/living/carbon/pain.dm @@ -70,7 +70,7 @@ if(. && !is_healing) switch(.) - if(1 to PAIN_AMT_MEDIUM) + if(1 to 20) flash_pain(PAIN_SMALL) if(20 to PAIN_AMT_MEDIUM) flash_pain(PAIN_MEDIUM)