mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-26 21:49:11 +01:00
Assorted Shadekin Fixes (#19253)
* no flashes in phase * flashbangs in phase * phased shadekin don't explode * phased shadekin aren't emped * no splurting phased kin either * can't change medical equipment in phase * forbid phased mob mounting * prevent an exploit * do it here too * another pr * minimize whitespace * minimize
This commit is contained in:
@@ -167,6 +167,9 @@
|
||||
RigPanel(R)
|
||||
|
||||
/mob/living/carbon/human/ex_act(severity)
|
||||
if(is_incorporeal()) // Can't explode shadekin in phase
|
||||
return
|
||||
|
||||
if(!blinded)
|
||||
flash_eyes()
|
||||
|
||||
|
||||
@@ -149,6 +149,8 @@
|
||||
return 0 //only carbon liveforms have this proc
|
||||
|
||||
/mob/living/emp_act(severity, recursive)
|
||||
if(is_incorporeal()) // Can't emp shadekin in phase
|
||||
return
|
||||
|
||||
if(LAZYLEN(modifiers))
|
||||
for(var/datum/modifier/M in modifiers)
|
||||
|
||||
@@ -1441,6 +1441,8 @@
|
||||
/mob/living/silicon/robot/buckle_mob(mob/living/M, forced = FALSE, check_loc = TRUE)
|
||||
if(forced)
|
||||
return ..() // Skip our checks
|
||||
if(is_incorporeal(src) || is_incorporeal(M))
|
||||
return FALSE
|
||||
if(lying)
|
||||
return FALSE
|
||||
if(!ishuman(M))
|
||||
|
||||
@@ -134,6 +134,9 @@
|
||||
|
||||
// Exploding.
|
||||
/mob/living/simple_mob/ex_act(severity)
|
||||
if(is_incorporeal()) // Can't explode shadekin in phase
|
||||
return
|
||||
|
||||
if(!blinded)
|
||||
flash_eyes()
|
||||
|
||||
|
||||
@@ -93,6 +93,8 @@
|
||||
/mob/living/carbon/human/buckle_mob(mob/living/M, forced = FALSE, check_loc = TRUE)
|
||||
if(forced)
|
||||
return ..() // Skip our checks
|
||||
if(is_incorporeal(src) || is_incorporeal(M))
|
||||
return FALSE
|
||||
if(!istaurtail(tail_style))
|
||||
return FALSE
|
||||
else
|
||||
|
||||
@@ -367,6 +367,8 @@
|
||||
/datum/reagents/proc/touch_mob(var/mob/target)
|
||||
if(!target || !istype(target))
|
||||
return
|
||||
if(target.is_incorporeal()) // I really cannot imagine any scenario in which you would want reagent touch clouds to affect phased shadekin, so putting it here instead of higher up.
|
||||
return
|
||||
|
||||
for(var/datum/reagent/current in reagent_list)
|
||||
current.touch_mob(target, current.volume)
|
||||
|
||||
Reference in New Issue
Block a user