mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2025-12-31 12:41:46 +00:00
This commit adds a Procedural map generating system for code and admins to use ingame. The system is modular, which means that it is fairly easy to make new generating systems. Currently, only the 'nature' unsimulated system is implemented, as a testing verb for admins to use. Admins can define the starting XYZ and ending XYZ of the generated system. Players - This means you may see content that is truely random, in the future. Coders - This system allows you to randomize map elements. Writing new modules is documented at code/modules/procedural-mapping/mapGeneratorReadme.dm Detailed information about how the system works, and how it can be integrated is also avalible there. Admins - This system will allow you to, at the touch of a button, create very complex structures and turfs that would otherwise require being spawned in manually, one by one. The nature button is a fairly good example of this, with it's randomized grass textures, randomly placed trees, and randomly placed rocks. This would normally take a good 5 minutes to do, spawning the trees and rocks and turfs, but it takes about 20 seconds to enter the coordinates and have it be completely random.
229 lines
5.2 KiB
Plaintext
229 lines
5.2 KiB
Plaintext
//trees
|
|
/obj/structure/flora/tree
|
|
name = "tree"
|
|
anchored = 1
|
|
density = 1
|
|
pixel_x = -16
|
|
layer = 9
|
|
|
|
/obj/structure/flora/tree/pine
|
|
name = "pine tree"
|
|
icon = 'icons/obj/flora/pinetrees.dmi'
|
|
icon_state = "pine_1"
|
|
|
|
/obj/structure/flora/tree/pine/New()
|
|
..()
|
|
icon_state = "pine_[rand(1, 3)]"
|
|
|
|
/obj/structure/flora/tree/pine/xmas
|
|
name = "xmas tree"
|
|
icon = 'icons/obj/flora/pinetrees.dmi'
|
|
icon_state = "pine_c"
|
|
|
|
/obj/structure/flora/tree/pine/xmas/New()
|
|
..()
|
|
icon_state = "pine_c"
|
|
|
|
/obj/structure/flora/tree/dead
|
|
icon = 'icons/obj/flora/deadtrees.dmi'
|
|
icon_state = "tree_1"
|
|
|
|
/obj/structure/flora/tree/dead/New()
|
|
..()
|
|
icon_state = "tree_[rand(1, 6)]"
|
|
|
|
|
|
//grass
|
|
/obj/structure/flora/grass
|
|
name = "grass"
|
|
icon = 'icons/obj/flora/snowflora.dmi'
|
|
anchored = 1
|
|
|
|
/obj/structure/flora/grass/brown
|
|
icon_state = "snowgrass1bb"
|
|
|
|
/obj/structure/flora/grass/brown/New()
|
|
..()
|
|
icon_state = "snowgrass[rand(1, 3)]bb"
|
|
|
|
|
|
/obj/structure/flora/grass/green
|
|
icon_state = "snowgrass1gb"
|
|
|
|
/obj/structure/flora/grass/green/New()
|
|
..()
|
|
icon_state = "snowgrass[rand(1, 3)]gb"
|
|
|
|
/obj/structure/flora/grass/both
|
|
icon_state = "snowgrassall1"
|
|
|
|
/obj/structure/flora/grass/both/New()
|
|
..()
|
|
icon_state = "snowgrassall[rand(1, 3)]"
|
|
|
|
|
|
//bushes
|
|
/obj/structure/flora/bush
|
|
name = "bush"
|
|
icon = 'icons/obj/flora/snowflora.dmi'
|
|
icon_state = "snowbush1"
|
|
anchored = 1
|
|
|
|
/obj/structure/flora/bush/New()
|
|
..()
|
|
icon_state = "snowbush[rand(1, 6)]"
|
|
|
|
//newbushes
|
|
|
|
/obj/structure/flora/ausbushes
|
|
name = "bush"
|
|
icon = 'icons/obj/flora/ausflora.dmi'
|
|
icon_state = "firstbush_1"
|
|
anchored = 1
|
|
|
|
/obj/structure/flora/ausbushes/New()
|
|
..()
|
|
icon_state = "firstbush_[rand(1, 4)]"
|
|
|
|
/obj/structure/flora/ausbushes/reedbush
|
|
icon_state = "reedbush_1"
|
|
|
|
/obj/structure/flora/ausbushes/reedbush/New()
|
|
..()
|
|
icon_state = "reedbush_[rand(1, 4)]"
|
|
|
|
/obj/structure/flora/ausbushes/leafybush
|
|
icon_state = "leafybush_1"
|
|
|
|
/obj/structure/flora/ausbushes/leafybush/New()
|
|
..()
|
|
icon_state = "leafybush_[rand(1, 3)]"
|
|
|
|
/obj/structure/flora/ausbushes/palebush
|
|
icon_state = "palebush_1"
|
|
|
|
/obj/structure/flora/ausbushes/palebush/New()
|
|
..()
|
|
icon_state = "palebush_[rand(1, 4)]"
|
|
|
|
/obj/structure/flora/ausbushes/stalkybush
|
|
icon_state = "stalkybush_1"
|
|
|
|
/obj/structure/flora/ausbushes/stalkybush/New()
|
|
..()
|
|
icon_state = "stalkybush_[rand(1, 3)]"
|
|
|
|
/obj/structure/flora/ausbushes/grassybush
|
|
icon_state = "grassybush_1"
|
|
|
|
/obj/structure/flora/ausbushes/grassybush/New()
|
|
..()
|
|
icon_state = "grassybush_[rand(1, 4)]"
|
|
|
|
/obj/structure/flora/ausbushes/fernybush
|
|
icon_state = "fernybush_1"
|
|
|
|
/obj/structure/flora/ausbushes/fernybush/New()
|
|
..()
|
|
icon_state = "fernybush_[rand(1, 3)]"
|
|
|
|
/obj/structure/flora/ausbushes/sunnybush
|
|
icon_state = "sunnybush_1"
|
|
|
|
/obj/structure/flora/ausbushes/sunnybush/New()
|
|
..()
|
|
icon_state = "sunnybush_[rand(1, 3)]"
|
|
|
|
/obj/structure/flora/ausbushes/genericbush
|
|
icon_state = "genericbush_1"
|
|
|
|
/obj/structure/flora/ausbushes/genericbush/New()
|
|
..()
|
|
icon_state = "genericbush_[rand(1, 4)]"
|
|
|
|
/obj/structure/flora/ausbushes/pointybush
|
|
icon_state = "pointybush_1"
|
|
|
|
/obj/structure/flora/ausbushes/pointybush/New()
|
|
..()
|
|
icon_state = "pointybush_[rand(1, 4)]"
|
|
|
|
/obj/structure/flora/ausbushes/lavendergrass
|
|
icon_state = "lavendergrass_1"
|
|
|
|
/obj/structure/flora/ausbushes/lavendergrass/New()
|
|
..()
|
|
icon_state = "lavendergrass_[rand(1, 4)]"
|
|
|
|
/obj/structure/flora/ausbushes/ywflowers
|
|
icon_state = "ywflowers_1"
|
|
|
|
/obj/structure/flora/ausbushes/ywflowers/New()
|
|
..()
|
|
icon_state = "ywflowers_[rand(1, 3)]"
|
|
|
|
/obj/structure/flora/ausbushes/brflowers
|
|
icon_state = "brflowers_1"
|
|
|
|
/obj/structure/flora/ausbushes/brflowers/New()
|
|
..()
|
|
icon_state = "brflowers_[rand(1, 3)]"
|
|
|
|
/obj/structure/flora/ausbushes/ppflowers
|
|
icon_state = "ppflowers_1"
|
|
|
|
/obj/structure/flora/ausbushes/ppflowers/New()
|
|
..()
|
|
icon_state = "ppflowers_[rand(1, 4)]"
|
|
|
|
/obj/structure/flora/ausbushes/sparsegrass
|
|
icon_state = "sparsegrass_1"
|
|
|
|
/obj/structure/flora/ausbushes/sparsegrass/New()
|
|
..()
|
|
icon_state = "sparsegrass_[rand(1, 3)]"
|
|
|
|
/obj/structure/flora/ausbushes/fullgrass
|
|
icon_state = "fullgrass_1"
|
|
|
|
/obj/structure/flora/ausbushes/fullgrass/New()
|
|
..()
|
|
icon_state = "fullgrass_[rand(1, 3)]"
|
|
|
|
|
|
/obj/structure/flora/kirbyplants
|
|
name = "Potted plant"
|
|
icon = 'icons/obj/flora/plants.dmi'
|
|
icon_state = "plant-1"
|
|
anchored = 0
|
|
|
|
/obj/structure/flora/kirbyplants/New()
|
|
..()
|
|
icon_state = "plant-[rand(1,25)]"
|
|
|
|
/obj/structure/flora/kirbyplants/dead
|
|
name = "RD's potted plant"
|
|
desc = "A gift from the botanical staff, presented after the RD's reassignment. There's a tag on it that says \"Y'all come back now, y'hear?\"\nIt doesn't look very healthy..."
|
|
icon_state = "plant-25"
|
|
|
|
//a rock is flora according to where the icon file is
|
|
//and now these defines
|
|
/obj/structure/flora/rock
|
|
name = "rock"
|
|
desc = "a rock"
|
|
icon_state = "rock1"
|
|
icon = 'icons/obj/flora/rocks.dmi'
|
|
anchored = 1
|
|
|
|
/obj/structure/flora/rock/New()
|
|
..()
|
|
icon_state = "rock[rand(1,5)]"
|
|
|
|
/obj/structure/flora/rock/pile
|
|
name = "rocks"
|
|
desc = "some rocks"
|
|
icon_state = "rockpile1"
|
|
|
|
/obj/structure/flora/rock/pile/New()
|
|
..()
|
|
icon_state = "rockpile[rand(1,5)]" |