Skip to content

Releases: libnoname/noname

v1.10.17.4

02 Sep 16:08
36c31ff
Compare
Choose a tag to compare

更新内容

v1.10.17.4 版本更新内容
重要的事情说三遍,更新新版本后请更换启动器至最新版,否则无法正常运行国战模式和代码编辑器
重要的事情说三遍,更新新版本后请更换启动器至最新版,否则无法正常运行国战模式和代码编辑器
重要的事情说三遍,更新新版本后请更换启动器至最新版,否则无法正常运行国战模式和代码编辑器
※我们继续和一些优秀且具有开源精神的代码编写者保持着积极合作。在这一版本中,我们通过接收GitHub的Pull Request,整合了@xjm0708@AstralBarrage@rebirth-of-I-am@mengxinzxz@PZ157@taofendawang1105@xizifu@Sun-F2004@Cicardo-Thicavasco@kuangshen04@zhonghui1966@nonameShijian@cjk7989@IceCola97等14位其他代码贡献者编写的代码。

特别说明:更新日志条目仅按贡献者ID排序,对于两位代提贡献者的条目因为后期补上ID所以不参与排序喵

新武将:

  • 十周年:新杀谋邓艾(@AstralBarrage
  • OL:OL界孙鲁班(@AstralBarrage)、OL桥公、OL樊氏、狂李儒、魔貂蝉、魔吕布、OL谋鲁肃、OL谋诸葛亮、谋许攸(@xjm0708
  • 线下:渭南徐晃、渭南张郃、渭南贾诩、骏骊神马超(@AstralBarrage)、官盗E侠曹丕(@taofendawang1105)、官盗E夏侯玄、欧陆凯撒(@xjm0708
  • 国战:野诸葛诞、魏延、袁术、刘焉、吕布、双势力文鸯、十常侍等国战无双武将(@AstralBarrage)、身份版本的刘焉(@xjm0708
  • 新杀:新杀张燕、新杀张奂、新杀谋陆逊、董絮、威马超(@xjm0708
  • 其他:陈祇、势辛宪英、新杀谋骆统、新杀谋黄权(@1039727228

武将调整:

  • 手刹笮融、势魏延、庞羲、孙韶、势陈到;十周年朱烁、任婉、谋邓艾、谋胡烈、谋曹昂调整至最新版(@AstralBarrage
  • 手杀谋小乔、谋祝融、陆郁生、黄祖、曹髦(还有星魏延、彭羕调整为海外加强版,海外手杀甄姬独立为TW甄姬);新杀卞玥、马铁、威曹丕;OL战神吕布、族荀爽;海外童渊均调整至最新版(@xjm0708

新卡牌:

  • 见好就收、望梅止渴、至死方休、清算、火上浇油、好运(@xjm0708

中断性更新:
※部分武将/卡牌包扩展化(具体请看特殊说明)(@PZ157

新功能:
※将addTargetPrompt检测非目标且允许返回数组,并调整相关技能(@AstralBarrage
※为资料页换肤添加hook接口(@AstralBarrage
※添加alwaysViceSkill和alwaysMainSkill两个skilltag用于主副将技的检测(@AstralBarrage
※添加武将属性junName,允许多个武将指向同一个君主(@AstralBarrage
※添加国战机制势力禁用,开启后会在选将前随机禁用一个势力 #2785@AstralBarrage
※为国战移除副将添加保底,预防势力没有对应士兵的情况(@AstralBarrage
※添加“清除最近选将”按钮(@cjk7989
※对选择牌的场景添加了全选/反选按钮。(@IceCola97
※增加了dataSync接口,允许客户端主动发起请求。(@IceCola97
※封装了player.isMine函数。(@IceCola97
※添加了poptip API,为描述内嵌名词提供小窗注释(具体请看特殊说明)(@kuangshen04
※增加dialog的peaceDialog属性(@mengxinzxz
※清除最近武将记录功能增添全模式清除的选择,增加清除收藏/禁将武将功能,清除禁将也兼顾清除本模式和全模式的选择功能(@mengxinzxz
※增加fullimage样式卡背,解决PR2803(关于对策/谋弈的卡背显示优化建议)(@mengxinzxz
※默认维持原有装备区样式,删除装备占位开关,改为默认占位(@mengxinzxz
※为lib.element.player.addMark/removeMark/logSkill创造的时机加上即时性(@mengxinzxz
※正式添加importmap的支持,新增codemirror6(@nonameShijian
※增添卡牌和武将界面的全部关闭选项(@rebirth-of-I-am
※支持皮肤信息配置tempname和img(@Sun-F2004
※增加player#getName函数,获取角色的名字翻译(@xjm0708

问题修复与优化:
※修复 #2758 中提到的【道抉】不能被虚拟牌触发的bug(@AstralBarrage
※修复 #2778 中提到的【连诛】不为正面交给的bug(@AstralBarrage
※修复【道转】其他角色濒死无法印桃的bug(@AstralBarrage
※调整国战【迫境】【监统】【袭爵】的ai(@AstralBarrage
※调整国战【宴戏】为目标角色可见自己被选择的牌(@AstralBarrage
※调整【惑乱】的记录效果为记录所有牌(@AstralBarrage
※修复【默然】ai使用无效果的bug(@AstralBarrage
※修复OL【许身】ai报错的bug(@AstralBarrage
※调整手杀【死谏】ai无脑背水(@AstralBarrage
※为两个张宝更改语音引用(@AstralBarrage
※重写【惠民】并修复不触发展示牌时机的bug(@AstralBarrage
※修复【御马】只能被失去装备牌触发的bug(@AstralBarrage
※修复【诡诳】不能对自己发动的bug(@AstralBarrage
※修复【硝烟】不按座次结算的bug(@AstralBarrage
※将【识草】【启晦】【鸡肋】【凌人】样式调整(@AstralBarrage
※调整【罡拳】的结算,仅在上下家均可成为目标的情况下可以转化火【杀】(@AstralBarrage
※调整【夺炁】【寤寐】的结算,修正极端情况下插入多个回合的执行顺序(@AstralBarrage
※修复【恭节】在一号位被翻面的情况下无法发动的bug(@AstralBarrage
※调整势魏延【壮誓】弃置牌和出杀优先级ai(@AstralBarrage
※修复【弼昏】的错误描述(@AstralBarrage
※修复getMaxCharge部分情况下返回值有误的bug(@AstralBarrage
※修复怒嗔存在伤害牌的bug(@AstralBarrage
※修复国战黄祖换将显示技能的相关bug(@AstralBarrage
※修复国战【至微】在换将后依然生效的bug(@AstralBarrage
※重写国战【引杀】以更符合描述(@AstralBarrage
※修复【疏和】使用的酒会被无效的杀消耗掉的bug(@AstralBarrage
※修复【诛宦】只需弃置一张牌的bug(@AstralBarrage
※修复【蒙斥】【制图】效果与描述不符的问题(@AstralBarrage
※调整国战【付授】的效果以在更换副将时正常生效(@AstralBarrage
※取消国战【断念】的摸牌数上限限制(@AstralBarrage
※更换国战【征南】获得的【制蛮】为国战版本(@AstralBarrage
※修复国战【断虬】死亡报错的bug(@AstralBarrage
※修复国战被断肠武将明置后恢复技能的bug #2623@AstralBarrage
※优化【急召】的ai #2694@AstralBarrage
※调整【点虎】的技能效果 #2838@AstralBarrage
※修复tw【传术】发动后造成直伤报错的bug(@AstralBarrage
※修复【劫辩】【间计】与【天辩】的交互bug(@AstralBarrage
※调整【宛蝉】【密诏】的描述(@AstralBarrage
※调整tw【缓图】的技能效果(@AstralBarrage
※优化谋【枭姬】的ai(@AstralBarrage
※取消国战模式下换将导致的势力变化(@AstralBarrage
※加长游戏速度为极快时,对策/谋奕的结果展示时间(@AstralBarrage
※修复宋帝王语音(@AstralBarrage
※调整【慑服】的ai #2807@AstralBarrage
※调整【出策】使用牌为无距离次数限制(@AstralBarrage
※调整【笼墓】可复活自己(@AstralBarrage
※修复【熬勇】和插入结算的bug(@AstralBarrage
※修复【恭节】发动回合错误的bug(@AstralBarrage
※修复四象封印【益兵】【毅谋】强制发动的bug(@AstralBarrage
※调整王经【节谏】ai(@AstralBarrage
※调整势魏延【饮战】、曹媛【妩艳】、国战王元姬【宴戏】结算(@AstralBarrage
※修复手杀蒋干【盗书】ai猜不对的bug(@AstralBarrage
※修复龙廖化【西归】轮次结束发动无法触发后续效果的bug(@AstralBarrage
※修复国战朱灵【方圆】人数为4无法发动的bug(@AstralBarrage
※修复国战贾充【除绝】可对野心家发动的bug(@AstralBarrage
※修复手杀孙鲁育【止息】效果与描述不符的bug(@AstralBarrage
※修复SP蔡文姬【默识】在首张牌无法使用的情况下可以使用第二张的bug(@AstralBarrage
※修复标潘凤【狂斧】不为出牌阶段限一次的bug(@AstralBarrage
※降低刘辩【诗怨】的ai收益(@AstralBarrage
※提高野诸葛诞的嘲讽为天怒人怨(@AstralBarrage
※修复标马腾【游骑】在有判定牌时报错的bug(@AstralBarrage
※修复张葳【焚亡】加伤对自己生效的bug(@AstralBarrage
※修复资料卡查看阵亡语音在控制台出现的报错(@AstralBarrage
※修复最强神话【暴怒】导致的卡死(@AstralBarrage
※调整标纪灵技能名为【双刃】(@AstralBarrage
※调整国战孙綝技能为锁定技(@AstralBarrage
※调整线下君曹丕、君刘禅的语音引用(@AstralBarrage
※补充国战标包缺少的阵亡语音引用(@AstralBarrage
※削弱OL谋卢植【敛策】、OL刘璋【奉蔚】(@AstralBarrage
※加强陆抗【决堰】、鲍三娘【许身】(@AstralBarrage
※调整TW曹洪、赵娥、手杀谋孙权、谋姜维(@AstralBarrage
※将国战晋司马懿、晋张春华、手杀杜预拆分为两个武将(@AstralBarrage
※对本体BOSS模式下的BOSS人物进行介绍与全名补齐,神之试炼中的角色背景根据网上接纳度较高的姓名进行补充(实际姓名可能不同)(@Cicardo-Thicavasco
※将秦广王·蒋子文的全名更正为秦广王·蒋歆(蒋歆是其全名,子文为表字)(@Cicardo-Thicavasco
※新增树精、焰灵、明刑柱的角色介绍,其内容基于原名可能的原型整理(因缺乏真实考据信息,部分背景可能与史实存在差异)(@Cicardo-Thicavasco
※对logAudio2的问题进行了修复(@kuangshen04
※修复许劭【评鉴】筛选技能不清除技能翻译的html标签以及可以随机到自己已有技能的bug(@mengxinzxz
※修复国战十常侍副将更换私人原画的bug(@mengxinzxz
※修复国战十常侍更换常侍牌时名称没变回十常侍的bug(@mengxinzxz
※修复宵贿和国战宵贿的choiceList文本错误和国战宵贿只能执行选项二的bug(@mengxinzxz
※修复AI暗将十常侍游戏开始不发动【党锢】、结束阶段发动【殁亡】的bug(@mengxinzxz
※补充国战模式庞德和甘夫人的翻译,防止继承到pangde(旧庞德)和ganfuren(标甘夫人)的翻译(@mengxinzxz
※修复Issue2891(张臶的技能A对闪电造成的伤害没有遵照点数执行)的bug(@mengxinzxz
※修改族杨修【捷悟】指定自己为捷悟角色不会触发放牌分支(@mengxinzxz
※更改部分武将名称和分包,增添国战OL专属分包(@mengxinzxz
※孟获祝融因外服为群势力改为群蜀双势力(@mengxinzxz
※为标记intro.markcount/name/content增加第三个技能id参数(@rebirth-of-I-am
※修改为仅点将可用的逻辑(使用此分支后需要重新设置武将包仅点将可用)(@rebirth-of-I-am
※为晋司马懿【鹰视】和OL谋诸葛亮【知天】使用clickable(@rebirth-of-I-am
※skill.intro.mark支持使用第五个参数,为技能ID(@rebirth-of-I-am
※让directequip函数适配实体牌(@rebirth-of-I-am
※界马岱【潜袭】效果改为新版本(@rebirth-of-I-am
※司马昭【荡异】红温特效改为手杀半红+渐变(@rebirth-of-I-am
※修改【青书】的翻面摸三词条等级为3(@rebirth-of-I-am
※修改【授术】给出的技能自己对OL南华老仙自身也可见(@rebirth-of-I-am
※晋司马懿【鹰视】改为谋诸葛亮【知天】的标记法则(@rebirth-of-I-am
※晋司马懿【鹰视】和谋诸葛亮【知天】标记改为仅自己可见(@rebirth-of-I-am
※晋司马懿【雄志】使用【杀】改为受到次数限制(@rebirth-of-I-am
※修复界关张【父魂】转化牌可以用虚拟牌响应的bug(@rebirth-of-I-am
※修复event.lose_map.noowner存在虚拟牌属性的bug(@rebirth-of-I-am
※修复多目标卡牌结算的停顿缺失bug(@rebirth-of-I-am
※将存在实体牌但并非角色区域的牌的显示方式更改为直接在中央区出现一张牌(@rebirth-of-I-am
※修复因新版根据owner丢掉卡牌导致的问题,删去了族钟琰手动【观骨】让别的owner丢牌的操作(@rebirth-of-I-am
※略微提升【青书】的效果词条筛选速度(@rebirth-of-I-am
※略微提升【天书】的标记文本加载速度(@rebirth-of-I-am
※放大张华周宣原画人物比例(@rebirth-of-I-am
※修复clickable点击不关闭资料页从而可能引发效果异常的bug(@rebirth-of-I-am
※修复OL南华老仙【青书】联机模式队友无法看书的bug(@rebirth-of-I-am
※对skill/offline/skill.js格式化,同时简化侠曹丕技能写法和翻译(@rebirth-of-I-am
※补充神武再世模式的神孙权长安大舰和OL神张角的三首(@rebirth-of-I-am
※修复配音问题(@Sun-F2004
※修复useSkill时设置log:false仍会播放语音的bug(@Sun-F2004
※修复幻诸葛亮的技能北定,添加无目标牌的判断(@taofendawang1105
※修复武诸葛情势在血量不大于0的情况下不能选摸三的bug(@taofendawang1105
※修复神孙策冯河效果与描述不符的问题(@taofendawang1105
※修复晋司马懿“雄志”和国战晋司马懿“骤霆”不能使用无目标牌的问题(@taofendawang1105
※修复手杀谋郭嘉〖天妒〗技能不能使用无目标牌的问题和对话框技能名更正(@taofendawang1105
※修改势魏延的技能忠傲,添加播放专属bgm的代码(@taofendawang1105
※将手杀鏖战背景音乐《逐鹿天下》添加进鏖战背景音乐设置(@taofendawang1105
※将曹髦和势魏延的专属bgm添加进背景音乐设置(@taofendawang1105
※调整新杀诸葛均的技能效果,同步线上:一技能亮牌全是同色可以一张不拿;二技能自己打伤害只能加伤,防伤害只能减伤(@taofendawang1105
※修复两个神马超的狩骊技能使用次数统计错误(@xizifu
※修复晋司马昭筹伐文字描述错误(@xizifu
※修复标周处【凶侠】决斗过程中角色死亡引发的报错(@xizifu
※修复国战不明置武将时锁定技强制发动的问题(@xizifu
※修复game.initCharacterList函数命名错误(@xizifu
※修复equip检查销毁实体牌时的结算逻辑错误(@xizifu
※修复addJudge检查销毁实体牌时的结算逻辑错误(@xizifu
※针对Issue2802适配chooseUseTarget、chooseTarget的targetprompt2目标提示(@xizifu
※将useCard和respond事件中的失去牌子事件从lose改为有多个owner会使用loseAsync否则依旧使用lose直接丢牌,同时contents化这两个事件以及优化动画效果(@1937475624
※修复randomDiscard函数并修改其返回值(@xjm0708
※使chooseButtonTarget适配processAI(@xjm0708
※在useCard的log前给目标排序(@xjm0708
※重写showCards事件,添加若干接口,并跟进部分技能(@xjm0708
※修复新杀吕据征越移除时没有removeTip的问题(@xjm0708
※将夏侯尚探锋调整为火焰伤害(@xjm0708
※修复牢伍孚怀刃不能用诸葛连弩印牌的Bug(@xjm0708
※削弱战神吕布(@xjm0708
※修复阳球没有真人参与扫奸就看不到窗口的Bug(@xjm0708
※修复手杀陆郁生联机非首次润微不能正常触发的问题(@xjm0708
※修正OL谋小乔返回变量错误(@xjm0708
※修复拆分国战后game.loadModeAsync不能正常使用的Bug(代传牢萌)
※修复国战谋孙坚翻译问题(@xjm0708
※修复江山如故李密印牌技能客机转化牌数异常(@xjm0708
※修正clanfennu的discarder遗漏问题(@xjm0708
※修复判定事件没牌平局但事件仍继续导致的报错(@xjm0708
※修复游戏速度设置为很快时看不到拼点动画拼点牌的结果(代传群友PR)
※修正谋王凌自缚tokeepcount类型错误(@xjm0708
※修复雷公助我不摸牌的Bug(@xjm0708
※修复斩绊联机不摸牌的Bug(@xjm0708
※为手杀胡车儿增加判断目标是否有可以获得的牌(@xjm0708
※修复OL刘璋无法印闪的Bug(@xjm0708
※修正族吴匡动态翻译错误(@xjm0708
※调整长安神王允的定西(@xjm0708
※修改手杀庞德公众好友的判断(@xjm0708
※将星张让蠹害崩血效果调整为死后会移除(@xjm0708
※修复劝酒造成伤害时没有判断来源是否在游戏内的问题(@xjm0708
※提升lib.card的noname标签泛用性,使卡牌不显示牌名,并隐藏类型、花色及李儒轻重拳的特殊虚拟牌以及陈寿扑克牌的牌名(@xjm0708
※将转娄圭以及曹不兴的技能async化(@xjm0708
※优化OL管亥诱阙写法(@xjm0708
※将休整放进死亡事件并修改十常侍的技能(@xjm0708
※修复OL刘璋印牌无法给装备区牌的Bug(@xjm0708
※修复useCard修改后借刀多指报错的Bug(@xjm0708
※将OL和新杀的赵襄扶汉async化(@xjm0708
※修复星丁奉荡尘ai报错(@xjm0708
※再次修改劝酒和你死我活的写法(@xjm0708
※修复新杀向宠固营摸牌无上限的Bug(@xjm0708
※修复休整全局技能遇到移出游戏的角色报错的Bug(@xjm0708
※修复targetprompt2有个写法联机未生效的问题(@xjm0708
※彻底删除有关shaRelated的判断并废弃该标签(@xjm0708
※给新杀张宁的两个技能的cost里的弃牌加上chooseonly(@xjm0708
※修复陈群发动品后可以不选择选项的Bug(@xjm0708
※修复xianding.js的几个描述问题(@xjm0708
※修改思召剑的销毁条件(@xjm0708
※优化佐练的展示效果及log(@xjm0708
※调整曹婴的伏间效果(@xjm0708
※修复陈武董袭二技能ai问题(@xjm0708
※修复谋陈宫技能异常的问题(@xjm0708
※给isMax和isMin的一系列函数增加filter参数(@xjm0708
※回滚loadModeAsync(@xjm0708
※修改黄祖、陆郁生(@xjm0708
※给孟达恃术增加装备区给牌(@xjm0708
※修复OL吴懿奔袭的描述错误(@xjm0708
※增加player#getSkills和player#hasSkill的说明文档(@xjm0708
※允许chooseToDiscard使用主动技但只执行precontent(@xjm0708
※修复两个神张飞使用无色牌多指判断错误(@xjm0708
※修正手杀薛综诫训没有判断result的target是否存在(@xjm0708
※修复OL卢氏出杀判断合法性错误(@xjm0708
※削弱海外葛玄并删去一技能摸牌效果(@xjm0708
※修正刘晔装备霹雳车时机错误(@xjm0708
※补充清蹈描述(@xjm0708
※修正线下风云刘备技能getCards没有大写(@xjm0708
※将chooseToDiscard回滚为没有可以弃置的牌不会直接跳过(@xjm0708
※修正神典韦武器牌filterTarget写成filterCard(@xjm0708
※修正刘禅享乐描述不准确(@xjm0708
※修复国战陆逊度势没有语音(@xjm0708
※将忠前缀改为汉(@xjm0708
※修复showCards之前缺少relatedEvent属性导致一些进入处理区的牌无法延迟进入弃牌堆(@xjm0708
※修正OL郭图二技能判断目标是否有能弃置的牌时用错函数(@xjm0708
※将何晏崖柴async化并修复交给牌选项合法性判断时的函数使用错误(@xjm0708
※修正一些创建特定视角的对话框的写法问题(@xjm0708
※补充手杀谋姜维语音(@XJM07...

Read more

v1.10.17.3

05 Jul 14:41
73e8684
Compare
Choose a tag to compare

更新内容

v1.10.17.3 版本更新内容

※我们继续和一些优秀且具有开源精神的代码编写者保持着积极合作。在这一版本中,我们通过接收GitHub的Pull Request,整合了@rintim @AstralBarrage @fossifer @xizifu @Sun-F2004 @PZ157 @xjm0708 @IceCola97 @rebirth-of-I-am
@nonamemajun @yx-lingmeng @taofendawang1105 @Spmario233 @1937475624 等14位其他代码贡献者编写的代码。

※添加新武将

  • 武将包:青史翰墨四个亡国之君、四象封印·青龙七将、珍藏封印八个将、风云际会、“山河煮酒·关索传”11个新武将,“长安风云”6个新武将,“蚀心入魔”8位新武将,“君霸天下”10位新武将,“渭南风云”7位新武将
  • 新杀:向宠、吉邈吉穆、崔令仪、新杀谋胡烈、谋姜维、诸葛均、怀刃伍孚、忠锷伍孚、任婉、张琪瑛一号、张琪瑛二号、忍邓艾、忍姜维、
  • OL:OL谋小乔、族陆绩、族陆景、冲儿
  • 手杀:势鲁肃、手杀孙峻、势魏延、笮融
  • 线下:魔曹操、曲阿小将、
  • 国战:“紫气东来”、“金印紫绶”扩展包22个晋将,晋势力君主【君司马懿】

国战拆分
※联机支持域名地址
※新卡牌:新杀开黑妙妙杀卡牌【以毒攻毒】【大军压境】【浑天仪】
※斗地主休闲和开黑模式支持自定义地主农民候选武将数
※临时关闭首次载入时的在线更新素材提示
※临时修复技能未初始化引起的录像bug
※修复兵乐无useful导致AI错乱留牌的bug
※修复廖化【伏枥】回复值问题
※修复新杀蒋琬费祎【生息】时机
※修复星张让【蠹害】可以对死亡角色发动的问题
※修复TW周处【除害】从其他角色处获得牌报错的bug
※调整界面缩放功能为百分比显示
※ 修改部分默认配置
※重写乐就/TW乐就【催进】AI
※优化汉末神皇甫嵩【势策】提示
※【决斗】杀不足AI不再打出
※简化mayHaveShan调用(Player.mayHaveShan(viewer, type, ignore, rvt): 若type为"use"且ignore不为false,则自动设ignore为this.getCards("h", i => i.hasGaintag("sha_notshan")))
※生死与共、落井下石增加$skill动画
※桃园陆逊的火烧连营语音调整、以及展示牌窗口调整
※技能调整至最新版:乐蔡邕、新杀夏侯玄、新杀徐馨、OL张曼成、吴珂助国、新杀钟毓、诸葛均、乐诸葛果、诸葛若雪、手杀谋贾诩、手杀清河公主等
※海外调整:葛玄、童渊、夏侯紫萼、夏侯子萼、幻张郃、幻姜维、界朱治、谋陈宫、阎圃。同时手杀的对应武将技能async化
※调整文鸯【膂力】为动态 usable
※修复 SCL 曹婴【凌人】猜对效果不符
※界廖化【伏枥】回复体力失效
※幻曹冲【修睦】联机报错
※轮次结束时机前加个空白记录隔断;
※修复势于吉【符济】ai 报错
※族钟会【迂志】event.num1 未修改为 num1
※魔司马【骤袭】未判断失效技能
※【浮雷】判定生效不会受伤的 bug
※调整张绣【雄乱】、鲁班【鬼斧】【神工】
※修复了一个使用[无懈可击]但是客机“取消”按钮异常滞留的 bug
※修复了“_wuxie”部分情况下导致的异常报错与技能效果无效(旧版本的_wuxie 没有判断_status.event 是否为“_wixie”就直接执行了 game.resume();导致部分情况下“arrangeTrigger”被报错取消从而导致技能失效)
※优化手杀曹髦【清正】,将选择牌的部分提出方便其他技能使用
※修复库特莉亚芙卡【巧手】未适配最新装备的更改
※修复合赵云【镇胆】num 未定义导致报错的 bug
※将陈寿【点墨】的创造卡牌部分添加到 ui.create.buttonPresets.skill 方法中(类似使用chooseBtton选择的技能可以参考【蹈节】【点墨】等技能使用[skills, "skill"]的格式)
※对各模式(身份、对决、挑战、战旗)的 phaseloop 进行调整以正确触发每轮结束时的时机
※修复吴庞统【送丧】参数名不同导致报错的 bug
※修复谋程昱【识诈】与护甲相关的体力值变化互动错误
※庞宏【评骘】不能使用【火攻】不能重置
※修复伍孚势力错误的 bug
※黄权【途绝】添加备注(无名杀现版本黄权体力值和【途绝】均为海外服版本)
※修复兴诸葛诞【摧冰】角色死亡报错的 bug
※修复张怀【诀言】因插入结算导致失去【决言】而报错
※将大部分技能的 cost 中与 get.prompt/prompt2(具体技能名)相关部分改为 event.skill 方便其他技能继承
※修复判定牌不为后来先判的 bug
※修复SP 马超一号【追击】不为伤害值的 bug
※修复国战【珠联璧合】当【桃】效果失效的bug
※将【舍身】、【洞察】常驻至 lib.skill、身份局添加【明察】选项
※修正 TW 赵襄【扶汉】、蛇栗嵩【窥机】技能描述
※为原来的 charater 写法支持 clans 拼接
※修复 lib.filter.characterDisabled2 未判断诸神降临的开启导致单挑模式挑战武将不可用的 bug
※修复_wuxie 某些情况下可能卡死的 bug
※修复了一系列装备/判定牌显示问题
※修爵裴秀【制图】记录加个排序优化显示
※修复 player.needsToDiscard 对 add 为 cards 进行数组嵌套数组的操作,导致进行 ignoredHandcard 的 mod 检查时数组没有 hasGaintag 方法报错的 bug
※修复OL 李异【缠双】因缠双角色死亡导致报错的 bug
※对部分未与木牛流马一样可刷新使用次数的装备进行刷新装备使用技能的适配,主要涉及装备:金箍棒、红缎枪、烈淬刀、水波剑、信鸽、桃园飞龙夺凤、春秋笔、木头面具、玉衡、炼妖壶、伏羲琴、神农鼎、昆仑镜、神偷面具、蓝格怪衣、四非真面鼠槌、诏书、定澜夜明珠
※修复旧伏寿【求援】报错的 bug
※修复夏侯楙【蹙国】未限制首次抵消的 bug
※修复 OL 关张【父魂】isPhaseUsing 少打括号的bug
※本体编辑器兼容 extension.character 的对象写法
※神鲁肃【榻谟】调整方便其他武将引用、【智盟】跟进外服最新版本
※将赵直【统观】吴普【识草】共用的 localMark 函数内置为 player#localMarkSkill
※蔡邕【飞白】效果调整为牌堆/弃牌堆均没有牌才摸牌
※调整辛宪英、新辛宪英、将辛宪英等武将【忠鉴】、【才识】
※调整邴原【清滔】【秉德】
※修正谋刘赪【掠影】【莺舞】技能描述和效果
※修复diy 羊祜【避召】一个拼写错误
※修复吴质【圆融】联机 player 未定义的 bug
※合并技能的 changeSeat 和 seatRelated 标签
※斗地主休闲模式添加加强地主和〖飞扬〗版本选项
※修复 TW 王昶【摄叛】不能成功重置次数的 bug
※调整神鲁肃【榻谟】至外服版本
※tw赵襄【扶汉】async化、async化部分refresh.js的技能
※所有跟每轮结束有关的武将技能调整,具体如下:

  • OL:族钟会clanyuzhi、夏侯玄olzeyue、袁姬olshuiyue、魔司马懿olzhouxi|olrumo、谋董卓olguanbian
  • 十周年:神许褚zhengqing、周善dcmiyun、黄承彦dczecai、星袁绍dcjiaowang、星荀彧staranshu
  • 其他:三公将军oldigong、龙廖化dragxigui、桃园系列tyxihun、荆扬诸葛亮jyqibian

※修改牢贾逵【挽澜】的写法,其造成伤害后能溯源
※神张宝技能效果加强能使用其他人的咒兵
※OL赵忠【抵慈】造成的伤害修正为雷电伤害
※威吕布威张辽统一:只要有一张是标记牌即可无次数限制使用
※修复OL界廖化【当先】即使不摸杀也会受到伤害的bug
※新杀谋刘协结算调整
※OL赵忠【抵慈】改为unmarkAuto
※吴普【识草】选类型的按钮样式改为vcard
※谋荀彧【弼佐】回合封技能改为phaseBegin时机触发
※九鼎谋关羽不计入次数和无次数限制合并
※修复OL【劝酒】不能使用转化牌技能的问题
※修复族杨彪其他角色失去牌不能触发【间难】以及重铸装备牌没包括手牌的bug
※修复神钟会觉醒不加体力上限的bug
※修复手杀势于吉【符济】不能展示装备区的牌的bug
※OL管亥【诱阙】结算小修改
※修复朱烁体力上限的错误
※陈寿春秋笔改为随机一项并休整描述
※修复手杀羊徽瑜awakenSkill错误,同时把两个技能async化
※tw李翠莲赵全定势力改为蜀
※修复张曼成【掠城】对非掠城角色也可以无限出杀的bug
※珪固技能错误、技能描述修正、子技能添加charlotte标签
※修复汉末神张宝【咒怨】发动后有可能看不到咒兵牌的bug
※修复魔司马【骤袭】检索记录错误
※谋卢植【司兵】因为player未定义的报错
※威曹丕被朱佩兰发动限定技之后标记报错
※修复十常侍被长安神贾诩复活导致不能正常进行休整不能死亡的bug
※修复谋关【威临】判断印牌时没有unsure的问题
※势于吉【符济】描述错误
※修复线下车胄【暗谋】指定角色后会显示标记的bug
※转化牌部分含有符济牌时没有判断gaintag_map对应的键值对是否存在
※修复四个【酒诗】脱离濒死翻回来后下次进濒死不能正常喝酒的bug
※修复钟毓【捷思】拿到同一张牌不算同名牌的bug
※修复长安李傕和魔曹操联机对话框无法正常关闭并执行下一步操作的bug
※修复废除装备区不会弃置牌的bug
※修复联机填地址为空时报错的问题
※修复draw的摸牌数0时控制台警告的错误
※回滚player#addSkill的info.mark处理部分、更改player#addAdditionalSkill、player#addTempSkill执行的addSkill中的nobroadcast为null,以此支持mark显示
※revive写成事件,需要使用时请使用player#reviveEvent
※chooseToCompare写成contents
※调整多个前缀的nature属性
※点墨生成的技能牌增加衍生技的显示
※允许game.expandSkills展开subSkill,来让【点墨】【骤袭】可以筛选到更多的技能
※为国战添加”文德武备“选项,控制国战司马懿、张春华等晋势力武将使用的版本
※为执行的额外回合来源增加提示
※修复lib.filter.cardUsable中判断event出错的bug
※调整线下武将【龙关羽】【吕常】为修订版本
※新杀谋曹洪【迎驾】SP贾诩【拥嫡】加强
※调整国战界徐盛的技能为【破军】
※起韩遂【互雠】添加tip标记
※修复【立世】【戒酒】【募讨】【蜕骨】【争擎】【机论】【标倾城】【倾袭】【令法】【狂骨·二级】【平辽】【西向】【逐北】【侻失】的描述问题
※调整【间计】【砺锋】【围铸】【虚羯】【雷公助我】【锻体】【异合】结算
※调整【锋势】【凶逆】【溃降】【谋清俭】【登锋】【谋连营】【大雾】【狂风】【礼让】【离叛】【旧蛊惑】【落宠】的写法
※调整【革制】【残玺】【狂信】【合伐】【国战探锋】的ai
※修复谋董卓换肤后的焚城语音
※【诈亡】【邀弈】【经纶】等技能补充衍生技
※调整【蹈节】【帝力】【破怠】【夺锐】【写轮眼】使用的技能牌样式
※调整【双雄】【连环】【惑众】的写法以符合点墨的筛选条件
※【昭凶】补充combo
※SP曹操【逐北】添加使用牌数提示
※乐綝【破锐】添加次数提示
※补充国战君曹操的缺失语音
※调整【聚谷】为各摸一张
※修复闪刘宏【朝争】的语音问题
※调整【累卵】为自选锦囊牌
※修复“同心”机制的标记显示问题
※修正【绝围】中错误的参数
※【寤寐】回合复制phaseList
※【诏图】【任贤】【弼佐】回合特效绑定对应额外回合
※为执行的额外回合来源增加提示
※修复【制霸】语音
※调整【乘烟】的牌名检测,避免mod的影响
※调整【武圣归来】为对活人无效
※调整杨奉【威命】为使命失败时重置【血途】使用次数
※为【再起】【兴衰】等多个技能的恢复体力添加来源
※对”对指定目标使用一张牌“的技能补上complexTarget,以适配如方天画戟的额外指定目标技能
※调整所有[背水!]技能的结算为先执行技能效果后支付背水代价
※国战吕玲绮【无双】语音调整
※国战【凶虐】效果调整
※国战【酣战】提示修复
※国战【拒战】【卫戍】描述和标记调整
※调整【雄踞】为修改起始手牌数
※修复【出策】未正常限制可用牌的bug
※修复【寤寐】在挑战模式下无限回合的bug
※修复濒死时无法使用【献酿】酒的bug
※修复【袭爵】的【骁果】可以被【骤袭】检索的bug
※修复【镇胆】轮次结束时不能摸牌的bug
※修复【妙语】没有给牌动画的bug
※修复谋【武圣】未适配unsure的bug
※修复【善断】联机报错的bug
※修复【落宠】ai报错的bug
※修复长安神贾诩的僵尸会导致getFriends/getEnemies出问题的bug
※修复标马良【协穆】不为正面给牌的bug
※修复势于吉【道转】飞刀的bug
※修复用间李儒【威权】发动报错的bug
※修复【绝围】ai报错的bug
※修复【拾忆】没牌发动时报错的bug
※修复【积干】部分情况未初始化报错的bug
※修复挑战模式黑名单未正常生效的bug
※修复吴质【圆融】选牌报错的bug
※修复谋甘宁【奋威】ai报错的bug
※修复【纵横】【密图】和延时拼点的bug
※修复锦盒弃牌的bug
※修复【军神】【狈行】【道转】的bug
※修复濒死时使用不计入次数限制的酒,会导致无法再喝酒的bug
※修复国战暴露野心报错的bug
※修复君曹操衍生技id错误的bug
※修复国战【拒战】和【迅析】的互动bug
※修复国战【总御】交换坐骑牌不触发【屯田】的bug
※修复国战【急袭】不能发动的bug
※修复国战【苦肉】缺少技能翻译的bug
※修复谋【天香】不能使用装备区牌的bug
※修复【灭害】期间使用黑桃牌当闪不触发后续效果的bug
※修复【余料】未筛选可选牌的bug
※修复【武继】不会失去【虎啸】的bug
※修复【奇击】杀自己的bug
※修复【衡虑】回收已使用桃的bug
※修复【袭营】【御嶂】不禁止虚拟牌使用的bug
※修复【青冥剑】无法正确触发的bug
※修复【乘流】目标死亡不终止流程的bug
※修复【承袭】拼点没赢无法额外指定目标的bug
※修复多个【设伏】重复发动的bug
※修复【仓储】不会被【失守】失效的bug
※修复评鉴发动【思泣】指定所有目标的bug
※修复【精械】选择装备区牌不改变效果的bug
※修复【据险】可以赠送牌的bug
※修复【有福同享】仅能生效一个目标的bug
※修复【慑叛】重置发动次数为生效的bug
※修复【媦婉】不能对仅判定区有牌的角色使用的bug
※修复3d夏侯玄【玄论】控底未生效的bug
※修复【变装】未判断可用性的bug
※修复【狂骨】技能log在回血/摸牌之后的bug
※修复【系力】无脑发动的bug
※修复【齐眉】不触发展示牌时机的bug
※将国战的围攻、被围攻、处于队列等函数常驻;
※修复传械马钧巧思卡死的bug
※修复谋张飞无法退出酒状态的bug
※诸葛若雪暖惠async化
※async化手杀胡车儿的盗戟(顺便修复伤害有来源牌的bug
※族陆景的探锋适配许劭的评鉴,避免发动技能后没法触发无视防具的效果,吴文鸟的冲坚同理
※两个挽澜的ai优化
※.星魏延摸牌效果和限制次数的效果放在同一个used子技能,如果中流插入结束不能摸牌
※修复严政地道强制发动的bug
※修复宗护没有ignoreMod标签导致的无法使用虚拟闪的bug同时优化技能交互
※修改OL老仙天书技能的filter
※调整雍闿势力为蜀
※为神将补齐国战势力
※添加势力”魔(devil)“
※调整汉末神卢植的id为hm_shen_yl_luzhi
※调整国战孙尚香的技能id
※将各个武将包中的perfectPairs.js合并
※幻曹昂的煌烛修正
※沙盒允许用户来决定是否对当前服务器启用
若干素材补充

新增函数/函数修改/函数修复

player.reviveEvent方法,以及将复活事件化

        /**
	 * 令玩家复活--事件化
	 * @param { number } [hp = 1]
	 * @param { boolean } [log]
	 */
	reviveEvent(hp, log) {
		const next = game.createEvent("revive");
		next.player = this;
		if (hp) {
			next.hp = hp;
		} else {
			next.hp = 1;
		}
		next.log = log;
		next.forceDie = true;
		next.setContent("revive");
		return next;
	}
       //用例:卡牌武圣归来
      async content(event, trigger, player) {
		const { target } = event;
		if (!target.isDead()) {
			return;
		}
		await target.reviveEvent();
		await target.draw(3);
	},

修改player#useCard和player#respond以获取哪个技能的mod修改了对应实体牌的牌名属性花色点数

         /**
	 * 令玩家使用牌
	 * @returns { GameEventPromise }
	 */
	useCard() {
		...
		const event = get.event(),
			card = next.cards[0];
		next.modSkill = {
			cardname: null,
			cardnature: null,
			cardsuit: null,
			cardnumber: null,
		};
		const keys = Object.keys(next.modSkill).flat();
		if (event.name == "chooseToUse" && !next.skill && get.itemtype(card) == "card") {
			let skills = [];
			if (typeof this.getModableSkills === "function") {
				skills = this.getModableSkills();
			} else if (typeof this.getSkills === "function") {
				skills = this.getSkills().concat(lib.skill.global);
				game.expandSkills(skills);
				skills = skills.filter(i => {
					const info = get.info(i);
					return info && info.mod;
				});
				skills.sort((a, b) => get.priority(a) - get.priority(b));
			}
			for (const skill of skills) {
				for (const key of keys) {
					const mod = get.info(skill).mod[key == "cardsuit" ? "suit" : key];
					if (mod) {
						let arg = [card, this, event, "unchanged"];
						const result = mod.call(game, ...arg);
						if (result !== undefined && typeof arg[arg.length - 1] !== "object") {
							arg[arg.length - 1] = result;
						}
						if (arg[arg.length - 1]) {
							next.modSkill[key] = skill;
						}
					}
				}
			}
		}

		...
	}
         

为一些需要选目标的choose事件新增targetprompt2接口,通过钩子函数在选择目标时生成不同于player#prompt的提示,目前用例有谋小乔(触发技)、谋文丑(主动技)、OL麴义(常驻chooseToUse)

//OL麴义的伏骑
onChooseToUse(event) {
	event.targetprompt2.add(target => {
		if (!target.isIn()) {
			return false;
		}
		const player = get.player(),
			card = get.card();
		if (get.type(card) == "trick" || (get.type(card) == "basic" && !["shan", "tao", "jiu", "du"].includes(card.name))) {
			if (target.isIn() && target !== player && get.distance(target, player) <= 1) {
				return "不可响应";
			}
		}
	});
},
//OL谋小乔的迷落
const next = player
	.chooseTarget(`###${get.prompt(event.skill)}###令一名没有“迷落”牌的角色失去1点体力,或令一名有“迷落”牌的角色回复1点体力。`, (card, player, target) => {
		return player.getStorage("olmiluo_clear").includes(target);
	})
	.set("ai", target => {
		const player = get.player();
		if (target.countCards("h", card => card.hasGaintag...
Read more

v1.10.17.2

17 May 10:47
51188a5
Compare
Choose a tag to compare

更新内容

v1.10.17.2 版本更新内容
※我们继续和一些优秀且具有开源精神的代码编写者保持着积极合作。在这一版本中,我们通过接收GitHub的Pull Request,整合了@rintim @xizifu @xjm0708 @PZ157 @karimvern @mengxinzxz @zhichaoxi2006 @S-N-O-R-L-A-X @dragonJadeRan @yx-lingmeng @nonamemajun @cjk7989 @Sun-F2004 @AstralBarrage @nigthmoon @1937475624 等16位其他代码贡献者编写的代码。
※添加新武将
武将包:荆扬对垒、蛇年限定十常侍
单独武将:
线下:长安神曹操、神王允、神李傕郭汜、长安神贾诩、车胄、陈寿
OL:蔡贞姬、族杨彪、族荀爽、杨阜、李丰、界马岱、谋卢植、族杨众、管亥、张曼成、魔司马懿、张角三兄弟
新杀:夏侯玄、星张让、谋刘协、钟毓、夏侯徽、烈袁绍袁术、威曹丕、神钟会、吴质、朱铄
手杀:国渊、黄祖、田丰、陆郁生、关银屏、孟达、曹性、张燕
※跟进旧武将的技能效果
※添加“自动导入扩展”选项,开启后将在启动时自动检索扩展文件夹,并导入未导入的扩展

  • 由于可能存在某一平台下文件管理的效率低下,导致启动页加载效率过低,故不自动开启,有需求请自行开启
  • 当以此法导入新扩展时,为防止一些特殊情况,此扩展将默认被关闭

※将扩展《富甲天下》所有的构造函数变成类,重写help对象
※增添联机聊天表情包
※添加角色引言(lib.characterAppend用法与lib.characterTitle相同)
※规范大部分觉醒技、限定技的unique标签
※修复文钦偕举没有目标仍选择出杀目标的bug
※修复马伶俐send缺漏导致的bug(直接重写了选择部分)
※修复衰曹节王甫和OL谋卢植持续加伤效果未能多次叠加
※修复OL界关张继承标父魂后没有修改viewAsFilter
※修复SCL祢衡效果的错误,之前即使不摸牌用到五张牌后就不能出牌了
※修复手杀薛综诫训prompt补充,以及ai补充
※修复OL费祎和衷ai错误
※修复星法正语音引用错误
※修复谋黄忠亮出牌不进处理区的bug
※修复线下汉末风云严政印杀会触发八卦阵的bug
※修复威吕布霸关出杀受限制问题
※修复赵昂在自己没有手牌时不能正常观看其他角色手牌的bug
※修复神华佗寰道ai报错bug
※增加族杨修高视,族杨赐谏直、张翼鏖刃、乐貂蝉低讴、新杀张虎同援的combo
※修复OL界蔡夫人窃听filterButton和ai未定义player导致的bug
※修复用间李儒毒谋其他角色失去手牌里的视为毒不会失去体力的bug
※修复幻黄盖焚险决斗能指定黄盖的bug
※修复食岑昏ai错误、年兽岁崇prompt错误的bug
※修复张曼成掠城目标使用第一张杀后没有再次筛选能使用的牌导致的bug
※修复荆扬曹仁御军技能描述错误的bug
※修复桃园沙摩柯二技能效果错误的bug
※汉末神朱儁撤击修改
※修复神皇甫嵩有个choice拼错的bug
※族荀爽耽道和界朱然胆守增加对当前回合角色的判断
※修复线下张曼背水加伤结算bug
※修复神张角天劫chooseTarget与描述不符的bug
※修复阳球扫奸send缺少参数的bug
※修复修复若干技能错误使用或者没使用isCard的问题的bug
※新杀SP马超追击子技能增加onremove
※修复海外郝萌攻阁交给牌数量缺失的bug
※修复ol界双雄捡牌没有判断区域的bug
※庞凤衣异瞳摸牌条件调整
※补充谋黄盖、谋周瑜技能的tip
※海外谋曹仁护甲调整
※手杀星董卓雄进效果调整为在董卓死后会移除
※调整乐系列武将标记初始手牌的技能的描述和效果
※手杀谋黄盖诈降跟进描述和效果
※乐邹氏筝标记调整为永久标记
※重写战役篇王允的连计
※新杀谋荀彧技能同步
※增加曹婴凌人三种类型的牌面
※新增OL开黑季限时锦囊(ai差点意思)
※为木马的牌被弃置添加广播
※修复食岑昏【暴食】ai判断相反的bug
※修复起何进【诛宦】结算与描述不符的bug
※修复威张辽【破戎】插结情况下tip显示错误问题
※修复charater类一个duaslside拼写错误问题
※修复界关羽【义绝】加伤buff永久累加的bug
※修复界刘备【仁德】未按阶段计数导致同一回合多个出牌阶段只能使用一次基本牌的bug
※修复幻丁尚涴【春晖】摸牌结算错误问题
※修复孙霸【结党】联机客机看不见对话框的bug
※修复TW法正【恩怨】摸牌条件错误问题
※修复谋吕蒙【夺荆】没有护甲仍能无视防具的bug
※修复杨彪【义争】和马忠【抚蛮】技能buff未加夏洛特标签的bug
※修复星文丑【连战】联机选择增加目标卡死的bug
※修正年兽【岁崇】及TW张昭【力谏】部分错别字的情况
※修正谋典韦【亢勇】描述
※宝宝化手杀星董卓【镇边】结算、界法正【恩怨】、星法正【谙计】
※修复本体编辑器引用技能报错的bug
※修复player.hasUsableCard部分情况报错的bug
※修复神贾诩【炼魄】判断最大阵营数错误的bug
※修复柳婒【迟行】某些情况下报错的bug
※优化王元姬【谦冲】、【尚俭】
※优化势董昭、TW董昭【妙略】
※修复SP蔡文姬【默识】不使用第一张牌也能使用第二张的bug
※注释掉缺失素材的水墨指示线
※补充义绝、强化、纵掠等技能的skillTagFilter
※修复蛇韩悝【宵赂】最后为韩悝向选择的角色使用牌的bug
※修复族杨赐【切议】判定打断报错的bug
※修复蛇赵忠【鸱咽】ai报错问题
※修复高升【地锋】使用错误函数的bug
※修复十周年界马忠【抚蛮】filter只限制有手牌才能发动的bug
※南华老仙天书的一个效果更正
※修复庞统【连环】缺失ai白板的bug
※给与当前回合角色相关的技能补全对当前回合角色存在的判断
※OL谋赵云【逆澜】【绝崖】、乐诸葛果【乘烟】、阮瑀【妙弦】调整
※将除国战外的与player.awakenskil相关的l具体技能名改为event.name/skill方便扩展/其他技能继承
※修改【木牛】支持装备多个木牛流马下可以任选其中一个扣置牌
※修复手杀裴秀【行图】一个逻辑问题导致的显示bug
※修复手杀谋贾诩【乱武】其他角色可以杀贾诩的bug
※修复界夏侯氏【樵拾】满足条件也不能继续发动的bug
※修复手杀皇甫嵩中止甄姬【洛神】、夏侯惇【刚烈】判定导致报错的bug
※调整贾诩/界贾诩【乱武】结算
※修复十周年界全琮【邀名】联机player未定义报错的bug
※修复起刘宏与闪刘宏【甚宠】多了true的参数导致清除jiu2等夏洛特技的bug
※修复TW霍峻与手杀【霍峻】【伺怠】、司马徽【荐杰】、势太史慈【振锋】因批量替换awakenSkill导致的报错的bug
※修复张角【雷击】因插入结算导致判断无后续而报错的bug
※修复忙牙长【截刀】技能fiter错误导致可以多次触发的bug
※修复手杀谋贾诩【完杀】为正面向上分配的bug
※修复卢氏在有角色体力/手牌均进行调整后触发【驻颜】报错的bug
※修复手杀谋郭嘉【遗计】、手杀谋贾诩【完杀】、淳于琼【粮营】、十周年李丰【输粮】、手杀SP甄宓【济危】、徐琨【筏铸】、吕常【守襄】、OL界王异【秘计】、OL董昭【先略】、【宿守】、谋张绣【豪义】中loseAsync事件的cards未展开的bug
※调整reluoyi,gameEvent.cancel方法中为事件添加_cancelled属性
※修复友徐庶【启诲】多刀buff未生效的bug
※修复OL袁涣【德辱】摸牌效果为摸至体力上限的bug
※修复OL袁涣【德辱】必须选择至少一个牌名的bug
※OL董昭与其两个技能开放其他模式的使用权
※OL袁涣【德辱】添加技能AI,优化操作界面
※OL韩遂【骁袭】发动时机调整
※OL谋董卓【封赏】记录花色时机调整,防止嵌套结算,添加已选择过的花色tip标记
※关索【当先】改为OL界廖化版本,修复关索【征南】可重复选择已拥有但失效的技能的bug
※OL南华老仙【青书】添加概率获得1条高级词条
※修复国战野心家司马昭翻译问题
※修复OL谋文丑【决绝】不仅为使用手牌也能触发技能的bug(人话:实体牌不能掺杂自己手牌外的牌)
※修复twxiayong颜良播放配音错误的bug
※优化外服王昶【开济】写法(从存储进入过濒死的角色改为采用历史获取进入过濒死的角色)
※修改鲍信/TW鲍信【募讨】中获取下家的方法从.next改为getNext()
※修复慑伏在无实体牌不触发技能防止伤害的bug
※提升万箭齐发的音质
※增加为武将包添加文字描述的方法,添加武将包id+'_info'格式即可实现
※其他bug修复、AI优化、台词调整、素材补充、姓名适配和补充函数注释

新增函数/函数修改/函数修复

1.新增player方法ChooseButtonTarget,简化一些交互,后续增加了可隐藏弹窗的按钮(由canHidden参数控制是否开启,默认为true,主要用于应对弹窗过大导致手机端没法选择目标的问题),该按钮的实现会覆盖event的custom.add.button,如果后续有人覆盖了该事件的custom请适配一下。目前给出的例子如下:陆郁生(一般的选选项和目标且dialog为自己搓的)、国渊(有选项不需要目标的且用createDialog创建dialog)、李丰(用于分牌)、管亥(用于主动技,但不太推荐)

//使用例
async (event, trigger, player) => {
    const { result } = await player.chooseButtonTarget({
        createDialog: ...,//同chooseButton的dialog写法
        filterButton(button) {...},//同chooseButton的filterButton写法
        filterTarget(card, player, target){ ...},//同chooseTarget的filterTarget写法
        ai1(button) { ...},//同chooseButton的ai写法
        ai2(target) { ...},//同chooseTarget的ai写法
    });
    console.log(result)//返回bool/links/targets
};

2.新增player.canRespond(event,card),新增lib.respondMap用于保存一些卡牌的可被响应牌,新增get.canRespond以获取lib.respondMap,用于判断玩家或玩家的某张牌能否响应该useCard事件,目前仅适配本体常用的卡牌(但有接口可以添加),具体用法见player.js
3.修复“复活”后异常显示的身份标记;对一系列addSkill函数增加广播;修复主机进行chooseToMove不受联机时间限制;修复联机的一个注入漏洞
4.给useSkill的contentBefore和contentAfter增加skill属性,提高部分代码的复用性;修复 #2436——一个可能的逻辑错误
5.gameDraw、replaceHandCards、replaceHandCardsOL事件新增gaintag接口,可以为初始手牌上标记,具体用法见该事件代码
6.为无名杀支持卡牌的永久标记,修改了lose事件、gain事件以及addGaintag的相关部分,永久标记通过前缀eternal_来区分,详情见card.addGaintag
7.gameDraw、两个replaceHandcards事件重新添加更换手牌时移除所有标记,包括永久标记
8.为when生成的skill添加sourceSkill属性以适配一些需要读取源技能的技能
9.修改useCard,respond以适配直接使用装备区或判定区的转化后的牌
10.draw新增接口,otherGetCards用于从其他牌堆获得牌,传入的是从其他牌堆获得牌的函数,例子见陈寿;同时修改原来的log,正面向上摸牌时不会再log两次
11.gamedraw、replacehandcards、replacehandcardsOL新增接口otherPile用于适配起始手牌和手气卡从别的牌堆获得牌,具体见对应函数,例子见陈寿
12.对虚拟装备/虚拟判定牌机制进行完善
-获取转化后实体牌的位置
get.owner
get.position
get.vcardinfo
-重构事件效果
#Player
lib.element.player.equip
lib.element.player.addVirtualJudge
lib.element.player.#addVirtualJudge
lib.element.player.addVirtualEquip
lib.element.player.#addVirtualEquip
#Content
lib.element.content.lose
lib.element.content.equip
lib.element.content.replaceEquip
lib.element.content.swapEquip
lib.element.content.swapHandcardsx
lib.element.content.addJudge
lib.element.content.phaseJudge
lib.element.content.moveCard
-其他修改
为新的虚拟装备/虚拟延时锦囊兼容了“重连”
-注意事项
新的equip目前不再支持同时装备多个装备(也就是回退回了老“equip”的使用方法),有可能需要扩展兼容
13.调整player.chooseDrawRecover,支持令玩家对其他角色选择回复体力和摸牌的操作,不填target参数默认自己对自己进行选择
14.gain/lose从step-content改contents

//其实就是让函数少走一次解构的同时也方便修改
//牢函数
lib.element.content.gain/lose=()=>{
'step 0'
...
'step 114513'
};
//新函数
lib.element.content.gain/lose=[
第1步的函数
...
第114514步的函数
];

15.添加boss挑战黑名单接口,用例见下

//挑战祭风卧龙时禁用晋司马师
_status.banlist["boss_zhugeliang"] = ["jin_simashi"];
//也可以写成函数形式
//下为挑战boss刘备时禁选所有关羽
_status.banlist["boss_liubei"] = function (button) {
	let { link } = button;
	if (link.includes("guanyu")) {
		return false;
	}
	return true;
}

16.继续优化get.cardsetion
17.为player.draw添加默认摸牌来源
18.修复player.choosecard部分情况导致的bug
19.添加响应列表,具体函数见下

/**
 * the cards which can respond card
 *
 * 卡牌的可被响应牌(主要是用于player.canRespond函数)
 * 例如可响应杀的主要就是闪,或者本体的草船借箭,以此类推;
 * 类似劝酒这种复杂条件的,可以放函数,但仅检测实体牌
 */
lib.respondMap = {
	sha: ["shan"],
	wanjian: ["shan"],
	qizhengxiangsheng: ["sha", "shan"],
	juedou: ["sha"],
	nanman: ["sha"],
	jiedao: ["jiedao"],
	//所有锦囊都可以用无懈可击响应
	trick: ["wuxie"],
	//所有伤害牌都可以用草船借箭响应
	damage: ["caochuan"],
	//所有基本牌或普通锦囊牌都可以响应
	all: [],
	//也可以放函数
	khquanjiu: ["jiu", (card, player) => get.number(card, player) == 9],
};
/**
 * 返回如何响应此牌的一个数组,其中包含字符串或者函数,具体用法可见player.canRespond
 * @param {string | Card | VCard | object } card(也支持一些标签,如trick,damage和all)
 * @param {false | Player} [player]
 * @returns {string[]}
 */
get.canRespond = function (card, player) {
	let name;
	if (typeof card == "object") name = get.name(card, player);
	else name = card;
	if (typeof name != "string") return [];
	const filter = lib.respondMap[name];
	if (Array.isArray(filter)) return filter;
	if (typeof filter == "function") return [filter];
	return [];
};
/**
 * 玩家(或某张牌)能否响应某个useCard事件的牌,目前仅支持本体部分常用的卡牌,需要添加新卡牌的可以到lib.respondMap按格式添加
 * 请注意,该函数只能粗略判断,有些情况是没法判断的
 * @param {GameEvent} event 需要判断能否响应的事件,目前只能为useCard或者它的下一级衍生事件,其他全部返回undefined
 * @param { Card | VCard | object | string } card 需要检测的牌
 * @param { string | boolean } [type] 响应什么类型,默认使用。"use": 使用 / "respond": 打出 / "all": 全部,true
 * @returns { boolean | undefined }
 */
lib.element.player.canRespond = function (event, card, type) {
	const player = this;
	if (!event.name?.startsWith("useCard")) return;
	const evt = event.name == "useCard" ? event : event.getParent();
	if (!evt || !evt.card) return;
	if (card && typeof card == "string") {
		card = { name: card };
	}
	if (typeof type !== "string") type = type ? "all" : "use";
	const keys = get.canRespond(evt.card);
	if (get.type(evt?.card) == "trick") keys.addArray(get.canRespond("trcik"));
	if (get.tag(evt?.card, "damage")) keys.addArray(get.canRespond("damage"));
	keys.addArray(get.canRespond("all"));
	if (card) return keys.some(key => (typeof key == "function" ? key(card, player) : key == get.name(card, player)));
	const evtx = get.event();
	let evtNames = typeof type !== "string" || type === "all" ? ["chooseToUse", "chooseToRespond"] : ["chooseTo" + type.slice(0, 1).toUpperCase() + type.slice(1)];
	const cards = player.getCards("hs", card => {
		if (type === "all") return true;
		return evtNames.some(evtName => {
			let evty = evtx.getParent(evtName);
			if (get.itemtype(evt) !== "event") evty = evtx;
			if (type === "respond") return lib.filter.cardRespondable(card, player, evty);
			return lib.filter.cardEnabled(card, player, evty);
		});
	});
	return keys.some(key => (typeof key == "function" ? cards.some(card => key(card, player)) : player.hasUsableCard(name, type))) && !evt.directHit.includes(player);
};

20.添加lib.concurrent异步库,用于一些特定情况的异步场景,目前的定义如下:

export class Concurrent extends Uninstantable {
	/**
	 * 执行一个异步的for range循环
	 *
	 * 由于异步的特性,你无法中途中止循环,但你可以提供一个AbortSignal,来使回调函数能通过该信号中止
	 *
	 * > 步长为1主要是C#的Parallel.ForAsync的步长只能为1,~~绝对不是我懒~~
	 *
	 * @param start - 开始索引(包含)
	 * @param end - 结束索引(不包含)
	 * @param callback - 回调函数,接收当前索引和提供的信号;如果回调函数不包含异步操作,则将退化为同步操作
...
Read more

v1.10.17.1

07 Apr 01:02
d8ac61b
Compare
Choose a tag to compare

更新内容

v1.10.17.1版本更新内容
※我们继续和一些优秀且具有开源精神的代码编写者保持着积极合作。在这一版本中,我们通过接收GitHub的Pull Request,整合了@PZ157 @karimvern @xizifu @rintim @xjm0708 @nonamemajun @mengxinzxz @fossifer @S-N-O-R-L-A-X @zhichaoxi2006 @Sun-F2004 @Tom-abc @yx-lingmeng 等14位其他代码贡献者编写的代码。
※新武将
OL:裴元绍、族杨修、族杨赐、界关张、夏侯恩、界郭淮、界伏皇后、曹纯、赵忠、谋张让、谋文丑、谋贾诩、闪赵云、闪刘宏、祢衡
新杀:谋荀彧(带〖先识〗)、谋董承、谋曹洪、田忌、曹媛、刘衿刘佩、威董卓
手杀:谋吕布、庞羲、孙韶、夏侯尚、杨弘、吴珂、势陈到、邢道荣、雍闿、清河公主、势娄圭、谋夏侯渊、势于吉、友崔均、友石韬、(玄)司马昭
TW:张允、幻曹丕、幻典韦、幻曹植、幻曹冲
线下:四象封印太阳
※调整文鸳、界刘表、星丁奉、徐馨、SP祝融、乐蔡邕、张怀、武陆抗技能至最新版
※ 解禁隐藏武将:张任、张臶、陆伯言、周公瑾、英雄杀荆轲、四季映姬、年兽、昆特牌伊欧菲斯、轩辕剑陈辅、程咬金、麦尔斯、秦叔宝、张烈,并为张烈补图
※增补线下1v1华佗、DIY周公瑾【劫焰】、四季映姬·夜魔仙那度【映冢】,四季映姬·夜魔仙那度可自选挑战,同时提供十殿阎罗的隐藏BOSS触发
lib.element.player.say现在会过滤不为表情包的html标签,服务器的新建约战标题会自动削去HTML标签。
※修复两个鲍信的prompt错误
※修复backup子技能的filterOk有定义时直接赋值,没有再走一遍filterCard导致印牌不走条件的bug
※势太史慈〖振锋〗切换原画条件变更
※颜良文丑prompt文本错误
※修复角色死亡弃置装备区黑桃牌不能触发OL董翓凤瑶回血的bug
※手杀界顾雍秉壹交互优化
※修改如意金箍棒的技能翻译
※修复手杀毌丘俭征荣无人可选但仍有弹窗的bug
※修复direct+chooseToUse导致的计时器异常
※修复OL程普疠火打中后ai弃牌报错
※修复陈蕃印桃因没有save的tag的报错
※修复势太史慈振锋修改后酣战摸牌数异常
※修复二版武陆抗超过两人的拼点事件报错
※幻丁尚涴技能id命名错误
※修复满宠御策ai错误
※调整OL郭照【椒遇】【内训】
※修复OL界廖化【伏枥】报错
※修复王匡【任侠】部分情况下(如手里有如董白给的黠慧黑杀选择弃牌)死循环的bug
※优化SP刘备【誓仇】【昭烈】、星SP张飞【大喝】
※3D精选武将包添加ddd前缀
※修复3d甄宓未对“水相”牌进行牌数判定的bug
※修复手杀谋郭淮【精策】因化身类技能获得后回合结束时没有判定精策牌数的bug
※修复SP刘备【煮酒】联机未生效、OL谋张绣【仇猎】不能弃置装备区的武器牌的bug
※修复银月枪使用【杀】未进行限制的bug
※修复侯成【献酿】失去体力条件错误的bug
※优化3d甄宓【水相】【淼形】、卑弥呼【纵傀】、【骨疽】、【拜假】、【蚕食】、【秉诏】
※修复【五谷丰登】的fixedShownCards在置入处理区的relatedEvent设置错误
※修复未开启自动确定时托管的bug
※修复刘禅【享乐】、【推心置腹】角色死亡报错的bug
※修复曹髦【清正】、张怀【诀言】托管报错的bug
※修复装备【冲应神符】受到无来源伤害的bug
托※修复【固国安邦】联机报错的bug
※修复OL谋邓艾【积谷】不为判断体力上限最大的bug
※修复谋曹丕及TW谋曹丕【行殇】增加体力上限效果未对角色进行体力上限小于10判断的bug
※修复刘永【诛佞】不选择使用伤害牌报错的bug
※修复孙霸【结党】不弃置延时锦囊牌的bug
※修复OL蒲元托管默认助力的bug
※调整SP甄宓【惠济】、友诸葛【演策】、手杀董昭【妙略】、手杀彭羕【达命】结算
※优化枣祗任峻【粮策】【坚壁】、TW葛玄【丹法】、【灵宝】、【司道】、【太极拂尘】、薛灵芸【暗织】操作方式
※修复汉末南华老仙【御风】与类似十常侍对局只有一人而卡死的bug
※修复眭固角色名错误及其【吞天】技能描述和结算错误的bug
※修复手杀贾充【悖逆】可以对自己发动的bug
※修复合赵云【镇胆】使用牌不触发神孙权【圣质】的bug
※修复衰董卓【观势】火攻被抵消后续结算不改为决斗的bug
※旧杨芷【婉嫕】、龙凤【游龙】适配中流
※优化一些执行额外阶段的技能
※优化含当你受到1点伤害后/当你失去1点体力后的描述的技能
※修复转黄忠【摧锋】【登难】未检测不为卡牌造成的伤害而报错的bug
※修复浮云【余热】仅检测弃牌阶段弃牌的bug
※优化浮云【余热】
※地道的黄豆表情包
※修复神司马联机忍戒不能获得忍标记的bug
※优化本体delete event.result.skill的技能的操作改为log:false
※线下武将暗影调整
※修复伏完【持重】无技能描述的bug
※修复起孔融【争义】报错的bug
※优化get.cardsetion方法中对势力色底的get方式
※修复OL武安国【厉勇】、卢氏【驻颜】联机客机报错
※修复OL界张春华【翦灭】、谋华雄【搏决】、马玩【浑疆】、谋孔融【争义】、年兽【岁崇】等联机报错且不为同时选择的bug
※修复OLSP曹操【西向】结算错误的bug
※调整威吕布【骁武】、【霸关】;调整韩氏五虎分包
※优化梦曹操【政略】、与【求援】相关的多个伏皇后
※补充遗漏的addskills和removeskills的popup参数
※修复谋貂蝉【离间】和起皇甫嵩【居下】的bug
※修复吾彦【澜疆】没有手牌数小于自己的目标角色仍然摸牌的bug
※修复晋贾充【凶竖】未检测出牌结束时未与发动技能时的阶段不为同一个阶段而导致可以对下一个触发此时机的角色而非目标角色造成伤害的bug
※修复用间曹操【义兵】不为转化杀的bug
※修复OL刘璋【丰蔚】受到牌的伤害未加伤的bug
※修复韩五虎【披靡】未适配联机且未进行await的bug
※修复OL李异【缠双】使用杀计入次数限制的bug
※修复友庞统【养名】未进行await的bug
※修复神张辽【止啼】受到无来源伤害报错的bug
※修复族王允【铭戒】联机效果显示错误的bug
※修复族王沈【岸然】点击取消发动报错的bug
※修复孙笨觉醒【制霸】拒绝拼点报错的bug
※修复周姬【炎谋】遇到八卦阵报错的bug
※修复汉末神皇甫嵩对死亡玩家仍能发动【破怠】的bug
※OL冯妤、SP张郃、OL朱灵、郭照、OL胡班、OL董昭、OL王荣、左芬、写轮眼、DIY于吉优化
※庞宏【评骘】翻译勘误;
※初步修复部分需要打出牌的本体卡牌未限制合法性的问题
※修复界左慈【化身】翻页会导致已选择的制衡化身牌丢失bug并调整此技能结算为OL操作方式
※将十周年版本的曹纯移动至限定专属包的祈福小包
※修复江山如故娄圭【沙城】【凝寒】配音台词写反的bug
※修复神庞统【鸾锁】不能弃置的牌也得是回合开始时打上“鸾锁”标记牌的bug
※修改应天神司马【戢鳞】初始“志”张数为全模式两张
※修复谋程昱【告谏】选择交换牌但是不进行交换的弹窗bug
※修复旧伏皇后【求援】进行两次角色选择的bug
※修复幻曹昂【离渊】storage的e被吃掉的bug
※删除鲍信【毅谋】、刘晔【破橹】的技能中的!!及技能相关的衍生bug
※修复薛灵芸【霞泪】部分情况下无法触发的bug
※修复SP甄姬【惠济】开五谷不判定角色数和是否有可使用目标的bug
※管宁【遁世】技能筛选优化,不会筛选描述中含有“游戏开始时”的技能
※调整本体所有“一轮游戏开始时”的技能描述为“每轮开始时
※将character下的lib.character和mode下除国战外的lib.characterPack\[mode\]中的武将改为类Character写法,Character具体属性详见noname/library/element/character.js,旧写法改新写法步骤可参考其中的setPropertiesFromTrash方法
※使用传统方法引用lib.characterPack\[mode\]的扩展需改用get.character等进行检测
※移除无引用的character/jiange.js、character/boss.js、character/xiake.js
※移除本体所有带alter标签的技能的alter相关信息,并移除对应的菜单显示机制
※移除四象彭羕、无图片和技能实现的注释武将和DIY包剩余注释武将
※移除蛇年错印武将廖化、张飞、朱儁
※移除部分冗余素材
※ 删除部分注释掉的武将和技能代码
※重写【望梅止渴】ai
※修复DIY曹操【号令】描述并async化
※唯一连环的人机被队友属性杀时不会一律不出闪
※常备主候选武将数支持选3个
※更新README.md
※将本体中出现在trashBin下的图片引用改为更规范的img属性
※适配本体扩展『诸神降临』
※将yinbin1.mp3和yinbin2.mp3引用更新为yinbing1.mp3和yinbing2.mp3
※简化Get.rank方法,修改本体绝大多数武将的武将出场率
※修复手杀薛综【诫询】不能弃置装备牌的bug
※修复中津静流【念力】被如义绝封印而可以一直发动的bug
※修复标郭皇后【矫诏】没手牌导致不能替换而报错的bug
※修复幻陆逊【逆涡】、孙翎鸾【盼睇】dcpandi_effect的mod的selectCard拼写错误的bug
※修复侯成【献酿】不为基本牌也视为酒的bug
※修复庞宏【评骘】未显示转换技标记的bug
※修复OL蒲元【神工】不能替换打造的装备的bug
※修复OL谋庞统【鸿图】联机不显示手牌上限且报错的bug
※修复修复当主机处于chooseToUse衍生的chooseButton事件选择中时,客机取消无懈会导致该事件异常被终止且无法正常生成event.resultOL导致_wuxie事件异常暂停的bug;

新增函数/函数修改/函数修复

  1. 将Get.character方法的返回值改为经get.convertedCharacter包装后的结果
  2. 修复联机模式下询问【无懈可击】因chooseButton框架引起的游戏异常暂停
  3. 修复了生成onChooseToUse赋值时的cancel会生成“事件cancel”触发节点的bug
  4. 移除了markSkill因nobroadcast不向客机广播的设定用于修复客机有些标记看不见的bug
  5. 修复lib.elemet.Player.respond未全部使用get.autoViewAs包装而导致如通过八卦打出闪而没有event.card.cards和如使用丈八打出杀判断颜色错误的bug
  6. 修复了$gain2进行moveDelete动画时不更新卡牌信息的bug
  7. 修复客机$gain2卡牌信息缺失、$gain没有卡牌信息的bug;对$draw的卡牌信息代码进行优化
  8. 优化get.cardsetion,增加get.sourceSkillFor获取源技能
  9. 为给element/content.js的chooseToCompareMultiple和chooseToCompareMeanwhile的step 0加上先检测是否有对应角色的fixedResult,避免出现角色没牌但已经有fixedResult仍结束拼点事件的情况
  10. 在precontent或其他可修改_wuxie、chooseToUse、chooseToRespond的event.result(event.wuxieresult2)的地方,将对应result.cancel设置为true,则此次预使用卡牌作废,相应事件将goto(0)
  11. 新增lib.element.player.isMaxMaxHplib.element.player.isMinMaxHp方法判断一名角色是否为场上体力上限最大/最小
/**
 * 判断玩家是否是场上体力上限最少的玩家
 * @param { boolean } [only] 是否唯一
 * @returns { boolean }
 */
isMinMaxHp(only) {
	return game.players.every(value => {
		if (value.isOut() || value == this) return true;
		return only ? value.maxHp > this.maxHp : value.maxHp >= this.maxHp;
	});
}
/**
 * 判断玩家是否是场上体力最大的玩家
 * @param { boolean } [only] 是否唯一
 * @param { boolean } [raw]
 * @returns { boolean }
 */
isMaxHp(only, raw) {
	return game.players.every(value => {
		if (value.isOut() || value == this) return true;
		return only ? value.getHp(raw) < this.getHp(raw) : value.getHp(raw) <= this.getHp(raw);
	});
}
  1. 针对是否拥有XXX牌的判定修复+优化,详细内容如下:
    ① 修复lib.element.player.hasUsableCard不走filter的bug,添加最后的返回值false
    ② 修改lib.element.player.hasShalib.element.player.hasShan的判断逻辑,不传入参数默认为use使用情况,传入respond为打出情况,传入all为使用和打出的情况,并修复和”自动跳过“选项的联动问题
    ③ 修复和调整本体诸多使用hasSha和hasShan的地方逻辑和respondSha和respondShan的skillTag的arg逻辑
    ④ 调整lib.filter.autoRespondShalib.filter.autoRespondShan的逻辑为仅判定打出情况
//新的lib.element.player.hasSha
/**
 * 有没有可用杀
 * @param { string | boolean } [respond] 响应什么类型,默认使用。"use": 使用 / "respond": 打出 / "all": 全部,true
 * @param { boolean } [noauto] 不考虑出牌阶段才能用的(待补充)
 */
hasSha(respond, noauto) {
	if (this.countCards("hs", "sha")) return true;
	if (this.countCards("hs", "hufu")) return true;
	if (!noauto && this.countCards("hs", "yuchanqian")) return true;
	if (typeof respond !== "string") respond = respond ? "all" : "use";
	if (this.hasSkillTag("respondSha", true, respond, true)) return true;
	return this.hasUsableCard("sha", respond);
}
//新的lib.element.player.hasShan
/**
 * 有没有可用闪
 * @param { string | boolean } [respond] 响应什么类型,默认使用。"use": 使用 / "respond": 打出 / "all": 全部,true
 */
hasShan(respond) {
	if (this.countCards("hs", "shan")) return true;
	if (this.countCards("hs", "hufu")) return true;
	if (typeof respond !== "string") respond = respond ? "all" : "use";
	if (this.hasSkillTag("respondShan", true, respond, true)) return true;
	return this.hasUsableCard("shan", respond);
}
//新的lib.element.player.hasUsableCard
/**
 * @param { string } name
 * @param { string } type
 * @returns { boolean | undefined }
 */
hasUsableCard(name, type) {
	const player = this;
	if (typeof type !== "string") type = type ? "limit" : "all";
	let event = get.event();
	let evtNames = typeof type !== "string" || type === "all" ? ["chooseToUse", "chooseToRespond"] : ["chooseTo" + type.slice(0, 1).toUpperCase() + type.slice(1)];
	if (
		player.hasCard(i => {
			if (get.name(i, player) !== name) return false;
			if (type === "all") return true;
			return evtNames.some(evtName => {
				let evt = event.getParent(evtName);
				if (get.itemtype(evt) !== "event") evt = event;
				if (type === "respond") return lib.filter.cardRespondable(i, player, evt);
				return lib.filter.cardEnabled(i, player, type === "limit" ? evt : "forceEnable");
			});
		}, "hs")
	)
		return true;
	const skills = player.getSkills("invisible").concat(lib.skill.global);
	game.expandSkills(skills);
	for (let i = 0; i < skills.length; i++) {
		const skill = skills[i],
			ifo = get.info(skill),
			hiddenCard = ifo.hiddenCard;
		if (ifo.usable !== undefined) {
			let num = ifo.usable;
			if (typeof num === "function") num = ifo.usable(skill, player);
			if (typeof num === "number" && get.skillCount(skill, player) >= num) continue;
		}
		if (ifo.viewAs && typeof ifo.viewAs !== "function" && typeof ifo.viewAs !== "string" && ifo.viewAs.name === name) {
			const goon = !ifo.viewAsFilter || ifo.viewAsFilter(player) !== false;
			const bool =
				!ifo.filter ||
				evtNames.some(evtName => {
					let evt = event.getParent(evtName);
					if (get.itemtype(evt) !== "event") evt = get.event();
					if (ifo["on" + evtName.slice(0, 1).toUpperCase() + evtName.slice(1)]) ifo["on" + evtName.slice(0, 1).toUpperCase() + evtName.slice(1)](evt);
					return ifo.filter(evt, player, evt.triggername);
				});
			if (goon && bool) return true;
		} else if (typeof hiddenCard == "function") {
			if (hiddenCard(player, name)) return true;
		}
	}
	return false;
}
  1. 现在可以用vue.js/其他前端库/框架编写扩展/模式的“帮助”界面
  • 对于vue,如果传入的是带有data方式或setup方式的对象,则认定为是vue的组件,将通过本体自带的vue创建并挂载到帮助界面上,代码案例如下(以关于游戏为示范,下同):
{
	help: {
		关于游戏: {
			template: html`
				<div style="margin:10px">关于无名杀</div>
				<ul style="margin-top:0">
					<li>
						无名杀官方发布地址仅有GitHub仓库!<br />
						<a :href="repoLink">点击前往Github仓库</a>
						<br/>
					</li>
					<li>
						无名杀基于GPLv3开源协议。
						<br />
						<a :href="licenseLink">点击查看GPLv3协议</a>
						<br />
					</li>
					<li>
						其他所有的所谓“无名杀”社群(包括但不限于绝大多数“官方”QQ群、QQ频道等)均为玩家自发组织,与无名杀官方无关!
					</li>
				</ul>
			`,
			setup() {
				cons...
Read more

v1.10.17

19 Feb 10:48
c0954d3
Compare
Choose a tag to compare

更新内容

v1.10.17版本更新内容
※彻底取消file协议的支持,以及客户端或浏览器必须启用ServiceWorker,新版本最低要求为chrome 91或ios15
※从此版本开始,最低支持的安卓客户端为:由理版(v1.9.4),兼容版(v1.8.4),诗笺版(v1.6.7),增强版(v1.3.2),兼容版因技术问题暂时不进行更新,由理版需要卸载重装。这些APP均已强制使用HTTPS协议进行游戏以及签名验证,此举将不再能使用旧版本无名杀进行游戏。最低支持的Windows客户端为:诗笺版(v1.7.4)和新由理版客户端(没有版本号)。另外,ios端将只能使用网页端进行游戏且其余版本的无名杀APP均不为官方发布,且其内容无法保证,请注意甄别!
※我们继续和一些优秀且具有开源精神的代码编写者保持着积极合作。在这一版本中,我们通过接收GitHub的Pull Request,整合了 @rintim @mengxinzxz @PZ157 @Curpond @zhichaoxi2006 @xizifu @Bryant-F @kuangshen04 @Iking123 @Icelotusflower @weeeeeesterly @1039727228 @Spmario233 等13位其他代码贡献者编写的代码。
※正式允许使用import关键字来导入css,json,typescript和vue文件了
※针对早已修改的get.stringify,将character文件夹和mode/guozhan.js中所有可以省略的: function 给删去,减小文件大小,详见PR2204PR2212
※添加新武将OL韩馥、OL牛辅、成公英、星法正、传械马钧、奇巧马钧、OL董翓、新武将手杀SP甘夫人、谋郭嘉、谋张辽、SP曹操、威张辽、新杀袁胤、司马师、马钧、裴秀、幻刘封、莫琼树、无名专属·诗笺、OL南华老仙(三服老仙糖丸了)、幻曹昂、乐周瑜、谋邓艾、十周年李丰、卫青、OL武安国、OL谋公孙瓒、【线下·汉末风云】武将包、庞宏、吕据、OL郭照、星丁奉、OL薛灵芸、OL谋沮授、OL界廖化、OL谋黄月英、OL谋赵云、OL谋张飞、威孙权、OL谋张绣、龙起襄樊庞德、战神吕布、OL秦朗、势太史慈、OL刘璋、孙霸、神庞统、SP刘备、OL袁涣、手杀谋郭淮、族吴懿、幻黄盖、幻丁尚涴、手杀薛综、新服SP马超一号、新服SP马超二号、星文丑、【老友季】三个、武陆抗、势董昭、年兽、十二生肖、TW司马师、韩氏五虎、食岑昏、新张翼、威吕布、抢红包年兽、十二生肖、外服谋诸葛亮、外服谋曹丕
※将Key武将包中的“由依”重命名为“芳冈由依”
※单机模式下点将单挑添加玩家控制双方角色选项
cardPrompt支持传入第二个player参数,详见PR2229
※为changeSkillsaddSkillLog函数添加popup参数以实现获得/失去技能时的popup功能,详见PR2207
※删除未使用的技能_save,将唯一用到的content流程置入lib.element.content(从lib.skill._save.contentlib.element.content._save),详见PR2229
※取消国战武将的体力限制
※补充部分技能的cost选择和content执行分离
※补充响应卡牌的chooseToRespond事件的respondTo属性
※修复tip和记牌器开关不生效的bug
※修改记牌器的样式且支持联机
※修复lib.element.player.$uninit不能清除角色翻面、横置和tip显示的bug
※技能的usable支持函数写法(skill.usable(skill, player)
Player.countSkill支持返回更多技能本回合的使用次数
※3D武将解禁,线下卡牌包联机默认关闭
※现在每次启动都会检测并导入根目录的noname.config.txt配置文件了
※添加dedent.js(MIT),用于处理模板字符串的诱导缩进问题
※修复Chrome 123版本新增的import-with语法会在无名杀报错的问题
※添加部分Vite项目的特殊的查询参数功能
※新增经Mod检测的弃牌方法Player.modedDiscard(令玩家弃置其区域内一些能被弃置的牌)
Get.cardPileGet.cardPile2Get.discardPile功能拓展,可从牌堆顶或底部或随机开始遍历
※修复报错弹窗不准确的问题
※指示线优化(可从选项 - 外观 - 指示线调整配置)
※修复乱斗自定义场景装备牌和判定牌失效bug
※修复chooseUseTarget不能使用自定义ai的问题
※加强身份局候选武将数功能
※现在联机模式也可以自定义各身份候选武将数了
※修复安卓端无法使用game.download函数在线下载文件的问题
Player.setAvatar适配皮肤
※修复千里走单骑因打断arrangeTrigger事件,可能导致事件内的chooseControl没有result的问题
※修复历史记录栏单击后显示的技能详细中的技能名,仅会截取技能名的前两个字符的问题
Player.markAuto无第二个传参时将自动刷新标记(mark/unmark)
Player.unmarkAuto支持移除单个元素,并在没有长度时对此技能执行unmark,但仍然限制对应storage必须是数组以保证兼容性
※请所有开启[加强主公]的玩家重新开关一次此功能(关闭再开启),以保证其能够正常生效!
※修改get.skillInfoTranslation,为其添加保底机制,避免报错
※修改_wuxie用于在联机模式下令客机接收onChooseToUse的相关赋值
※修改get.bottomCards不再支持get.bottomCards(0)的写法
※扩展衍生牌bug修复
※修复拼点event.small不生效的问题
※新增AI.guessTargetPoints方法
※现在GameEvent.addTrigger会跑技能的getIndex
※菜单增加内核查看和切换功能
※其他bug修复、AI优化、台词调整、素材补充、姓名适配和补充函数注释。

扩展适配

修改了以下函数的扩展需要进行适配:

  • game.check
  • game.uncheck
  • lib.element.player.$uninit
  • lib.element.player.init
  • lib.element.player.$update
  • lib.element.content.die
  • lib.element.player/content.draw/gainPlayerCard/chooseToGive
  • lib.skill._save.content
  • game.trySkillAnimate
  • lib.element.content.chooseButtonOL

新增或修改的函数用法以及接口

  1. get.strNumber
/**
 * 返回数字在扑克牌中的表示形式
 * @param { number } num
 * @param { boolean } [forced] 未获取点数字母对应元素时,若此参数不为false,则返回字符串格式
 * @returns { string }
 */
 strNumber(num, forced) {
	if (typeof num !== "number") return;
	let result = lib.numstrList.get(num);
	if (result === undefined && forced !== false) result = num.toString();
	return result;
}
  1. get.numString
/**
* 返回扑克牌中的表示形式对应的数字
* @param { string } str
* @param { boolean } [forced] 未获取字母点数对应元素时,若此参数不为false,则返回数字格式
* @returns { number }
*/
numString(str, forced) {
	if (typeof str !== "string") return;
	let result = lib.numstrList.entries().reduce((map, list) => {
		map[list[1]] = list[0];
		return map;
	}, {})[str];
	if (result === undefined && forced !== false) result = parseInt(str);
	return result;
}
  1. usable(skill, player)
    添加技能usable的函数使用方法(同卡牌usable使用方法),以步骘【定叛】(部分)为例
dingpan: {
        // 其他代码省略
	usable(skill, player) {
		let num, mode = get.mode();
		if (mode == "identity" || mode == "doudizhu") {
			if (mode == "identity" && _status.mode == "purple") num = player.getEnemies().length;
			else num = get.population("fan");
		} else if (mode == "versus") {
			if (!_status.mode || _status.mode != "two") num = player.getEnemies().length;
			else {
				const target = game.findPlayer(x => {
					return !game.hasPlayer(y => {
						return x != y && y.getFriends().length > x.getFriends().length;
					});
				});
				num = target ? target.getFriends(true).length : 1;
			}
		} else {
			num = 1;
		}
		return num;
	},
}
  1. player.countSkill支持返回更多技能本回合的使用次数
/**
 * @returns { number }
 */
countSkill(skill) {
	const info = lib.skill[skill];
	let num = 0;
	if (!info) {
		console.warn("“" + skill + "”为无效技能ID!");
		return 0;
	}
	if (info.usable !== undefined && this.hasSkill("counttrigger") && this.storage.counttrigger) {
		num = this.storage.counttrigger[skill];
		if (typeof num === "number") return num;
	}
	num = this.getStat("skill")[skill];
	if (typeof num === "number") return num;
	return this.getHistory("useSkill", evt => {
		return evt.skill === skill;
	}).length;
}
  1. 新增Player.modedDiscard,用法同Player.discard,也触发discard事件,但不弃置不能弃置的牌
// 弃置target的所有红色牌
const cards = target.getDiscardableCards(player, "he", card => {
    return get.color(card) === "red";
});
if (cards.length) await target.discard(cards, player);
// 可以改写为:
const cards = target.getCards("he", card => {
    return get.color(card) === "red";
});
await target.modedDiscard(cards, player);

受Mod保护的牌不会被弃置且会告知对应Mod技能
可以传参false取消技能告知,或传参"logSkill"令对应技能在拦截卡牌时触发

存在区别的地方

/* 从target能被弃置的手牌中随机弃置两张 */
const cards = target.getDiscardableCards(target, "h");
if (cards.length) await target.discard(cards.randomGets(2));

/* 从target的手牌中随机弃置两张 */
const cards = target.getCards("h");
await target.modedDiscard(cards.randomGets(2), player);
由于Player.discard为强制弃牌,将第一段代码改为const cards = target.getCards("h");并不能实现第二段代码可能少弃甚至不弃牌的效果
  1. Get.cardPileGet.cardPile2Get.discardPile功能拓展
    效果:试从指定区域获得一张牌
    第一个参数 name:{function|string|object|true} 牌的筛选条件或名字,true为任意一张牌
    第二个参数 position:{string|boolean|undefined} 筛选区域,默认牌堆+弃牌堆:
    "cardPile":仅牌堆;
    "discardPile":仅弃牌堆;
    "filed":牌堆+弃牌堆+场上
    若为true且name为{string|object}类型,则在筛选区域内没有找到卡牌时创建一张name条件的牌
    第三个参数 start:{string|undefined} 遍历方式。默认置为"top"
    "top":从牌堆和弃牌堆顶自顶向下遍历
    "bottom":从牌堆和弃牌堆自底向上遍历
    "random":随机位置遍历
// 新增start参数,可为“top”,“bottom”,“random”,代表从顶部、底部、随机获取,默认为顶部
get.cardPile(name, position, start)
  1. 添加部分Vite项目的特殊的查询参数功能(需要启用service worker)
    raw: 返回资源的原始内容字符串
import string from './noname.js?raw';
// 打印该文件的字符串形式
console.log(string);

worker和sharedworker: 返回一个 Web Worker 或 Shared Worker 构造函数

// 普通worker
import myWorker from 'url?worker';
new myWorker();

// 普通sharedworker
import myWorker2 from 'url?sharedworker';
new myWorker2();

// 模块worker
import myWorker3 from 'url?worker&module';
new myWorker3();

// 模块sharedworker
mport myWorker4 from 'url?sharedworker&module';
new myWorker4();

url: 返回资源的 URL 而不是文件内容

import logoUrl from 'logo.png?url';
img.src = logoUrl;
  1. 支持直接通过import导入css,json,typescript,vue文件
    css: 无返回值,将css直接嵌入到html中
import './a/b.css';
await import('./a/b.css');

注: 在chrome 123中全面支持的import-with导入css: 返回CSSStyleSheet

import sheet from './a/b.css' with { type: "css" };
const { default: sheet  } = await import("./a/b.css", { with: { type: "css" } });

json: 将json文件的数据转换为js的json数据

import json from './package.json'
const { default: json } = await import('./package.json');

注: 在chrome 123中全面支持的import-with导入json: 返回对应的json数据

import json from './package.json' with { type: "json" };
const { default: json } = await import('./package.json', { with: { type: "json"} });

typescript: 返回编译后的js,同样的,在电脑端可以导入一个node的原生模块(js文件中也可用)

import xxx from './a/b.ts';
const { default: xxx } = await import('./a/b.ts');

import fs from 'node:fs';
const { default: fs } = await import('node:fs');

vue: 同vue项目的使用方法,vue文件中目前只支持使用原生js,ts和原生css

<template>
    <Hello />
</template>

<script setup lang="ts">
import Hello from './Hello.vue';
// 或
const { default: Hello} = await import('./Hello.vue');
</script>
  1. get.cardsget.bottomCardsplayer.getTopCards等方法不再支持num参数小于等于0的情况
/* 此前执行以下情况等均会获取相应牌堆首张牌的数组(虽然没有实际应用) ,这与新武将乐周瑜的初始手牌数可为0冲突*/

/* 从牌堆顶摸牌 */
const cards = get.cards(-1);
/* 从牌堆底摸牌 */
const cards = get.bottomCards(0);
/* 从斗地主智斗模式的底牌库中摸牌 */
const cards = player.getTopCards(-2);
  1. get.skillInfoTranslation添加保底检测
    在某些情况如DIY张绣百鸣初始化技能时,部分扩展的技能翻译存在为最终返回值为undefined的情况,主要是动态翻译(一般没人会在lib.translate[技能名 + "_info"]也返回不为字符串的类型吧)如:
dynamicTranslate: {
    jineng(player) {
        if (player.storage.jineng == 1) return '出牌阶段,你可以摸一张牌。';
        else if (player.storage.jineng == 2) return '出牌阶段,你可以摸两张牌。';
        else if (player.storage.jineng == 3) return '出牌阶段,你可以摸三张牌。';
    }
}
现在对原来的返回值进行一步类型检查的保底检测,不为字符串则于控制台反馈
  1. Player.markAuto
    无第二个参数时支持依据各类型的this.storage[name]对技能name标记进行this.markSkill(name)或this.unmarkSkill(name)操作了
/* 此前执行以下语句均无效果 */
if (typeof player.storage.skill_id1 === "string") player.markAuto("skill_id1");
if (typeof player.storage.skill_id2 === "boolean") player.markAuto("skill_id2");
  1. Player.unmarkAuto
    第二个参数即使不为数组,亦可将其作为元素加入this.storage[name]内了(当然this.storage[name]须为数组)
  2. AI.getTargetPoints
    获取viewer视角下target手牌的点数、最大值和最小值

target(必需): { Player } target 目标
viewer: { Player | true } 视角,true则透视
cards: {...

Read more

v1.10.16

27 Oct 14:30
f3d247e
Compare
Choose a tag to compare

v1.10.16版本更新内容
※纳西妲生日快乐!
※同步发布的由理版(v1.9.3),兼容版(v1.8.4),诗笺版(v1.6.5),增强版(v1.3.1)APP均已强制使用HTTP协议进行游戏,此举将不再能使用旧版本无名杀进行游戏。另外,其余版本的无名杀APP均不为官方发布,且其内容无法保证,请注意甄别!
※无名杀将继续修改底层,对扩展进行更规范的管理和开放接口。在上述过程结束后,无名杀将进行与三国杀的解耦,武将包、卡牌包、模式、游戏素材等将会进行大幅度改动(覆盖本体文件的扩展需要额外关注后续信息),游戏客户端也将会进行必要的升级。
※我们继续和一些优秀且具有开源精神的代码编写者保持着积极合作。在这一版本中,我们通过接收GitHub的Pull Request,整合了 @mengxinzxz @PZ157 @AstralBarrage @Bryant-F @Icelotusflower @xizifu @why002 @zhichaoxi2006 @Benllic @Curpond 鬼神易 等11位代码贡献者编写的代码。
※添加十周年武将「乐貂蝉」「黄舞蝶」「谋胡车儿」「星荀彧」「武皇甫嵩」「谋黄盖」「庞凤衣」;手杀武将「☆董卓」「谋诸葛瑾」;OL武将「谋孙坚」、「谋华雄」「界吴国太」「谋袁术」「忠曹操」;线下武将「姜子牙」、「申公豹」、「南极仙翁」、「纪灵」、【江山如故兴包】、【四象封印·少阳】、【国战典藏2025】、【燕幽烽火】、【王者之战2024】、【侠客行】等扩展包共68个武将。调整十周年武将「谋郭嘉」、「星孙坚」、「诸葛若雪」、「谋诸葛瑾」、「荀彧荀攸」、「神黄忠」;手杀武将「张奋」、「司马伷」等武将的技能和结算效果。
※调整绝大多数武将的原画为固定模板格式并调整图片清晰度。
※添加tip标记,部分技能添加tip标记(可在”选项-显示-显示tip标记“中配置)。
※新增lib.element.dialog.addNewRow修改部分技能操作或显示。
※自由选将添加翻页功能和对应的ui.create.pagination函数(可在”选项-显示-最大武将数显示“中配置),具体详见:https://github.com/libccy/noname/pull/1973
※联机分享房间复制失败时新增自行复制提示。
※修复移动端chooseToMove长按显示卡牌信息失效的问题。
※联机模式增加黑名单功能、禁止不同版本和扩展玩家进房功能(可在”开始-联机-更多“中配置)。
※修复联机模式下异常信息和房间导致不能进入服务器的问题
※get.ip忽略VMware虚拟机的网络配置。
※game.prompt改为使用textarea标签。
※添加Card.addCardtag和Card.removeCardtag方法。
※其他bug修复、AI优化、台词调整和修改函数注释。

支持Chromium 91的新客户端

19 Feb 10:43
Compare
Choose a tag to compare

Noname-yuri-compatible为兼容版、Noname-yuri为由理版、Noname-shijian为诗笺版、Noname-cola为增强版。
因为技术问题,暂时不提供兼容版
安卓客户端版将默认使用Chrome浏览器作为Webview实现,如果不适配可进行切换。

从v1.10.17版本开始,最低支持的安卓客户端为:由理版(v1.9.4),兼容版(v1.8.4),诗笺版(v1.6.7),增强版(v1.3.2),兼容版因技术问题暂时不进行更新,由理版需要卸载重装。这些APP均已强制使用HTTPS协议进行游戏以及签名验证,此举将不再能使用旧版本无名杀进行游戏。最低支持的Windows客户端为:诗笺版(v1.7.4)和新由理版客户端(没有版本号)。另外,ios端将只能使用网页端进行游戏且其余版本的无名杀APP均不为官方发布,且其内容无法保证,请注意甄别!

v1.10.15.1

25 Aug 15:57
aac337d
Compare
Choose a tag to compare

v1.10.15.1版本更新内容
※请勿开启任何旧版美化、换肤、换音、特效类扩展来反馈bug
※紧急修复部分模式无法进入的bug
※紧急修复转化装备的大部分bug,扩展技能请不要转化木牛流马
※修复塔防招募界面显示异常的bug,详见https://github.com/libccy/noname/pull/1757
※回滚挑战模式生成的座位号
※新增seatRelated标签,无座次场景改用seatRelated禁用相应技能
※修复部分观战bug
※添加获取源技能的get.sourceSkillFor函数,详见https://github.com/libccy/noname/pull/1790
※无名杀将推迟下一次更新的时间全力解决遗留的bug,以及底层对扩展进行更规范的管理和开放接口,在上述过程结束后(即下个版本更新后),无名杀将进行与三国杀的解耦,武将包、卡牌包、模式、游戏素材等将会进行大幅度改动(覆盖本体文件的扩展需要额外关注后续信息),游戏客户端也将会进行必要的升级
※其他bug修复,AI优化与台词调整

v1.10.15

20 Aug 03:06
8796cff
Compare
Choose a tag to compare

v1.10.15版本更新内容
※无名杀将推迟下一次更新的时间全力解决遗留的bug,以及底层对扩展进行更规范的管理和开放接口,在上述过程结束后(即下个版本更新后),无名杀将进行与三国杀的解耦,武将包、卡牌包、模式、游戏素材等将会进行大幅度改动(覆盖本体文件的扩展需要额外关注后续信息),游戏客户端也将会进行必要的升级
※我们继续和一些优秀且具有开源精神的代码编写者保持着积极合作。在这一版本中,我们通过接收GitHub的Pull Request,整合了 @Spmario233 @nonameShijian @rintim @mengxinzxz @AstralBarrage @PZ157 @kuangshen04 @lieren2023 @Bryant-F @xizifu @zhichaoxi2006 @S-N-O-R-L-A-X @1039727228 等13位代码贡献者编写的代码。
※添加十周年武将「刘协曹节」「神黄忠」「谋沮授」「谋程昱」「诸葛京」「柳倓」「马钧」;手杀武将「SP甄姬」「张奋」「贾充」「谋贾诩」;外服武将「幻陆逊 」「幻刘禅」;OL武将「孙坚」「孔淑」「界张春华」「袁姬」「谋孔融」「轲比能」「界曹冲」「孙茹」;线下武将「田钏」、【四象封印】、【荆襄天下】、【九鼎】、【桃源挽歌】等扩展包共78个武将。调整部分武将的技能和结算效果。
※装备区/判定区内虚拟牌和实体牌的分离,详见https://github.com/libccy/noname/pull/1614
※Player#chooseToMove方法新增拖拽排序的操作
※Game#loadModeAsync方法的返回值修改为Promise
※现在的模式加载修改为模块化,但仍然兼容旧写法
※点将单挑支持选1-2个将了(libccy@cb7277b)
※新增logAudio,允许技能根据触发时的特定情况播放指定语音
※修复docker启动报错的bug
※为moveCard的logSkill适配传入数组的情况,详见#1738
※现在扩展可以通过建立connect属性来实现联机可用了,详见https://github.com/libccy/noname/pull/1708
※修复挑战模式无座次的问题
※其他bug修复,AI优化与台词调整。

v1.10.14

23 Jul 11:07
00f16f8
Compare
Choose a tag to compare

v1.10.14版本更新内容
※注意!!!我们已经将无名杀的版本的最低内核需求从Chromium 77升级到Chromium 85(iOS系统的需求仍为14.5以上版本的系统,没有发生变化),请在更新前将您使用的无名杀客户端升级到最新版本!
※我们继续和一些优秀且具有开源精神的代码编写者保持着积极合作。在这一版本中,我们通过接收GitHub的Pull Request,整合了 @zhichaoxi2006 @xizifu @AstralBarrage @rintim @PZ157 @mengxinzxz @kuangshen04 @lieren2023 @nonameShijian @IceCola97 等10位代码贡献者编写的代码。
※添加OL武将「曹腾」「界·刘表」「界·吴国太」;十周年武将「王戎」「卞玥」「星·孙尚香」「谋·郭嘉」;移动版武将「张布」「王经」「玄·文钦」「谋·陆逊」「神·司马懿(应天版+极略版)」;海外服武将「李翠莲&赵全定」;OL/十周年限时地主武将「五虎将」「无名」「荀彧&荀攸」;线下武将「钟会」。调整部分武将的技能和结算效果。
※重构init/onload,允许扩展修改游戏启动页。详见: https://github.com/libccy/noname/pull/1531https://github.com/libccy/noname/pull/1561
※优化本体转换技的代码实现机制,提供新的接口。详见: https://github.com/libccy/noname/pull/1512
※新增Get#nameList、判断武将是否拥有某个ID、或返回武将的所有ID。详见: https://github.com/libccy/noname/pull/1539
※新增Get#characterSurname函数,用于获取武将牌的姓名。姓名的编写规范详见: https://github.com/libccy/noname/pull/1563
※调整shaRelated标签的判定。
※将本体内所有“势力技”groupSkill标签的值改为对应势力,方便AI判断。
※增加Linux/MacOS系统下直接运行noname-server的脚本。
※其他bug修复,AI优化与台词调整。