mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-29 23:17:02 +01:00
Window alt clicking utility
Alt clicking a window now checks both directions for availability, a clockwise rotation takes priority but when a window is already present it will rotate the window counterclockwise instead. (prior to this it would state that the window cannot be rotated in that direction if the clockwise direction is unavailable) https://puu.sh/Bwx9X/69079c06f2.gif A gif to show the new situation I intentionally left out checking for the direction opposite to the current one as that would allow for an easy way to get into the station without being affected by fastmos.
This commit is contained in:
@@ -65,7 +65,7 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
|
||||
else
|
||||
to_chat(user, "<span class='notice'>The window is <i>unscrewed</i> from the floor, and could be deconstructed by <b>wrenching</b>.</span>")
|
||||
if(!anchored && !fulltile)
|
||||
to_chat(user, "<span class='notice'>Alt-click to rotate it clockwise.</span>")
|
||||
to_chat(user, "<span class='notice'>Alt-click to rotate it.</span>")
|
||||
|
||||
/obj/structure/window/New(Loc, direct)
|
||||
..()
|
||||
@@ -397,12 +397,25 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
|
||||
return TRUE
|
||||
|
||||
/obj/structure/window/AltClick(mob/user)
|
||||
if(user.incapacitated())
|
||||
to_chat(user, "<span class='warning'>You can't do that right now!</span>")
|
||||
if(usr.stat || !usr.canmove || usr.restrained())
|
||||
return
|
||||
if(!Adjacent(user))
|
||||
return
|
||||
revrotate()
|
||||
|
||||
if(anchored)
|
||||
to_chat(usr, "<span class='warning'>[src] cannot be rotated while it is fastened to the floor!</span>")
|
||||
return FALSE
|
||||
|
||||
var/target_dir = turn(dir, 270)
|
||||
|
||||
if(!valid_window_location(loc, target_dir))
|
||||
target_dir = turn(dir, 90)
|
||||
if(!valid_window_location(loc, target_dir))
|
||||
to_chat(usr, "<span class='warning'>There is no room to rotate the [src]</span>")
|
||||
return FALSE
|
||||
|
||||
setDir(target_dir)
|
||||
ini_dir = dir
|
||||
add_fingerprint(usr)
|
||||
return TRUE
|
||||
|
||||
/obj/structure/window/Destroy()
|
||||
density = FALSE
|
||||
|
||||
Reference in New Issue
Block a user