Skip to content

Commit

Permalink
Xenos cannot pylon working comms anymore (#6241)
Browse files Browse the repository at this point in the history
# About the pull request
First of all, it looks like a simple oversight. You cannot turn on
pyloned comms tower, but for some reason it works the other way around —
you can pylon working tower. Don't think this was intended.

Secondly, I think it's a little too boring that you can get both pylon
and working comms if you have corrupted xenos. It would be more
interesting if you needed to choose between these options.

# Explain why it's good for the game
Consistency, balance, important choices.


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

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>


# Changelog
:cl: ihatethisengine
balance: only disabled comms can be pyloned
/:cl:

---------

Co-authored-by: Drathek <[email protected]>
  • Loading branch information
ihatethisengine and Drulikar committed May 11, 2024
1 parent d57a276 commit 78319a2
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions code/game/machinery/telecomms/presets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -306,6 +306,11 @@ GLOBAL_LIST_EMPTY(all_static_telecomms_towers)
else
update_icon()

/obj/structure/machinery/telecomms/relay/preset/tower/mapcomms/update_state()
..()
if(inoperable())
handle_xeno_acquisition(get_turf(src))

/// Handles xenos corrupting the tower when weeds touch the turf it is located on
/obj/structure/machinery/telecomms/relay/preset/tower/mapcomms/proc/handle_xeno_acquisition(turf/weeded_turf)
SIGNAL_HANDLER
Expand All @@ -328,12 +333,15 @@ GLOBAL_LIST_EMPTY(all_static_telecomms_towers)
if(SSticker.mode.is_in_endgame)
return

if(operable())
return

if(ROUND_TIME < XENO_COMM_ACQUISITION_TIME)
addtimer(CALLBACK(src, PROC_REF(handle_xeno_acquisition), weeded_turf), (XENO_COMM_ACQUISITION_TIME - ROUND_TIME))
addtimer(CALLBACK(src, PROC_REF(handle_xeno_acquisition), weeded_turf), (XENO_COMM_ACQUISITION_TIME - ROUND_TIME), TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_NO_HASH_WAIT)
return

if(!COOLDOWN_FINISHED(src, corruption_delay))
addtimer(CALLBACK(src, PROC_REF(handle_xeno_acquisition), weeded_turf), (COOLDOWN_TIMELEFT(src, corruption_delay)))
addtimer(CALLBACK(src, PROC_REF(handle_xeno_acquisition), weeded_turf), (COOLDOWN_TIMELEFT(src, corruption_delay)), TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_NO_HASH_WAIT)
return

var/obj/effect/alien/weeds/node/pylon/cluster/parent_node = weeded_turf.weeds.parent
Expand Down

0 comments on commit 78319a2

Please sign in to comment.