update map

This commit is contained in:
bridge
2025-08-30 21:26:07 +08:00
parent 12bbfe9df5
commit 9ab71d1ac8
4 changed files with 50 additions and 51 deletions

View File

@@ -125,14 +125,18 @@ def _create_2x2_cities(game_map: Map):
if game_map.is_in_bounds(x, y): if game_map.is_in_bounds(x, y):
game_map.tiles[(x, y)].type = TileType.CITY game_map.tiles[(x, y)].type = TileType.CITY
def _create_2x2_caves(game_map: Map): def _create_2x2_wuxing_caves(game_map: Map):
"""创建2*2的洞穴区域""" """创建2*2的五行洞府区域"""
caves = [ # 五行洞府配置:金木水火土
{"name": "幽深洞府", "base_x": 35, "base_y": 5, "description": "冰原东部的神秘洞穴"}, wuxing_caves = [
{"name": "隐秘石窟", "base_x": 40, "base_y": 15, "description": "林海西部的古老石窟"} {"name": "太白金府", "base_x": 26, "base_y": 12, "element": EssenceType.GOLD, "description": "青峰山脉深处的金行洞府"},
{"name": "青木洞天", "base_x": 48, "base_y": 18, "element": EssenceType.WOOD, "description": "青云林海中的木行洞府"},
{"name": "玄水秘境", "base_x": 67, "base_y": 25, "element": EssenceType.WATER, "description": "无边碧海深处的水行洞府"},
{"name": "离火洞府", "base_x": 50, "base_y": 33, "element": EssenceType.FIRE, "description": "炎狱火山旁的火行洞府"},
{"name": "厚土玄宫", "base_x": 30, "base_y": 16, "element": EssenceType.EARTH, "description": "青峰山脉的土行洞府"}
] ]
for cave in caves: for cave in wuxing_caves:
base_x, base_y = cave["base_x"], cave["base_y"] base_x, base_y = cave["base_x"], cave["base_y"]
for dx in range(2): for dx in range(2):
@@ -186,8 +190,8 @@ def _add_other_terrains(game_map: Map):
# 创建2*2城市区域 # 创建2*2城市区域
_create_2x2_cities(game_map) _create_2x2_cities(game_map)
# 创建2*2洞穴区域 # 创建2*2五行洞府区域
_create_2x2_caves(game_map) _create_2x2_wuxing_caves(game_map)
# 创建2*2遗迹区域 # 创建2*2遗迹区域
_create_2x2_ruins(game_map) _create_2x2_ruins(game_map)
@@ -235,7 +239,7 @@ def _create_regions(game_map: Map):
# 南疆蛮荒 (雨林) # 南疆蛮荒 (雨林)
if TileType.RAINFOREST in terrain_coords: if TileType.RAINFOREST in terrain_coords:
essence = Essence({ essence = Essence({
EssenceType.WOOD: 9, EssenceType.WOOD: 8, # 木行主属性但低于洞府的10
EssenceType.WATER: 6, EssenceType.WATER: 6,
EssenceType.EARTH: 5, EssenceType.EARTH: 5,
EssenceType.FIRE: 3, EssenceType.FIRE: 3,
@@ -267,7 +271,7 @@ def _create_regions(game_map: Map):
# 无边碧海 (海洋) # 无边碧海 (海洋)
if TileType.SEA in terrain_coords: if TileType.SEA in terrain_coords:
essence = Essence({ essence = Essence({
EssenceType.WATER: 10, EssenceType.WATER: 8, # 水行主属性但低于洞府的10
EssenceType.GOLD: 4, EssenceType.GOLD: 4,
EssenceType.WOOD: 3, EssenceType.WOOD: 3,
EssenceType.EARTH: 2, EssenceType.EARTH: 2,
@@ -315,8 +319,8 @@ def _create_regions(game_map: Map):
# 万丈雪峰 (雪山) # 万丈雪峰 (雪山)
if TileType.SNOW_MOUNTAIN in terrain_coords: if TileType.SNOW_MOUNTAIN in terrain_coords:
essence = Essence({ essence = Essence({
EssenceType.WATER: 9, EssenceType.WATER: 7, # 水行主属性但低于洞府的10
EssenceType.GOLD: 8, EssenceType.GOLD: 6, # 金行次要但低于洞府的10
EssenceType.EARTH: 6, EssenceType.EARTH: 6,
EssenceType.FIRE: 1, EssenceType.FIRE: 1,
EssenceType.WOOD: 2 EssenceType.WOOD: 2
@@ -331,8 +335,8 @@ def _create_regions(game_map: Map):
# 碧野千里 (草原) # 碧野千里 (草原)
if TileType.GRASSLAND in terrain_coords: if TileType.GRASSLAND in terrain_coords:
essence = Essence({ essence = Essence({
EssenceType.WOOD: 6, EssenceType.WOOD: 5, # 木行属性适中
EssenceType.EARTH: 6, EssenceType.EARTH: 5, # 土行属性适中
EssenceType.WATER: 5, EssenceType.WATER: 5,
EssenceType.GOLD: 3, EssenceType.GOLD: 3,
EssenceType.FIRE: 4 EssenceType.FIRE: 4
@@ -347,8 +351,8 @@ def _create_regions(game_map: Map):
# 青云林海 (森林) # 青云林海 (森林)
if TileType.FOREST in terrain_coords: if TileType.FOREST in terrain_coords:
essence = Essence({ essence = Essence({
EssenceType.WOOD: 8, EssenceType.WOOD: 7, # 木行主属性但低于洞府的10
EssenceType.WATER: 5, EssenceType.WATER: 4,
EssenceType.EARTH: 4, EssenceType.EARTH: 4,
EssenceType.GOLD: 3, EssenceType.GOLD: 3,
EssenceType.FIRE: 3 EssenceType.FIRE: 3
@@ -363,7 +367,7 @@ def _create_regions(game_map: Map):
# 炎狱火山 (火山) # 炎狱火山 (火山)
if TileType.VOLCANO in terrain_coords: if TileType.VOLCANO in terrain_coords:
essence = Essence({ essence = Essence({
EssenceType.FIRE: 10, EssenceType.FIRE: 8, # 火行主属性但低于洞府的10
EssenceType.EARTH: 7, EssenceType.EARTH: 7,
EssenceType.GOLD: 4, EssenceType.GOLD: 4,
EssenceType.WATER: 1, EssenceType.WATER: 1,
@@ -378,7 +382,7 @@ def _create_regions(game_map: Map):
# 为每个2*2城市、洞穴和遗迹创建独立区域 # 为每个2*2城市、洞穴和遗迹创建独立区域
_create_city_regions(game_map) _create_city_regions(game_map)
_create_caves_regions(game_map) _create_wuxing_caves_regions(game_map)
_create_ruins_regions(game_map) _create_ruins_regions(game_map)
@@ -388,8 +392,8 @@ def _create_regions(game_map: Map):
# 沃土良田 (农田) # 沃土良田 (农田)
if TileType.FARM in terrain_coords: if TileType.FARM in terrain_coords:
essence = Essence({ essence = Essence({
EssenceType.WOOD: 7, EssenceType.WOOD: 6, # 木行属性较强
EssenceType.EARTH: 7, EssenceType.EARTH: 6, # 土行属性较强
EssenceType.WATER: 6, EssenceType.WATER: 6,
EssenceType.GOLD: 2, EssenceType.GOLD: 2,
EssenceType.FIRE: 3 EssenceType.FIRE: 3
@@ -420,8 +424,8 @@ def _create_regions(game_map: Map):
# 迷雾沼泽 (沼泽) # 迷雾沼泽 (沼泽)
if TileType.SWAMP in terrain_coords: if TileType.SWAMP in terrain_coords:
essence = Essence({ essence = Essence({
EssenceType.WATER: 7, EssenceType.WATER: 6, # 水行属性较强
EssenceType.WOOD: 6, EssenceType.WOOD: 5, # 木行属性适中
EssenceType.EARTH: 5, EssenceType.EARTH: 5,
EssenceType.FIRE: 2, EssenceType.FIRE: 2,
EssenceType.GOLD: 3 EssenceType.GOLD: 3
@@ -466,14 +470,22 @@ def _create_city_regions(game_map: Map):
city_coords city_coords
) )
def _create_caves_regions(game_map: Map): def _create_wuxing_caves_regions(game_map: Map):
"""为每个2*2洞穴创建独立区域""" """为每个2*2五行洞府创建独立区域"""
caves = [ wuxing_caves = [
{"name": "幽深洞", "base_x": 35, "base_y": 5, "description": "冰原东部的神秘洞穴,深幽莫测,寒气逼人。此地水行与土行灵气并重,常有前辈留下的传承。"}, {"name": "太白金", "base_x": 26, "base_y": 12, "element": EssenceType.GOLD,
{"name": "隐秘石窟", "base_x": 40, "base_y": 15, "description": "林海西部的古老石窟,木行与土行灵气交融,机缘与危险并存"} "description": "青峰山脉深处的金行洞府,金精气凝,刀剑鸣音不绝,乃金系修士的最高圣地"},
{"name": "青木洞天", "base_x": 48, "base_y": 18, "element": EssenceType.WOOD,
"description": "青云林海中的木行洞府,生机盎然,灵药遍地,乃木系修士的最高圣地。"},
{"name": "玄水秘境", "base_x": 67, "base_y": 25, "element": EssenceType.WATER,
"description": "无边碧海深处的水行洞府,碧波万里,水精凝神,乃水系修士的最高圣地。"},
{"name": "离火洞府", "base_x": 50, "base_y": 33, "element": EssenceType.FIRE,
"description": "炎狱火山旁的火行洞府,烈焰冲天,真火精纯,乃火系修士的最高圣地。"},
{"name": "厚土玄宫", "base_x": 30, "base_y": 16, "element": EssenceType.EARTH,
"description": "青峰山脉的土行洞府,厚德载物,山岳共鸣,乃土系修士的最高圣地。"}
] ]
for cave in caves: for cave in wuxing_caves:
base_x, base_y = cave["base_x"], cave["base_y"] base_x, base_y = cave["base_x"], cave["base_y"]
cave_coords = [] cave_coords = []
@@ -483,23 +495,11 @@ def _create_caves_regions(game_map: Map):
if game_map.is_in_bounds(x, y): if game_map.is_in_bounds(x, y):
cave_coords.append((x, y)) cave_coords.append((x, y))
# 根据洞穴位置调整灵气配置 # 每个洞府的主属性灵气为10最高值其他属性较低
if cave["name"] == "幽深洞府": # 冰原东部 essence_config = {essence_type: 2 for essence_type in EssenceType}
essence = Essence({ essence_config[cave["element"]] = 10 # 主属性达到最高值
EssenceType.WATER: 7,
EssenceType.EARTH: 6, essence = Essence(essence_config)
EssenceType.GOLD: 5,
EssenceType.FIRE: 2,
EssenceType.WOOD: 3
})
else: # 隐秘石窟,林海西部
essence = Essence({
EssenceType.WOOD: 7,
EssenceType.EARTH: 6,
EssenceType.WATER: 5,
EssenceType.GOLD: 4,
EssenceType.FIRE: 3
})
game_map.create_region( game_map.create_region(
cave["name"], cave["name"],

View File

@@ -14,7 +14,7 @@ from src.classes.essence import Essence, EssenceType
from src.classes.cultivation import CultivationProgress from src.classes.cultivation import CultivationProgress
from src.classes.root import Root from src.classes.root import Root
from src.classes.age import Age from src.classes.age import Age
from src.tools.create_map import create_cultivation_world_map from src.run.create_map import create_cultivation_world_map
from src.utils.names import get_random_name from src.utils.names import get_random_name

View File

@@ -14,12 +14,11 @@ def load_config():
Returns: Returns:
DictConfig: 合并后的配置对象 DictConfig: 合并后的配置对象
""" """
# 获取项目根目录 static_path = Path("static")
project_root = Path(__file__).parent.parent.parent
# 配置文件路径 # 配置文件路径
base_config_path = project_root / "config.yml" base_config_path = static_path / "config.yml"
local_config_path = project_root / "local_config.yml" local_config_path = static_path / "local_config.yml"
# 读取基础配置 # 读取基础配置
base_config = OmegaConf.create({}) base_config = OmegaConf.create({})