From c793555f8981568de43aaf35b35a5791310bd1ce Mon Sep 17 00:00:00 2001 From: Shadowlight213 Date: Fri, 20 May 2016 19:53:54 -0700 Subject: [PATCH 1/3] Fixes appearance bans Changes check antag (ghost) to (no client) --- code/modules/admin/banappearance.dm | 110 ++++------------------ code/modules/admin/player_panel.dm | 50 +++++----- code/modules/admin/topic.dm | 22 +++-- code/modules/client/preferences.dm | 2 +- code/modules/mob/new_player/new_player.dm | 2 +- 5 files changed, 56 insertions(+), 130 deletions(-) diff --git a/code/modules/admin/banappearance.dm b/code/modules/admin/banappearance.dm index 1fabfcc5b03..2a89cc41ac9 100644 --- a/code/modules/admin/banappearance.dm +++ b/code/modules/admin/banappearance.dm @@ -1,61 +1,13 @@ -//ban people from using custom names and appearances. that'll show 'em. - -var/appearanceban_runonce //Updates legacy bans with new info -var/appearance_keylist[0] //to store the keys - -/proc/appearance_fullban(mob/M, reason) - if (!M || !M.key) return - appearance_keylist.Add(text("[M.ckey] ## [reason]")) - appearance_savebanfile() - -/proc/appearance_client_fullban(ckey) - if (!ckey) return - appearance_keylist.Add(text("[ckey]")) - appearance_savebanfile() - -//returns a reason if M is banned, returns 0 otherwise -/proc/appearance_isbanned(mob/M) - if(M) - for(var/s in appearance_keylist) - if(findtext(s, "[M.ckey]") == 1) - var/startpos = findtext(s, "## ") + 3 - if(startpos && startpos < length(s)) - var/text = copytext(s, startpos, 0) - if(text) - return text - return "Reason Unspecified" - return 0 - -/* -DEBUG -/mob/verb/list_all_appearances() - set name = "list all appearances" - - for(var/s in appearance_keylist) - world << s - -/mob/verb/reload_appearances() - set name = "reload appearances" - - appearance_loadbanfile() -*/ +//Code to update legacy appearance bans to jobbans /proc/appearance_loadbanfile() if(config.ban_legacy_system) - var/savefile/S=new("data/appearance_full.ban") - S["keys[0]"] >> appearance_keylist - log_admin("Loading appearance_rank") - S["runonce"] >> appearanceban_runonce - - if (!length(appearance_keylist)) - appearance_keylist=list() - log_admin("appearance_keylist was empty") + return else if(!establish_db_connection()) - world.log << "Database connection failed. Reverting to the legacy ban system." - diary << "Database connection failed. Reverting to the legacy ban system." + world.log << "Database connection failed." + diary << "Database connection failed." config.ban_legacy_system = 1 - appearance_loadbanfile() return //appearance bans @@ -63,48 +15,20 @@ DEBUG query.Execute() while(query.NextRow()) - var/ckey = query.item[1] + var/ckeyb = query.item[1] - appearance_keylist.Add("[ckey]") + var/datum/admins/db = new() + db.DB_ban_unban(ckeyb, BANTYPE_APPEARANCE) -/proc/appearance_savebanfile() - var/savefile/S=new("data/appearance_full.ban") - S["keys[0]"] << appearance_keylist + var/mob/playermob + var/exist = 0 + for(var/mob/M in player_list) + if(M.ckey == ckeyb) + playermob = M + exist = 1 + break -/proc/appearance_unban(mob/M) - appearance_remove("[M.ckey]") - appearance_savebanfile() + if(!exist) + playermob.ckey = ckeyb - -/proc/appearance_updatelegacybans() - if(!appearanceban_runonce) - log_admin("Updating appearancefile!") - // Updates bans.. Or fixes them. Either way. - for(var/T in appearance_keylist) - if(!T) - continue - appearanceban_runonce++ //don't run this update again - - -/proc/appearance_remove(X) - for (var/i = 1; i <= length(appearance_keylist); i++) - if( findtext(appearance_keylist[i], "[X]") ) - appearance_keylist.Remove(appearance_keylist[i]) - appearance_savebanfile() - return 1 - return 0 - -/* -/proc/DB_ban_isappearancebanned(var/playerckey) - establish_db_connection() - if(!dbcon.IsConnected()) - return - - var/sqlplayerckey = sanitizeSQL(ckey(playerckey)) - - var/DBQuery/query = dbcon.NewQuery("SELECT id FROM [format_table_name("ban")] WHERE CKEY = '[sqlplayerckey]' AND ((bantype = 'APPEARANCE_PERMABAN') OR (bantype = 'APPEARANCE_TEMPBAN' AND expiration_time > Now())) AND unbanned != 1") - query.Execute() - while(query.NextRow()) - return 1 - return 0 -*/ \ No newline at end of file + db.DB_ban_record(BANTYPE_JOB_PERMA, playermob, -1, "Legacy", "Appearance") diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index 220b1b4c9e9..26b130b6751 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -346,7 +346,7 @@ for(var/datum/mind/N in ticker.mode.syndicates) var/mob/M = N.current if(M) - dat += "[M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" + dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" dat += "FLW" else @@ -375,20 +375,20 @@ dat += "[N.name]([N.key])Head Revolutionary body destroyed!" dat += "PM" else - dat += "[M.real_name] (Leader)[M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" + dat += "[M.real_name] (Leader)[M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" dat += "FLW" for(var/datum/mind/N in ticker.mode.revolutionaries) var/mob/M = N.current if(M) - dat += "[M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" + dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" dat += "FLW" dat += "" for(var/datum/mind/N in ticker.mode.get_living_heads()) var/mob/M = N.current if(M) - dat += "" + dat += "" dat += "" dat += "" var/turf/mob_loc = get_turf(M) @@ -406,13 +406,13 @@ dat += "" dat += "" else - dat += "" + dat += "" dat += "" dat += "" for(var/datum/mind/N in G.gangsters) var/mob/M = N.current if(M) - dat += "" + dat += "" dat += "" dat += "
Target(s)Location
[M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]
[M.real_name][M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]PMFLW
[N.name]([N.key])Gang Boss body destroyed!PM
[M.real_name] (Boss)[M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]
[M.real_name] (Boss)[M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]PMFLW
[M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]
[M.real_name][M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]PM
" @@ -421,7 +421,7 @@ for(var/datum/mind/changeling in ticker.mode.changelings) var/mob/M = changeling.current if(M) - dat += "[M.mind.changeling.changelingID] as [M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" + dat += "[M.mind.changeling.changelingID] as [M.real_name][M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" dat += "FLW" dat += "Show Objective" @@ -435,7 +435,7 @@ for(var/datum/mind/wizard in ticker.mode.wizards) var/mob/M = wizard.current if(M) - dat += "[M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" + dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" dat += "FLW" dat += "Show Objective" @@ -449,7 +449,7 @@ for(var/datum/mind/apprentice in ticker.mode.apprentices) var/mob/M = apprentice.current if(M) - dat += "[M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" + dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" dat += "FLW" dat += "Show Objective" @@ -463,7 +463,7 @@ for(var/datum/mind/N in ticker.mode.cult) var/mob/M = N.current if(M) - dat += "[M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" + dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" dat += "FLW" dat += "" @@ -473,7 +473,7 @@ for(var/datum/mind/N in ticker.mode.red_deities) var/mob/M = N.current if(M) - dat += "Red Deity: [M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" + dat += "Red Deity: [M.real_name][M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" dat += "FLW" dat += "" @@ -483,7 +483,7 @@ for(var/datum/mind/N in ticker.mode.blue_deities) var/mob/M = N.current if(M) - dat += "Blue Deity: [M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" + dat += "Blue Deity: [M.real_name][M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" dat += "FLW" dat += "" @@ -493,7 +493,7 @@ for(var/datum/mind/N in ticker.mode.red_deity_prophets) var/mob/M = N.current if(M) - dat += "Red Deity Prophet: [M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" + dat += "Red Deity Prophet: [M.real_name][M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" dat += "FLW" dat += "" @@ -503,7 +503,7 @@ for(var/datum/mind/N in ticker.mode.blue_deity_prophets) var/mob/M = N.current if(M) - dat += "Blue Deity Prophet: [M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" + dat += "Blue Deity Prophet: [M.real_name][M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" dat += "FLW" dat += "" @@ -513,7 +513,7 @@ for(var/datum/mind/N in ticker.mode.red_deity_followers) var/mob/M = N.current if(M) - dat += "Red Deity Followers: [M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" + dat += "Red Deity Followers: [M.real_name][M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" dat += "FLW" dat += "" @@ -523,7 +523,7 @@ for(var/datum/mind/N in ticker.mode.blue_deity_followers) var/mob/M = N.current if(M) - dat += "Blue Deity Followers: [M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" + dat += "Blue Deity Followers: [M.real_name][M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" dat += "FLW" dat += "" @@ -533,7 +533,7 @@ for(var/datum/mind/traitor in ticker.mode.traitors) var/mob/M = traitor.current if(M) - dat += "[M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" + dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" dat += "FLW" dat += "Show Objective" @@ -547,7 +547,7 @@ for(var/datum/mind/N in ticker.mode.shadows) var/mob/M = N.current if(M) - dat += "[M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" + dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" dat += "FLW" else @@ -560,7 +560,7 @@ for(var/datum/mind/N in ticker.mode.thralls) var/mob/M = N.current if(M) - dat += "[M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" + dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" dat += "FLW" dat += "" @@ -570,7 +570,7 @@ for(var/datum/mind/abductor in ticker.mode.abductors) var/mob/M = abductor.current if(M) - dat += "[M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" + dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" dat += "FLW" dat += "Show Objective" @@ -583,7 +583,7 @@ for(var/datum/mind/abductee in E.abductee_minds) var/mob/M = abductee.current if(M) - dat += "[M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" + dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" dat += "FLW" dat += "Show Objective" @@ -598,7 +598,7 @@ var/datum/mind/devil = X var/mob/M = devil.current if(M) - dat += "[M.real_name] : [devil.devilinfo.truename][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" + dat += "[M.real_name] : [devil.devilinfo.truename][M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" dat += "Show Objective" dat += "Show all devil info" @@ -613,7 +613,7 @@ var/datum/mind/sintouched = X var/mob/M = sintouched.current if(M) - dat += "[M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" + dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" dat += "Show Objective" else @@ -635,7 +635,7 @@ for(var/datum/mind/blob in blob_minds) var/mob/M = blob.current if(M) - dat += "[M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" + dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" dat += "FLW" else @@ -651,7 +651,7 @@ for(var/datum/mind/eek in mode.ape_infectees) var/mob/M = eek.current if(M) - dat += "[M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" + dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" dat += "FLW" else diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 4b0278dac25..b3062660abf 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -517,15 +517,16 @@ usr << "This mob has no ckey" return - var/banreason = appearance_isbanned(M) - if(banreason) - switch(alert("Reason: '[banreason]' Remove appearance ban?","Please Confirm","Yes","No")) + + if(jobban_isbanned(M, "appearance")) + switch(alert("Remove appearance ban?","Please Confirm","Yes","No")) if("Yes") ban_unban_log_save("[key_name(usr)] removed [key_name(M)]'s appearance ban") log_admin("[key_name(usr)] removed [key_name(M)]'s appearance ban") feedback_inc("ban_appearance_unban", 1) - DB_ban_unban(M.ckey, BANTYPE_APPEARANCE) - appearance_unban(M) + DB_ban_unban(M.ckey, BANTYPE_ANY_JOB, "appearance") + if(M.client) + jobban_buildcache(M.client) message_admins("[key_name_admin(usr)] removed [key_name_admin(M)]'s appearance ban") M << "[usr.client.ckey] has removed your appearance ban." @@ -537,8 +538,9 @@ ban_unban_log_save("[key_name(usr)] appearance banned [key_name(M)]. reason: [reason]") log_admin("[key_name(usr)] appearance banned [key_name(M)]. \nReason: [reason]") feedback_inc("ban_appearance",1) - DB_ban_record(BANTYPE_APPEARANCE, M, -1, reason) - appearance_fullban(M, "[reason]; By [usr.ckey] on [time2text(world.realtime)]") + DB_ban_record(BANTYPE_JOB_PERMA, M, -1, reason, "appearance") + if(M.client) + jobban_buildcache(M.client) add_note(M.ckey, "Appearance banned - [reason]", null, usr.ckey, 0) message_admins("[key_name_admin(usr)] appearance banned [key_name_admin(M)]") M << "You have been appearance banned by [usr.client.ckey]." @@ -982,7 +984,7 @@ msg += ", [job]" add_note(M.ckey, "Banned from [msg] - [reason]", null, usr.ckey, 0) message_admins("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg] for [mins] minutes") - M << "You have been jobbanned by [usr.client.ckey] from: [msg]." + M << "You have been [(msg == "ooc") ? "banned" : "jobbanned"] by [usr.client.ckey] from: [msg]." M << "The reason is: [reason]" M << "This jobban will be lifted in [mins] minutes." href_list["jobban2"] = 1 // lets it fall through and refresh @@ -1005,7 +1007,7 @@ msg += ", [job]" add_note(M.ckey, "Banned from [msg] - [reason]", null, usr.ckey, 0) message_admins("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg]") - M << "You have been jobbanned by [usr.client.ckey] from: [msg]." + M << "You have been [(msg == "ooc") ? "banned" : "jobbanned"] by [usr.client.ckey] from: [msg]." M << "The reason is: [reason]" M << "Jobban can be lifted only upon request." href_list["jobban2"] = 1 // lets it fall through and refresh @@ -1608,7 +1610,7 @@ else if(href_list["adminchecklaws"]) output_ai_laws() - + else if(href_list["admincheckdevilinfo"]) output_devil_info() diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 22a6805431c..8cea4d56f7c 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -153,7 +153,7 @@ var/list/preferences_datums = list() dat += "Set Occupation Preferences
" dat += "

Identity

" dat += "" @@ -453,8 +445,6 @@ typedesc = "JOBBAN
([job])" if("JOB_TEMPBAN") typedesc = "TEMP JOBBAN
([job])
([duration] minutes [(unbanned) ? "" : "(Edit))"]
Expires [expiration]" - if("APPEARANCE_PERMABAN") - typedesc = "IDENTITY PERMABAN" if("ADMIN_PERMABAN") typedesc = "ADMIN PERMABAN" if("ADMIN_TEMPBAN") diff --git a/code/modules/admin/banappearance.dm b/code/modules/admin/banappearance.dm deleted file mode 100644 index 2a89cc41ac9..00000000000 --- a/code/modules/admin/banappearance.dm +++ /dev/null @@ -1,34 +0,0 @@ -//Code to update legacy appearance bans to jobbans - -/proc/appearance_loadbanfile() - if(config.ban_legacy_system) - return - else - if(!establish_db_connection()) - world.log << "Database connection failed." - diary << "Database connection failed." - config.ban_legacy_system = 1 - return - - //appearance bans - var/DBQuery/query = dbcon.NewQuery("SELECT ckey FROM [format_table_name("ban")] WHERE bantype = 'APPEARANCE_PERMABAN' AND NOT unbanned = 1") - query.Execute() - - while(query.NextRow()) - var/ckeyb = query.item[1] - - var/datum/admins/db = new() - db.DB_ban_unban(ckeyb, BANTYPE_APPEARANCE) - - var/mob/playermob - var/exist = 0 - for(var/mob/M in player_list) - if(M.ckey == ckeyb) - playermob = M - exist = 1 - break - - if(!exist) - playermob.ckey = ckeyb - - db.DB_ban_record(BANTYPE_JOB_PERMA, playermob, -1, "Legacy", "Appearance") diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 40558982139..462e3cd3a63 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -203,12 +203,6 @@ if(!banckey || !banreason || !banjob || !banduration) usr << "Not enough parameters (Requires ckey, reason and job)." return - if(BANTYPE_APPEARANCE) - if(!banckey || !banreason) - usr << "Not enough parameters (Requires ckey and reason)." - return - banduration = null - banjob = null if(BANTYPE_ADMIN_PERMA) if(!banckey || !banreason) usr << "Not enough parameters (Requires ckey and reason)." diff --git a/code/world.dm b/code/world.dm index 83454220e28..1f754d4b05b 100644 --- a/code/world.dm +++ b/code/world.dm @@ -39,7 +39,6 @@ var/global/list/map_transition_config = MAP_TRANSITION_CONFIG load_admins() if(config.usewhitelist) load_whitelist() - appearance_loadbanfile() LoadBans() investigate_reset() diff --git a/tgstation.dme b/tgstation.dme index 27f90292ede..d57af706b3b 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -840,7 +840,6 @@ #include "code\modules\admin\admin_memo.dm" #include "code\modules\admin\admin_ranks.dm" #include "code\modules\admin\admin_verbs.dm" -#include "code\modules\admin\banappearance.dm" #include "code\modules\admin\banjob.dm" #include "code\modules\admin\create_mob.dm" #include "code\modules\admin\create_object.dm" From c6e6dcb4ef6e6e2a141f7634768b661fa68b290e Mon Sep 17 00:00:00 2001 From: Shadowlight213 Date: Fri, 19 Aug 2016 13:35:10 -0700 Subject: [PATCH 3/3] wording fixes --- code/modules/admin/topic.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 462e3cd3a63..0f88f315ee3 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -983,7 +983,7 @@ msg += ", [job]" add_note(M.ckey, "Banned from [msg] - [reason]", null, usr.ckey, 0) message_admins("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg] for [mins] minutes.") - M << "You have been [(msg == "ooc") ? "banned" : "jobbanned"] by [usr.client.ckey] from: [msg]." + M << "You have been [(msg == ("ooc" || "appearance")) ? "banned" : "jobbanned"] by [usr.client.ckey] from: [msg]." M << "The reason is: [reason]" M << "This jobban will be lifted in [mins] minutes." href_list["jobban2"] = 1 // lets it fall through and refresh @@ -1006,7 +1006,7 @@ msg += ", [job]" add_note(M.ckey, "Banned from [msg] - [reason]", null, usr.ckey, 0) message_admins("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg].") - M << "You have been [(msg == "ooc") ? "banned" : "jobbanned"] by [usr.client.ckey] from: [msg]." + M << "You have been [(msg == ("ooc" || "appearance")) ? "banned" : "jobbanned"] by [usr.client.ckey] from: [msg]." M << "The reason is: [reason]" M << "Jobban can be lifted only upon request." href_list["jobban2"] = 1 // lets it fall through and refresh
" - if(appearance_isbanned(user)) + if(jobban_isbanned(user, "appearance")) dat += "You are banned from using custom names and appearances. You can continue to adjust your characters, but you will be randomised once you join the game.
" dat += "Random Name " dat += "Always Random Name: [be_random_name ? "Yes" : "No"]
" diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 2861e2e41aa..cf11fb4107c 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -407,7 +407,7 @@ var/mob/living/carbon/human/new_character = new(loc) - if(config.force_random_names || appearance_isbanned(src)) + if(config.force_random_names || jobban_isbanned(src, "appearance")) client.prefs.random_character() client.prefs.real_name = client.prefs.pref_species.random_name(gender,1) client.prefs.copy_to(new_character) From 0fb4757512040d43056ca9cae6fb5464fdadda77 Mon Sep 17 00:00:00 2001 From: Shadowlight213 Date: Fri, 19 Aug 2016 13:31:15 -0700 Subject: [PATCH 2/3] Fixes Appearance_PERMABAN type removed. now a jobban Added needed updating to the sql changelog --- SQL/database_changelog.txt | 10 ++++++++ code/__DEFINES/admin.dm | 2 +- code/modules/admin/DB_ban/functions.dm | 10 -------- code/modules/admin/banappearance.dm | 34 -------------------------- code/modules/admin/topic.dm | 6 ----- code/world.dm | 1 - tgstation.dme | 1 - 7 files changed, 11 insertions(+), 53 deletions(-) delete mode 100644 code/modules/admin/banappearance.dm diff --git a/SQL/database_changelog.txt b/SQL/database_changelog.txt index 85afa5fa07d..0d8a4d841fb 100644 --- a/SQL/database_changelog.txt +++ b/SQL/database_changelog.txt @@ -1,3 +1,13 @@ +19 August 2016, by Shadowlight213 + +Changed appearance bans to be jobbans. + +UPDATE `bans` SET `job` = "appearance", `bantype` = "JOB_PERMABAN" WHERE `bantype` = "APPEARANCE_PERMABAN" + +Remember to add a prefix to the table name if you use them + +---------------------------------------------------- + 3 July 2016, by Jordie0608 Modified table 'poll_question', adding column 'dontshow' which was recently added to the server schema. diff --git a/code/__DEFINES/admin.dm b/code/__DEFINES/admin.dm index 4df75c4a60e..50f83c2d947 100644 --- a/code/__DEFINES/admin.dm +++ b/code/__DEFINES/admin.dm @@ -14,7 +14,7 @@ #define BANTYPE_JOB_PERMA 3 #define BANTYPE_JOB_TEMP 4 #define BANTYPE_ANY_FULLBAN 5 //used to locate stuff to unban. -#define BANTYPE_APPEARANCE 6 + #define BANTYPE_ADMIN_PERMA 7 #define BANTYPE_ADMIN_TEMP 8 #define BANTYPE_ANY_JOB 9 //used to remove jobbans diff --git a/code/modules/admin/DB_ban/functions.dm b/code/modules/admin/DB_ban/functions.dm index 82f62503c32..02f585a502f 100644 --- a/code/modules/admin/DB_ban/functions.dm +++ b/code/modules/admin/DB_ban/functions.dm @@ -36,10 +36,6 @@ if(BANTYPE_JOB_TEMP) bantype_str = "JOB_TEMPBAN" bantype_pass = 1 - if(BANTYPE_APPEARANCE) - bantype_str = "APPEARANCE_PERMABAN" - duration = -1 - bantype_pass = 1 if(BANTYPE_ADMIN_PERMA) bantype_str = "ADMIN_PERMABAN" duration = -1 @@ -160,9 +156,6 @@ if(BANTYPE_JOB_TEMP) bantype_str = "JOB_TEMPBAN" bantype_pass = 1 - if(BANTYPE_APPEARANCE) - bantype_str = "APPEARANCE_PERMABAN" - bantype_pass = 1 if(BANTYPE_ADMIN_PERMA) bantype_str = "ADMIN_PERMABAN" bantype_pass = 1 @@ -361,7 +354,6 @@ output += "" output += "" output += "" - output += "" output += "" output += "" output += "