mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-28 23:58:07 +01:00
Merge branch 'master' of https://github.com/tgstation/-tg-station into gunstuff
This commit is contained in:
@@ -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> | "
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user