mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-28 11:02:41 +00:00
Merge pull request #9169 from MistakeNot4892/movementsounds
Generalized handle_movement() checking from shoes to /obj/item.
This commit is contained in:
@@ -971,3 +971,9 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
|
||||
if (!user.check_dexterity(test_dexterity, src, silent)) // Handles its own failure message.
|
||||
return
|
||||
return FALSE
|
||||
|
||||
/obj/item/proc/is_mob_movement_sensitive()
|
||||
return FALSE
|
||||
|
||||
/obj/item/proc/handle_movement(var/turf/walking, var/running)
|
||||
return FALSE
|
||||
|
||||
@@ -100,17 +100,19 @@
|
||||
var/bloodcolor=""
|
||||
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(istype(H) && istype(H.shoes, /obj/item/clothing/shoes))
|
||||
var/obj/item/clothing/shoes/S = H.shoes
|
||||
S.handle_movement(src, IS_RUNNING(H))
|
||||
if(S.track_blood && S.blood_DNA)
|
||||
bloodDNA = S.blood_DNA
|
||||
bloodcolor=S.blood_color
|
||||
S.track_blood--
|
||||
else if(M.track_blood && M.feet_blood_DNA)
|
||||
bloodDNA = M.feet_blood_DNA
|
||||
bloodcolor = M.feet_blood_color
|
||||
M.track_blood--
|
||||
if(istype(H))
|
||||
if(istype(H.shoes, /obj/item/clothing/shoes))
|
||||
var/obj/item/clothing/shoes/S = H.shoes
|
||||
if(S.track_blood && S.blood_DNA)
|
||||
bloodDNA = S.blood_DNA
|
||||
bloodcolor=S.blood_color
|
||||
S.track_blood--
|
||||
else if(M.track_blood && M.feet_blood_DNA)
|
||||
bloodDNA = M.feet_blood_DNA
|
||||
bloodcolor = M.feet_blood_color
|
||||
M.track_blood--
|
||||
for(var/obj/item/thing in H.get_movement_sensitive_gear())
|
||||
thing.handle_movement(src, IS_RUNNING(H))
|
||||
|
||||
if(bloodDNA)
|
||||
src.AddTracks(track_type, bloodDNA , M.dir, 0, bloodcolor) // Coming
|
||||
|
||||
@@ -695,9 +695,6 @@ var/global/list/light_overlay_cache = list() //see get_worn_overlay() on helmets
|
||||
update_icon()
|
||||
return ..()
|
||||
|
||||
/obj/item/clothing/shoes/proc/handle_movement(var/turf/walking, var/running)
|
||||
return
|
||||
|
||||
/obj/item/clothing/shoes/update_clothing_icon()
|
||||
if (ismob(src.loc))
|
||||
var/mob/M = src.loc
|
||||
|
||||
@@ -73,6 +73,9 @@
|
||||
var/footstep = 1 //used for squeeks whilst walking
|
||||
species_restricted = null
|
||||
|
||||
/obj/item/clothing/shoes/clown_shoes/is_mob_movement_sensitive()
|
||||
return TRUE
|
||||
|
||||
/obj/item/clothing/shoes/clown_shoes/handle_movement(var/turf/walking, var/running)
|
||||
if(running)
|
||||
if(footstep >= 2)
|
||||
@@ -216,4 +219,4 @@
|
||||
bootcolor = "orange"
|
||||
|
||||
/obj/item/clothing/shoes/ranger/yellow
|
||||
bootcolor = "yellow"
|
||||
bootcolor = "yellow"
|
||||
|
||||
@@ -1673,3 +1673,17 @@
|
||||
|
||||
/mob/living/carbon/human/hearing_boost_range()
|
||||
return (hearing_boost_range + species.hearboost)
|
||||
|
||||
// Add gear to this proc that needs to be checked for movement sensitivity.
|
||||
// Keep in mind this list will be iterated every single time the mob moves.
|
||||
// This should really be a signal or something but augh.
|
||||
/mob/living/carbon/human/proc/get_movement_sensitive_gear()
|
||||
// Clown shoes.
|
||||
if(shoes && shoes.is_mob_movement_sensitive())
|
||||
LAZYADD(., shoes)
|
||||
// Tail bells.
|
||||
var/obj/item/clothing/uniform = w_uniform
|
||||
if(istype(uniform) && length(uniform.accessories))
|
||||
for(var/obj/item/accessory in uniform.accessories)
|
||||
if(accessory.is_mob_movement_sensitive())
|
||||
LAZYADD(., accessory)
|
||||
|
||||
Reference in New Issue
Block a user