Fixes bugs with shuttles breaking pipes, wires and disposals

This commit is contained in:
CitadelStationBot
2017-04-24 17:43:37 -05:00
parent a6f6317b51
commit 3afe339198
9 changed files with 166 additions and 47 deletions
+21 -1
View File
@@ -481,6 +481,21 @@
//move or squish anything in the way ship at destination
roadkill(L0, L1, S1.dir)
for(var/i in 1 to L0.len)
var/turf/T0 = L0[i]
if(!T0)
continue
var/turf/T1 = L1[i]
if(!T1)
continue
if(T0.type == T0.baseturf)
continue
for(var/atom/movable/AM in T0)
AM.beforeShuttleMove(T1, rotation)
var/list/moved_atoms = list()
for(var/i in 1 to L0.len)
var/turf/T0 = L0[i]
if(!T0)
@@ -502,7 +517,8 @@
//move mobile to new location
for(var/atom/movable/AM in T0)
AM.onShuttleMove(T1, rotation)
if(AM.onShuttleMove(T1, rotation))
moved_atoms += AM
if(rotation)
T1.shuttleRotate(rotation)
@@ -517,6 +533,10 @@
T0.CalculateAdjacentTurfs()
SSair.add_to_active(T0,1)
for(var/am in moved_atoms)
var/atom/movable/AM = am
AM.afterShuttleMove()
check_poddoors()
S1.last_dock_time = world.time