mass-buddha mode toggle for admins (found in secrets menu) (#34461)

* mass-buddha mode toggle for admins

* spelelelle

* don't send messages to clientless mobs
This commit is contained in:
nervere
2023-07-01 15:06:35 -04:00
committed by GitHub
parent b98260d068
commit ceb50e8317
4 changed files with 35 additions and 0 deletions

View File

@@ -274,6 +274,10 @@ var/datum/stat_collector/stat_collection = new
//When enabled, starvation kills
var/global/hardcore_mode = 0
//Mass Buddha Mode
//When enabled, all current mobs and all new carbon mobs will be in buddha mode (no crit/death)
var/global/buddha_mode_everyone = 0
//Global list of all unsimulated mineral turfs for xenoarch
var/global/list/mineral_turfs = list()
var/global/list/static_list = list('sound/effects/static/static1.ogg','sound/effects/static/static2.ogg','sound/effects/static/static3.ogg','sound/effects/static/static4.ogg','sound/effects/static/static5.ogg',)

View File

@@ -870,6 +870,7 @@ var/global/floorIsLava = 0
<A href='?src=\ref[src];secretsfun=tripleAI'>Triple AI mode (needs to be used in the lobby)</A><BR>
<A href='?src=\ref[src];secretsfun=eagles'>Egalitarian Station Mode (removes access on doors except for Command and Security)</A><BR>
<A href='?src=\ref[src];secretsfun=RandomizedLawset'>Give the AIs a randomly generated Lawset.</A><BR>
<A href='?src=\ref[src];secretsfun=buddha_mode_everyone'>Toggle Buddha Mode on/off for everyone</A><BR>
<BR>
<A href='?src=\ref[src];secretsfun=power'>Make all areas powered</A><BR>
<A href='?src=\ref[src];secretsfun=unpower'>Make all areas unpowered</A><BR>

View File

@@ -4320,6 +4320,33 @@
hardcore_mode = 0
to_chat(world, "<h5><span class='danger'>Hardcore mode has been disabled</span></h5>")
to_chat(world, "<span class='info'>Starvation will no longer kill player-controlled characters.</span>")
if("buddha_mode_everyone")
if(!buddha_mode_everyone)
if(alert("This will prevent every carbon mob from ever entering crit / dying. Are you sure?", "Warning", "Yes", "Cancel") == "Cancel")
return
buddha_mode_everyone = !buddha_mode_everyone
log_admin("[key_name(usr)] has ENABLED buddha mode for everyone!")
message_admins("[key_name(usr)] has ENABLED buddha mode for everyone!")
for(var/mob/living/carbon/human/H in mob_list)
if(H.mind || H.client)
if(!(H.status_flags & BUDDHAMODE))
H.status_flags ^= BUDDHAMODE
if(H.client)
to_chat(H, "<span class='notice'>An incredible sense of tranquility overtakes you. You have let go of your worldly desires.</span>")
else
if(alert("This will disable buddha mode for everyone. Are you sure?", "Warning", "Yes", "Cancel") == "Cancel")
return
buddha_mode_everyone = !buddha_mode_everyone
log_admin("[key_name(usr)] has DISABLED buddha mode for everyone!")
message_admins("[key_name(usr)] has DISABLED buddha mode for everyone!")
for(var/mob/living/carbon/human/H in mob_list)
if((H.mind || H.client) || (H.attack_log.len)) //attack_log included in case someone got beheaded and the mob lost its client/mind (to unset the flag for corpses, basically)
if(H.status_flags & BUDDHAMODE)
H.status_flags ^= BUDDHAMODE
if(H.client)
to_chat(H, "<span class='warning'>The tranquility that once filled your soul has vanished. You are once again a slave to your worldly desires.</span>")
if("vermin_infestation")
var/list/locations = list(
"RANDOM" = null,

View File

@@ -210,6 +210,9 @@
to_chat(src, "<b>You must eat to survive. Starvation for extended periods of time will kill you!</b>")
to_chat(src, "<b>Keep an eye out on the hunger indicator on the right of your screen; it will start flashing red and black when you're close to starvation.</b>")
if(buddha_mode_everyone)
status_flags ^= BUDDHAMODE
update_colour(0)
update_mutantrace()