Merge branch 'master' into areaStuff

This commit is contained in:
Heroman3003
2024-12-07 05:14:52 +10:00
committed by GitHub
187 changed files with 5545 additions and 1161 deletions
+35 -11
View File
@@ -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