diff --git a/code/modules/mob/living/inhand_holder.dm b/code/modules/mob/living/inhand_holder.dm index 353a4f4f..bd51e930 100644 --- a/code/modules/mob/living/inhand_holder.dm +++ b/code/modules/mob/living/inhand_holder.dm @@ -74,7 +74,10 @@ return /mob/living/proc/mob_try_pickup(mob/living/user) - if(!ishuman(user) || !src.Adjacent(user) || user.incapacitated() || !can_be_held || (abs(get_effective_size()/get_effective_size(user)) >= 2)) + if(!ishuman(user) || !src.Adjacent(user) || user.incapacitated() || !can_be_held) + return FALSE + if(abs(user.get_effective_size()/src.get_effective_size()) < 2.0 ) + to_chat(user, "They're too big to pick up!") return FALSE if(user.get_active_held_item()) to_chat(user, "Your hands are full!") @@ -104,9 +107,6 @@ if(mob_try_pickup(user)) return TRUE - -// I didn't define these for mobs, because you shouldn't be able to breathe out of mobs using their loc isn't always the logical thing to do. -/* /obj/item/clothing/head/mob_holder/assume_air(datum/gas_mixture/env) var/atom/location = loc if(!loc) @@ -116,7 +116,7 @@ location = location.loc if(ismob(location)) return location.loc.assume_air(env) - return loc.assume_air(env) + return location.assume_air(env) /obj/item/clothing/head/mob_holder/remove_air(amount) var/atom/location = loc @@ -126,7 +126,5 @@ while(location != T) location = location.loc if(ismob(location)) - return location.loc.remove_air() - return loc.remove_air(amount) -*/ -//Turned off for sizecode to work right now \ No newline at end of file + return location.loc.remove_air(amount) + return location.remove_air(amount) diff --git a/hyperstation/code/modules/resize/resizing.dm b/hyperstation/code/modules/resize/resizing.dm index 0fc6a9dc..48b542d0 100644 --- a/hyperstation/code/modules/resize/resizing.dm +++ b/hyperstation/code/modules/resize/resizing.dm @@ -1,4 +1,4 @@ -//LETS GET THIS FUCKING SIZECONTENT GAMERS +//I am not a coder. Please fucking tear apart my code, and insult me for how awful I am at coding. Please and thank you. -Dahlular var/const/RESIZE_MACRO = 6 var/const/RESIZE_HUGE = 4 var/const/RESIZE_BIG = 2 @@ -23,7 +23,6 @@ var/const/RESIZE_A_TINYMICRO = (RESIZE_TINY + RESIZE_MICRO) / 2 M.Translate(0, 16*(size_multiplier-1)) //translate by 16 * size_multiplier - 1 on Y axis src.transform = M //the source of transform is M - /mob/proc/get_effective_size() return 100000 @@ -109,7 +108,7 @@ mob/living/get_effective_size() sizediffBruteloss(tmob) return 1 -// if(src.a_inent == "grab"... goes here +// if(src.a_inent == "grab"... goes here... WIP if(tmob.get_effective_size() > get_effective_size()) micro_step_under(tmob) @@ -136,25 +135,12 @@ mob/living/get_effective_size() var/B = (get_effective_size()/tmob.get_effective_size()*2) //macro divided by micro, times 2 tmob.adjustBruteLoss(B) //final result in brute loss -//Proc for picking up people. WIP. +//Proc for instantly grabbing valid size difference. Code optimizations soon(TM) /* -/mob/living/proc/attempt_to_scoop(var/mob/living/M) - var/sizediv = get_effective_size()/M.get_effective_size() - if(!holder_default && holder_type) - holder_default = holder_type - if(!istype(M)) +/mob/living/proc/sizeinteractioncheck(var/mob/living/tmob) + if(abs(get_effective_size()/tmob.get_effective_size())>=2.0 && get_effective_size()>tmob.get_effective_size()) return 0 - if(buckled) - to_chat(src,"You have to unbuckle them before you can pick them up.") - return 0 - if(sizediv >= 2) - holder_type = /obj/item/holder/micro - var/obj/item/holder/m_holder = get_scooped(M) - holder_type = holder_default - if (m_holder) - return 1 - else - return 0 + else + return 1 */ - //Clothes coming off at different sizes, and health/speed/stam changes as well