Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Xeno landmark changes #4711

Closed
wants to merge 26 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
dcbd03e
initial
BeagleGaming1 Oct 17, 2023
4aa0c78
minor spelling mistake
BeagleGaming1 Oct 17, 2023
6cd4825
create and destroy
BeagleGaming1 Oct 17, 2023
4d2f16b
return
BeagleGaming1 Oct 17, 2023
56effed
Update setup_distress.dm
BeagleGaming1 Oct 18, 2023
acde7be
test
BeagleGaming1 Oct 18, 2023
741100e
corsat
BeagleGaming1 Oct 18, 2023
bd69f9d
fiorina
BeagleGaming1 Oct 18, 2023
d068eb2
CC
BeagleGaming1 Oct 18, 2023
dfbcbf8
dam
BeagleGaming1 Oct 19, 2023
56442ce
Ice v2
BeagleGaming1 Oct 19, 2023
2c525d6
ice colony v2 2
BeagleGaming1 Oct 19, 2023
c506494
corsat 2
BeagleGaming1 Oct 19, 2023
c3228d5
bigred
BeagleGaming1 Oct 22, 2023
d30a800
How did I forget nightmare inserts
BeagleGaming1 Oct 22, 2023
bd829c2
big red 3
BeagleGaming1 Oct 25, 2023
e70a482
corsat 3
BeagleGaming1 Oct 25, 2023
006674f
faction
BeagleGaming1 Oct 26, 2023
dfea6ab
whoops
BeagleGaming1 Oct 26, 2023
eedb9dc
for real this time
BeagleGaming1 Oct 26, 2023
35daa8b
runtimes
BeagleGaming1 Oct 26, 2023
4562c9d
Merge branch 'master' of https://github.com/cmss13-devs/cmss13 into x…
BeagleGaming1 Oct 26, 2023
373058f
Merge branch 'master' of https://github.com/cmss13-devs/cmss13 into x…
BeagleGaming1 Nov 4, 2023
d290bea
Merge branch 'master' of https://github.com/cmss13-devs/cmss13 into x…
BeagleGaming1 Nov 7, 2023
015484c
Merge branch 'master' of https://github.com/cmss13-devs/cmss13 into x…
BeagleGaming1 Nov 14, 2023
1653609
Merge branch 'master' of https://github.com/cmss13-devs/cmss13 into x…
BeagleGaming1 Nov 20, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 0 additions & 20 deletions code/game/gamemodes/colonialmarines/colonialmarines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -57,18 +57,6 @@
new /obj/structure/blocker/fog(loc, time_to_dispel)
qdel(src)

/obj/effect/landmark/lv624/xeno_tunnel
name = "xeno tunnel"
icon_state = "xeno_tunnel"

/obj/effect/landmark/lv624/xeno_tunnel/Initialize(mapload, ...)
. = ..()
GLOB.xeno_tunnels += src

/obj/effect/landmark/lv624/xeno_tunnel/Destroy()
GLOB.xeno_tunnels -= src
return ..()

////////////////////////////////////////////////////////////////////////////////////////

/* Pre-setup */
Expand All @@ -94,14 +82,6 @@
flags_round_type |= MODE_FOG_ACTIVATED

..()

var/obj/structure/tunnel/T
var/i = 0
var/turf/t
while(GLOB.xeno_tunnels.len && i++ < 3)
t = get_turf(pick_n_take(GLOB.xeno_tunnels))
T = new(t)
T.id = "hole[i]"
return TRUE

////////////////////////////////////////////////////////////////////////////////////////
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,107 @@
name = "abstract distress spawner"
mode_flags = MODE_INFESTATION

/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall
/obj/effect/landmark/structure_spawner/setup/distress/xeno
name = "abstract distress Xeno effects spawner"
var/hive_faction = XENO_HIVE_NORMAL

///Sets the new item to the correct xeno faction
/obj/effect/landmark/structure_spawner/setup/distress/xeno/proc/set_hive_faction(atom/xeno_item)
set_hive_data(xeno_item, hive_faction)

/obj/effect/landmark/structure_spawner/setup/distress/xeno/apply(atom/target_location)
var/atom/xeno_item = ..()
if(!xeno_item)
return
if(!istypestrict(xeno_item, path_to_spawn))
return
set_hive_faction(xeno_item)

/obj/effect/landmark/structure_spawner/setup/distress/xeno/wall
name = "Distress Xeno wall spawner"
icon_state = "wall"
path_to_spawn = /turf/closed/wall/resin
is_turf = TRUE

/obj/effect/landmark/structure_spawner/setup/distress/xeno_membrane
/obj/effect/landmark/structure_spawner/setup/distress/xeno/wall/set_hive_faction(turf/closed/wall/resin/resin_wall)
. = ..()
resin_wall.hivenumber = hive_faction

/obj/effect/landmark/structure_spawner/setup/distress/xeno/wall/thick
name = "Distress Xeno thick wall spawner"
path_to_spawn = /turf/closed/wall/resin/thick

/obj/effect/landmark/structure_spawner/setup/distress/xeno/membrane
name = "Distress Xeno membrane spawner"
icon_state = "membrane"
path_to_spawn = /turf/closed/wall/resin/membrane
is_turf = TRUE

/obj/effect/landmark/structure_spawner/setup/distress/xeno_door
/obj/effect/landmark/structure_spawner/setup/distress/xeno/membrane/set_hive_faction(turf/closed/wall/resin/membrane/resin_membrane)
. = ..()
resin_membrane.hivenumber = hive_faction

/obj/effect/landmark/structure_spawner/setup/distress/xeno/membrane/thick
name = "Distress Xeno thick membrane spawner"
path_to_spawn = /turf/closed/wall/resin/membrane/thick

/obj/effect/landmark/structure_spawner/setup/distress/xeno/door
name = "Distress Xeno door spawner"
icon_state = "door"
path_to_spawn = /obj/structure/mineral_door/resin

/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest
name = "Distress Xeno nest spawner"
icon_state = "nest"
path_to_spawn = /obj/structure/bed/nest
/obj/effect/landmark/structure_spawner/setup/distress/xeno/door/set_hive_faction(obj/structure/mineral_door/resin/resin_door)
. = ..()
resin_door.hivenumber = hive_faction

/obj/effect/landmark/structure_spawner/setup/distress/xeno/door/thick
name = "Distress Xeno thick door spawner"
path_to_spawn = /obj/structure/mineral_door/resin/thick

/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node
/obj/effect/landmark/structure_spawner/setup/distress/xeno/weed_node
name = "Distress Xeno weed node spawner"
icon_state = "weednode"
path_to_spawn = /obj/effect/alien/weeds/node
///The minimum is_weedable required for the weeds to be planted normally
var/weed_strength_required = FULLY_WEEDABLE

/obj/effect/landmark/structure_spawner/setup/distress/xeno/weed_node/set_hive_faction(obj/effect/alien/weeds/node/weed_node)
. = ..()
weed_node.hivenumber = hive_faction
weed_node.linked_hive = GLOB.hive_datum[hive_faction]

/obj/effect/landmark/structure_spawner/setup/distress/xeno/weed_node/Initialize(mapload, ...)
. = ..()
if(!is_admin_level(z) && !is_ground_level(z) && !is_mainship_level(z) && !is_reserved_level(z)) //Is it a real area? for the create and destroy unit tests
return
var/turf/node_tile = loc
if(node_tile.is_weedable() >= weed_strength_required)
return
CRASH("[src] at [x],[y],[z] is on a turf where weeds cannot normally grow.")

/obj/effect/landmark/structure_spawner/setup/distress/xeno/weed_node/hardy
name = "Distress Xeno hardy node spawner"
path_to_spawn = /obj/effect/alien/weeds/node/hardy
weed_strength_required = SEMI_WEEDABLE

/obj/effect/landmark/structure_spawner/setup/distress/xeno/tunnel
name = "Distress Xeno tunnel spawner"
icon_state = "xeno_tunnel"
path_to_spawn = /obj/structure/tunnel

/obj/effect/landmark/structure_spawner/setup/distress/xeno/tunnel/set_hive_faction(obj/structure/tunnel/tunnel)
. = ..()
tunnel.hivenumber = hive_faction

/obj/effect/landmark/structure_spawner/setup/distress/xeno/tunnel/Initialize(mapload, ...)
. = ..()
if(!is_admin_level(z) && !is_ground_level(z) && !is_mainship_level(z) && !is_reserved_level(z)) //Is it a real area? for the create and destroy unit tests
return
var/turf/tunnel_tile = loc
if(tunnel_tile.can_dig_xeno_tunnel())
return
CRASH("[src] at [x],[y],[z] is on a turf where tunnels cannot normally be built.")

/obj/effect/landmark/structure_spawner/setup/distress/xeno/tunnel/maintenance
name = "Distress Xeno maintenance tunnel spawner"
path_to_spawn = /obj/structure/tunnel/maint_tunnel
6 changes: 2 additions & 4 deletions code/game/turfs/floor_types.dm
Original file line number Diff line number Diff line change
Expand Up @@ -180,23 +180,21 @@
/turf/open/floor/plating/plating_catwalk/shiva
icon = 'icons/turf/floors/ice_colony/shiva_floor.dmi'



/turf/open/floor/plating/ironsand
name = "Iron Sand"

/turf/open/floor/plating/ironsand/Initialize(mapload, ...)
. = ..()
icon_state = "ironsand[rand(1,15)]"



/turf/open/floor/plating/catwalk
icon = 'icons/turf/floors/catwalks.dmi'
icon_state = "catwalk0"
name = "catwalk"
desc = "Cats really don't like these things."

/turf/open/floor/plating/tunnelable //You can place a tunnel on these
name = "damaged plating"

/turf/open/floor/almayer
icon = 'icons/turf/almayer.dmi'
Expand Down
3 changes: 3 additions & 0 deletions code/game/turfs/turf.dm
Original file line number Diff line number Diff line change
Expand Up @@ -666,6 +666,9 @@
/turf/open/floor/corsat/can_dig_xeno_tunnel()
return TRUE

/turf/open/floor/plating/tunnelable/can_dig_xeno_tunnel()
return TRUE

/turf/closed/wall/almayer/research/containment/wall/divide/can_dig_xeno_tunnel()
return FALSE

Expand Down
3 changes: 1 addition & 2 deletions code/modules/cm_aliens/structures/tunnel.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
icon = 'icons/mob/xenos/effects.dmi'
icon_state = "hole"

health = 140
density = FALSE
opacity = FALSE
anchored = TRUE
Expand All @@ -23,8 +24,6 @@
var/hivenumber = XENO_HIVE_NORMAL
var/datum/hive_status/hive

health = 140
var/id = null //For mapping

/obj/structure/tunnel/Initialize(mapload, h_number)
. = ..()
Expand Down
6 changes: 6 additions & 0 deletions code/modules/cm_aliens/weeds.dm
Original file line number Diff line number Diff line change
Expand Up @@ -586,6 +586,12 @@
/obj/effect/alien/weeds/node/forsaken
hivenumber = XENO_HIVE_FORSAKEN

/obj/effect/alien/weeds/node/hardy
name = "hardy resin node"
spread_on_semiweedable = TRUE
fruit_growth_multiplier = 0.8
weed_strength = WEED_LEVEL_HARDY

/obj/effect/alien/weeds/node/pylon
health = WEED_HEALTH_HIVE
weed_strength = WEED_LEVEL_HIVE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -348,12 +348,7 @@
xeno_cooldown = 2 MINUTES
action_type = XENO_ACTION_CLICK
ability_primacy = XENO_PRIMARY_ACTION_2
node_type = /obj/effect/alien/weeds/node/gardener

/obj/effect/alien/weeds/node/gardener
spread_on_semiweedable = TRUE
fruit_growth_multiplier = 0.8
weed_strength = WEED_LEVEL_HARDY
node_type = /obj/effect/alien/weeds/node/hardy

/datum/action/xeno_action/verb/verb_plant_gardening_weeds()
set category = "Alien"
Expand Down
Loading