730 lines
40 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Constant;
using Oshima.FunGame.OshimaModules.Effects.OpenEffects;
using Oshima.FunGame.OshimaModules.Items;
using Oshima.FunGame.OshimaModules.Regions;
namespace Oshima.FunGame.OshimaServers.Service
{
public class FunGameConstant
{
public const long CustomCharacterId = -1;
public const int ItemsPerPage1 = 6;
public const int ItemsPerPage2 = 10;
public const int ExploreTime = 2;
public static List<Character> Characters { get; } = [];
public static List<Skill> Skills { get; } = [];
public static List<Skill> PassiveSkills { get; } = [];
public static List<Skill> SuperSkills { get; } = [];
public static List<Skill> Magics { get; } = [];
public static List<Item> Equipment { get; } = [];
public static List<Item> Items { get; } = [];
public static List<Item> DrawCardItems { get; } = [];
public static Dictionary<OshimaRegion, List<Item>> ExploreItems { get; } = [];
public static List<Skill> ItemSkills { get; } = [];
public static List<Item> AllItems { get; } = [];
public static List<Skill> AllSkills { get; } = [];
public static Dictionary<long, User> UserIdAndUsername { get; } = [];
public static ItemType[] ItemCanUsed => [ItemType.Consumable, ItemType.MagicCard, ItemType.SpecialItem, ItemType.GiftBox, ItemType.Others];
public static ItemType[] ItemCanNotDrawCard => [ItemType.Collectible, ItemType.QuestItem, ItemType.GiftBox, ItemType.Others];
public static Dictionary<int, Dictionary<string, int>> LevelBreakNeedyList { get; } = new()
{
{
0, new()
{
{ General.GameplayEquilibriumConstant.InGameMaterial, 20 },
{ nameof(), 2 }
}
},
{
1, new()
{
{ General.GameplayEquilibriumConstant.InGameMaterial, 40 },
{ nameof(), 4 }
}
},
{
2, new()
{
{ General.GameplayEquilibriumConstant.InGameMaterial, 80 },
{ nameof(), 6 },
{ nameof(), 2 }
}
},
{
3, new()
{
{ General.GameplayEquilibriumConstant.InGameMaterial, 160 },
{ nameof(), 9 },
{ nameof(), 4 }
}
},
{
4, new()
{
{ General.GameplayEquilibriumConstant.InGameMaterial, 320 },
{ nameof(), 12 },
{ nameof(), 6 },
{ nameof(), 2 }
}
},
{
5, new()
{
{ General.GameplayEquilibriumConstant.InGameMaterial, 640 },
{ nameof(), 16 },
{ nameof(), 9 },
{ nameof(), 4 }
}
},
};
public static Dictionary<int, Dictionary<string, int>> SkillLevelUpList { get; } = new()
{
{
1, new()
{
{ "角色等级", 1 },
{ General.GameplayEquilibriumConstant.InGameCurrency, 2000 },
{ General.GameplayEquilibriumConstant.InGameMaterial, 10 },
{ nameof(), 1 },
}
},
{
2, new()
{
{ "角色等级", 12 },
{ General.GameplayEquilibriumConstant.InGameCurrency, 5000 },
{ General.GameplayEquilibriumConstant.InGameMaterial, 30 },
{ nameof(), 2 },
}
},
{
3, new()
{
{ "角色等级", 24 },
{ General.GameplayEquilibriumConstant.InGameCurrency, 10000 },
{ General.GameplayEquilibriumConstant.InGameMaterial, 60 },
{ nameof(), 4 },
{ nameof(), 1 },
}
},
{
4, new()
{
{ "角色等级", 36 },
{ General.GameplayEquilibriumConstant.InGameCurrency, 18000 },
{ General.GameplayEquilibriumConstant.InGameMaterial, 100 },
{ nameof(), 6 },
{ nameof(), 2 },
}
},
{
5, new()
{
{ "角色等级", 48 },
{ General.GameplayEquilibriumConstant.InGameCurrency, 30000 },
{ General.GameplayEquilibriumConstant.InGameMaterial, 150 },
{ nameof(), 9 },
{ nameof(), 4 },
{ nameof(), 1 }
}
},
{
6, new()
{
{ "角色等级", 60 },
{ General.GameplayEquilibriumConstant.InGameCurrency, 47000 },
{ General.GameplayEquilibriumConstant.InGameMaterial, 210 },
{ nameof(), 6 },
{ nameof(), 6 },
{ nameof(), 2 },
{ nameof(), 1 }
}
}
};
public static Dictionary<int, Dictionary<string, int>> NormalAttackLevelUpList { get; } = new()
{
{
2, new()
{
{ "角色等级", 8 },
{ General.GameplayEquilibriumConstant.InGameCurrency, 2000 },
{ General.GameplayEquilibriumConstant.InGameMaterial, 10 },
{ nameof(), 1 },
}
},
{
3, new()
{
{ "角色等级", 16 },
{ General.GameplayEquilibriumConstant.InGameCurrency, 5000 },
{ General.GameplayEquilibriumConstant.InGameMaterial, 30 },
{ nameof(), 2 },
}
},
{
4, new()
{
{ "角色等级", 24 },
{ General.GameplayEquilibriumConstant.InGameCurrency, 10000 },
{ General.GameplayEquilibriumConstant.InGameMaterial, 60 },
{ nameof(), 4 },
{ nameof(), 1 },
}
},
{
5, new()
{
{ "角色等级", 32 },
{ General.GameplayEquilibriumConstant.InGameCurrency, 18000 },
{ General.GameplayEquilibriumConstant.InGameMaterial, 100 },
{ nameof(), 6 },
{ nameof(), 2 },
}
},
{
6, new()
{
{ "角色等级", 40 },
{ "角色突破进度", 4 },
{ General.GameplayEquilibriumConstant.InGameCurrency, 30000 },
{ General.GameplayEquilibriumConstant.InGameMaterial, 150 },
{ nameof(), 9 },
{ nameof(), 4 },
{ nameof(), 1 }
}
},
{
7, new()
{
{ "角色等级", 48 },
{ General.GameplayEquilibriumConstant.InGameCurrency, 47000 },
{ General.GameplayEquilibriumConstant.InGameMaterial, 210 },
{ nameof(), 12 },
{ nameof(), 6 },
{ nameof(), 2 }
}
},
{
8, new()
{
{ "角色等级", 56 },
{ General.GameplayEquilibriumConstant.InGameCurrency, 70000 },
{ General.GameplayEquilibriumConstant.InGameMaterial, 280 },
{ nameof(), 16 },
{ nameof(), 9 },
{ nameof(), 4 },
{ nameof(), 1 }
}
}
};
public static Dictionary<EffectID, Dictionary<string, object>> RoundRewards => new()
{
{
EffectID.ExATK,
new()
{
{ "exatk", Random.Shared.Next(40, 80) }
}
},
{
EffectID.ExCritRate,
new()
{
{ "excr", Math.Clamp(Random.Shared.NextDouble(), 0.25, 0.5) }
}
},
{
EffectID.ExCritDMG,
new()
{
{ "excrd", Math.Clamp(Random.Shared.NextDouble(), 0.5, 1) }
}
},
{
EffectID.ExATK2,
new()
{
{ "exatk", Math.Clamp(Random.Shared.NextDouble(), 0.15, 0.3) }
}
},
{
EffectID.RecoverHP,
new()
{
{ "hp", Random.Shared.Next(160, 640) }
}
},
{
EffectID.RecoverMP,
new()
{
{ "mp", Random.Shared.Next(140, 490) }
}
},
{
EffectID.RecoverHP2,
new()
{
{ "hp", Math.Clamp(Random.Shared.NextDouble(), 0.04, 0.08) }
}
},
{
EffectID.RecoverMP2,
new()
{
{ "mp", Math.Clamp(Random.Shared.NextDouble(), 0.09, 0.18) }
}
},
{
EffectID.GetEP,
new()
{
{ "ep", Random.Shared.Next(20, 40) }
}
}
};
public static Dictionary<string, string> ContinuousQuestList { get; } = new()
{
{
"悖论引擎的暗涌之息",
"穿梭于银辉城流淌液态月光的街道,侦测悖论引擎释放的异常能量潮汐,揭开可能撕裂现实结构的危险谜团。"
},
{
"林海深处的记忆协奏曲",
"在瑟兰薇歌林海水晶化的树冠建立观测站,记录春季地貌重组时树木根系发出的低频共振波,破译其与旋律古龙苏醒周期的关联。"
},
{
"元素裂隙的熵增警告",
"使用抗魔探针扫描永燃坩埚第47层矿道绘制元素裂缝的扩张轨迹评估其引发位面坍缩的风险等级。"
},
{
"时间琥珀中的战争回响",
"在永霜裂痕建立时滞力场实验室,分析冻结在冰壁中的古代战争幻象,还原时霜药剂对观察者认知体系的扭曲机制。"
},
{
"镜像维度的认知污染",
"佩戴反重力拘束装置潜入千瞳镜湖,测绘镜像城的拓扑结构,警惕瞳孔状传送门对记忆模块的逆向写入现象。"
},
{
"泰坦遗迹的符文解读",
"攀登泰坦遗迹,记录裁决尖碑在月圆之夜投射的泰坦符文,破译其蕴含的宇宙法则。"
},
{
"流沙时计的昨日寻踪",
"在时之荒漠中寻找海市蜃楼般的昨日之城,收集散落在其中的时间碎片,还原历史真相。"
},
{
"腐萤沼渊的共生调查",
"深入腐萤沼渊,研究共生母体的生态系统,记录菌类模仿动物叫声的频率和模式。"
},
{
"星锚之地的束缚警戒",
"前往双生月崖永夜侧的星锚之地,加固引雷柱的能量场,防止星空巨兽挣脱时空束缚。"
},
{
"机械坟场的改造危机",
"潜入齿轮坟场被活体建筑同化的造物车间,研究其机械与生物融合的改造机制,寻找控制方法。"
},
{
"镜湖星辉的引力观察",
"在银辉城折射星空的水域边缘建立观测点,记录星辉水母群在午夜重构重力法则时的空间涟漪。"
},
{
"骨桥记忆的精神共鸣",
"进入棱镜骨桥,收集晶体化红杉中储存的亡者记忆,调查空间褶皱对现实结构的影响。"
},
{
"坩埚熔岩的生命观测",
"在永燃坩埚的火山灰层建立实验室,监测活体金属苔藓与岩浆鱿鱼的共生进化过程。"
},
{
"时沙陷阱的预警系统",
"在时之荒漠部署时间流沙监测网,预测沙丘重组周期并标记高危区域,保障探索者安全。"
},
{
"腐沼菌群的声波分析",
"在腐萤沼渊建立声纹实验室,解析共生母体菌类发出的动物模拟叫声,建立声波防御系统。"
},
{
"双生湮灭的边界探测",
"在双生月崖建立空间稳定站,研究昼夜切换时湮灭边界产生的空间畸变现象。"
},
{
"谵妄梦境的思维隔离",
"在谵妄海市建立认知过滤系统,阻断思维寄生虫对市民意识的寄生感染路径。"
},
{
"圣树蜜蜡的数据加密",
"在瑟兰薇歌林海脉轮圣树区部署安全协议,防止可编程蜜蜡的数据泄露事件再次发生。"
},
{
"矿脉神经的止痛研究",
"在泰坦遗迹的悲鸣矿脉区开发神经缓冲装置,减轻开采神经宝石引发的山体剧痛反应。"
},
{
"齿轮活血的污染控制",
"在齿轮坟场建立液态魔力隔离区,防止活体魔力血的生物污染扩散至外部环境。"
}
};
public static Dictionary<string, string> ImmediateQuestList { get; } = new()
{
{
"星银警戒协议·弎级响应",
"星银合金守卫在悖论引擎周边暴走,形成包围核心区的杀戮矩阵,必须在三刻钟内解除警戒协议。"
},
{
"音律囚笼突破作战",
"苏醒的旋律古龙释放出高频震波,将精灵们困在水晶共振牢笼中,需在下次地貌重组前切断声波共鸣节点。"
},
{
"深渊火种收容危机",
"永燃坩埚矿道底层的深渊火钻因元素污染进入链式裂变,引发全矿道魔能过载,立即部署熵减力场遏制反应。"
},
{
"时霜逆流救援行动",
"科研小组被困在永霜裂痕加速百倍的时间泡内,其肉体正以肉眼可见的速度衰老,必须校准哨塔时钟恢复时间流速。"
},
{
"镜像侵蚀净化指令",
"千瞳镜湖的镜像守卫突破维度屏障入侵现实,携带的认知病毒正在改写物理法则,启动空间净化协议隔离威胁。"
},
{
"泰坦遗迹的磁场危机",
"泰坦遗迹的悬浮岩块因神经宝石共振引发磁场紊乱,必须在半小时内稳定能量场防止区域崩塌。"
},
{
"流沙陷阱紧急救援",
"勘探队被困在时之荒漠重组的沙丘核心,必须在沙暴吞噬前开辟逃生通道。"
},
{
"腐沼毒气中和行动",
"腐萤沼渊共生母体排出的毒气云正在快速扩散,需在十分钟内启动应急中和装置保护周边生态。"
},
{
"星空巨兽狂怒预警",
"双生月崖星锚之地的引雷柱遭到破坏,星空巨兽即将挣脱束缚,必须立即修复能量矩阵。"
},
{
"活体建筑增殖警报",
"齿轮坟场的活体建筑开始暴走式增殖,必须在三刻钟内切断核心供能管道遏制扩张。"
},
{
"圣树蜜蜡数据泄漏",
"瑟兰薇歌林海脉轮圣树区的可编程蜜蜡核心数据被盗,需在加密密钥失效前追回数据包。"
},
{
"矿脉神经共鸣失控",
"泰坦遗迹悲鸣矿脉的神经宝石集体共振,引发山体结构崩解,必须立即部署阻尼力场稳定矿脉。"
},
{
"骨桥幽灵舰队突袭",
"棱镜骨桥下方的幽灵船队突破虚空屏障,对现实维度发动突袭,必须在半小时内建立反制防线。"
},
{
"坩埚金属瘟疫爆发",
"永燃坩埚的活体金属苔藓变异为吞噬性瘟疫,正沿岩浆通道快速扩散,必须立即启动熔断隔离机制。"
},
{
"时之蝎群时空侵染",
"时之荒漠的时之蝎因时凝液泄漏引发群体狂暴,其时间加速能力正在污染周边空间,需立即净化。"
},
{
"湮灭边界扩张警报",
"双生月崖昼夜切换窗口期异常延迟湮灭边界以每分钟5米速度扩张必须立即撤离滞留学生团。"
},
{
"谵妄认知病毒爆发",
"谵妄海市的思维寄生虫释放II型认知病毒感染市民产生现实扭曲能力必须一小时内建立精神隔离区。"
},
{
"液态月光洪流预警",
"银辉城街道的液态月光进入异常涨潮期,即将淹没悖论引擎控制中枢,必须立即启动排水协议。"
},
{
"棱镜记忆过载危机",
"棱镜骨桥的红杉晶体因记忆过载即将爆发共感冲击波,必须在五分钟内疏散周边观测人员。"
},
{
"机械坟场核心熔毁",
"齿轮坟场的上古机械核心因活体魔力血污染进入熔毁倒计时,需立即执行冷却协议防止爆炸。"
}
};
public static Dictionary<string, string> ProgressiveQuestList { get; } = new()
{
{
"月光萃取计划",
"前往银辉城,在星银合金建筑的沟壑中采集 {0} 份液态月光(避开月光洪流的高潮时段/每夜丑时三刻)。"
},
{
"林海汁液采收行动",
"使用抗腐蚀容器收集瑟兰薇歌林海的 {0} 份荧蓝汁液(树木自卫系统激活时汁液会转化为神经毒素)。"
},
{
"火钻精炼协议",
"在永燃坩埚矿工灵魂烙印的指引下获取 {0} 颗深渊火钻(未烙印者触碰火钻将引发元素爆燃)。"
},
{
"时霜逆向工程",
"通过时间镜像收集 {0} 份来自永霜裂痕不同历史断片的时霜药剂样本(注意时空回响对记忆的覆盖效应)。"
},
{
"瞳孔密钥重构计划",
"前往千瞳镜湖,从 {0} 个瞳孔状传送门提取量子纠缠碎片(保持镜像对称操作以避免维度塌缩)。"
},
{
"泰坦符文拓印",
"在泰坦遗迹的裁决尖碑上拓印 {0} 份不同的泰坦符文(避开雷暴时段/每逢子时)。"
},
{
"时间碎片收集",
"在时之荒漠的昨日之城幻影中收集 {0} 份不同的时间碎片(注意时间碎片会随机重组)。"
},
{
"共生母体样本采集",
"从腐萤沼渊的共生母体采集 {0} 份不同的菌类样本(注意菌类会释放麻痹毒素)。"
},
{
"星锚晶石加固任务",
"在双生月崖的星锚之地校准 {0} 个不同的引雷柱(避开星空巨兽的能量波动周期)。"
},
{
"活体建筑解析计划",
"在齿轮坟场研究 {0} 个活体建筑样本(警惕改造实验引发的身体异变)。"
},
{
"圣树蜜蜡编程实验",
"在瑟兰薇歌林海的脉轮圣树区进行 {0} 次蜜蜡编程(注意编码错误会引发精神干扰)。"
},
{
"矿脉神经镇痛研究",
"在泰坦遗迹的悲鸣矿脉区采集 {0} 份神经宝石样本(开采时会引发山体剧痛反应)。"
},
{
"骨桥记忆共鸣实验",
"在棱镜骨桥提取 {0} 份不同的亡者记忆(注意记忆共鸣会引发共感眩晕)。"
},
{
"坩埚活体金属培育",
"在永燃坩埚培育 {0} 份活体金属苔藓注意培育环境需保持600℃以上恒温。"
},
{
"幽灵航线能量测绘",
"在棱镜骨桥下方收集 {0} 份幽灵船能量数据(避开虚空航行高峰期)。"
},
{
"时凝液时效研究",
"在时之荒漠提纯 {0} 份时凝液(操作需在时间加速器防护罩内完成)。"
},
{
"湮灭边界观测记录",
"在双生月崖记录 {0} 次湮灭边界现象(每次观测窗口期不超过三分钟)。"
},
{
"梦境碎片毒性分析",
"在谵妄海市分析 {0} 份不同的梦境碎片(需全程佩戴认知过滤器)。"
},
{
"机械核心解密行动",
"在齿轮坟场解析 {0} 个上古机械核心(注意核心可能触发自毁程序)。"
},
{
"湖底重力场测绘",
"在银辉城星辉水域测绘 {0} 个重力异常点(避开午夜水母重构期)。"
}
};
public static List<OshimaRegion> Regions { get; } = [
new (), new (), new (), new (), new 齿(), new (),
new (), new (), new (), new (), new (), new ()
];
public static List<OshimaRegion> PlayerRegions { get; } = [
new ()
];
/// <summary>
/// 参数说明:{0} 奖励内容字符串,{1} 出现的敌人名称,{2} 出现的NPC名称{3} 出现的物品名称
/// </summary>
public static Dictionary<string, ExploreResult> ExploreString { get; } = new()
{
{ "哎呀,这波啊,这波是探了个寂寞!不过…好像也不是完全没有收获?奖励:{0}", ExploreResult.General },
{ "你以为会一无所获?哼,天真!虽然也没啥大用,但至少…获得了:{0}", ExploreResult.General },
{ "恭喜你!成功在荒野中迷路!奖励…等等,好像是:{0}?算了,凑合着用吧!", ExploreResult.General },
{ "你凝视着远方…远方也凝视着你…然后,你获得了:{ 0}!这大概就是命运吧。", ExploreResult.General },
{ "探索结果:空气,阳光,还有…奖励:{ 0}!看来今天运气还不错?", ExploreResult.General },
{ "啥也没找到,白跑一趟!下次记得带上指南针!", ExploreResult.Nothing },
{ "空空如也,一无所获。看来这地方已经被搜刮干净了!", ExploreResult.Nothing },
{ "你对着空地发呆了半天,然后决定回家。今天就当无事发生。", ExploreResult.Nothing },
{ "探索失败!你被自己的影子吓了一跳,然后落荒而逃。", ExploreResult.Nothing },
{ "你努力寻找着什么,但最终只找到了自己的寂寞。", ExploreResult.Nothing },
{ "前方高能!遭遇了{ 1}!准备好迎接一场史诗般的…菜鸡互啄!", ExploreResult.Fight },
{ "警告!{ 1} 正在接近!是时候展现真正的技术了…逃跑技术!", ExploreResult.Fight },
{ "战斗警报!{ 1} 想要和你一较高下!拿出你的勇气…或者直接认输吧!", ExploreResult.Fight },
{ "不好了!{ 1} 出现了!快使用你的绝招…装死!", ExploreResult.Fight },
{ "危险!{ 1} 来袭!但是…你好像忘了带武器?", ExploreResult.Fight },
{ "发财了!竟然捡到了{ 0}!看来今天出门踩到狗屎了!", ExploreResult.Earned },
{ "哇!{ 0}!这一定是上天赐予我的!感谢老天爷!", ExploreResult.Earned },
{ "你简直不敢相信自己的眼睛!{ 0}!这运气也太好了吧!", ExploreResult.Earned },
{ "天降横财!{ 0}!看来以后要多出门走走了!", ExploreResult.Earned },
{ "惊喜!{ 0}!这一定是隐藏的宝藏!", ExploreResult.Earned }
};
public static Dictionary<QualityType, double> DrawCardProbabilities { get; } = new()
{
{ QualityType.White, 49.53 },
{ QualityType.Green, 19.35 },
{ QualityType.Blue, 13.48 },
{ QualityType.Purple, 8.25 },
{ QualityType.Orange, 6.33 },
{ QualityType.Red, 3.06 }
};
public static Dictionary<QualityType, (int Min, int Max)> PriceRanges { get; } = new()
{
{ QualityType.White, (200, 800) },
{ QualityType.Green, (800, 3500) },
{ QualityType.Blue, (3500, 8800) },
{ QualityType.Purple, (8800, 15600) },
{ QualityType.Orange, (15600, 32200) },
{ QualityType.Red, (32200, 67000) },
{ QualityType.Gold, (67000, 130000) }
};
public static string[] CommonSurnames { get; } = [
"顾", "沈", "陆", "楚", "白", "苏", "叶", "萧", "莫", "司马", "欧阳",
"上官", "慕容", "尉迟", "司徒", "轩辕", "端木", "南宫", "长孙", "百里",
"东方", "西门", "独孤", "公孙", "令狐", "宇文", "夏侯", "赫连", "皇甫",
"北堂", "安陵", "东篱", "花容", "夜", "柳", "云", "凌", "寒", "龙",
"凤", "蓝", "冷", "华", "蓝夜", "叶南", "墨", "君", "月", "子车",
"澹台", "钟离", "公羊", "闾丘", "仲孙", "司空", "羊舌", "亓官", "公冶",
"濮阳", "独月", "南风", "凤栖", "南门", "姬", "闻人", "花怜", "若",
"紫", "卿", "微", "清", "易", "月华", "霜", "兰", "岑", "语", "雪",
"夜阑", "梦", "洛", "江", "黎", "夜北", "唐", "水", "韩", "庄",
"夜雪", "夜凌", "君临", "青冥", "漠然", "林", "青", "岑", "容",
"墨", "柏", "安", "晏", "尉", "南", "轩", "竹", "晨", "桓", "晖",
"瑾", "溪", "汐", "沐", "玉", "汀", "归", "羽", "颜", "辰", "琦",
"芷", "尹", "施", "原", "孟", "尧", "荀", "单", "简", "植", "傅",
"司", "钟", "方", "谢",
"赵", "钱", "孙", "李", "周", "吴", "郑", "王", "冯", "陈", "卫", "蒋", "沈", "韩",
"杨", "朱", "秦", "许", "何", "吕", "张", "孔", "曹", "严", "华", "金", "魏", "陶",
"姜", "谢", "罗", "徐", "林", "范", "方", "唐", "柳", "宋", "元", "萧", "程", "陆",
"顾", "楚", "白", "苏", "叶", "萧", "莫", "凌", "寒", "龙", "凤", "蓝", "冷", "华",
"唐", "韩", "庄", "青", "安", "晏", "尹", "施", "孟", "荀", "傅", "钟", "方", "谢",
"司马", "欧阳", "上官", "慕容", "尉迟", "司徒", "轩辕", "端木", "南宫", "长孙",
"百里", "东方", "西门", "独孤", "公孙", "令狐", "宇文", "夏侯", "赫连", "皇甫",
"墨", "君", "月", "紫", "卿", "微", "清", "易", "霜", "兰", "语", "雪", "璃",
"镜", "弦", "珏", "瑾", "璇", "绯", "霁", "溟", "澈", "归", "羽", "辰", "芷",
"风", "花", "江", "河", "湖", "海", "山", "川", "松", "竹", "梅", "菊", "枫",
"梧", "泉", "溪", "岚", "雾", "露", "霓", "霰", "星", "辰",
"沧", "溟", "无", "绝", "孤", "隐", "斩", "破", "惊", "鸿", "御", "玄", "冥",
"烬", "夙", "离",
"东篱", "南笙", "西楼", "北冥", "九歌", "长离", "扶摇", "青丘", "凌霄", "重光",
"子车", "亓官", "巫马", "拓跋", "叱干", "斛律", "沮渠", "秃发", "万俟", "仆固"
];
public static string CommonChineseCharacters { get; } =
"云星宝灵梦龙花雨风叶山川月石羽水竹金" +
"玉海火雷光天地凤虎虹珠华霞鹏雪银沙松桃兰青霜鸿康骏波泉河湖江泽洋林枫" +
"梅桂樱桐晴韵凌若悠碧涛渊壁剑影霖玄承珍雅耀瑞鹤烟燕霏翼翔璃绮纱绫绣锦" +
"瑜琼瑾璇璧琳琪瑶瑛芝杏茜荷莉莹菡莲诗瑰翠椒槐榆槿柱梧曜曙晶暖智煌熙霓" +
"熠嘉琴曼菁蓉菲淑妙惠秋涵映巧慧茹荣菱曦容芬玲澜清湘澄泓润珺晨翠涟洁悠" +
"霏淑绮润东南西北云山川风月溪雪雨雷天云海霜柏芳春秋夏冬温景寒和竹阳溪" +
"溪飞风峰阳一乙二十丁厂七卜八人入儿匕几九刁了刀力乃又三干于亏工土士才" +
"下寸大丈与万上小口山巾千乞川亿个夕久么勺凡丸及广亡门丫义之尸己已巳弓" +
"子卫也女刃飞习叉马乡丰王开井天夫元无云专丐扎艺木五支厅不犬太区历歹友" +
"尤匹车巨牙屯戈比互切瓦止少曰日中贝冈内水见午牛手气毛壬升夭长仁什片仆" +
"化仇币仍仅斤爪反介父从仑今凶分乏公仓月氏勿欠风丹匀乌勾凤六文亢方火为" +
"斗忆计订户认冗讥心尺引丑巴孔队办以允予邓劝双书幻玉刊未末示击打巧正扑" +
"卉扒功扔去甘世艾古节本术可丙左厉石右布夯戊龙平灭轧东卡北占凸卢业旧帅" +
"归旦目且叶甲申叮电号田由只叭史央兄叽叼叫叩叨另叹冉皿凹囚四生矢失乍禾" +
"丘付仗代仙们仪白仔他斥瓜乎丛令用甩印尔乐句匆册卯犯外处冬鸟务包饥主市" +
"立冯玄闪兰半汁汇头汉宁穴它讨写让礼训议必讯记永司尼民弗弘出辽奶奴召加" +
"皮边孕发圣对台矛纠母幼丝邦式迂刑戎动扛寺吉扣考托老巩圾执扩扫地场扬耳" +
"芋共芒亚芝朽朴机权过臣吏再协西压厌戌在百有存而页匠夸夺灰达列死成夹夷" +
"轨邪尧划迈毕至此贞师尘尖劣光当早吁吐吓虫曲团吕同吊吃因吸吗吆屿屹岁帆" +
"回岂则刚网肉年朱先丢廷舌竹迁乔迄伟传乒乓休伍伏优臼伐延仲件任伤价伦份" +
"华仰仿伙伪自伊血向似后行舟全会杀合兆企众爷伞创肌肋朵杂危旬旨旭负匈名" +
"各多争色壮冲妆冰庄庆亦刘齐交衣次产决亥充妄闭问闯羊并关米灯州汗污江汛" +
"池汝汤忙兴宇守宅字安讲讳军讶许讹论讼农讽设访诀寻那迅尽导异弛孙阵阳收" +
"阶阴防奸如妇妃好她妈戏羽观欢买红驮纤驯约级纪驰纫巡寿弄麦玖玛形进戒吞" +
"远违韧运扶抚坛技坏抠扰扼拒找批址扯走抄贡汞坝攻赤折抓扳抡扮抢孝坎均抑" +
"抛投坟坑抗坊抖护壳志块扭声把报拟却抒劫芙芜苇芽花芹芥芬苍芳严芦芯劳克" +
"芭苏杆杠杜材村杖杏杉巫极李杨求甫匣更束吾豆两酉丽医辰励否还尬歼来连轩" +
"步卤坚肖旱盯呈时吴助县里呆吱吠呕园旷围呀吨足邮男困吵串员呐听吟吩呛吻" +
"吹呜吭吧邑吼囤别吮岖岗帐财针钉牡告我乱利秃秀私每兵估体何佐佑但伸佃作" +
"伯伶佣低你住位伴身皂伺佛囱近彻役返余希坐谷妥含邻岔肝肛肚肘肠龟甸免狂" +
"犹狈角删条彤卵灸岛刨迎饭饮系言冻状亩况床库庇疗吝应这冷庐序辛弃冶忘闰" +
"闲间闷判兑灶灿灼弟汪沐沛汰沥沙汽沃沦汹泛沧没沟沪沈沉沁怀忧忱快完宋宏" +
"牢究穷灾良证启评补初社祀识诈诉罕诊词译君灵即层屁尿尾迟局改张忌际陆阿" +
"陈阻附坠妓妙妖姊妨妒努忍劲矣鸡纬驱纯纱纲纳驳纵纷纸纹纺驴纽奉玩环武青" +
"责现玫表规抹卦坷坯拓拢拔坪拣坦担坤押抽拐拖者拍顶拆拎拥抵拘势抱拄垃拉" +
"拦幸拌拧拂拙招坡披拨择抬拇拗其取茉苦昔苛若茂苹苗英苟苑苞范直茁茄茎苔" +
"茅枉林枝杯枢柜枚析板松枪枫构杭杰述枕丧或画卧事刺枣雨卖郁矾矿码厕奈奔" +
"奇奋态欧殴垄妻轰顷转斩轮软到非叔歧肯齿些卓虎虏肾贤尚旺具味果昆国哎咕" +
"昌呵畅明易咙昂迪典固忠呻咒咋咐呼鸣咏呢咄咖岸岩帖罗帜帕岭凯败账贩贬购" +
"贮图钓制知迭氛垂牧物乖刮秆和季委秉佳侍岳供使例侠侥版侄侦侣侧凭侨佩货" +
"侈依卑的迫质欣征往爬彼径所舍金刹命肴斧爸采觅受乳贪念贫忿肤肺肢肿胀朋" +
"股肮肪肥服胁周昏鱼兔狐忽狗狞备饰饱饲变京享庞店夜庙府底疟疙疚剂卒郊庚" +
"废净盲放刻育氓闸闹郑券卷单炬炒炊炕炎炉沫浅法泄沽河沾泪沮油泊沿泡注泣" +
"泞泻泌泳泥沸沼波泼泽治怔怯怖性怕怜怪怡学宝宗定宠宜审宙官空帘宛实试郎" +
"诗肩房诚衬衫视祈话诞诡询该详建肃录隶帚屉居届刷屈弧弥弦承孟陋陌孤陕降" +
"函限妹姑姐姓妮始姆迢驾叁参艰线练组绅细驶织驹终驻绊驼绍绎经贯契贰奏春" +
"帮玷珍玲珊玻毒型拭挂封持拷拱项垮挎城挟挠政赴赵挡拽哉挺括垢拴拾挑垛指" +
"垫挣挤拼挖按挥挪拯某甚荆茸革茬荐巷带草茧茵茶荒茫荡荣荤荧故胡荫荔南药" +
"标栈柑枯柄栋相查柏栅柳柱柿栏柠树勃要柬咸威歪研砖厘厚砌砂泵砚砍面耐耍" +
"牵鸥残殃轴轻鸦皆韭背战点虐临览竖省削尝昧盹是盼眨哇哄哑显冒映星昨咧昭" +
"畏趴胃贵界虹虾蚁思蚂虽品咽骂勋哗咱响哈哆咬咳咪哪哟炭峡罚贱贴贻骨幽钙" +
"钝钞钟钢钠钥钦钧钩钮卸缸拜看矩毡氢怎牲选适秒香种秋科重复竿段便俩贷顺" +
"修俏保促俄俐侮俭俗俘信皇泉鬼侵禹侯追俊盾待徊衍律很须叙剑逃食盆胚胧胆" +
"胜胞胖脉胎勉狭狮独狰狡狱狠贸怨急饵饶蚀饺饼峦弯将奖哀亭亮度迹庭疮疯疫" +
"疤咨姿亲音帝施闺闻闽阀阁差养美姜叛送类迷籽娄前首逆兹总炼炸烁炮炫烂剃" +
"洼洁洪洒柒浇浊洞测洗活派洽染洛浏济洋洲浑浓津恃恒恢恍恬恤恰恼恨举觉宣" +
"宦室宫宪突穿窃客诫冠诬语扁袄祖神祝祠误诱诲说诵垦退既屋昼屏屎费陡逊眉" +
"孩陨除险院娃姥姨姻娇姚娜怒架贺盈勇怠癸蚤柔垒绑绒结绕骄绘给绚骆络绝绞" +
"骇统耕耘耗耙艳泰秦珠班素匿蚕顽盏匪捞栽捕埂捂振载赶起盐捎捍捏埋捉捆捐" +
"损袁捌都哲逝捡挫换挽挚热恐捣壶捅埃挨耻耿耽聂恭莽莱莲莫莉荷获晋恶莹莺" +
"真框梆桂桔栖档桐株桥桦栓桃格桩校核样根索哥速逗栗贾酌配翅辱唇夏砸砰砾" +
"础破原套逐烈殊殉顾轿较顿毙致柴桌虑监紧党逞晒眠晓哮唠鸭晃哺晌剔晕蚌畔" +
"蚣蚊蚪蚓哨哩圃哭哦恩鸯唤唁哼唧啊唉唆罢峭峨峰圆峻贼贿赂赃钱钳钻钾铁铃" +
"铅缺氧氨特牺造乘敌秤租积秧秩称秘透笔笑笋债借值倚俺倾倒倘俱倡候赁俯倍" +
"倦健臭射躬息倔徒徐殷舰舱般航途拿耸爹舀爱豺豹颁颂翁胰脆脂胸胳脏脐胶脑" +
"脓逛狸狼卿逢鸵留鸳皱饿馁凌凄恋桨浆衰衷高郭席准座症病疾斋疹疼疲脊效离" +
"紊唐瓷资凉站剖竞部旁旅畜阅羞羔瓶拳粉料益兼烤烘烦烧烛烟烙递涛浙涝浦酒" +
"涉消涡浩海涂浴浮涣涤流润涧涕浪浸涨烫涩涌悖悟悄悍悔悯悦害宽家宵宴宾窍" +
"窄容宰案请朗诸诺读扇诽袜袖袍被祥课冥谁调冤谅谆谈谊剥恳展剧屑弱陵祟陶" +
"陷陪娱娟恕娥娘通能难预桑绢绣验继骏球琐理琉琅捧堵措描域捺掩捷排焉掉捶" +
"赦堆推埠掀授捻教掏掐掠掂培接掷控探据掘掺职基聆勘聊娶著菱勒黄菲萌萝菌" +
"萎菜萄菊菩萍菠萤营乾萧萨菇械彬梦婪梗梧梢梅检梳梯桶梭救曹副票酝酗厢戚" +
"硅硕奢盔爽聋袭盛匾雪辅辆颅虚彪雀堂常眶匙晨睁眯眼悬野啪啦曼晦晚啄啡距" +
"趾啃跃略蚯蛀蛇唬累鄂唱患啰唾唯啤啥啸崖崎崭逻崔帷崩崇崛婴圈铐铛铝铜铭" +
"铲银矫甜秸梨犁秽移笨笼笛笙符第敏做袋悠偿偶偎偷您售停偏躯兜假衅徘徙得" +
"衔盘舶船舵斜盒鸽敛悉欲彩领脚脖脯豚脸脱象够逸猜猪猎猫凰猖猛祭馅馆凑减" +
"毫烹庶麻庵痊痒痕廊康庸鹿盗章竟商族旋望率阎阐着羚盖眷粘粗粒断剪兽焊焕" +
"清添鸿淋涯淹渠渐淑淌混淮淆渊淫渔淘淳液淤淡淀深涮涵婆梁渗情惜惭悼惧惕" +
"惟惊惦悴惋惨惯寇寅寄寂宿窒窑密谋谍谎谐袱祷祸谓谚谜逮敢尉屠弹隋堕随蛋" +
"隅隆隐婚婶婉颇颈绩绪续骑绰绳维绵绷绸综绽绿缀巢琴琳琢琼斑替揍款堪塔搭" +
"堰揩越趁趋超揽堤提博揭喜彭揣插揪搜煮援搀裁搁搓搂搅壹握搔揉斯期欺联葫" +
"散惹葬募葛董葡敬葱蒋蒂落韩朝辜葵棒棱棋椰植森焚椅椒棵棍椎棉";
}
public enum ExploreResult
{
General,
Nothing,
Fight,
Earned,
Event
}
}