update map

This commit is contained in:
bridge
2025-10-08 22:51:49 +08:00
parent a7e2de6783
commit 524844bf0f
10 changed files with 234 additions and 83 deletions

View File

@@ -26,7 +26,7 @@ class Talk(InstantAction):
# Talk 本身不做长期效果,主要在 step 中驱动 Conversation
return
def can_start(self) -> bool:
def can_start(self, **kwargs) -> bool:
# 感知范围内是否存在其他NPC用于展示在动作空间
return len(self._get_observed_others()) > 0

View File

@@ -28,6 +28,7 @@ from src.utils.config import CONFIG
from src.classes.relation import Relation, get_reciprocal
from src.run.log import get_logger
from src.classes.alignment import Alignment
from src.classes.sect import Sect
persona_num = CONFIG.avatar.persona_num
@@ -77,7 +78,9 @@ class Avatar:
hp: HP = field(default_factory=lambda: HP(0, 0)) # 将在__post_init__中初始化
mp: MP = field(default_factory=lambda: MP(0, 0)) # 将在__post_init__中初始化
relations: dict["Avatar", Relation] = field(default_factory=dict)
alignment: Alignment = field(default_factory=lambda: random.choice(list(Alignment)))
alignment: Alignment | None = None
# 所属宗门(可为空,表示散修/无门无派)
sect: Sect | None = None
# 当月/当步新设动作标记:在 commit_next_plan 设为 True首次 tick_action 后清为 False
_new_action_set_this_step: bool = False
@@ -103,6 +106,14 @@ class Avatar:
if self.technique is None:
self.technique = get_random_technique_for_avatar(self)
# 若未设定阵营,则依据宗门/无门无派规则设置,避免后续为 None
if self.alignment is None:
if self.sect is not None:
self.alignment = self.sect.alignment
else:
from src.classes.alignment import Alignment as _Alignment
self.alignment = random.choice(list(_Alignment))
def __hash__(self) -> int:
return hash(self.id)
@@ -113,7 +124,8 @@ class Avatar:
"""
personas_str = ", ".join([persona.name for persona in self.personas])
technique_str = self.technique.name if self.technique is not None else ""
return f"Avatar(id={self.id}, 性别={self.gender}, 年龄={self.age}, name={self.name}, 阵营={self.alignment.get_info()}, 区域={self.tile.region.name}, 灵根={str(self.root)}, 功法={technique_str}, 境界={self.cultivation_progress}, HP={self.hp}, MP={self.mp}, 个性={personas_str})"
sect_str = self.get_sect_str()
return f"Avatar(id={self.id}, 性别={self.gender}, 年龄={self.age}, name={self.name}, 宗门={sect_str}, 阵营={self.alignment.get_info()}, 区域={self.tile.region.name}, 灵根={str(self.root)}, 功法={technique_str}, 境界={self.cultivation_progress}, HP={self.hp}, MP={self.mp}, 个性={personas_str})"
def __str__(self) -> str:
return self.get_info()
@@ -397,6 +409,13 @@ class Avatar:
# 关系摘要
relations_summary = self._get_relations_summary_str()
# 宗门信息
sect_name = self.get_sect_str()
if self.sect is not None:
sect_info = f"宗门信息:{sect_name},风格:{self.sect.member_act_style}"
else:
sect_info = f"宗门信息:{sect_name}"
# 历史事件摘要
if self.history_events:
history_lines = "".join([str(e) for e in self.history_events[-8:]])
@@ -404,7 +423,66 @@ class Avatar:
else:
history_info = "历史事件:无"
return f"{info}\n{personas_info}\n{magic_stone_info}\n{items_info}\n{history_info}\n关系:{relations_summary}\n{co_region_info}\n该角色的目前合法动作为:{action_space}"
return f"{info}\n{sect_info}\n{personas_info}\n{magic_stone_info}\n{items_info}\n{history_info}\n关系:{relations_summary}\n{co_region_info}\n该角色的目前合法动作为:{action_space}"
def get_hover_info(self) -> list[str]:
"""
返回用于前端悬浮提示的多行信息。
"""
lines: list[str] = [
f"{self.name}",
f"性别: {self.gender}",
f"年龄: {self.age}",
f"阵营: {self.alignment}",
f"境界: {str(self.cultivation_progress)}",
f"HP: {self.hp}",
f"MP: {self.mp}",
]
lines.append(f"宗门: {self.get_sect_str()}")
from src.classes.root import format_root_cn
lines.append(f"灵根: {format_root_cn(self.root)}")
if self.technique is not None:
lines.append(f"功法: {self.technique.name}{self.technique.attribute}·{self.technique.grade.value}")
else:
lines.append("功法: 无")
if self.personas:
lines.append(f"个性: {', '.join([persona.name for persona in self.personas])}")
lines.append(f"位置: ({self.pos_x}, {self.pos_y})")
lines.append(f"灵石: {str(self.magic_stone)}")
if self.items:
lines.append("物品:")
for item, quantity in self.items.items():
lines.append(f" {item.name} x{quantity}")
else:
lines.append("")
lines.append("物品: 无")
if self.thinking:
lines.append("")
lines.append("思考:")
from src.utils.text_wrap import wrap_text
lines.extend(wrap_text(self.thinking, 28))
if getattr(self, "objective", None):
lines.append("")
lines.append("目标:")
from src.utils.text_wrap import wrap_text
lines.extend(wrap_text(self.objective, 28))
# 关系信息
lines.append("")
relations_list = [f"{other.name}({str(relation)})" for other, relation in getattr(self, "relations", {}).items()]
if relations_list:
lines.append("关系:")
for s in relations_list[:6]:
lines.append(f" {s}")
else:
lines.append("关系: 无")
return lines
def get_sect_str(self) -> str:
"""
获取宗门显示名:有宗门则返回宗门名,否则返回"散修"
"""
return self.sect.name if self.sect is not None else "散修"
def set_relation(self, other: "Avatar", relation: Relation) -> None:
"""

View File

@@ -158,6 +158,16 @@ class Region(ABC):
"""返回区域类型的字符串表示"""
pass
def get_hover_info(self) -> list[str]:
"""
返回用于前端悬浮提示的多行信息(基础信息)。
子类可扩展更多领域信息。
"""
return [
f"区域: {self.name}",
f"描述: {self.desc}",
]
class Shape(Enum):
"""
@@ -235,6 +245,17 @@ class NormalRegion(Region):
species_info = self.get_species_info()
return f"普通区域:{self.name} - {self.desc} | 物种分布:{species_info}"
def get_hover_info(self) -> list[str]:
lines = super().get_hover_info()
species_info = self.get_species_info()
if species_info and species_info != "暂无特色物种":
lines.append("物种分布:")
for species in species_info.split("; "):
lines.append(f" {species}")
else:
lines.append("物种分布: 暂无特色物种")
return lines
@property
def is_huntable(self) -> bool:
# 如果该区域有动物,则可以狩猎
@@ -270,6 +291,12 @@ class CultivateRegion(Region):
def __str__(self) -> str:
return f"修炼区域:{self.name}{self.essence_type}行灵气:{self.essence_density}- {self.desc}"
def get_hover_info(self) -> list[str]:
lines = super().get_hover_info()
stars = "" * self.essence_density + "" * (10 - self.essence_density)
lines.append(f"主要灵气: {self.essence_type} {stars}")
return lines
@dataclass
class CityRegion(Region):
@@ -283,6 +310,10 @@ class CityRegion(Region):
def __str__(self) -> str:
return f"城市区域:{self.name} - {self.desc}"
def get_hover_info(self) -> list[str]:
# 城市区域暂时仅展示基础信息
return super().get_hover_info()
T = TypeVar('T', NormalRegion, CultivateRegion, CityRegion)

View File

@@ -13,6 +13,7 @@ class SectHeadQuarter:
宗门总部
"""
name: str
desc: str
image: Path
@dataclass
@@ -26,7 +27,8 @@ class Sect:
member_act_style: str
alignment: Alignment
sect_surnames: list[str]
sect_given_names: list[str]
male_sect_given_names: list[str]
female_sect_given_names: list[str]
headquarter: SectHeadQuarter
# 功法在technique.csv中配置
# TODO法宝
@@ -47,16 +49,23 @@ def _load_sects() -> tuple[dict[int, Sect], dict[str, Sect]]:
assets_base = Path("assets/sects")
for _, row in df.iterrows():
image_path = assets_base / f"{row['name']}.png"
male_given_names = _split_names(row["male_sect_given_names"])
female_given_names = _split_names(row["female_sect_given_names"])
sect = Sect(
id=int(row["id"]),
name=str(row["name"]),
desc=str(row["desc"]),
member_act_style=str(row["member_act_style"]),
alignment=Alignment.from_str(row.get("alignment", "")),
sect_surnames=_split_names(row.get("sect_surnames", "")),
sect_given_names=_split_names(row.get("sect_given_names", "")),
headquarter=SectHeadQuarter(name=str(row["name"]), image=image_path),
alignment=Alignment.from_str(row["alignment"]),
sect_surnames=_split_names(row["sect_surnames"]),
male_sect_given_names=male_given_names,
female_sect_given_names=female_given_names,
headquarter=SectHeadQuarter(
name=(str(row["headquarter_name"]) if str(row["headquarter_name"]).strip() else str(row["name"])),
desc=str(row["headquarter_desc"]),
image=image_path,
),
)
sects_by_id[sect.id] = sect
sects_by_name[sect.name] = sect

View File

@@ -2,9 +2,9 @@ import math
from typing import List, Optional, Tuple, Callable
from src.classes.avatar import Avatar, Gender
from src.classes.tile import TileType
from src.utils.text_wrap import wrap_text
from src.classes.relation import Relation
from src.classes.root import format_root_cn
from src.utils.text_wrap import wrap_text
# 顶部状态栏高度(像素)
STATUS_BAR_HEIGHT = 32
@@ -207,70 +207,16 @@ def draw_tooltip(pygame_mod, screen, colors, lines: List[str], mouse_x: int, mou
def draw_tooltip_for_avatar(pygame_mod, screen, colors, font, avatar: Avatar):
lines = [
f"{avatar.name}",
f"性别: {avatar.gender}",
f"年龄: {avatar.age}",
f"阵营: {avatar.alignment}",
f"境界: {str(avatar.cultivation_progress)}",
f"HP: {avatar.hp}",
f"MP: {avatar.mp}",
f"灵根: {format_root_cn(avatar.root)}",
f"功法: {avatar.technique.name}{avatar.technique.attribute}·{avatar.technique.grade.value}",
f"个性: {', '.join([persona.name for persona in avatar.personas])}",
f"位置: ({avatar.pos_x}, {avatar.pos_y})",
]
lines.append(f"灵石: {str(avatar.magic_stone)}")
if avatar.items:
lines.append("物品:")
for item, quantity in avatar.items.items():
lines.append(f" {item.name} x{quantity}")
else:
lines.append("")
lines.append("物品: 无")
if avatar.thinking:
lines.append("")
lines.append("思考:")
thinking_lines = wrap_text(avatar.thinking, 28)
lines.extend(thinking_lines)
if getattr(avatar, "objective", None):
lines.append("")
lines.append("目标:")
objective_lines = wrap_text(avatar.objective, 28)
lines.extend(objective_lines)
# 关系信息
relations_list = [f"{other.name}({str(relation)})" for other, relation in getattr(avatar, "relations", {}).items()]
lines.append("")
if relations_list:
lines.append("关系:")
for s in relations_list[:6]:
lines.append(f" {s}")
else:
lines.append("关系: 无")
# 改为从 Avatar.get_hover_info 获取信息行,避免前端重复拼接
lines = avatar.get_hover_info()
draw_tooltip(pygame_mod, screen, colors, lines, *pygame_mod.mouse.get_pos(), font, min_width=260)
def draw_tooltip_for_region(pygame_mod, screen, colors, font, region, mouse_x: int, mouse_y: int):
if region is None:
return
lines = [
f"区域: {region.name}",
f"描述: {region.desc}",
]
from src.classes.region import CultivateRegion, NormalRegion
if isinstance(region, CultivateRegion):
stars = "" * region.essence_density + "" * (10 - region.essence_density)
lines.append(f"主要灵气: {region.essence_type} {stars}")
elif isinstance(region, NormalRegion):
species_info = region.get_species_info()
if species_info and species_info != "暂无特色物种":
lines.append("物种分布:")
for species in species_info.split("; "):
lines.append(f" {species}")
else:
lines.append("物种分布: 暂无特色物种")
# 改为调用 region.get_hover_info()
lines = region.get_hover_info()
draw_tooltip(pygame_mod, screen, colors, lines, mouse_x, mouse_y, font)

View File

@@ -19,9 +19,11 @@ from src.classes.cultivation import CultivationProgress
from src.classes.root import Root
from src.classes.age import Age
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, get_random_name_for_sect
from src.utils.id_generator import get_avatar_id
from src.utils.config import CONFIG
from src.classes.sect import sects_by_id
from src.classes.alignment import Alignment
from src.run.log import get_logger
from src.classes.relation import Relation
@@ -46,14 +48,33 @@ def random_gender() -> Gender:
def make_avatars(world: World, count: int = 12, current_month_stamp: MonthStamp = MonthStamp(100 * 12)) -> dict[str, Avatar]:
avatars: dict[str, Avatar] = {}
width, height = world.map.width, world.map.height
# 依据配置决定宗门人数占比:当 init_npc_num > sect_num 时启用宗门逻辑
num_total = int(count)
max_sects = int(getattr(CONFIG.game, "sect_num", 0) or 0)
use_sects = num_total > max_sects and max_sects > 0
# 约 2/3 为宗门弟子1/3 为散修
sect_member_target = int(num_total * 2 / 3) if use_sects else 0
# 随机抽取启用的宗门列表
enabled_sects = list(sects_by_id.values())
random.shuffle(enabled_sects)
enabled_sects = enabled_sects[:max_sects] if use_sects else []
# 循环均匀分配宗门成员(轮询宗门)
sect_assign_index = 0
sect_member_count = 0
for i in range(count):
# 随机生成年龄范围从16到60岁
age_years = random.randint(16, 60)
# 根据当前时间戳和年龄计算出生时间戳
birth_month_stamp = current_month_stamp - age_years * 12 + random.randint(0, 11) # 在出生年内随机选择月份
gender = random_gender()
# 使用仙侠风格的随机名字
name = get_random_name(gender)
# 分配宗门或散修
assigned_sect = None
if use_sects and sect_member_count < sect_member_target and enabled_sects:
assigned_sect = enabled_sects[sect_assign_index % len(enabled_sects)]
sect_assign_index += 1
sect_member_count += 1
# 根据宗门生成姓名
name = get_random_name_for_sect(gender, assigned_sect)
# 随机生成level范围从0到120对应四个大境界
level = random.randint(0, 120)
@@ -83,8 +104,12 @@ def make_avatars(world: World, count: int = 12, current_month_stamp: MonthStamp
pos_x=x,
pos_y=y,
root=random.choice(list(Root)), # 随机选择灵根
sect=assigned_sect,
)
avatar.tile = world.map.get_tile(x, y)
# 依据宗门设定阵营(若有宗门则与宗门阵营一致,否则保留默认随机)
if assigned_sect is not None:
avatar.alignment = assigned_sect.alignment
avatars[avatar.id] = avatar
# # —— 为演示添加少量示例关系 ——
avatar_list = list(avatars.values())

View File

@@ -1,5 +1,7 @@
import random
from typing import Optional
from src.classes.avatar import Gender
from src.classes.sect import Sect
"""
仙侠风格姓名数据库
@@ -65,4 +67,18 @@ def get_random_name(gender: Gender) -> str:
if gender == Gender.MALE:
return get_random_male_name()
else:
return get_random_female_name()
return get_random_female_name()
def get_random_name_for_sect(gender: Gender, sect: Optional[Sect]) -> str:
"""
基于宗门生成姓名:优先使用宗门常见姓与性别对应名,若缺失则回退到全局库。
"""
if sect is None:
return get_random_name(gender)
surnames = sect.sect_surnames or SURNAMES
if gender == Gender.MALE:
given_pool = sect.male_sect_given_names or MALE_GIVEN_NAMES
else:
given_pool = sect.female_sect_given_names or FEMALE_GIVEN_NAMES
return random.choice(surnames) + random.choice(given_pool)

View File

@@ -15,6 +15,7 @@ ai:
game:
init_npc_num: 6
sect_num: 2 # init_npc_num大于sect_num时会随机选择sect_num个宗门
npc_birth_rate_per_month: 0.001
df:

View File

@@ -1,11 +1,11 @@
id,name,desc,member_act_style,alignment,sect_surnames,sect_given_names
,,宗门名称与描述,宗门成员行事风格,阵营(正/中/邪),宗门常用姓氏(分号分隔),宗门常用名(分号分隔)
1,明心剑宗,以剑证道,清明克己,行止如一。重剑与心法并重,讲究明心见性。,,明;心;剑;云;白;飞;清;凌;顾;林,清风;明远;问心;凌霄;止水;无尘;素心;明照;心远;雪凝
2,百兽宗,崇尚血脉与搏杀,习驭兽与变身之术,体魄强横。,你是百兽宗弟子。你言语直接,重视力量与血性,崇尚狩猎与搏斗。,,百;熊;虎;狼;猿;牛;白;石;嵩;岳,虎魄;狼行;熊罡;白猿;石坚;山岚;青鬃;玄爪;金瞳;赤鬃
3,水镜宗,以水化镜,以镜照心,术法多幻与反制,攻守如流,你是水镜宗弟子。你处事冷静圆融,喜以柔克刚,擅借力与反制。,,水;镜;寒;霜;冰;清;沐;阮;顾;白,月;照心;寒影;秋水;轻漪;雪落;如镜;寒江;青荷;凝霜
4,冥王宗,行走幽冥之道,以冥焰镇压亡魂,术法阴冷狠厉。,你是冥王宗弟子。你言辞冷厉少情,敬畏因果而不惧杀伐,偏向效率与结果。,,冥;王;玄;幽;夜;白;江;冷;燕;楚,冥焰;噬魂;夜阙;幽垣;玄骨;寒魄;冥狱;魇息;影灭;夜行
5,朱勾宗,以血炼骨,勾魂摄魄,擅用血煞与禁术,代价与力量并存,你是朱勾宗弟子。你直面欲望与代价,不惧黑暗,以攻伐见长。,,朱;勾;血;狱;秦;韩;燕;赵;魏;楚,血手;勾魂;朱砂;赤狱;凝血;摄魄;夺心;吞灵;渊渟;夜烬
6,合欢宗,以情入道,双修与魅术并重,善驭人心,长于权变。,你是合欢宗弟子。你辞令婉转,善于拿捏人欲与局势,以柔制刚。,,合;欢;苏;陆;柳;花;月;楚;顾;白,婉心;轻柔;疏影;流烟;如梦;绮念;月华;惜香;慕雪;倾城
7,镇魂宗,以镇魂钟摄百魂,擅安魂、封邪、渡厄,兼有刚烈镇压之术。,你是镇魂宗弟子。你肃穆沉稳,重安魂镇邪,少言而果决。,,镇;魂;钟;青;凌;白;楚;顾;林;云,镇灵;定魄;钟离;安魂;肃霜;白岭;清钟;涤秽;正鸣;宁川
8,幽魂噬影宗,影遁噬魂,袭取魄光于无形,偏好奇袭与暗杀之道,你是幽魂噬影宗弟子。你行事隐秘果断,重结果轻虚名,擅潜行与出其不意。,,幽;魂;噬;影;夜;冷;白;江;玄;楚,噬影;隐魄;夜藏;无相;玄影;摄魂;遁形;寒星;绝响;空痕
9,千帆城,商旅云集的修真大城,亦有自成体系的城主与护城修士,你是千帆城修士。你务实精明,重交易与信誉,崇尚规则与秩序。,,商;楚;顾;白;苏;林;叶;秦;赵;魏,商行;持衡;清评;问价;立契;通衡;问道;理市;衡准;守约
id,name,desc,headquarter_name,headquarter_desc,member_act_style,alignment,sect_surnames,male_sect_given_names,female_sect_given_names
,,宗门名称与描述,驻地名称,驻地描述,宗门成员行事风格,阵营(正/中/邪),宗门常用姓氏(分号分隔),男性常用名(分号分隔),女性常用名(分号分隔)
1,明心剑宗,通玄界东方第一宗,以无上剑道称雄于世。云纹禁制为不传心法。,连霞山,连霞山坐忘峰下,是名门仙山的主峰。山上设有弟子修炼之地,环境清幽。,清明克己,行止如一。重剑与心法并重,讲究明心见性。,,明;灵;清,阁;松;德;吉;明和;澜;彦;珣;智;海;灵泉,如;玑;碧;清霁;素心;明珑;玄音;澄如;玉衡
2,百兽宗,以驯养灵兽闻名,豢养各种妖兽灵怪为战力。,玄灵洞,玄灵洞位于十万大山深处,洞府依托一座千丈高的灵山开凿而成,洞口宽达百丈,形似猛兽张口。洞内纵横交错,共有九十九层洞天,每层都驯养着不同品阶的灵兽妖兽。,你是百兽宗弟子。你言语直接,重视力量与血性,崇尚狩猎与搏斗。,,,驼王;飞熊;虎魄;狼行;熊罡;白猿;石坚;山岚;青鬃;玄爪,狐绮;白貂;青翎;雪牙;赤羽;玄狸;灵爪;月狐
3,水镜宗,正道十宗之一,实则严守中立。拥有仙界异宝"彻天水镜"可预知未来。,碧波湖,水镜宗建于碧波湖心的三座仙岛之上,湖水清澈如镜,终年波澜不兴。三岛之间以水晶长桥相连,宫殿楼阁皆为水晶琉璃所筑,通体透明,倒映湖中,虚实难辨,你是水镜宗弟子。你处事冷静圆融,喜以柔克刚,擅借力与反制。,,水;镜;颜;玉;寒;霜;冰;清;沐;阮,岚;照心;寒江,月;映月;寒影;秋水;轻漪;雪落;如镜;青荷;凝霜
4,冥王宗,行走幽冥之道,术法阴冷狠厉。,七鬼角,冥王宗位于七鬼角群岛上,宗门四面临海,周围暗礁密布,巨浪狂潮起落之间,在暗礁周围生成无数令人望而生畏的暗流漩涡。群岛周围千万年来投入了多少凶魂厉鬼,海浪起啸之时,万鬼齐哭,遮天蔽日。,你是冥王宗弟子。你言辞冷厉少情,敬畏因果而不惧杀伐,偏向效率与结果。,,宋;元;冥;王;玄;幽;夜;白;江;冷,元敕;元难;元烁;冥焰;噬魂;夜阙;幽垣;玄骨;寒魄;冥狱;影灭;夜行,冥霜;幽绫;夜珑;寒鸢;阎铃;魇瑶;玄魄;幽棂
5,朱勾宗,邪宗大派。以炼器、机关、暗杀闻名于世,素来阴毒冷僻。,明玉山,明玉山通体由罕见的明玉石构成,山体呈现出诡异的青白色泽,在月光下更是泛着幽冷的光芒。山中宫殿楼阁皆为玉石所筑,看似华丽却处处暗藏杀机。殿宇之间机关重重,暗道密布,你是朱勾宗弟子。你直面欲望与代价,不惧黑暗,以攻伐见长。,,朱;勾;血;狱;百;,血手;勾魂;朱砂;赤狱;凝血;摄魄;夺心;吞灵;渊渟;夜烬,朱绫;夜鸢;绯刃;寒簪;明玥;凝芒;血莹;玉珥
6,合欢宗,以情入道,双修与魅术并重,善驭人心,长于权变。,桃花岛,合欢宗坐落于东海桃花岛上,岛上四季桃花盛开,永不凋零,花瓣随风飘舞,铺满整座仙岛。宗门建筑以粉红色调为主,雕梁画栋,极尽奢华。殿宇楼阁之间云雾缭绕,隐约可见成双成对的弟子在其间修炼。,你是合欢宗弟子。你辞令婉转,善于拿捏人欲与局势,以柔制刚。,,合;欢;苏;陆;柳;花;月;楚;顾;白,流烟,婉心;轻柔;疏影;如梦;绮念;月华;惜香;慕雪;倾城
7,镇魂宗,铁血风格,擅安魂、封邪、渡厄,兼有刚烈镇压之术。,落魂海,位于极南海上。镇魂海常年有妖兽作乱,海域凶险。宗门建筑立于海中礁岛之上,以镇魂钟为中心,钟声可震慑方圆千里之内的妖魂。,你是镇魂宗弟子。你肃穆沉稳,重安魂镇邪,少言而果决。,,厉;卢;镇;魂;钟;青;凌;白;楚;顾,斗量;阳;镇灵;定魄;钟离;安魂;肃霜;白岭;清钟;涤秽;正鸣;宁川,清宁;素铃;靖霜;澄心;灵钟;镇月;安祈;涤魂
8,幽魂噬影宗,镇宗典籍《幽冥录》。幽明气为根基。,鬼门湖,鬼门湖位于原始森林深处,重重大山围拢的平原地带。参天巨木、缠绕藤蔓、终日浮游不散的瘴气,还有因宗门秘法而生就的层层迷雾,将这里与外界完全隔离,透不进一点光来,你是幽魂噬影宗弟子。你行事隐秘果断,重结果轻虚名,擅潜行与出其不意。,,冥;阎;鬼;百;幽;归;应;阴;碧;夜,璃;无藏;馑;噬影;隐魄;夜藏;无相;玄影;摄魂;遁形;寒星;绝响;空痕,采儿;幽姝;冥绮;寒灯;影绫;夜绡;魇歌;暗萝
9,千帆城,炼器大宗,巧匠云集。著名法宝有灵灭丝、定魂蓝星、天罗网、万里极光壁、飞翼等。商旅云集,自成体系。,天星海,千帆城建于天星海中央的巨型浮岛之上,整座城池由无数法器拼接而成,城外海面上停泊着数以千计的法器灵舟,帆樯如林,蔚为壮观。城中高塔林立,每座塔顶都有炼器炉火日夜不息,烟柱冲天,你是千帆城修士。你务实精明,重交易与信誉,崇尚规则与秩序。,,商;楚;顾;白;苏;林;叶;秦;赵;魏,商行;持衡;清评;问价;立契;通衡;问道;理市;衡准;守约,素蓝;明衡;巧心;青帆;绫舟;观星;衡绫;星槎
Can't render this file because it contains an unexpected character in line 5 and column 73.

45
宗门驻地信息.txt Normal file
View File

@@ -0,0 +1,45 @@
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڤ<EFBFBD><EFBFBD>;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>פ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
1. <20><><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>
פ<>أ<EFBFBD><D8A3><EFBFBD>ϼɽ
<20><>ע<EFBFBD><D7A2><EFBFBD>ų<EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼɽ<CFBC><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD>塣ɽ<E5A1A3><C9BD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD>أ<EFBFBD><D8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
פ<>أ<EFBFBD><D8A3><EFBFBD><EFBFBD>
<20><>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ڼ<EFBFBD><DABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>ڤ<EFBFBD><DAA4><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD>һ<EFBFBD><D2BB>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EABAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
3. ڤ<><DAA4><EFBFBD><EFBFBD>
פ<>أ<EFBFBD><D8A3>߹<EFBFBD><DFB9><EFBFBD>
<20><>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD>һ<EFBFBD><D2BB>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD><D0B0>;<EFBFBD><CDBE><EFBFBD><EFBFBD><EFBFBD>۳<EFBFBD>Թ<EFBFBD><D4B9><EFBFBD><EFBFBD>
<20><>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڤ<EFBFBD><DAA4><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>߹<EFBFBD><DFB9><EFBFBD>Ⱥ<EFBFBD><C8BA><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٺ<EFBFBD><D9BA><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD>ڰ<EFBFBD><DAB0><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>η<EFBFBD>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD>Χǧ<CEA7><C7A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD>׻<EFBFBD><D7BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Х֮ʱ<D6AE><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޣ<EFBFBD><DEA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
4. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
פ<>أ<EFBFBD><D8A3><EFBFBD><EFBFBD>
<20><>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鶴λ<E9B6B4><CEBB>ʮ<EFBFBD><CAAE><EFBFBD><EFBFBD>ɽ<EFBFBD><EFBFBD><EEB4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ǧ<EFBFBD>ɸߵ<C9B8><DFB5><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ſڡ<C5BF><DAA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݺύ<DDBA><E1BDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>о<EFBFBD>ʮ<EFBFBD>Ų㶴<C5B2>죬ÿ<ECA3AC>㶼ѱ<E3B6BC><D1B1><EFBFBD>Ų<EFBFBD>ͬƷ<CDAC>׵<EFBFBD><D7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޡ<EFBFBD><DEA1><EFBFBD><EFBFBD><EFBFBD>ǧ<EFBFBD><C7A7>ɽ<EFBFBD>ֽ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>޳<EFBFBD><DEB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><CBBB>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ҹ<EFBFBD><D2B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB5A3>޺<EFBFBD><DEBA><EFBFBD><EFBFBD><EFBFBD><ECA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>
5. <20><EFBFBD><ECB9B4>
פ<>أ<EFBFBD><D8A3><EFBFBD><EFBFBD><EFBFBD>ɽ
<20><>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʮɽ֮һ<D6AE><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD>ڴ<EFBFBD><DAB4>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ء<EFBFBD><D8A1><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽͨ<C9BD><CDA8><EFBFBD>ɺ<EFBFBD><C9BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʯ<EFBFBD><CAAF><EFBFBD>ɣ<EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¹<EFBFBD><C2B9>¸<EFBFBD><C2B8>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD>â<EFBFBD><C3A2>ɽ<EFBFBD>й<EFBFBD><D0B9><EFBFBD>¥<EFBFBD><C2A5><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ʯ<EFBFBD><CAAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><D8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD>˵ɽ<CBB5><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʮ<EFBFBD><CAAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʮ<EFBFBD><EFBFBD><E5B4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>壬Ѱ<E5A3AC><D1B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>ʮ<EFBFBD><CAAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
6. ǧ<><C7A7><EFBFBD><EFBFBD>
פ<>أ<EFBFBD><D8A3><EFBFBD><EFBFBD>Ǻ<EFBFBD>
<20><>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EBB1B1><EFBFBD><EFBFBD>ҹ<EFBFBD>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǧ<EFBFBD><EFBFBD>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><C7B2><EFBFBD>"<22>ĺ<EFBFBD><C4BA>ij<EFBFBD>"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǧ<EFBFBD><C7A7><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǻ<EFBFBD><C7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE>͸<EFBFBD><CDB8><EFBFBD>֮<EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD><C7B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƴ<EFBFBD>Ӷ<EFBFBD><D3B6>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><E2BAA3><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǧ<EFBFBD>Ƶķ<C6B5><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۣ<EFBFBD><DBA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD>εΪ׳<CEAA>ۡ<EFBFBD><DBA1><EFBFBD><EFBFBD>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¯<EFBFBD><C2AF><EFBFBD><EFBFBD>ҹ<EFBFBD><D2B9>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECA1A3><EFBFBD><EFBFBD><E7B4B5><EFBFBD><EFBFBD>ǧ<EFBFBD><C7A7><EFBFBD><EFBFBD><EBB6AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECA3AC><EFBFBD><EFBFBD><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķʹ<C4B6>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD>ؼ<EFBFBD><D8BC>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
7. <20>Ļ<EFBFBD><C4BB><EFBFBD>Ӱ<EFBFBD><D3B0>
פ<>أ<EFBFBD><D8A3><EFBFBD><EFBFBD>ź<EFBFBD>
<20><>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD>ף<EFBFBD><D7A3><EFBFBD><EFBFBD>ڵ伮Ϊ<E4BCAE><CEAA><EFBFBD><EFBFBD>ڤ¼<DAA4><C2BC>
<20><>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>λ<EFBFBD><CEBB>ԭʼɭ<CABC><C9AD><EFBFBD><EFBFBD><EEB4A6><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD>ɽΧ£<CEA7><C2A3>ƽԭ<C6BD>ش<EFBFBD><D8B4><EFBFBD>ɭ<EFBFBD><C9AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB4A6><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE>ӳ<EFBFBD><D3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6A1A2><EFBFBD>ް<EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFA3AC>֪<EFBFBD><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA1A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><D5B8>β<EFBFBD>ɢ<EFBFBD><C9A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵IJ<CDB5><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD>룬͸<EBA3AC><CDB8><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
8. ˮ<><CBAE><EFBFBD><EFBFBD>
פ<>أ<EFBFBD><D8A3>̲<EFBFBD><CCB2><EFBFBD>
<20><>ע<EFBFBD><D7A2>ӵ<EFBFBD>г<EFBFBD><D0B3><EFBFBD>ˮ<EFBFBD><CBAE>
<20><>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD>ڽ<EFBFBD><DABD>ڱ̲<DAB1><CCB2><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD>֮<EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>ˮ<EFBFBD><EFBFBD><EFBFBD><E7BEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAB2A8><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD><CBA1><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¥<EFBFBD><C2A5><EFBFBD><EFBFBD>Ϊˮ<CEAA><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>͸<EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD>У<EFBFBD><D0A3><EFBFBD>ʵ<EFBFBD>ѱ档<D1B1><E6A1A3><EFBFBD><EFBFBD>֮<EFBFBD>ϳ<EFBFBD><CFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޴<EFBFBD><DEB4><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD>ÿһ<C3BF>涼ӳ<E6B6BC><D3B3><EFBFBD>Ų<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD><C7B3>ھ<EFBFBD><DABE><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>
9. <20>ϻ<EFBFBD><CFBB><EFBFBD>
פ<>أ<EFBFBD><D8A3>һ<EFBFBD><D2BB><EFBFBD>
<20><>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD><CFBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>һ<EFBFBD>ʢ<EFBFBD><CAA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD><E8A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD><C9B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ž<EFBFBD><C5BD><EFBFBD><EFBFBD>Էۺ<D4B7>ɫ<EFBFBD><C9AB>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¥<EFBFBD><C2A5>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD>Լ<EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD>˫<EFBFBD>ɶԵĵ<D4B5><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2B2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD><D2A3>ѱ淽<D1B1><E6B7BD>