mirror of
https://github.com/KabKebab/GS13.git
synced 2026-07-20 12:29:32 +01:00
96a09b1793
Fixing owner not being set in mutation/on_aquiring.
78 lines
2.5 KiB
Plaintext
78 lines
2.5 KiB
Plaintext
/mob/living/carbon/human/get_movespeed_modifiers()
|
|
var/list/considering = ..()
|
|
. = considering
|
|
if(HAS_TRAIT(src, TRAIT_IGNORESLOWDOWN))
|
|
for(var/id in .)
|
|
var/list/data = .[id]
|
|
if(data[MOVESPEED_DATA_INDEX_FLAGS] & IGNORE_NOSLOW)
|
|
.[id] = data
|
|
|
|
/mob/living/carbon/human/movement_delay()
|
|
. = ..()
|
|
if(dna && dna.species)
|
|
. += dna.species.movement_delay(src)
|
|
|
|
/mob/living/carbon/human/slip(knockdown_amount, obj/O, lube)
|
|
if(HAS_TRAIT(src, TRAIT_NOSLIPALL))
|
|
return 0
|
|
if (!(lube&GALOSHES_DONT_HELP))
|
|
if(HAS_TRAIT(src, TRAIT_NOSLIPWATER))
|
|
return 0
|
|
if(shoes && istype(shoes, /obj/item/clothing))
|
|
var/obj/item/clothing/CS = shoes
|
|
if (CS.clothing_flags & NOSLIP)
|
|
return 0
|
|
return ..()
|
|
|
|
/mob/living/carbon/human/experience_pressure_difference()
|
|
playsound(src, 'sound/effects/space_wind.ogg', 50, 1)
|
|
if(shoes && istype(shoes, /obj/item/clothing))
|
|
var/obj/item/clothing/S = shoes
|
|
if (S.clothing_flags & NOSLIP)
|
|
return 0
|
|
return ..()
|
|
|
|
/mob/living/carbon/human/mob_has_gravity()
|
|
. = ..()
|
|
if(!.)
|
|
if(mob_negates_gravity())
|
|
. = 1
|
|
|
|
/mob/living/carbon/human/mob_negates_gravity()
|
|
return ((shoes && shoes.negates_gravity()) || (dna.species.negates_gravity(src)))
|
|
|
|
/mob/living/carbon/human/Move(NewLoc, direct)
|
|
. = ..()
|
|
for(var/datum/mutation/human/HM in dna.mutations)
|
|
HM.on_move(NewLoc)
|
|
|
|
if(shoes && shoes.type != /obj/item/clothing/head/mob_holder/micro)
|
|
if(!lying && !buckled)
|
|
if(loc == NewLoc)
|
|
if(!has_gravity(loc))
|
|
return
|
|
var/obj/item/clothing/shoes/S = shoes
|
|
|
|
//Bloody footprints
|
|
var/turf/T = get_turf(src)
|
|
if(S.bloody_shoes && S.bloody_shoes[S.blood_state])
|
|
var/obj/effect/decal/cleanable/blood/footprints/oldFP = locate(/obj/effect/decal/cleanable/blood/footprints) in T
|
|
if(oldFP && (oldFP.blood_state == S.blood_state && oldFP.color == bloodtype_to_color(S.last_bloodtype)))
|
|
return
|
|
S.bloody_shoes[S.blood_state] = max(0, S.bloody_shoes[S.blood_state] - BLOOD_LOSS_PER_STEP)
|
|
var/obj/effect/decal/cleanable/blood/footprints/FP = new /obj/effect/decal/cleanable/blood/footprints(T)
|
|
FP.blood_state = S.blood_state
|
|
FP.entered_dirs |= dir
|
|
FP.bloodiness = S.bloody_shoes[S.blood_state]
|
|
if(S.last_bloodtype)
|
|
FP.blood_DNA += list(S.last_blood_DNA = S.last_bloodtype)
|
|
FP.update_icon()
|
|
update_inv_shoes()
|
|
//End bloody footprints
|
|
S.step_action()
|
|
|
|
/mob/living/carbon/human/Process_Spacemove(movement_dir = 0) //Temporary laziness thing. Will change to handles by species reee.
|
|
if(dna.species.space_move(src))
|
|
return TRUE
|
|
return ..()
|