Moving on walk intent causes you to avoid stepping into the Hive's supermatter lake (#14483)

* Solves the supermatter lake crisis

* 1
This commit is contained in:
unid15
2017-03-31 21:09:01 +02:00
committed by Probe1
parent 9155d5a1e6
commit 4fabf2e71e
5 changed files with 29 additions and 6 deletions

3
code/__DEFINES/mob.dm Normal file
View File

@@ -0,0 +1,3 @@
//Values for the m_intent variable
#define M_INTENT_RUN "run"
#define M_INTENT_WALK "walk"

View File

@@ -270,15 +270,15 @@
var/mob/living/carbon/C = usr var/mob/living/carbon/C = usr
if(C.legcuffed) if(C.legcuffed)
to_chat(C, "<span class='notice'>You are legcuffed! You cannot run until you get [C.legcuffed] removed!</span>") to_chat(C, "<span class='notice'>You are legcuffed! You cannot run until you get [C.legcuffed] removed!</span>")
C.m_intent = "walk" //Just incase C.m_intent = M_INTENT_WALK //Just incase
C.hud_used.move_intent.icon_state = "walking" C.hud_used.move_intent.icon_state = "walking"
return 1 return 1
switch(usr.m_intent) switch(usr.m_intent)
if("run") if(M_INTENT_RUN)
usr.m_intent = "walk" usr.m_intent = M_INTENT_WALK
usr.hud_used.move_intent.icon_state = "walking" usr.hud_used.move_intent.icon_state = "walking"
if("walk") if(M_INTENT_WALK)
usr.m_intent = "run" usr.m_intent = M_INTENT_RUN
usr.hud_used.move_intent.icon_state = "running" usr.hud_used.move_intent.icon_state = "running"
if(istype(usr,/mob/living/carbon/alien/humanoid)) if(istype(usr,/mob/living/carbon/alien/humanoid))
usr.update_icons() usr.update_icons()

View File

@@ -0,0 +1,6 @@
author: Unid
delete-after: True
changes:
- tweak: "The Hive: moving on 'walk' intent will prevent you from stepping into the supermatter lake, unless you're blind."

View File

@@ -167,7 +167,8 @@
play_sound = 'sound/ambience/spookymaint2.ogg' play_sound = 'sound/ambience/spookymaint2.ogg'
/obj/effect/narration/hive/lake /obj/effect/narration/hive/lake
msg = "The first thing you see as you enter this room is the massive supermatter lake on its bottom. It constantly sizzles and sparks as dust specks collide with it. If you're going to walk on these catwalks hanging from the ceiling, you better be careful - a single misstep, and you'll be pulled down into the lake faster than you'd be able to react." msg = {"The first thing you see as you enter this room is the massive supermatter lake on its bottom. It constantly sizzles and sparks as dust specks collide with it. If you're going to walk on these catwalks hanging from the ceiling, you better be careful - a single misstep, and you'll be pulled down into the lake faster than you'd be able to do anything.<br>
<i>Switch to <b>"walk"</b> intent to move carefully.</i><br>"}
/obj/effect/narration/hive/cloning_hallway /obj/effect/narration/hive/cloning_hallway
msg = "You notice that the surface of the floors and walls around you becomes more and more porous, and more... alive. You must be approaching the cloning chamber." msg = "You notice that the surface of the floors and walls around you becomes more and more porous, and more... alive. You must be approaching the cloning chamber."
@@ -391,6 +392,18 @@
light_range = 3 light_range = 3
light_power = 1 light_power = 1
/turf/unsimulated/wall/supermatter/no_spread/lake/Bumped(atom/AM)
if(isliving(AM))
var/mob/living/L = AM
//Being on walk intent prevents you from instant death
//Exceptions: you're blind, you're getting thrown, or you're incapacitated (stunned)
if(!L.incapacitated() && !L.throwing && !L.is_blind() && (L.m_intent == M_INTENT_WALK))
to_chat(L, "<span class='notice'>You avoid stepping into \the [src].</span>")
return
return ..()
/turf/unsimulated/wall/supermatter/no_spread/lake/Consume(atom/A) /turf/unsimulated/wall/supermatter/no_spread/lake/Consume(atom/A)
var/datum/map_element/away_mission/hive/hive var/datum/map_element/away_mission/hive/hive
if(istype(map_element, /datum/map_element/away_mission/hive)) if(istype(map_element, /datum/map_element/away_mission/hive))

View File

@@ -41,6 +41,7 @@
#include "code\__DEFINES\component_signals.dm" #include "code\__DEFINES\component_signals.dm"
#include "code\__DEFINES\disease2.dm" #include "code\__DEFINES\disease2.dm"
#include "code\__DEFINES\hydro.dm" #include "code\__DEFINES\hydro.dm"
#include "code\__DEFINES\mob.dm"
#include "code\__DEFINES\pai_software.dm" #include "code\__DEFINES\pai_software.dm"
#include "code\__DEFINES\spell_flags.dm" #include "code\__DEFINES\spell_flags.dm"
#include "code\__DEFINES\turfs.dm" #include "code\__DEFINES\turfs.dm"