diff --git a/character/mobile/voices.js b/character/mobile/voices.js index 4d735e337..d59214388 100644 --- a/character/mobile/voices.js +++ b/character/mobile/voices.js @@ -417,7 +417,7 @@ export default { "#dengzhi:die": "使命既成,但死无妨!", "#relihuo1": "此火只为全歼敌寇,无需妇人之仁。", "#relihuo2": "战胜攻取,以火修功。", - "#chunlao_xin_chengpu1": "背下佳酿,以做庆功之用。", + "#chunlao_xin_chengpu1": "备下佳酿,以做庆功之用。", "#chunlao_xin_chengpu2": "饮此壮行酒,当立先头功。", "#xin_chengpu:die": "箭尽弓折,力竭人亡。", "#duoduan1": "北伐之事,丞相亦听我定夺。", diff --git a/character/rank.js b/character/rank.js index 74dcee65d..452282081 100644 --- a/character/rank.js +++ b/character/rank.js @@ -703,6 +703,7 @@ window.noname_character_rank = { "clan_wangguang", "lizhaojiaobo", "linghuyu", + "key_mia", ], bp: [ "xin_huojun", @@ -1926,6 +1927,7 @@ window.noname_character_rank = { "caoxian", "wu_guanyu", "guanyue", + "key_mia", ], epic: [ "xukun", diff --git a/character/sp/intro.js b/character/sp/intro.js index 3ce4474b5..0b72f8155 100644 --- a/character/sp/intro.js +++ b/character/sp/intro.js @@ -49,7 +49,7 @@ const characterIntro = { pujing: "湖北省当阳境内有一座山,名叫玉泉山。东汉建安末年,山上住着一个老和尚,法名普净,普净原来是沂水关镇国寺方丈,后因云游天下,来到此处,风这地方山明水秀,就于山中结草为庵,每天坐禅参道,身边只有一个小和尚,外出化一些斋饭,供养师父。在《三国演义》中,当关羽通过汜水关时,正是由于普净提醒,关羽才揭穿了卞喜的阴谋,并杀死了卞喜。关羽死后,其怨魂亦在普净的指点下醒悟,放下了心中的仇恨,专心致力于造福一方百姓。", huban: "为《三国演义》所杜撰的人物,正史无记载,荥阳太守王植麾下从事、桓帝时议郎胡华之子。关羽过五关斩六将时其中一关就是王植所镇守,胡班奉命放火夜袭关公,因敬服公之气概,并得其父托公所带家书,班看毕,叹曰:“险些误杀忠良!”故将之放走。胡班到荆州来投降关公,公念其旧日相救之情,甚爱之;令随费诗入川,见汉中王受爵。费诗辞别关公,带了胡班,自回蜀中去了。", chunyuqiong: "淳于琼(?-200年),字仲简,颍川(治今河南禹州)人。东汉时期官吏,于汉灵帝中平五年(188)被任命为西园八校尉之一的右校尉,与蹇硕、袁绍、鲍鸿、曹操、赵融、冯芳、夏牟同列。为袁绍大将,与张郃、高览等人齐名。在官渡之战时镇守乌巢,遭到曹操的偷袭而惨败,自己也被曹操处斩。", - lvkuanglvxiang: "吕旷(生卒年不详),与吕翔同是袁绍属下,袁绍去世后,为袁尚守东平,后来投降曹操,并被封为列侯。在《三国演义》中,在曹操准备往南准备攻击前,两人跟著大将曹仁和将军李典准备要攻击刘备。但吕旷被赵云刺下马身亡,而吕翔也死于张飞矛下,可以算是出师未捷身先死", + lvkuanglvxiang: "吕旷(生卒年不详),与吕翔同是袁绍属下,袁绍去世后,为袁尚守东平,后来投降曹操,并被封为列侯。在《三国演义》中,在曹操准备往南准备攻击前,两人跟著大将曹仁和将军李典准备要攻击刘备。但吕旷被赵云刺下马身亡,而吕翔也死于张飞矛下,可以算是出师未捷身先死。", caobuxing: "曹不兴,亦名弗兴,三国时著名画家。孙吴吴兴(今浙江湖州)人,生卒年不详。他在黄武年间(222—229年)享有很大的声誉。被称为“佛画之祖”。与东晋顾恺之、南朝宋陆探微、南朝梁张僧繇并称“六朝四大家”。又与赵达的算术、严武的弈棋、皇象的草书等号称“吴中八绝”。曹不兴善画龙、虎、马及人物,有“落墨为蝇”等传奇故事,其佛画成就对后世影响很大,相传其所画龙头令谢赫叹服不已。画迹今已不存,据《贞观公私画史》载,作品有《青溪龙》、《赤盘龙》、《南海监牧进十种马图》、《夷事夷兽样》、《桃源图》等,惜早已散佚。但之后的著名画家卫协直接师承其法。", gaolan: "高览,生卒年不详,一名高奂,本属袁绍部将,后官渡之战淳于琼被曹操击破,与张郃一同投降曹操,被封为偏将军,东莱侯。《三国演义》里,曾与许褚、徐晃大战不分胜负。201年刘备败走荆州时,高览奉命追杀,三合斩刘辟,而后被冲阵而来的赵云刺死。", xunchen: "荀谌,字友若,荀彧之兄(一说荀彧之弟),荀绲之子,颍川人。曾任军阀袁绍的幕僚。帮助袁绍游说韩馥,夺取了冀州。", @@ -103,7 +103,7 @@ const characterIntro = { cuiyan: "字季珪,清河东武城(今河北省清河县)人。东汉末年名士,司空崔林的从兄,曹操帐下谋士。崔琰相貌俊美,很有威望,曹操对他也很敬畏。建安二十一年(216年),崔琰在给杨训的书信中写道“时乎时乎,会当有变时”,曹操认为此句有不逊之意,因而将崔琰下狱,不久崔琰即被曹操赐死。", lifeng: "南阳(治今河南南阳)人,三国时期蜀汉大臣李严之子。230年,李严迁为骠骑将军,率军前往汉中,诸葛亮上表推举李丰为江州都督督军,以代替李严管理后方事务。李严去世后,李丰在蜀汉官至朱提太守。", sunru: "孙茹,孙坚之妹,其名载于《江浙通志》中。儿子徐琨亦为孙吴早期名将,当初母子二人随军跟从孙策渡长江时,因为暂时没足够的船,孙策感到苦恼打算暂时驻军江边。孙茹夫人献计以芦苇为筏,孙策大喜。吴军遂以神不知鬼不觉的速度过长江击破刘繇部将张英,立下平江东第一功。", - lingcao: "东汉末年将领,吴郡余杭(今浙江余杭)人,凌统之父。早年跟随孙策转战江东。孙权统军后,凌操随其征伐黄祖,被甘宁射杀。《吴书》载:甘宁以善射,将兵在后,射杀校尉凌操", + lingcao: "东汉末年将领,吴郡余杭(今浙江余杭)人,凌统之父。早年跟随孙策转战江东。孙权统军后,凌操随其征伐黄祖,被甘宁射杀。《吴书》载:甘宁以善射,将兵在后,射杀校尉凌操。", zhugeguo: "诸葛果,为《历代神仙通鉴》中诸葛亮女儿的名字,《历代神仙通鉴》记录从上古到明代的神仙历史,因此诸葛果不见于任何史书。成都西南有朝真观,即乘烟观。相传,诸葛果在这里修行后成仙升天。", zhuling: "朱灵(生卒年不详),字文博,冀州清河国人,三国时期曹魏名将。官至后将军,封为高唐侯,谥号威侯。初为袁绍部将,后归顺曹操,随曹操征伐四方,屡建战功。", re_yuanshu: "字公路,汝南汝阳人,袁绍之弟。初为虎贲中郎将。董卓进京后以袁术为后将军,袁术因畏祸而出奔南阳。初平元年与袁绍、曹操等同时起兵,共讨董卓。后与袁绍对立,被袁绍、曹操击败,率馀众奔九江,割据扬州。建安二年称帝,建号仲氏。", diff --git a/character/yijiang/skill.js b/character/yijiang/skill.js index ae8548762..9ca81449f 100644 --- a/character/yijiang/skill.js +++ b/character/yijiang/skill.js @@ -343,7 +343,7 @@ const skills = { }, }, }, - //徐琨 + //徐琨(菜不菜我不知道) fazhu: { audio: 2, trigger: { player: "phaseZhunbeiBegin" }, @@ -11235,6 +11235,7 @@ const skills = { return event.player != player; }, logTarget: "player", + prompt2: "摸两张牌,然后交给其两张牌。若该角色于本回合阶段时未杀死过角色,则你失去1点体力。", check: function (event, player) { if (get.attitude(player, event.player) < 5) return false; if (player.maxHp - player.hp >= 2) return false; diff --git a/character/yingbian/voices.js b/character/yingbian/voices.js index 618d137bb..53d43b6d7 100644 --- a/character/yingbian/voices.js +++ b/character/yingbian/voices.js @@ -89,7 +89,7 @@ export default { "#quanbian2": "随机应变,谋国窃权。", "#jin_simayi:die": "虎入骷冢,司马难兴。", "#shiren1": "宠过必乱,不可大任。", - "#shiren2": "开卷有益,识人有法", + "#shiren2": "开卷有益,识人有法。", "#yanxi1": "宴会嬉趣,其乐融融。", "#yanxi2": "宴中趣玩,得遇知己。", "#jin_wangyuanji:die": "祖父已逝,哀凄悲戚。", diff --git a/mode/versus.js b/mode/versus.js index f07df435a..c3b5c9d3d 100644 --- a/mode/versus.js +++ b/mode/versus.js @@ -1799,7 +1799,7 @@ game.import("mode", function (lib, game, ui, get, ai, _status) { lib.storage.ladder.current = 900; game.save("ladder", lib.storage.ladder); } - ui.ladder = ui.create.system( + if(!ui.ladder) ui.ladder = ui.create.system( game.getLadderName(lib.storage.ladder.current), null, true diff --git a/noname/ui/click/index.js b/noname/ui/click/index.js index c469f35dc..7fdd018d5 100644 --- a/noname/ui/click/index.js +++ b/noname/ui/click/index.js @@ -3358,6 +3358,54 @@ export class Click { "
" + characterintroinfo; } + + // 添加台词部分 + const dieAudios = game.parseDieTextMap(name).filter(i => "text" in i); + const skillAudioMap = new Map(); + nameinfo.skills.forEach(skill => { + const voiceMap = game.parseSkillText(skill, name, null, true); + if(voiceMap.length) skillAudioMap.set(skill, voiceMap); + }); + if (dieAudios.length || skillAudioMap.size > 0) { + const eleHr = document.createElement("hr"); + eleHr.style.marginTop = "11px"; + intro.appendChild(eleHr); + if (skillAudioMap.size > 0) { + const skillNameSpan = document.createElement("span"); + skillNameSpan.style.lineHeight = "1.7"; + skillNameSpan.innerHTML = `• 技能台词
`; + intro.appendChild(skillNameSpan); + skillAudioMap.forEach((texts, skill) => { + const skillNameSpan1 = document.createElement("span"), + skillNameSpanStyle1 = skillNameSpan1.style; + skillNameSpanStyle1.fontWeight = "bold"; + skillNameSpanStyle1.fontSize = "15.7px"; + skillNameSpanStyle1.lineHeight = "1.4"; + skillNameSpan1.innerHTML = `${get.translation(skill)}
`; + intro.appendChild(skillNameSpan1); + texts.forEach((text, index) => { + const skillTextSpan = document.createElement("span"); + skillTextSpan.style.fontSize = "15.2px"; + skillTextSpan.innerHTML = `${texts.length > 1 ? `${index + 1}. ` : ""}${text}
`; + intro.appendChild(skillTextSpan); + }); + }); + } + if (dieAudios.length > 0) { + const skillNameSpan2 = document.createElement("span"), + skillNameSpanStyle2 = skillNameSpan2.style; + skillNameSpanStyle2.lineHeight = "1.9"; + skillNameSpan2.innerHTML = `• 阵亡台词`; + intro.appendChild(skillNameSpan2); + dieAudios.forEach((item, index) => { + const dieTextSpan = document.createElement("span"); + dieTextSpan.style.fontSize = "15.2px"; + dieTextSpan.innerHTML = `
${dieAudios.length > 1 ? `${index + 1}. ` : ""}${item.text}`; + intro.appendChild(dieTextSpan); + }); + } + } + var intro2 = ui.create.div(".characterintro.intro2", uiintro); var list = get.character(name, 3) || []; var skills = ui.create.div(".characterskill", uiintro); @@ -3470,8 +3518,7 @@ export class Click { clickSkill.call(skillnode, "init"); }); } - // if(e!=='init') game.trySkillAudio(this.link,playername); - // 有bug,先用旧版 + if (lib.config.background_speak && e !== "init") { let audio, skillnode = this; @@ -3628,7 +3675,8 @@ export class Click { const htmlParser = document.createElement("body"); htmlParser.innerHTML = get.characterIntro(name); Array.from(htmlParser.childNodes).forEach((value) => introduction.appendChild(value)); - //添加技能语音部分 + + // 添加台词部分 const dieAudios = game.parseDieTextMap(name).filter(i => "text" in i); const skillAudioMap = new Map(); nameInfo.skills.forEach(skill => { @@ -3651,7 +3699,7 @@ export class Click { introduction.appendChild(skillNameSpan); texts.forEach((text, index) => { const skillTextSpan = document.createElement("span"); - skillTextSpan.innerHTML = `${index + 1}. ${text}
`; + skillTextSpan.innerHTML = `${texts.length > 1 ? `${index + 1}. ` : ""}${text}
`; introduction.appendChild(skillTextSpan); }); }); @@ -3671,6 +3719,7 @@ export class Click { }); } } + const introduction2 = ui.create.div(".characterintro.intro2", uiintro); var list = get.character(name).skills; var skills = ui.create.div(".characterskill", uiintro); @@ -3795,8 +3844,7 @@ export class Click { clickSkill.call(skillnode, "init"); }); } - // if(e!=='init') game.trySkillAudio(this.link,playername); - // 有bug,先用旧版 + if (lib.config.background_speak && e !== "init") { let audio, skillnode = this;