From 1f1ea35a75643f8244d66f3fb19c39790c5c75ab Mon Sep 17 00:00:00 2001 From: Albert Iordache Date: Fri, 10 Feb 2012 21:01:20 +0200 Subject: [PATCH] Added a way to skip the computer ID check for bans, and cleaned up the code a bit --- baystation12.dme | 2 +- code/modules/admin/NewBan.dm | 58 +++++++++++++++---------------- code/modules/admin/admin.dm | 21 +++++++---- code/modules/admin/newbanjob.dm | 9 ++--- code/modules/mining/mine_items.dm | 2 +- 5 files changed, 46 insertions(+), 46 deletions(-) diff --git a/baystation12.dme b/baystation12.dme index 2ae88b5da87..5e432fe41ca 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -517,7 +517,7 @@ #include "code\game\machinery\computer\id.dm" #include "code\game\machinery\computer\lockdown.dm" #include "code\game\machinery\computer\medical.dm" -#include "code\game\machinery\computer\Operating.dm" +#include "code\game\machinery\computer\operating.dm" #include "code\game\machinery\computer\power.dm" #include "code\game\machinery\computer\robot.dm" #include "code\game\machinery\computer\security.dm" diff --git a/code/modules/admin/NewBan.dm b/code/modules/admin/NewBan.dm index 025a00f916d..fab7e89c4dd 100644 --- a/code/modules/admin/NewBan.dm +++ b/code/modules/admin/NewBan.dm @@ -1,6 +1,22 @@ var/CMinutes = null var/savefile/Banlist +/proc/LoadBans() + + Banlist = new("data/banlist.bdb") + log_admin("Loading banlist.") + + if (!length(Banlist.dir)) log_admin("Banlist is empty.") + + if (!Banlist.dir.Find("base")) + log_admin("Banlist missing base dir.") + Banlist.dir.Add("base") + + Banlist.cd = "/base" + + ClearTempbans() + return 1 + /proc/CheckBan(var/client/clientvar) @@ -11,11 +27,11 @@ var/savefile/Banlist if (Banlist.dir.Find("[key][id]")) Banlist.cd = "[key][id]" if (Banlist["temp"]) - if (!GetExp(Banlist["minutes"])) + if (!GetBanExp(Banlist["minutes"])) ClearTempbans() return 0 else - return "[Banlist["reason"]]\n(This ban will be automatically removed in [GetExp(Banlist["minutes"])].)" + return "[Banlist["reason"]]\n(This ban will be automatically removed in [GetBanExp(Banlist["minutes"])].)" else Banlist.cd = "/base/[key][id]" return "[Banlist["reason"]]\n(This is a permanent ban)" @@ -23,40 +39,23 @@ var/savefile/Banlist Banlist.cd = "/base" for (var/A in Banlist.dir) Banlist.cd = "/base/[A]" - if (id == Banlist["id"] || key == Banlist["key"]) + if ( (id == Banlist["id"] && Banlist["skipIdCheck"] == 0) || key == Banlist["key"]) if(Banlist["temp"]) - if (!GetExp(Banlist["minutes"])) + if (!GetBanExp(Banlist["minutes"])) ClearTempbans() return 0 else - return "[Banlist["reason"]]\n(This ban will be automatically removed in [GetExp(Banlist["minutes"])].)" + return "[Banlist["reason"]]\n(This ban will be automatically removed in [GetBanExp(Banlist["minutes"])].)" else return "[Banlist["reason"]]\n(This is a permanent ban)" return 0 -/proc/UpdateTime() //No idea why i made this a proc. +/proc/UpdateTime() CMinutes = (world.realtime / 10) / 60 return 1 -/proc/LoadBans() - - Banlist = new("data/banlist.bdb") - log_admin("Loading Banlist") - - if (!length(Banlist.dir)) log_admin("Banlist is empty.") - - if (!Banlist.dir.Find("base")) - log_admin("Banlist missing base dir.") - Banlist.dir.Add("base") - Banlist.cd = "/base" - else if (Banlist.dir.Find("base")) - Banlist.cd = "/base" - - ClearTempbans() - return 1 - /proc/ClearTempbans() UpdateTime() @@ -92,6 +91,7 @@ var/savefile/Banlist Banlist.cd = "/base/[ckey][computerid]" Banlist["key"] << ckey Banlist["id"] << computerid + Banlist["skipIdCheck"] << 0 Banlist["reason"] << reason Banlist["bannedby"] << bannedby Banlist["temp"] << temp @@ -106,7 +106,6 @@ var/savefile/Banlist Banlist.cd = "/base/[foldername]" Banlist["key"] >> key - Banlist["id"] >> id Banlist.cd = "/base" if (!Banlist.dir.Remove(foldername)) return 0 @@ -129,7 +128,7 @@ var/savefile/Banlist return 1 -/proc/GetExp(minutes as num) +/proc/GetBanExp(minutes as num) UpdateTime() var/exp = minutes - CMinutes if (exp <= 0) @@ -147,20 +146,19 @@ var/savefile/Banlist /obj/admins/proc/unbanpanel() var/count = 0 var/dat - //var/dat = "
Unban Player: \blue(U) = Unban , (E) = Edit Ban\green (Total
" Banlist.cd = "/base" for (var/A in Banlist.dir) count++ Banlist.cd = "/base/[A]" - dat += text("") + dat += text("") dat += "
(U)(E) Key: [Banlist["key"]] ([Banlist["temp"] ? "[GetExp(Banlist["minutes"]) ? GetExp(Banlist["minutes"]) : "Removal pending" ]" : "Permaban"])(By: [Banlist["bannedby"]])(Reason: [Banlist["reason"]])
(U)(E)(K) Key: [Banlist["key"]] ([Banlist["temp"] ? "[GetBanExp(Banlist["minutes"]) ? GetBanExp(Banlist["minutes"]) : "Removal pending" ]" : "Permaban"])(By: [Banlist["bannedby"]])(Reason: [Banlist["reason"]])
" - dat = "
Bans: (U) = Unban , (E) = Edit Ban - ([count] Bans)
[dat]" + dat = "
Bans:(U) = Unban , (E) = Edit Ban , (K) = Remove Computer ID - ([count] Bans)
[dat]" usr << browse(dat, "window=unbanp;size=875x400") //////////////////////////////////// DEBUG //////////////////////////////////// -/proc/CreateBans() +/*/proc/CreateBans() UpdateTime() @@ -192,5 +190,5 @@ var/savefile/Banlist /proc/ClearAllBans() Banlist.cd = "/base" for (var/A in Banlist.dir) - RemoveBan(A) + RemoveBan(A)*/ diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 454e0df9551..5a6c18b2bd6 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -115,8 +115,8 @@ /////////////////////////////////////new ban stuff - if(href_list["unbanf"]) - var/banfolder = href_list["unbanf"] + if(href_list["unban_del"]) + var/banfolder = href_list["unban_del"] Banlist.cd = "/base/[banfolder]" var/key = Banlist["key"] if(alert(usr, "Are you sure you want to unban [key]?", "Confirmation", "Yes", "No") == "Yes") @@ -126,11 +126,18 @@ alert(usr,"This ban has already been lifted / does not exist.","Error","Ok") unbanpanel() - if(href_list["unbane"]) + if(href_list["unban_cid"]) + var/banfolder = href_list["unban_cid"] + Banlist.cd = "/base/[banfolder]" + var/key = Banlist["key"] + if(alert(usr, "Are you sure you want to remove the computer ID for [key]'s ban? Without the ID, a different account could get on the server from [key]'s computer.", "Confirmation", "Yes", "No") == "Yes") + Banlist["skipIdCheck"] << 1 + + if(href_list["unban_edit"]) UpdateTime() var/reason var/mins = 0 - var/banfolder = href_list["unbane"] + var/banfolder = href_list["unban_edit"] Banlist.cd = "/base/[banfolder]" var/reason2 = Banlist["reason"] var/temp = Banlist["temp"] @@ -155,10 +162,10 @@ if(!reason) return - log_admin("[key_name(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [GetExp(mins)]") + log_admin("[key_name(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [GetBanExp(mins)]") - ban_unban_log_save("[key_name(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [GetExp(mins)]") - message_admins("\blue [key_name_admin(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [GetExp(mins)]", 1) + ban_unban_log_save("[key_name(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [GetBanExp(mins)]") + message_admins("\blue [key_name_admin(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [GetBanExp(mins)]", 1) Banlist.cd = "/base/[banfolder]" Banlist["reason"] << reason Banlist["temp"] << temp diff --git a/code/modules/admin/newbanjob.dm b/code/modules/admin/newbanjob.dm index 83a0762019f..8dcb7d6bb8d 100644 --- a/code/modules/admin/newbanjob.dm +++ b/code/modules/admin/newbanjob.dm @@ -20,11 +20,6 @@ var/savefile/Banlistjob return 1 return 0 - -///proc/UpdateTime() //No idea why i made this a proc. -// CMinutes = (world.realtime / 10) / 60 -// return 1 - /proc/LoadBansjob() Banlistjob = new("data/job_fullnew.bdb") @@ -189,7 +184,7 @@ var/savefile/Banlistjob return 1 -/proc/GetExpjob(minutes as num) +/proc/GetBanExpjob(minutes as num) UpdateTime() var/exp = minutes - CMinutes if (exp <= 0) @@ -212,7 +207,7 @@ var/savefile/Banlistjob for (var/A in Banlistjob.dir) count++ Banlistjob.cd = "/base/[A]" - dat += text("") + dat += text("") dat += "
(U) Key: [Banlistjob["key"]] Rank: [Banlistjob["rank"]] ([Banlistjob["temp"] ? "[GetExpjob(Banlistjob["minutes"]) ? GetExpjob(Banlistjob["minutes"]) : "Removal pending" ]" : "Permaban"])(By: [Banlistjob["bannedby"]])(Reason: [Banlistjob["reason"]])
(U) Key: [Banlistjob["key"]] Rank: [Banlistjob["rank"]] ([Banlistjob["temp"] ? "[GetBanExpjob(Banlistjob["minutes"]) ? GetBanExpjob(Banlistjob["minutes"]) : "Removal pending" ]" : "Permaban"])(By: [Banlistjob["bannedby"]])(Reason: [Banlistjob["reason"]])
" dat = "
Bans: (U) = Unban , - ([count] Bans)
[dat]" diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 35fc955cd26..3b4360eda1f 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -185,7 +185,7 @@ proc/move_mining_shuttle() item_state = "dpickaxe" digspeed = 10 origin_tech = "materials=6;engineering=4" - desc = "A pickaxe with a diamond pick head, this is just like minecraft." + desc = "A pickaxe with a diamond pick head." diamonddrill //When people ask about the badass leader of the mining tools, they are talking about ME! name = "Diamond Mining Drill"