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

This commit is contained in:
paprka
2015-02-01 18:22:02 -08:00
25 changed files with 219 additions and 98 deletions
+2 -1
View File
@@ -50,7 +50,8 @@ var/global/floorIsLava = 0
body += "<A href='?_src_=holder;notes=show;ckey=[M.ckey]'>Notes</A> "
if(M.client)
body += "| <A HREF='?_src_=holder;sendtoprison=\ref[M]'>Prison</A> | "
body += "| <A href='?_src_=holder;sendtoprison=\ref[M]'>Prison</A> | "
body += "\ <A href='?_src_=holder;sendbacktolobby=\ref[M]'>Send back to Lobby</A> | "
var/muted = M.client.prefs.muted
body += "<br><b>Mute: </b> "
body += "\[<A href='?_src_=holder;mute=[M.ckey];mute_type=[MUTE_IC]'><font color='[(muted & MUTE_IC)?"red":"blue"]'>IC</font></a> | "
+25
View File
@@ -1050,6 +1050,31 @@
log_admin("[key_name(usr)] has sent [key_name(M)] to Prison!")
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] Prison!")
else if(href_list["sendbacktolobby"])
if(!check_rights(R_ADMIN))
return
var/mob/M = locate(href_list["sendbacktolobby"])
if(!isobserver(M))
usr << "<span class='notice'>You can only send ghost players back to the Lobby.</span>"
return
if(!M.client)
usr << "<span class='warning'>[M] doesn't seem to have an active client.</span>"
return
if(alert(usr, "Send [key_name(M)] back to Lobby?", "Message", "Yes", "No") != "Yes")
return
log_admin("[key_name(usr)] has sent [key_name(M)] back to the Lobby.")
message_admins("[key_name(usr)] has sent [key_name(M)] back to the Lobby.")
var/mob/new_player/NP = new()
NP.ckey = M.ckey
qdel(M)
else if(href_list["tdome1"])
if(!check_rights(R_FUN)) return
+1
View File
@@ -1113,6 +1113,7 @@ var/global/list/g_fancy_list_of_types = null
M.equip_to_slot_or_del(R, slot_ears)
if(officer)
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/ert(M), slot_wear_suit)
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform)
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(M), slot_shoes)
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
@@ -731,7 +731,7 @@
return 0
if(H.cpr_time < world.time + 30)
add_logs(H, M, "CPRed")
add_logs(M, H, "CPRed")
M.visible_message("<span class='notice'>[M] is trying to perform CPR on [H]!</span>", \
"<span class='notice'>You try to perform CPR on [H]. Hold still!</span>")
if(!do_mob(M, H))
+18 -7
View File
@@ -204,6 +204,12 @@
updatehealth()
return
/mob/living/carbon/slime/MouseDrop(var/atom/movable/A as mob|obj)
if(isliving(A) && A != usr)
var/mob/living/Food = A
if(Food.Adjacent(usr) && !stat && Food.stat != DEAD) //messy
Feedon(Food)
..()
/mob/living/carbon/slime/unEquip(obj/item/W as obj)
return
@@ -216,14 +222,19 @@
/mob/living/carbon/slime/attack_slime(mob/living/carbon/slime/M as mob)
..()
var/damage = rand(1, 3)
if(src.Victim)
src.Victim = null
visible_message("<span class='danger'>[M] pulls [src] off!</span>")
return
attacked += 5
if(M.is_adult)
damage = rand(1, 6)
else
damage = rand(1, 3)
adjustBruteLoss(damage)
updatehealth()
if(src.nutrition >= 100) //steal some nutrition. negval handled in life()
src.nutrition -= (50 + (5 * M.amount_grown))
M.add_nutrition(50 + (5 * M.amount_grown))
if(src.health > 0)
src.adjustBruteLoss(4 + (2 * M.amount_grown)) //amt_grown isn't very linear but it works
src.updatehealth()
M.adjustBruteLoss(-4 + (-2 * M.amount_grown))
M.updatehealth()
return
/mob/living/carbon/slime/attack_animal(mob/living/simple_animal/M as mob)
+14 -9
View File
@@ -94,14 +94,18 @@
/obj/item/projectile/magic/door/on_hit(var/atom/target)
var/atom/T = target.loc
if(isturf(target))
if(target.density)
new /obj/structure/mineral_door/wood(target)
target:ChangeTurf(/turf/simulated/floor/plating)
else if (isturf(T))
if(T.density)
new /obj/structure/mineral_door/wood(T)
T:ChangeTurf(/turf/simulated/floor/plating)
if(isturf(target) && target.density)
CreateDoor(target)
else if (isturf(T) && T.density)
CreateDoor(T)
/obj/item/projectile/magic/door/proc/CreateDoor(var/turf/T)
new /obj/structure/mineral_door/wood(T)
if(istype(T,/turf/simulated/shuttle/wall))
T.ChangeTurf(/turf/simulated/shuttle/plating)
else
T.ChangeTurf(/turf/simulated/floor/plating)
/obj/item/projectile/magic/change
name = "bolt of change"
@@ -196,7 +200,7 @@ proc/wabbajack(mob/living/M)
if("magicarp") new_mob = new /mob/living/simple_animal/hostile/carp/ranged(M.loc)
if("chaosmagicarp") new_mob = new /mob/living/simple_animal/hostile/carp/ranged/chaos(M.loc)
else
var/animal = pick("parrot","corgi","crab","pug","cat","mouse","chicken","cow","lizard","chick","fox")
var/animal = pick("parrot","corgi","crab","pug","cat","mouse","chicken","cow","lizard","chick","fox","butterfly")
switch(animal)
if("parrot") new_mob = new /mob/living/simple_animal/parrot(M.loc)
if("corgi") new_mob = new /mob/living/simple_animal/corgi(M.loc)
@@ -208,6 +212,7 @@ proc/wabbajack(mob/living/M)
if("cow") new_mob = new /mob/living/simple_animal/cow(M.loc)
if("lizard") new_mob = new /mob/living/simple_animal/lizard(M.loc)
if("fox") new_mob = new /mob/living/simple_animal/fox(M.loc)
if("butterfly") new_mob = new /mob/living/simple_animal/butterfly(M.loc)
else new_mob = new /mob/living/simple_animal/chick(M.loc)
new_mob.languages |= HUMAN
if("human")
@@ -75,7 +75,7 @@ datum/reagent/blob/acid
datum/reagent/blob/acid/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume)
if(method == TOUCH)
M.acid_act(20,1,10)
M.acid_act(10,1,5)
M.apply_damage(10, BRUTE)
M << "<span class = 'userdanger'>The blob's tendrils melt though your equipment!</span>"
@@ -148,4 +148,4 @@ datum/reagent/blob/explosive/reaction_mob(var/mob/living/M as mob, var/method=TO
step_away(X,pull)
step_away(X,pull)
else
X.throw_at(pull)
X.throw_at(pull)
@@ -139,7 +139,7 @@
name = "formaldehyde bottle"
desc = "A small bottle. Contains Formaldehyde."
icon_state = "bottle16"
list_reagents = list("formaldehye" = 30)
list_reagents = list("formaldehyde" = 30)
/obj/item/weapon/reagent_containers/glass/bottle/histamine
name = "histamine bottle"