mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-26 21:49:11 +01:00
Merge branch 'master' into areaStuff
This commit is contained in:
@@ -12,7 +12,8 @@ var/list/ventcrawl_machinery = list(
|
||||
/obj/machinery/camera,
|
||||
/obj/belly,
|
||||
/obj/screen,
|
||||
/atom/movable/emissive_blocker
|
||||
/atom/movable/emissive_blocker,
|
||||
/obj/item/rig/protean
|
||||
)
|
||||
//VOREStation Edit : added /obj/belly, to this list, CI is complaining about this in his indentation check. Added mob_headset for those with radios so there's no weirdness.
|
||||
//mob/living/simple_mob/borer, //VORESTATION AI TEMPORARY REMOVAL REPLACE BACK IN LIST WHEN RESOLVED //VOREStation Edit
|
||||
@@ -66,11 +67,11 @@ var/list/ventcrawl_machinery = list(
|
||||
/mob/living/proc/is_allowed_vent_crawl_item(var/obj/carried_item)
|
||||
//Ability master easy test for allowed (cheaper than istype)
|
||||
if(carried_item == ability_master)
|
||||
return 1
|
||||
return TRUE
|
||||
if(isanimal(src))
|
||||
var/mob/living/simple_mob/S = src
|
||||
if(carried_item == S.myid) //VOREStation Edit
|
||||
return 1 //VOREStation Edit
|
||||
if(carried_item == S.myid)
|
||||
return TRUE
|
||||
//Try to find it in our allowed list (istype includes subtypes)
|
||||
var/listed = FALSE
|
||||
for(var/test_type in can_enter_vent_with)
|
||||
@@ -80,23 +81,23 @@ var/list/ventcrawl_machinery = list(
|
||||
|
||||
//Only allow it if it's "IN" the mob, not equipped on/being held. //Disabled, as it's very annoying that, for example, Pun Pun has no way to ventcrawl with his suit if given the verb, since the list of allowed items is ignored for worn items.
|
||||
if(listed/* && !get_inventory_slot(carried_item)*/)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/mob/living/carbon/is_allowed_vent_crawl_item(var/obj/item/carried_item)
|
||||
if(carried_item in internal_organs)
|
||||
return 1
|
||||
return TRUE
|
||||
return ..()
|
||||
|
||||
/mob/living/carbon/human/is_allowed_vent_crawl_item(var/obj/item/carried_item)
|
||||
if(carried_item in organs)
|
||||
return 1
|
||||
return TRUE
|
||||
if(species.name == SPECIES_REPLICANT_CREW)
|
||||
if(istype(carried_item, /obj/item/clothing/under))
|
||||
return 1 //Allow them to not vent crawl naked
|
||||
return TRUE //Allow them to not vent crawl naked
|
||||
if(istype(carried_item, /obj/item))
|
||||
var/obj/item/I = carried_item
|
||||
if(I.w_class <= 2)
|
||||
return 1 //Allow them to carry items that fit in pockets
|
||||
if(I.w_class <= ITEMSIZE_SMALL)
|
||||
return TRUE //Allow them to carry items that fit in pockets
|
||||
return ..()
|
||||
|
||||
/mob/living/proc/ventcrawl_carry()
|
||||
@@ -106,6 +107,29 @@ var/list/ventcrawl_machinery = list(
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/mob/living/simple_mob/protean_blob/ventcrawl_carry()
|
||||
for(var/atom/A in contents)
|
||||
if(!is_allowed_vent_crawl_item(A))
|
||||
to_chat(src, span_warning("You can't carry \the [A] while ventcrawling!"))
|
||||
return FALSE
|
||||
if(humanform)
|
||||
for(var/atom/B in humanform.get_contents())
|
||||
if(!is_allowed_vent_crawl_item(B))
|
||||
to_chat(src, span_warning("You can't carry \the [B] while ventcrawling!"))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/mob/living/simple_mob/protean_blob/is_allowed_vent_crawl_item(var/obj/item/carried_item)
|
||||
if((carried_item in humanform.organs) || (carried_item in humanform.internal_organs))
|
||||
return TRUE
|
||||
if(istype(carried_item, /obj/item/clothing/under))
|
||||
return TRUE //Allow jumpsuits only
|
||||
if(istype(carried_item, /obj/item))
|
||||
var/obj/item/I = carried_item
|
||||
if(I.w_class <= ITEMSIZE_SMALL)
|
||||
return TRUE //Allow them to carry items that fit in pockets
|
||||
return ..()
|
||||
|
||||
/mob/living/AltClickOn(var/atom/A)
|
||||
if(is_type_in_list(A,ventcrawl_machinery))
|
||||
handle_ventcrawl(A)
|
||||
@@ -129,7 +153,7 @@ var/list/ventcrawl_machinery = list(
|
||||
return pipe
|
||||
|
||||
/mob/living/carbon/alien/ventcrawl_carry()
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/mob/living/var/ventcrawl_layer = 3
|
||||
|
||||
|
||||
Reference in New Issue
Block a user