From 5ac7cd83af434c09b15717e05d74c260218e8b03 Mon Sep 17 00:00:00 2001 From: Lzimann Date: Fri, 27 Jan 2017 00:25:37 -0200 Subject: [PATCH 1/6] Adds a way to change your view range as a ghost. --- code/__DEFINES/misc.dm | 4 ++++ code/_onclick/click.dm | 18 ++++++++++++++++ code/modules/mob/dead/observer/observer.dm | 24 ++++++++++++++++++++++ interface/skin.dmf | 16 +++++++++++++++ 4 files changed, 62 insertions(+) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index b78bf5e34ba..8b4cc9be8cf 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -275,6 +275,10 @@ var/global/list/ghost_accs_options = list(GHOST_ACCS_NONE, GHOST_ACCS_DIR, GHOST #define GHOST_OTHERS_DEFAULT_OPTION GHOST_OTHERS_THEIR_SETTING +#define GHOST_MAX_VIEW_RANGE_DEFAULT 10 +#define GHOST_MAX_VIEW_RANGE_MEMBER 14 + + var/global/list/ghost_others_options = list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DEFAULT_SPRITE, GHOST_OTHERS_THEIR_SETTING) //Same as ghost_accs_options. //Color Defines diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 9cc04f1d513..52a7e03fc12 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -32,9 +32,13 @@ */ /atom/Click(location,control,params) usr.ClickOn(src, params) + /atom/DblClick(location,control,params) usr.DblClickOn(src,params) +/atom/MouseWheel(delta_x,delta_y,location,control,params) + usr.MouseWheelOn(src, delta_y) + /* Standard mob ClickOn() Handles exceptions: Buildmode, middle click, modified clicks, mech actions @@ -372,3 +376,17 @@ if(T) T.Click(location, control, params) . = 1 + + +/* MouseWheelOn */ + +/mob/proc/MouseWheelOn(atom/A, delta_y) + return + +/mob/dead/observer/MouseWheelOn(atom/A, delta_y) + var/view = 0 + if(delta_y > 0) + view = 1 + else + view = -1 + add_view_range(view) \ No newline at end of file diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 8a4f2817873..e948531c35f 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -323,6 +323,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(mind.current.key && copytext(mind.current.key,1,2)!="@") //makes sure we don't accidentally kick any clients usr << "Another consciousness is in your body...It is resisting you." return + client.view = world.view SStgui.on_transfer(src, mind.current) // Transfer NanoUIs. mind.current.key = key return 1 @@ -446,6 +447,29 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp else A << "This mob is not located in the game world." +/mob/dead/observer/verb/change_view_range() + set category = "Ghost" + set name = "Modify View Range" + set desc = "Change your view range." + + var/max_view = client.prefs.unlock_content ? GHOST_MAX_VIEW_RANGE_MEMBER : GHOST_MAX_VIEW_RANGE_DEFAULT + if(client.view == world.view) + var/list/views = list() + for(var/i in 1 to max_view) + views |= i + var/new_view = input("Choose your new view", "Modify view range", 7) as null|anything in views + if(new_view) + client.view = Clamp(new_view, 1, max_view) + else + client.view = world.view + +/mob/dead/observer/verb/add_view_range(input as text) + set name = "Add View Range" + + var/max_view = client.prefs.unlock_content ? 14 : 10 + if(input) + client.view = Clamp(client.view + text2num(input), 1, max_view) + /mob/dead/observer/verb/boo() set category = "Ghost" set name = "Boo!" diff --git a/interface/skin.dmf b/interface/skin.dmf index 523e6ab422e..a482ca68713 100644 --- a/interface/skin.dmf +++ b/interface/skin.dmf @@ -167,6 +167,14 @@ macro "default" name = "CTRL+NUMPAD8" command = "body-toggle-head" is-disabled = false + elem + name = "CTRL+ADD" + command = "Add-View-Range 1" + is-disabled = false + elem + name = "CTRL+SUBTRACT" + command = "Add-View-Range -1" + is_disabled = false elem name = "F1" command = "adminhelp" @@ -461,6 +469,14 @@ macro "hotkeys" name = "NUMPAD8" command = "body-toggle-head" is-disabled = false + elem + name = "CTRL+ADD" + command = "Add-View-Range 1" + is-disabled = false + elem + name = "CTRL+SUBTRACT" + command = "Add-View-Range -1" + is_disabled = false elem name = "F1" command = "adminhelp" From d6b26d5756ca0c59c2cd5c8264a77dc6ae75e51e Mon Sep 17 00:00:00 2001 From: Lzimann Date: Fri, 27 Jan 2017 00:52:08 -0200 Subject: [PATCH 2/6] Makes it use shift instead of just scroll. --- code/_onclick/click.dm | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 52a7e03fc12..9525d9bfddf 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -37,7 +37,7 @@ usr.DblClickOn(src,params) /atom/MouseWheel(delta_x,delta_y,location,control,params) - usr.MouseWheelOn(src, delta_y) + usr.MouseWheelOn(src, delta_x, delta_y, params) /* Standard mob ClickOn() @@ -380,13 +380,15 @@ /* MouseWheelOn */ -/mob/proc/MouseWheelOn(atom/A, delta_y) +/mob/proc/MouseWheelOn(atom/A, delta_x, delta_y, params) return -/mob/dead/observer/MouseWheelOn(atom/A, delta_y) - var/view = 0 - if(delta_y > 0) - view = 1 - else - view = -1 - add_view_range(view) \ No newline at end of file +/mob/dead/observer/MouseWheelOn(atom/A, delta_x, delta_y, params) + var/list/modifier = params2list(params) + if(modifier["shift"]) + var/view = 0 + if(delta_y > 0) + view = 1 + else + view = -1 + add_view_range(view) \ No newline at end of file From ad6c0e4a78f1365e2cda1e44341ed32fd2da2aff Mon Sep 17 00:00:00 2001 From: Lzimann Date: Fri, 27 Jan 2017 00:56:12 -0200 Subject: [PATCH 3/6] Makes the client.view always reset on mob/login --- code/modules/mob/login.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm index 4b42ccfa867..28546c41c2c 100644 --- a/code/modules/mob/login.dm +++ b/code/modules/mob/login.dm @@ -71,3 +71,5 @@ update_client_colour() if(client) client.click_intercept = null + + client.view = world.view // Resets the client.view in case it was changed. \ No newline at end of file From ed8ddbbb4a3d9d2bc94e9eabe2f3b3167227fc16 Mon Sep 17 00:00:00 2001 From: Lzimann Date: Fri, 27 Jan 2017 02:06:30 -0200 Subject: [PATCH 4/6] Makes the verb hidden --- code/modules/mob/dead/observer/observer.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index e948531c35f..b3dcce114f6 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -463,12 +463,12 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp else client.view = world.view -/mob/dead/observer/verb/add_view_range(input as text) +/mob/dead/observer/verb/add_view_range(input as num) set name = "Add View Range" - - var/max_view = client.prefs.unlock_content ? 14 : 10 + set hidden = TRUE + var/max_view = client.prefs.unlock_content ? GHOST_MAX_VIEW_RANGE_MEMBER : GHOST_MAX_VIEW_RANGE_DEFAULT if(input) - client.view = Clamp(client.view + text2num(input), 1, max_view) + client.view = Clamp(client.view + input, 1, max_view) /mob/dead/observer/verb/boo() set category = "Ghost" From 2603fc232c057762a5f0d56c4c945f79fe00d2fc Mon Sep 17 00:00:00 2001 From: Lzimann Date: Fri, 27 Jan 2017 13:11:03 -0200 Subject: [PATCH 5/6] Changes the "Modify View Range" verb name to "Set Zoom". Also inverts the scroll command(scroll up will decrease your view and scroll down will increase your view). --- code/_onclick/click.dm | 4 ++-- code/modules/mob/dead/observer/observer.dm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 9525d9bfddf..69aa8548a5f 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -388,7 +388,7 @@ if(modifier["shift"]) var/view = 0 if(delta_y > 0) - view = 1 - else view = -1 + else + view = 1 add_view_range(view) \ No newline at end of file diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index b3dcce114f6..c539a17653c 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -449,7 +449,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/verb/change_view_range() set category = "Ghost" - set name = "Modify View Range" + set name = "Set Zoom" set desc = "Change your view range." var/max_view = client.prefs.unlock_content ? GHOST_MAX_VIEW_RANGE_MEMBER : GHOST_MAX_VIEW_RANGE_DEFAULT From 9ac326f692f13da80d231ee2b21eb0262ce1f7fc Mon Sep 17 00:00:00 2001 From: Lzimann Date: Sun, 29 Jan 2017 16:04:06 -0200 Subject: [PATCH 6/6] Changes verb name to "View Range" --- code/modules/mob/dead/observer/observer.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index c539a17653c..7662cb243d6 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -449,7 +449,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/verb/change_view_range() set category = "Ghost" - set name = "Set Zoom" + set name = "View Range" set desc = "Change your view range." var/max_view = client.prefs.unlock_content ? GHOST_MAX_VIEW_RANGE_MEMBER : GHOST_MAX_VIEW_RANGE_DEFAULT