diff --git a/code/controllers/subsystems/timer.dm b/code/controllers/subsystems/timer.dm index bc222ee486a..80c78e7ca14 100644 --- a/code/controllers/subsystems/timer.dm +++ b/code/controllers/subsystems/timer.dm @@ -1,4 +1,4 @@ -#define BUCKET_LEN (world.fps*1*60) //how many ticks should we keep in the bucket. (1 minutes worth) +#define BUCKET_LEN (round(10*(60/world.tick_lag), 1)) //how many ticks should we keep in the bucket. (1 minutes worth) #define BUCKET_POS(timer) (round((timer.timeToRun - SStimer.head_offset) / world.tick_lag) + 1) #define TIMER_ID_MAX (2**24) //max float with integer precision @@ -30,12 +30,13 @@ var/datum/controller/subsystem/timer/SStimer var/static/bucket_auto_reset = TRUE var/static/times_flushed = 0 + var/static/times_crashed = 0 /datum/controller/subsystem/timer/New() NEW_SS_GLOBAL(SStimer) /datum/controller/subsystem/timer/stat_entry(msg) - ..("B:[bucket_count] P:[length(processing)] H:[length(hashes)] C:[length(clienttime_timers)]") + ..("B:[bucket_count] P:[length(processing)] H:[length(hashes)] C:[length(clienttime_timers)][times_crashed ? " F:[times_crashed]" : ""]") /datum/controller/subsystem/timer/fire(resumed = FALSE) var/lit = last_invoke_tick @@ -49,6 +50,7 @@ var/datum/controller/subsystem/timer/SStimer if(lit && lit < last_check && last_invoke_warning < last_check) last_invoke_warning = world.time var/msg = "No regular timers processed in the last [TIMER_NO_INVOKE_WARNING] ticks[bucket_auto_reset ? ", resetting buckets" : ""]!" + times_crashed++ message_admins(msg) WARNING(msg) if(bucket_auto_reset) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 65c82223d87..e2361906e49 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -287,7 +287,7 @@ if(density) open(1, user) else - open(0, user) + close() return return ..() diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm index 16c9b841cba..199a511a85f 100644 --- a/code/game/machinery/telecomms/telecomunications.dm +++ b/code/game/machinery/telecomms/telecomunications.dm @@ -541,14 +541,9 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() log.parameters["realname"] = signal.data["realname"] log.parameters["language"] = signal.data["language"] - var/race = "unknown" - if(ishuman(M)) - var/mob/living/carbon/human/H = M - race = "[H.species.name]" - log.parameters["intelligible"] = 1 - else if(isbrain(M)) - var/mob/living/carbon/brain/B = M - race = "[B.species.name]" + var/race = "Unknown" + if(ishuman(M) || isbrain(M)) + race = "Sapient Species" log.parameters["intelligible"] = 1 else if(M.isMonkey()) race = "Monkey" diff --git a/code/game/machinery/wall_frames.dm b/code/game/machinery/wall_frames.dm index 5c3a3c4cf66..532e43c1062 100644 --- a/code/game/machinery/wall_frames.dm +++ b/code/game/machinery/wall_frames.dm @@ -55,6 +55,7 @@ name = "fire alarm frame" desc = "Used for building fire alarms." build_machine_type = /obj/machinery/firealarm + reverse = 1 /obj/item/frame/air_alarm name = "air alarm frame" diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index b7e7b87125e..68c00d13721 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -22,7 +22,7 @@ return ..() /obj/mecha/working/ripley/firefighter - desc = "Standart APLU chassis was refitted with additional thermal protection and cistern." + desc = "Standard APLU chassis was refitted with additional thermal protection and cistern." name = "APLU \"Firefighter\"" icon_state = "firefighter" initial_icon = "firefighter" diff --git a/code/game/objects/structures/electricchair.dm b/code/game/objects/structures/electricchair.dm index 3263f70e9ec..dbca0602ad0 100644 --- a/code/game/objects/structures/electricchair.dm +++ b/code/game/objects/structures/electricchair.dm @@ -33,6 +33,7 @@ icon_state = "echair0" else on = 1 + shock() icon_state = "echair1" usr << "You switch [on ? "on" : "off"] [src]." return diff --git a/code/modules/client/preference_setup/other/01_incidents.dm b/code/modules/client/preference_setup/other/01_incidents.dm index ab09f454992..0b888cd9834 100644 --- a/code/modules/client/preference_setup/other/01_incidents.dm +++ b/code/modules/client/preference_setup/other/01_incidents.dm @@ -4,6 +4,7 @@ /datum/category_item/player_setup_item/other/incidents/load_special(var/savefile/S) pref.incidents = list() + pref.ccia_actions = list() //Special Aurora Snowflake to load in the ccia actions and persistant incidents if (config.sql_saves) // Doesnt work without db diff --git a/code/modules/lighting/lighting_source.dm b/code/modules/lighting/lighting_source.dm index b5e8b959efe..d4a2d21e2c0 100644 --- a/code/modules/lighting/lighting_source.dm +++ b/code/modules/lighting/lighting_source.dm @@ -329,7 +329,10 @@ if (co_updated) // We might be facing a wall now. var/turf/front = get_step(source_turf, old_direction) - facing_opaque = (front && front.has_opaque_atom) + var/new_fo = (front && front.has_opaque_atom) + if (new_fo != facing_opaque) + facing_opaque = new_fo + regenerate_angle(ndir) update = TRUE diff --git a/code/modules/mob/living/carbon/alien/alien_attacks.dm b/code/modules/mob/living/carbon/alien/alien_attacks.dm index 149dc6e0b48..b1d75e92906 100644 --- a/code/modules/mob/living/carbon/alien/alien_attacks.dm +++ b/code/modules/mob/living/carbon/alien/alien_attacks.dm @@ -15,7 +15,7 @@ if (I_GRAB) if (M == src) return - var/obj/item/weapon/grab/G = new /obj/item/weapon/grab( M, M, src ) + var/obj/item/weapon/grab/G = new /obj/item/weapon/grab( M, src ) M.put_in_active_hand(G) diff --git a/code/modules/mob/living/carbon/alien/life.dm b/code/modules/mob/living/carbon/alien/life.dm index fe0a18064c1..4688363a200 100644 --- a/code/modules/mob/living/carbon/alien/life.dm +++ b/code/modules/mob/living/carbon/alien/life.dm @@ -99,7 +99,7 @@ see_in_dark = 8 see_invisible = SEE_INVISIBLE_LEVEL_TWO else if (stat != 2 && is_ventcrawling == 0) - if (species.vision_flags) + if (species && species.vision_flags) sight = species.vision_flags else sight &= ~(SEE_TURFS|SEE_MOBS|SEE_OBJS) diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm index b76a996c13a..74756de6a8c 100644 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm @@ -128,8 +128,9 @@ var/obj/effect/plant/plant = locate() in T if((environment.gas["phoron"] > 0 || (plant && plant.seed && plant.seed.name == "xenomorph")) && !regenerate(H)) var/obj/item/organ/xenos/plasmavessel/P = H.internal_organs_by_name["plasma vessel"] - P.stored_plasma += weeds_plasma_rate - P.stored_plasma = min(max(P.stored_plasma,0),P.max_plasma) + if(istype(P)) + P.stored_plasma += weeds_plasma_rate + P.stored_plasma = min(max(P.stored_plasma,0),P.max_plasma) ..() /datum/species/xenos/proc/regenerate(var/mob/living/carbon/human/H) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 8b1ec44e6d6..85a5e4b2304 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -145,17 +145,18 @@ var/list/ai_verbs_default = list( add_ai_verbs(src) //Languages - add_language("Robot Talk", 1) - add_language("Ceti Basic", 1) - add_language("Sol Common", 0) + add_language(LANGUAGE_ROBOT, 1) + add_language(LANGUAGE_TCB, 1) + add_language(LANGUAGE_SOL_COMMON, 0) add_language(LANGUAGE_UNATHI, 0) add_language(LANGUAGE_SIIK_MAAS, 0) add_language(LANGUAGE_SKRELLIAN, 0) - add_language("Tradeband", 1) + add_language(LANGUAGE_TRADEBAND, 1) add_language(LANGUAGE_GUTTER, 0) add_language(LANGUAGE_VAURCA, 0) - add_language("Rootsong", 0) + add_language(LANGUAGE_ROOTSONG, 0) add_language(LANGUAGE_EAL, 1) + add_language(LANGUAGE_YA_SSA, 0) if(!safety)//Only used by AIize() to successfully spawn an AI. if (!B)//If there is no player/brain inside. diff --git a/code/modules/virus2/isolator.dm b/code/modules/virus2/isolator.dm index 7ef51a73b48..1ab4eab7bef 100644 --- a/code/modules/virus2/isolator.dm +++ b/code/modules/virus2/isolator.dm @@ -71,10 +71,11 @@ var/datum/data/record/R = null if (ID in virusDB) R = virusDB[ID] - - var/mob/living/carbon/human/D = B.data["donor"] + + var/datum/weakref/A = B.data["donor"] + var/mob/living/carbon/human/D = A.resolve() pathogen_pool.Add(list(list(\ - "name" = "[D.get_species()] [B.name]", \ + "name" = "[D ? D.get_species() : "unknown"] [B.name]", \ "dna" = B.data["blood_DNA"], \ "unique_id" = V.uniqueID, \ "reference" = "\ref[V]", \ @@ -188,8 +189,9 @@ info += "
" for(var/datum/reagent/blood/B in sample.reagents.reagent_list) - var/mob/living/carbon/human/D = B.data["donor"] - info += "[D.get_species()] [B.name]:
[B.data["blood_DNA"]]
" + var/datum/weakref/A = B.data["donor"] + var/mob/living/carbon/human/D = A.resolve() + info += "[D ? D.get_species() : "unknown"] [B.name]:
[B.data["blood_DNA"]]
" var/list/virus = B.data["virus2"] info += "Pathogens:
" diff --git a/html/changelog.html b/html/changelog.html index 9b53c19cd06..436111ee828 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,16 @@ -->
+

20 November 2017

+

Alberyk updated:

+ +

Lohikar updated:

+ +

11 November 2017

TheGreatJorge updated: