Skip to content

Commit

Permalink
Ruin map template tags (#3077)
Browse files Browse the repository at this point in the history
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request
turns all the stuff in map_catalogue.txt into proper defines that can be
used soon

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game
this should come in useful for spawning ruins of certain qualities,
scanning a planet for information about them and other use cases.

<!-- Please add a short description of why you think these changes would
benefit the game. If you can't justify it in words, it might not be
worth adding. -->

## Changelog

:cl:
code: added ruin tags to ruin map templates to be used soon for stuff.
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
  • Loading branch information
FalloutFalcon authored Sep 20, 2024
1 parent 0638d3c commit 18631e7
Show file tree
Hide file tree
Showing 13 changed files with 92 additions and 239 deletions.
238 changes: 0 additions & 238 deletions _maps/map_catalogue.txt

This file was deleted.

49 changes: 49 additions & 0 deletions code/__DEFINES/ruins.dm
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,52 @@
return SSmapping.ruins_templates
else
return SSmapping.ruin_types_list[ruintype]

/*
Maps described in the catalogue must be described with at least one or more of the following tags.
*Loot Summary
Minor Loot = Has negligable/no loot at all, only contains fluff items or just the loot found from enemy drops or structures in the ruin.
Medium Loot = Has a pool of loot that is useful for the average player or ship, but not in large amounts, and does not have more than one or two boss drops.
Major Loot = Contains a large pool of loot useful to the average player or ship. Or includes more boss drops or necropolis loot than there are challenges for.
*/
#define RUIN_TAG_MINOR_LOOT "Minor Loot"
#define RUIN_TAG_MEDIUM_LOOT "Medium Loot"
#define RUIN_TAG_MAJOR_LOOT "Major Loot"

/*Combat Summary
No Combat = Contains no enemies or combat challenges.
Minor Combat Challenge = Has only 1-2 hit melee mobs in small or moderate amounts.
Medium Combat Challenge = Contains more than just simple low health melee mobs, or a moderate amount of mobs.
Boss Combat Challenge = Contains either one or more bossmobs, has a large number of mobs that are either overwhelming or considerably challenging, or has a significant combat challenge overall.
*/
#define RUIN_TAG_NO_COMBAT "No Combat"
#define RUIN_TAG_MINOR_COMBAT "Minor Combat Challenge"
#define RUIN_TAG_MEDIUM_COMBAT "Medium Combat Challenge"
#define RUIN_TAG_HARD_COMBAT "Hard Combat Challenge"
#define RUIN_TAG_BOSS_COMBAT "Boss Combat Challenge"


/*Qualities
Megafauna = Map contains one or more megafauna.
Antag Gear = Map contains one or more items typically only obtainable by antag roles.
Necropolis Loot = Map contains an item or chest from the necropolis loot pool.
Liveable = The entirety of the map is inhabitable without protective gear, and the map is not surrounded by an inhospitable environment.
Inhospitable = The majority of the map is uninhabitable without protective gear, and the map is not surrounded by a hospitable environment.
Shelter = The map contains a portion that is hospitable without protective gear, with a surrounding section that is inhospitable. Or the map is an enclosed hospitable space that spawns on an inhospitable planet.
Bad Shelter = The map contains a portion that is inhospitable without protective gear, with a surround section that is hospitable. Or the map is an enclosed inhospitable space that spawn on a hospitable planet.
No Content = A map that contains no objects. It contains only turfs, walls, and or areas.
Hazardous = Contains hazardous environment elements. Elements include but are not limited to: Mines, IEDs, Chasms appearing more than twice or more than once if one is 3x3 or more, disease spawns, beartraps.
Unknown Details = Something about the map can't be checked with a map editor alone, and has not been tested for confirmation yet.
Lava = Contains lava or liquid plasma tiles.
Ghost Role = Contains a ghost role.
*/
#define RUIN_TAG_MEGAFAUNA "Megafauna"
#define RUIN_TAG_LIVEABLE "Liveable"
#define RUIN_TAG_INHOSPITABLE "Inhospitable"
#define RUIN_TAG_SHELTER "Shelter"
#define RUIN_TAG_BAD_SHELTER "Bad Shelter"
#define RUIN_TAG_NO_CONTENT "No Content"
#define RUIN_TAG_HAZARDOUS "Hazardous"
#define RUIN_TAG_UNKNOWN_DETAILS "Unknown Details"
#define RUIN_TAG_LAVA "Lava"
1 change: 1 addition & 0 deletions code/datums/ruins.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
var/suffix = null

var/ruin_type
var/ruin_tags = list()

/datum/map_template/ruin/New()
if(!name && id)
Expand Down
7 changes: 7 additions & 0 deletions code/datums/ruins/beachplanet.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,39 +9,46 @@
id = "fishinghut"
description = "A small fishing hut floating on the ocean."
suffix = "beach_fishing_hut.dmm"
ruin_tags = list(RUIN_TAG_HARD_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_HAZARDOUS)

/datum/map_template/ruin/beachplanet/ancient
name = "Ancient Danger"
id = "beach_ancient"
description = "As you draw near the ancient wall, a sense of foreboding overcomes you. You aren't sure why, but you feel this dusty structure may contain great dangers."
suffix = "beach_ancient_ruin.dmm"
ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE)

/datum/map_template/ruin/beachplanet/town
name = "Beachside Town"
id = "beach_town"
description = "A fresh town on a lovely coast, where its inhabitants are is unknown."
suffix = "beach_ocean_town.dmm"
ruin_tags = list(RUIN_TAG_NO_COMBAT, RUIN_TAG_MINOR_LOOT, RUIN_TAG_LIVEABLE)

/datum/map_template/ruin/beachplanet/scrapvillage
name = "Pirate Village"
id = "beach_pirate"
description = "A small pirate outpost formed from the remains of a wrecked shuttle."
suffix = "beach_pirate_crash.dmm"
ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE)

/datum/map_template/ruin/beachplanet/treasurecove
name = "Treasure Cove"
id = "beach_treasure_cove"
description = "A abandoned colony. It seems that this colony was abandoned, for a reason or another"
suffix = "beach_treasure_cove.dmm"
ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE)

/datum/map_template/ruin/beachplanet/crashedengie
name = "Crashed Engineer Ship"
id = "beach_crashed_engineer"
description = "An abandoned camp built by a crashed engineer"
suffix = "beach_crashed_engineer.dmm"
ruin_tags = list(RUIN_TAG_MINOR_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_HAZARDOUS)

/datum/map_template/ruin/beachplanet/floatresort
name = "Floating Beach Resort"
id = "beach_float_resort"
description = "A hidden paradise on the beach"
suffix = "beach_float_resort.dmm"
ruin_tags = list(RUIN_TAG_NO_COMBAT, RUIN_TAG_MINOR_LOOT, RUIN_TAG_LIVEABLE)
4 changes: 4 additions & 0 deletions code/datums/ruins/icemoon.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,25 @@
id = "hydroponicslab"
description = "An abandoned hydroponics research facility containing hostile plant fauna."
suffix = "icemoon_hydroponics_lab.dmm"
ruin_tags = list(RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_SHELTER)

/datum/map_template/ruin/icemoon/abandonedvillage
name = "Abandoned Village"
id = "abandonedvillage"
description = "Who knows what lies within?"
suffix = "icemoon_underground_abandoned_village.dmm"
ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MINOR_LOOT, RUIN_TAG_INHOSPITABLE)

/datum/map_template/ruin/icemoon/brazillian_lab
name = "Barricaded Compound"
id = "brazillian-lab"
description = "A conspicuous compound in the middle of the cold wasteland. What goodies are inside?"
suffix = "icemoon_underground_brazillianlab.dmm"
ruin_tags = list(RUIN_TAG_BOSS_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_INHOSPITABLE)

/datum/map_template/ruin/icemoon/crashed_holemaker
name = "Crashed Holemaker"
id = "crashed_holemaker"
description = "Safety records for early Nanotrasen Spaceworks vessels were, and always have been, top of their class. Absolutely no multi-billion credit projects have been painstakingly erased from history. (Citation Needed)"
suffix = "icemoon_crashed_holemaker.dmm"
ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MINOR_LOOT, RUIN_TAG_SHELTER)
Loading

0 comments on commit 18631e7

Please sign in to comment.