mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 12:07:27 +01:00
Fixes multitile doors and multitile engines on shuttles. Gives raven it's big engines back (#24781)
* 7 year old fix ™️ * whiteship multi * Apply suggestions from code review Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> * Update shuttle_rotate.dm * Update code/modules/shuttle/shuttle_rotate.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> * Update code/modules/shuttle/shuttle_rotate.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> --------- Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
This commit is contained in:
co-authored by
1080pCat
Contrabang
parent
5c5f7842df
commit
464d53ecdc
@@ -157,7 +157,9 @@
|
||||
/turf/simulated/floor/wood,
|
||||
/area/shuttle/abandoned)
|
||||
"tV" = (
|
||||
/obj/machinery/door/airlock/titanium/glass,
|
||||
/obj/machinery/door/airlock/multi_tile/glass{
|
||||
dir = 1
|
||||
},
|
||||
/turf/simulated/floor/mineral/plastitanium,
|
||||
/area/shuttle/abandoned)
|
||||
"uo" = (
|
||||
@@ -461,7 +463,7 @@ zO
|
||||
zO
|
||||
zO
|
||||
zO
|
||||
tV
|
||||
wF
|
||||
tV
|
||||
zO
|
||||
zO
|
||||
|
||||
@@ -1328,6 +1328,10 @@
|
||||
},
|
||||
/turf/simulated/floor/plasteel/dark,
|
||||
/area/shuttle/escape)
|
||||
"JM" = (
|
||||
/obj/structure/shuttle/engine/large,
|
||||
/turf/simulated/floor/plating/airless,
|
||||
/area/shuttle/escape)
|
||||
"JO" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 10
|
||||
@@ -1435,6 +1439,9 @@
|
||||
icon_state = "darkred"
|
||||
},
|
||||
/area/shuttle/escape)
|
||||
"So" = (
|
||||
/turf/simulated/floor/plating/airless,
|
||||
/area/shuttle/escape)
|
||||
"Ux" = (
|
||||
/obj/effect/turf_decal/stripes/white/corner,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
@@ -1656,8 +1663,8 @@ dI
|
||||
dE
|
||||
Mm
|
||||
cP
|
||||
cP
|
||||
aa
|
||||
So
|
||||
JM
|
||||
"}
|
||||
(6,1,1) = {"
|
||||
aa
|
||||
@@ -1690,8 +1697,8 @@ dE
|
||||
dE
|
||||
Nd
|
||||
fn
|
||||
em
|
||||
aa
|
||||
So
|
||||
So
|
||||
"}
|
||||
(7,1,1) = {"
|
||||
ab
|
||||
@@ -1792,8 +1799,8 @@ dE
|
||||
dE
|
||||
vw
|
||||
fn
|
||||
em
|
||||
aa
|
||||
So
|
||||
JM
|
||||
"}
|
||||
(10,1,1) = {"
|
||||
ab
|
||||
@@ -1826,8 +1833,8 @@ dE
|
||||
dE
|
||||
cP
|
||||
cP
|
||||
cP
|
||||
aa
|
||||
So
|
||||
So
|
||||
"}
|
||||
(11,1,1) = {"
|
||||
ab
|
||||
@@ -1860,7 +1867,7 @@ Sa
|
||||
Sa
|
||||
ed
|
||||
cP
|
||||
aa
|
||||
cP
|
||||
aa
|
||||
"}
|
||||
(12,1,1) = {"
|
||||
@@ -1894,8 +1901,8 @@ dE
|
||||
dE
|
||||
cP
|
||||
cP
|
||||
cP
|
||||
aa
|
||||
So
|
||||
JM
|
||||
"}
|
||||
(13,1,1) = {"
|
||||
ab
|
||||
@@ -1928,8 +1935,8 @@ dE
|
||||
dE
|
||||
sr
|
||||
fn
|
||||
em
|
||||
aa
|
||||
So
|
||||
So
|
||||
"}
|
||||
(14,1,1) = {"
|
||||
ab
|
||||
@@ -2030,8 +2037,8 @@ dE
|
||||
dE
|
||||
NK
|
||||
fn
|
||||
em
|
||||
aa
|
||||
So
|
||||
JM
|
||||
"}
|
||||
(17,1,1) = {"
|
||||
aa
|
||||
@@ -2064,8 +2071,8 @@ dQ
|
||||
dT
|
||||
qC
|
||||
cP
|
||||
cP
|
||||
aa
|
||||
So
|
||||
So
|
||||
"}
|
||||
(18,1,1) = {"
|
||||
aa
|
||||
|
||||
@@ -5,9 +5,6 @@
|
||||
max_integrity = 500
|
||||
armor = list(melee = 100, bullet = 10, laser = 10, energy = 0, bomb = 0, rad = 0, fire = 50, acid = 70) //default + ignores melee
|
||||
|
||||
/obj/structure/shuttle/shuttleRotate(rotation)
|
||||
return //This override is needed to properly rotate the object when on a shuttle that is rotated.
|
||||
|
||||
/obj/structure/shuttle/engine
|
||||
name = "engine"
|
||||
density = TRUE
|
||||
|
||||
@@ -299,7 +299,7 @@
|
||||
desc = "A very large bluespace engine used to propel very large ships."
|
||||
bound_width = 64
|
||||
bound_height = 64
|
||||
appearance_flags = 0
|
||||
appearance_flags = LONG_GLIDE
|
||||
|
||||
// areas
|
||||
//Ruin of ancient Space Station
|
||||
|
||||
@@ -508,6 +508,8 @@
|
||||
|
||||
//move mobile to new location
|
||||
for(var/atom/movable/AM in T0)
|
||||
if(AM.loc != T0) //fix for multi-tile objects
|
||||
continue
|
||||
AM.onShuttleMove(T0, T1, rotation, last_caller)
|
||||
|
||||
if(rotation)
|
||||
|
||||
@@ -24,6 +24,19 @@ If ever any of these procs are useful for non-shuttles, rename it to proc/rotate
|
||||
pixel_x = oldPY
|
||||
pixel_y = (oldPX*(-1))
|
||||
|
||||
|
||||
/atom/movable/shuttleRotate(rotation, params)
|
||||
. = ..()
|
||||
//rotate the physical bounds and offsets for multitile atoms too. Override base "rotate the pixel offsets" for multitile atoms.
|
||||
//Override non zero bound_x, bound_y, pixel_x, pixel_y to zero.
|
||||
//Dont take in account starting bound_x, bound_y, pixel_x, pixel_y.
|
||||
//So it can unintentionally shift physical bounds of things that starts with non zero bound_x, bound_y.
|
||||
if((bound_height != world.icon_size || bound_width != world.icon_size) && (bound_x == 0) && (bound_y == 0)) //Dont shift things that have non zero bound_x and bound_y, or it move somewhere.
|
||||
pixel_x = dir & (NORTH|EAST) ? (world.icon_size - bound_width) : 0
|
||||
pixel_y = dir & (NORTH|WEST) ? (world.icon_size - bound_width) : 0
|
||||
bound_x = pixel_x
|
||||
bound_y = pixel_y
|
||||
|
||||
/************************************Turf rotate procs************************************/
|
||||
|
||||
/************************************Mob rotate procs************************************/
|
||||
@@ -56,9 +69,6 @@ If ever any of these procs are useful for non-shuttles, rename it to proc/rotate
|
||||
d2 = temp
|
||||
update_icon(UPDATE_ICON_STATE)
|
||||
|
||||
/obj/structure/shuttle/engine/shuttleRotate(rotation, params)
|
||||
setDir(angle2dir(rotation+dir2angle(dir)))
|
||||
|
||||
//Fixes dpdir on shuttle rotation
|
||||
/obj/structure/disposalpipe/shuttleRotate(rotation, params)
|
||||
. = ..()
|
||||
|
||||
Reference in New Issue
Block a user