mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-01-02 13:33:29 +00:00
Mobs can be incorporeal (#6791)
* Mobs can be incorporeal Prevents step noises, getting shot, etc. Basically living ghosts. Feel free to add more places this should check, but I think this is a majority. * Fix missing incorporeal floatyness
This commit is contained in:
@@ -242,6 +242,8 @@
|
||||
// this handles mulebots and vehicles
|
||||
// and now mobs on fire
|
||||
/mob/living/carbon/human/Crossed(var/atom/movable/AM)
|
||||
if(AM.is_incorporeal())
|
||||
return
|
||||
if(istype(AM, /mob/living/bot/mulebot))
|
||||
var/mob/living/bot/mulebot/MB = AM
|
||||
MB.runOver(src)
|
||||
|
||||
@@ -204,6 +204,8 @@
|
||||
|
||||
// Handle footstep sounds
|
||||
/mob/living/carbon/human/handle_footstep(var/turf/T)
|
||||
if(is_incorporeal())
|
||||
return
|
||||
if(!config.footstep_volume || !T.footstep_sounds || !T.footstep_sounds.len)
|
||||
return
|
||||
// Future Upgrades - Multi species support
|
||||
|
||||
@@ -612,6 +612,9 @@
|
||||
//Stuff like the xenomorph's plasma regen happens here.
|
||||
species.handle_environment_special(src)
|
||||
|
||||
if(is_incorporeal())
|
||||
return
|
||||
|
||||
//Moved pressure calculations here for use in skip-processing check.
|
||||
var/pressure = environment.return_pressure()
|
||||
var/adjusted_pressure = calculate_affecting_pressure(pressure)
|
||||
|
||||
@@ -54,7 +54,9 @@
|
||||
icon_rest = "mouse_[body_color]_sleep"
|
||||
desc = "A small [body_color] rodent, often seen hiding in maintenance areas and making a nuisance of itself."
|
||||
|
||||
/mob/living/simple_mob/animal/passive/mouse/Crossed(AM as mob|obj)
|
||||
/mob/living/simple_mob/animal/passive/mouse/Crossed(atom/movable/AM as mob|obj)
|
||||
if(AM.is_incorporeal())
|
||||
return
|
||||
if( ishuman(AM) )
|
||||
if(!stat)
|
||||
var/mob/M = AM
|
||||
|
||||
@@ -385,6 +385,9 @@
|
||||
///Return 1 for movement 0 for none
|
||||
/mob/proc/Process_Spacemove(var/check_drift = 0)
|
||||
|
||||
if(is_incorporeal())
|
||||
return
|
||||
|
||||
if(!Check_Dense_Object()) //Nothing to push off of so end here
|
||||
update_floating(0)
|
||||
return 0
|
||||
|
||||
Reference in New Issue
Block a user