mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-27 09:31:54 +00:00
* Admin Verb Datums MkIII | Now with functional command bar (#82511) * Modular stuffs * Put some admin jump verbs back into the context menu | sorts area jump list again (#82647) ## About The Pull Request See title. ## Why It's Good For The Game Some admins wanted all the jump verbs back, aswell as making them not AGhost you. Also make the Jump To Area verb use a sorted list again * Hey what if admins were allowed to use the player panel (#82682) Re-adds the player panel verb to the verb panel. * Controller Overview UI (#82739) * Fixes a minor spelling mistake on the admin panel/verb list (#82747) ## About The Pull Request Corrects `inisimin` to `invisimin`. This addresses #82728, but only fixes one of the two issues mentioned ## Why It's Good For The Game -1 spelling mistake ## Changelog 🆑 spellcheck: 'inisimin' verb corrected to 'invisimin' /🆑 * Player Panel-age (#82757) * Admin Forced Mob Rename and Preference Update (#82715) --------- Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com> Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com> Co-authored-by: chel <64568243+iliyaxox@users.noreply.github.com>
74 lines
2.4 KiB
Plaintext
74 lines
2.4 KiB
Plaintext
|
|
//////////////////////////
|
|
//Movable Screen Objects//
|
|
// By RemieRichards //
|
|
//////////////////////////
|
|
|
|
|
|
//Movable Screen Object
|
|
//Not tied to the grid, places it's center where the cursor is
|
|
|
|
/atom/movable/screen/movable
|
|
mouse_drag_pointer = 'icons/effects/mouse_pointers/screen_drag.dmi'
|
|
var/snap2grid = FALSE
|
|
var/x_off = -16
|
|
var/y_off = -16
|
|
|
|
//Snap Screen Object
|
|
//Tied to the grid, snaps to the nearest turf
|
|
|
|
/atom/movable/screen/movable/snap
|
|
snap2grid = TRUE
|
|
|
|
/atom/movable/screen/movable/MouseDrop(over_object, src_location, over_location, src_control, over_control, params)
|
|
var/position = mouse_params_to_position(params)
|
|
if(!position)
|
|
return
|
|
|
|
screen_loc = position
|
|
|
|
/// Takes mouse parmas as input, returns a string representing the appropriate mouse position
|
|
/atom/movable/screen/movable/proc/mouse_params_to_position(params)
|
|
var/list/modifiers = params2list(params)
|
|
|
|
//No screen-loc information? abort.
|
|
if(!LAZYACCESS(modifiers, SCREEN_LOC))
|
|
return
|
|
var/client/our_client = usr.client
|
|
var/list/offset = screen_loc_to_offset(LAZYACCESS(modifiers, SCREEN_LOC))
|
|
if(snap2grid) //Discard Pixel Values
|
|
offset[1] = FLOOR(offset[1], world.icon_size) // drops any pixel offset
|
|
offset[2] = FLOOR(offset[2], world.icon_size) // drops any pixel offset
|
|
else //Normalise Pixel Values (So the object drops at the center of the mouse, not 16 pixels off)
|
|
offset[1] += x_off
|
|
offset[2] += y_off
|
|
return offset_to_screen_loc(offset[1], offset[2], our_client?.view)
|
|
|
|
ADMIN_VERB(test_movable_UI, R_DEBUG, "Spawn Movable UI Object", "Spawn a movable UI object for testing.", ADMIN_CATEGORY_DEBUG)
|
|
var/atom/movable/screen/movable/M = new
|
|
M.name = "Movable UI Object"
|
|
M.icon_state = "block"
|
|
M.maptext = MAPTEXT("Movable")
|
|
M.maptext_width = 64
|
|
|
|
var/screen_l = input(user, "Where on the screen? (Formatted as 'X,Y' e.g: '1,1' for bottom left)","Spawn Movable UI Object") as text|null
|
|
if(!screen_l)
|
|
return
|
|
|
|
M.screen_loc = screen_l
|
|
user.screen += M
|
|
|
|
ADMIN_VERB(test_snap_ui, R_DEBUG, "Spawn Snap UI Object", "Spawn a snap UI object for testing.", ADMIN_CATEGORY_DEBUG)
|
|
var/atom/movable/screen/movable/snap/S = new
|
|
S.name = "Snap UI Object"
|
|
S.icon_state = "block"
|
|
S.maptext = MAPTEXT("Snap")
|
|
S.maptext_width = 64
|
|
|
|
var/screen_l = input(user,"Where on the screen? (Formatted as 'X,Y' e.g: '1,1' for bottom left)","Spawn Snap UI Object") as text|null
|
|
if(!screen_l)
|
|
return
|
|
|
|
S.screen_loc = screen_l
|
|
user.screen += S
|