diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index 7518f65f1b7..2e22c1d9b12 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -103,6 +103,7 @@ var/list/gamemode_cache = list() var/banappeals var/wikiurl var/forumurl + var/forum_passphrase var/githuburl //Alert level description @@ -458,6 +459,9 @@ var/list/gamemode_cache = list() if ("forumurl") config.forumurl = value + if ("forum_passphrase") + config.forum_passphrase = value + if ("githuburl") config.githuburl = value diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index bd47bea6939..72059bc02b5 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -71,6 +71,9 @@ var/global/list/image/splatter_cache=list() if(amount < 1) return + if (!blood_DNA || !islist(blood_DNA)) + blood_DNA = list() + var/obj/item/organ/external/l_foot = perp.get_organ("l_foot") var/obj/item/organ/external/r_foot = perp.get_organ("r_foot") var/hasfeet = 1 diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm index ded727606aa..ab4a7e45539 100644 --- a/code/modules/admin/IsBanned.dm +++ b/code/modules/admin/IsBanned.dm @@ -85,6 +85,8 @@ world/IsBanned(key,address,computer_id) expires = " The ban is for [duration] minutes and expires on [expiration] (server time)." var/desc = "\nReason: You, or another user of this computer or connection ([pckey]) is banned from playing here. The ban reason is:\n[reason]\nThis ban was applied by [ackey] on [bantime], [expires]" + if (config.forum_passphrase) + desc += "\nTo register on the forums, please use the following passphrase: [config.forum_passphrase]" return list("reason"="[bantype]", "desc"="[desc]", "id" = ban_id) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index e5cc59abe1c..03356d8fc24 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -99,7 +99,8 @@ var/list/admin_verbs_admin = list( /client/proc/cmd_dev_bst, /client/proc/clear_toxins, /client/proc/wipe_ai, // allow admins to force-wipe AIs - /client/proc/flush_lighting_queues + /client/proc/flush_lighting_queues, + /client/proc/fix_player_list ) var/list/admin_verbs_ban = list( /client/proc/unban_panel, @@ -205,7 +206,8 @@ var/list/admin_verbs_debug = list( /client/proc/toggle_recursive_explosions, /client/proc/restart_sql, /client/proc/flush_lighting_queues, - /client/proc/debug_pooling + /client/proc/debug_pooling, + /client/proc/fix_player_list ) var/list/admin_verbs_paranoid_debug = list( @@ -1073,3 +1075,29 @@ var/list/admin_verbs_cciaa = list( lighting_update_lights = list() lighting_update_corners = list() lighting_update_overlays = list() + +/client/proc/fix_player_list() + set category = "Special Verbs" + set name = "Regenerate Player List" + set desc = "Use this to regenerate the player list if it becomes broken somehow." + + if (!check_rights(R_DEBUG|R_ADMIN)) + return + + if (alert("Regenerate player lists?", "Player List Repair", "No", "No", "Yes") != "Yes") + return + + log_and_message_admins("is rebuilding the master player mob list.") + for (var/P in player_list) + if (isnull(P) || !ismob(P)) + var/msg = "P_LIST DEBUG: Found null entry in player_list!" + log_debug(msg) + message_admins(span("danger", msg)) + player_list -= P + else + var/mob/M = P + if (!M.client) + var/msg = "P_LIST DEBUG: Found a mob without a client in player_list! [M.name]" + log_debug(msg) + message_admins(span("danger", msg)) + player_list -= M diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index f7e91b79c4e..3e1aff69924 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -32,7 +32,7 @@ var/obj/item/organ/external/E = get_organ(organ_name) if(!E || E.is_stump()) tally += 4 - if(E.status & ORGAN_SPLINTED) + else if(E.status & ORGAN_SPLINTED) tally += 0.5 else if(E.status & ORGAN_BROKEN) tally += 1.5 diff --git a/code/modules/mob/living/carbon/viruses.dm b/code/modules/mob/living/carbon/viruses.dm index 1d454f3b0e5..0aea7ac3f9a 100644 --- a/code/modules/mob/living/carbon/viruses.dm +++ b/code/modules/mob/living/carbon/viruses.dm @@ -13,17 +13,22 @@ for(var/obj/effect/decal/cleanable/O in view(1,src)) if(istype(O,/obj/effect/decal/cleanable/blood)) var/obj/effect/decal/cleanable/blood/B = O - if(B.virus2 && B.virus2.len) - for (var/ID in B.virus2) - var/datum/disease2/disease/V = B.virus2[ID] - infect_virus2(src,V) + if (B.virus2 && islist(B.virus2)) + if(B.virus2.len) + for (var/ID in B.virus2) + var/datum/disease2/disease/V = B.virus2[ID] + infect_virus2(src,V) + else + B.virus2 = list() else if(istype(O,/obj/effect/decal/cleanable/mucus)) var/obj/effect/decal/cleanable/mucus/M = O - if(M.virus2 && M.virus2.len) + if(M.virus2 && islist(M.virus2) && M.virus2.len) for (var/ID in M.virus2) var/datum/disease2/disease/V = M.virus2[ID] infect_virus2(src,V) + else + M.virus2 = list() if(virus2 && virus2.len) for (var/ID in virus2) diff --git a/config/example/config.txt b/config/example/config.txt index dab0413e199..7f730bef569 100644 --- a/config/example/config.txt +++ b/config/example/config.txt @@ -207,6 +207,9 @@ GUEST_BAN ## forum address # FORUMURL http://example.com +## The passphrase for the forums +# FORUM_PASSPHRASE + ## Wiki address # WIKIURL http://example.com @@ -414,7 +417,7 @@ STARLIGHT 0 ## Uncomment to enable simple Skype/Discord style markup over OOC, LOOC, and say. #ALLOW_CHAT_MARKUP -## Default language prefix keys, separated with spaces. Only single character keys are supported. If unset, defaults to , # and - +## Default language prefix keys, separated with spaces. Only single character keys are supported. If unset, defaults to , # and - # DEFAULT_LANGUAGE_PREFIXES , # - ## A ; separated list of lobby screens to randomly pick from. The listed screens must exist as icon states in '/icons/misc/title.dmi'. diff --git a/html/changelog.html b/html/changelog.html index ffb5358b9da..ffdefd98168 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,15 @@ -->
+

07 February 2017

+

Lohikar updated:

+ +

03 February 2017

Alberyk updated: