Adminghosts no longer respect poltergeist cooldowns

This commit is contained in:
Intigracy
2017-08-26 01:47:51 -07:00
parent bd546449da
commit b1c4d60f35
7 changed files with 20 additions and 16 deletions

View File

@@ -797,8 +797,12 @@ its easier to just keep the beam vertical.
investigation_log(I_GHOST, "|| was Boo!'d by [key_name(ghost)][ghost.locked_to ? ", who was haunting [ghost.locked_to]" : ""]") investigation_log(I_GHOST, "|| was Boo!'d by [key_name(ghost)][ghost.locked_to ? ", who was haunting [ghost.locked_to]" : ""]")
return 1 return 1
/atom/proc/can_spook() /atom/proc/can_spook(var/msg = 1)
return !blessed if(blessed)
if(msg)
to_chat(usr, "Your hand goes right through \the [src]... Is that some holy water dripping from it?")
return FALSE
return TRUE
//Called on holy_water's reaction_obj() //Called on holy_water's reaction_obj()
/atom/proc/bless() /atom/proc/bless()

View File

@@ -71,12 +71,11 @@
update_icon() update_icon()
/obj/machinery/floodlight/attack_ghost(var/mob/dead/observer/ghost) /obj/machinery/floodlight/attack_ghost(var/mob/dead/observer/ghost)
if(blessed) if(!can_spook())
to_chat(ghost, "Your hand goes right through \the [src]...Is that some holy water dripping from it?") return FALSE
return 0
if(!ghost.can_poltergeist()) if(!ghost.can_poltergeist())
to_chat(ghost, "Your poltergeist abilities are still cooling down.") to_chat(ghost, "Your poltergeist abilities are still cooling down.")
return 0 return FALSE
investigation_log(I_GHOST, "|| was switched [on ? "off" : "on"] by [key_name(ghost)][ghost.locked_to ? ", who was haunting [ghost.locked_to]" : ""]") investigation_log(I_GHOST, "|| was switched [on ? "off" : "on"] by [key_name(ghost)][ghost.locked_to ? ", who was haunting [ghost.locked_to]" : ""]")
return ..() return ..()

View File

@@ -89,12 +89,11 @@
src.attack_hand(user) src.attack_hand(user)
/obj/machinery/light_switch/attack_ghost(var/mob/dead/observer/ghost) /obj/machinery/light_switch/attack_ghost(var/mob/dead/observer/ghost)
if(blessed) if(!can_spook())
to_chat(ghost, "Your hand goes right through the switch...Is that some holy water dripping from it?") return FALSE
return 0
if(!ghost.can_poltergeist()) if(!ghost.can_poltergeist())
to_chat(ghost, "Your poltergeist abilities are still cooling down.") to_chat(ghost, "Your poltergeist abilities are still cooling down.")
return 0 return FALSE
investigation_log(I_GHOST, "|| was switched [on ? "off" : "on"] by [key_name(ghost)][ghost.locked_to ? ", who was haunting [ghost.locked_to]" : ""]") investigation_log(I_GHOST, "|| was switched [on ? "off" : "on"] by [key_name(ghost)][ghost.locked_to ? ", who was haunting [ghost.locked_to]" : ""]")
return ..() return ..()

View File

@@ -119,8 +119,8 @@ var/list/station_holomaps = list()
src.attack_hand(user) src.attack_hand(user)
/obj/machinery/station_map/attack_ghost(var/mob/user) /obj/machinery/station_map/attack_ghost(var/mob/user)
if(blessed) if(!can_spook())
return return FALSE
add_hiddenprint(user) add_hiddenprint(user)
flick("station_map_activate", src) flick("station_map_activate", src)

View File

@@ -327,11 +327,13 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
// Check for last poltergeist activity. // Check for last poltergeist activity.
/mob/dead/observer/proc/can_poltergeist(var/start_cooldown=1) /mob/dead/observer/proc/can_poltergeist(var/start_cooldown=1)
if(isAdminGhost(src))
return TRUE
if(world.time >= next_poltergeist) if(world.time >= next_poltergeist)
if(start_cooldown) if(start_cooldown)
start_poltergeist_cooldown() start_poltergeist_cooldown()
return 1 return TRUE
return 0 return FALSE
/mob/dead/observer/proc/start_poltergeist_cooldown() /mob/dead/observer/proc/start_poltergeist_cooldown()
next_poltergeist=world.time + POLTERGEIST_COOLDOWN next_poltergeist=world.time + POLTERGEIST_COOLDOWN

View File

@@ -56,7 +56,7 @@ var/global/list/boo_phrases_silicon=list(
/spell/aoe_turf/boo/cast(list/targets) /spell/aoe_turf/boo/cast(list/targets)
for(var/turf/T in targets) for(var/turf/T in targets)
for(var/atom/A in T.contents) for(var/atom/A in T.contents)
if(A.can_spook()) if(A.can_spook(0))
A.spook(holder) A.spook(holder)
/* FIXME /* FIXME

View File

@@ -422,7 +422,7 @@ var/global/list/obj/machinery/light/alllights = list()
update(0) update(0)
/obj/machinery/light/attack_ghost(mob/user) /obj/machinery/light/attack_ghost(mob/user)
if(blessed) if(!can_spook())
return return
src.add_hiddenprint(user) src.add_hiddenprint(user)
src.flicker(1) src.flicker(1)