diff --git a/code/game/cellautomata.dm b/code/game/cellautomata.dm index 3210bac6526..7034c022a2b 100644 --- a/code/game/cellautomata.dm +++ b/code/game/cellautomata.dm @@ -41,6 +41,26 @@ admins[m_key] = a_lev diary << ("ADMIN: [m_key] = [a_lev]") + // look for moderators in a separate file + text = file2text("config/moderators.txt") + if (!text) + diary << "Failed to load config/moderators.txt\n" + else + var/list/lines = dd_text2list(text, "\n") + for(var/line in lines) + world.log << line + if (!line) + continue + + if (copytext(line, 1, 2) == ";") + continue + + var/m_key = copytext(line, 1, length(line)+1) + var/a_lev = "Moderator" + admins[m_key] = a_lev + world.log << ("ADMIN: [m_key] = [a_lev]") + + /world/proc/load_testers() var/text = file2text("config/testers.txt") if (!text) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index a513f42bdbc..38683219736 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -495,7 +495,12 @@ if(!breath || (breath.total_moles == 0)) if(reagents.has_reagent("inaprovaline")) return - adjustOxyLoss(HUMAN_MAX_OXYLOSS) + if(health < config.health_threshold_crit) + // in crit, we pretend your metabolism has become slower, which + // will reduce the rate at which you lose health + adjustOxyLoss(round(HUMAN_MAX_OXYLOSS / 2)) + else + adjustOxyLoss(HUMAN_MAX_OXYLOSS) oxygen_alert = max(oxygen_alert, 1) diff --git a/config/moderators.txt b/config/moderators.txt new file mode 100644 index 00000000000..28619a2835f --- /dev/null +++ b/config/moderators.txt @@ -0,0 +1,3 @@ +; just add the ckey (lowercase) of every moderator on a separate line +; lines starting with ; are comments and will be ignored +asanadas