Skip to content

Commit

Permalink
TGS Test Merge (#7598)
Browse files Browse the repository at this point in the history
  • Loading branch information
cm13-github committed Dec 10, 2024
2 parents b86eb49 + 4f558f1 commit 0cb2146
Show file tree
Hide file tree
Showing 21 changed files with 72,214 additions and 32 deletions.
1 change: 1 addition & 0 deletions code/__DEFINES/__game.dm
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
#define MAP_SOROKYNE_STRATA "Sorokyne Strata"
#define MAP_CORSAT "CORSAT" // Highpop only
#define MAP_KUTJEVO "Kutjevo Refinery"
#define MAP_ICE_COLONY_V1 "Ice Colony Classic"
#define MAP_ICE_COLONY_V3 "Shivas Snowball" //Ice Rework, low pop enabled.
#define MAP_RUNTIME "USS Runtime"
#define MAP_LV522_CHANCES_CLAIM "LV-522 Chance's Claim"
Expand Down
11 changes: 11 additions & 0 deletions code/datums/shuttles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -103,3 +103,14 @@
var/obj/docking_port/mobile/trijent_elevator/elev = M
elev.elevator_network = elevator_network
log_debug("Adding network [elevator_network] to [M.id]")

//ice classic elevators
/datum/map_template/shuttle/trijent_elevator/ice_elevator
name = "Ice Classic Elevator (Dorm)"
shuttle_id = "ice_classic_shuttle"
elevator_network = "dorm"

/datum/map_template/shuttle/trijent_elevator/ice_elevator/lab
name = "Ice Classic Elevator (Lab)"
shuttle_id = "ice_classic_shuttle_north"
elevator_network = "lab"
118 changes: 116 additions & 2 deletions code/game/area/IceColony.dm
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,12 @@
name = "\improper South Western Valleys"
icon_state = "valley_south_west"

/area/ice_colony/exterior/surface/valley/northeast/apc_support
always_unpowered = FALSE

/area/ice_colony/exterior/surface/valley/southeast/apc_support
always_unpowered = FALSE

//
// Clearing
// The Colony Center, so to speak
Expand Down Expand Up @@ -781,57 +787,165 @@
/area/shuttle/elevator1/ground
name = "\improper Elevator I"
icon_state = "shuttlered"
requires_power = TRUE
unlimited_power = FALSE

/area/shuttle/elevator1/underground
name = "\improper Elevator I"
icon_state = "shuttle"
requires_power = TRUE
unlimited_power = FALSE

/area/shuttle/elevator1/transit
name = "\improper Elevator I"
icon_state = "shuttle2"
requires_power = TRUE
unlimited_power = FALSE

/area/shuttle/elevator2/ground
name = "\improper Elevator II"
icon_state = "shuttle"
requires_power = TRUE
unlimited_power = FALSE

/area/shuttle/elevator2/underground
name = "\improper Elevator II"
icon_state = "shuttle2"
requires_power = TRUE
unlimited_power = FALSE

/area/shuttle/elevator2/transit
name = "\improper Elevator II"
icon_state = "shuttlered"
requires_power = TRUE
unlimited_power = FALSE

/area/shuttle/elevator3/ground
name = "\improper Elevator III"
icon_state = "shuttle"
requires_power = TRUE
unlimited_power = FALSE

/area/shuttle/elevator3/underground
name = "\improper Elevator III"
icon_state = "shuttle2"
requires_power = TRUE
unlimited_power = FALSE

/area/shuttle/elevator3/transit
name = "\improper Elevator III"
icon_state = "shuttlered"
requires_power = TRUE
unlimited_power = FALSE

/area/shuttle/elevator4/ground
name = "\improper Elevator IV"
icon_state = "shuttlered"
requires_power = TRUE
unlimited_power = FALSE

/area/shuttle/elevator4/underground
name = "\improper Elevator IV"
icon_state = "shuttle"
requires_power = TRUE
unlimited_power = FALSE

/area/shuttle/elevator4/transit
name = "\improper Elevator IV"
icon_state = "shuttle2"
requires_power = TRUE
unlimited_power = FALSE

/area/ice_colony/landing/console
name = "\improper LZ1 'Lazarus'"
icon_state = "tcomsatcham"
requires_power = 0
requires_power = FALSE

/area/ice_colony/landing/console2
name = "\improper LZ2 'Underground'"
icon_state = "tcomsatcham"
requires_power = 0
requires_power = FALSE

//ice classic
//making it so the whole underground area doesnt have the unoviable timer

/area/ice_colony/underground/research/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/research/work/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/research/sample/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/research/storage/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/hallway/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/hallway/north_west/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/hallway/south_east/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/maintenance/research/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/maintenance/north/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/maintenance/south/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/maintenance/east/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/engineering/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/engineering/locker/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/engineering/substation/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/crew/canteen/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/crew/library/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/crew/lavatory/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/crew/dorm_r/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/crew/disposals/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/security/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/security/armory/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/security/brig/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/storage/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/command/center/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/medical/lobby/ice_v1
unoviable_timer = FALSE

/area/ice_colony/underground/reception/ice_v1
unoviable_timer = FALSE

/area/ice_colony/surface/bar/bar/ice_v1
unoviable_timer = FALSE
2 changes: 2 additions & 0 deletions code/game/machinery/doors/door.dm
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@
/// Resistance to masterkey
var/masterkey_resist = FALSE
var/masterkey_mod = 0.1
/// If it is something shouldnt be treated like a normal door
var/abstract_door = FALSE
dir = EAST //So multitile doors are directioned properly

/obj/structure/machinery/door/Initialize(mapload, ...)
Expand Down
1 change: 1 addition & 0 deletions code/game/machinery/doors/poddoor/poddoor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -117,3 +117,4 @@
icon_state = ""
unslashable = TRUE
unacidable = TRUE
abstract_door = TRUE
16 changes: 16 additions & 0 deletions code/game/machinery/doors/poddoor/two_tile.dm
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
return ..()

/obj/structure/machinery/door/poddoor/two_tile/open(forced = FALSE)
if(!density)
return
if(operating) //doors can still open when emag-disabled
return FALSE

Expand Down Expand Up @@ -58,6 +60,8 @@
..()

/obj/structure/machinery/door/poddoor/two_tile/close(forced = FALSE)
if(density)
return
if(operating)
return FALSE

Expand Down Expand Up @@ -144,6 +148,18 @@
/obj/structure/machinery/door/poddoor/two_tile/four_tile/vertical/secure/open
density = FALSE

/obj/structure/machinery/door/poddoor/two_tile/four_tile/elevator_hatch
name = "elevator hatch"
base_icon_state = "hatch"
icon_state = "hatch1"
openspeed = 22
unslashable = TRUE
unacidable = TRUE

/obj/structure/machinery/door/poddoor/two_tile/four_tile/elevator_hatch/opened
icon_state = "hatch0"
density = FALSE

/obj/structure/machinery/door/poddoor/two_tile/secure
icon = 'icons/obj/structures/doors/1x2blast_hor.dmi'
openspeed = 17
Expand Down
39 changes: 23 additions & 16 deletions code/game/machinery/telecomms/presets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,8 @@ GLOBAL_LIST_EMPTY(all_static_telecomms_towers)
freq_listening = list(COLONY_FREQ)
var/toggle_cooldown = 0

///if xenos can bypass XENO_COMM_ACQUISITION_TIME to corrupt the tower
var/bypass_round_time_requirements = FALSE
/// Tower has been taken over by xenos, is not usable
var/corrupted = FALSE

Expand Down Expand Up @@ -327,7 +329,7 @@ GLOBAL_LIST_EMPTY(all_static_telecomms_towers)
if(!weeded_turf.weeds.parent)
return

if(!istype(weeded_turf.weeds.parent, /obj/effect/alien/weeds/node/pylon/cluster))
if(istypestrict(weeded_turf.weeds.parent, /obj/effect/alien/weeds/node/pylon/core) || !istype(weeded_turf.weeds.parent, /obj/effect/alien/weeds/node/pylon))
return

if(SSticker.mode.is_in_endgame)
Expand All @@ -336,44 +338,49 @@ GLOBAL_LIST_EMPTY(all_static_telecomms_towers)
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), TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_NO_HASH_WAIT)
return
if(!bypass_round_time_requirements)
if(ROUND_TIME < XENO_COMM_ACQUISITION_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)), TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_NO_HASH_WAIT)
return

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

var/obj/effect/alien/resin/special/cluster/cluster_parent = parent_node.resin_parent
var/obj/effect/alien/resin/special/pylon_node_parent = parent_node.resin_parent

var/list/held_children_weeds = parent_node.children
var/cluster_loc = cluster_parent.loc
var/linked_hive = cluster_parent.linked_hive
var/cluster_loc = pylon_node_parent.loc
var/linked_hive = pylon_node_parent.linked_hive

parent_node.children = list()

qdel(cluster_parent)

var/obj/effect/alien/resin/special/pylon/endgame/new_pylon = new(cluster_loc, linked_hive)
new_pylon.node.children = held_children_weeds
var/obj/effect/alien/resin/special/pylon/endgame/pylon
if(istypestrict(parent_node.resin_parent, /obj/effect/alien/resin/special/pylon/endgame)) //if its already a pylon, just add the new tower
pylon = parent_node.resin_parent
else
qdel(pylon_node_parent)
pylon = new(cluster_loc, linked_hive)
pylon.node.children = held_children_weeds

for(var/obj/effect/alien/weeds/weed in new_pylon.node.children)
weed.parent = new_pylon.node
for(var/obj/effect/alien/weeds/weed in pylon.node.children)
weed.parent = pylon.node
weed.spread_on_semiweedable = TRUE
weed.weed_expand()

RegisterSignal(new_pylon, COMSIG_PARENT_QDELETING, PROC_REF(uncorrupt))
RegisterSignal(pylon, COMSIG_PARENT_QDELETING, PROC_REF(uncorrupt))

corrupted = TRUE
pylon.connected_towers += src

corruption_image = image(icon, icon_state = "resin_growing")

flick_overlay(src, corruption_image, (2 SECONDS))
addtimer(CALLBACK(src, PROC_REF(switch_to_idle_corruption)), (2 SECONDS))

new_pylon.comms_relay_connection()
pylon.comms_relay_connection(src)

/// Handles removing corruption effects from the comms relay
/obj/structure/machinery/telecomms/relay/preset/tower/mapcomms/proc/uncorrupt(datum/deleting_datum)
Expand Down
Loading

0 comments on commit 0cb2146

Please sign in to comment.