Merge remote-tracking branch 'upstream/dev-freeze' into dev

This commit is contained in:
PsiOmegaDelta
2015-07-12 15:14:43 +02:00
13 changed files with 893 additions and 774 deletions

View File

@@ -574,7 +574,13 @@
//JOBBAN'S INNARDS
else if(href_list["jobban3"])
if(!check_rights(R_MOD,0) && !check_rights(R_ADMIN)) return
if(!check_rights(R_MOD,0) && !check_rights(R_ADMIN,0))
usr << "<span class='warning'>You do not have the appropriate permissions to add job bans!</span>"
return
if(check_rights(R_MOD,0) && !check_rights(R_ADMIN,0) && !config.mods_can_job_tempban) // If mod and tempban disabled
usr << "<span class='warning'>Mod jobbanning is disabled!</span>"
return
var/mob/M = locate(href_list["jobban4"])
if(!ismob(M))
@@ -649,13 +655,18 @@
if(notbannedlist.len) //at least 1 unbanned job exists in joblist so we have stuff to ban.
switch(alert("Temporary Ban?",,"Yes","No", "Cancel"))
if("Yes")
if(!check_rights(R_MOD,0) && !check_rights(R_BAN)) return
if(!check_rights(R_MOD,0) && !check_rights(R_BAN, 0))
usr << "<span class='warning'> You Cannot issue temporary job-bans!</span>"
return
if(config.ban_legacy_system)
usr << "\red Your server is using the legacy banning system, which does not support temporary job bans. Consider upgrading. Aborting ban."
return
var/mins = input(usr,"How long (in minutes)?","Ban time",1440) as num|null
if(!mins)
return
if(check_rights(R_MOD, 0) && !check_rights(R_BAN, 0) && mins > config.mod_job_tempban_max)
usr << "<span class='warning'> Moderators can only job tempban up to [config.mod_job_tempban_max] minutes!</span>"
return
var/reason = sanitize(input(usr,"Reason?","Please State Reason","") as text|null)
if(!reason)
return
@@ -764,7 +775,13 @@
DB_ban_unban(ckey(key), BANTYPE_JOB_PERMA, job)
else if(href_list["newban"])
if(!check_rights(R_MOD,0) && !check_rights(R_BAN)) return
if(!check_rights(R_MOD,0) && !check_rights(R_BAN, 0))
usr << "<span class='warning'>You do not have the appropriate permissions to add bans!</span>"
return
if(check_rights(R_MOD,0) && !check_rights(R_ADMIN, 0) && !config.mods_can_job_tempban) // If mod and tempban disabled
usr << "<span class='warning'>Mod jobbanning is disabled!</span>"
return
var/mob/M = locate(href_list["newban"])
if(!ismob(M)) return
@@ -776,6 +793,9 @@
var/mins = input(usr,"How long (in minutes)?","Ban time",1440) as num|null
if(!mins)
return
if(check_rights(R_MOD, 0) && !check_rights(R_BAN, 0) && mins > config.mod_tempban_max)
usr << "<span class='warning'>Moderators can only job tempban up to [config.mod_tempban_max] minutes!</span>"
return
if(mins >= 525600) mins = 525599
var/reason = sanitize(input(usr,"Reason?","reason","Griefer") as text|null)
if(!reason)

View File

@@ -119,6 +119,11 @@
H << "<span class='warning'>You cannot use your teleporter on this Z-level.</span>"
return 0
for(var/atom/A in T)
if(A.density && !(A.flags & ON_BORDER))
H << "<span class='warning'>You cannot teleport to a location with solid objects.</span>"
return 0
phase_out(H,get_turf(H))
H.loc = T
phase_in(H,get_turf(H))

View File

@@ -1525,11 +1525,13 @@
..()
reagents.add_reagent("protein", 10)
afterattack(obj/O as obj, mob/user as mob, proximity)
afterattack(obj/O as obj, var/mob/living/carbon/human/user as mob, proximity)
if(!proximity) return
if(istype(O,/obj/structure/sink) && !wrapped)
user << "You place \the [name] under a stream of water..."
loc = get_turf(O)
if(istype(user))
user.unEquip(src)
src.loc = get_turf(src)
return Expand()
..()
@@ -1574,11 +1576,14 @@
*/
proc/Expand()
for(var/mob/M in viewers(src,7))
M << "\red \The [src] expands!"
var/mob/living/carbon/human/H = new (src)
src.visible_message("<span class='notice'>\The [src] expands!</span>")
var/mob/living/carbon/human/H = new(src.loc)
H.set_species(monkey_type)
H.real_name = H.species.get_random_name()
H.name = H.real_name
src.loc = null
qdel(src)
return 1
proc/Unwrap(mob/user as mob)
icon_state = "monkeycube"

View File

@@ -399,7 +399,7 @@
var/list/connection_dirs = list()
for(var/obj/structure/table/T in oview(src, 1))
for(var/obj/structure/table/T in orange(src, 1))
var/T_dir = get_dir(src, T)
if(T_dir in blocked_dirs) continue
if(material && T.material && material.name == T.material.name && flipped == T.flipped)