mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-19 19:13:30 +01:00
Runtime and bug fixes
This commit is contained in:
@@ -134,7 +134,7 @@ var/global/list/obj/cortical_stacks = list() //Stacks for 'leave nobody behind'
|
||||
return 0
|
||||
|
||||
for(var/obj/stack in cortical_stacks)
|
||||
if (get_area(stack) != locate(/area/shuttle/vox/station))
|
||||
if (get_area(stack.loc) != locate(/area/shuttle/vox/station))
|
||||
return 0
|
||||
return 1
|
||||
|
||||
|
||||
@@ -342,7 +342,7 @@
|
||||
|
||||
if(istype(src, /obj/item/clothing/under) || istype(src, /obj/item/clothing/suit))
|
||||
if(FAT in H.mutations)
|
||||
testing("[M] TOO FAT TO WEAR [src]!")
|
||||
//testing("[M] TOO FAT TO WEAR [src]!")
|
||||
if(!(flags & ONESIZEFITSALL))
|
||||
if(!disable_warning)
|
||||
H << "\red You're too fat to wear the [name]."
|
||||
|
||||
@@ -210,10 +210,18 @@
|
||||
|
||||
/obj/item/weapon/card/id/syndicate
|
||||
name = "agent card"
|
||||
access = list(access_maint_tunnels, access_syndicate, access_external_airlocks)
|
||||
var/list/initial_access = list(access_maint_tunnels, access_syndicate, access_external_airlocks)
|
||||
origin_tech = "syndicate=3"
|
||||
var/registered_user = null
|
||||
|
||||
|
||||
/obj/item/weapon/card/id/syndicate/New()
|
||||
access = initial_access.Copy()
|
||||
..()
|
||||
|
||||
/obj/item/weapon/card/id/syndicate/vox
|
||||
name = "agent card"
|
||||
initial_access = list(access_maint_tunnels, access_vox, access_external_airlocks)
|
||||
|
||||
/obj/item/weapon/card/id/syndicate/afterattack(var/obj/item/weapon/O as obj, mob/user as mob, proximity)
|
||||
if(!proximity)
|
||||
return
|
||||
@@ -408,7 +416,7 @@
|
||||
blood_type = initial(blood_type)
|
||||
dna_hash = initial(dna_hash)
|
||||
fingerprint_hash = initial(fingerprint_hash)
|
||||
access = initial(access)
|
||||
access = initial_access.Copy() // Initial() doesn't work on lists
|
||||
registered_user = null
|
||||
|
||||
user << "<span class='notice'>All information has been deleted from \the [src].</span>"
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
/obj/Destroy()
|
||||
machines -= src
|
||||
processing_objects -= src
|
||||
nanomanager.close_uis(src)
|
||||
return ..()
|
||||
|
||||
/obj/item/proc/is_used_on(obj/O, mob/user)
|
||||
|
||||
@@ -172,7 +172,7 @@ var/global/sent_syndicate_strike_team = 0
|
||||
W.icon_state = "syndie"
|
||||
W.access = get_all_accesses()//They get full station access because obviously the syndicate has HAAAX, and can make special IDs for their most elite members.
|
||||
W.assignment = "Syndicate Commando"
|
||||
W.access = get_syndicate_access(W.assignment)
|
||||
W.access += get_syndicate_access(W.assignment)
|
||||
W.registered_name = real_name
|
||||
equip_to_slot_or_del(W, slot_wear_id)
|
||||
|
||||
|
||||
@@ -52,10 +52,8 @@ var/global/vox_tick = 1
|
||||
equip_to_slot_or_del(new /obj/item/weapon/tank/nitrogen(src), slot_back)
|
||||
equip_to_slot_or_del(new /obj/item/device/flashlight(src), slot_r_store)
|
||||
|
||||
var/obj/item/weapon/card/id/syndicate/W = new(src)
|
||||
var/obj/item/weapon/card/id/syndicate/vox/W = new(src)
|
||||
W.name = "[real_name]'s Legitimate Human ID Card"
|
||||
W.icon_state = "id"
|
||||
W.access = list(access_vox)
|
||||
W.assignment = "Trader"
|
||||
W.registered_name = real_name
|
||||
W.registered_user = src
|
||||
|
||||
@@ -452,6 +452,9 @@
|
||||
blood_color = "#1F181F"
|
||||
flesh_color = "#AAAAAA"
|
||||
reagent_tag = PROCESS_SYN
|
||||
|
||||
has_organ = list(
|
||||
)
|
||||
|
||||
/datum/species/machine/handle_death(var/mob/living/carbon/human/H)
|
||||
H.emote("deathgasp")
|
||||
|
||||
@@ -213,6 +213,7 @@ var/global/list/damage_icon_parts = list()
|
||||
if(O.damage_state == "00") continue
|
||||
var/icon/DI
|
||||
var/cache_index = "[O.damage_state]/[O.icon_name]/[species.blood_color]/[species.name]"
|
||||
|
||||
if(damage_icon_parts[cache_index] == null)
|
||||
DI = new /icon(species.damage_overlays, O.damage_state) // the damage icon for whole human
|
||||
DI.Blend(new /icon(species.damage_mask, O.icon_name), ICON_MULTIPLY) // mask with this organ's pixels
|
||||
|
||||
@@ -216,7 +216,7 @@
|
||||
..()
|
||||
|
||||
/datum/objective/revenant/check_completion()
|
||||
if(!istype(owner.current, /mob/living/simple_animal/revenant) || !owner.current)
|
||||
if(!owner || !istype(owner.current, /mob/living/simple_animal/revenant))
|
||||
return 0
|
||||
var/mob/living/simple_animal/revenant/R = owner.current
|
||||
if(!R || R.stat == DEAD)
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
/mob/living/silicon/robot/shared_nano_interaction()
|
||||
. = STATUS_INTERACTIVE
|
||||
if(cell.charge <= 0)
|
||||
if(!cell || cell.charge <= 0)
|
||||
return STATUS_CLOSE
|
||||
if(lockcharge)
|
||||
. = STATUS_DISABLED
|
||||
|
||||
@@ -104,6 +104,26 @@
|
||||
update_count++
|
||||
return update_count
|
||||
|
||||
/**
|
||||
* Close all /nanoui uis attached to src_object
|
||||
*
|
||||
* @param src_object /obj|/mob The obj or mob which the uis are attached to
|
||||
*
|
||||
* @return int The number of uis close
|
||||
*/
|
||||
/datum/nanomanager/proc/close_uis(src_object)
|
||||
var/src_object_key = "\ref[src_object]"
|
||||
if (isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list))
|
||||
return 0
|
||||
|
||||
var/close_count = 0
|
||||
for (var/ui_key in open_uis[src_object_key])
|
||||
for (var/datum/nanoui/ui in open_uis[src_object_key][ui_key])
|
||||
if(ui && ui.src_object && ui.user && ui.src_object.nano_host())
|
||||
ui.close()
|
||||
close_count++
|
||||
return close_count
|
||||
|
||||
/**
|
||||
* Update /nanoui uis belonging to user
|
||||
*
|
||||
|
||||
@@ -17,6 +17,8 @@ datum/reagents/proc/metabolize(var/mob/M)
|
||||
handle_reactions()
|
||||
for(var/A in reagent_list)
|
||||
var/datum/reagent/R = A
|
||||
if(!istype(R))
|
||||
continue
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
//Check if this mob's species is set and can process this type of reagent
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/attack(mob/M as mob, mob/user as mob, def_zone)
|
||||
if(!reagents.total_volume) //Shouldn't be needed but it checks to see if it has anything left in it.
|
||||
if(reagents && !reagents.total_volume) //Shouldn't be needed but it checks to see if it has anything left in it.
|
||||
user << "\red None of [src] left, oh no!"
|
||||
M.unEquip(src) //so icons update :[
|
||||
qdel(src)
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 4.7 KiB |
Reference in New Issue
Block a user