mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-20 12:35:33 +01:00
Merge branch 'master' of https://github.com/tgstation/-tg-station into expexpanded
Conflicts: _maps/map_files/TgStation/tgstation.2.1.3.dmm
This commit is contained in:
@@ -31,7 +31,7 @@
|
||||
s.start()
|
||||
obj:radiation += 50
|
||||
randmutb(obj)
|
||||
domutcheck(obj,null)
|
||||
domutcheck(obj)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/mine/proc/triggerstun(obj)
|
||||
|
||||
@@ -44,6 +44,20 @@
|
||||
|
||||
var/suittoggled = 0
|
||||
var/hooded = 0
|
||||
var/list/can_be_placed_into = list(
|
||||
/obj/structure/table,
|
||||
/obj/structure/rack,
|
||||
/obj/structure/closet,
|
||||
/obj/item/weapon/storage,
|
||||
/obj/structure/safe,
|
||||
/obj/machinery/disposal
|
||||
)
|
||||
/obj/item/proc/check_allowed_items(atom/target, not_inside)
|
||||
if((src in target) || ((!istype(target.loc, /turf)) && (!istype(target, /turf)) && (not_inside)) || is_type_in_list(target, can_be_placed_into))
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
|
||||
|
||||
/obj/item/device
|
||||
icon = 'icons/obj/device.dmi'
|
||||
|
||||
@@ -169,7 +169,7 @@
|
||||
/obj/item/areaeditor/proc/edit_area()
|
||||
var/area/A = get_area()
|
||||
var/prevname = "[A.name]"
|
||||
var/str = trim(stripped_input(usr,"New area name:", "Blueprint Editing", prevname, MAX_NAME_LEN))
|
||||
var/str = trim(stripped_input(usr,"New area name:", "Blueprint Editing", "", MAX_NAME_LEN))
|
||||
if(!str || !length(str) || str==prevname) //cancel
|
||||
return
|
||||
if(length(str) > 50)
|
||||
|
||||
@@ -44,12 +44,11 @@
|
||||
|
||||
/obj/structure/closet/body_bag/attackby(obj/item/I, mob/user)
|
||||
if (istype(I, /obj/item/weapon/pen))
|
||||
var/t = input(user, "What would you like the label to be?", name, null) as text
|
||||
var/t = stripped_input(user, "What would you like the label to be?", name, null, 53)
|
||||
if(user.get_active_hand() != I)
|
||||
return
|
||||
if(!in_range(src, user) && loc != user)
|
||||
return
|
||||
t = copytext(sanitize(t), 1, 53) //max length of 64 - "body bag - " instead of MAX_MESSAGE_LEN, as per the hand labeler
|
||||
if(t)
|
||||
name = "body bag - "
|
||||
name += t
|
||||
|
||||
@@ -631,11 +631,10 @@ var/global/list/obj/item/device/pda/PDAs = list()
|
||||
//CHATROOM FUNCTIONS====================================
|
||||
|
||||
if("Set Nick")
|
||||
var/t = stripped_input(U, "Please enter nickname", name, null) as text
|
||||
nick = copytext(sanitize(t), 1, 9)
|
||||
nick = stripped_input(U, "Please enter nickname", name, null, 8)
|
||||
|
||||
if("Set Channel")
|
||||
var/t = stripped_input(U, "Please enter channel", name, (chat_channel)) as text
|
||||
var/t = stripped_input(U, "Please enter channel", name, chat_channel)
|
||||
|
||||
if(t)
|
||||
var/datum/chatroom/C = chatchannels[chat_channel]
|
||||
|
||||
@@ -158,7 +158,7 @@
|
||||
*/
|
||||
|
||||
/obj/item/device/transfer_valve/proc/toggle_valve()
|
||||
if(valve_open==0 && (tank_one && tank_two))
|
||||
if(!valve_open && tank_one && tank_two)
|
||||
valve_open = 1
|
||||
var/turf/bombturf = get_turf(src)
|
||||
var/area/A = get_area(bombturf)
|
||||
@@ -203,7 +203,7 @@
|
||||
sleep(10)
|
||||
src.update_icon()
|
||||
|
||||
else if(valve_open==1 && (tank_one && tank_two))
|
||||
else if(valve_open && tank_one && tank_two)
|
||||
split_gases()
|
||||
valve_open = 0
|
||||
src.update_icon()
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
bmark.pixel_x--
|
||||
bmark.pixel_y--
|
||||
|
||||
if(Proj.damage >= 20 || istype(Proj, /obj/item/projectile/practice))
|
||||
if(Proj.damage >= 20 || istype(Proj, /obj/item/projectile/beam/practice))
|
||||
bmark.icon_state = "scorch"
|
||||
bmark.dir = pick(NORTH,SOUTH,EAST,WEST) // random scorch design
|
||||
|
||||
@@ -177,4 +177,4 @@
|
||||
b2y1 = pixel_y + pick(1,1,1,1,2,2,3,3,4)
|
||||
b2y2 = pixel_y - pick(1,1,1,1,2,2,3,3,4)
|
||||
|
||||
Target.bulletholes.Add(src)
|
||||
Target.bulletholes.Add(src)
|
||||
|
||||
@@ -108,12 +108,13 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
var/type_butt = /obj/item/weapon/cigbutt
|
||||
var/lastHolder = null
|
||||
var/smoketime = 300
|
||||
var/chem_volume = 15
|
||||
var/chem_volume = 30
|
||||
|
||||
/obj/item/clothing/mask/cigarette/New()
|
||||
..()
|
||||
flags |= NOREACT // so it doesn't react until you light it
|
||||
create_reagents(chem_volume) // making the cigarette a chemical holder with a maximum volume of 15
|
||||
reagents.add_reagent("nicotine", 15)
|
||||
|
||||
/obj/item/clothing/mask/cigarette/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
M.radiation += rand(20/(damage_coeff ** 2),50/(damage_coeff ** 2))
|
||||
var/log_msg = "[key_name(user)] injected [key_name(M)] with the [name]"
|
||||
for(var/datum/mutation/human/HM in remove_mutations)
|
||||
HM.on_losing(M)
|
||||
HM.force_lose(M)
|
||||
for(var/datum/mutation/human/HM in add_mutations)
|
||||
if(HM.name == RACEMUT)
|
||||
message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the [name] <span class='danger'>(MONKEY)</span>")
|
||||
|
||||
@@ -58,8 +58,7 @@
|
||||
if(!ear_safety)
|
||||
M.Stun(max(10/distance, 3))
|
||||
M.Weaken(max(10/distance, 3))
|
||||
M.ear_damage += rand(0, 5)
|
||||
M.ear_deaf = max(M.ear_deaf,15)
|
||||
M.setEarDamage(M.ear_damage + rand(0, 5), max(M.ear_deaf,15))
|
||||
if (M.ear_damage >= 15)
|
||||
M << "<span class='warning'>Your ears start to ring badly!</span>"
|
||||
if(!banglet && !(istype(src , /obj/item/weapon/grenade/flashbang/clusterbang)))
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
action_button_is_hands_free = 1
|
||||
var/activated = 1 //1 for implant types that can be activated, 0 for ones that are "always on" like loyalty implants
|
||||
var/implanted = null
|
||||
var/mob/imp_in = null
|
||||
var/mob/living/imp_in = null
|
||||
item_color = "b"
|
||||
var/allow_reagents = 0
|
||||
|
||||
@@ -190,6 +190,7 @@
|
||||
imp_in.SetStunned(0)
|
||||
imp_in.SetWeakened(0)
|
||||
imp_in.SetParalysis(0)
|
||||
imp_in.adjustStaminaLoss(-75)
|
||||
imp_in.lying = 0
|
||||
imp_in.update_canmove()
|
||||
|
||||
|
||||
@@ -19,12 +19,11 @@
|
||||
/obj/item/weapon/implantcase/attackby(obj/item/weapon/W, mob/user)
|
||||
..()
|
||||
if(istype(W, /obj/item/weapon/pen))
|
||||
var/t = input(user, "What would you like the label to be?", name, null) as text
|
||||
var/t = stripped_input(user, "What would you like the label to be?", name, null)
|
||||
if(user.get_active_hand() != W)
|
||||
return
|
||||
if(!in_range(src, user) && loc != user)
|
||||
return
|
||||
t = copytext(sanitize(t), 1, MAX_MESSAGE_LEN)
|
||||
if(t)
|
||||
name = "glass case- '[t]'"
|
||||
else
|
||||
|
||||
@@ -12,9 +12,19 @@
|
||||
origin_tech = "programming=3"
|
||||
var/list/signs = list()
|
||||
var/max_signs = 10
|
||||
can_be_placed_into = list(
|
||||
/obj/machinery/r_n_d/destructive_analyzer,
|
||||
/obj/structure/table,
|
||||
/obj/structure/rack,
|
||||
/obj/structure/closet,
|
||||
/obj/item/weapon/storage,
|
||||
/obj/structure/safe,
|
||||
/obj/machinery/disposal
|
||||
)
|
||||
|
||||
/obj/item/weapon/holosign_creator/afterattack(atom/target, mob/user, flag)
|
||||
if(flag)
|
||||
if(!check_allowed_items(target, 1)) return
|
||||
var/turf/T = get_turf(target)
|
||||
var/obj/effect/overlay/holograph/H = locate() in T
|
||||
if(H)
|
||||
|
||||
@@ -173,4 +173,14 @@
|
||||
/obj/item/weapon/reagent_containers/spray,
|
||||
/obj/item/weapon/soap,
|
||||
/obj/item/weapon/holosign_creator
|
||||
)
|
||||
)
|
||||
|
||||
/obj/item/weapon/storage/belt/bandolier
|
||||
name = "bandolier"
|
||||
desc = "A bandolier for holding shotgun ammunition."
|
||||
icon_state = "bandolier"
|
||||
item_state = "bandolier"
|
||||
storage_slots = 6
|
||||
can_hold = list(
|
||||
/obj/item/ammo_casing/shotgun
|
||||
)
|
||||
|
||||
@@ -276,7 +276,7 @@
|
||||
|
||||
add_fingerprint(usr)
|
||||
|
||||
if(!prevent_warning && !istype(W, /obj/item/weapon/gun/energy/crossbow))
|
||||
if(!prevent_warning && !istype(W, /obj/item/weapon/gun/projectile/automatic/crossbow))
|
||||
for(var/mob/M in viewers(usr, null))
|
||||
if(M == usr)
|
||||
usr << "<span class='notice'>You put [W] [preposition]to [src].</span>"
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
return
|
||||
|
||||
if("stealth")
|
||||
new /obj/item/weapon/gun/energy/crossbow(src)
|
||||
new /obj/item/weapon/gun/projectile/automatic/crossbow(src)
|
||||
new /obj/item/weapon/pen/sleepy(src)
|
||||
new /obj/item/device/chameleon(src)
|
||||
return
|
||||
@@ -161,4 +161,17 @@
|
||||
new /obj/item/weapon/grenade/empgrenade(src)
|
||||
new /obj/item/weapon/implanter/emp/(src)
|
||||
new /obj/item/device/flashlight/emp/(src)
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/chemical
|
||||
name = "boxed chemical kit"
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/chemical/New()
|
||||
..()
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/polonium(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/venom(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/neurotoxin2(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/formaldehyde(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/cyanide(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/histamine(src)
|
||||
return
|
||||
@@ -45,7 +45,7 @@
|
||||
noz.loc = user
|
||||
else
|
||||
//Remove from their hands and put back "into" the tank
|
||||
remove_noz(user)
|
||||
remove_noz()
|
||||
return
|
||||
|
||||
/obj/item/weapon/watertank/proc/make_noz()
|
||||
@@ -53,18 +53,17 @@
|
||||
|
||||
/obj/item/weapon/watertank/equipped(mob/user, slot)
|
||||
if (slot != slot_back)
|
||||
remove_noz(user)
|
||||
remove_noz()
|
||||
|
||||
/obj/item/weapon/watertank/proc/remove_noz(mob/user)
|
||||
var/mob/living/carbon/human/M = user
|
||||
if(noz in get_both_hands(M))
|
||||
/obj/item/weapon/watertank/proc/remove_noz()
|
||||
if(ismob(noz.loc))
|
||||
var/mob/M = noz.loc
|
||||
M.unEquip(noz, 1)
|
||||
return
|
||||
|
||||
/obj/item/weapon/watertank/Destroy()
|
||||
if (on)
|
||||
var/M = get(noz, /mob)
|
||||
remove_noz(M)
|
||||
remove_noz()
|
||||
qdel(noz)
|
||||
noz = null
|
||||
..()
|
||||
@@ -96,7 +95,7 @@
|
||||
|
||||
/obj/item/weapon/watertank/attackby(obj/item/W, mob/user)
|
||||
if(W == noz)
|
||||
remove_noz(user)
|
||||
remove_noz()
|
||||
return
|
||||
..()
|
||||
|
||||
|
||||
@@ -74,8 +74,8 @@
|
||||
if(user)
|
||||
var/obj/item/weapon/twohanded/O = user.get_inactive_hand()
|
||||
if(istype(O))
|
||||
O.unwield()
|
||||
return unwield()
|
||||
O.unwield(user)
|
||||
return unwield(user)
|
||||
|
||||
/obj/item/weapon/twohanded/update_icon()
|
||||
return
|
||||
|
||||
@@ -77,3 +77,7 @@
|
||||
/obj/structure/closet/critter/pug
|
||||
name = "pug crate"
|
||||
content_mob = /mob/living/simple_animal/pug
|
||||
|
||||
/obj/structure/closet/critter/fox
|
||||
name = "fox crate"
|
||||
content_mob = /mob/living/simple_animal/fox
|
||||
@@ -20,7 +20,7 @@
|
||||
new /obj/item/clothing/under/rank/hydroponics(src)
|
||||
new /obj/item/device/analyzer/plant_analyzer(src)
|
||||
new /obj/item/device/radio/headset/headset_srv(src)
|
||||
new /obj/item/clothing/head/greenbandana(src)
|
||||
new /obj/item/clothing/mask/bandana(src)
|
||||
new /obj/item/weapon/minihoe(src)
|
||||
new /obj/item/weapon/hatchet(src)
|
||||
new /obj/item/clothing/suit/toggle/wintercoat/hydro(src)
|
||||
|
||||
@@ -34,6 +34,8 @@
|
||||
new /obj/item/clothing/head/soft/sec(src)
|
||||
new /obj/item/clothing/head/soft/sec(src)
|
||||
new /obj/item/clothing/head/soft/sec(src)
|
||||
new /obj/item/clothing/mask/bandana/red(src)
|
||||
new /obj/item/clothing/mask/bandana/red(src)
|
||||
new /obj/item/clothing/head/santa(src)
|
||||
new /obj/item/clothing/head/santa(src)
|
||||
new /obj/item/clothing/head/santa(src)
|
||||
@@ -73,6 +75,10 @@
|
||||
new /obj/item/clothing/head/soft/black(src)
|
||||
new /obj/item/clothing/head/soft/black(src)
|
||||
new /obj/item/clothing/head/soft/black(src)
|
||||
new /obj/item/clothing/mask/bandana/black(src)
|
||||
new /obj/item/clothing/mask/bandana/black(src)
|
||||
if(prob(40))
|
||||
new /obj/item/clothing/mask/bandana/skull(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -107,6 +113,8 @@
|
||||
new /obj/item/clothing/shoes/sneakers/black(src)
|
||||
new /obj/item/clothing/shoes/sneakers/black(src)
|
||||
new /obj/item/clothing/shoes/sneakers/black(src)
|
||||
new /obj/item/clothing/mask/bandana/green(src)
|
||||
new /obj/item/clothing/mask/bandana/green(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -138,6 +146,8 @@
|
||||
new /obj/item/clothing/shoes/sneakers/orange(src)
|
||||
new /obj/item/clothing/shoes/sneakers/orange(src)
|
||||
new /obj/item/clothing/shoes/sneakers/orange(src)
|
||||
new /obj/item/clothing/mask/bandana/gold(src)
|
||||
new /obj/item/clothing/mask/bandana/gold(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -261,6 +271,10 @@
|
||||
new /obj/item/clothing/head/soft/black(src)
|
||||
new /obj/item/clothing/head/soft/black(src)
|
||||
new /obj/item/clothing/suit/toggle/wintercoat/science(src)
|
||||
if(prob(40))
|
||||
new /obj/item/clothing/mask/bandana/skull(src)
|
||||
if(prob(40))
|
||||
new /obj/item/clothing/mask/bandana/skull(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -329,6 +343,9 @@
|
||||
new /obj/item/clothing/head/soft/grey(src)
|
||||
new /obj/item/clothing/head/soft/grey(src)
|
||||
new /obj/item/clothing/head/soft/grey(src)
|
||||
if(prob(40))
|
||||
new /obj/item/clothing/mask/bandana/black(src)
|
||||
new /obj/item/clothing/mask/bandana/black(src)
|
||||
if(prob(40))
|
||||
new /obj/item/clothing/under/assistantformal(src)
|
||||
if(prob(40))
|
||||
@@ -356,6 +373,21 @@
|
||||
new /obj/item/clothing/under/color/green(src)
|
||||
new /obj/item/clothing/under/color/orange(src)
|
||||
new /obj/item/clothing/under/color/pink(src)
|
||||
new /obj/item/clothing/under/color/red(src)
|
||||
new /obj/item/clothing/under/color/lightblue(src)
|
||||
new /obj/item/clothing/under/color/aqua(src)
|
||||
new /obj/item/clothing/under/color/purple(src)
|
||||
new /obj/item/clothing/under/color/lightpurple(src)
|
||||
new /obj/item/clothing/under/color/lightgreen(src)
|
||||
new /obj/item/clothing/under/color/darkblue(src)
|
||||
new /obj/item/clothing/under/color/darkred(src)
|
||||
new /obj/item/clothing/under/color/lightred(src)
|
||||
new /obj/item/clothing/mask/bandana/red(src)
|
||||
new /obj/item/clothing/mask/bandana/red(src)
|
||||
new /obj/item/clothing/mask/bandana/blue(src)
|
||||
new /obj/item/clothing/mask/bandana/blue(src)
|
||||
new /obj/item/clothing/mask/bandana/gold(src)
|
||||
new /obj/item/clothing/mask/bandana/gold(src)
|
||||
new /obj/item/clothing/shoes/sneakers/black(src)
|
||||
new /obj/item/clothing/shoes/sneakers/brown(src)
|
||||
new /obj/item/clothing/shoes/sneakers/white(src)
|
||||
|
||||
@@ -59,12 +59,11 @@
|
||||
|
||||
/obj/structure/bodycontainer/attackby(P as obj, mob/user as mob)
|
||||
if (istype(P, /obj/item/weapon/pen))
|
||||
var/t = input(user, "What would you like the label to be?", text("[]", name), null) as text
|
||||
var/t = stripped_input(user, "What would you like the label to be?", text("[]", name), null)
|
||||
if (user.get_active_hand() != P)
|
||||
return
|
||||
if ((!in_range(src, usr) && src.loc != user))
|
||||
return
|
||||
t = copytext(sanitize(t),1,MAX_MESSAGE_LEN)
|
||||
if (t)
|
||||
name = text("[]- '[]'", initial(name), t)
|
||||
else
|
||||
|
||||
@@ -130,7 +130,6 @@
|
||||
user << "<span class='notice'>You need a tighter grip.</span>"
|
||||
|
||||
|
||||
|
||||
/obj/machinery/shower
|
||||
name = "shower"
|
||||
desc = "The HS-451. Installed in the 2550s by the Nanotrasen Hygiene Division."
|
||||
|
||||
Reference in New Issue
Block a user