From 0197eaf1de08a56b5b39895069fbe605c3e4f052 Mon Sep 17 00:00:00 2001 From: FaceDeer Date: Sat, 25 Jan 2020 21:28:13 -0600 Subject: [PATCH] add namegen and named_waypoint support (#7) * initial pass at naming volcanoes * pull in some chat commands from settlements too * pulled hud code out into a separate library mod * add color to active volcanoes * settings * add option to disable HUD waypoints * add some more name components --- mod.conf | 6 ++-- settingtypes.txt | 8 ++++- sounds/license.txt | 1 + sounds/magma_conduits_chime01.ogg | Bin 0 -> 22441 bytes volcano_names.cfg | 19 ++++++++++++ volcanoes.lua | 49 ++++++++++++++++++++++++++++-- 6 files changed, 76 insertions(+), 7 deletions(-) create mode 100644 sounds/license.txt create mode 100644 sounds/magma_conduits_chime01.ogg create mode 100644 volcano_names.cfg diff --git a/mod.conf b/mod.conf index 14597f5..3e1330a 100644 --- a/mod.conf +++ b/mod.conf @@ -1,6 +1,4 @@ name = magma_conduits +description = Removes default mapgen lava and adds widely-spaced volcanoes and lava "veins". depends = default -optional_depends = intllib, doc -description = ''' -Removes default mapgen lava and adds widely-spaced volcanoes and lava "veins". -''' \ No newline at end of file +optional_depends = namegen, intllib, doc, map, named_waypoints \ No newline at end of file diff --git a/settingtypes.txt b/settingtypes.txt index 423cd66..f695458 100644 --- a/settingtypes.txt +++ b/settingtypes.txt @@ -40,4 +40,10 @@ magma_conduits_volcano_magma_chamber_radius_multiplier (Magma chamber radius mul magma_conduits_volcano_probability_active (Probability of active volcano in region) float 0.3 magma_conduits_volcano_probability_dormant (Probability of dormant volcano in region) float 0.15 -magma_conduits_volcano_probability_extinct (Probability of extinct volcano in region) float 0.15 \ No newline at end of file +magma_conduits_volcano_probability_extinct (Probability of extinct volcano in region) float 0.15 + +[Volcano HUD waypoints] +magma_conduits_show_volcanoes_in_hud (Show volcanoes in HUD) bool true +magma_conduits_hud_requires_mapping_kit (Require mapping kit to show in HUD) bool true +magma_conduits_volcano_discovery_range (Volcano discovery range) int 60 +magma_conduits_volcano_visibility_range (Volcano HUD visibility range) int 1000 \ No newline at end of file diff --git a/sounds/license.txt b/sounds/license.txt new file mode 100644 index 0000000..103943d --- /dev/null +++ b/sounds/license.txt @@ -0,0 +1 @@ +magma_conduits_chime01.ogg is from https://freesound.org/people/Andromadax24/sounds/186719/ by Andromadax24 under the CC-BY-3.0 license \ No newline at end of file diff --git a/sounds/magma_conduits_chime01.ogg b/sounds/magma_conduits_chime01.ogg new file mode 100644 index 0000000000000000000000000000000000000000..aa3bb943fe6e19d0383d8748ce76965cac43cca5 GIT binary patch literal 22441 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 Zeh4S{bl{{%ZrtF9=}AsxPn;BSJPAVNpOF9n literal 0 HcmV?d00001 diff --git a/volcano_names.cfg b/volcano_names.cfg new file mode 100644 index 0000000..d5dfd98 --- /dev/null +++ b/volcano_names.cfg @@ -0,0 +1,19 @@ +name "active_volcano" { + syllablesStart = "Fire, Smolder, Grey, Ash, Pyre, Ember, Forge, Crack, Earth, Stone, Boulder, Sulphur, Mist, Cloud, Tomb, Inferno, Gout, Gyre, Storm, Sulphur, Sour, Vapor, Miasma, Steam, Trickle, Scorch, Dragon, Drake, Smog, Salamander, Phoenix, Wyrm, Hydra, Wyvern, Diamond, Ruby, Obsidian, Black, White" + + syllablesEnd = "forge, mouth, heap, cone, pit, vent, horn, well, crack, split, mass, horn, scar, wall, well, rock, tumble, shard, scar, nest, gate, portal, plume, burn, scorch, drake" + + syllablesPost = "Peak, Crag, Spire, Mountain, Tor, Ridge, Dome, Mound, Palisade, Volcano, Apex" + + rules = "Mount_$s$e, $s$e_$90p, 10%$s_$p" +} + +name "inactive_volcano" { + syllablesStart = "Bird, Baker, Ball, Aurora, Aerie, Bishop, Block, Blue, Grey, Cave, Caribou, Cole, Cirrus, Copper, Cougar, Crow, Eagle, Fable, Fiddle, Finger, Fox, Gloria, Gold, Gordon, Heart, Goat, Kent, Red, Ring, Rose, Rundle, Shark, Scarab, Smut, Snow, South, North, East, West, Stone, Storm, Sulphur, Cloud, Temple, Tomb, Terra, Tower, Tunnel, Twin, Turtle, Trap, War, Wedge, Wind, Wonder, Cirrus, Loft, Shard, Splinter, Block, Wedge, Rubble, Sheep, Heaven, Upper, Low, Flat, Tall, Ever, Never, Force, Cold, Ice, Spike, Anvil, Hammer, Black, White, Obsidian" + + syllablesEnd = "wood, ston, ton, land, lets, wall, well, foot, nest, en, view, hood, arch, met, meet, horn, holm, scraper, swept, shard, scar, loft, rock, stone, slab, spike, spine, wedge, fold, crack, spit, anvil, hammer," + + syllablesPost = "Peak, Crag, Spire, Mountain, Tor, Ridge, Dome, Mound, Palisade, Apex" + + rules = "Mount_$s$80e, $s$e_$90p, 20%$s_$p" +} \ No newline at end of file diff --git a/volcanoes.lua b/volcanoes.lua index c4ca12c..a09826f 100644 --- a/volcanoes.lua +++ b/volcanoes.lua @@ -7,6 +7,28 @@ local modpath = minetest.get_modpath(minetest.get_current_modname()) dofile(modpath .. "/volcano_lava.lua") -- https://github.com/minetest/minetest/issues/7864, https://github.com/minetest/minetest/issues/7878 +local S, NS = dofile(modpath.."/intllib.lua") + +local named_waypoints_modpath = minetest.get_modpath("named_waypoints") +if named_waypoints_modpath then + local volcano_waypoint_def = { + default_name = S("a volcano"), + default_color = 0xFFFFFF, + discovery_volume_radius = tonumber(minetest.settings:get("magma_conduits_volcano_discovery_range")) or 60, + } + if minetest.settings:get_bool("magma_conduits_hud_requires_mapping_kit", true) + and minetest.registered_items["map:mapping_kit"] then + volcano_waypoint_def.visibility_requires_item = "map:mapping_kit" + end + + if minetest.settings:get_bool("magma_conduits_show_volcanoes_in_hud", true) then + volcano_waypoint_def.visibility_volume_radius = tonumber(minetest.settings:get("magma_conduits_volcano_visibility_range")) or 1000 + volcano_waypoint_def.on_discovery = named_waypoints.default_discovery_popup + end + named_waypoints.register_named_waypoints("volcanoes", volcano_waypoint_def) +end + + local depth_root = magma_conduits.config.volcano_min_depth local depth_base = -50 -- point where the mountain root starts expanding local depth_maxwidth = -30 -- point of maximum width @@ -94,6 +116,12 @@ local get_corner = function(pos) return {x = math.floor((pos.x+32) / volcano_region_size) * volcano_region_size - 32, z = math.floor((pos.z+32) / volcano_region_size) * volcano_region_size - 32} end + +local namegen_path = minetest.get_modpath("namegen") +if namegen_path then + namegen.parse_lines(io.lines(modpath.."/volcano_names.cfg")) +end + local get_volcano = function(pos) local corner_xz = get_corner(pos) local next_seed = math.random(1, 1000000000) @@ -104,20 +132,36 @@ local get_volcano = function(pos) math.randomseed(next_seed) return nil end - + + local name + local color local location = scatter_2d(corner_xz, volcano_region_size, radius_cone_max) local depth_peak = math.random(depth_minpeak, depth_maxpeak) local depth_lava if state < state_extinct then depth_lava = - math.random(1, math.abs(depth_root)) -- extinct, put the lava somewhere deep. + if namegen_path then + name = namegen.generate("inactive_volcano") + end elseif state < state_dormant then depth_lava = depth_peak - math.random(5, 50) -- dormant + if namegen_path then + name = namegen.generate("inactive_volcano") + end else depth_lava = depth_peak - math.random(1, 25) -- active, put the lava near the top + if namegen_path then + name = namegen.generate("active_volcano") + end + color = 0xFF7F00 -- orange end local slope = math.random() * (slope_max - slope_min) + slope_min local caldera = math.random() * (caldera_max - caldera_min) + caldera_min - + + if named_waypoints_modpath then + named_waypoints.add_waypoint("volcanoes", {x=location.x, y=depth_peak, z=location.z}, {name=name, color=color}) + end + math.randomseed(next_seed) return {location = location, depth_peak = depth_peak, depth_lava = depth_lava, slope = slope, state = state, caldera = caldera} end @@ -411,3 +455,4 @@ minetest.register_chatcommand("findvolcano", { end end, }) +