Skip to content

Commit

Permalink
Xeno Tunnel and Shuttle Building/Anchoring Changes (#4831)
Browse files Browse the repository at this point in the history
# About the pull request

This PR removes the ability to build walls (and other ground structures)
on top of xeno tunnels, and removes the ability to anchor wall girders
on shuttle tiles and tunnels. Barricades can still be moved on top of
the tunnel's tile and anchored, though they can't be built while
standing on it.

# Explain why it's good for the game

Being able to build walls on top of a gaping hole in the ground is
pretty dumb, and results in weird interactions like having to right
click to use the tunnel that's currently being covered up by a wall. The
shuttle tiles were changed because, while you can't complete the girders
if they're in a shuttle, you can still anchor them down. That doesn't
seem intended since you can't build them while in a shuttle, and you
also can't build/anchor barricades in shuttles.

# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>


</details>


# Changelog
:cl:IowaPotatoFarmer
del: Removed the ability to build ground structures or anchor wall
girders on top of xeno tunnels.
fix: Fixed wall girders being anchorable on shuttle tiles.
/:cl:
  • Loading branch information
toolmind authored Nov 6, 2023
1 parent b35b658 commit 28f3738
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 0 deletions.
5 changes: 5 additions & 0 deletions code/game/objects/items/stacks/stack.dm
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,11 @@ Also change the icon to reflect the amount of sheets, if possible.*/
to_chat(usr, SPAN_WARNING("The [R.title] cannot be built here!")) //might cause some friendly fire regarding other items like barbed wire, shouldn't be a problem?
return

var/obj/structure/tunnel/tunnel = locate(/obj/structure/tunnel) in usr.loc
if(tunnel)
to_chat(usr, SPAN_WARNING("The [R.title] cannot be constructed on a tunnel!"))
return

if((R.flags & RESULT_REQUIRES_SNOW) && !(istype(usr.loc, /turf/open/snow) || istype(usr.loc, /turf/open/auto_turf/snow)))
to_chat(usr, SPAN_WARNING("The [R.title] must be built on snow!"))
return
Expand Down
8 changes: 8 additions & 0 deletions code/game/objects/structures/girders.dm
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,14 @@
return do_reinforced_wall(W, user)
if(STATE_DISPLACED)
if(HAS_TRAIT(W, TRAIT_TOOL_CROWBAR))
var/turf/open/floor = loc
if(!floor.allow_construction)
to_chat(user, SPAN_WARNING("The girder must be secured on a proper surface!"))
return
var/obj/structure/tunnel/tunnel = locate(/obj/structure/tunnel) in loc
if(tunnel)
to_chat(user, SPAN_WARNING("The girder cannot be secured on a tunnel!"))
return
playsound(loc, 'sound/items/Crowbar.ogg', 25, 1)
to_chat(user, SPAN_NOTICE("Now securing the girder..."))
if(!do_after(user, 40 * user.get_skill_duration_multiplier(SKILL_CONSTRUCTION), INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_BUILD))
Expand Down

0 comments on commit 28f3738

Please sign in to comment.