Merge branch 'master' of https://github.com/tgstation/-tg-station into listmos

Conflicts:
	nano/assets/nanoui.js
	nano/bower.json
	nano/templates/atmos_filter.dot
This commit is contained in:
duncathan
2016-01-02 18:02:54 -06:00
353 changed files with 8577 additions and 7487 deletions
+6 -5
View File
@@ -1,7 +1,5 @@
var/global/BSACooldown = 0
var/global/floorIsLava = 0
////////////////////////////////
/proc/message_admins(msg)
@@ -147,8 +145,8 @@ var/global/floorIsLava = 0
body += "<A href='?_src_=holder;simplemake=coffee;mob=\ref[M]'>Coffee</A> | "
//body += "<A href='?_src_=holder;simplemake=parrot;mob=\ref[M]'>Parrot</A> | "
//body += "<A href='?_src_=holder;simplemake=polyparrot;mob=\ref[M]'>Poly</A> | "
body += "\[ Construct: <A href='?_src_=holder;simplemake=constructarmored;mob=\ref[M]'>Armored</A> , "
body += "<A href='?_src_=holder;simplemake=constructbuilder;mob=\ref[M]'>Builder</A> , "
body += "\[ Construct: <A href='?_src_=holder;simplemake=constructarmored;mob=\ref[M]'>Juggernaut</A> , "
body += "<A href='?_src_=holder;simplemake=constructbuilder;mob=\ref[M]'>Artificer</A> , "
body += "<A href='?_src_=holder;simplemake=constructwraith;mob=\ref[M]'>Wraith</A> \] "
body += "<A href='?_src_=holder;simplemake=shade;mob=\ref[M]'>Shade</A>"
body += "<br>"
@@ -398,7 +396,10 @@ var/global/floorIsLava = 0
<A href='?src=\ref[src];create_mob=1'>Create Mob</A><br>
"}
usr << browse(dat, "window=admin2;size=210x180")
if(marked_datum && istype(marked_datum, /atom))
dat += "<A href='?src=\ref[src];dupe_marked_datum=1'>Duplicate Marked Datum</A><br>"
usr << browse(dat, "window=admin2;size=210x200")
return
/////////////////////////////////////////////////////////////////////////////////////////////////admins2.dm merge
+9 -1
View File
@@ -367,6 +367,8 @@ var/list/admin_verbs_hideable = list(
if(holder)
holder.check_antagonists()
log_admin("[key_name(usr)] checked antagonists.") //for tsar~
if(!isobserver(usr))
message_admins("[key_name_admin(usr)] checked antagonists.")
feedback_add_details("admin_verb","CHA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return
@@ -423,6 +425,9 @@ var/list/admin_verbs_hideable = list(
if(holder)
if(holder.fakekey)
holder.fakekey = null
mob.invisibility = initial(mob.invisibility)
mob.alpha = initial(mob.alpha)
mob.name = initial(mob.name)
else
var/new_key = ckeyEx(input("Enter your desired display name.", "Fake Key", key) as text|null)
if(!new_key) return
@@ -430,6 +435,9 @@ var/list/admin_verbs_hideable = list(
new_key = copytext(new_key, 1, 26)
holder.fakekey = new_key
createStealthKey()
mob.invisibility = INVISIBILITY_MAXIMUM + 1 //JUST IN CASE
mob.alpha = 0 //JUUUUST IN CASE
mob.name = " "
log_admin("[key_name(usr)] has turned stealth mode [holder.fakekey ? "ON" : "OFF"]")
message_admins("[key_name_admin(usr)] has turned stealth mode [holder.fakekey ? "ON" : "OFF"]")
feedback_add_details("admin_verb","SM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -647,4 +655,4 @@ var/list/admin_verbs_hideable = list(
AI_Interact = !AI_Interact
log_admin("[key_name(usr)] has [AI_Interact ? "activated" : "deactivated"] Admin AI Interact")
message_admins("[key_name_admin(usr)] has [AI_Interact ? "activated" : "deactivated"] their AI interaction")
message_admins("[key_name_admin(usr)] has [AI_Interact ? "activated" : "deactivated"] their AI interaction")
+2 -56
View File
@@ -389,62 +389,8 @@
L.fix()
if("floorlava")
if(!check_rights(R_FUN))
return
if(floorIsLava)
usr << "The floor is lava already."
return
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","LF")
//Options
var/length = input(usr, "How long will the lava last? (in seconds)", "Length", 180) as num
length = min(abs(length), 1200)
var/damage = input(usr, "How deadly will the lava be?", "Damage", 2) as num
damage = min(abs(damage), 100)
var/sure = alert(usr, "Are you sure you want to do this?", "Confirmation", "YES!", "Nah")
if(sure == "Nah")
return
floorIsLava = 1
message_admins("[key_name_admin(usr)] made the floor LAVA! It'll last [length] seconds and it will deal [damage] damage to everyone.")
for(var/turf/simulated/floor/F in world)
if(F.z == ZLEVEL_STATION)
F.name = "lava"
F.desc = "The floor is LAVA!"
F.overlays += "lava"
F.lava = 1
spawn(0)
for(var/i = i, i < length, i++) // 180 = 3 minutes
if(damage)
for(var/mob/living/carbon/L in living_mob_list)
if(istype(L.loc, /turf/simulated/floor)) // Are they on LAVA?!
var/turf/simulated/floor/F = L.loc
if(F.lava)
var/safe = 0
for(var/obj/structure/O in F.contents)
if(O.level > F.level && !istype(O, /obj/structure/window)) // Something to stand on and it isn't under the floor!
safe = 1
break
if(!safe)
L.adjustFireLoss(damage)
sleep(10)
for(var/turf/simulated/floor/F in world) // Reset everything.
if(F.z == ZLEVEL_STATION)
F.name = initial(F.name)
F.desc = initial(F.desc)
F.overlays.Cut()
F.lava = 0
F.update_icon()
floorIsLava = 0
return
var/datum/weather/floor_is_lava/storm = new /datum/weather/floor_is_lava
storm.weather_start_up()
if("virus")
if(!check_rights(R_FUN))
+6 -1
View File
@@ -46,7 +46,7 @@
message_admins("[key_name_admin(usr)] tried to create changelings. Unfortunately, there were no candidates available.")
log_admin("[key_name(usr)] failed to create changelings.")
if("3")
if(!src.makeRevs())
if(src.makeRevs())
message_admins("[key_name(usr)] started a revolution.")
log_admin("[key_name(usr)] started a revolution.")
else
@@ -239,6 +239,7 @@
message_admins("Ban process: A mob matching [playermob.ckey] was found at location [playermob.x], [playermob.y], [playermob.z]. Custom ip and computer id fields replaced with the ip and computer id from the located mob")
DB_ban_record(bantype, playermob, banduration, banreason, banjob, null, banckey, banip, bancid )
add_note(banckey, banreason, null, usr.ckey, 0)
else if(href_list["editrights"])
edit_rights_topic(href_list)
@@ -1714,6 +1715,10 @@
if(!check_rights(R_SPAWN)) return
return create_mob(usr)
else if(href_list["dupe_marked_datum"])
if(!check_rights(R_SPAWN)) return
return DuplicateObject(marked_datum, perfectcopy=1, newloc=get_turf(usr))
else if(href_list["object_list"]) //this is the laggiest thing ever
if(!check_rights(R_SPAWN)) return
+8 -6
View File
@@ -114,12 +114,14 @@
for(var/mob/living/carbon/human/applicant in player_list)
if(ROLE_REV in applicant.client.prefs.be_special)
if(applicant.stat == CONSCIOUS)
if(applicant.mind)
if(!applicant.mind.special_role)
if(!jobban_isbanned(applicant, ROLE_REV) && !jobban_isbanned(applicant, "Syndicate"))
if(temp.age_check(applicant.client))
if(!(applicant.job in temp.restricted_jobs))
candidates += applicant
var/turf/T = get_turf(applicant)
if(T.z == ZLEVEL_STATION)
if(applicant.mind)
if(!applicant.mind.special_role)
if(!jobban_isbanned(applicant, ROLE_REV) && !jobban_isbanned(applicant, "Syndicate"))
if(temp.age_check(applicant.client))
if(!(applicant.job in temp.restricted_jobs))
candidates += applicant
if(candidates.len)
var/numRevs = min(candidates.len, 3)
+2 -14
View File
@@ -10,20 +10,8 @@
ticker.mode.traitors += H.mind
H.mind.special_role = "traitor"
var/datum/objective/steal/steal_objective = new
steal_objective.owner = H.mind
steal_objective.set_target(new /datum/objective_item/steal/nukedisc)
H.mind.objectives += steal_objective
var/datum/objective/hijack/hijack_objective = new
hijack_objective.owner = H.mind
H.mind.objectives += hijack_objective
H << "<B>You are the traitor.</B>"
var/obj_count = 1
for(var/datum/objective/OBJ in H.mind.objectives)
H << "<B>Objective #[obj_count]</B>: [OBJ.explanation_text]"
obj_count++
add_objective(H.mind, /datum/objective/default/steal)
add_objective(H.mind, /datum/objective/escape_obj/hijack, 1)
for (var/obj/item/I in H)
if (istype(I, /obj/item/weapon/implant))