museum away mission (#81208)

## About The Pull Request

adds a new gateway map, the Nanotrasen Museum it is filled with
""""Mannequins"""" and Common Core lore
im not putting the preview here because you really should explore it
yourself but if youre that curious i think the Checks tab in mapdiffbot
would have it
this gateway map contains no combat unless you count falling into chasms
because you did not carry a light
or going into the boarded room with no loot or any incentive with
obvious signs that there is the sole enemy on the map in there
the loot is the lore ok thanks

also makes mines detonate if theyre detonated by a non-mob im pretty
sure this couldnt have been intentional
trams stop chasms
and also the relevant items

<details>
  <summary>on second thought if you want spoilers check this</summary>


![image](https://github.com/tgstation/tgstation/assets/70376633/41ab2db1-55ce-4371-8594-a1d8961c37c3)

</details>

## Why It's Good For The Game

more gateway maps = good

## Changelog
🆑
add: nanotrasen museum gateway map
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
This commit is contained in:
jimmyl
2024-02-11 03:17:55 +01:00
committed by GitHub
co-authored by MrMelbert Ghom
parent db79315717
commit fbe6e2ebba
32 changed files with 71658 additions and 5 deletions
@@ -486,6 +486,9 @@
ignite()
return ..()
/obj/effect/decal/cleanable/fuel_pool/hivis
icon_state = "fuel_pool_hivis"
/obj/effect/decal/cleanable/rubble
name = "rubble"
desc = "A pile of rubble."
+1 -2
View File
@@ -117,8 +117,7 @@
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
if(ismob(triggerer))
mineEffect(triggerer)
mineEffect(triggerer)
triggered = TRUE
SEND_SIGNAL(src, COMSIG_MINE_TRIGGERED, triggerer)
qdel(src)
+21 -1
View File
@@ -19,7 +19,7 @@
/obj/effect/step_trigger/proc/on_entered(datum/source, H as mob|obj)
SIGNAL_HANDLER
if(!H)
if(!H || H == src)
return
if(isobserver(H) && !affect_ghosts)
return
@@ -138,6 +138,26 @@
if (T)
A.forceMove(T)
/* Teleports atoms directly to an offset, no randomness, looping hallways! */
/obj/effect/step_trigger/teleporter/offset
var/teleport_x_offset = 0
var/teleport_y_offset = 0
/obj/effect/step_trigger/teleporter/offset/on_entered(datum/source, H as mob|obj, atom/old_loc)
if(!old_loc?.Adjacent(loc)) // prevents looping, if we were teleported into this then the old loc is usually not adjacent
return
return ..()
/obj/effect/step_trigger/teleporter/offset/Trigger(atom/movable/poor_soul)
var/turf/destination = locate(x + teleport_x_offset, y + teleport_y_offset, z)
if(!destination)
return
poor_soul.forceMove(destination)
var/mob/living/living_soul = poor_soul
if(istype(living_soul) && living_soul.client)
living_soul.client.move_delay = 0
/* Fancy teleporter, creates sparks and smokes when used */
/obj/effect/step_trigger/teleport_fancy