Merge branch 'master' into fourth_week_preparation_and_fixes

# Conflicts:
#	code/game/jobs/faction/zavodskoi.dm
This commit is contained in:
alberyk
2022-02-10 13:36:46 -03:00
65 changed files with 561 additions and 262 deletions
@@ -35,7 +35,6 @@
icon_state = ""
var/coming_state = "blood1"
var/going_state = "blood2"
var/updated_tracks = 0
// dir = id in stack
var/list/setdirs = list(
@@ -97,7 +96,6 @@
track = new /datum/fluidtrack(b, footprint_color, t)
stack.Add(track)
setdirs["[b]"] = stack.Find(track)
updated_tracks |= b
updated=1
// GOING BIT (shift up 4)
@@ -114,7 +112,6 @@
track= new /datum/fluidtrack(b, footprint_color, t)
stack.Add(track)
setdirs["[b]"] = stack.Find(track)
updated_tracks |= b
updated = 1
dirs |= comingdir|realgoing
@@ -146,7 +143,6 @@
track.overlay = I
stack[stack_idx] = track
add_overlay(I)
updated_tracks = 0 // Clear our memory of updated tracks.
/obj/effect/decal/cleanable/blood/tracks/footprints
name = "wet footprints"
@@ -157,6 +153,13 @@
going_state = "human2"
amount = 0
/obj/effect/decal/cleanable/blood/tracks/footprints/barefoot
desc = "They look like still wet tracks left by bare feet."
drydesc = "They look like dried tracks left by bare feet."
/obj/effect/decal/cleanable/blood/tracks/footprints/barefoot/del_dry/dry()
qdel(src)
/obj/effect/decal/cleanable/blood/tracks/wheels
name = "wet tracks"
dryname = "dried tracks"
@@ -194,4 +197,4 @@
desc = "A still-wet trail left by someone crawling."
drydesc = "A dried trail left by someone crawling."
coming_state = "trail1"
going_state = "trail2"
going_state = "trail2"
@@ -14,12 +14,9 @@
/obj/item/clothing/ring,
/obj/item/device/flashlight/pen,
/obj/item/seeds,
/obj/item/stack/medical,
/obj/item/coin,
/obj/item/stack/dice,
/obj/item/disk,
/obj/item/implanter,
/obj/item/flame/lighter,
/obj/item/flame/match,
/obj/item/lipstick,
/obj/item/haircomb,
@@ -27,17 +24,12 @@
/obj/item/paper_bundle,
/obj/item/pen,
/obj/item/photo,
/obj/item/reagent_containers/dropper,
/obj/item/reagent_containers/syringe,
/obj/item/reagent_containers/pill,
/obj/item/reagent_containers/hypospray/autoinjector,
/obj/item/screwdriver,
/obj/item/stamp,
/obj/item/device/paicard,
/obj/item/device/encryptionkey,
/obj/item/fluff,
/obj/item/storage/business_card_holder,
/obj/item/clothing/head/bandana,
/obj/item/sample
)
slot_flags = SLOT_ID
+8 -1
View File
@@ -77,7 +77,14 @@
set category = "Object"
set src in oview(1)
do_climb(usr)
if(can_climb(usr))
do_climb(usr)
/obj/structure/handle_middle_mouse_click(mob/user)
if(can_climb(user))
do_climb(usr)
return TRUE
return FALSE
/obj/structure/MouseDrop_T(mob/target, mob/user)
@@ -437,6 +437,7 @@
new /obj/item/gun/energy/xray(src)
new /obj/item/clothing/accessory/holster/armpit/brown(src)
new /obj/item/gun/energy/crossbow/largecrossbow(src)
new /obj/item/melee/energy/sword/red(src)
/obj/structure/closet/crate/secure/gear_loadout/ninja/techno
associated_hardsuit = /obj/item/rig/light/offworlder/techno/ninja
+30 -14
View File
@@ -8,6 +8,8 @@
climbable = TRUE
layer = OBJ_LAYER
anchored = FALSE
flags = ON_BORDER
obj_flags = OBJ_FLAG_ROTATABLE
build_amt = 2
@@ -278,35 +280,49 @@
/obj/structure/railing/ex_act(severity)
qdel(src)
/obj/structure/railing/can_climb(var/mob/living/user, climb_dir, post_climb_check=0)
/obj/structure/railing/can_climb(var/mob/living/user, post_climb_check=0)
. = ..()
var/turf/dest = get_step(user, climb_dir)
if(. && get_turf(user) == get_turf(src))
if(turf_is_crowded(TRUE) || !user.Adjacent(dest) || turf_contains_dense_objects(dest) && get_turf(src) != dest)
if(!.)
return
var/turf/destination_turf = get_destination_turf(user)
if(destination_turf.density)
to_chat(user, SPAN_DANGER("You can't climb into \the [destination_turf]."))
return FALSE
if(!Adjacent(destination_turf))
to_chat(user, SPAN_DANGER("You can't climb there, the way is blocked."))
return FALSE
for(var/atom/A in destination_turf.contents - src)
if(A.density && !(A.flags & ON_BORDER))
to_chat(user, SPAN_DANGER("You can't climb there, the way is blocked."))
return FALSE
/obj/structure/railing/do_climb(mob/living/user)
var/climb_dir = get_dir(user, src)
if(get_turf(src) == get_turf(user))
climb_dir = src.dir
if(!can_climb(user, climb_dir))
return
return TRUE
/obj/structure/railing/do_climb(mob/living/user)
user.visible_message(SPAN_WARNING("\The [user] starts climbing over \the [src]!"))
LAZYADD(climbers, user)
if(!do_after(user, 50))
if(!do_after(user, 2 SECONDS))
LAZYREMOVE(climbers, user)
return
if(!can_climb(user, climb_dir, post_climb_check = TRUE))
if(!can_climb(user, post_climb_check = TRUE))
LAZYREMOVE(climbers, user)
return
user.forceMove(get_step(user, climb_dir))
var/turf/destination_turf = get_destination_turf(user)
user.forceMove(destination_turf)
user.visible_message(SPAN_WARNING("\The [user] climbs over \the [src]!"))
LAZYREMOVE(climbers, user)
if(!anchored || material.is_brittle())
take_damage(maxhealth) // Fatboy
take_damage(maxhealth) // Fatboy
/obj/structure/railing/proc/get_destination_turf(var/mob/user)
. = get_turf(src) // by default, we pop into the turf the railing's on
if(get_turf(user) == . || !(get_dir(src, user) & dir)) // if the user's inside our turf or behind us, go in front of us
. = get_step(src, dir)