Files
Paradise/code/modules/shuttle/shuttle_rotate.dm
Octus 98ddced488 Explorer Overhaul and Gateway Retirement (#20855)
* Adds Explorer spawnability, removes Cyberaid gateways

* deletes some REALLY old bloat maps and deletes Gateway.dm

* Fixes runtime, and removes more stuff like gateway config... cause we dont have a gateway anymore

* removes all mention of /obj/machine/gateway

* Goodbye test_tiny and evil_santa 😈

* removed a literal fucking pamphlet

* changes map area name from Gateway to Expedetition

* changes the access from ACCESS_GATEWAY to ACCESS_EXPEDITION

* Revert "Goodbye test_tiny and evil_santa 😈"

This reverts commit eda775ecd5.

* ok deletes evil_santa only

* Fixes a runtime

* Adds new visuals for new area and explorer spawn marker

* Unhides explorers from the pref menu

* adds spawns and fixes the gateways for all maps, adds Expedition room to Cere

* improves and cleans up the expedition room maps, also clothes for Explorers

* GET OUT OF HERE EXAMPLE.

* byebye button
2023-06-03 15:22:37 -05:00

90 lines
2.6 KiB
Plaintext

/*
All shuttleRotate procs go here
If ever any of these procs are useful for non-shuttles, rename it to proc/rotate and move it to be a generic atom proc
*/
/************************************Base proc************************************/
/atom/proc/shuttleRotate(rotation, params=ROTATE_DIR|ROTATE_SMOOTH|ROTATE_OFFSET)
if(params & ROTATE_DIR)
//rotate our direction
setDir(angle2dir(rotation+dir2angle(dir)))
//resmooth if need be.
if(params & ROTATE_SMOOTH && smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK))
QUEUE_SMOOTH(src)
//rotate the pixel offsets too.
if((pixel_x || pixel_y) && (params & ROTATE_OFFSET))
if(rotation < 0)
rotation += 360
for(var/turntimes=rotation/90;turntimes>0;turntimes--)
var/oldPX = pixel_x
var/oldPY = pixel_y
pixel_x = oldPY
pixel_y = (oldPX*(-1))
/************************************Turf rotate procs************************************/
/************************************Mob rotate procs************************************/
//override to avoid rotating pixel_xy on mobs
/mob/shuttleRotate(rotation, params)
params = NONE
. = ..()
if(!buckled)
setDir(angle2dir(rotation+dir2angle(dir)))
/mob/dead/observer/shuttleRotate(rotation, params)
. = ..()
update_icons()
/************************************Structure rotate procs************************************/
/obj/structure/cable/shuttleRotate(rotation, params)
params &= ~ROTATE_DIR
. = ..()
if(d1)
d1 = angle2dir(rotation+dir2angle(d1))
if(d2)
d2 = angle2dir(rotation+dir2angle(d2))
//d1 should be less than d2 for cable icons to work
if(d1 > d2)
var/temp = d1
d1 = d2
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)
. = ..()
var/new_dpdir = 0
for(var/D in list(NORTH, SOUTH, EAST, WEST))
if(dpdir & D)
new_dpdir = new_dpdir | angle2dir(rotation+dir2angle(D))
dpdir = new_dpdir
/obj/structure/alien/weeds/shuttleRotate(rotation, params)
params &= ~ROTATE_OFFSET
return ..()
//prevents shuttles attempting to rotate this since it messes up sprites
/obj/structure/table/shuttleRotate(rotation, params)
params = NONE
return ..()
/obj/structure/table_frame/shuttleRotate(rotation, params)
params = NONE
return ..()
/************************************Machine rotate procs************************************/
//prevents shuttles attempting to rotate this since it messes up sprites
/obj/machinery/gravity_generator/shuttleRotate(rotation, params)
params = NONE
return ..()