| [t] |
| [t] (unban) |
+ [file2text(path)] ++ + "} + usr << browse(output,"window=server_logfile") + onclose(usr,"server_logfile") + return + /*/client/proc/unjobban_panel() set name = "Unjobban Panel" set category = "Admin" diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index da70a3a107..9361b68907 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -25,7 +25,7 @@ holder.rank = rank if(!holder.state) - var/state = alert("Which state do you the admin to begin in?", "Admin-state", "Play", "Observe", "Neither") + var/state = alert("Which state do you want the admin to begin in?", "Admin-state", "Play", "Observe", "Neither") if(state == "Play") holder.state = 1 admin_play() @@ -145,6 +145,7 @@ if (holder.level >= 5)//Game Admin******************************************************************** verbs += /obj/admins/proc/view_txt_log + verbs += /obj/admins/proc/view_atk_log //verbs += /client/proc/cmd_mass_modify_object_variables --Merged with view variables verbs += /client/proc/cmd_admin_list_open_jobs verbs += /client/proc/cmd_admin_direct_narrate @@ -169,6 +170,8 @@ verbs += /client/proc/restartcontroller //Can call via aproccall --I_hate_easy_things.jpg, Mport --Agouri verbs += /client/proc/Blobize//I need to remember to move/remove this later verbs += /client/proc/toggle_clickproc //TODO ERRORAGE (Temporary proc while the enw clickproc is being tested) + verbs += /client/proc/toggle_gravity_on + verbs += /client/proc/toggle_gravity_off // Moved over from tg's Game Master: verbs += /client/proc/colorooc verbs += /obj/admins/proc/toggle_aliens //toggle aliens @@ -419,6 +422,8 @@ verbs -= /client/proc/toggle_hear_deadcast verbs -= /client/proc/toggle_hear_radio verbs -= /client/proc/tension_report + verbs -= /client/proc/toggle_gravity_on + verbs -= /client/proc/toggle_gravity_off verbs -= /client/proc/cmd_admin_change_custom_event verbs -= /client/proc/admin_invis verbs -= /client/proc/callprocgen diff --git a/code/modules/admin/banjob.dm b/code/modules/admin/banjob.dm index 4f37d15adc..d9cdc9be65 100644 --- a/code/modules/admin/banjob.dm +++ b/code/modules/admin/banjob.dm @@ -1,10 +1,15 @@ var - jobban_runonce // Updates legacy bans with new info + jobban_runonce // Updates legacy bans with new info jobban_keylist[0] //to store the keys & ranks -/proc/jobban_fullban(mob/M, rank) +/proc/jobban_fullban(mob/M, rank, reason) if (!M || !M.key || !M.client) return - jobban_keylist.Add(text("[M.ckey] - [rank]")) + jobban_keylist.Add(text("[M.ckey] - [rank] ## [reason]")) + jobban_savebanfile() + +/proc/jobban_client_fullban(ckey, rank) + if (!ckey || !rank) return + jobban_keylist.Add(text("[ckey] - [rank]")) jobban_savebanfile() /proc/jobban_isbanned(mob/M, rank) @@ -15,17 +20,41 @@ var return 1 if(config.usewhitelist && !check_whitelist(M)) return 1 - if (jobban_keylist.Find(text("[M.ckey] - [rank]"))) - return 1 - else - return 0 + for (var/s in jobban_keylist) + if( findtext(s,"[M.ckey] - [rank]") ) + return 1 + return 0 + +/* +DEBUG +/mob/verb/list_all_jobbans() + set name = "list all jobbans" + + for(var/s in jobban_keylist) + world << s + +/mob/verb/reload_jobbans() + set name = "reload jobbans" + + jobban_loadbanfile() +*/ /proc/jobban_loadbanfile() var/savefile/S=new("data/job_full.ban") S["keys[0]"] >> jobban_keylist log_admin("Loading jobban_rank") S["runonce"] >> jobban_runonce + + /* + for(var/i = 1; i <= length(jobban_keylist); i++) + if( findtext(jobban_keylist[i],"##") ) + var/index = findtext(jobban_keylist[i],"##") + var/s = jobban_keylist[i] + s = copytext( s , 1 , index ) //Removes the reason for the ban from this list + jobban_keylist[i] = s + world << "DEBUG: index: [index] - s: [s] - jobban_keylist\[[i]\] = [jobban_keylist[i]]"*/ + if (!length(jobban_keylist)) jobban_keylist=list() log_admin("jobban_keylist was empty") @@ -36,7 +65,7 @@ var S["keys[0]"] << jobban_keylist /proc/jobban_unban(mob/M, rank) - jobban_keylist.Remove(text("[M.ckey] - [rank]")) + jobban_remove("[M.ckey] - [rank]") jobban_savebanfile() @@ -54,8 +83,9 @@ var /proc/jobban_remove(X) - if(jobban_keylist.Find(X)) - jobban_keylist.Remove(X) - jobban_savebanfile() - return 1 - return 0 + for (var/i = 1; i <= length(jobban_keylist); i++) + if( findtext(jobban_keylist[i], "[X]") ) + jobban_keylist.Remove(jobban_keylist[i]) + jobban_savebanfile() + return 1 + return 0 \ No newline at end of file diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 9b49845c31..022ac20be9 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -612,13 +612,13 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that M.equip_if_possible(new /obj/item/weapon/chem_grenade/cleaner(M), M.slot_r_store) M.equip_if_possible(new /obj/item/weapon/chem_grenade/cleaner(M), M.slot_l_store) - M.equip_if_possible(new /obj/item/stack/tile/steel(M), M.slot_in_backpack) - M.equip_if_possible(new /obj/item/stack/tile/steel(M), M.slot_in_backpack) - M.equip_if_possible(new /obj/item/stack/tile/steel(M), M.slot_in_backpack) - M.equip_if_possible(new /obj/item/stack/tile/steel(M), M.slot_in_backpack) - M.equip_if_possible(new /obj/item/stack/tile/steel(M), M.slot_in_backpack) - M.equip_if_possible(new /obj/item/stack/tile/steel(M), M.slot_in_backpack) - M.equip_if_possible(new /obj/item/stack/tile/steel(M), M.slot_in_backpack) + M.equip_if_possible(new /obj/item/stack/tile/plasteel(M), M.slot_in_backpack) + M.equip_if_possible(new /obj/item/stack/tile/plasteel(M), M.slot_in_backpack) + M.equip_if_possible(new /obj/item/stack/tile/plasteel(M), M.slot_in_backpack) + M.equip_if_possible(new /obj/item/stack/tile/plasteel(M), M.slot_in_backpack) + M.equip_if_possible(new /obj/item/stack/tile/plasteel(M), M.slot_in_backpack) + M.equip_if_possible(new /obj/item/stack/tile/plasteel(M), M.slot_in_backpack) + M.equip_if_possible(new /obj/item/stack/tile/plasteel(M), M.slot_in_backpack) if ("pirate") M.equip_if_possible(new /obj/item/clothing/under/pirate(M), M.slot_w_uniform) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index d9b99a5ee7..ee874c11aa 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -650,12 +650,14 @@ Traitors and the like can also be revived with the previous role mostly intact. var/confirm = alert(src, "You sure?", "Confirm", "Yes", "No") if(confirm != "Yes") return + //Due to the delay here its easy for something to have happened to the mob + if(!M) return if(usr.key != M.key && M.client) log_admin("[key_name(usr)] has gibbed [key_name(M)]") message_admins("[key_name_admin(usr)] has gibbed [key_name_admin(M)]", 1) - if (istype(M, /mob/dead/observer)) + if(istype(M, /mob/dead/observer)) gibs(M.loc, M.viruses) return @@ -871,6 +873,36 @@ Traitors and the like can also be revived with the previous role mostly intact. ticker.random_players = 1 +/client/proc/toggle_gravity_on() + set category = "Debug" + set name = "Toggle station gravity on" + set desc = "Toggles all gravity to active on the station." + + if (!(ticker && ticker.mode)) + usr << "Please wait until the game starts! Not sure how it will work otherwise." + return + + + for(var/area/A in world) + A.gravitychange(1,A) + + command_alert("CentComm is now beaming gravitons to your station. We appoligize for any inconvience.") + +/client/proc/toggle_gravity_off() + set category = "Debug" + set name = "Toggle station gravity off" + set desc = "Toggles all gravity to inactive on the station." + + if (!(ticker && ticker.mode)) + usr << "Please wait until the game starts! Not sure how it will work otherwise." + return + + + for(var/area/A in world) + A.gravitychange(0,A) + + command_alert("For budget reasons, Centcomm is no longer beaming gravitons to your station. We appoligize for any inconvience.") + /client/proc/rnd_check_designs() set category = "Debug" set name = "Check RnD Designs" diff --git a/code/modules/clothing/head/hats.dm b/code/modules/clothing/head/hats.dm index 915b5b02e7..8e8535ea3a 100644 --- a/code/modules/clothing/head/hats.dm +++ b/code/modules/clothing/head/hats.dm @@ -99,11 +99,19 @@ flags = FPRINT|TABLEPASS|HEADCOVERSEYES item_state = "helmet" +/obj/item/clothing/head/cargosoft + name = "cargo cap" + desc = "It's a baseball hat in a tasteless yellow colour." + icon_state = "cargosoft" + flags = FPRINT|TABLEPASS|HEADCOVERSEYES + item_state = "helmet" + var/flipped = 0 + /obj/item/clothing/head/syndicatefake name = "red space helmet replica" + desc = "A plastic replica of a red space space helmet. This is a toy, it is not made for use in space!" icon_state = "syndicate" item_state = "syndicate" - desc = "A plastic replica of a syndicate agent's space helmet, you'll look just like a real murderous syndicate agent in this! This is a toy, it is not made for use in space!" see_face = 0.0 flags = FPRINT | TABLEPASS | BLOCKHAIR diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm index ec859c59f6..03bda28715 100644 --- a/code/modules/mining/machine_processing.dm +++ b/code/modules/mining/machine_processing.dm @@ -298,7 +298,7 @@ if (ore_iron > 0 && ore_plasma > 0) ore_iron--; ore_plasma--; - new /obj/item/stack/sheet/r_metal(output.loc) + new /obj/item/stack/sheet/plasteel(output.loc) else on = 0 continue diff --git a/code/modules/mining/machine_stacking.dm b/code/modules/mining/machine_stacking.dm index 7b42b10444..a6522dc2a1 100644 --- a/code/modules/mining/machine_stacking.dm +++ b/code/modules/mining/machine_stacking.dm @@ -27,8 +27,8 @@ if(machine.ore_iron) dat += text("Iron: [machine.ore_iron] Release
" + + t += "Stored capacity : [round(100.0*charge/capacity, 0.1)]%
" + + t += "Input: [charging ? "Charging" : "Not Charging"] [chargemode ? "Auto Off" : "Auto Off "]
" - var/t = "SMES Power Storage Unit [n_tag? "([n_tag])" : null]" + t += "Input level: M - - - [add_lspace(chargelevel,5)] + + + M
" - t += "Stored capacity : [round(100.0*charge/capacity, 0.1)]%
" + t += "
" - t += "Input: [charging ? "Charging" : "Not Charging"] [chargemode ? "Auto Off" : "Auto Off "]
" + t += "Output: [online ? "Online Offline" : "Online Offline "]
" + t += "Output level: M - - - [add_lspace(output,5)] + + + M
" - t += "Input level: M - - - [add_lspace(chargelevel,5)] + + + M
" + t += "Output load: [round(loaddemand)] W
" - t += "
" + t += "
Close" - t += "Output: [online ? "Online Offline" : "Online Offline "]
" - - t += "Output level: M - - - [add_lspace(output,5)] + + + M
" - - t += "Output load: [round(loaddemand)] W
" - - t += "