mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-25 05:51:56 +01:00
Merge branch 'master' into fourth_week_preparation_and_fixes
# Conflicts: # code/game/jobs/faction/zavodskoi.dm
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user