mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-25 04:57:12 +01:00
Merge pull request #7814 from Crazylemon64/many_fixes
Runtime killer v2
This commit is contained in:
@@ -259,8 +259,7 @@ Pipelines + Other Objects -> Pipe network
|
||||
user.last_played_vent = world.time
|
||||
playsound(src, 'sound/machines/ventcrawl.ogg', 50, 1, -3)
|
||||
else
|
||||
var/can_connect = check_connect_types(target_move, src)
|
||||
if((direction & initialize_directions) || (is_type_in_list(src, ventcrawl_machinery) && target_move.can_crawl_through() && can_connect)) //if we move in a way the pipe can connect, but doesn't - or we're in a vent
|
||||
if((direction & initialize_directions) || is_type_in_list(src, ventcrawl_machinery)) //if we move in a way the pipe can connect, but doesn't - or we're in a vent
|
||||
user.remove_ventcrawl()
|
||||
user.forceMove(src.loc)
|
||||
user.visible_message("You hear something squeezing through the pipes.", "You climb out the ventilation system.")
|
||||
|
||||
@@ -134,8 +134,10 @@
|
||||
var/obj/item/organ/external/head/head_organ = H.get_organ("head")
|
||||
var/obj/item/organ/internal/eyes/eye_organ = H.get_int_organ(/obj/item/organ/internal/eyes)
|
||||
var/datum/species/S = H.species
|
||||
dna.write_head_attributes(head_organ)
|
||||
dna.write_eyes_attributes(eye_organ)
|
||||
if(istype(head_organ))
|
||||
dna.write_head_attributes(head_organ)
|
||||
if(istype(eye_organ))
|
||||
dna.write_eyes_attributes(eye_organ)
|
||||
H.update_eyes()
|
||||
|
||||
H.r_skin = dna.GetUIValueRange(DNA_UI_SKIN_R, 255)
|
||||
|
||||
@@ -101,4 +101,25 @@ var/global/list/image/fluidtrack_cache=list()
|
||||
I.color = basecolor
|
||||
overlays += I
|
||||
|
||||
alpha = BLOODY_FOOTPRINT_BASE_ALPHA+bloodiness
|
||||
alpha = BLOODY_FOOTPRINT_BASE_ALPHA+bloodiness
|
||||
|
||||
/proc/createFootprintsFrom(atom/movable/A, dir, turf/T)
|
||||
var/obj/effect/decal/cleanable/blood/footprints/FP = new /obj/effect/decal/cleanable/blood/footprints(T)
|
||||
if(ishuman(A))
|
||||
var/mob/living/carbon/human/H = A
|
||||
FP.blood_state = H.blood_state
|
||||
FP.bloodiness = H.bloody_feet[H.blood_state]
|
||||
FP.basecolor = H.feet_blood_color
|
||||
if(H.blood_DNA)
|
||||
FP.blood_DNA = H.blood_DNA.Copy()
|
||||
else if(istype(A, /obj/item/clothing/shoes))
|
||||
var/obj/item/clothing/shoes/S = A
|
||||
FP.blood_state = S.blood_state
|
||||
FP.bloodiness = S.bloody_shoes[S.blood_state]
|
||||
FP.basecolor = S.blood_color
|
||||
if(S.blood_DNA)
|
||||
FP.blood_DNA = S.blood_DNA.Copy()
|
||||
FP.entered_dirs |= dir
|
||||
FP.update_icon()
|
||||
|
||||
return FP
|
||||
|
||||
@@ -568,6 +568,8 @@
|
||||
for(var/thing in data["content"])
|
||||
if(islist(thing))
|
||||
list_to_object(thing, src)
|
||||
else if(thing == null)
|
||||
log_runtime(EXCEPTION("Null entry found in storage/deserialize."), src)
|
||||
else
|
||||
log_runtime(EXCEPTION("Non-list thing found in storage/deserialize."), src, list("Thing: [thing]"))
|
||||
..()
|
||||
|
||||
@@ -25,12 +25,14 @@
|
||||
to_chat(user, "<span class='notice'>You carefully locate the manual activation switch and start the positronic brain's boot process.</span>")
|
||||
icon_state = "posibrain-searching"
|
||||
ghost_volunteers.Cut()
|
||||
src.searching = 1
|
||||
src.request_player()
|
||||
searching = 1
|
||||
request_player()
|
||||
spawn(600)
|
||||
if(ghost_volunteers.len)
|
||||
var/mob/dead/observer/O = pick(ghost_volunteers)
|
||||
if(check_observer(O))
|
||||
var/mob/dead/observer/O
|
||||
while(!istype(O) && ghost_volunteers.len)
|
||||
O = pick_n_take(ghost_volunteers)
|
||||
if(istype(O) && check_observer(O))
|
||||
transfer_personality(O)
|
||||
reset_search()
|
||||
else
|
||||
|
||||
@@ -56,13 +56,7 @@
|
||||
else
|
||||
//No oldFP or it's a different kind of blood
|
||||
S.bloody_shoes[S.blood_state] = max(0, S.bloody_shoes[S.blood_state] - BLOOD_LOSS_PER_STEP)
|
||||
var/obj/effect/decal/cleanable/blood/footprints/FP = new /obj/effect/decal/cleanable/blood/footprints(T)
|
||||
FP.blood_state = S.blood_state
|
||||
FP.entered_dirs |= dir
|
||||
FP.bloodiness = S.bloody_shoes[S.blood_state]
|
||||
FP.blood_DNA = S.blood_DNA
|
||||
FP.basecolor = S.blood_color
|
||||
FP.update_icon()
|
||||
createFootprintsFrom(shoes, dir, T)
|
||||
update_inv_shoes()
|
||||
else if(hasfeet)
|
||||
if(bloody_feet && bloody_feet[blood_state])
|
||||
@@ -71,12 +65,7 @@
|
||||
return
|
||||
else
|
||||
bloody_feet[blood_state] = max(0, bloody_feet[blood_state] - BLOOD_LOSS_PER_STEP)
|
||||
var/obj/effect/decal/cleanable/blood/footprints/FP = new /obj/effect/decal/cleanable/blood/footprints(T)
|
||||
FP.blood_state = blood_state
|
||||
FP.entered_dirs |= dir
|
||||
FP.bloodiness = bloody_feet[blood_state]
|
||||
FP.basecolor = feet_blood_color
|
||||
FP.update_icon()
|
||||
createFootprintsFrom(src, dir, T)
|
||||
update_inv_shoes()
|
||||
//End bloody footprints
|
||||
if(S)
|
||||
|
||||
@@ -376,7 +376,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
|
||||
/obj/item/device/pda/proc/id_check(mob/user as mob, choice as num)//To check for IDs; 1 for in-pda use, 2 for out of pda use.
|
||||
if(choice == 1)
|
||||
if(id)
|
||||
remove_id()
|
||||
remove_id(user)
|
||||
else
|
||||
var/obj/item/I = user.get_active_hand()
|
||||
if(istype(I, /obj/item/weapon/card/id))
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
"poweravail" = powmonitor.powernet.avail,
|
||||
"powerload" = num2text(powmonitor.powernet.viewload, 10),
|
||||
"powerdemand" = powmonitor.powernet.load,
|
||||
"apcs" = apc_repository.apc_data(powmonitor))
|
||||
"apcs" = apc_repository.apc_data(powmonitor.powernet))
|
||||
has_back = 1
|
||||
else
|
||||
data["records"] = list(
|
||||
|
||||
@@ -472,4 +472,4 @@
|
||||
if(istype(O, /obj/item/clothing/shoes/galoshes))
|
||||
var/t_loc = get_turf(O)
|
||||
qdel(O)
|
||||
new /obj/item/clothing/shoes/galoshes/dry(t_loc)
|
||||
new /obj/item/clothing/shoes/galoshes/dry(t_loc)
|
||||
|
||||
@@ -4,4 +4,4 @@
|
||||
|
||||
// For expansion later
|
||||
/proc/atoms_share_level(atom/A, atom/B)
|
||||
return A.z == B.z
|
||||
return A && B && A.z == B.z
|
||||
|
||||
@@ -170,6 +170,9 @@ var/list/organ_cache = list()
|
||||
if(antibiotics < 5 && parent.germ_level < germ_level && ( parent.germ_level < INFECTION_LEVEL_ONE*2 || prob(30) ))
|
||||
parent.germ_level++
|
||||
|
||||
/obj/item/organ/internal/handle_germ_effects()
|
||||
..()
|
||||
if(germ_level >= INFECTION_LEVEL_TWO)
|
||||
if(prob(3)) //about once every 30 seconds
|
||||
take_damage(1,silent=prob(30))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user