-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathHVSinicization.js
710 lines (644 loc) · 31.9 KB
/
HVSinicization.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
// ==UserScript==
// @name HV - 战斗日志汉化
// @namespace Aloxaf_hentai
// @version 0.5.0
// @description 汉化 HV 战斗日志
// @notice 原作者@qp_xe,物品汉化文本由HV物品装备汉化提供
// @author qp_xe & indefined & 1235789gzy1 & mbbdzz
// @include *://hentaiverse.org/*
// @include *://alt.hentaiverse.org/*
// @grant GM_addStyle
// @grant unsafeWindow
// ==/UserScript==
// 隐藏原先的战斗 log
GM_addStyle('#textlog { display: none }');
let words = {
//可在此自行增加翻译,注意格式
//示例
//'原始文本1': '<span style=\"background:#字体背景色\" >自定义文本1</span>',
//'原始文本2': '<span style=\"color:字体颜色\" >自定义文本2</span>',
//颜色请使用html颜色代码,注意添加逗号
// 恢复
'Refreshment' : '灵力长效药',
'Regeneration' : '生命长效药',
'Replenishment' : '魔力长效药',
'Kicking Ass': '海扁',
'Sleeper Imprint' : '沉睡烙印',
// BUFF 效果
'Regen' : '细胞活化',
'Protection' : '守护',
'Spirit Shield' : '灵力盾',
'Hastened' : '急速',
'Shadow Veil' : '影纱',
'Absorbing Ward' : '吸收结界',
'Spark of Life' : '生命火花',
'Cloak of the Fallen' : '陨落斗篷',
'Heartseeker' : '觅心者',
'Arcane Focus' : '奥术集中',
'Channeling' : '引导',
'Fleeing' : '逃跑',
'Blessing of the RiddleMaster' : '御谜士的祝福',
// 怪物 DEBUFF 效果
'Vital Theft' : '生命汲取',
'Ether Theft' : '魔力汲取',
'Spirit Theft' : '灵力汲取',
'Confused' : '混乱',
'Hastened' : '急速',
'Absorbing Ward' : '吸收结界',
'Slowed' : '缓慢',
'Weakened' : '虚弱',
'Imperiled' : '陷危',
'Blinded' : '盲目',
'Asleep' : '沉眠',
'Silenced' : '沉默',
'Magically Snared' : '魔磁网',
'Vital Theft' : '生命汲取',
//战斗风格
'Overwhelming Strikes': '压制打击',
'Coalesced Mana': '魔力合流',
'Ether Tap' : '魔力回流',
// 物品
'drops a Health Gem powerup!' : '掉落了一颗生命宝石',
'drops a Mana Gem powerup!' : '掉落了一颗魔力宝石',
'drops a Spirit Gem powerup!' : '掉落了一颗灵力宝石',
'drops a Mystic Gem powerup!' : '掉落了一颗神秘宝石',
'Health Gem' : '生命宝石',
'Mana Gem' : '魔力宝石',
'Spirit Gem' : '灵力宝石',
'Mystic Gem' : '神秘宝石',
'Health Potion' : '体力药水',
'Health Draught' : '体力长效药',
'Health Elixir' : '体力秘药',
'Mana Potion' : '法力药水',
'Mana Draught' : '法力长效药',
'Mana Elixir' : '法力秘药',
'Spirit Potion' : '灵力药水',
'Spirit Draught' : '灵力长效药',
'Spirit Elixir' : '灵力秘药',
'Last Elixir' : '终极秘药',
'Energy Drink' : '能量饮料',
'Caffeinated Candy' : '咖啡因糖果',
'Soul Stone' : '灵魂石',
'Flower Vase' : '花瓶',
'Bubble-Gum' : '泡泡糖',
'Infusion of Darkness' : '黑暗魔药',
'Infusion of Divinity' : '神圣魔药',
'Infusion of Storms' : '风暴魔药',
'Infusion of Lightning' : '闪电魔药',
'Infusion of Frost' : '冰冷魔药',
'Infusion of Flames' : '火焰魔药',
'Infusion of Gaia' : '盖亚魔药',
'Scroll of Swiftness' : '加速卷轴',
'Scroll of the Avatar' : '化身卷轴',
'Scroll of Shadows' : '幻影卷轴',
'Scroll of Absorption' : '吸收卷轴',
'Scroll of Life' : '生命卷轴',
'Scroll of Protection' : '保护卷轴',
'Scroll of 守护' : '保护卷轴',
'Scroll of the Gods' : '神之卷轴',
'Soul Fragments':'灵魂碎片',
//攻击咒语效果
'Searing Skin' : '焦灼皮肤',
'Freezing Limbs' : '冰封肢体',
'explodes' : '爆裂',
'Turbulent Air' : '空气湍流',
'Deep Burns' : '深层烧伤',
'Breached Defense' : '防御崩溃',
'Blunted Attack' : '攻击钝化',
// 技能
'Flee' : '逃跑',
'Scan' : '扫描',
'FUS RO DAH' : '龙吼',
'Orbital Friendship Cannon' : '<font color="#FF0000">友</font><font color="#CC0033">谊</font><font color="#990066">小</font><font color="#660099">马</font><font color="#3300CC">炮</font>',
'Concussive Strike' : '震荡打击',
'Skyward Sword' : '天空之剑',
'Frenzied Blows' : '狂乱百裂斩',
'Iris Strike' : '虹膜打击',
'Backstab' : '背刺',
'Shatter Strike' : '粉碎打击',
'Rending Blow' : '撕裂打击',
'Great Cleave' : '大劈砍',
'Merciful Blow' : '最后的慈悲',
'Shield Bash' : '盾击',
'Vital Strike' : '致命打击',
'Arcane Blow' : '奥术冲击',
'Fiery Blast' : '炎爆术(Ⅰ)',
'Inferno' : '地狱火(Ⅱ)',
'Flames of Loki' : '邪神之火(Ⅲ)',
'Freeze' : '冰冻(Ⅰ)',
'Blizzard' : '暴风雪(Ⅱ)',
'Fimbulvetr' : '芬布尔之冬(Ⅲ)',
'Shockblast' : '电能爆破(Ⅰ)',
'Chained Lightning' : '连锁闪电(Ⅱ)',
'Wrath of Thor' : '雷神之怒(Ⅲ)',
'Gale' : '烈风(Ⅰ)',
'Downburst' : '下击暴流(Ⅱ)',
'Storms of Njord' : '尼奥尔德风暴(Ⅲ)',
'Smite' : '惩戒(Ⅰ)',
'Banishment' : '放逐(Ⅱ)',
'Paradise Lost' : '失乐园(Ⅲ)',
'Corruption' : '腐化(Ⅰ)',
'Disintegrate' : '瓦解(Ⅱ)',
'Ragnarok' : '诸神黄昏(Ⅲ)',
'Drain' : '枯竭',
'Slow' : '缓慢',
'Weaken' : '虚弱',
'Silence' : '沉默',
'Sleep' : '沉眠',
'Confuse' : '混乱',
'Imperil' : '陷危',
'Blind' : '致盲',
'MagNet' : '魔磁网',
'Regen' : '细胞活化',
'Full-Cure' : '完全治疗术',
'Cure' : '治疗术',
'Haste' : '急速',
'Protection' : '守护',
'Shadow Veil' : '影纱',
'Absorb' : '吸收',
'Spark of Life' : '生命火花',
'Arcane Focus' : '奥术集中',
'Heartseeker' : '觅心者',
'[sS]pirit [sS]hield' : '灵力盾',
//武器效果
'Penetrated Armor' : '破甲',
'Stunned' : '眩晕',
'Bleeding Wound' : '流血',
'Void Strike':'虚空打击',
'Fire Strike':'火焰打击',
'Cold Strike':'冰霜打击',
'Elec Strike':'闪电打击',
'Wind Strike':'狂风打击',
'Holy Strike':'神圣打击',
'Dark Strike':'黑暗打击',
'spike shield': '刺盾',
// 动作
'Magic Points' : '点<span style=\"color:#639AD4\" > 魔力 </span>',
'evades your attack': '<span style=\"color:#1E90FF\" >闪避了你的攻击</span>',
'evades your spell': '<span style=\"color:#1E90FF\" >闪避了你的法术</span>',
'Your offhand': '<span style=\"color:#1E90FF\" >你的副手攻击</span>',
'casts?': '<span style=\"background:#7CFC00\" >咏唱了</span>',
'uses': '<span style=\"background:#ADFF2F\" >使用了</span>',
'and hits': '<span style=\"color:#FF00FF\" >并击中了</span>',
'hits': '<span style=\"color:#FF00FF\" >击中了</span>',
'and crits': '<span style=\"background:#FF0000;color:#FFFFFF\" >并暴击了</span>',
'crits': '<span style=\"background:#FF0000;color:#FFFFFF\" >暴击了</span>',
'and blasts': '<span style=\"background:#FF0000;color:#FFFFFF\" >并暴击了</span>',
'blasts': '<span style=\"background:#FF0000;color:#FFFFFF\" >暴击了</span>',
'restores' : '<span style=\"color:#006400\" >恢复了你</span>',
'Recovered' : '<span style=\"color:#006400\" >恢复了你</span>',
'You use': '<span style=\"background:#ADFF2F\" >你使用了</span>',
'The effect (.+) was dispelled\.' : '效果 $1 已被替换',
'gains? the effect': '<span style=\"background:#ADFF2F" >获得了状态</span>',
'You crit': '<span style=\"color:#1E90FF\" >你</span><span style=\"background:#FF0000;color:#FFFFFF\" >暴击了</span>',
'You hit': '<span style=\"color:#1E90FF\" >你</span><span style=\"color:#FF00FF\" >击中了</span>',
'You are healed for (.*) Health Points': '你获得<span style=\"color:#006400\" > $1 点生命</span>的治疗',
'You evade the attack from (.*)\.': '<span style=\"color:#696969\" >你闪避了 $1 的攻击.</span>',
'You block the attack from (.*)\.': '<span style=\"color:#696969\" >你格挡了 $1 的攻击</span>',
'You parry the attack from (.*)\.': '<span style=\"color:#696969\" >你招架了 $1 的攻击</span>',
'You evade the attack': '<span style=\"color:#696969\" >你闪避了这次攻击</span>',
'You block the attack': '<span style=\"color:#696969\" >你格挡了这次攻击</span>',
'You parry the attack': '<span style=\"color:#696969\" >你招架了这次攻击</span>',
'Your (.*) absorbs (.*) from the attack into': '你的 $1 吸收了 $2 并转化为 ',
'The effect (.*) on (.*) has expired': '<span style=\"color: #b06161\" >$2 身上的状态 $1 已失效</span>',
'The effect (.*) has expired': '<span style=\"background:#FB6901\" >状态 $1 已失效</span>',
'Cooldown expired for (.*)': '<span style=\"color:#000000\" >$1</span> <span style=\"background:#97ffb2\" >已结束冷却</span>',
'counter (.*) for (.*)': '<span style=\"background:#FFFF00\" >反击</span> $1 <span style=\"color:#e21a1a\" >造成 $2</span>',
'healing (.*) for (.*) points of health': '治疗 $1 <span style=\"color:#006400\" > $2 点生命</span>',
'You drain (.*) points of health from (.*)' : '你从 $2 身上吸取<span style=\"color:#006400\" > $1 点生命</span>',
'but is absorbed': '但被吸收了',
'resisted\\)': '被抵抗)',
'from the brink of defeat': '<span style=\"background:#2E6F15\;color:#FFFFFF" >从死亡的边缘复活了</span>',
// 怪物动作
'misses the attack against' : '攻击没有命中',
'but misses the attack.' : '但这次攻击没有命中',
'parries your attack': '<span style=\"background: #00FFFF\" >招架了你的攻击</span>',
'The effect (.*) on (.*) has expired': '<span style=\"color: #b06161\" >$2 身上的状态 $1 已失效</span>',
'resists your spell' : '<span style=\"background:#81f7f3\" >抵抗了你的魔法</span>',
'got knocked out of confuse' : '从混乱中脱离',
//战斗系统文本
'Spawned Monster': '生成怪物',
'Initializing random encounter' : '正在初始化随机遭遇战',
'Initializing arena challenge' : '正在初始化竞技场战斗',
'Initializing Item World' : '正在初始化道具界战斗',
'Initializing Grindfest' : '正在初始化压榨界战斗',
'Initializing The Tower' : '正在初始化塔楼战斗',
'(.*) has been defeated': '<span style=\"background:#b3b3b3\" >打败了 $1</span>',
'With the light of a new dawn, [yY]our experience in all things increases' : '随着新的黎明的到来,你在所有事情上的经验都增加了',
'have escaped from the battle': '从战斗中脱离了',
'Time Bonus:' : '快速回答奖励:',
'The Riddlemaster listens to your answer, tries to keep a pensive face, then breaks into a wide grin' : '谜语大师听了你的回答,努力保持沉思的表情,然后咧嘴大笑',
'The Riddlemaster listens to your answer and winks at you' : '谜语大师听了你的回答,向你眨眼',
'The Riddlemaster listens to your answer and cackles hysterically.' : '谜语大师听了你的回答,歇斯底里地笑了起来',
'The Riddlemaster listens to your answer and grins mischievously.' : '谜语大师听了你的回答,顽皮地笑了起来',
'The Riddlemaster listens to your answer and shows no reaction whatsoever.' : '谜语大师听了你的回答,没有任何反应',
'The Riddlemaster listens to your answer and snorts ambiguously.' : '谜语大师听了你的回答,含糊地哼了一声',
'Insufficient overcharge or spirit for Spirit Stance.' : '灵力或斗气值不足,无法开启灵动架势',
'Insufficient overcharge to use' : '斗气值不足,无法使用',
'have been defeated' : '被击败了',
'Spirit Stance Engaged': '<span style=\"background:#e21a4e\" >灵动架势开启</span>',
'Spirit Stance Exhausted': '<span style=\"background:#f5b3c4\" >灵动架势关闭</span>',
'Spirit Stance Disabled': '<span style=\"background:#f5b3c4\" >灵动架势无法维持</span>',
'You are Victorious!': '你胜利了',
'You gain': '你获得了',
'You obtained': '你获得了',
'fails due to insufficient Spirit' : '由于灵力不足,没有生效',
'Stop kicking the dead horse' : '别鞭尸啦',
'You gain no EXP due to exhaustion' : '由于你已精疲力竭,因此无法获得经验',
'Warning: Reached equipment inventory limit' : '警告,装备库存已满',
'Invalid target' : '非法目标',
'Item does not exist' : '道具不存在',
'Inventory slot is empty' : '物品栏是空的',
'You do not have a powerup gem' : '宝石不存在',
//结算时各项经验的翻译文本
'one-handed weapon proficiency' : '单手武器的熟练度',
'two-handed weapon proficiency' : '双手武器的熟练度',
'one-handed proficiency' : '单手熟练度',
'two-handed proficiency' : '双手熟练度',
'dual wielding proficiency' : '双持熟练度',
'staff proficiency' : '法杖熟练度',
'cloth armor proficiency' : '布甲熟练度',
'light armor proficiency' : '轻甲熟练度',
'heavy armor proficiency' : '重甲熟练度',
'elemental magic proficiency' : '元素魔法熟练度',
'divine magic proficiency' : '神圣魔法熟练度',
'forbidden magic proficiency' : '黑暗魔法熟练度',
'deprecating magic proficiency' : '减益魔法熟练度',
'supportive magic proficiency' : '增益魔法熟练度',
'A traveling salesmoogle gives':'自动出售后给予了',
'for it':'',
'A traveling salesmoogle salvages it into':'自动分解后给予了',
'Arena Token Bonus!':'获得竞技场令牌奖励!',
'Battle Clear Bonus!':'获得战斗胜利奖励!',
'Capacitor Level':'电容器(魔力+2%/级) 等级',
'Juggernaut Level':'勇士(生命+2%/级) 等级',
'Butcher Level':'屠夫(武器攻击伤害+2%/级) 等级',
'Fatality Level':'致命(攻击暴击伤害+2%/级) 等级',
'Overpower Level':'压制(反招架率+4%/级) 等级',
'Swift Strike Level':'迅捷打击(攻速+1.92%/级) 等级',
'Annihilator Level':'毁灭者(魔法暴击伤害+2%/级) 等级',
'Archmage Level':'大法师(武器魔法伤害+2%/级) 等级',
'Economizer Level':'节约者(魔力消耗减免+5%/级) 等级',
'Penetrator Level':'穿透者(反抵抗率+4%/级) 等级',
'Spellweaver Level':'织法者(施法速度+1.5%/级) 等级',
'Hollowforged':'虚空升华',
'Coldproof Level':'抗寒(冰冷抗性+4%/级) 等级',
'Darkproof Level':'驱暗(黑暗抗性+4%/级) 等级',
'Elecproof Level':'绝缘(闪电抗性+4%/级) 等级',
'Fireproof Level':'耐热(火焰抗性+4%/级) 等级',
'Holyproof Level':'驱圣(神圣抗性+4%/级) 等级',
'Windproof Level':'防风(疾风抗性+4%/级) 等级',
'Unlocked':'解锁',
'innate':'内在',
'potential:':'潜能:',
'potential has increased by':'潜经验提升了',
'points!':'点',
'have reached Level' : '<span style=\"background:#00FF00\" >升级至</span>',
'dropped':'掉落了',
'for (\\d+)': '<span style=\"color:#e21a1a\" >造成 $1</span>',
'[yY]our': '<span style=\"color:#1E90FF\" >你的</span>',
'[yY]ou': '<span style=\"color:#1E90FF\" >你</span>',
// 伤害
'fire damage': '<span style=\"background:#f97c7c\" >火焰伤害</span>',
'cold damage': '<span style=\"background:#94c2f5\" >冰冷伤害</span>',
'void damage': '<span style=\"background:#ffffff\;color:#5c5a5a\" >虚空伤害</span>',
'elec damage': '<span style=\"background:#f4f375\" >闪电伤害</span>',
'wind damage': '<span style=\"background:#7ff97c\" >疾风伤害</span>',
'dark damage': '<span style=\"background:#000000\;color:#ffffff\" >黑暗伤害</span>',
'holy damage': '<span style=\"background:#ffffff\;color:#000000\" >神圣伤害</span>',
'spirit damage': '<span style=\"color:#a2042c\" >灵力值伤害</span>',
'crushing damage': '<span style=\"background:#000000\;color:#F6F504\" >打击伤害</span>',
'slashing damage': '<span style=\"background:#000000\;color:#F6F504\" >斩击伤害</span>',
'piercing damage': '<span style=\"background:#000000\;color:#F6F504\" >刺击伤害</span>',
'damage': '伤害',
'points of': '点',
'health': '<span style=\"color:#006400\" >生命</span>',
'magic': '<span style=\"color:#639AD4\" >魔力</span>',
'spirit': '<span style=\"color:#D4637A\" >灵力</span>',
};
let items_words = {
//以下内容来自HV装备物品汉化
'Crystal of Vigor' : '力量水晶',
'Crystal of Finesse' : '灵巧水晶',
'Crystal of Swiftness' : '敏捷水晶',
'Crystal of Fortitude' : '体质水晶',
'Crystal of Cunning' : '智力水晶',
'Crystal of Knowledge' : '智慧水晶',
'Crystal of Flames' : '火焰水晶',
'Crystal of Frost' : '冰冻水晶',
'Crystal of Lightning' : '闪电水晶',
'Crystal of Tempest' : '疾风水晶',
'Crystal of Devotion' : '神圣水晶',
'Crystal of Corruption' : '暗黑水晶',
'Crystal of Quintessence' : '灵魂水晶',
'Crystal of Corruption' : '腐化水晶',
'Monster Edibles' : '怪物食品',
'Monster Chow' : '怪物口粮',
'Monster Cuisine' : '怪物料理',
'Happy Pills' : '快乐药丸',
'Wispy Catalyst' : '纤细 催化剂',
'Diluted Catalyst' : '稀释 催化剂',
'Regular Catalyst' : '平凡 催化剂',
'Robust Catalyst' : '稳健 催化剂',
'Vibrant Catalyst' : '活力 催化剂',
'Coruscating Catalyst' : '闪耀 催化剂',
'Low-Grade Cloth': '低级布料',
'Mid-Grade Cloth': '中级布料',
'High-Grade Cloth': '高级布料',
'Low-Grade Leather': '低级皮革',
'Mid-Grade Leather': '中级皮革',
'High-Grade Leather': '高级皮革',
'Low-Grade Metals': '低级金属',
'Mid-Grade Metals': '中级金属',
'High-Grade Metals': '高级金属',
'Low-Grade Wood': '低级木头',
'Mid-Grade Wood': '中级木头',
'High-Grade Wood': '高级木头',
'Scrap Metal' : '金属废料',
'Scrap Leather' : '皮革废料',
'Scrap Wood' : '木材废料',
'Scrap Cloth' : '废布料',
'Energy Cell' : '能量元',
'Defense Matrix Modulator' : '力场碎片(盾)',
'Repurposed Actuator' : '动力碎片(重)',
'Shade Fragment' : '暗影碎片(轻)',
'Crystallized Phazon' : '相位碎片(布)',
'Legendary Weapon Core' : '传奇武器核心',
'Peerless Weapon Core' : '无双武器核心',
'Legendary Staff Core' : '传奇法杖核心',
'Peerless Staff Core' : '无双法杖核心',
'Legendary Armor Core' : '传奇护甲核心',
'Peerless Armor Core' : '无双护甲核心',
'Voidseeker Shard' : '虚空碎片',
'Featherweight Shard' : '羽毛碎片',
'Aether Shard' : '以太碎片',
'Amnesia Shard' : '重铸碎片',
'Soul Fragment' : '灵魂碎片',
'Blood Token' : '鲜血令牌',
'Token of Blood' : '鲜血令牌',
'Chaos Token' : '混沌令牌',
'Precursor Artifact' : '古遗物',
'ManBearPig Tail' : '人熊猪的尾巴(等级2)',
'Mithra\'s Flower' : '猫人族的花(等级2)',
'Holy Hand Grenade of Antioch' : '安提阿的神圣手榴弹(等级2)',
'Dalek Voicebox' : '戴立克音箱(等级2)',
'Lock of Blue Hair' : '一绺蓝发(等级2)',
'Bunny-Girl Costume' : '兔女郎装(等级3)',
'Hinamatsuri Doll' : '雏人形(等级3)',
'Broken Glasses' : '破碎的眼镜(等级3)',
'Sapling' : '树苗(等级4)',
'Black T-Shirt' : '黑色T恤(等级4)',
'Unicorn Horn' : '独角兽的角(等级5)',
'Noodly Appendage' : '面条般的附肢(等级6)',
'Festival Coupon' : '节日礼券(等级7)', //2020起收获节(中秋)
'Abstract Art of Fire Hydrants': '抽象艺术消防栓',
'Abstract Art of Staircases': '抽象艺术楼梯',
'Abstract Art of Bridges': '抽象艺术桥梁',
'Abstract Art of Traffic Lights': '抽象艺术红绿灯',
'Abstract Art of Bicycles': '抽象艺术自行车',
'Abstract Art of Tractors': '抽象艺术拖拉机',
'Abstract Art of Busses': '抽象艺术公交车',
'Abstract Art of Motorcycles': '抽象艺术摩托车',
'Abstract Art of Crosswalks': '抽象艺术人行道',
///////////////////////////////////////////武器种类
// 单手武器类
'Dagger':'*匕首(单)',
'Sword Chucks' : '*锁链双剑(单)',
'Shortsword':'短剑(单)',
'Wakizashi':'脇差(单)',
'Axe':'斧(单)',
'Club':'棍(单)',
'Rapier':'<span style=\"background:#ffa500\" >西洋剑</span>(单)',
//双手
'Scythe':'*镰刀(双)',
'Longsword':'长剑(双)',
'Katana':'日本刀(双)',
'Mace':'锤矛(双)',
'Estoc':'刺剑(双)',
//法杖
'Staff':'法杖(双)',
//布甲
'Cap ':'兜帽 ',
'Cap':'兜帽 ',
'Cap$':'兜帽',
'Cap<':'兜帽<',
'Robe':'长袍',
'Gloves':'手套',
'Pants':'短裤',
'Shoes':'鞋',
//轻甲
'Helmet':'头盔',
'Breastplate':'护胸',
'Gauntlets':'手甲',
'Leggings':'绑腿',
//重甲
'Cuirass':'胸甲',
'Armor':'盔甲',
'Sabatons':'铁靴',
'Boots':'马靴',
'Greaves':'护胫',
//锁子甲
'Coif' : '头巾',
'Mitons' : '护手',
'Hauberk' : '装甲',
'Chausses' : '裤',
/////////////////////////////盾或者材料,武器不会出现这个
'Buckler':'圆盾',
'Kite Shield':'鸢盾',
'Tower Shield':'*塔盾',
'Force Shield':'<span style=\"background:#ffa500\" >力场盾</span>',
////////////////////////材质前缀////////////////////////
//布甲
'Cotton':'棉质<span style=\"background:#FFFFFF;color:#000000\" >(布)</span>',
'Gossamer':'*薄纱<span style=\"background:#FFFFFF;color:#000000\" >(布)</span>',
'Silk' : '*丝绸<span style=\"background:#FFFFFF;color:#000000\" >(布)</span>',
'Phase':'<span style=\"background:#ffa500\" >相位</span><span style=\"background:#FFFFFF;color:#000000\" >(布)</span>',
//轻甲
'Leather':'皮革<span style=\"background:#666666;color:#FFFFFF\" >(轻)</span>',
'Kevlar':'*凯夫拉<span style=\"background:#666666;color:#FFFFFF\" >(轻)</span>',
'Dragon Hide' : '*龙皮<span style=\"background:#666666;color:#FFFFFF\" >(轻)</span>',
'Shade':'<span style=\"background:#ffa500\" >暗影</span><span style=\"background:#666666;color:#FFFFFF\" >(轻)</span>',
//重甲
'Chainmail' : '*锁子甲<span style=\"background:#000000;color:#FFFFFF\" >(重)</span>',
'Plate':'板甲<span style=\"background:#000000;color:#FFFFFF\" >(重)</span>',
'Power':'<span style=\"background:#ffa500\" >动力</span><span style=\"background:#000000;color:#FFFFFF\" >(重)</span>',
//法杖
'Ebony':'*乌木',
'Redwood':'红木',
'Willow':'<span style=\"background:#ffa500\" >柳木</span>',
'Oak':'橡木',
'Katalox':'铁木',
///////////////////////////////////////////防具后缀////////////////////////////////////////////
'of Negation':'否定(抵抗+)',
'of the Shadowdancer':'影武者(闪避/攻暴+)',
'of the Arcanist':'秘法(智力/智慧/魔命+)',
'of the Fleet':'迅捷(闪避+)',
'of the Fire-eater':'噬火者',
'of the Thunder-child':'雷之子',
'of the Wind-waker':'风之杖',
'of the Frost-born':'冰人',
'of the Spirit-ward':'灵魂护佑',
'of the Thrice-blessed':'三重祝福',
'of the Stone-skinned':'硬皮',
'of Dampening':'抑制(打减伤+)',
'of Stoneskin':'石肤(斩减伤+)',
'of Deflection':'偏转(刺减伤+)',
'of the Nimble':'灵活(招架+)',
'of the Barrier':'屏障(格挡+)',
'of Protection':'保护(物减伤+)',
'of Warding':'护佑(魔减伤+)',
////////////////////////////////////////////////////武器后缀/////////////////////////////////
'of Slaughter':'<span style=\"background:#FF0000;color:#FFFFFF\" >杀戮(攻击+)</span>',
'of Swiftness':'迅捷(攻速+)',
'of Balance':'平衡(攻命攻暴+)',
'of the Battlecaster':'战法师(魔耗-魔命+)',
'of the Banshee':'女妖(+吸灵)',
'of the Illithid':'汲灵(+吸魔)',
'of the Vampire':'吸血鬼(+吸血)',
'of Destruction':'<span style=\"background:#9400d3;color:#FFFFFF\" >毁灭(法伤+)</span>',
'of Surtr':'<span style=\"background:#f97c7c\" >苏尔特(火伤+)</span>',
'of Niflheim':'<span style=\"background:#94c2f5\" >尼芙菲姆(冰伤+)</span>',
'of Mjolnir':'<span style=\"background:#f4f375\" >姆乔尔尼尔(雷伤+)</span>',
'of Freyr':'<span style=\"background:#7ff97c\" >弗瑞尔(风伤+)</span>',
'of Heimdall':'<span style=\"background:#ffffff\;color:#000000\" >海姆达(圣伤+)</span>',
'of Fenrir':'<span style=\"background:#000000\;color:#ffffff" >芬里尔(暗伤+)</span>',
'of Focus':'专注(法暴法命+魔耗-)',
'of the Elementalist':'元素使(元素熟练+)',
'of the Heaven-sent':'天堂(神圣熟练+)',
'of the Demon-fiend':'恶魔(黑暗熟练+)',
'of the Earth-walker':'地行者(增益熟练+)',
'of the Priestess':'牧师',
'of the Curse-weaver':'织咒者(减益熟练+)',
///////////////武器或者防具属性/////////////////
'Radiant':'<span style=\"background:#ffffff\;color:#000000" >✪魔光的✪(法伤+)</span>',
'Mystic':'神秘的(法爆伤+)',
'Charged':'<span style=\"color:red\" >充能的(施速+)</span>',
'Amber':'<span style=\"background:#ffff00\;color:#9f9f16" >琥珀的(电抗+)</span>',
'Mithril':'<span style=\"color:red\" >秘银的(负重-20%)</span>',
'Agile':'俊敏的(攻速+)',
'Zircon':'<span style=\"background:#ffffff\;color:#5c5a5a" >锆石的(圣抗+)</span>',
'Frugal':'<span style=\"color:red\" >节能的(魔耗-)</span>',
'Jade':'<span style=\"background:#b1f9b1\" >翡翠的(风抗+)</span>',
'Cobalt':'<span style=\"background:#a0f4f4\" >钴石的(冰抗+)</span>',
'Ruby':'<span style=\"background:#ffa6a6\" 红宝石(火抗+)</span>',
'Onyx':'<span style=\"background:#cccccc\" >缟玛瑙(暗抗+)</span>',
'Savage':'<span style=\"color:red\" >残暴的(攻暴伤+)</span>',
'Reinforced':'加固的(斩打刺减伤+)',
'Shielding':'盾化的(格挡+)',
'Arctic':'<span style=\"background:#94c2f5\" >极寒之(冰法伤+)</span>',
'Fiery':'<span style=\"background:#f97c7c\" >灼热之(火法伤+)</span>',
'Shocking':'<span style=\"background:#f4f375\" >闪电之(电法伤+)</span>',
'Tempestuous':'<span style=\"background:#7ff97c\" >风暴之(风法伤+)</span>',
'Hallowed':'<span style=\"background:#ffffff\;color:#000000" >神圣之(圣法伤+)</span>',
'Demonic':'<span style=\"background:#000000\;color:#ffffff" >恶魔之(暗法伤+)</span>',
'Ethereal':'<span style=\"background:#ffffff\;color:#5c5a5a" >虚空之(无负重/干涉)</span>',
/////////////////品质//////////
'Flimsy' : '<span style=\"background:#848482\" >脆弱</span> ',
'Crude':'<span style=\"background:#acacac\" >劣质</span> ',
'Fair':'<span style=\"background:#c1c1c1\" >一般</span> ',
'Average':'<span style=\"background:#dfdfdf\" >中等</span> ',
'Superior':'<span style=\"background:#fbf9f9\" >上等</span> ',
'Fine':'<span style=\"background:#b9ffb9\" >优质</span> ',
'Exquisite':'<span style=\"background:#d7e698\" >✧精良✧</span>',
'Magnificent':'<span style=\"background:#a6daf6\" >☆史诗☆</span>',
'Legendary':'<span style=\"background:#ffbbff\" >✪传奇✪</span>',
'Peerless':'<span style=\"background:#ffd760\" >☯无双☯</span>',
/////////////////个人补充翻译//////////
}
let regexs = [], chinese = [];
for (const [key, value] of Object.entries(words)) {
regexs.push(new RegExp(`(?<=[ ,.\\[]|^)${key}(?=[ ,.\\]]|$)`, 'g'));
chinese.push(value);
}
let regexs_items = [], chinese_items = [];
for (const [key, value] of Object.entries(items_words)) {
regexs_items.push(new RegExp(`(?<=[ ,.\\[]|^)${key}(?=[ ,.\\]]|$)`, 'g'));
chinese_items.push(value);
}
unsafeWindow.trans_regexs = regexs;
unsafeWindow.trans_chinese = chinese;
function trans(text) {
let regexs = unsafeWindow.trans_regexs || regexs;
let chinese = unsafeWindow.trans_chinese || chinese;
if (text.match(/(\[.+\])/)) {
// 如果内容包含掉落物则翻译物品装备,否则不翻译
let item = RegExp.$1, itemorg = RegExp.$1;
for (const [idx, regex] of Object.entries(regexs_items)) {
item = item.replace(regex, chinese_items[idx]);
}
text = text.replace(itemorg, item);
}
for (const [idx, regex] of Object.entries(regexs)) {
text = text.replace(regex, chinese[idx]);
}
return text;
}
function observe_node(node, config, callback) {
const observer = new MutationObserver(callback);
observer.observe(node, config);
return observer;
}
function add_to_log(text) {
let tr = document.createElement('tr');
let td = document.createElement('td');
if (text == '') {
td.classList.add('tls');
}
else {
td.classList.add('tl');
td.innerHTML = trans(text);
}
tr.appendChild(td);
let log = document.querySelector('#translog');
// 添加新日志之前检查日志数量
if (log.children.length >= 100) {
// 如果超过100条,删除最旧的日志
log.lastChild.remove();
}
log.insertBefore(tr, log.firstChild);
}
function handle_log(mutations, _observer) {
for (const mutation of mutations) {
if (mutation.type !== 'childList') {
continue;
}
for (const node of mutation.addedNodes) {
if (node.nodeName !== 'TR') {
continue;
}
let text = [];
node.childNodes.forEach(n => text.push(n.innerHTML));
add_to_log(text.join(' '));
// console.log(trans(node.textContent));
}
}
}
function start_observe() {
if (document.getElementById('translog')) return;
// 在原日志的后面增加一个新的元素存放翻译后的日志,避免对其他插件造成可能存在的干扰
let table = document.createElement('table');
let tbody = document.createElement('tbody');
table.id = 'translog';
table.appendChild(tbody);
let textlog = document.querySelector('#pane_log');
textlog.appendChild(table);
// 添加一下已存在的日志
let texts = [];
for (const log of document.querySelectorAll('#textlog > tbody > tr > td')) {
texts.push(log.innerHTML);
}
for (const text of texts.reverse()) {
add_to_log(text);
}
return observe_node(document.querySelector('#textlog').firstChild, {childList: true}, handle_log);
}
if (document.querySelector('#battle_main') !== null) {
// 新回合开始时会刷新 battle_main,导致原本的监听失效,必须在刷新时重新监听一次
observe_node(document.querySelector('#battle_main'), { childList: true }, () => {
start_observe();
});
observe_node(document.querySelector('body'), { childList: true }, () => {
start_observe();
});
start_observe();
}