Merge pull request #507 from Citadel-Station-13/upstream-merge-26408
[MIRROR] Conveyor movement refactor/fix
This commit is contained in:
@@ -621,4 +621,8 @@
|
||||
chosen_langtype = langtype
|
||||
highest_priority = pri
|
||||
|
||||
. = chosen_langtype
|
||||
. = chosen_langtype
|
||||
/atom/movable/proc/ConveyorMove(movedir)
|
||||
set waitfor = FALSE
|
||||
if(!anchored && has_gravity())
|
||||
step(src, movedir)
|
||||
@@ -47,6 +47,9 @@
|
||||
qdel(src)
|
||||
return 0
|
||||
|
||||
/obj/effect/ConveyorMove()
|
||||
return
|
||||
|
||||
/obj/effect/abstract/ex_act(severity, target)
|
||||
return
|
||||
|
||||
|
||||
@@ -191,7 +191,7 @@
|
||||
|
||||
//Return a jetpack that the mob can use
|
||||
//Back worn jetpacks, hardsuit internal packs, and so on.
|
||||
//Used in Process_Spacemove() and wherever you want to check for/get a jetpack
|
||||
//Used in Process_Spacemove() and wherever you want to check for/get a jetpack
|
||||
|
||||
/mob/proc/get_jetpack()
|
||||
return
|
||||
@@ -207,3 +207,9 @@
|
||||
var/obj/item/clothing/suit/space/hardsuit/C = wear_suit
|
||||
J = C.jetpack
|
||||
return J
|
||||
|
||||
/mob/has_gravity(turf/T)
|
||||
var/obj/item/weapon/tank/jetpack/J = get_jetpack()
|
||||
if(J && J.on)
|
||||
return FALSE
|
||||
return ..()
|
||||
@@ -10,3 +10,6 @@
|
||||
|
||||
/mob/dead/gib() //ghosts can't be gibbed.
|
||||
return
|
||||
|
||||
/mob/dead/ConveyorMove() //lol
|
||||
return
|
||||
@@ -926,3 +926,8 @@
|
||||
if(riding_datum)
|
||||
riding_datum.handle_vehicle_offsets()
|
||||
riding_datum.handle_vehicle_layer()
|
||||
|
||||
/mob/living/ConveyorMove()
|
||||
if((movement_type & FLYING) && !stat)
|
||||
return
|
||||
..()
|
||||
@@ -27,4 +27,4 @@
|
||||
/mob/living/simple_animal/butterfly/Initialize()
|
||||
..()
|
||||
var/newcolor = rgb(rand(0, 255), rand(0, 255), rand(0, 255))
|
||||
add_atom_colour(newcolor, FIXED_COLOUR_PRIORITY)
|
||||
add_atom_colour(newcolor, FIXED_COLOUR_PRIORITY)
|
||||
@@ -108,10 +108,8 @@
|
||||
affecting = loc.contents - src // moved items will be all in loc
|
||||
sleep(1)
|
||||
for(var/atom/movable/A in affecting)
|
||||
if(!A.anchored)
|
||||
if(A.loc == src.loc) // prevents the object from being affected if it's not currently here.
|
||||
step(A,movedir)
|
||||
CHECK_TICK
|
||||
if(A.loc == loc)
|
||||
A.ConveyorMove(movedir)
|
||||
|
||||
// attack with item, place item on conveyor
|
||||
/obj/machinery/conveyor/attackby(obj/item/I, mob/user, params)
|
||||
|
||||
Reference in New Issue
Block a user