From 77c4ba2014c709eb015a20007976f88a8d707dd0 Mon Sep 17 00:00:00 2001 From: Albert Iordache Date: Tue, 12 Jun 2012 09:37:36 +0300 Subject: [PATCH 1/4] Searif: Updated Skrell whitelist --- config/alienwhitelist.txt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/config/alienwhitelist.txt b/config/alienwhitelist.txt index ecea79baedb..c8d17badd12 100644 --- a/config/alienwhitelist.txt +++ b/config/alienwhitelist.txt @@ -1,10 +1,14 @@ botanistpower - Tajaran +bluefishie - Skrell +densane - Skrell +duntadaman - Skrell fenrisian - Tajaran forsamori - Tajaran -watermelonstorm - Tajaran forsamori - Soghun galenus - Soghun +masterofstuff - Skrell searif - Soghun searif - Tajaran searif - Skrell -watermelonstorm - Tajaran +sparklysheep - Skrell +watermelonstorm - Tajaran \ No newline at end of file From d3258b4fed6dc1dda221b0dde0b41d063b989fc4 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Wed, 13 Jun 2012 16:55:00 -0700 Subject: [PATCH 2/4] ZAS fixes and statistics logging. --- code/ZAS/Connection.dm | 4 ++++ code/ZAS/FEA_system.dm | 7 +++++++ code/ZAS/Functions.dm | 5 +---- code/game/objects/explosion.dm | 2 ++ code/modules/mob/death.dm | 2 ++ 5 files changed, 16 insertions(+), 4 deletions(-) diff --git a/code/ZAS/Connection.dm b/code/ZAS/Connection.dm index b517aa4e513..41fba731be3 100644 --- a/code/ZAS/Connection.dm +++ b/code/ZAS/Connection.dm @@ -63,6 +63,8 @@ connection B.zone.connected_zones[A.zone] = 1 else B.zone.connected_zones[A.zone]++ + if(A.HasDoor(B) || B.HasDoor(A)) + indirect = 1 else world.log << "Attempted to create connection object for non-zone tiles: [T] -> [O]" del(src) @@ -193,6 +195,8 @@ connection Cleanup() if(!A.CanPass(null, B, 0, 0) || !B.CanPass(null, A, 0, 0)) del src + if(A.HasDoor(B) || B.HasDoor(A)) + indirect = 1 proc/Sanitize() //If the zones change on connected turfs, update it. diff --git a/code/ZAS/FEA_system.dm b/code/ZAS/FEA_system.dm index 4d64c2e6bc4..fcd71dbff51 100644 --- a/code/ZAS/FEA_system.dm +++ b/code/ZAS/FEA_system.dm @@ -107,6 +107,7 @@ datum var/current_cycle = 0 var/update_delay = 5 //How long between check should it try to process atmos again. var/failed_ticks = 0 //How many ticks have runtimed? + var/next_stat_check = 10 /* process() @@ -167,6 +168,12 @@ datum proc/tick() + if(current_cycle >= next_stat_check) + var/zone/z = pick(zones) + var/log_file = file("[time2text(world.timeofday, "statistics/DD-MM-YYYY.txt")]") + log_file << "Zone | \The [get_area(pick(z.contents))] | [z.air.oxygen], [z.air.nitrogen], [z.air.carbon_dioxide], [z.air.toxins] | [z.air.temperature] | [z.air.group_multiplier * z.air.volume]" + next_stat_check = current_cycle + (rand(5,7)*60) + if(tiles_to_update.len > 0) //If there are tiles to update, do so. for(var/turf/simulated/T in tiles_to_update) T.update_air_properties() diff --git a/code/ZAS/Functions.dm b/code/ZAS/Functions.dm index ee1a5f27143..19b8b0af170 100644 --- a/code/ZAS/Functions.dm +++ b/code/ZAS/Functions.dm @@ -126,10 +126,7 @@ proc/ZConnect(turf/A,turf/B) if(C.B == B || C.A == B) return - var/connection/C = new(A,B) - - //Ensure zones separated by doors do not merge. - if(A.HasDoor(B) || B.HasDoor(A)) C.indirect = 1 + new /connection(A,B) /* proc/ZDisconnect(turf/A,turf/B) diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm index 3210d70d6ef..cf5fc859d66 100644 --- a/code/game/objects/explosion.dm +++ b/code/game/objects/explosion.dm @@ -2,6 +2,8 @@ var/roundExplosions = 1 proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, adminlog = 1) if(!epicenter) return + var/log_file = file("[time2text(world.timeofday, "statistics/DD-MM-YYYY.txt")]") + log_file << "Explosion | \The [get_area(epicenter)] | [devastation_range], [heavy_impact_range], [light_impact_range], [flash_range]" spawn(0) if(defer_powernet_rebuild != 2) defer_powernet_rebuild = 1 diff --git a/code/modules/mob/death.dm b/code/modules/mob/death.dm index 6b714b2dd31..4530b9391ea 100644 --- a/code/modules/mob/death.dm +++ b/code/modules/mob/death.dm @@ -47,6 +47,8 @@ /mob/proc/death(gibbed) timeofdeath = world.time + var/log_file = file("[time2text(world.timeofday, "statistics/DD-MM-YYYY.txt")]") + log_file << "Death | \The [get_area(src)] | [bruteloss], [oxyloss], [toxloss], [fireloss][attack_log && attack_log.len? " | attack_log[attack_log.len]" : ""]" if(client) client.onDeath() From 606efcb5141abb7d3e674c8a0703352580add050 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Wed, 13 Jun 2012 19:04:55 -0700 Subject: [PATCH 3/4] Fixes the goddamn magick updating detective stuff. --- code/game/objects/devices/PDA/cart.dm | 6 +++--- code/modules/DetectiveWork/detective_work.dm | 18 +++++++++--------- code/modules/DetectiveWork/scanner.dm | 6 +++--- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/code/game/objects/devices/PDA/cart.dm b/code/game/objects/devices/PDA/cart.dm index b715f080d42..1449807e526 100644 --- a/code/game/objects/devices/PDA/cart.dm +++ b/code/game/objects/devices/PDA/cart.dm @@ -612,9 +612,9 @@ Code: blood[main_blood] = A.blood_DNA[blood] return 1 var/list/sum_list[4] //Pack it back up! - sum_list[1] = A.fingerprints - sum_list[2] = A.suit_fibers - sum_list[3] = A.blood_DNA + sum_list[1] = A.fingerprints.Copy() + sum_list[2] = A.suit_fibers.Copy() + sum_list[3] = A.blood_DNA.Copy() sum_list[4] = "\The [A] in \the [get_area(A)]" stored_data["\ref [A]"] = sum_list return 0 diff --git a/code/modules/DetectiveWork/detective_work.dm b/code/modules/DetectiveWork/detective_work.dm index 918a43d1c90..d30bf69e5b6 100644 --- a/code/modules/DetectiveWork/detective_work.dm +++ b/code/modules/DetectiveWork/detective_work.dm @@ -513,10 +513,10 @@ obj/machinery/computer/forensic_scanning prints[print] = atom_fingerprints[print] else var/list/templist[4] - templist[1] = atom_suit_fibers - templist[2] = atom_blood_DNA + templist[1] = atom_suit_fibers.Copy() + templist[2] = atom_blood_DNA.Copy() templist[3] = atom_name - templist[4] = atom_fingerprints + templist[4] = atom_fingerprints.Copy() misc[atom_reference] = templist //Store it! //Has prints. if(atom_fingerprints) @@ -560,17 +560,17 @@ obj/machinery/computer/forensic_scanning //It's not in there! We gotta add it. update_fingerprints(main_print, atom_fingerprints[main_print]) var/list/data_point[4] - data_point[1] = atom_fingerprints - data_point[2] = atom_suit_fibers - data_point[3] = atom_blood_DNA + data_point[1] = atom_fingerprints.Copy() + data_point[2] = atom_suit_fibers.Copy() + data_point[3] = atom_blood_DNA.Copy() data_point[4] = atom_name data_entry[atom_reference] = data_point continue //No print at all! New data entry, go! var/list/data_point[4] - data_point[1] = atom_fingerprints - data_point[2] = atom_suit_fibers - data_point[3] = atom_blood_DNA + data_point[1] = atom_fingerprints.Copy() + data_point[2] = atom_suit_fibers.Copy() + data_point[3] = atom_blood_DNA.Copy() data_point[4] = atom_name var/list/new_file[2] new_file[1] = atom_fingerprints[main_print] diff --git a/code/modules/DetectiveWork/scanner.dm b/code/modules/DetectiveWork/scanner.dm index 65285684049..26f30bd9525 100644 --- a/code/modules/DetectiveWork/scanner.dm +++ b/code/modules/DetectiveWork/scanner.dm @@ -164,9 +164,9 @@ blood[main_blood] = A.blood_DNA[blood] return 1 var/list/sum_list[4] //Pack it back up! - sum_list[1] = A.fingerprints - sum_list[2] = A.suit_fibers - sum_list[3] = A.blood_DNA + sum_list[1] = A.fingerprints.Copy() + sum_list[2] = A.suit_fibers.Copy() + sum_list[3] = A.blood_DNA.Copy() sum_list[4] = "\The [A] in \the [get_area(A)]" stored["\ref [A]"] = sum_list return 0 \ No newline at end of file From a278b7c29fdc8a856321fbf820c0445978934297 Mon Sep 17 00:00:00 2001 From: Albert Iordache Date: Thu, 14 Jun 2012 07:50:19 +0300 Subject: [PATCH 4/4] Runtime error fixes for AI camera chunks and ZAS ZConnect() --- code/WorkInProgress/AI_Visibility/chunk.dm | 9 ++++++--- code/ZAS/Functions.dm | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/code/WorkInProgress/AI_Visibility/chunk.dm b/code/WorkInProgress/AI_Visibility/chunk.dm index 73306facb4f..f0a10a07eea 100644 --- a/code/WorkInProgress/AI_Visibility/chunk.dm +++ b/code/WorkInProgress/AI_Visibility/chunk.dm @@ -216,6 +216,9 @@ images_added += t.obscured for(var/mob/aiEye/eye in seenby) - if(eye.ai.client) - eye.ai.client.images -= images_removed - eye.ai.client.images |= images_added + if(eye.ai) + if(eye.ai.client) + eye.ai.client.images -= images_removed + eye.ai.client.images |= images_added + else + seenby -= eye \ No newline at end of file diff --git a/code/ZAS/Functions.dm b/code/ZAS/Functions.dm index 19b8b0af170..bc25ea165bb 100644 --- a/code/ZAS/Functions.dm +++ b/code/ZAS/Functions.dm @@ -123,7 +123,7 @@ proc/ZConnect(turf/A,turf/B) var/list/connections = air_master.tiles_with_connections["\ref[A]"] for(var/connection/C in connections) C.Cleanup() - if(C.B == B || C.A == B) + if(C && (C.B == B || C.A == B)) return new /connection(A,B)