Files
Bubberstation/code/modules/mob/camera/camera.dm
SkyratBot d6143daa46 [MIRROR] Disease and blob camera mobs can move vertically while a location or host hasn't been chosen yet. Revenants can also freely move vertically. [MDB IGNORE] (#11315)
* Disease and blob camera mobs can move vertically while a location or host hasn't been chosen yet. Revenants can also freely move vertically. (#64626)

I found out on the icebox map, roughly a week or two ago, that the camera mob couldn't be moved to the other station leveleven before the core was placed. I believe this to be an oversight, which is why this PR has been made.
Sentient diseases also suffer from a similar issue while on the host selection stage, so I'm fixing that too.

EDIT: Someone pointed out that revenants (and other mobs with incorporeal movement) don't ignore turfs and obstacles when moving vertically, so I have added a few lines to living/can_z_move to hopefully fix that.

* Disease and blob camera mobs can move vertically while a location or host hasn't been chosen yet. Revenants can also freely move vertically.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2022-02-06 20:28:07 +00:00

44 lines
1.2 KiB
Plaintext

// Camera mob, used by AI camera and blob.
/mob/camera
name = "camera mob"
density = FALSE
move_force = INFINITY
move_resist = INFINITY
status_flags = GODMODE // You can't damage it.
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
see_in_dark = 7
invisibility = INVISIBILITY_ABSTRACT // No one can see us
sight = SEE_SELF
move_on_shuttle = FALSE
/mob/camera/Initialize(mapload)
. = ..()
SSpoints_of_interest.make_point_of_interest(src)
/mob/camera/experience_pressure_difference()
return
/mob/camera/canUseStorage()
return FALSE
/mob/camera/up()
set name = "Move Upwards"
set category = "IC"
if(zMove(UP, z_move_flags = ZMOVE_FEEDBACK))
to_chat(src, span_notice("You move upwards."))
/mob/camera/down()
set name = "Move Down"
set category = "IC"
if(zMove(DOWN, z_move_flags = ZMOVE_FEEDBACK))
to_chat(src, span_notice("You move down."))
/mob/camera/can_z_move(direction, turf/start, turf/destination, z_move_flags = NONE, mob/living/rider)
z_move_flags |= ZMOVE_IGNORE_OBSTACLES //cameras do not respect these FLOORS you speak so much of
return ..()
/mob/camera/emote(act, m_type=1, message = null, intentional = FALSE, force_silence = FALSE)
return FALSE