diff --git a/card/guozhan.js b/card/guozhan.js index 3478535c7..9872ec5f1 100644 --- a/card/guozhan.js +++ b/card/guozhan.js @@ -236,7 +236,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ } event.finish(); 'step 2' - target.chooseToDiscard(2,card.yingbian,'e').set('ai',function(card){ + var next=target.chooseToDiscard(2,'e').set('ai',function(card){ var player=_status.event.player; var source=_status.event.getParent().player; if(get.damageEffect(player,source,player,'thunder')>=0){ @@ -247,6 +247,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ } return 8-get.value(card); }); + if(card.yingbian) next.set('forced',true); 'step 3' if(card.yingbian||!result.bool) target.damage('thunder'); }, diff --git a/character/diy.js b/character/diy.js index 8043963d4..803fd839b 100755 --- a/character/diy.js +++ b/character/diy.js @@ -2052,6 +2052,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return num+player.countMark('misuzu_hengzhou'); }, }, + ai:{ + notemp:true, + }, }, misuzu_nongyin:{ enable:'chooseToUse', @@ -2482,16 +2485,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, nao_wanxin:{ - trigger:{global:'roundStart'}, + trigger:{global:'phaseEnd'}, hasHistory:function(player){ - var list=player.actionHistory; - for(var i=list.length-1;i>=0;i--){ - if(list[i].isRound) break; - } - list=list.slice(i); - return list.filter(function(yuu){ - return yuu.damage&&yuu.damage.length>0; - }).length>0; + return player.getHistory('damage').length>0; }, filter:function(event,player){ return game.hasPlayer(function(current){ @@ -4548,6 +4544,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return num+from.getStorage('shiina_qingshen').length; }, }, + ai:{ + notemp:true, + }, }, shiina_feiyan:{ animalList:['key_inari','key_doruji'], @@ -4579,6 +4578,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }).length) player.draw(); }, group:'shiina_retieji', + ai:{ + notemp:true, + combo:'shiina_feiyan' + }, }, shiina_retieji:{ shaRelated:true, @@ -12078,7 +12081,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ nao_duyin2:'独隐', nao_duyin_info:'一名其他角色的回合开始时,若你本局游戏内未对其发动过〖独隐〗,则你可以弃置一张牌或将武将牌翻面。若如此做,你不能成为其使用牌的目标,且对其使用牌没有距离限制且不计入使用次数直到你的下回合结束。', nao_wanxin:'挽心', - nao_wanxin_info:'一轮游戏结束时,你可以令一名本轮内受到过伤害的角色摸两张牌,然后你与其将武将牌重置。', + nao_wanxin_info:'一名角色的回合结束时,你可以令一名本回合内受到过伤害的角色摸两张牌,然后你与其将武将牌重置。', nao_shouqing:'守情', nao_shouqing2:'守情', nao_shouqing3:'守情', diff --git a/character/extra.js b/character/extra.js index 93afe1d94..7e048de44 100755 --- a/character/extra.js +++ b/character/extra.js @@ -1171,6 +1171,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, ai:{ threaten:0.01, + notemp:true, }, }, "new_guixin":{ diff --git a/character/mobile.js b/character/mobile.js index b6dba433b..9900d2c53 100644 --- a/character/mobile.js +++ b/character/mobile.js @@ -2,20 +2,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return { name:'mobile', - connectBanned:['miheng'], + //connectBanned:['miheng'], 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"], + 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_yijiang:["yj_zhanghe","yj_zhangliao","yj_xuhuang","yj_ganning"], mobile_sunben:["re_sunben"], mobile_standard:["xin_xiahoudun"], 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_sp:["old_yuanshu","re_wangyun","re_baosanniang","re_weiwenzhugezhi","re_zhanggong","re_xugong","re_heqi","liuzan"], + mobile_sp:["old_yuanshu","re_wangyun","re_baosanniang","re_weiwenzhugezhi","re_zhanggong","re_xugong","re_heqi","liuzan","xin_hansui"], }, }, character:{ + xin_hansui:['male','qun',4,['xinniluan','xiaoxi_hansui']], + hucheer:['male','qun',4,['daoji']], re_lingtong:['male','wu',4,['rexuanfeng']], re_liubiao:['male','qun',3,['zishou','rezongshi']], simashi:['male','wei',4,['baiyi','jinglve','shanli']], @@ -81,6 +83,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ re_sunben:['male','wu',4,['jiang','rehunzi','zhiba'],['zhu']], }, characterIntro:{ + hucheer:'胡车儿(生卒年不详),东汉末年武将,初从张绣,为其心腹猛将,勇冠三军,与贾诩交情甚佳。宛城大战后,张绣投降曹操,曹操爱胡车儿之骁勇,手以黄金与之。后因曹操私纳张绣亡叔张济的遗孀邹氏,张绣深感其辱,欲杀曹操,与贾诩商议后决心反曹。《三国演义》中,作者考虑到典韦的勇猛,便增加了令胡车儿盗走典韦的双戟的情节。最终典韦、曹昂(曹操长子)、曹安民(曹操侄子)皆死于此次战斗。野史说胡车儿跟随曹操征战,被赵云在长坂坡上红枪挑死。', simashi:'司马师(208年~255年3月23日),字子元,河内温县(今河南省温县)人。三国时期曹魏权臣,西晋王朝的奠基人之一,晋宣帝司马懿与宣穆皇后张春华的长子,晋文帝司马昭的同母兄,晋武帝司马炎的伯父。司马师沉着坚强,雄才大略,早年与夏侯玄、何晏齐名。高平陵政变后,以功封长平乡侯,旋加卫将军。司马懿死后,以抚军大将军辅政,独揽朝廷大权,次年升为大将军。掌权后,他制定选拔官吏的法规,命百官推荐贤才,整顿纲纪,使其各有职掌,朝野肃然。司马师也有卓越的军事才能,曾用计于新城之战击溃吴国诸葛恪的大军。嘉平六年(254年),魏帝曹芳与中书令李丰等人密谋除司马师,事情泄露,司马师杀死参与者,迫郭太后废曹芳,改立高贵乡公曹髦为帝。次年,亲自率兵平定毌丘俭、文钦之乱。回师途中病死,时年四十八岁,谥号“忠武”。后被追尊为晋景王。西晋建立后,被追尊为景皇帝,庙号世宗。', yanghuiyu:'羊徽瑜(214年-278年),泰山南城(今山东新泰)人,晋景帝司马师第三任妻子。羊徽瑜出身官宦世家泰山羊氏,她是南阳太守羊续的孙女,上党太守羊衜之女;其母为东汉名士左中郎将蔡邕之女、蔡文姬的姐妹。羊徽瑜聪慧贤德,嫁给司马师后未有子女。以司马师之弟司马昭的次子司马攸为继子。司马师死后,司马攸侍奉羊徽瑜非常孝顺。泰始元年(265年),司马昭长子司马炎受禅登基,建立西晋,追谥伯父司马师为景皇帝。泰始二年(266年),尊奉羊徽瑜为景皇后,因居弘训宫,故称弘训太后。咸宁四年(278年),羊徽瑜去世,时年六十五岁,谥号景献皇后,与司马师合葬峻平陵。', dingyuan:'丁原(?—189年),字建阳,兖州泰山郡南城县(山东省平邑县郑城镇)人。东汉末年军阀,官拜执金吾、并州刺史。任并州刺史期间,他亲近、善待主簿吕布,又调遣部下张杨、张辽等名将到洛阳任职。汉灵帝驾崩后,带兵进入洛阳,担任执金吾,并与大将军何进谋划诛杀十常侍,但不久事情败露,何进被宦官杀死。在宦官被诛灭之后,丁原与军阀董卓在废帝问题上意见不合产生矛盾,于是董卓诱使吕布将其杀害,其势力亦被吞并。', @@ -310,6 +313,115 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, skill:{ + //韩遂 + xinniluan:{ + trigger:{global:'phaseJieshuBegin'}, + direct:true, + filter:function(event,player){ + return player!=event.player&&event.player.isAlive()&&event.player.getHistory('useCard',function(evt){ + if(evt.targets&&evt.targets.length){ + var targets=evt.targets.slice(0); + while(targets.contains(event.player)) targets.remove(event.player); + return targets.length>0; + } + return false; + }).length>0&&(_status.connectMode||player.hasSha()); + }, + content:function(){ + 'step 0' + player.chooseToUse({ + logSkill:'xinniluan', + preTarget:trigger.player, + prompt:'是否发动【逆乱】,对'+get.translation(trigger.player)+'使用一张【杀】?', + filterCard:function(card,player){ + return get.name(card)=='sha'&&lib.filter.filterCard.apply(this,arguments); + }, + filterTarget:function(card,player,target){ + return target==_status.event.preTarget&&lib.filter.targetEnabled.apply(this,arguments); + }, + addCount:false, + }); + 'step 1' + if(result.bool&&player.getHistory('sourceDamage',function(evt){ + return evt.getParent(4)==event; + }).length&&trigger.player.countDiscardableCards(player,'he')>0) player.discardPlayerCard(trigger.player,true,'he').boolline=true; + }, + }, + xiaoxi_hansui:{ + audio:2, + enable:['chooseToRespond','chooseToUse'], + filterCard:function(card,player){ + return get.color(card)=='black'; + }, + position:'he', + viewAs:{name:'sha'}, + viewAsFilter:function(player){ + if(!player.countCards('he',{color:'black'})) return false; + }, + prompt:'将一张黑色牌当杀使用或打出', + check:function(card){return 4.5-get.value(card)}, + ai:{ + skillTagFilter:function(player){ + if(!player.countCards('he',{color:'black'})) return false; + }, + respondSha:true, + } + }, + //胡车儿 + daoji:{ + audio:2, + enable:'phaseUse', + usable:1, + filter:function(event,player){ + return player.countCards('he',function(card){ + return get.type(card)!='basic'; + })&&game.hasPlayer(function(target){ + return target!=player&&target.countCards('e')>0; + }); + }, + filterCard:function(card){ + return get.type(card)!='basic'; + }, + position:'he', + filterTarget:function(card,player,target){ + return target!=player&&target.countCards('e')>0; + }, + check:function(card){ + var player=_status.event.player; + if(game.hasPlayer(function(current){ + return current!=player&&get.attitude(player,current)<0&&get.damageEffect(current,player,player)>0&¤t.getEquip(1); + })) return 8-get.value(card); + return 5-get.value(card) + }, + content:function(){ + 'step 0' + player.gainPlayerCard(target,'e',true).set('ai',function(button){ + var card=button.link; + var player=_status.event.player; + if(get.subtype(card)=='equip1'&&get.damageEffect(_status.event.target,player,player)>0) return 6+get.value(card); + return get.value(card); + }); + 'step 1' + if(!result||!result.bool||!result.cards||!result.cards.length){ + event.finish(); + return; + } + var card=result.cards[0]; + event.card=card; + if(player.getCards('h').contains(card)&&get.type(card)=='equip') player.chooseUseTarget(card,true).nopopup=true; + 'step 2' + if(get.subtype(card,false)=='equip1') target.damage(); + }, + ai:{ + order:6, + result:{ + target:function(player,current){ + if(get.damageEffect(current,player,player)>0&¤t.getEquip(1)) return -1.5; + return -1; + }, + }, + }, + }, //司马师夫妇 //垃圾 baiyi:{ @@ -5676,13 +5788,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){ audio:'xhzhiyan', enable:'phaseUse', filter:function(event,player){ - return player.countCards('h')!=player.maxHp&&!player.hasSkill('xinxhzhiyan_'+(player.countCards('h')>player.maxHp)); + return (!player.hasSkill('xinxhzhiyan_true')&&player.countCards('h')>player.hp)||(!player.hasSkill('xinxhzhiyan_false')&&player.countCards('h')0; - })) return 1; - return 0; + var checkx=function(card){ + if(player.getUseValue(card,null,true)<=0&&game.hasPlayer(function(current){ + return current!=player&&get.value(card,current)>0&&get.attitude(player,current)>0; + })) return 2; + return 1; + } + if(player.countCards('h',function(card){ + return checkx(card)>0; + })<(player.countCards('h')-player.hp)) return 0; + return checkx(card); }, delay:false, discard:false, lose:false, content:function(){ - var bool=(player.countCards('h')>player.maxHp); + var bool=(cards&&cards.length>0); player.addTempSkill('xinxhzhiyan_'+bool,'phaseUseEnd'); if(!bool){ player.draw(player.maxHp-player.countCards('h')); @@ -5711,18 +5831,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, ai:{ order:function(obj,player){ - if(player.countCards('h')>player.maxHp) return 10; + if(player.countCards('h')>player.hp) return 10; return 0.5; }, result:{ player:function(player,target){ - if(player.countCards('h')player.maxHp) return 1; + if(!ui.selected.cards.length&&player.countCards('h')0){ player.chooseToDiscard(dh,true); } - } + }, + ai:{combo:'qizhi'}, }, mouduan:{ audio:1, diff --git a/character/sp2.js b/character/sp2.js index 68b47943e..0c9d16a97 100644 --- a/character/sp2.js +++ b/character/sp2.js @@ -43,7 +43,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ xf_tangzi:["male","wei",4,["xinfu_xingzhao"],[]], xf_huangquan:["male","shu",3,["xinfu_dianhu","xinfu_jianji"],[]], xf_sufei:["male","wu",4,["xinfu_lianpian"],[]], - xushao:['male','qun',3,['pingjian']], + xushao:['male','qun',4,['pingjian']], puyuan:['male','shu',4,['pytianjiang','pyzhuren']], xinpi:['male','wei',3,['xpchijie','yinju']], lisu:['male','qun',2,['lslixun','lskuizhu']], @@ -4510,6 +4510,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.markSkill('biaozhao'); } }, + ai:{ + notemp:true, + }, }, "biaozhao2":{ trigger:{ @@ -4959,8 +4962,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){ game.expandSkills(list2); for(var k=0;k2) break; } if(!skills.length){ - player.draw(); + //player.draw(); event.finish(); } else{ - skills.unshift('摸一张牌'); + //skills.unshift('摸一张牌'); player.chooseControl(skills).set('dialog',['请选择要发动的技能,或摸一张牌',[list,'character']]).set('ai',function(){return 0}); } } @@ -5026,8 +5039,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){ game.expandSkills(list2); for(var k=0;k2) break; } if(!skills.length){ - player.draw(); + //player.draw(); event.finish(); } else{ - skills.unshift('摸一张牌'); + //skills.unshift('摸一张牌'); player.chooseControl(skills).set('dialog',['请选择要发动的技能,或摸一张牌',[list,'character']]).set('ai',function(){return 0}); } } @@ -5057,7 +5080,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.addTempSkill(result.control,'phaseUseEnd'); player.addTempSkill('pingjian_temp','phaseUseEnd'); player.storage.pingjian_temp=result.control; - event.getParent(2).goto(0); + //event.getParent(2).goto(0); }, ai:{order:10,result:{player:1}}, }, @@ -7293,6 +7316,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ wenyang:['wenyang','diy_wenyang'], dingyuan:['ol_dingyuan','dingyuan'], quyi:['quyi','re_quyi'], + hansui:['xin_hansui','re_hansui'], }, translate:{ lijue:"李傕", diff --git a/character/yijiang.js b/character/yijiang.js index 7e8f823b4..bebc4b8e9 100755 --- a/character/yijiang.js +++ b/character/yijiang.js @@ -2917,6 +2917,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } })>=0; }, + filter:function(event,player){ + return game.hasPlayer(function(current){ + return current.countCards('h')ID:'+button.info[i].creator,eventnode); + //ui.create.div('','创建者:'+(button.info[i].nickname),eventnode); + ui.create.div('','创建者:'+(button.info[i].nickname)+'
ID:'+button.info[i].creator,eventnode); ui.create.div('','已有'+(button.info[i].members.length)+'人加入',eventnode); ui.create.div('','时间:'+str,eventnode); if(button.info[i].members.contains(game.onlineKey)){ @@ -44930,10 +44935,10 @@ var list=ui.create.div('.caption'); if(get.is.phoneLayout()){ - list.style.maxHeight='150px'; + list.style.maxHeight='110px'; } else{ - list.style.maxHeight='250px'; + list.style.maxHeight='220px'; } list.style.overflow='scroll'; lib.setScroll(list); @@ -45022,24 +45027,25 @@ uiintro.add(emotionTitle); var list1=ui.create.div(''); if(get.is.phoneLayout()){ - list1.style.height='100px'; + list1.style.height='110px'; } else{ list1.style.height='150px'; } list1.style.overflow='scroll'; + lib.setScroll(list1); uiintro.add(list1); - uiintro.style.height=uiintro.content.offsetHeight+'px'; + uiintro.style.height=uiintro.content.scrollHeight+'px'; var list2=ui.create.div(''); if(get.is.phoneLayout()){ - list2.style.height='100px'; + list2.style.height='110px'; } else{ list2.style.height='150px'; } list2.style.overflow='scroll'; - uiintro.add(list2); - uiintro.style.height=uiintro.content.offsetHeight+'px'; + lib.setScroll(list2); + //uiintro.add(list2); for(var i in lib.emotionList){ var emotionPack=ui.create.div('.card.fullskin','',function(){ emotionTitle.innerHTML=get.translation(this.pack); @@ -45074,7 +45080,7 @@ emotionButton.style.width='50px'; list2.appendChild(emotionButton); } - list1.delete(); + list1.remove(); uiintro.add(list2); }); emotionPack.pack=i; @@ -45082,6 +45088,8 @@ emotionPack.style.width='50px'; list1.appendChild(emotionPack); } + list1.scrollTop=list1.scrollHeight; + uiintro.style.height=uiintro.content.scrollHeight+'px'; return uiintro; }, volumn:function(){ diff --git a/game/update.js b/game/update.js index edd2423ad..5dfcd9fd1 100644 --- a/game/update.js +++ b/game/update.js @@ -1,37 +1,36 @@ window.noname_update={ - version:'1.9.108', - update:'1.9.107.1', + version:'1.9.108.1', + update:'1.9.108', changeLog:[ - '成神之日:佐藤雏', - '新麹义、韩馥', + '新韩遂,胡车儿', 'bug修复', ], files:[ //'card/extra.js', //'card/gujian.js', - //'card/guozhan.js', + 'card/guozhan.js', //'card/gwent.js', //'card/huanlekapai.js', //'card/mtg.js', //'card/sp.js', - 'card/standard.js', + //'card/standard.js', //'card/swd.js', //'card/yunchou.js', - 'card/yingbian.js', + //'card/yingbian.js', //'card/zhenfa.js', //'card/zhulu.js', - //'character/diy.js', + 'character/diy.js', 'character/extra.js', //'character/hearth.js', //'character/gujian.js', //'character/gwent.js', //'character/hearth.js', - //'character/mobile.js', + 'character/mobile.js', //'character/mtg.js', //'character/old.js', 'character/rank.js', - 'character/refresh.js', - 'character/shenhua.js', + //'character/refresh.js', + //'character/shenhua.js', 'character/sp.js', 'character/sp2.js', //'character/tw.js', @@ -44,7 +43,7 @@ window.noname_update={ //'extension/boss/extension.js', //'layout/default/layout.css', //'layout/nova/layout.css', - 'mode/identity.js', + //'mode/identity.js', //'mode/doudizhu.js', //'mode/guozhan.js', //'mode/chess.js', @@ -53,10 +52,9 @@ window.noname_update={ //'mode/stone.js', //'mode/brawl.js', //'mode/versus.js', - 'mode/boss.js', + //'mode/boss.js', 'game/game.js', //'game/keyWords.js', - 'game/server.js', //'game/NoSleep.js', //'game/config.js', //'game/package.js', diff --git a/image/character/hucheer.jpg b/image/character/hucheer.jpg new file mode 100644 index 000000000..feebf0ec2 Binary files /dev/null and b/image/character/hucheer.jpg differ diff --git a/image/character/xin_hansui.jpg b/image/character/xin_hansui.jpg new file mode 100644 index 000000000..a2c8011e5 Binary files /dev/null and b/image/character/xin_hansui.jpg differ