From 1b27fda9e5531e3d7791edc0aec046f4ffc54710 Mon Sep 17 00:00:00 2001 From: Werner Date: Wed, 15 Nov 2017 06:32:08 +0100 Subject: [PATCH 01/10] Fixes ccia actions not clearing when the char is changed (#3847) Fixes the following issue: Char A joins with ccia actions Char A cryos Char B is loaded and joins CCIA Actions from A show up at B Its caused by not clearing the previous list of ccia actions before loading in the actions for Char B --- code/modules/client/preference_setup/other/01_incidents.dm | 1 + 1 file changed, 1 insertion(+) 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 From cfe5a573af7685d3ae91415168635dcefc02c8ed Mon Sep 17 00:00:00 2001 From: Ron Date: Thu, 16 Nov 2017 17:54:33 -0500 Subject: [PATCH 02/10] Runtime fixes (#3859) runtime error: [02:57:31]undefined proc or verb /datum/weakref/get species(). [02:57:31]proc name: ui interact (/obj/machinery/disease2/isolator/ui_interact) [02:57:31] source file: isolator.dm,77 Fixes #3856 runtime error: [18:55:40]undefined proc or verb /datum/weakref/get species(). [18:55:40]proc name: do print (/obj/machinery/disease2/isolator/proc/do_print) [18:55:40] source file: isolator.dm,193 runtime error: [21:06:47]Cannot read null.vision_flags [21:06:47]proc name: handle regular hud updates (/mob/living/carbon/alien/handle_regular_hud_updates) [21:06:47] source file: life.dm,102 runtime error: [21:09:20]Cannot read null.stored_plasma [21:09:20]proc name: handle environment special (/datum/species/xenos/handle_environment_special) [21:09:20] source file: alien_species.dm,131 --- code/modules/mob/living/carbon/alien/life.dm | 2 +- .../carbon/human/species/xenomorphs/alien_species.dm | 5 +++-- code/modules/virus2/isolator.dm | 12 +++++++----- 3 files changed, 11 insertions(+), 8 deletions(-) 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/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:
" From e26887cef01380ee0e7e318695d2ca9342c1ba51 Mon Sep 17 00:00:00 2001 From: TheGreatJorge <23423301+TheGreatJorge@users.noreply.github.com> Date: Sat, 18 Nov 2017 07:49:15 +0100 Subject: [PATCH 03/10] Map-fixes (#3852) --- maps/aurora/aurora-3_sublevel.dmm | 12 ++++-------- maps/aurora/aurora-4_mainlevel.dmm | 6 +++--- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/maps/aurora/aurora-3_sublevel.dmm b/maps/aurora/aurora-3_sublevel.dmm index 6e2980ef8cb..1fe4d0265c9 100644 --- a/maps/aurora/aurora-3_sublevel.dmm +++ b/maps/aurora/aurora-3_sublevel.dmm @@ -2344,10 +2344,6 @@ icon_state = "rwindow"; dir = 1 }, -/obj/machinery/atmospherics/pipe/manifold/visible/red{ - icon_state = "map"; - dir = 8 - }, /obj/machinery/atmospherics/pipe/simple/visible/red{ icon_state = "intact"; dir = 5 @@ -11594,7 +11590,7 @@ "uX" = ( /obj/machinery/door/airlock/engineering{ name = "Medbay Substation"; - req_one_access = list(11,24,5) + req_one_access = list(11,24) }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, @@ -12295,7 +12291,7 @@ /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering{ name = "Medbay Substation"; - req_one_access = list(11,24,5) + req_one_access = list(11,24) }, /obj/structure/cable/green{ d1 = 1; @@ -14914,7 +14910,7 @@ "AJ" = ( /obj/machinery/door/airlock/engineering{ name = "Science Substation"; - req_one_access = list(11,24,7) + req_one_access = list(11,24) }, /obj/structure/cable/green{ d1 = 1; @@ -14932,7 +14928,7 @@ }, /obj/machinery/door/airlock/engineering{ name = "Science Substation"; - req_one_access = list(11,24,7) + req_one_access = list(11,24) }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, diff --git a/maps/aurora/aurora-4_mainlevel.dmm b/maps/aurora/aurora-4_mainlevel.dmm index f1cb5586b68..55ff00b07b0 100644 --- a/maps/aurora/aurora-4_mainlevel.dmm +++ b/maps/aurora/aurora-4_mainlevel.dmm @@ -5519,7 +5519,7 @@ d2 = 8; icon_state = "2-8" }, -/obj/machinery/atmospherics/pipe/manifold/visible/red, +/obj/machinery/atmospherics/pipe/manifold4w/visible/red, /turf/simulated/floor/tiled, /area/engineering/atmos) "alq" = ( @@ -61675,7 +61675,7 @@ }, /obj/machinery/door/airlock/maintenance{ name = "Maintenance Access"; - req_access = list(9) + req_access = list(47) }, /turf/simulated/floor/tiled/white, /area/maintenance/research_port) @@ -88530,7 +88530,7 @@ bJL bHq bHq bHq -bLX +bJM bMx baD aLf From 823fd4895b4698bf8132f88fc280b9448b858798 Mon Sep 17 00:00:00 2001 From: Alberyk Date: Sat, 18 Nov 2017 18:49:57 -0200 Subject: [PATCH 04/10] Removes telecomms code being able to know someone's species (#3864) Pretty much lame and used to bust lings and voicechangers with little effort. --- code/game/machinery/telecomms/telecomunications.dm | 11 +++-------- html/changelogs/alberky-telecomms.yml | 6 ++++++ 2 files changed, 9 insertions(+), 8 deletions(-) create mode 100644 html/changelogs/alberky-telecomms.yml 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/html/changelogs/alberky-telecomms.yml b/html/changelogs/alberky-telecomms.yml new file mode 100644 index 00000000000..dcc68d6d641 --- /dev/null +++ b/html/changelogs/alberky-telecomms.yml @@ -0,0 +1,6 @@ +author: Alberyk + +delete-after: True + +changes: + - rscdel: "Removed telecomms being able to identify the speaker's species with precision." From 5f8cc60210e164c887c3532f7434d77822d0b319 Mon Sep 17 00:00:00 2001 From: Lohikar Date: Sun, 19 Nov 2017 03:22:51 -0600 Subject: [PATCH 05/10] Fix a lighting bug (#3879) Fixes an issue where when the tile in front of a directional light changed opacity without the dir on the light changing, the directional light would not properly transition between omnidirectional and directional lights. --- code/modules/lighting/lighting_source.dm | 5 ++++- html/changelogs/lohikar-opacity.yml | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 html/changelogs/lohikar-opacity.yml 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/html/changelogs/lohikar-opacity.yml b/html/changelogs/lohikar-opacity.yml new file mode 100644 index 00000000000..990bab02006 --- /dev/null +++ b/html/changelogs/lohikar-opacity.yml @@ -0,0 +1,4 @@ +author: Lohikar +delete-after: True +changes: + - bugfix: "Fixed an issue where walking through doors with lights could screw up directional lighting." From 8e0797249e0128db0de54c676c7af7835064ee1e Mon Sep 17 00:00:00 2001 From: Ron Date: Sun, 19 Nov 2017 15:57:01 -0500 Subject: [PATCH 06/10] Bug fixes (#3880) Fixes #3873 Fixes #3874 Fixes #3869 Fixes #3857 --- code/game/machinery/wall_frames.dm | 1 + code/game/mecha/working/ripley.dm | 2 +- code/game/objects/structures/electricchair.dm | 1 + code/modules/mob/living/silicon/ai/ai.dm | 11 ++++++----- 4 files changed, 9 insertions(+), 6 deletions(-) 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/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index a9a147108e0..9477f9ba6fb 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. From 6be2ca5ba6a15dc80747a5f2ce4c538979cf56f7 Mon Sep 17 00:00:00 2001 From: Mykhailo Bykhovtsev Date: Sun, 19 Nov 2017 12:57:42 -0800 Subject: [PATCH 07/10] Fixed Emergency Shutters not closing. And Top-hat Sprite (#3863) Fixes #3860. Emergency Shutters were not closing using crowbar, fireaxe or hammer. Changed sprite of right/left top hat being held, view from the back(North). So it seems that hat is in front of character. Fixes #3853. --- code/game/machinery/doors/firedoor.dm | 2 +- icons/mob/items/lefthand_hats.dmi | Bin 4554 -> 4581 bytes icons/mob/items/righthand_hats.dmi | Bin 5112 -> 5136 bytes 3 files changed, 1 insertion(+), 1 deletion(-) 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/icons/mob/items/lefthand_hats.dmi b/icons/mob/items/lefthand_hats.dmi index 2cae6e7e9673ee973406b988dd44a064270e039f..1c587ca397cecee2eb992ec7b011330d6b6085c3 100644 GIT binary patch delta 3588 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 KzgX{9bNEQuJqvTu!@u82|L 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 delta 3760 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 Date: Mon, 20 Nov 2017 00:37:44 +0200 Subject: [PATCH 08/10] Changelogs, 19NOV2017 --- html/changelog.html | 10 ++++++++++ html/changelogs/.all_changelog.yml | 6 ++++++ html/changelogs/alberky-telecomms.yml | 6 ------ html/changelogs/lohikar-opacity.yml | 4 ---- 4 files changed, 16 insertions(+), 10 deletions(-) delete mode 100644 html/changelogs/alberky-telecomms.yml delete mode 100644 html/changelogs/lohikar-opacity.yml 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:

+
    +
  • Removed telecomms being able to identify the speaker's species with precision.
  • +
+

Lohikar updated:

+
    +
  • Fixed an issue where walking through doors with lights could screw up directional lighting.
  • +
+

11 November 2017

TheGreatJorge updated:

    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 36e78c8d32a..d368e99c3e1 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -4818,3 +4818,9 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. 2017-11-11: TheGreatJorge: - bugfix: Turret controls should now work with turrets correctly once again. +2017-11-20: + Alberyk: + - rscdel: Removed telecomms being able to identify the speaker's species with precision. + Lohikar: + - bugfix: Fixed an issue where walking through doors with lights could screw up + directional lighting. diff --git a/html/changelogs/alberky-telecomms.yml b/html/changelogs/alberky-telecomms.yml deleted file mode 100644 index dcc68d6d641..00000000000 --- a/html/changelogs/alberky-telecomms.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: Alberyk - -delete-after: True - -changes: - - rscdel: "Removed telecomms being able to identify the speaker's species with precision." diff --git a/html/changelogs/lohikar-opacity.yml b/html/changelogs/lohikar-opacity.yml deleted file mode 100644 index 990bab02006..00000000000 --- a/html/changelogs/lohikar-opacity.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Lohikar -delete-after: True -changes: - - bugfix: "Fixed an issue where walking through doors with lights could screw up directional lighting." From eab62130305d84ed509524c7b2a081f935efc1ca Mon Sep 17 00:00:00 2001 From: MarinaGryphon Date: Mon, 20 Nov 2017 20:43:32 -0600 Subject: [PATCH 09/10] Fixes #3817 (#3895) --- code/modules/mob/living/carbon/alien/alien_attacks.dm | 2 +- html/changelogs/3895-moondancerpony.yml | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 html/changelogs/3895-moondancerpony.yml 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/html/changelogs/3895-moondancerpony.yml b/html/changelogs/3895-moondancerpony.yml new file mode 100644 index 00000000000..d7090e23450 --- /dev/null +++ b/html/changelogs/3895-moondancerpony.yml @@ -0,0 +1,4 @@ +author: MoondancerPony +delete-after: True +changes: + - bugfix: "Removed diona nymph mind control. (Players will no longer aggressively grab themselves when trying to grab a diona nymph.)" From 1ab9c4784144906cbe77c9397feee81e9ff25891 Mon Sep 17 00:00:00 2001 From: Lohikar Date: Wed, 22 Nov 2017 01:50:52 -0600 Subject: [PATCH 10/10] Speculative fix for timer crashes (#3900) Hopefully fixes a potential rounding error in SStimer that was leading to crashes. Would like a testmerge on this. --- code/controllers/subsystems/timer.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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)