diff --git a/audio/die/gongsunkang.mp3 b/audio/die/gongsunkang.mp3 new file mode 100644 index 000000000..9054ccc1c Binary files /dev/null and b/audio/die/gongsunkang.mp3 differ diff --git a/audio/die/xin_fuhuanghou.mp3 b/audio/die/xin_fuhuanghou.mp3 new file mode 100644 index 000000000..9ec8bb7ad Binary files /dev/null and b/audio/die/xin_fuhuanghou.mp3 differ diff --git a/audio/die/xin_guohuai.mp3 b/audio/die/xin_guohuai.mp3 new file mode 100644 index 000000000..fe2a0cba4 Binary files /dev/null and b/audio/die/xin_guohuai.mp3 differ diff --git a/audio/die/xin_panzhangmazhong.mp3 b/audio/die/xin_panzhangmazhong.mp3 new file mode 100644 index 000000000..428b47138 Binary files /dev/null and b/audio/die/xin_panzhangmazhong.mp3 differ diff --git a/audio/skill/mobilejingce1.mp3 b/audio/skill/mobilejingce1.mp3 new file mode 100644 index 000000000..3f511a4ab Binary files /dev/null and b/audio/skill/mobilejingce1.mp3 differ diff --git a/audio/skill/mobilejingce2.mp3 b/audio/skill/mobilejingce2.mp3 new file mode 100644 index 000000000..c25e1d319 Binary files /dev/null and b/audio/skill/mobilejingce2.mp3 differ diff --git a/audio/skill/taomie1.mp3 b/audio/skill/taomie1.mp3 new file mode 100644 index 000000000..bf0606ccf Binary files /dev/null and b/audio/skill/taomie1.mp3 differ diff --git a/audio/skill/taomie2.mp3 b/audio/skill/taomie2.mp3 new file mode 100644 index 000000000..558403411 Binary files /dev/null and b/audio/skill/taomie2.mp3 differ diff --git a/audio/skill/taomie3.mp3 b/audio/skill/taomie3.mp3 new file mode 100644 index 000000000..6a384b7f1 Binary files /dev/null and b/audio/skill/taomie3.mp3 differ diff --git a/audio/skill/xinanjian1.mp3 b/audio/skill/xinanjian1.mp3 new file mode 100644 index 000000000..09dfa1e98 Binary files /dev/null and b/audio/skill/xinanjian1.mp3 differ diff --git a/audio/skill/xinanjian2.mp3 b/audio/skill/xinanjian2.mp3 new file mode 100644 index 000000000..f14f44742 Binary files /dev/null and b/audio/skill/xinanjian2.mp3 differ diff --git a/audio/skill/xinduodao1.mp3 b/audio/skill/xinduodao1.mp3 new file mode 100644 index 000000000..2f3de2404 Binary files /dev/null and b/audio/skill/xinduodao1.mp3 differ diff --git a/audio/skill/xinduodao2.mp3 b/audio/skill/xinduodao2.mp3 new file mode 100644 index 000000000..43a8ce40e Binary files /dev/null and b/audio/skill/xinduodao2.mp3 differ diff --git a/audio/skill/xinqiuyuan1.mp3 b/audio/skill/xinqiuyuan1.mp3 new file mode 100644 index 000000000..cd6db7b24 Binary files /dev/null and b/audio/skill/xinqiuyuan1.mp3 differ diff --git a/audio/skill/xinqiuyuan2.mp3 b/audio/skill/xinqiuyuan2.mp3 new file mode 100644 index 000000000..13264894b Binary files /dev/null and b/audio/skill/xinqiuyuan2.mp3 differ diff --git a/audio/skill/xinzhuikong1.mp3 b/audio/skill/xinzhuikong1.mp3 new file mode 100644 index 000000000..4e6a78e98 Binary files /dev/null and b/audio/skill/xinzhuikong1.mp3 differ diff --git a/audio/skill/xinzhuikong2.mp3 b/audio/skill/xinzhuikong2.mp3 new file mode 100644 index 000000000..0748b9bb9 Binary files /dev/null and b/audio/skill/xinzhuikong2.mp3 differ diff --git a/character/mobile.js b/character/mobile.js index c9833063f..ade365cd2 100644 --- a/character/mobile.js +++ b/character/mobile.js @@ -6,16 +6,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){ connect:true, characterSort:{ mobile:{ - mobile_default:["miheng","taoqian","lingcao","sunru","lifeng","zhuling","liuye","zhaotongzhaoguang","majun","simazhao","wangyuanji","pangdegong","shenpei","hujinding","zhangyì","jiakui","yangbiao","chendeng","dongcheng","yangyi","dengzhi","zhengxuan","sp_sufei","furong","dingyuan","simashi","yanghuiyu","hucheer"], + mobile_default:["miheng","taoqian","lingcao","sunru","lifeng","zhuling","liuye","zhaotongzhaoguang","majun","simazhao","wangyuanji","pangdegong","shenpei","hujinding","zhangyì","jiakui","yangbiao","chendeng","dongcheng","yangyi","dengzhi","zhengxuan","sp_sufei","furong","dingyuan","simashi","yanghuiyu","hucheer","gongsunkang"], mobile_yijiang:["yj_zhanghe","yj_zhangliao","yj_xuhuang","yj_ganning"], mobile_sunben:["re_sunben"], mobile_standard:["xin_xiahoudun","xin_zhangfei"], mobile_shenhua:["re_pangtong","re_guanqiujian","xin_yuanshao","re_liushan","re_dongzhuo","re_sp_zhugeliang","re_sunjian"], - mobile_yijiang1:["re_jikang","old_bulianshi","xin_liaohua","xin_caozhang","re_xusheng","xin_chengpu","xin_jianyong","xin_gongsunzan","xin_zhuran","re_lingtong","re_liubiao"], + mobile_yijiang1:["re_jikang","old_bulianshi","xin_liaohua","xin_caozhang","re_xusheng","xin_chengpu","xin_jianyong","xin_gongsunzan","xin_zhuran","re_lingtong","re_liubiao","xin_guohuai","xin_panzhangmazhong","xin_fuhuanghou"], mobile_sp:["old_yuanshu","re_wangyun","re_baosanniang","re_weiwenzhugezhi","re_zhanggong","re_xugong","re_heqi","liuzan","xin_hansui"], }, }, character:{ + xin_fuhuanghou:['female','qun',3,['xinzhuikong','xinqiuyuan']], + xin_panzhangmazhong:['male','wu',4,['xinduodao','xinanjian']], + xin_guohuai:['male','wei',4,['mobilejingce']], + gongsunkang:['male','qun',4,['juliao','taomie']], xin_zhangfei:['male','shu',4,['new_repaoxiao','liyong']], xin_hansui:['male','qun',4,['xinniluan','xiaoxi_hansui']], hucheer:['male','qun',4,['daoji']], @@ -84,6 +88,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ re_sunben:['male','wu',4,['jiang','rehunzi','zhiba'],['zhu']], }, characterIntro:{ + gongsunkang:'公孙康(生卒年不详),辽东襄平(今辽宁辽阳)人。东汉末年辽东地区割据军阀,辽东太守公孙度长子(一作庶子)、车骑将军公孙恭之兄。公孙康在其父死后继任辽东太守。建安十二年(207年),擒斩图谋不轨的袁尚、袁熙兄弟,将其首级献予曹操,被拜为左将军,封襄平侯。建安十四年(209年),公孙康大破高句丽,陷其国都,并讨伐韩濊,设置带方郡。死后因二子年幼,由公孙恭继任。曹丕称帝后,被追赠为大司马。', hucheer:'胡车儿(生卒年不详),东汉末年武将,初从张绣,为其心腹猛将,勇冠三军,与贾诩交情甚佳。宛城大战后,张绣投降曹操,曹操爱胡车儿之骁勇,手以黄金与之。后因曹操私纳张绣亡叔张济的遗孀邹氏,张绣深感其辱,欲杀曹操,与贾诩商议后决心反曹。《三国演义》中,作者考虑到典韦的勇猛,便增加了令胡车儿盗走典韦的双戟的情节。最终典韦、曹昂(曹操长子)、曹安民(曹操侄子)皆死于此次战斗。野史说胡车儿跟随曹操征战,被赵云在长坂坡上红枪挑死。', simashi:'司马师(208年~255年3月23日),字子元,河内温县(今河南省温县)人。三国时期曹魏权臣,西晋王朝的奠基人之一,晋宣帝司马懿与宣穆皇后张春华的长子,晋文帝司马昭的同母兄,晋武帝司马炎的伯父。司马师沉着坚强,雄才大略,早年与夏侯玄、何晏齐名。高平陵政变后,以功封长平乡侯,旋加卫将军。司马懿死后,以抚军大将军辅政,独揽朝廷大权,次年升为大将军。掌权后,他制定选拔官吏的法规,命百官推荐贤才,整顿纲纪,使其各有职掌,朝野肃然。司马师也有卓越的军事才能,曾用计于新城之战击溃吴国诸葛恪的大军。嘉平六年(254年),魏帝曹芳与中书令李丰等人密谋除司马师,事情泄露,司马师杀死参与者,迫郭太后废曹芳,改立高贵乡公曹髦为帝。次年,亲自率兵平定毌丘俭、文钦之乱。回师途中病死,时年四十八岁,谥号“忠武”。后被追尊为晋景王。西晋建立后,被追尊为景皇帝,庙号世宗。', yanghuiyu:'羊徽瑜(214年-278年),泰山南城(今山东新泰)人,晋景帝司马师第三任妻子。羊徽瑜出身官宦世家泰山羊氏,她是南阳太守羊续的孙女,上党太守羊衜之女;其母为东汉名士左中郎将蔡邕之女、蔡文姬的姐妹。羊徽瑜聪慧贤德,嫁给司马师后未有子女。以司马师之弟司马昭的次子司马攸为继子。司马师死后,司马攸侍奉羊徽瑜非常孝顺。泰始元年(265年),司马昭长子司马炎受禅登基,建立西晋,追谥伯父司马师为景皇帝。泰始二年(266年),尊奉羊徽瑜为景皇后,因居弘训宫,故称弘训太后。咸宁四年(278年),羊徽瑜去世,时年六十五岁,谥号景献皇后,与司马师合葬峻平陵。', @@ -314,6 +319,403 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, skill:{ + //界伏皇后 + xinzhuikong:{ + audio:2, + trigger:{global:'phaseZhunbeiBegin'}, + check:function(event,player){ + if(get.attitude(player,event.player)<-2){ + var cards=player.getCards('h'); + if(cards.length>player.hp) return true; + for(var i=0;i7&&useful<7) return true; + } + } + return false; + }, + logTarget:'player', + filter:function(event,player){ + return !player.hasSkill('xinzhuikong2')&&player.hp<=event.player.hp&&player.canCompare(event.player); + }, + content:function(){ + "step 0" + player.addTempSkill('xinzhuikong2','roundStart'); + player.chooseToCompare(trigger.player).set('small',(player.hp>1&&get.effect(player,{name:'sha'},trigger.player,player)>0&&Math.random()<0.9)); + "step 1" + if(result.bool){ + trigger.player.addTempSkill('zishou2'); + event.finish(); + } + else if(result.target&&get.position(result.target)=='d') player.gain(result.target,'gain2','log'); + "step 2" + var card={name:'sha',isCard:true}; + if(trigger.player.canUse(card,player,false)) trigger.player.useCard(card,player,false); + }, + }, + xinzhuikong2:{charlotte:true}, + xinqiuyuan:{ + audio:2, + trigger:{target:'useCardToTarget'}, + direct:true, + filter:function(event,player){ + return event.card.name=='sha'; + }, + content:function(){ + "step 0" + player.chooseTarget(get.prompt2('xinqiuyuan'),function(card,player,target){ + return target!=player&&!_status.event.targets.contains(target)&&_status.event.playerx.canUse('sha',target,false); + }).set('ai',function(target){ + var trigger=_status.event.getTrigger(); + var player=_status.event.player; + return get.effect(target,trigger.card,trigger.player,player)+0.1; + }).set('targets',trigger.targets).set('playerx',trigger.player); + "step 1" + if(result.bool){ + var target=result.targets[0]; + player.logSkill('xinqiuyuan',target); + event.target=target; + target.chooseCard(function(card,player){ + var name=get.name(card,player); + return name!='sha'&&get.type(name)=='basic'; + },'h','交给'+get.translation(player)+ + '一张不为【杀】的基本牌,或成为此杀的额外目标').set('ai',function(card){ + return get.attitude(target,_status.event.sourcex)>=0?1:-1; + }).set('sourcex',player); + game.delay(); + } + else{ + event.finish(); + } + "step 2" + if(result.bool){ + player.gain(result.cards,event.target,'give'); + game.delay(); + } + else{ + trigger.getParent().targets.push(event.target); + trigger.getParent().triggeredTargets2.push(event.target); + game.log(event.target,'成为了',trigger.card,'的额外目标'); + } + }, + ai:{ + expose:0.2, + effect:{ + target:function(card,player,target){ + if(card.name!='sha') return; + var players=game.filterPlayer(); + if(get.attitude(player,target)<=0){ + for(var i=0;i0&& + get.effect(target2,{name:'shacopy',nature:card.nature,suit:card.suit},player,player)<0){ + if(target.hp==target.maxHp) return 0.3; + return 0.6; + } + } + } + else{ + for(var i=0;i0){ + if(player.canUse(card,target2)) return; + if(target.hp==target.maxHp) return [0,1]; + return [0,0]; + } + } + } + } + } + } + }, + //界潘璋马忠 + xinduodao:{ + audio:2, + trigger:{player:'damageEnd'}, + logTarget:'source', + filter:function(event,player){ + var source=event.source; + if(!source) return false; + var card=source.getEquip(1); + return card&&get.itemtype(card)=='card'&&lib.filter.canBeGained(card,player,source); + }, + prompt2:function(event){ + return '获得其装备区中的'+get.translation(event.source.getEquip(1)); + }, + check:function(event,player){ + return (get.attitude(player,event.source)+0.1)*get.value(event.source.getEquip(1),event.source); + }, + content:function(){ + player.gain(trigger.source.getEquip(1),trigger.source,'give','bySelf'); + }, + }, + xinanjian:{ + audio:2, + trigger:{player:'useCardToPlayered'}, + forced:true, + logTarget:'player', + filter:function(event,player){ + return event.card.name=='sha'&&!player.inRangeOf(event.target); + }, + content:function(){ + 'step 0' + var card=get.translation(trigger.card); + var target=get.translation(trigger.target); + player.chooseControl().set('prompt','暗箭:请选择一项').set('choiceList',[ + '令'+target+'不能响应'+card, + '令'+card+'对'+target+'的伤害值基数+1', + ]).set('ai',function(){ + var target=_status.event.getTrigger().target; + var player=_status.event.player; + var num=target.mayHaveShan()?0:1; + if(get.attitude(player,target)>0) num=1-num; + return num; + }); + 'step 1' + if(result.index==0){ + game.log(player,'令',trigger.card,'不能被',trigger.target,'响应'); + trigger.directHit.push(trigger.target); + } + else{ + game.log(player,'令',trigger.card,'对',trigger.target,'的伤害+1'); + var id=trigger.target.playerid; + var map=trigger.customArgs; + if(!map[id]) map[id]={}; + if(!map[id].extraDamage) map[id].extraDamage=0; + map[id].extraDamage++; + } + }, + ai:{ + directHit_ai:true, + skillTagFilter:function(player,tag,arg){ + if(!arg||!arg.card||!arg.target||arg.card.name!='sha'||arg.target.inRange(player)||get.attitude(player,arg.target)>0) return false; + }, + }, + }, + //界郭笨 + mobilejingce:{ + audio:2, + trigger:{player:'phaseJieshuBegin'}, + frequent:true, + filter:function(event,player){ + var num=0; + game.getGlobalHistory('cardMove',function(evt){ + if(evt.name!='cardsDiscard') return; + var evtx=evt.getParent(); + if(evtx.name!='orderingDiscard') return false; + var evt2=(evtx.relatedEvent||evtx.getParent()); + if(evt2&&(evt2.name=='useCard'||evt2.name=='respond')) num+=evt.cards.length; + }); + return num>=player.hp; + }, + content:function(){ + player.draw(2); + }, + group:'mobilejingce_count', + intro:{ + content:function(num,player){ + if(num==0) return '一张都没有?就这?'; + if(num0; + if(bool1&&bool2&&target.hp<=evt.num+1) return 2; + if(bool1) return 0; + return 1; + }); + 'step 1' + if(result.index==2){ + trigger.taomie_player=trigger.player; + trigger.player.addTempSkill('taomie4'); + } + if(result.index!=1){ + trigger.num++; + } + if(result.index!=0&&trigger.player.countGainableCards(player,'hej')>0){ + player.gainPlayerCard(trigger.player,'hej',true); + } + else event.finish(); + 'step 2' + var card=result.cards[0]; + if(card&&player.getCards('h').contains(card)&&game.hasPlayer(function(current){ + return current!=player&¤t!=trigger.player; + })){ + event.card=card; + player.chooseTarget('是否将'+get.translation(card)+'交给一名其他角色?',function(card,player,target){ + return target!=player&&target!=_status.event.getTrigger().player; + }).set('ai',function(target){ + var player=_status.event.player; + var card=_status.event.getParent().card; + if(target.hasSkillTag('nogain')||!player.needsToDiscard()||(get.tag(card,'damage')&&player.hasValueTarget(card,null,false)&&get.effect(_status.event.getTrigger().player,card,null,false)>0)) return 0; + return get.attitude(player,target)/(1+target.countCards('h')); + }); + } + else event.finish(); + 'step 3' + if(result.bool){ + var target=result.targets[0]; + player.line(target); + target.gain(card,player,'giveAuto'); + } + }, + intro:{ + content:'mark', + }, + ai:{ + effect:{ + player:function(card,player,target){ + if(target&&get.tag(card,'damage')&&target.hasMark('taomie')){ + if(player.hasSkillTag('jueqing',false,target)) return; + if(get.attitude(player,target)>0){ + return 0.7; + } + return 1.2; + } + }, + }, + }, + }, + taomie1:{ + audio:true, + trigger:{ + player:'damageEnd', + source:'damageSource', + }, + logTarget:function(trigger,player){ + if(player==trigger.player) return trigger.source; + return trigger.player; + }, + filter:function(event,player){ + var target=lib.skill.taomie1.logTarget(event,player); + return target&&target.isAlive()&&!target.hasMark('taomie'); + }, + check:function(event,player){ + var target=lib.skill.taomie1.logTarget(event,player); + if(get.attitude(player,target)>0) return false; + var target0=game.findPlayer(function(current){ + return current.hasMark('taomie'); + }); + if(!target0) return true; + var eff1=0,eff2=0; + player.countCards('h',function(card){ + if(!get.tag(card,'damage')) return false; + if(player.hasValueTarget(card,null,true)>0){ + if(player.canUse(card,target,null,true)){ + var eff=get.effect(target,card,player,player); + if(eff>0) eff1+=eff; + } + if(player.canUse(card,target0,null,true)){ + var eff=get.effect(target0,card,player,player); + if(eff>0) eff2+=eff; + } + } + }); + return eff1>eff2; + }, + prompt2:function(event,player){ + var target=lib.skill.taomie1.logTarget(event,player); + var str='令'+get.translation(target)+'获得“讨灭”标记'; + if(game.hasPlayer(function(current){ + return current.hasMark('taomie'); + })) str+=',并移去场上已有的“讨灭”标记'; + return str; + }, + content:function(){ + game.countPlayer(function(current){ + var num=current.countMark('taomie'); + if(num) current.removeMark('taomie'); + }); + lib.skill.taomie1.logTarget(trigger,player).addMark('taomie',1); + }, + }, + taomie2:{audio:true}, + taomie3:{audio:true}, + taomie4:{ + trigger:{ + global:['damageAfter','damageCancelled','damageZero'], + player:'dieBegin', + }, + forced:true, + popup:false, + charlotte:true, + filter:function(event,player){ + return player.hasMark('taomie')&&(event.name=='die'||event.taomie_player==player); + }, + content:function(){ + player.removeMark('taomie',player.countMark('taomie')); + player.removeSkill('taomie2'); + }, + }, //铁骑飞 liyong:{ audio:'retishen', @@ -6629,6 +7031,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){ liyong2:'厉勇', liyong3:'厉勇', liyong_info:'锁定技,若你于出牌阶段使用的【杀】被【闪】抵消,本阶段你下一张【杀】不可被响应且伤害+1,指定的目标本回合非锁定技失效,当此【杀】造成伤害后,若目标角色未死亡,你失去1点体力。', + gongsunkang:'公孙康', + juliao:'据辽', + juliao_info:'锁定技,其他角色计算与你的距离始终+X(X为场上势力数-1)。', + taomie:'讨灭', + taomie1:'讨灭', + taomie2:'讨灭', + taomie3:'讨灭', + taomie4:'讨灭', + taomie_info:'当你受到伤害后或当你造成伤害后,你可以令伤害来源或受伤角色获得“讨灭”标记(如场上已有标记则转换给该角色);当你对有“讨灭”标记的角色造成伤害时,选择一项:1. 此伤害+1;2. 你获得其区域内的一张牌并可将之交给另一名角色;3. 依次执行前两项并于伤害结算后弃置其“讨灭”标记。', + xin_guohuai:'手杀郭淮', + mobilejingce:'精策', + mobilejingce_info:'结束阶段,若此回合因使用或打出而置入弃牌堆的牌的数量不小于你的体力值,则你可以摸两张牌。', + xin_panzhangmazhong:'手杀潘璋马忠', + xinduodao:'夺刀', + xinduodao_info:'当你受到伤害后,你可以获得伤害来源装备区里的武器牌。', + xinanjian:'暗箭', + xinanjian_info:'锁定技,当你使用【杀】指定目标后,若你不在目标角色攻击范围内,你选择一项:1. 令其无法响应此【杀】;2. 其受到此【杀】造成的伤害+1。', + xin_fuhuanghou:'手杀伏皇后', + xinzhuikong:'惴恐', + xinzhuikong_info:'每轮限一次,其他角色的回合开始时,若其体力值不小于你,你可与其拼点。若你赢,其本回合无法使用牌指定除其以外的角色为目标;若你没赢,你获得其拼点的牌,然后其视为对你使用一张【杀】。', + xinqiuyuan:'求援', + xinqiuyuan_info:'当你成为【杀】的目标时,你可以令另一名其他角色交给你一张除【杀】以外的基本牌,否则其也成为此【杀】的目标。', mobile_standard:'手杀异构·标准包', mobile_shenhua:'手杀异构·神话再临', mobile_yijiang1:'手杀异构·一将成名', diff --git a/character/rank.js b/character/rank.js index ba0d440ab..f178fc5b5 100644 --- a/character/rank.js +++ b/character/rank.js @@ -244,6 +244,7 @@ window.noname_character_rank={ 'shamoke', 'diy_wenyang', 'xin_lingtong', + 'wolongfengchu', 'key_misuzu', 'key_sunohara', 'key_umi', @@ -806,6 +807,8 @@ window.noname_character_rank={ 'ns_sunchensunjun', 'simashi', 'yanghuiyu', + 'xin_panzhangmazhong', + 're_xiaoqiao', ], bm:[ 'diy_xizhenxihong', @@ -817,7 +820,6 @@ window.noname_character_rank={ 'ganning', 'caocao', 'huangzhong', - 're_xiaoqiao', 'xuhuang', 'chendao', 'dongzhuo', @@ -908,6 +910,7 @@ window.noname_character_rank={ 're_liaohua', 're_caozhang', 're_guohuai', + 'xin_guohuai', 're_panzhangmazhong', 're_quancong', 'jsp_guanyu', @@ -946,7 +949,7 @@ window.noname_character_rank={ 'hucheer', 'jin_xiahouhui', 'xin_zhangfei', - 'wolongfengchu', + 'xin_fuhuanghou', ], c:[ 'xiahoudun', @@ -1550,6 +1553,8 @@ window.noname_character_rank={ 'zhanghuyuechen', 're_fazheng', 're_fuhuanghou', + 'gongsunkang', + 'xin_panzhangmazhong', ], junk:[ 'sunshao', diff --git a/character/refresh.js b/character/refresh.js index f608f8c73..1aff6b09c 100755 --- a/character/refresh.js +++ b/character/refresh.js @@ -310,7 +310,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var target=trigger.source; if(target.isAlive()&&event.count>0) player.chooseBool(get.prompt('reenyuan',target),'令该角色选择一项:①失去1点体力。②交给你一张手牌。若此牌不为♥,则你摸一张牌。').set('ai',function(){ var evt=_status.event.getTrigger(); - return lib.skill.reenyuan2.check(evt.player,evt.source); + return lib.skill.reenyuan2.check(evt,evt.player); }); else event.finish(); 'step 5' diff --git a/character/shenhua.js b/character/shenhua.js index c747bf4ce..bf65bf92a 100755 --- a/character/shenhua.js +++ b/character/shenhua.js @@ -22,7 +22,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ re_xiahouyuan:['male','wei',4,['xinshensu']], huangzhong:['male','shu',4,['liegong']], re_weiyan:['male','shu',4,['xinkuanggu','qimou']], - re_xiaoqiao:['female','wu',3,['retianxiang','hongyan']], + re_xiaoqiao:['female','wu',3,['retianxiang','xinhongyan']], sp_zhangjiao:['male','qun',3,['releiji','guidao','huangtian'],['zhu']], re_yuji:["male","qun",3,["xinfu_guhuo"],["forbidai"]], // yuji:['male','qun',3,['guhuo']], @@ -6393,6 +6393,61 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } } }, + xinhongyan:{ + audio:2, + mod:{ + suit:function(card,suit){ + if(suit=='spade') return 'heart'; + } + }, + trigger:{global:'judge'}, + direct:true, + filter:function(event,player){ + if(event.fixedResult&&event.fixedResult.suit) return event.fixedResult.suit=='heart'; + return get.suit(event.player.judging[0],event.player)=='heart'; + }, + content:function(){ + "step 0" + var str='红颜:'+get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+ + get.translation(trigger.player.judging[0])+',请将其改为一种花色'; + player.chooseControl('spade','heart','diamond','club').set('prompt',str).set('ai',function(){ + var judging=_status.event.judging; + var trigger=_status.event.getTrigger(); + var res1=trigger.judge(judging); + var list=lib.suit.slice(0); + var attitude=get.attitude(player,trigger.player); + if(attitude==0) return 0; + var getj=function(suit){ + return trigger.judge({ + name:get.name(judging), + nature:get.nature(judging), + suit:suit, + number:get.number(judging), + }) + }; + list.sort(function(a,b){ + return (getj(b)-getj(a))*get.sgn(attitude); + }); + return list[0]; + }).set('judging',trigger.player.judging[0]); + "step 1" + if(result.control!='cancel2'){ + player.addExpose(0.25); + player.popup(result.control); + game.log(player,'将判定结果改为了','#y'+get.translation(result.control+2)); + if(!trigger.fixedResult) trigger.fixedResult={}; + trigger.fixedResult.suit=result.control; + trigger.fixedResult.color=get.color({suit:result.control}); + } + }, + ai:{ + rejudge:true, + tag:{ + rejudge:0.4, + }, + expose:0.5, + }, + }, gzbuqu:{ audio:2, trigger:{player:'changeHp'}, @@ -7678,6 +7733,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "guhuo_wuxie_info":"", "guhuo_phase":"蛊惑", "guhuo_phase_info":"", + xinhongyan:'红颜', + xinhongyan_info:'锁定技,你的♠牌和♠判定牌的花色视为♥。一名角色的判定结果生效前,若判定结果为♥,则你将其改为一种花色。', shenhua_feng:'神话再临·风', shenhua_huo:'神话再临·火', diff --git a/character/tw.js b/character/tw.js index ddb5385c5..4a1300255 100644 --- a/character/tw.js +++ b/character/tw.js @@ -457,9 +457,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){ 'step 2' if(result.bool){ player.line(result.targets[0],'green'); - game.asyncDraw([player,result.targets[0]]); - game.delay(); + game.asyncDraw([player,result.targets[0]].sortBySeat()); } + else event.finish(); + 'step 3' + game.delay(); }, }, waishi:{ diff --git a/character/yijiang.js b/character/yijiang.js index dacd8a7e4..2e69c8506 100755 --- a/character/yijiang.js +++ b/character/yijiang.js @@ -9394,6 +9394,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return player!=target; }, mark:true, + delay:false, content:function(){ "step 0" player.awakenSkill('xianzhou'); @@ -12143,9 +12144,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ liubiao:['re_liubiao','xin_liubiao','liubiao'], manchong:['re_manchong','manchong'], caochong:['caochong','old_caochong'], - guohuai:['guohuai','re_guohuai','ol_guohuai'], + guohuai:['guohuai','re_guohuai','xin_guohuai','ol_guohuai'], jianyong:['re_jianyong','xin_jianyong','jianyong'], - panzhangmazhong:['re_panzhangmazhong','panzhangmazhong'], + panzhangmazhong:['xin_panzhangmazhong','re_panzhangmazhong','panzhangmazhong'], yufan:['re_yufan','yufan'], zhuran:['re_zhuran','xin_zhuran','zhuran','old_zhuran'], liru:['re_liru','xin_liru','liru'], diff --git a/game/asset.js b/game/asset.js index 0d5a5f217..beed23639 100644 --- a/game/asset.js +++ b/game/asset.js @@ -1,5 +1,5 @@ window.noname_asset_list=[ - 'v1.9.108.4.2', + 'v1.9.108.5', 'audio/background/aozhan_chaoming.mp3', 'audio/background/aozhan_online.mp3', 'audio/background/aozhan_rewrite.mp3', @@ -3742,6 +3742,10 @@ window.noname_asset_list=[ 'image/character/key_chihaya.jpg', 'image/character/key_rumi.jpg', 'image/character/key_youta.jpg', + 'image/character/gongsunkang.jpg', + 'image/character/xin_fuhuanghou.jpg', + 'image/character/xin_guohuai.jpg', + 'image/character/xin_panzhangmazhong.jpg', 'image/character/baiwuchang.jpg', 'image/character/baosanniang.jpg', diff --git a/game/update.js b/game/update.js index 25815b765..baaffffd4 100644 --- a/game/update.js +++ b/game/update.js @@ -1,10 +1,8 @@ window.noname_update={ - version:'1.9.108.4.2.1', - update:'1.9.108.4.2', + version:'1.9.108.5', + update:'1.9.108.4.2.1', changeLog:[ - '成神阳太、凤千早、七濑留美', - '小酒表情包', - '孙笨(国战)语音', + '公孙康,手杀郭淮、潘璋马忠、伏皇后,新小乔', 'bug修复', ], files:[ @@ -12,7 +10,7 @@ window.noname_update={ //'card/gujian.js', //'card/guozhan.js', //'card/gwent.js', - 'card/huanlekapai.js', + //'card/huanlekapai.js', //'card/mtg.js', //'card/sp.js', //'card/standard.js', @@ -27,21 +25,21 @@ window.noname_update={ //'character/gujian.js', //'character/gwent.js', //'character/hearth.js', - //'character/mobile.js', + 'character/mobile.js', //'character/mtg.js', //'character/old.js', //'character/ow.js', - //'character/rank.js', - //'character/refresh.js', - //'character/shenhua.js', + 'character/rank.js', + 'character/refresh.js', + 'character/shenhua.js', //'character/sp.js', //'character/sp2.js', - //'character/tw.js', + 'character/tw.js', //'character/standard.js', //'character/swd.js', //'character/xianjian.js', //'character/xinghuoliaoyuan.js', - //'character/yijiang.js', + 'character/yijiang.js', //'character/yxs.js', //'extension/boss/extension.js', //'layout/default/layout.css', diff --git a/image/character/gongsunkang.jpg b/image/character/gongsunkang.jpg new file mode 100644 index 000000000..1d95a518d Binary files /dev/null and b/image/character/gongsunkang.jpg differ diff --git a/image/character/xin_fuhuanghou.jpg b/image/character/xin_fuhuanghou.jpg new file mode 100644 index 000000000..e316530bd Binary files /dev/null and b/image/character/xin_fuhuanghou.jpg differ diff --git a/image/character/xin_guohuai.jpg b/image/character/xin_guohuai.jpg new file mode 100644 index 000000000..9631890a4 Binary files /dev/null and b/image/character/xin_guohuai.jpg differ diff --git a/image/character/xin_panzhangmazhong.jpg b/image/character/xin_panzhangmazhong.jpg new file mode 100644 index 000000000..c894f9109 Binary files /dev/null and b/image/character/xin_panzhangmazhong.jpg differ diff --git a/mode/identity.js b/mode/identity.js index 9d0903934..cdff67c5e 100644 --- a/mode/identity.js +++ b/mode/identity.js @@ -1101,7 +1101,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ if(list.length) player.group=function(){ if(_status.mode!='zhong'&&game.zhu&&game.zhu.group){ if(['re_zhangjiao','liubei','re_liubei','caocao','re_caocao','sunquan','re_sunquan','zhangjiao','sp_zhangjiao','caopi','re_caopi','liuchen','caorui','sunliang','sunxiu','sunce','re_sunben','ol_liushan','re_liushan','key_akane','dongzhuo','re_dongzhuo','ol_dongzhuo','jin_simashi'].contains(game.zhu.name)) return game.zhu.group; - if(game.zhu.name=='sunhao'&&player.identity=='zhong') return 'wu'; if(game.zhu.name=='yl_yuanshu'){ if(player.identity=='zhong') list.remove('qun'); else return 'qun'; @@ -2072,8 +2071,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ else if(result[i]=='ai') result[i]=function(){ var player=lib.playerOL[i]; var list=['wei','shu','wu','qun','jin','key']; - for(var i=0;i