Reintroducing my PRs that were lost in the wallening revert. (#86439)

## About The Pull Request
This PR reintroduces #85759, #85892 and #85894.
#85892 has post-wallening arrows, but it isn't a big deal because they
fit the top-down or 3/4 style we've for a lot of things.

## Why It's Good For The Game
Reintroducing lost features and improvements. Remember to remove the
'Lost in the wallening revert' label from those PRs when this is merged.

## Changelog
N/A
This commit is contained in:
Ghom
2024-09-04 06:50:04 -04:00
committed by GitHub
parent c8b962a45c
commit d2ab513332
38 changed files with 260 additions and 45 deletions
+13 -6
View File
@@ -7,22 +7,30 @@
*
* Not intended as a replacement for the mob verb
*/
/atom/movable/proc/point_at(atom/pointed_atom)
/atom/movable/proc/point_at(atom/pointed_atom, intentional = FALSE)
if(!isturf(loc))
return
return FALSE
if (pointed_atom in src)
create_point_bubble(pointed_atom)
return
return FALSE
var/turf/tile = get_turf(pointed_atom)
if (!tile)
return
return FALSE
var/turf/our_tile = get_turf(src)
var/obj/visual = new /obj/effect/temp_visual/point(our_tile, invisibility)
SEND_SIGNAL(src, COMSIG_MOVABLE_POINTED, pointed_atom, visual, intentional)
animate(visual, pixel_x = (tile.x - our_tile.x) * world.icon_size + pointed_atom.pixel_x, pixel_y = (tile.y - our_tile.y) * world.icon_size + pointed_atom.pixel_y, time = 1.7, easing = EASE_OUT)
return TRUE
/mob/point_at(atom/pointed_atom, intentional = FALSE)
. = ..()
if(.)
face_atom(pointed_atom)
/atom/movable/proc/create_point_bubble(atom/pointed_atom)
var/mutable_appearance/thought_bubble = mutable_appearance(
@@ -109,7 +117,6 @@
if(client && !(pointing_at in view(client.view, src)))
return FALSE
point_at(pointing_at)
point_at(pointing_at, TRUE)
SEND_SIGNAL(src, COMSIG_MOB_POINTED, pointing_at)
return TRUE