mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-12 07:33:34 +01:00
Standardize FAT
Conflicts: code/modules/client/preferences.dm code/modules/mob/living/carbon/human/life.dm code/modules/mob/living/silicon/robot/robot.dm code/modules/mob/living/simple_animal/constructs.dm code/modules/mob/mob.dm code/modules/mob/mob_grab.dm
This commit is contained in:
@@ -185,6 +185,212 @@ var/list/slot_equipment_priority = list( \
|
||||
|
||||
return 0
|
||||
|
||||
/mob/proc/check_for_open_slot(obj/item/W)
|
||||
if(!istype(W)) return 0
|
||||
var/openslot = 0
|
||||
for(var/slot in slot_equipment_priority)
|
||||
if(W.mob_check_equip(src, slot, 1) == 1)
|
||||
openslot = 1
|
||||
break
|
||||
return openslot
|
||||
|
||||
/obj/item/proc/mob_check_equip(M as mob, slot, disable_warning = 0)
|
||||
if(!M) return 0
|
||||
if(!slot) return 0
|
||||
if(ishuman(M))
|
||||
//START HUMAN
|
||||
var/mob/living/carbon/human/H = M
|
||||
|
||||
switch(slot)
|
||||
if(slot_l_hand)
|
||||
if(H.l_hand)
|
||||
return 0
|
||||
return 1
|
||||
if(slot_r_hand)
|
||||
if(H.r_hand)
|
||||
return 0
|
||||
return 1
|
||||
if(slot_wear_mask)
|
||||
if( !(slot_flags & SLOT_MASK) )
|
||||
return 0
|
||||
if(H.wear_mask)
|
||||
return 0
|
||||
return 1
|
||||
if(slot_back)
|
||||
if( !(slot_flags & SLOT_BACK) )
|
||||
return 0
|
||||
if(H.back)
|
||||
if(H.back.canremove)
|
||||
return 2
|
||||
else
|
||||
return 0
|
||||
return 1
|
||||
if(slot_wear_suit)
|
||||
if( !(slot_flags & SLOT_OCLOTHING) )
|
||||
return 0
|
||||
if(H.wear_suit)
|
||||
if(H.wear_suit.canremove)
|
||||
return 2
|
||||
else
|
||||
return 0
|
||||
return 1
|
||||
if(slot_gloves)
|
||||
if( !(slot_flags & SLOT_GLOVES) )
|
||||
return 0
|
||||
if(H.gloves)
|
||||
if(H.gloves.canremove)
|
||||
return 2
|
||||
else
|
||||
return 0
|
||||
return 1
|
||||
if(slot_shoes)
|
||||
if( !(slot_flags & SLOT_FEET) )
|
||||
return 0
|
||||
if(H.shoes)
|
||||
if(H.shoes.canremove)
|
||||
return 2
|
||||
else
|
||||
return 0
|
||||
return 1
|
||||
if(slot_belt)
|
||||
if(!H.w_uniform)
|
||||
if(!disable_warning)
|
||||
H << "\red You need a jumpsuit before you can attach this [name]."
|
||||
return 0
|
||||
if( !(slot_flags & SLOT_BELT) )
|
||||
return 0
|
||||
if(H.belt)
|
||||
if(H.belt.canremove)
|
||||
return 2
|
||||
else
|
||||
return 0
|
||||
return 1
|
||||
if(slot_glasses)
|
||||
if( !(slot_flags & SLOT_EYES) )
|
||||
return 0
|
||||
if(H.glasses)
|
||||
if(H.glasses.canremove)
|
||||
return 2
|
||||
else
|
||||
return 0
|
||||
return 1
|
||||
if(slot_head)
|
||||
if( !(slot_flags & SLOT_HEAD) )
|
||||
return 0
|
||||
if(H.head)
|
||||
if(H.head.canremove)
|
||||
return 2
|
||||
else
|
||||
return 0
|
||||
return 1
|
||||
if(slot_l_ear)
|
||||
if( !(slot_flags & slot_l_ear) )
|
||||
return 0
|
||||
if(H.l_ear)
|
||||
if(H.l_ear.canremove)
|
||||
return 2
|
||||
else
|
||||
return 0
|
||||
return 1
|
||||
if(slot_r_ear)
|
||||
if( !(slot_flags & slot_r_ear) )
|
||||
return 0
|
||||
if(H.r_ear)
|
||||
if(H.r_ear.canremove)
|
||||
return 2
|
||||
else
|
||||
return 0
|
||||
return 1
|
||||
if(slot_w_uniform)
|
||||
if( !(slot_flags & SLOT_ICLOTHING) )
|
||||
return 0
|
||||
if((M_FAT in H.mutations) && !(flags & ONESIZEFITSALL))
|
||||
return 0
|
||||
if(H.w_uniform)
|
||||
if(H.w_uniform.canremove)
|
||||
return 2
|
||||
else
|
||||
return 0
|
||||
return 1
|
||||
if(slot_wear_id)
|
||||
if(!H.w_uniform)
|
||||
if(!disable_warning)
|
||||
H << "\red You need a jumpsuit before you can attach this [name]."
|
||||
return 0
|
||||
if( !(slot_flags & SLOT_ID) )
|
||||
return 0
|
||||
if(H.wear_id)
|
||||
if(H.wear_id.canremove)
|
||||
return 2
|
||||
else
|
||||
return 0
|
||||
return 1
|
||||
if(slot_l_store)
|
||||
if(H.l_store)
|
||||
return 0
|
||||
if(!H.w_uniform)
|
||||
if(!disable_warning)
|
||||
H << "\red You need a jumpsuit before you can attach this [name]."
|
||||
return 0
|
||||
if(slot_flags & SLOT_DENYPOCKET)
|
||||
return
|
||||
if( w_class <= 2 || (slot_flags & SLOT_POCKET) )
|
||||
return 1
|
||||
if(slot_r_store)
|
||||
if(H.r_store)
|
||||
return 0
|
||||
if(!H.w_uniform)
|
||||
if(!disable_warning)
|
||||
H << "\red You need a jumpsuit before you can attach this [name]."
|
||||
return 0
|
||||
if(slot_flags & SLOT_DENYPOCKET)
|
||||
return 0
|
||||
if( w_class <= 2 || (slot_flags & SLOT_POCKET) )
|
||||
return 1
|
||||
return 0
|
||||
if(slot_s_store)
|
||||
if(!H.wear_suit)
|
||||
if(!disable_warning)
|
||||
H << "\red You need a suit before you can attach this [name]."
|
||||
return 0
|
||||
if(!H.wear_suit.allowed)
|
||||
if(!disable_warning)
|
||||
usr << "You somehow have a suit with no defined allowed items for suit storage, stop that."
|
||||
return 0
|
||||
if(src.w_class > 3)
|
||||
if(!disable_warning)
|
||||
usr << "The [name] is too big to attach."
|
||||
return 0
|
||||
if( istype(src, /obj/item/device/pda) || istype(src, /obj/item/weapon/pen) || is_type_in_list(src, H.wear_suit.allowed) )
|
||||
if(H.s_store)
|
||||
if(H.s_store.canremove)
|
||||
return 2
|
||||
else
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
return 0
|
||||
if(slot_handcuffed)
|
||||
if(H.handcuffed)
|
||||
return 0
|
||||
if(!istype(src, /obj/item/weapon/handcuffs))
|
||||
return 0
|
||||
return 1
|
||||
if(slot_legcuffed)
|
||||
if(H.legcuffed)
|
||||
return 0
|
||||
if(!istype(src, /obj/item/weapon/legcuffs))
|
||||
return 0
|
||||
return 1
|
||||
if(slot_in_backpack)
|
||||
if (H.back && istype(H.back, /obj/item/weapon/storage/backpack))
|
||||
var/obj/item/weapon/storage/backpack/B = H.back
|
||||
if(B.contents.len < B.storage_slots && w_class <= B.max_w_class)
|
||||
return 1
|
||||
return 0
|
||||
return 0 //Unsupported slot
|
||||
//END HUMAN
|
||||
|
||||
/mob/proc/reset_view(atom/A)
|
||||
if (client)
|
||||
if (istype(A, /atom/movable))
|
||||
|
||||
Reference in New Issue
Block a user