diff --git a/card/gwent.js b/card/gwent.js index 75dfcfd84..d5d07c189 100644 --- a/card/gwent.js +++ b/card/gwent.js @@ -1239,6 +1239,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ skill:{ gw_qinpendayu:{ mark:true, + nopop:true, intro:{ content:'手牌上限-1直到下一回合结束' }, @@ -1250,6 +1251,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ }, gw_birinongwu:{ mark:true, + nopop:true, intro:{ content:'不能使用杀直到下一回合结束' }, @@ -1263,6 +1265,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ trigger:{player:'phaseDrawBegin'}, forced:true, mark:true, + nopop:true, intro:{ content:'下个摸牌阶段摸牌数-1' }, diff --git a/character/sp.js b/character/sp.js index adaff2046..f51c58a8d 100644 --- a/character/sp.js +++ b/character/sp.js @@ -105,8 +105,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ taoqian:['male','qun',3,['zhaohuo','yixiang','yirang']], // wangyun:['male','qun',4,['wylianji','moucheng','jingong']], - // liuqi:['male','qun',3,['wenji','tunjiang']], - // tangzi:['male','wu',4,['xingzhao']], }, characterIntro:{ huangfusong:'字义真。安定郡朝那县(今宁夏彭阳)人。于黄巾起义时,以中郎将身份讨伐黄巾,用火攻大破张梁、张宝。[45] 后接替董卓进攻张梁,连胜七阵。掘张角墓,拜左车骑将军、冀州牧,因拒绝贿赂宦官而被免职。[46] 董卓死,王允命其与吕布等共至郿坞抄籍董卓家产、人口,皇甫嵩将坞中所藏良家子女,尽行释放。', @@ -6426,7 +6424,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ else{ return 'draw_card'; } - }); + }).set('prompt',get.prompt('moukui')); "step 1" if(result.control=='draw_card'){ player.draw(); @@ -8542,12 +8540,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ miheng:'祢衡', taoqian:'陶谦', - xingzhao:'兴棹', - xingzhao_info:'锁定技,若你和队友持有的龙船至宝数合计为:1个或以上,你具有技能“恂恂”;2个或以上,你和队友使用装备牌时摸一张牌;3个或以上,你和队友跳过判定阶段', - wenji:'问计', - wenji_info:'队友的出牌阶段开始时,你可令其交给你一张手牌,若此牌为锦囊牌,则其他非队友角色计算与你的距离+1直到你的下个回合开始', - tunjiang:'屯江', - tunjiang_info:'结束阶段,若你于此回合的出牌阶段使用了两张或更多的牌且未造成伤害,你可令你或队友摸两张牌', wylianji:'连计', wylianji_info:'出牌阶段限一次,你可以交给一名其他角色一张【杀】或黑色锦囊牌,并令该角色将牌堆中的随机一张武器牌置入装备区(可替换原装备)。然后该角色选择一项:1.对除你以外的角色使用该牌,并将装备区里的武器牌交给该牌的一个目标角色;2.视为你对其使用此牌,并将装备区内的武器牌交给你。', moucheng:'谋逞', diff --git a/game/asset.js b/game/asset.js index ad74c4995..a708d0f9d 100644 --- a/game/asset.js +++ b/game/asset.js @@ -1,5 +1,5 @@ window.noname_asset_list=[ - '1.9.29', + '1.9.29.2', 'image/background/huangtian_bg.jpg', 'image/background/ol_bg.jpg', 'image/background/september_bg.jpg', @@ -1313,6 +1313,8 @@ window.noname_asset_list=[ 'image/mode/versus/character/boss_tuntianchiwen.jpg', 'image/mode/versus/character/boss_yuhuoshiyuan.jpg', 'image/mode/versus/character/boss_yunpingqinglong.jpg', + 'image/mode/versus/character/liuqi.jpg', + 'image/mode/versus/character/tangzi.jpg', 'image/splash/boss.jpg', 'image/splash/chess.jpg', 'image/splash/guozhan.jpg', diff --git a/game/game.js b/game/game.js index 2f7d72a7c..d2e8d7a85 100644 --- a/game/game.js +++ b/game/game.js @@ -4665,6 +4665,16 @@ intro:'选将框打开时直接显示全部武将(可能使游戏在开始时卡顿)', init:false, }, + siguo_character:{ + name:'专属武将出场率', + init:'increase', + item:{ + increase:'大概率出现', + normal:'与其他武将一致', + off:'不出现', + }, + frequent:true + }, ban_weak:{ name:'屏蔽弱将', init:true, diff --git a/game/update.js b/game/update.js index cb68a7568..c34d13e5e 100644 --- a/game/update.js +++ b/game/update.js @@ -1,8 +1,9 @@ window.noname_update={ - version:'1.9.29.1', + version:'1.9.29.2', update:'1.9.29', changeLog:[ 'bug修复', + '同舟武将' ], files:[ 'game/game.js', @@ -10,13 +11,12 @@ window.noname_update={ // 'game/config.js', // 'game/source.js', // 'game/pressure.js', - // 'game/asset.js', + 'game/asset.js', // 'card/*', - // 'card/standard.js', + 'card/gwent.js', // 'character/*', - // 'character/rank.js', + 'character/sp.js', // 'mode/boss.js', - // 'mode/versus.js', 'mode/guozhan.js', 'mode/versus.js', // 'mode/chess.js', @@ -26,7 +26,7 @@ window.noname_update={ // 'theme/music/style.css', // 'theme/woodden/style.css', // 'theme/simple/style.css', - // 'layout/default/layout.css', + 'layout/default/layout.css', // 'layout/default/phone.css', // 'layout/default/menu.css', // 'theme/style/cardback/*', diff --git a/image/mode/versus/character/liuqi.jpg b/image/mode/versus/character/liuqi.jpg new file mode 100644 index 000000000..95ae3ad32 Binary files /dev/null and b/image/mode/versus/character/liuqi.jpg differ diff --git a/image/mode/versus/character/tangzi.jpg b/image/mode/versus/character/tangzi.jpg new file mode 100644 index 000000000..aee4a99a0 Binary files /dev/null and b/image/mode/versus/character/tangzi.jpg differ diff --git a/layout/default/layout.css b/layout/default/layout.css index 8aa7d26cf..d3f7201f2 100644 --- a/layout/default/layout.css +++ b/layout/default/layout.css @@ -2974,7 +2974,10 @@ div:not(.handcards)>.card>.info>span, #arena.selecting:not(.video) .player[data-position='0'] .marks>.card:not(.selectable)>.image, #arena.selecting:not(.video) .player[data-position='0'] .judges>.card:not(.selectable)>.image, -#arena.selecting:not(.video) .player[data-position='0'] .judges>.card:not(.selectable)>.background { +#arena.selecting:not(.video) .player[data-position='0'] .judges>.card:not(.selectable)>.background, +#arena.selecting:not(.video) .player .marks>.card:not(.selectable)>.image, +#arena.selecting:not(.video) .player .judges>.card:not(.selectable)>.image, +#arena.selecting:not(.video) .player .judges>.card:not(.selectable)>.background { opacity: 1; } diff --git a/mode/versus.js b/mode/versus.js index cbf2bdc3d..648b5c01d 100644 --- a/mode/versus.js +++ b/mode/versus.js @@ -33,6 +33,13 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ lib.characterIntro.boss_juechenmiaocai=lib.characterIntro.xiahouyuan; } else if(get.config('versus_mode')=='siguo'){ + lib.characterPack.mode_versus={ + tangzi:['male',['wei','wu'].randomGet(),4,['xingzhao'],[]], + liuqi:['male',['shu','qun'].randomGet(),3,['wenji','tunjiang'],[]], + }; + for(var i in lib.characterPack.mode_versus){ + lib.character[i]=lib.characterPack.mode_versus[i]; + } lib.cardPack.mode_versus=['zong','xionghuangjiu','tongzhougongji','lizhengshangyou']; } }, @@ -751,12 +758,35 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ event.list=list; for(var i in lib.character){ if(lib.filter.characterDisabled(i)) continue; + if(get.config('siguo_character')=='off'&&lib.characterPack.mode_versus[i]) continue; if(list[lib.character[i][1]]){ list[lib.character[i][1]].push(i); } } - event.friendChoice=list[game.me.identity].randomRemove(); - var dialog=ui.create.dialog('选择角色',[list[game.me.identity].randomGets(7).concat([event.friendChoice]),'character']); + var duallist=[]; + if(get.config('siguo_character')=='increase'){ + for(var i in lib.characterPack.mode_versus){ + if(lib.characterPack.mode_versus[i][1]==game.me.identity){ + duallist.push(i); + } + } + } + if(duallist.length&&Math.random()<0.5){ + event.friendChoice=duallist.randomGet(); + duallist.length=0; + } + else{ + event.friendChoice=list[game.me.identity].randomRemove(); + } + var myChoice=list[game.me.identity].randomGets(7); + if(duallist.length){ + var myChoiceName=duallist.randomGet(); + if(list[game.me.identity].contains(myChoiceName)){ + myChoice.randomRemove(); + myChoice.push(myChoiceName); + } + } + var dialog=ui.create.dialog('选择角色',[myChoice.concat([event.friendChoice]),'character']); dialog.buttons[7].node.name.innerHTML=get.verticalStr('队友选择'); var addSetting=function(dialog){ @@ -921,6 +951,14 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ game.me.init(result.links[0]); event.list[game.me.side].remove(result.links[0]); var added={wei:0,shu:0,wu:0,qun:0}; + var dualside={wei:[],shu:[],wu:[],qun:[]}; + if(get.config('siguo_character')=='increase'){ + for(var i in lib.characterPack.mode_versus){ + if(Math.random()<0.5){ + dualside[lib.characterPack.mode_versus[i][1]].push(i); + } + } + } for(var i=0;iplayer.countCards('h')+1||player.hp==1; + }, + content:function(){ + 'step 0' + trigger.player.chooseCard('将一张手牌交给'+get.translation(player),true).ai=function(card){ + if(get.type(card)=='trick') return 8-get.value(card); + return 6-get.value(card); + } + 'step 1' + if(result.bool&&result.cards.length){ + player.gain(result.cards,trigger.player,'give'); + if(get.type(result.cards[0])=='trick'){ + player.addTempSkill('wenji2',{player:'phaseBegin'}); + } + } + } + }, + wenji2:{ + mark:true, + intro:{ + content:'非队友角色计算与你的距离+1' + }, + mod:{ + globalTo:function(from,to,distance){ + if(from.side!=to.side){ + return distance+1; + } + } + } + }, + tunjiang:{ + trigger:{player:'phaseEnd'}, + direct:true, + filter:function(event,player){ + return !player.getStat('damage')&&player.countUsed()>=2; + }, + content:function(){ + 'step 0' + var target=null; + for(var i=0;i=player.countCards('h')){ + return 1; + } + return 0; + }).set('prompt',get.prompt('xingzhao')).set('choiceList',[ + '摸两张牌','令'+get.translation(target)+'摸两张牌' + ]); + } + else{ + player.chooseBool(get.prompt('xingzhao')); + } + 'step 1' + if(event.target){ + if(result.index==0){ + player.logSkill('xingzhao'); + player.draw(2); + } + else if(result.index==1){ + player.logSkill('xingzhao',event.target); + event.target.draw(2); + } + } + else{ + if(result.bool){ + player.logSkill('xingzhao'); + player.draw(2); + } + } + } + }, + xingzhao:{ + inherit:'xunxun', + mark:true, + intro:{ + content:function(storage,player){ + var num=0; + for(var i=0;i=1){ + str='具有技能“恂恂”'; + } + if(num>=2){ + str+=';当你或队友使用装备牌时,其摸一张牌'; + } + if(num>=3){ + str+=';你和队友跳过判定阶段'; + } + return str; + } + }, + filter:function(event,player){ + var num=0; + for(var i=0;i=2; + }, + content:function(){ + player.draw(); + } + }, + xingzhao3:{ + trigger:{player:'phaseJudgeBefore'}, + forced:true, + filter:function(event,player){ + var num=0,bool=false; + for(var i=0;i=3; + }, + content:function(){ + trigger.untrigger(); + trigger.finish(); + game.log(player,'跳过了判定阶段'); + } + }, xionghuangjiu:{ trigger:{source:'damageBegin'}, filter:function(event,player){