Prevent people from abusing certain aspects of the game by keeping alert prompts open (#21914)

This commit is contained in:
Pieter Vlasblom
2016-12-04 18:30:34 +01:00
committed by AnturK
parent deb718e876
commit 2da5d58156
6 changed files with 18 additions and 17 deletions
@@ -18,7 +18,7 @@
user.update_stat()
user.update_canmove()
addtimer(src, "ready_to_regenerate", LING_FAKEDEATH_TIME, TIMER_NORMAL, user)
addtimer(src, "ready_to_regenerate", LING_FAKEDEATH_TIME, TIMER_UNIQUE, user)
feedback_add_details("changeling_powers","FD")
return 1
+9 -8
View File
@@ -8,14 +8,23 @@
if(!mob)
return
if(IsGuestKey(key))
src << "Guests may not use OOC."
return
msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN)
var/raw_msg = msg
if(!msg)
return
msg = emoji_parse(msg)
if((copytext(msg, 1, 2) in list(".",";",":","#")) || (findtext(lowertext(copytext(msg, 1, 5)), "say")))
if(alert("Your message \"[raw_msg]\" looks like it was meant for in game communication, say it in OOC?", "Meant for OOC?", "No", "Yes") != "Yes")
return
if(!(prefs.chat_toggles & CHAT_OOC))
src << "<span class='danger'>You have OOC muted.</span>"
return
@@ -42,14 +51,6 @@
message_admins("[key_name_admin(src)] has attempted to advertise in OOC: [msg]")
return
var/raw_msg = msg
msg = emoji_parse(msg)
if((copytext(msg, 1, 2) in list(".",";",":","#")) || (findtext(lowertext(copytext(msg, 1, 5)), "say")))
if(alert("Your message \"[raw_msg]\" looks like it was meant for in game communication, say it in OOC?", "Meant for OOC?", "No", "Yes") != "Yes")
return
log_ooc("[mob.name]/[key] : [raw_msg]")
var/keyname = key
@@ -35,7 +35,7 @@
user << "Can't become a drone before the game has started."
return
var/be_drone = alert("Become a drone? (Warning, You can no longer be cloned!)",,"Yes","No")
if(be_drone == "No" || qdeleted(src))
if(be_drone == "No" || qdeleted(src) || !isobserver(user))
return
var/mob/living/simple_animal/drone/D = new drone_type(get_turf(loc))
D.admin_spawned = admin_spawned
@@ -579,10 +579,10 @@ Difficulty: Very Hard
..()
if(ready_to_deploy)
var/be_helper = alert("Become a Lightgeist? (Warning, You can no longer be cloned!)",,"Yes","No")
if(be_helper == "No")
return
var/mob/living/simple_animal/hostile/lightgeist/W = new /mob/living/simple_animal/hostile/lightgeist(get_turf(loc))
W.key = user.key
if(be_helper == "Yes" && !qdeleted(src) && isobserver(user))
var/mob/living/simple_animal/hostile/lightgeist/W = new /mob/living/simple_animal/hostile/lightgeist(get_turf(loc))
W.key = user.key
/obj/machinery/anomalous_crystal/helpers/Topic(href, href_list)
if(href_list["ghostjoin"])
+1 -1
View File
@@ -571,7 +571,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
else if(href_list["reset"]) //Reset the R&D console's database.
griefProtection()
var/choice = alert("R&D Console Database Reset", "Are you sure you want to reset the R&D console's database? Data lost cannot be recovered.", "Continue", "Cancel")
if(choice == "Continue")
if(choice == "Continue" && usr.canUseTopic(src))
message_admins("[key_name_admin(usr)] reset \the [src.name]'s database")
log_game("[key_name_admin(usr)] reset \the [src.name]'s database")
screen = 0.0
+2 -2
View File
@@ -226,7 +226,7 @@
else if(href_list["reset_tech"])
var/choice = alert("Technology Data Reset", "Are you sure you want to reset this technology to its default data? Data lost cannot be recovered.", "Continue", "Cancel")
if(choice == "Continue")
if(choice == "Continue" && usr.canUseTopic(src))
var/datum/tech/T = temp_server.files.known_tech[href_list["reset_tech"]]
if(T)
T.level = 1
@@ -234,7 +234,7 @@
else if(href_list["reset_design"])
var/choice = alert("Design Data Deletion", "Are you sure you want to delete this design? Data lost cannot be recovered.", "Continue", "Cancel")
if(choice == "Continue")
if(choice == "Continue" && usr.canUseTopic(src))
var/datum/design/D = temp_server.files.known_designs[href_list["reset_design"]]
if(D)
temp_server.files.known_designs -= D.id