From 1a85c90fab0a1ac74918fc92e30819918e5a2811 Mon Sep 17 00:00:00 2001 From: AnturK Date: Mon, 22 Jan 2018 22:42:53 +0100 Subject: [PATCH 1/2] Adds transform helpers to atom vv (#34756) --- code/datums/datumvars.dm | 29 +++++++++++++++++++++++++++++ code/game/atoms.dm | 1 + 2 files changed, 30 insertions(+) diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index 672ec3a58b..58b0e81868 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -897,6 +897,35 @@ src.cmd_admin_emp(A) href_list["datumrefresh"] = href_list["emp"] + else if(href_list["modtransform"]) + if(!check_rights(R_DEBUG)) + return + + var/atom/A = locate(href_list["modtransform"]) + if(!istype(A)) + to_chat(usr, "This can only be done to atoms.") + return + + var/result = input(usr, "Choose the transformation to apply","Transform Mod") as null|anything in list("Scale","Translate","Rotate") + var/matrix/M = A.transform + switch(result) + if("Scale") + var/x = input(usr, "Choose x mod","Transform Mod") as null|num + var/y = input(usr, "Choose y mod","Transform Mod") as null|num + if(!isnull(x) && !isnull(y)) + A.transform = M.Scale(x,y) + if("Translate") + var/x = input(usr, "Choose x mod","Transform Mod") as null|num + var/y = input(usr, "Choose y mod","Transform Mod") as null|num + if(!isnull(x) && !isnull(y)) + A.transform = M.Translate(x,y) + if("Rotate") + var/angle = input(usr, "Choose angle to rotate","Transform Mod") as null|num + if(!isnull(angle)) + A.transform = M.Turn(angle) + + href_list["datumrefresh"] = href_list["modtransform"] + else if(href_list["rotatedatum"]) if(!check_rights(0)) return diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 0643918b3d..a69712b253 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -511,6 +511,7 @@ var/turf/curturf = get_turf(src) if (curturf) .["Jump to"] = "?_src_=holder;[HrefToken()];adminplayerobservecoodjump=1;X=[curturf.x];Y=[curturf.y];Z=[curturf.z]" + .["Modify Transform"] = "?_src_=vars;[HrefToken()];modtransform=[REF(src)]" .["Add reagent"] = "?_src_=vars;[HrefToken()];addreagent=[REF(src)]" .["Trigger EM pulse"] = "?_src_=vars;[HrefToken()];emp=[REF(src)]" .["Trigger explosion"] = "?_src_=vars;[HrefToken()];explode=[REF(src)]"