mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-21 20:11:04 +01:00
Fix ruin generation (4reals) (#16175)
* Fix ruin generation (4reals) * least insane merge edit * fix runtime (by ignoring it) * oops
This commit is contained in:
@@ -16,13 +16,13 @@
|
||||
|
||||
//planet flags
|
||||
|
||||
#define PLANET_BARREN "barren"
|
||||
#define PLANET_ASTEROID "asteroid"
|
||||
#define PLANET_DESERT "desert"
|
||||
#define PLANET_GROVE "grove"
|
||||
#define PLANET_GRASS "grass"
|
||||
#define PLANET_LAVA "lava"
|
||||
#define PLANET_SNOW "snow"
|
||||
#define PLANET_BARREN BITFLAG(0)
|
||||
#define PLANET_ASTEROID BITFLAG(1)
|
||||
#define PLANET_DESERT BITFLAG(2)
|
||||
#define PLANET_GROVE BITFLAG(3)
|
||||
#define PLANET_GRASS BITFLAG(4)
|
||||
#define PLANET_LAVA BITFLAG(5)
|
||||
#define PLANET_SNOW BITFLAG(6)
|
||||
|
||||
#define ALL_PLANET_TYPES list(PLANET_BARREN, PLANET_ASTEROID, PLANET_DESERT, PLANET_GROVE, PLANET_GRASS, PLANET_LAVA, PLANET_SNOW)
|
||||
#define PLANET_LORE "lore"
|
||||
#define ALL_PLANET_TYPES PLANET_BARREN|PLANET_ASTEROID|PLANET_DESERT|PLANET_GROVE|PLANET_GRASS|PLANET_LAVA|PLANET_SNOW
|
||||
#define PLANET_LORE BITFLAG(16)
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
var/datum/map_template/ruin/exoplanet/ruin = T
|
||||
if((initial(ruin.template_flags) & TEMPLATE_FLAG_RUIN_STARTS_DISALLOWED))
|
||||
continue
|
||||
if(!(ruin_planet_type in initial(ruin.planet_types)))
|
||||
if(!(ruin_planet_type & initial(ruin.planet_types)))
|
||||
continue
|
||||
var/filtered_tags = initial(ruin.ruin_tags) & ruin_allowed_tags
|
||||
if(filtered_tags != initial(ruin.ruin_tags))
|
||||
|
||||
@@ -155,6 +155,9 @@
|
||||
// Requires something in icon update or runtimes
|
||||
ignore += typesof(/obj/item/gun/energy/gun/nuclear)
|
||||
|
||||
// do_spread sleeps and tries to addtimer after the src is qdeleted
|
||||
ignore += typesof(/obj/effect/plant)
|
||||
|
||||
/**
|
||||
* END EXCLUSIONS OF THE TEST
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
author: JohnWildkins
|
||||
|
||||
delete-after: True
|
||||
|
||||
changes:
|
||||
- bugfix: "Fixed ruins not being generated due to planet_type lists not being initialized."
|
||||
@@ -40,16 +40,18 @@
|
||||
var/sanity_count = 0
|
||||
while(all_ruins.len)
|
||||
sanity_count++
|
||||
var/types_needed = list()
|
||||
var/types_needed = 0
|
||||
var/planets_to_spawn = list()
|
||||
for(var/datum/map_template/ruin/exoplanet/R in all_ruins)
|
||||
if(!R.planet_types)
|
||||
continue
|
||||
types_needed |= R.planet_types[1]
|
||||
types_needed |= R.planet_types
|
||||
for(var/EP in subtypesof(/obj/effect/overmap/visitable/sector/exoplanet))
|
||||
var/obj/effect/overmap/visitable/sector/exoplanet/E = EP
|
||||
if(initial(E.ruin_planet_type) in types_needed)
|
||||
if(initial(E.ruin_planet_type) & types_needed)
|
||||
planets_to_spawn += EP
|
||||
var/PT = initial(E.ruin_planet_type)
|
||||
types_needed &= ~PT
|
||||
all_ruins = build_exoplanets_for_testing(all_ruins, planets_to_spawn)
|
||||
if(!planets_to_spawn || (sanity_count > 3))
|
||||
testing("[ascii_red]FAILED SPAWNING RUINS:[ascii_reset] [sanity_count > 3 ? "EXCEEDED SANITY COUNT" : "NO VALID PLANETS"] for ruins [english_list(all_ruins)]")
|
||||
@@ -63,7 +65,7 @@
|
||||
continue
|
||||
new_planet = new new_planet(null, planet_size[1], planet_size[2])
|
||||
for(var/datum/map_template/ruin/exoplanet/R in ruins_to_test)
|
||||
if(new_planet.ruin_planet_type in R.planet_types)
|
||||
if(new_planet.ruin_planet_type & R.planet_types)
|
||||
ruins_to_spawn |= R
|
||||
|
||||
testing("[ascii_green]LOADING EXOPLANET:[ascii_reset] Spawning [new_planet.name] on Z [english_list(GetConnectedZlevels(world.maxz))]")
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
sectors = list(SECTOR_TAU_CETI, SECTOR_ROMANOVICH, SECTOR_CORP_ZONE, SECTOR_VALLEY_HALE, SECTOR_BADLANDS)
|
||||
suffixes = list("asteroid/mining_base/mining_base.dmm")
|
||||
|
||||
planet_types = list(PLANET_ASTEROID,PLANET_BARREN)
|
||||
planet_types = PLANET_ASTEROID|PLANET_BARREN
|
||||
ruin_tags = RUIN_AIRLESS|RUIN_LOWPOP|RUIN_MINING
|
||||
|
||||
/datum/map_template/ruin/exoplanet/carp_nest
|
||||
@@ -17,7 +17,7 @@
|
||||
sectors = list(SECTOR_TAU_CETI, SECTOR_ROMANOVICH, SECTOR_CORP_ZONE, SECTOR_VALLEY_HALE, SECTOR_BADLANDS)
|
||||
suffixes = list("asteroid/carp_nest/carp_nest.dmm")
|
||||
|
||||
planet_types = list(PLANET_ASTEROID,PLANET_BARREN)
|
||||
planet_types = PLANET_ASTEROID|PLANET_BARREN
|
||||
ruin_tags = RUIN_AIRLESS|RUIN_LOWPOP|RUIN_HOSTILE|RUIN_NATURAL
|
||||
|
||||
/datum/map_template/ruin/exoplanet/hideout
|
||||
@@ -30,7 +30,7 @@
|
||||
sectors = list(SECTOR_TAU_CETI, SECTOR_ROMANOVICH, SECTOR_CORP_ZONE, SECTOR_VALLEY_HALE, SECTOR_BADLANDS)
|
||||
suffixes = list("asteroid/hideout/hideout.dmm")
|
||||
|
||||
planet_types = list(PLANET_ASTEROID,PLANET_BARREN)
|
||||
planet_types = PLANET_ASTEROID|PLANET_BARREN
|
||||
ruin_tags = RUIN_AIRLESS|RUIN_LOWPOP|RUIN_HOSTILE|RUIN_WRECK
|
||||
|
||||
/datum/map_template/ruin/exoplanet/crashed_shuttle_01
|
||||
@@ -44,7 +44,7 @@
|
||||
spawn_weight = 0.5
|
||||
spawn_cost = 2
|
||||
|
||||
planet_types = list(PLANET_ASTEROID)
|
||||
planet_types = PLANET_ASTEROID
|
||||
ruin_tags = RUIN_AIRLESS|RUIN_LOWPOP|RUIN_HOSTILE|RUIN_WRECK
|
||||
|
||||
/datum/map_template/ruin/exoplanet/crashed_sol_shuttle_01
|
||||
@@ -91,7 +91,7 @@
|
||||
sectors = list(SECTOR_TAU_CETI, SECTOR_ROMANOVICH, SECTOR_CORP_ZONE, SECTOR_VALLEY_HALE, SECTOR_BADLANDS, SECTOR_NEW_ANKARA, SECTOR_AEMAQ, SECTOR_SRANDMARR, SECTOR_NRRAHRAHUL, SECTOR_GAKAL, SECTOR_UUEOAESA)
|
||||
suffixes = list("asteroid/satelite_crash/satelite_crash_unique.dmm")
|
||||
|
||||
planet_types = list(PLANET_ASTEROID,PLANET_BARREN)
|
||||
planet_types = PLANET_ASTEROID|PLANET_BARREN
|
||||
ruin_tags = RUIN_LOWPOP|RUIN_WRECK|RUIN_HOSTILE
|
||||
|
||||
/datum/map_template/ruin/exoplanet/abandoned_listening_post
|
||||
@@ -104,7 +104,7 @@
|
||||
sectors = list(SECTOR_TAU_CETI, SECTOR_ROMANOVICH, SECTOR_CORP_ZONE, SECTOR_VALLEY_HALE, SECTOR_BADLANDS)
|
||||
suffixes = list("asteroid/listening_post/listening_post_unique.dmm")
|
||||
|
||||
planet_types = list(PLANET_ASTEROID,PLANET_BARREN)
|
||||
planet_types = PLANET_ASTEROID|PLANET_BARREN
|
||||
ruin_tags = RUIN_LOWPOP|RUIN_HOSTILE
|
||||
|
||||
/datum/map_template/ruin/exoplanet/crashed_escape_pod_1
|
||||
@@ -117,7 +117,7 @@
|
||||
sectors = list(SECTOR_TAU_CETI, SECTOR_ROMANOVICH, SECTOR_CORP_ZONE, SECTOR_VALLEY_HALE, SECTOR_BADLANDS, SECTOR_NEW_ANKARA, SECTOR_AEMAQ)
|
||||
suffixes = list("asteroid/escape_pod/escape_pod_unique.dmm")
|
||||
|
||||
planet_types = list(PLANET_ASTEROID,PLANET_BARREN)
|
||||
planet_types = PLANET_ASTEROID|PLANET_BARREN
|
||||
ruin_tags = RUIN_LOWPOP|RUIN_WRECK|RUIN_HOSTILE
|
||||
|
||||
/datum/map_template/ruin/exoplanet/digsite
|
||||
@@ -130,7 +130,7 @@
|
||||
sectors = list(SECTOR_TAU_CETI, SECTOR_ROMANOVICH, SECTOR_CORP_ZONE, SECTOR_VALLEY_HALE, SECTOR_BADLANDS, SECTOR_NEW_ANKARA, SECTOR_AEMAQ)
|
||||
suffixes = list("asteroid/digsite/digsite_unique.dmm")
|
||||
|
||||
planet_types = list(PLANET_ASTEROID,PLANET_BARREN)
|
||||
planet_types = PLANET_ASTEROID|PLANET_BARREN
|
||||
ruin_tags = RUIN_LOWPOP|RUIN_SCIENCE
|
||||
|
||||
/datum/map_template/ruin/exoplanet/crashed_pod_1
|
||||
@@ -143,7 +143,7 @@
|
||||
sectors = list(SECTOR_TAU_CETI, SECTOR_ROMANOVICH, SECTOR_CORP_ZONE, SECTOR_VALLEY_HALE, SECTOR_BADLANDS, SECTOR_NEW_ANKARA, SECTOR_AEMAQ)
|
||||
suffixes = list("asteroid/crashed_pod/crashed_pod_unique.dmm")
|
||||
|
||||
planet_types = list(PLANET_ASTEROID)
|
||||
planet_types = PLANET_ASTEROID
|
||||
ruin_tags = RUIN_LOWPOP|RUIN_WRECK|RUIN_HOSTILE
|
||||
|
||||
/datum/map_template/ruin/exoplanet/crashed_coc_skipjack
|
||||
@@ -156,5 +156,5 @@
|
||||
sectors = list(SECTOR_TAU_CETI, SECTOR_ROMANOVICH, SECTOR_CORP_ZONE, SECTOR_VALLEY_HALE, SECTOR_BADLANDS)
|
||||
suffixes = list("asteroid/coc_ship/coc_ship_unique.dmm")
|
||||
|
||||
planet_types = list(PLANET_ASTEROID)
|
||||
planet_types = PLANET_ASTEROID
|
||||
ruin_tags = RUIN_LOWPOP|RUIN_WRECK|RUIN_HOSTILE
|
||||
|
||||
@@ -8,5 +8,5 @@
|
||||
sectors = list(SECTOR_TAU_CETI, SECTOR_ROMANOVICH, SECTOR_CORP_ZONE, SECTOR_VALLEY_HALE, SECTOR_BADLANDS)
|
||||
suffixes = list("desert/desert_oasis/desert_oasis.dmm")
|
||||
|
||||
planet_types = list(PLANET_DESERT)
|
||||
planet_types = PLANET_DESERT
|
||||
ruin_tags = RUIN_NATURAL
|
||||
|
||||
@@ -5,5 +5,5 @@
|
||||
spawn_cost = 1
|
||||
|
||||
/// See __defines/ruin_tags.dm
|
||||
var/list/planet_types = ALL_PLANET_TYPES
|
||||
var/planet_types = ALL_PLANET_TYPES
|
||||
var/ruin_tags = RUIN_ALL_TAGS
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
spawn_weight = 1
|
||||
spawn_cost = 0.5
|
||||
|
||||
planet_types = list(PLANET_DESERT, PLANET_GRASS, PLANET_GROVE, PLANET_SNOW)
|
||||
planet_types = PLANET_DESERT|PLANET_GRASS|PLANET_GROVE|PLANET_SNOW
|
||||
ruin_tags = RUIN_LOWPOP|RUIN_SCIENCE
|
||||
|
||||
/datum/map_template/ruin/exoplanet/crashsurvivors
|
||||
@@ -19,5 +19,5 @@
|
||||
sectors = list(SECTOR_TAU_CETI, SECTOR_ROMANOVICH, SECTOR_CORP_ZONE, SECTOR_VALLEY_HALE, SECTOR_BADLANDS)
|
||||
suffixes = list("grove/crashsurvivors/crashsurvivors.dmm")
|
||||
|
||||
planet_types = list(PLANET_GROVE)
|
||||
planet_types = PLANET_GROVE
|
||||
ruin_tags = RUIN_LOWPOP|RUIN_WRECK|RUIN_HOSTILE
|
||||
|
||||
Reference in New Issue
Block a user