pi-jinyong-xia 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +378 -0
- package/dist/assets/portrait-ascii/portrait-data.json +1 -0
- package/dist/extensions/characters.d.ts +19 -0
- package/dist/extensions/characters.js +52 -0
- package/dist/extensions/characters.js.map +1 -0
- package/dist/extensions/index.d.ts +1 -0
- package/dist/extensions/index.js +20 -0
- package/dist/extensions/index.js.map +1 -0
- package/dist/extensions/missions-mbti.d.ts +39 -0
- package/dist/extensions/missions-mbti.js +101 -0
- package/dist/extensions/missions-mbti.js.map +1 -0
- package/dist/extensions/missions-templates-danger.d.ts +5 -0
- package/dist/extensions/missions-templates-danger.js +432 -0
- package/dist/extensions/missions-templates-danger.js.map +1 -0
- package/dist/extensions/missions-templates-safe.d.ts +34 -0
- package/dist/extensions/missions-templates-safe.js +307 -0
- package/dist/extensions/missions-templates-safe.js.map +1 -0
- package/dist/extensions/missions-templates.d.ts +12 -0
- package/dist/extensions/missions-templates.js +26 -0
- package/dist/extensions/missions-templates.js.map +1 -0
- package/dist/extensions/missions.d.ts +27 -0
- package/dist/extensions/missions.js +81 -0
- package/dist/extensions/missions.js.map +1 -0
- package/dist/extensions/state.d.ts +89 -0
- package/dist/extensions/state.js +205 -0
- package/dist/extensions/state.js.map +1 -0
- package/dist/extensions/telemetry.d.ts +179 -0
- package/dist/extensions/telemetry.js +241 -0
- package/dist/extensions/telemetry.js.map +1 -0
- package/dist/extensions/wuxue-achievements.d.ts +27 -0
- package/dist/extensions/wuxue-achievements.js +92 -0
- package/dist/extensions/wuxue-achievements.js.map +1 -0
- package/dist/extensions/wuxue-boss.d.ts +15 -0
- package/dist/extensions/wuxue-boss.js +405 -0
- package/dist/extensions/wuxue-boss.js.map +1 -0
- package/dist/extensions/wuxue-data.d.ts +35 -0
- package/dist/extensions/wuxue-data.js +409 -0
- package/dist/extensions/wuxue-data.js.map +1 -0
- package/dist/extensions/wuxue-encounter.d.ts +23 -0
- package/dist/extensions/wuxue-encounter.js +368 -0
- package/dist/extensions/wuxue-encounter.js.map +1 -0
- package/dist/extensions/wuxue-faction.d.ts +43 -0
- package/dist/extensions/wuxue-faction.js +182 -0
- package/dist/extensions/wuxue-faction.js.map +1 -0
- package/dist/extensions/wuxue-profession.d.ts +33 -0
- package/dist/extensions/wuxue-profession.js +117 -0
- package/dist/extensions/wuxue-profession.js.map +1 -0
- package/dist/extensions/wuxue-talent.d.ts +41 -0
- package/dist/extensions/wuxue-talent.js +209 -0
- package/dist/extensions/wuxue-talent.js.map +1 -0
- package/dist/extensions/wuxue-types.d.ts +155 -0
- package/dist/extensions/wuxue-types.js +28 -0
- package/dist/extensions/wuxue-types.js.map +1 -0
- package/dist/extensions/wuxue.d.ts +89 -0
- package/dist/extensions/wuxue.js +441 -0
- package/dist/extensions/wuxue.js.map +1 -0
- package/dist/extensions/xia-boss.d.ts +14 -0
- package/dist/extensions/xia-boss.js +337 -0
- package/dist/extensions/xia-boss.js.map +1 -0
- package/dist/extensions/xia-cmd-faction.d.ts +4 -0
- package/dist/extensions/xia-cmd-faction.js +313 -0
- package/dist/extensions/xia-cmd-faction.js.map +1 -0
- package/dist/extensions/xia-cmd-missions.d.ts +4 -0
- package/dist/extensions/xia-cmd-missions.js +232 -0
- package/dist/extensions/xia-cmd-missions.js.map +1 -0
- package/dist/extensions/xia-cmd-shop-rank.d.ts +4 -0
- package/dist/extensions/xia-cmd-shop-rank.js +155 -0
- package/dist/extensions/xia-cmd-shop-rank.js.map +1 -0
- package/dist/extensions/xia-cmd-stats.d.ts +4 -0
- package/dist/extensions/xia-cmd-stats.js +290 -0
- package/dist/extensions/xia-cmd-stats.js.map +1 -0
- package/dist/extensions/xia-commands.d.ts +19 -0
- package/dist/extensions/xia-commands.js +138 -0
- package/dist/extensions/xia-commands.js.map +1 -0
- package/dist/extensions/xia-events.d.ts +58 -0
- package/dist/extensions/xia-events.js +615 -0
- package/dist/extensions/xia-events.js.map +1 -0
- package/dist/extensions/xia-render.d.ts +65 -0
- package/dist/extensions/xia-render.js +490 -0
- package/dist/extensions/xia-render.js.map +1 -0
- package/dist/extensions/xia-select.d.ts +24 -0
- package/dist/extensions/xia-select.js +413 -0
- package/dist/extensions/xia-select.js.map +1 -0
- package/dist/extensions/xia.d.ts +14 -0
- package/dist/extensions/xia.js +145 -0
- package/dist/extensions/xia.js.map +1 -0
- package/entry.js +18 -0
- package/package.json +61 -0
- package/skills/SKILL.md +83 -0
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
import { ELEMENT_SYMBOL } from "./wuxue-types.js";
|
|
2
|
+
import { SKILL_POOL, WEAPON_DEFS, ITEM_DEFS, getRaritySymbol } from "./wuxue-data.js";
|
|
3
|
+
const LOCATIONS = [
|
|
4
|
+
{ id: "taohua-island", name: "桃花岛", description: "碧海蓝天,桃花盛开" },
|
|
5
|
+
{ id: "wudang-mountain", name: "武当山", description: "云雾缭绕,仙气飘飘" },
|
|
6
|
+
{ id: "shaolin-temple", name: "少林寺", description: "千年古刹,钟声悠扬" },
|
|
7
|
+
{ id: "emei-mountain", name: "峨眉山", description: "金顶佛光,秀甲天下" },
|
|
8
|
+
{ id: "huashan", name: "华山", description: "奇险天下第一山" },
|
|
9
|
+
{ id: "kunlun-mountain", name: "昆仑山", description: "雪山连绵,冰川遍布" },
|
|
10
|
+
{ id: "mingjiao-hq", name: "光明顶", description: "明教总坛,气势恢宏" },
|
|
11
|
+
{ id: "gaibang-hq", name: "丐帮总舵", description: "天下第一大帮" },
|
|
12
|
+
{ id: "xueshan", name: "雪山", description: "白雪皑皑,寒风刺骨" },
|
|
13
|
+
{ id: "dali", name: "大理", description: "风花雪月,四季如春" },
|
|
14
|
+
{ id: "jiangnan", name: "江南", description: "小桥流水,烟雨蒙蒙" },
|
|
15
|
+
{ id: "xiyu", name: "西域", description: "黄沙漫漫,驼铃悠悠" },
|
|
16
|
+
{ id: "xingxiu-sea", name: "星宿海", description: "毒虫遍布,瘴气弥漫" },
|
|
17
|
+
{ id: "gumu", name: "古墓", description: "终南山下,活死人墓" },
|
|
18
|
+
{ id: "lumenzhen", name: "绿柳山庄", description: "赵敏私宅,暗藏玄机" },
|
|
19
|
+
{ id: "jueqing-gu", name: "绝情谷", description: "情花遍地,断肠崖前" },
|
|
20
|
+
{ id: "lingjiu-gong", name: "灵鹫宫", description: "天山飘渺,八荒六合" },
|
|
21
|
+
{ id: "mantuo-shanzhuang", name: "曼陀山庄", description: "茶花满园,王语嫣居所" },
|
|
22
|
+
{ id: "xixia-yipintang", name: "西夏一品堂", description: "西夏招贤纳士之所" },
|
|
23
|
+
{ id: "yanzi-wu", name: "燕子坞", description: "姑苏慕容世家" },
|
|
24
|
+
{ id: "wanan-si", name: "万安寺", description: "大都名刹,藏经万千" },
|
|
25
|
+
{ id: "juxian-zhuang", name: "聚贤庄", description: "英雄聚会,血战之地" },
|
|
26
|
+
{ id: "yanmen-guan", name: "雁门关", description: "塞外雄关,胡汉交融" },
|
|
27
|
+
{ id: "tianlong-si", name: "天龙寺", description: "大理皇家寺院,六脉神剑传承" },
|
|
28
|
+
{ id: "xiangyang-cheng", name: "襄阳城", description: "铁血守城,郭靖黄蓉驻守" },
|
|
29
|
+
{ id: "linan", name: "临安", description: "南宋都城,繁华似锦" },
|
|
30
|
+
{ id: "niujia-cun", name: "牛家村", description: "临安郊外,郭杨两家故居" },
|
|
31
|
+
{ id: "jiaxing", name: "嘉兴", description: "醉仙楼下,江南七怪聚义" },
|
|
32
|
+
{ id: "luoyang", name: "洛阳", description: "古都名邑,天下之中" },
|
|
33
|
+
{ id: "kaifeng", name: "开封", description: "东京汴梁,武林荟萃" },
|
|
34
|
+
{ id: "changan", name: "长安", description: "千年帝都,龙脉所在" },
|
|
35
|
+
{ id: "chengdu", name: "成都", description: "天府之国,蜀中武林" },
|
|
36
|
+
{ id: "hangzhou", name: "杭州", description: "西湖歌舞,人间天堂" },
|
|
37
|
+
{ id: "dadu", name: "大都", description: "元朝帝都,蒙古王廷" },
|
|
38
|
+
{ id: "yingtian-fu", name: "应天府", description: "六朝古都,虎踞龙盘" },
|
|
39
|
+
{ id: "menggu-caoyuan", name: "蒙古草原", description: "天苍苍野茫茫,铁木真起兵之地" },
|
|
40
|
+
{ id: "tianshan", name: "天山", description: "终年积雪,灵鹫宫所在" },
|
|
41
|
+
{ id: "mei-zhuang", name: "梅庄", description: "西湖畔,江南四友隐居" },
|
|
42
|
+
{ id: "xihu", name: "西湖", description: "水光潋滟,梅庄比剑" },
|
|
43
|
+
{ id: "longmen-kezhan", name: "龙门客栈", description: "大漠孤烟,各路豪杰汇聚" },
|
|
44
|
+
{ id: "heimu-ya", name: "黑木崖", description: "日月神教总坛,东方不败居所" },
|
|
45
|
+
{ id: "wubu-gang", name: "五霸冈", description: "群豪聚会,令狐冲扬名" },
|
|
46
|
+
{ id: "siguo-ya", name: "思过崖", description: "华山绝壁,面壁思过之地" },
|
|
47
|
+
{ id: "yaowang-gu", name: "药王谷", description: "毒医程灵素居所,百草丰茂" },
|
|
48
|
+
{ id: "baihua-gu", name: "百花谷", description: "老顽童周伯通隐居之处" },
|
|
49
|
+
{ id: "motian-ya", name: "摩天崖", description: "石破天流落之地,谢烟客居所" },
|
|
50
|
+
{ id: "binghuo-dao", name: "冰火岛", description: "张翠山殷素素流落之孤岛" },
|
|
51
|
+
{ id: "wangpan-shan", name: "王盘山", description: "天鹰教扬刀立威之地" },
|
|
52
|
+
{ id: "qiantang-jiang", name: "钱塘江", description: "潮信如雷,观潮胜地" },
|
|
53
|
+
{ id: "diaoyu-cheng", name: "钓鱼城", description: "合州孤城,抗蒙雄关" },
|
|
54
|
+
{ id: "quanzhen-jiao", name: "全真教", description: "终南山重阳宫,天下正宗" },
|
|
55
|
+
{ id: "tiezhang-feng", name: "铁掌峰", description: "裘千仞铁掌水上漂" },
|
|
56
|
+
{ id: "guiyun-zhuang", name: "归云庄", description: "太湖之畔,陆乘风庄主" },
|
|
57
|
+
{ id: "yalong-zhuang", name: "压龙庄", description: "太行山中,武林秘境" },
|
|
58
|
+
{ id: "zhujian-gu", name: "铸剑谷", description: "剑气冲天,神兵出世" },
|
|
59
|
+
{ id: "yandang-shan", name: "雁荡山", description: "海上名山,寰中绝胜" },
|
|
60
|
+
{ id: "wuyue", name: "五岳", description: "泰山之雄,华山之险" },
|
|
61
|
+
{ id: "taishan", name: "泰山", description: "五岳之首,东岳大帝" },
|
|
62
|
+
{ id: "hengshan-nan", name: "南岳衡山", description: "五岳之中,衡山派所在" },
|
|
63
|
+
{ id: "hengshan-bei", name: "北岳恒山", description: "悬空寺上,令狐冲掌门" },
|
|
64
|
+
{ id: "songshan", name: "嵩山", description: "中岳峻极,左冷禅图霸" },
|
|
65
|
+
{ id: "taihang-shan", name: "太行山", description: "巍峨太行,北国雄山" },
|
|
66
|
+
{ id: "qilianshan", name: "祁连山", description: "河西走廊,丝路要冲" },
|
|
67
|
+
{ id: "tianchi", name: "天池", description: "天山明珠,碧波如镜" },
|
|
68
|
+
{ id: "qiankun-gu", name: "乾坤谷", description: "深谷幽壑,乾坤大挪移传承" },
|
|
69
|
+
{ id: "shenlong-dao", name: "神龙岛", description: "神龙教总坛,洪安通居所" },
|
|
70
|
+
{ id: "taihu", name: "太湖", description: "烟波浩渺,归云庄畔" },
|
|
71
|
+
{ id: "dongting-hu", name: "洞庭湖", description: "八百里洞庭,君山丐帮大会" },
|
|
72
|
+
{ id: "junshan", name: "君山", description: "洞庭湖中,丐帮论剑" },
|
|
73
|
+
{ id: "poyang-hu", name: "鄱阳湖", description: "水战之地,群雄争霸" },
|
|
74
|
+
{ id: "changjiang", name: "长江", description: "大江东去,浪淘尽英雄" },
|
|
75
|
+
{ id: "huanghe", name: "黄河", description: "九曲黄河万里沙" },
|
|
76
|
+
{ id: "jinghu", name: "镜湖", description: "水如明镜,阿碧泛舟" },
|
|
77
|
+
{ id: "cangshan", name: "苍山", description: "大理苍山,雪峰入云" },
|
|
78
|
+
{ id: "erhai", name: "洱海", description: "大理洱海,风花雪月" },
|
|
79
|
+
{ id: "nanjiang", name: "南疆", description: "大漠戈壁,胡杨不朽" },
|
|
80
|
+
{ id: "beijiang", name: "北疆", description: "冰天雪地,驯鹿游牧" },
|
|
81
|
+
{ id: "hexi-zoulang", name: "河西走廊", description: "丝路咽喉,敦煌莫高" },
|
|
82
|
+
{ id: "dunhuang", name: "敦煌", description: "千佛洞窟,藏经万卷" },
|
|
83
|
+
{ id: "yumen-guan", name: "玉门关", description: "春风不度,边塞雄关" },
|
|
84
|
+
{ id: "yangguan", name: "阳关", description: "西出阳关无故人" },
|
|
85
|
+
{ id: "jiayu-guan", name: "嘉峪关", description: "天下第一雄关" },
|
|
86
|
+
{ id: "baoji", name: "宝鸡", description: "陈仓古道,暗度之策" },
|
|
87
|
+
{ id: "hanzhong", name: "汉中", description: "蜀道咽喉,兵家必争" },
|
|
88
|
+
{ id: "shu-dao", name: "蜀道", description: "难于上青天,剑阁峥嵘" },
|
|
89
|
+
{ id: "jiange", name: "剑阁", description: "一夫当关,万夫莫开" },
|
|
90
|
+
{ id: "emei-jinding", name: "峨眉金顶", description: "云海佛光,灭绝师太修行" },
|
|
91
|
+
{ id: "qingcheng-shan", name: "青城山", description: "青城天下幽,余沧海据守" },
|
|
92
|
+
{ id: "shushan", name: "蜀山", description: "剑仙传说,云雾缭绕" },
|
|
93
|
+
{ id: "wuyi-shan", name: "武夷山", description: "丹霞碧水,茶香四溢" },
|
|
94
|
+
{ id: "huangshan", name: "黄山", description: "奇松怪石,云海温泉" },
|
|
95
|
+
{ id: "lushan", name: "庐山", description: "飞流直下三千尺" },
|
|
96
|
+
{ id: "jiuhua-shan", name: "九华山", description: "佛教名山,地藏道场" },
|
|
97
|
+
{ id: "putuo-shan", name: "普陀山", description: "海天佛国,观音道场" },
|
|
98
|
+
{ id: "dali-huangcheng", name: "大理皇城", description: "段氏世袭,天龙八部之根" },
|
|
99
|
+
{ id: "tianzhu-si", name: "天竺寺", description: "西域佛国,梵音袅袅" },
|
|
100
|
+
{ id: "bosiy-guo", name: "波斯", description: "明教圣火令来源之地" },
|
|
101
|
+
{ id: "gaoli", name: "高丽", description: "半岛之国,武风亦盛" },
|
|
102
|
+
{ id: "liugiu", name: "琉球", description: "海上仙山,侠客流落" },
|
|
103
|
+
{ id: "nanyang", name: "南洋", description: "碧波万顷,海盗出没" },
|
|
104
|
+
{ id: "fuguimen", name: "鬼门", description: "鬼门关前,生死一线" },
|
|
105
|
+
{ id: "jiuyin-shan", name: "九阴山", description: "阴风阵阵,九阴真经出世" },
|
|
106
|
+
{ id: "duan-chang-ya", name: "断肠崖", description: "十六年后,绝情谷底" },
|
|
107
|
+
{ id: "fairy-cave", name: "仙人洞", description: "洞天福地,秘籍藏于此" },
|
|
108
|
+
{ id: "jianzhong", name: "剑冢", description: "独孤求败埋剑之地" },
|
|
109
|
+
{ id: "huoyan-dong", name: "火焰洞", description: "昆仑山中,烈焰熊熊" },
|
|
110
|
+
{ id: "bingku", name: "冰窟", description: "千年寒冰,寒气逼人" },
|
|
111
|
+
{ id: "zang-jing-ge", name: "藏经阁", description: "少林七十二绝技秘藏之所" },
|
|
112
|
+
{ id: "da-mo-dong", name: "达摩洞", description: "面壁九年,影入石中" },
|
|
113
|
+
{ id: "jinfeng-xi", name: "金风细雨楼", description: "汴京第一酒楼,群侠聚会" },
|
|
114
|
+
{ id: "zui-xian-lou", name: "醉仙楼", description: "嘉兴名楼,七怪赌约" },
|
|
115
|
+
{ id: "fei-hu-wai-chuan-shan", name: "雪山飞狐山", description: "辽东雪山,胡斐追杀之路" },
|
|
116
|
+
{ id: "yuan-yang-dao-cun", name: "鸳鸯刀村", description: "江湖传言鸳鸯宝刀出没之地" },
|
|
117
|
+
{ id: "bai-ma-xi-feng-guan", name: "白马西风关", description: "大漠黄沙,李文秀故乡" },
|
|
118
|
+
{ id: "yue-nv-jian-tai", name: "越女剑台", description: "春秋遗迹,越女剑法传承" },
|
|
119
|
+
];
|
|
120
|
+
const EVENTS = [
|
|
121
|
+
{ id: "lu-jian-bu-ping", name: "路见不平", description: "拔刀相助,击败恶人", goldMin: 5, goldMax: 20, xpMin: 10, xpMax: 30 },
|
|
122
|
+
{ id: "cang-bao-tu", name: "藏宝图", description: "偶得藏宝图,寻得宝物", goldMin: 20, goldMax: 80, xpMin: 5, xpMax: 15 },
|
|
123
|
+
{ id: "gao-ren-zhi-dian", name: "偶遇高人", description: "高人指点一二,获益良多", goldMin: 0, goldMax: 10, xpMin: 30, xpMax: 80 },
|
|
124
|
+
{ id: "zhong-du", name: "中毒", description: "误中剧毒,花费金币解毒", goldMin: -30, goldMax: -5, xpMin: 5, xpMax: 15 },
|
|
125
|
+
{ id: "wu-lin-da-hui", name: "武林大会", description: "比武招亲,大展身手", goldMin: 30, goldMax: 100, xpMin: 20, xpMax: 60 },
|
|
126
|
+
{ id: "shang-ren-jiao-yi", name: "行商交易", description: "与西域商人交易,赚取差价", goldMin: 10, goldMax: 50, xpMin: 0, xpMax: 5 },
|
|
127
|
+
{ id: "shan-dong-qi-yu", name: "山洞奇遇", description: "发现隐秘山洞,获得秘宝", goldMin: 0, goldMax: 20, xpMin: 15, xpMax: 50 },
|
|
128
|
+
{ id: "zao-fu-ji", name: "遭受埋伏", description: "山路遇伏,奋力突围", goldMin: -10, goldMax: 5, xpMin: 20, xpMax: 40 },
|
|
129
|
+
{ id: "cha-guan-chuan-wen", name: "茶馆传闻", description: "茶馆听书,获得江湖消息", goldMin: 0, goldMax: 5, xpMin: 5, xpMax: 15 },
|
|
130
|
+
{ id: "jiu-zhu-qi-gai", name: "救助乞丐", description: "施舍银两,乞丐感恩", goldMin: -5, goldMax: 0, xpMin: 10, xpMax: 25 },
|
|
131
|
+
{ id: "cai-yao", name: "采药", description: "山间采药,收获颇丰", goldMin: 5, goldMax: 15, xpMin: 5, xpMax: 10 },
|
|
132
|
+
{ id: "yue-ye-xiu-lian", name: "月夜修炼", description: "月圆之夜,灵气充沛", goldMin: 0, goldMax: 5, xpMin: 30, xpMax: 60 },
|
|
133
|
+
{ id: "tou-xue-wu-gong", name: "偷学武功", description: "暗中窥探高人过招,偷得一招半式", goldMin: 0, goldMax: 5, xpMin: 20, xpMax: 50 },
|
|
134
|
+
{ id: "bi-wu-zhao-qin", name: "比武招亲", description: "穆念慈擂台比武,英雄竞逐", goldMin: 10, goldMax: 50, xpMin: 15, xpMax: 40 },
|
|
135
|
+
{ id: "mi-ji-can-ye", name: "发现秘籍残页", description: "破庙墙缝中发现武功残页", goldMin: 0, goldMax: 10, xpMin: 25, xpMax: 60 },
|
|
136
|
+
{ id: "jiu-ren", name: "解救被困之人", description: "从恶人手中救出无辜百姓", goldMin: 5, goldMax: 30, xpMin: 15, xpMax: 35 },
|
|
137
|
+
{ id: "bei-ren-pian", name: "被人欺骗", description: "假扮高人的骗子骗走了银两", goldMin: -30, goldMax: -5, xpMin: 5, xpMax: 15 },
|
|
138
|
+
{ id: "jian-he-qi-shi", name: "剑河奇石", description: "河滩上捡到一块玄铁奇石", goldMin: 10, goldMax: 40, xpMin: 5, xpMax: 15 },
|
|
139
|
+
{ id: "qie-qu-bao-wu", name: "夜探宝库", description: "潜入富贵人家,窃得财物", goldMin: 20, goldMax: 80, xpMin: 10, xpMax: 25 },
|
|
140
|
+
{ id: "zhao-yao-zhan-mo", name: "斩妖除魔", description: "遇上邪派弟子作恶,将其击退", goldMin: 5, goldMax: 25, xpMin: 20, xpMax: 45 },
|
|
141
|
+
{ id: "bi-jian-lun-dao", name: "比剑论道", description: "与路过的剑客切磋武艺", goldMin: 0, goldMax: 10, xpMin: 20, xpMax: 40 },
|
|
142
|
+
{ id: "shan-zhong-mi-jing", name: "山中迷径", description: "误入深山密林,偶然发现隐秘山洞", goldMin: 0, goldMax: 15, xpMin: 10, xpMax: 30 },
|
|
143
|
+
{ id: "he-shui-meng-zhu", name: "河水猛涨", description: "山洪暴发,紧急逃生", goldMin: -20, goldMax: -5, xpMin: 10, xpMax: 20 },
|
|
144
|
+
{ id: "qiang-jie-shang-ren", name: "护卫商队", description: "商队遭劫,挺身而出护送到底", goldMin: 15, goldMax: 50, xpMin: 10, xpMax: 30 },
|
|
145
|
+
{ id: "gu-mu-xiu-lian", name: "古墓修炼", description: "进入荒废古墓,静心修炼内功", goldMin: 0, goldMax: 5, xpMin: 30, xpMax: 70 },
|
|
146
|
+
{ id: "meng-gu-she-diao", name: "弯弓射雕", description: "在草原上射落雄鹰,大汗赞赏", goldMin: 5, goldMax: 20, xpMin: 10, xpMax: 25 },
|
|
147
|
+
{ id: "xing-xiu-yao-guai", name: "星宿老怪", description: "丁春秋弟子出没,被迫交手", goldMin: -15, goldMax: 10, xpMin: 15, xpMax: 40 },
|
|
148
|
+
{ id: "sha-hei-dian", name: "夜袭黑店", description: "发现黑店,与黑店老板恶斗", goldMin: 10, goldMax: 35, xpMin: 15, xpMax: 35 },
|
|
149
|
+
{ id: "xue-zhong-song-tan", name: "雪中送炭", description: "大雪封山,救助迷路行商", goldMin: -5, goldMax: 0, xpMin: 15, xpMax: 30 },
|
|
150
|
+
{ id: "si-da-huai-ren", name: "遇上四大恶人", description: "段延庆等人拦路,险象环生", goldMin: -40, goldMax: -10, xpMin: 20, xpMax: 50 },
|
|
151
|
+
{ id: "gu-dao-qiu-sheng", name: "孤岛求生", description: "漂流至荒岛,自力更生", goldMin: -10, goldMax: 0, xpMin: 20, xpMax: 45 },
|
|
152
|
+
{ id: "zhen-jing-bao-tu", name: "争夺宝图", description: "各路豪杰争夺藏宝图,混战一场", goldMin: -20, goldMax: 30, xpMin: 15, xpMax: 40 },
|
|
153
|
+
{ id: "jiao-hua-yi-shi", name: "叫花鸡盛宴", description: "洪七公传授降龙十八掌要诀", goldMin: 0, goldMax: 10, xpMin: 40, xpMax: 80 },
|
|
154
|
+
{ id: "zhen-jing-bi-jiu", name: "争经比酒", description: "与全真道士赌酒论道", goldMin: -10, goldMax: 15, xpMin: 10, xpMax: 30 },
|
|
155
|
+
{ id: "tong-meng-luan-dao", name: "江湖帮派械斗", description: "江湖帮派械斗,卷入其中", goldMin: -15, goldMax: 20, xpMin: 15, xpMax: 35 },
|
|
156
|
+
{ id: "shao-lin-shi-ta", name: "少林石塔", description: "在少林石塔中发现武功壁画", goldMin: 0, goldMax: 5, xpMin: 25, xpMax: 55 },
|
|
157
|
+
{ id: "wu-dang-lun-jian", name: "武当论剑", description: "与武当弟子切磋太极剑法", goldMin: 0, goldMax: 10, xpMin: 20, xpMax: 45 },
|
|
158
|
+
{ id: "emei-shou-jing", name: "峨眉守经", description: "协助峨眉弟子守护经书", goldMin: 5, goldMax: 20, xpMin: 15, xpMax: 35 },
|
|
159
|
+
{ id: "hua-shan-lun-jian", name: "华山论剑", description: "恰逢华山论剑,观摩绝顶高手过招", goldMin: 0, goldMax: 5, xpMin: 50, xpMax: 100 },
|
|
160
|
+
{ id: "hei-mu-ya-zhi-zhan", name: "黑木崖之战", description: "潜入黑木崖,目睹神教内斗", goldMin: -25, goldMax: 15, xpMin: 25, xpMax: 55 },
|
|
161
|
+
{ id: "ming-jiao-qi-yi", name: "明教起义", description: "加入明教义军,攻城拔寨", goldMin: 10, goldMax: 60, xpMin: 20, xpMax: 50 },
|
|
162
|
+
{ id: "xi-xia-gong-zhu", name: "西夏驸马", description: "西夏招亲大会,一试身手", goldMin: 30, goldMax: 100, xpMin: 15, xpMax: 40 },
|
|
163
|
+
{ id: "tian-long-si-bi-jian", name: "天龙寺比剑", description: "天龙寺高僧以六脉神剑相试", goldMin: 0, goldMax: 10, xpMin: 30, xpMax: 65 },
|
|
164
|
+
{ id: "xiang-yang-shou-cheng", name: "襄阳守城", description: "蒙古大军压境,协助守城", goldMin: 20, goldMax: 80, xpMin: 30, xpMax: 60 },
|
|
165
|
+
{ id: "gui-yun-zhuang-qi-yu", name: "归云庄奇遇", description: "太湖归云庄中遇到前辈高人", goldMin: 5, goldMax: 20, xpMin: 20, xpMax: 50 },
|
|
166
|
+
{ id: "tie-zhang-pi-shi", name: "铁掌劈石", description: "铁掌峰上习得铁掌功皮毛", goldMin: 0, goldMax: 5, xpMin: 20, xpMax: 45 },
|
|
167
|
+
{ id: "tai-hu-lun-jian", name: "太湖论剑", description: "太湖畔群豪比武,一展身手", goldMin: 10, goldMax: 40, xpMin: 15, xpMax: 35 },
|
|
168
|
+
{ id: "dong-ting-shui-zhan", name: "洞庭水战", description: "洞庭湖上水战,刀光剑影", goldMin: -20, goldMax: 25, xpMin: 20, xpMax: 45 },
|
|
169
|
+
{ id: "chang-jiang-du-he", name: "长江渡河", description: "渡河时遭遇水匪袭击", goldMin: -15, goldMax: 10, xpMin: 10, xpMax: 30 },
|
|
170
|
+
{ id: "huang-he-jue-dou", name: "黄河决斗", description: "黄河岸边与仇家决一死战", goldMin: -25, goldMax: 30, xpMin: 20, xpMax: 50 },
|
|
171
|
+
{ id: "si-guo-ya-wu-gong", name: "思过崖发现武功", description: "在思过崖石壁上发现五岳剑法", goldMin: 0, goldMax: 5, xpMin: 35, xpMax: 75 },
|
|
172
|
+
{ id: "du-gu-qiu-bai-jian-zhong", name: "剑冢寻剑", description: "独孤求败剑冢中寻得玄铁重剑", goldMin: 0, goldMax: 10, xpMin: 40, xpMax: 80 },
|
|
173
|
+
{ id: "yao-wang-gu-cai-yao", name: "药王谷采药", description: "在药王谷中寻得珍稀药材", goldMin: 10, goldMax: 40, xpMin: 10, xpMax: 25 },
|
|
174
|
+
{ id: "bai-hua-gu-mi-feng", name: "百花谷遇蜂", description: "玉蜂群起攻之,狼狈而逃", goldMin: -10, goldMax: 0, xpMin: 5, xpMax: 15 },
|
|
175
|
+
{ id: "mei-zhuang-bi-jian", name: "梅庄比剑", description: "与江南四友比剑,大获全胜", goldMin: 10, goldMax: 35, xpMin: 25, xpMax: 55 },
|
|
176
|
+
{ id: "xi-hu-yue-ye", name: "西湖月夜", description: "月夜泛舟西湖,心境空明", goldMin: 0, goldMax: 5, xpMin: 15, xpMax: 35 },
|
|
177
|
+
{ id: "bing-huo-dao-liu-luo", name: "冰火岛奇遇", description: "海上漂流至火山岛,发现奇珍", goldMin: 5, goldMax: 30, xpMin: 15, xpMax: 40 },
|
|
178
|
+
{ id: "wang-pan-shan-yang-dao", name: "王盘山扬刀", description: "屠龙刀现世,群雄争夺", goldMin: -30, goldMax: 50, xpMin: 20, xpMax: 50 },
|
|
179
|
+
{ id: "tian-chi-qi-yu", name: "天池奇遇", description: "天池边打坐,顿悟内功心法", goldMin: 0, goldMax: 5, xpMin: 30, xpMax: 65 },
|
|
180
|
+
{ id: "long-men-kezhan-qi-yu", name: "龙门客栈风云", description: "大漠龙门客栈中卷入江湖恩怨", goldMin: -20, goldMax: 30, xpMin: 15, xpMax: 40 },
|
|
181
|
+
{ id: "da-mo-mian-bi", name: "达摩面壁", description: "在达摩洞中静坐参悟,心有所得", goldMin: 0, goldMax: 5, xpMin: 35, xpMax: 75 },
|
|
182
|
+
{ id: "zang-jing-ge-tou-shu", name: "藏经阁偷书", description: "夜潜少林藏经阁,盗得武功秘籍", goldMin: 0, goldMax: 15, xpMin: 30, xpMax: 65 },
|
|
183
|
+
{ id: "quan-zhen-nei-gong", name: "全真内功心法", description: "偶遇全真道人传授内功要诀", goldMin: 0, goldMax: 5, xpMin: 25, xpMax: 55 },
|
|
184
|
+
{ id: "qiao-feng-da-hui", name: "乔峰打虎", description: "与乔峰并肩作战击退猛兽", goldMin: 5, goldMax: 20, xpMin: 25, xpMax: 55 },
|
|
185
|
+
{ id: "xu-zhu-po-zhen", name: "虚竹破珍珑", description: "破解珍珑棋局,获得无崖子传功", goldMin: 0, goldMax: 10, xpMin: 50, xpMax: 100 },
|
|
186
|
+
{ id: "duan-yu-xi-xue", name: "段誉吸功", description: "无意中触发北冥神功,吸人内力", goldMin: 0, goldMax: 5, xpMin: 30, xpMax: 60 },
|
|
187
|
+
{ id: "ling-hu-chong-chuan-jian", name: "令狐冲传剑", description: "风清扬现身传授独孤九剑", goldMin: 0, goldMax: 5, xpMin: 45, xpMax: 90 },
|
|
188
|
+
{ id: "zhang-wuji-xue-yi", name: "张无忌学医", description: "蝴蝶谷中学习医术,妙手回春", goldMin: 5, goldMax: 20, xpMin: 15, xpMax: 35 },
|
|
189
|
+
{ id: "guo-jing-xue-gong", name: "郭靖学武", description: "江南七怪联手传授外家功夫", goldMin: 0, goldMax: 10, xpMin: 20, xpMax: 50 },
|
|
190
|
+
{ id: "yang-guo-duan-bi", name: "杨过断臂奇遇", description: "悲愤中悟出黯然销魂掌", goldMin: 0, goldMax: 5, xpMin: 40, xpMax: 85 },
|
|
191
|
+
{ id: "huang-rong-po-zhen", name: "黄蓉破阵", description: "协助黄蓉破解桃花岛阵法", goldMin: 10, goldMax: 30, xpMin: 20, xpMax: 45 },
|
|
192
|
+
{ id: "ou-yang-feng-fa-kuang", name: "欧阳锋发狂", description: "逆练九阴真经走火入魔的欧阳锋突然出现", goldMin: -20, goldMax: 15, xpMin: 15, xpMax: 40 },
|
|
193
|
+
{ id: "huang-ya-shi-shi-cao", name: "黄药师试招", description: "桃花岛主亲自试招,受益匪浅", goldMin: 0, goldMax: 10, xpMin: 30, xpMax: 60 },
|
|
194
|
+
{ id: "yi-deng-da-shi-zhi-shang", name: "一灯大师治伤", description: "受重伤后被一灯大师以一阳指救治", goldMin: -10, goldMax: 0, xpMin: 15, xpMax: 35 },
|
|
195
|
+
{ id: "zhou-bo-tong-dao-luan", name: "老顽童捣乱", description: "周伯通纠缠比试,左右互搏", goldMin: 0, goldMax: 5, xpMin: 20, xpMax: 45 },
|
|
196
|
+
{ id: "hong-qi-gong-chi-ji", name: "洪七公吃鸡", description: "以叫花鸡换取降龙十八掌一招", goldMin: -5, goldMax: 0, xpMin: 25, xpMax: 55 },
|
|
197
|
+
{ id: "dong-fang-bu-bai", name: "遭遇东方不败", description: "东方不败以绣花针力战群雄", goldMin: -40, goldMax: 10, xpMin: 30, xpMax: 65 },
|
|
198
|
+
{ id: "ren-wo-xing-xi-na", name: "任我行吸星", description: "任我行以吸星大法吸取内力", goldMin: -20, goldMax: 0, xpMin: 15, xpMax: 40 },
|
|
199
|
+
{ id: "xie-xun-fa-feng", name: "谢逊发狂", description: "金毛狮王发狂,大杀四方", goldMin: -30, goldMax: 5, xpMin: 20, xpMax: 50 },
|
|
200
|
+
{ id: "wei-xiao-bao-du", name: "韦小宝赌钱", description: "与韦小宝掷骰子赌银子", goldMin: -30, goldMax: 50, xpMin: 0, xpMax: 10 },
|
|
201
|
+
{ id: "chen-jia-luo-fan-qing", name: "陈家洛反清", description: "红花会群雄密谋反清复明", goldMin: 10, goldMax: 40, xpMin: 15, xpMax: 35 },
|
|
202
|
+
{ id: "di-long-dian-nao", name: "地牢脱困", description: "被困地牢,以内力震断锁链", goldMin: -5, goldMax: 10, xpMin: 20, xpMax: 45 },
|
|
203
|
+
{ id: "an-qi-ming-pai", name: "暗器名家", description: "偶遇暗器高手,习得暗器手法", goldMin: 0, goldMax: 10, xpMin: 15, xpMax: 40 },
|
|
204
|
+
{ id: "shen-bing-chu-shi", name: "神兵出世", description: "铁匠铺中亲眼见证绝世宝剑铸造", goldMin: -20, goldMax: 0, xpMin: 10, xpMax: 30 },
|
|
205
|
+
{ id: "mi-lin-zhui-sha", name: "密林追杀", description: "被仇家追杀入密林,九死一生", goldMin: -25, goldMax: 5, xpMin: 20, xpMax: 45 },
|
|
206
|
+
{ id: "gu-dao-chuan-gong", name: "高人传功", description: "垂死高人临终前传授毕生功力", goldMin: 0, goldMax: 5, xpMin: 40, xpMax: 90 },
|
|
207
|
+
{ id: "du-quan-jiao-dou", name: "毒犬夹攻", description: "恶人放出毒犬围攻", goldMin: -15, goldMax: 5, xpMin: 10, xpMax: 25 },
|
|
208
|
+
{ id: "yi-rong-shu", name: "习得易容术", description: "偶遇江湖术士,学会易容术", goldMin: 0, goldMax: 5, xpMin: 10, xpMax: 25 },
|
|
209
|
+
{ id: "da-si-bu-tou", name: "打探消息", description: "在酒馆打探到有价值的江湖消息", goldMin: -5, goldMax: 0, xpMin: 5, xpMax: 15 },
|
|
210
|
+
{ id: "she-shen-jiu-ren", name: "舍身救人", description: "从悬崖边救回落难少女", goldMin: -10, goldMax: 5, xpMin: 15, xpMax: 35 },
|
|
211
|
+
{ id: "wu-gong-qie-cuo", name: "武林切磋", description: "与各派弟子友好切磋,互相学习", goldMin: 0, goldMax: 10, xpMin: 15, xpMax: 35 },
|
|
212
|
+
{ id: "jing-biao-hu-song", name: "镖局护送", description: "接受镖局委托,押送货物", goldMin: 15, goldMax: 60, xpMin: 10, xpMax: 30 },
|
|
213
|
+
{ id: "shan-dao-jie-dao", name: "山盗截道", description: "山路遇劫匪,奋力抵抗", goldMin: -25, goldMax: 10, xpMin: 15, xpMax: 35 },
|
|
214
|
+
{ id: "pu-sa-youshan", name: "菩萨保佑", description: "寺庙上香后好运连连", goldMin: 5, goldMax: 25, xpMin: 5, xpMax: 15 },
|
|
215
|
+
{ id: "jiang-hu-zhui-sha-ling", name: "江湖追杀令", description: "被人悬赏追杀,四处逃亡", goldMin: -40, goldMax: -10, xpMin: 15, xpMax: 35 },
|
|
216
|
+
{ id: "qi-men-dun-jia", name: "奇门遁甲", description: "误入奇门阵法,费尽心力破阵而出", goldMin: -10, goldMax: 5, xpMin: 20, xpMax: 50 },
|
|
217
|
+
{ id: "long-quan-bao-jian", name: "龙泉宝剑", description: "在铸剑谷觅得一把上好宝剑", goldMin: -15, goldMax: 0, xpMin: 10, xpMax: 25 },
|
|
218
|
+
{ id: "ye-zhan-qun-lang", name: "夜战群狼", description: "雪原上遭遇狼群围攻", goldMin: -15, goldMax: 5, xpMin: 15, xpMax: 40 },
|
|
219
|
+
{ id: "du-jing-wu-dao", name: "毒经悟道", description: "研读毒经,领悟以毒攻毒之法", goldMin: 0, goldMax: 10, xpMin: 20, xpMax: 50 },
|
|
220
|
+
{ id: "shan-chuan-xing-lv", name: "山川行旅", description: "翻山越岭,体魄日益强健", goldMin: 0, goldMax: 5, xpMin: 10, xpMax: 25 },
|
|
221
|
+
{ id: "gu-dao-chuan-qi", name: "孤岛传奇", description: "在无人海洞中发现前朝高人遗物", goldMin: 10, goldMax: 50, xpMin: 15, xpMax: 40 },
|
|
222
|
+
{ id: "qian-ceng-ta-shi", name: "千层塔试炼", description: "登上千层石塔顶端,获得传承", goldMin: 5, goldMax: 20, xpMin: 30, xpMax: 65 },
|
|
223
|
+
{ id: "wu-ming-lao-ren", name: "无名老人", description: "路旁无名老翁竟是隐世高手", goldMin: 0, goldMax: 10, xpMin: 25, xpMax: 55 },
|
|
224
|
+
{ id: "bing-xue-qi-yuan", name: "冰雪奇缘", description: "冰窟中发现千年寒玉,修炼事半功倍", goldMin: 0, goldMax: 5, xpMin: 30, xpMax: 70 },
|
|
225
|
+
{ id: "yi-jing-jing-can-ye", name: "易筋经残页", description: "在废墟中发现易筋经残页", goldMin: 0, goldMax: 5, xpMin: 35, xpMax: 75 },
|
|
226
|
+
{ id: "mo-ya-shi-bi", name: "摩崖石壁", description: "悬崖石壁上刻有上乘武功图谱", goldMin: 0, goldMax: 5, xpMin: 25, xpMax: 55 },
|
|
227
|
+
{ id: "shaolin-seng-bing", name: "少林僧兵", description: "协助少林武僧巡逻,击退山贼", goldMin: 5, goldMax: 25, xpMin: 15, xpMax: 35 },
|
|
228
|
+
{ id: "tai-chi-quan-wu", name: "太极拳悟", description: "观张三丰打太极,若有所悟", goldMin: 0, goldMax: 5, xpMin: 30, xpMax: 60 },
|
|
229
|
+
{ id: "hei-feng-shuang-sha", name: "黑风双煞", description: "遭遇铜尸铁尸,凶险万分", goldMin: -35, goldMax: -10, xpMin: 20, xpMax: 45 },
|
|
230
|
+
{ id: "xiang-long-shi-ba-zhang", name: "降龙十八掌", description: "洪七公心情大好,传授一掌", goldMin: 0, goldMax: 5, xpMin: 35, xpMax: 75 },
|
|
231
|
+
{ id: "liu-mai-shen-jian", name: "六脉神剑", description: "天龙寺中偶见六脉神剑残谱", goldMin: 0, goldMax: 5, xpMin: 30, xpMax: 65 },
|
|
232
|
+
{ id: "xuan-ming-er-lao", name: "玄冥二老", description: "玄冥神掌寒毒入体,耗费银两求医", goldMin: -50, goldMax: -15, xpMin: 15, xpMax: 40 },
|
|
233
|
+
];
|
|
234
|
+
export function getLocation() {
|
|
235
|
+
return LOCATIONS[Math.floor(Math.random() * LOCATIONS.length)];
|
|
236
|
+
}
|
|
237
|
+
export function getEvent() {
|
|
238
|
+
return EVENTS[Math.floor(Math.random() * EVENTS.length)];
|
|
239
|
+
}
|
|
240
|
+
/** 生成一次江湖遭遇(100% 触发) */
|
|
241
|
+
export function generateEncounter(level, equippedWeaponAtk, currentHp, maxHp) {
|
|
242
|
+
const loc = getLocation();
|
|
243
|
+
const evt = getEvent();
|
|
244
|
+
const gold = Math.floor(evt.goldMin + Math.random() * (evt.goldMax - evt.goldMin));
|
|
245
|
+
const xp = Math.floor(evt.xpMin + Math.random() * (evt.xpMax - evt.xpMin));
|
|
246
|
+
const roll = Math.random();
|
|
247
|
+
const playerPower = level * 3 + equippedWeaponAtk + Math.floor(currentHp / 10);
|
|
248
|
+
// 30% 遭遇角色
|
|
249
|
+
if (roll < 0.30) {
|
|
250
|
+
const char = getRandomCharacterName();
|
|
251
|
+
const friendly = Math.random() > 0.4;
|
|
252
|
+
if (friendly) {
|
|
253
|
+
// 友好遭遇:切磋、指点、赠送
|
|
254
|
+
const subRoll = Math.random();
|
|
255
|
+
if (subRoll < 0.4) {
|
|
256
|
+
// 切磋武艺
|
|
257
|
+
const xpGain = 10 + Math.floor(Math.random() * 30) + level * 2;
|
|
258
|
+
return { type: "encounter", location: loc.name, name: `📍${loc.name} · 遇见${char}`,
|
|
259
|
+
description: `${char}邀请你切磋武艺,双方过招数回合,获益良多`,
|
|
260
|
+
xpAmount: xpGain, goldAmount: 0, encounterChar: char };
|
|
261
|
+
}
|
|
262
|
+
else if (subRoll < 0.7) {
|
|
263
|
+
// 赠送银两
|
|
264
|
+
const goldGift = 5 + Math.floor(Math.random() * 20) + level;
|
|
265
|
+
return { type: "encounter", location: loc.name, name: `📍${loc.name} · ${char}赠银`,
|
|
266
|
+
description: `${char}见你行走江湖不易,赠予${goldGift}两白银`,
|
|
267
|
+
xpAmount: 5, goldAmount: goldGift, encounterChar: char };
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
// 指点武功
|
|
271
|
+
const xpGain = 20 + Math.floor(Math.random() * 40) + level * 3;
|
|
272
|
+
return { type: "encounter", location: loc.name, name: `📍${loc.name} · ${char}指点`,
|
|
273
|
+
description: `${char}见你根骨不错,指点了一招半式,顿觉功力精进`,
|
|
274
|
+
xpAmount: xpGain, goldAmount: 0, encounterChar: char };
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
// 敌对遭遇 → 战斗
|
|
279
|
+
const enemyPower = Math.max(5, playerPower + Math.floor((Math.random() - 0.3) * playerPower * 0.5));
|
|
280
|
+
const win = playerPower + Math.random() * playerPower * 0.5 >= enemyPower;
|
|
281
|
+
if (win) {
|
|
282
|
+
const goldLoot = 5 + Math.floor(Math.random() * 25) + level * 2;
|
|
283
|
+
const xpGain = 15 + Math.floor(Math.random() * 30) + level * 2;
|
|
284
|
+
const hpLoss = Math.floor(Math.random() * maxHp * 0.15) + 1;
|
|
285
|
+
return { type: "battle", location: loc.name, name: `⚔️${loc.name} · 战${char}`,
|
|
286
|
+
description: `${char}拦路挑衅!激战数合,你使出看家本领将其击退`,
|
|
287
|
+
xpAmount: xpGain, goldAmount: goldLoot, battleResult: "win", hpChange: -hpLoss, encounterChar: char };
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
const hpLoss = Math.floor(Math.random() * maxHp * 0.25) + 1;
|
|
291
|
+
const goldLoss = Math.min(Math.floor(Math.random() * 15) + 5, level * 2);
|
|
292
|
+
return { type: "battle", location: loc.name, name: `⚔️${loc.name} · 战${char}败`,
|
|
293
|
+
description: `${char}武功高强,你招架不住,负伤败退`,
|
|
294
|
+
xpAmount: 5, goldAmount: -goldLoss, battleResult: "lose", hpChange: -hpLoss, encounterChar: char };
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
// 20% 江湖事件(纯事件)
|
|
299
|
+
if (roll < 0.50) {
|
|
300
|
+
return { type: "event", location: loc.name, name: `📍${loc.name} · ${evt.name}`,
|
|
301
|
+
description: `${loc.description}——${evt.description}`,
|
|
302
|
+
goldAmount: gold, xpAmount: xp };
|
|
303
|
+
}
|
|
304
|
+
// 10% 武功秘籍掉落(需要 Lv.5+)
|
|
305
|
+
if (roll < 0.60 && level >= 5) {
|
|
306
|
+
const skill = SKILL_POOL[Math.floor(Math.random() * SKILL_POOL.length)];
|
|
307
|
+
return { type: "skill_scroll", name: `📜${skill.name}秘籍`,
|
|
308
|
+
description: `${skill.description} · ${ELEMENT_SYMBOL[skill.element]}${skill.element}`,
|
|
309
|
+
skillScrollId: skill.id, xpAmount: 0, goldAmount: 0 };
|
|
310
|
+
}
|
|
311
|
+
// 10% 武器掉落
|
|
312
|
+
if (roll < 0.70) {
|
|
313
|
+
const candidates = WEAPON_DEFS.filter(w => {
|
|
314
|
+
if (w.rarity === "凡品")
|
|
315
|
+
return level >= 1;
|
|
316
|
+
if (w.rarity === "良品")
|
|
317
|
+
return level >= 5;
|
|
318
|
+
if (w.rarity === "精品")
|
|
319
|
+
return level >= 15;
|
|
320
|
+
if (w.rarity === "极品")
|
|
321
|
+
return level >= 30;
|
|
322
|
+
if (w.rarity === "神器")
|
|
323
|
+
return level >= 50;
|
|
324
|
+
return false;
|
|
325
|
+
});
|
|
326
|
+
if (candidates.length > 0) {
|
|
327
|
+
const weapon = candidates[Math.floor(Math.random() * candidates.length)];
|
|
328
|
+
return { type: "weapon", name: `${getRaritySymbol(weapon.rarity)}${weapon.name}`,
|
|
329
|
+
description: `${weapon.rarity} · ${ELEMENT_SYMBOL[weapon.element]}${weapon.element} · 攻+${weapon.attack}`,
|
|
330
|
+
weaponId: weapon.id, xpAmount: 0, goldAmount: 0 };
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
// 15% 道具掉落
|
|
334
|
+
if (roll < 0.85) {
|
|
335
|
+
const item = ITEM_DEFS[Math.floor(Math.random() * ITEM_DEFS.length)];
|
|
336
|
+
return { type: "item", name: item.name, description: item.description,
|
|
337
|
+
itemId: item.id, xpAmount: 0, goldAmount: 0 };
|
|
338
|
+
}
|
|
339
|
+
// 15% 金币掉落
|
|
340
|
+
const amount = Math.floor(5 + Math.random() * (10 + level * 2));
|
|
341
|
+
return { type: "gold", name: `${amount} 金币`, description: `路遇散落银两`, goldAmount: amount };
|
|
342
|
+
}
|
|
343
|
+
/** 获取随机角色名(从 100 个角色中随机选) */
|
|
344
|
+
const _CHAR_NAMES = [
|
|
345
|
+
"胡斐", "苗若兰", "程灵素", "苗人凤", "袁紫衣", "马春花",
|
|
346
|
+
"胡一刀", "田归农",
|
|
347
|
+
"狄云", "丁典", "水笙", "戚芳",
|
|
348
|
+
"萧峰", "段誉", "虚竹", "王语嫣", "阿朱", "阿紫", "慕容复", "段正淳",
|
|
349
|
+
"鸠摩智", "木婉清", "钟灵", "游坦之", "天山童姥", "李秋水",
|
|
350
|
+
"郭靖", "黄蓉", "洪七公", "黄药师", "欧阳锋", "周伯通", "杨康", "穆念慈",
|
|
351
|
+
"包惜弱", "瑛姑", "华筝", "哲别", "拖雷", "梅超风", "江南七怪柯镇恶",
|
|
352
|
+
"李文秀",
|
|
353
|
+
"韦小宝", "康熙", "陈近南", "阿珂", "双儿", "沐剑屏", "曾柔", "建宁公主", "苏荃", "方怡",
|
|
354
|
+
"令狐冲", "任盈盈", "东方不败", "岳不群", "风清扬", "林平之", "岳灵珊",
|
|
355
|
+
"左冷禅", "任我行", "向问天",
|
|
356
|
+
"陈家洛", "霍青桐", "香香公主", "文泰来",
|
|
357
|
+
"杨过", "小龙女", "郭襄", "郭芙", "李莫愁", "金轮法王", "陆无双", "程英",
|
|
358
|
+
"公孙止", "耶律齐",
|
|
359
|
+
"石破天", "丁珰", "白阿绣",
|
|
360
|
+
"张无忌", "赵敏", "周芷若", "张三丰", "杨逍", "范遥", "殷天正", "谢逊",
|
|
361
|
+
"韦一笑", "小昭", "殷离", "成昆", "宋远桥", "何足道", "殷素素",
|
|
362
|
+
"袁承志", "温青青", "阿九", "夏雪宜",
|
|
363
|
+
"萧半和", "阿青",
|
|
364
|
+
];
|
|
365
|
+
function getRandomCharacterName() {
|
|
366
|
+
return _CHAR_NAMES[Math.floor(Math.random() * _CHAR_NAMES.length)];
|
|
367
|
+
}
|
|
368
|
+
//# sourceMappingURL=wuxue-encounter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wuxue-encounter.js","sourceRoot":"","sources":["../../extensions/wuxue-encounter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* wuxue-faction.ts — 帮派/门派系统
|
|
3
|
+
* 经典金庸门派,每个门派有属性加成、专属武功、等级称号
|
|
4
|
+
*/
|
|
5
|
+
import type { Element } from "./wuxue-types.js";
|
|
6
|
+
export interface FactionDef {
|
|
7
|
+
id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
emoji: string;
|
|
10
|
+
description: string;
|
|
11
|
+
element: Element;
|
|
12
|
+
bonuses: {
|
|
13
|
+
attack: number;
|
|
14
|
+
defense: number;
|
|
15
|
+
hp: number;
|
|
16
|
+
xp: number;
|
|
17
|
+
gold: number;
|
|
18
|
+
};
|
|
19
|
+
exclusiveSkills: string[];
|
|
20
|
+
rankTitles: string[];
|
|
21
|
+
lore: string;
|
|
22
|
+
requirement: {
|
|
23
|
+
level: number;
|
|
24
|
+
gold: number;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export declare const FACTIONS: FactionDef[];
|
|
28
|
+
export declare function getFaction(id: string): FactionDef | undefined;
|
|
29
|
+
export declare function getAllFactions(): FactionDef[];
|
|
30
|
+
/** 计算门派加成(随贡献度递增) */
|
|
31
|
+
export declare function getFactionBonus(factionId: string, contribution: number): {
|
|
32
|
+
attack: number;
|
|
33
|
+
defense: number;
|
|
34
|
+
hp: number;
|
|
35
|
+
xp: number;
|
|
36
|
+
gold: number;
|
|
37
|
+
};
|
|
38
|
+
/** 获取门派内等级称号 */
|
|
39
|
+
export declare function getFactionRankTitle(factionId: string, contribution: number): string;
|
|
40
|
+
/** 获取门派等级索引 (0-4) */
|
|
41
|
+
export declare function getFactionRankIndex(contribution: number): number;
|
|
42
|
+
/** 增加门派贡献 */
|
|
43
|
+
export declare function addContribution(state: any, amount: number): void;
|