merge master

This commit is contained in:
Ghilke
2020-08-30 12:10:30 +02:00
521 changed files with 5302 additions and 4328 deletions
+2 -1
View File
@@ -40,6 +40,7 @@
desc = "Draw out your soul on this canvas!"
icon = 'icons/obj/artstuff.dmi'
icon_state = "11x11"
flags_1 = UNPAINTABLE_1
resistance_flags = FLAMMABLE
var/width = 11
var/height = 11
@@ -220,7 +221,7 @@
desc = "The perfect showcase for your favorite deathtrap memories."
icon = 'icons/obj/decals.dmi'
custom_materials = list(/datum/material/wood = 2000)
flags_1 = 0
flags_1 = NONE
icon_state = "frame-empty"
result_path = /obj/structure/sign/painting
@@ -79,9 +79,9 @@
. = ..()
if(over_object == usr && Adjacent(usr))
if(!ishuman(usr) || !usr.canUseTopic(src, BE_CLOSE))
return 0
return FALSE
if(has_buckled_mobs())
return 0
return FALSE
usr.visible_message("<span class='notice'>[usr] collapses \the [src.name].</span>", "<span class='notice'>You collapse \the [src.name].</span>")
var/obj/structure/bed/roller/B = new foldabletype(get_turf(src))
usr.put_in_hands(B)
@@ -325,8 +325,8 @@
/obj/item/chair/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
if(attack_type == UNARMED_ATTACK && prob(hit_reaction_chance))
owner.visible_message("<span class='danger'>[owner] fends off [attack_text] with [src]!</span>")
return 1
return 0
return TRUE
return FALSE
/obj/item/chair/afterattack(atom/target, mob/living/carbon/user, proximity)
. = ..()
@@ -393,8 +393,8 @@
/obj/structure/closet/Exit(atom/movable/AM)
open()
if(AM.loc == src)
return 0
return 1
return FALSE
return TRUE
/obj/structure/closet/container_resist_act(mob/living/user)
if(opened)
@@ -18,7 +18,7 @@
drag_slowdown = 0
var/foldedbag_path = /obj/item/bodybag
var/obj/item/bodybag/foldedbag_instance = null
var/tagged = 0 // so closet code knows to put the tag overlay back
var/tagged = FALSE // so closet code knows to put the tag overlay back
/obj/structure/closet/body_bag/Destroy()
// If we have a stored bag, and it's in nullspace (not in someone's hand), delete it.
@@ -38,7 +38,7 @@
return
if(t)
name = "body bag - [t]"
tagged = 1
tagged = TRUE
update_icon()
else
name = "body bag"
@@ -46,7 +46,7 @@
else if(I.tool_behaviour == TOOL_WIRECUTTER)
to_chat(user, "<span class='notice'>You cut the tag off [src].</span>")
name = "body bag"
tagged = 0
tagged = FALSE
update_icon()
/obj/structure/closet/body_bag/update_overlays()
@@ -61,6 +61,8 @@
new /obj/item/door_remote/civilian(src)
new /obj/item/circuitboard/machine/techfab/department/service(src)
new /obj/item/storage/photo_album/hop(src)
new /obj/item/storage/lockbox/medal/hop(src)
/obj/structure/closet/secure_closet/hos
name = "\proper head of security's locker"
+2 -2
View File
@@ -45,7 +45,7 @@
return
to_chat(user, "<span class='notice'>You start fixing [src]...</span>")
if(do_after(user, 20, target = src) && G.use(2))
broken = 0
broken = FALSE
obj_integrity = max_integrity
update_icon()
else if(open || broken)
@@ -75,7 +75,7 @@
if(BURN)
playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE)
/obj/structure/fireaxecabinet/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir)
/obj/structure/fireaxecabinet/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = TRUE, attack_dir)
if(open)
return
. = ..()
+2 -2
View File
@@ -361,7 +361,7 @@
var/obj/item/stack/sheet/runed_metal/R = W
if(R.get_amount() < 1)
to_chat(user, "<span class='warning'>You need at least one sheet of runed metal to construct a runed wall!</span>")
return 0
return
user.visible_message("<span class='notice'>[user] begins laying runed metal on [src]...</span>", "<span class='notice'>You begin constructing a runed wall...</span>")
if(do_after(user, 50, target = src))
if(R.get_amount() < 1)
@@ -428,7 +428,7 @@
var/obj/item/stack/tile/bronze/B = W
if(B.get_amount() < 2)
to_chat(user, "<span class='warning'>You need at least two bronze sheets to build a bronze wall!</span>")
return 0
return
user.visible_message("<span class='notice'>[user] begins plating [src] with bronze...</span>", "<span class='notice'>You begin constructing a bronze wall...</span>")
if(do_after(user, 50, target = src))
if(B.get_amount() < 2)
+1 -1
View File
@@ -21,7 +21,7 @@
anchored = TRUE
density = TRUE
max_buckled_mobs = 1
buckle_lying = FALSE
buckle_lying = 0
buckle_prevents_pull = TRUE
layer = ABOVE_MOB_LAYER
var/blade_status = GUILLOTINE_BLADE_RAISED
+2 -2
View File
@@ -23,13 +23,13 @@
/obj/structure/janitorialcart/proc/wet_mop(obj/item/mop, mob/user)
if(reagents.total_volume < 1)
to_chat(user, "<span class='warning'>[src] is out of water!</span>")
return 0
return FALSE
else
var/obj/item/mop/M = mop
reagents.trans_to(mop, M.mopcap, transfered_by = user)
to_chat(user, "<span class='notice'>You wet [mop] in [src].</span>")
playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE)
return 1
return TRUE
/obj/structure/janitorialcart/proc/put_in_cart(obj/item/I, mob/user)
if(!user.transferItemToLoc(I, src))
+26 -23
View File
@@ -84,39 +84,42 @@
user.forceMove(T)
if(AM)
user.start_pulling(AM)
//reopening ladder radial menu ahead
T = get_turf(user)
var/obj/structure/ladder/ladder_structure = locate() in T
if (ladder_structure)
ladder_structure.use(user)
/obj/structure/ladder/proc/use(mob/user, is_ghost=FALSE)
if (!is_ghost && !in_range(src, user))
return
var/list/tool_list = list(
"Up" = image(icon = 'icons/testing/turf_analysis.dmi', icon_state = "red_arrow", dir = NORTH),
"Down" = image(icon = 'icons/testing/turf_analysis.dmi', icon_state = "red_arrow", dir = SOUTH)
)
if (up && down)
var/result = show_radial_menu(user, src, tool_list, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE)
if (!is_ghost && !in_range(src, user))
return // nice try
switch(result)
if("Up")
travel(TRUE, user, is_ghost, up)
if("Down")
travel(FALSE, user, is_ghost, down)
if("Cancel")
return
else if(up)
travel(TRUE, user, is_ghost, up)
else if(down)
travel(FALSE, user, is_ghost, down)
else
var/list/tool_list = list()
if (up)
tool_list["Up"] = image(icon = 'icons/testing/turf_analysis.dmi', icon_state = "red_arrow", dir = NORTH)
if (down)
tool_list["Down"] = image(icon = 'icons/testing/turf_analysis.dmi', icon_state = "red_arrow", dir = SOUTH)
if (!length(tool_list))
to_chat(user, "<span class='warning'>[src] doesn't seem to lead anywhere!</span>")
return
var/result = show_radial_menu(user, src, tool_list, custom_check = CALLBACK(src, .proc/check_menu, user, is_ghost), require_near = !is_ghost, tooltips = TRUE)
if (!is_ghost && !in_range(src, user))
return // nice try
switch(result)
if("Up")
travel(TRUE, user, is_ghost, up)
if("Down")
travel(FALSE, user, is_ghost, down)
if("Cancel")
return
if(!is_ghost)
add_fingerprint(user)
/obj/structure/ladder/proc/check_menu(mob/user)
if(user.incapacitated() || !user.Adjacent(src))
/obj/structure/ladder/proc/check_menu(mob/user, is_ghost)
if(user.incapacitated() || (!user.Adjacent(src) && !is_ghost))
return FALSE
return TRUE
+24 -1
View File
@@ -9,7 +9,6 @@ but we are all contributors together.
Goodbye, man. We'll miss you.
This memorial has been designed for him and any future coders to perish.
*/
/obj/structure/fluff/arc
@@ -20,3 +19,27 @@ This memorial has been designed for him and any future coders to perish.
density = TRUE
anchored = TRUE
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
/*
In Memoriam 26th August, 2020
Our friend, fellow admin, and champion of the "short" reply, OrdoDictionary passed away recently.
While this news was not unexpected - Ordo had been fighting bravely against prion disease for some time - it remains as heartbreaking as it is unfair.
Ordo was sharp as a razor, with wit to match. During the time we knew him he was pursuing a PhD, yet he still found time to volunteer here and help his fellow spessman.
In admin channels you were as likely to find Ordo pontificating on history or food or ham radio as you were anything related to the game. But you knew -
no matter the topic - that his opinion was informed and valuable, and that he would deliver it with nuance, class and charm.
This community - and the world - is worse off without him in it.
He will be missed.
So should you read this and should you get the chance, raise a glass in his memory.
…but be sure to break out the good stuff.
Thats how he would have wanted it.
*/
/obj/item/clothing/accessory/medal/gold/ordom
name = "\proper The OrdoM Memorial Medal For Excellence in Paperwork"
desc = "Awarded for outstanding excellence in paperwork, administration, and bureaucracy."
icon_state = "medal_paperwork"
medaltype = "medal-gold"
custom_materials = list(/datum/material/gold=1000)
@@ -77,28 +77,28 @@
/mob/living/carbon/human/petrify(statue_timer)
if(!isturf(loc))
return 0
return FALSE
var/obj/structure/statue/petrified/S = new(loc, src, statue_timer)
S.name = "statue of [name]"
bleedsuppress = 1
S.copy_overlays(src)
var/newcolor = list(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0))
S.add_atom_colour(newcolor, FIXED_COLOUR_PRIORITY)
return 1
return TRUE
/mob/living/carbon/monkey/petrify(statue_timer)
if(!isturf(loc))
return 0
return FALSE
var/obj/structure/statue/petrified/S = new(loc, src, statue_timer)
S.name = "statue of a monkey"
S.icon_state = "monkey"
return 1
return TRUE
/mob/living/simple_animal/pet/dog/corgi/petrify(statue_timer)
if(!isturf(loc))
return 0
return FALSE
var/obj/structure/statue/petrified/S = new (loc, src, statue_timer)
S.name = "statue of a corgi"
S.icon_state = "corgi"
S.desc = "If it takes forever, I will wait for you..."
return 1
return TRUE
-1
View File
@@ -121,7 +121,6 @@
A.wash(CLEAN_WASH)
SEND_SIGNAL(A, COMSIG_ADD_MOOD_EVENT, "shower", /datum/mood_event/nice_shower)
reagents.expose(A, TOUCH)
reagents.expose(A, VAPOR)
if(isliving(A))
check_heat(A)
+4 -4
View File
@@ -227,7 +227,7 @@
material_drop_type = /obj/item/stack/sheet/mineral/bananium
impressiveness = 50
desc = "A bananium statue with a small engraving:'HOOOOOOONK'."
var/spam_flag = 0
var/limiting_spam = FALSE
/obj/structure/statue/bananium/clown
name = "statue of a clown"
@@ -250,10 +250,10 @@
..()
/obj/structure/statue/bananium/proc/honk()
if(!spam_flag)
spam_flag = TRUE
if(!limiting_spam)
limiting_spam = TRUE
playsound(src.loc, 'sound/items/bikehorn.ogg', 50, TRUE)
addtimer(VARSET_CALLBACK(src, spam_flag, FALSE), 2 SECONDS)
addtimer(VARSET_CALLBACK(src, limiting_spam, FALSE), 2 SECONDS)
/////////////////////sandstone/////////////////////////////////////////
+1 -1
View File
@@ -536,7 +536,7 @@
canSmoothWith = null
can_buckle = 1
buckle_lying = -1
buckle_requires_restraints = 1
buckle_requires_restraints = TRUE
var/mob/living/carbon/human/patient = null
var/obj/machinery/computer/operating/computer = null
@@ -9,7 +9,7 @@
density = FALSE
layer = LOW_ITEM_LAYER //same as the built tube
anchored = FALSE
var/flipped = 0
var/flipped = FALSE
var/build_type = /obj/structure/transit_tube
var/flipped_build_type
var/base_icon
@@ -62,7 +62,7 @@
/obj/structure/c_transit_tube/station/flipped
icon_state = "closed_station1"
flipped = 1
flipped = TRUE
build_type = /obj/structure/transit_tube/station/flipped
flipped_build_type = /obj/structure/transit_tube/station
@@ -77,7 +77,7 @@
/obj/structure/c_transit_tube/station/reverse/flipped
icon_state = "closed_terminus1"
flipped = 1
flipped = TRUE
build_type = /obj/structure/transit_tube/station/reverse/flipped
flipped_build_type = /obj/structure/transit_tube/station/reverse
@@ -91,7 +91,7 @@
/obj/structure/c_transit_tube/station/dispenser/flipped
icon_state = "closed_station1"
flipped = 1
flipped = TRUE
build_type = /obj/structure/transit_tube/station/dispenser/flipped
flipped_build_type = /obj/structure/transit_tube/station/dispenser
@@ -106,7 +106,7 @@
/obj/structure/c_transit_tube/station/dispenser/reverse/flipped
icon_state = "closed_terminus1"
flipped = 1
flipped = TRUE
build_type = /obj/structure/transit_tube/station/dispenser/reverse/flipped
flipped_build_type = /obj/structure/transit_tube/station/dispenser/reverse
@@ -136,7 +136,7 @@
icon_state = "curved1"
build_type = /obj/structure/transit_tube/curved/flipped
flipped_build_type = /obj/structure/transit_tube/curved
flipped = 1
flipped = TRUE
/obj/structure/c_transit_tube/junction
@@ -148,7 +148,7 @@
/obj/structure/c_transit_tube/junction/flipped
icon_state = "junction1"
flipped = 1
flipped = TRUE
build_type = /obj/structure/transit_tube/junction/flipped
flipped_build_type = /obj/structure/transit_tube/junction
@@ -98,7 +98,7 @@
return ..()
/obj/structure/transit_tube_pod/proc/follow_tube()
set waitfor = 0
set waitfor = FALSE
if(moving)
return
+21 -15
View File
@@ -64,6 +64,9 @@
real_explosion_block = explosion_block
explosion_block = EXPLOSION_BLOCK_PROC
flags_1 |= ALLOW_DARK_PAINTS_1
RegisterSignal(src, COMSIG_OBJ_PAINTED, .proc/on_painted)
/obj/structure/window/ComponentInitialize()
. = ..()
AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS ,null,CALLBACK(src, .proc/can_be_rotated),CALLBACK(src,.proc/after_rotation))
@@ -99,9 +102,9 @@
/obj/structure/window/CanAllowThrough(atom/movable/mover, turf/target)
. = ..()
if(istype(mover) && (mover.pass_flags & PASSGLASS))
return 1
return TRUE
if(dir == FULLTILE_WINDOW_DIR)
return 0 //full tile window, you can't move into it!
return FALSE //full tile window, you can't move into it!
var/attempted_dir = get_dir(loc, target)
if(attempted_dir == dir)
return
@@ -120,10 +123,10 @@
/obj/structure/window/CheckExit(atom/movable/O, turf/target)
if(istype(O) && (O.pass_flags & PASSGLASS))
return 1
return TRUE
if(get_dir(O.loc, target) == dir)
return 0
return 1
return FALSE
return TRUE
/obj/structure/window/attack_tk(mob/user)
user.changeNext_move(CLICK_CD_MELEE)
@@ -217,18 +220,13 @@
/obj/structure/window/proc/check_state_and_anchored(checked_state, checked_anchored)
return check_state(checked_state) && check_anchored(checked_anchored)
/obj/structure/window/mech_melee_attack(obj/mecha/M)
if(!can_be_reached())
return
..()
/obj/structure/window/proc/can_be_reached(mob/user)
if(!fulltile)
if(get_dir(user,src) & dir)
for(var/obj/O in loc)
if(!O.CanPass(user, user.loc, 1))
return 0
return 1
return FALSE
return TRUE
/obj/structure/window/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1)
. = ..()
@@ -283,6 +281,14 @@
ini_dir = dir
add_fingerprint(user)
/obj/structure/window/proc/on_painted(is_dark_color)
SIGNAL_HANDLER
if (is_dark_color)
set_opacity(255)
else
set_opacity(initial(opacity))
/obj/structure/window/Destroy()
density = FALSE
air_update_turf(1)
@@ -337,11 +343,11 @@
/obj/structure/window/CanAStarPass(ID, to_dir)
if(!density)
return 1
return TRUE
if((dir == FULLTILE_WINDOW_DIR) || (dir == to_dir))
return 0
return FALSE
return 1
return TRUE
/obj/structure/window/GetExplosionBlock()
return reinf && fulltile ? real_explosion_block : 0