From 7e5cc4f705b6d180d1da5559e97f2a4573083dad Mon Sep 17 00:00:00 2001 From: libccy Date: Wed, 5 Jul 2017 12:26:59 +0800 Subject: [PATCH] r1 --- character/shenhua.js | 182 +++++++++++++++++++++++++++++++++++++++++- character/xianjian.js | 1 + character/yijiang.js | 8 +- game/game.js | 7 +- 4 files changed, 191 insertions(+), 7 deletions(-) diff --git a/character/shenhua.js b/character/shenhua.js index 18d5d0c2f..6a7515eeb 100644 --- a/character/shenhua.js +++ b/character/shenhua.js @@ -5,7 +5,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ connect:true, character:{ xiahouyuan:['male','wei',4,['xinshensu']], - caoren:['male','wei',4,['jushou','jiewei']], + caoren:['male','wei',4,['xinjushou','xinjiewei']], huangzhong:['male','shu',4,['xinliegong']], weiyan:['male','shu',4,['xinkuanggu','qimou']], xiaoqiao:['female','wu',3,['xintianxiang','hongyan']], @@ -82,6 +82,182 @@ game.import('character',function(lib,game,ui,get,ai,_status){ caiwenji:'名琰,原字昭姬,晋时避司马昭讳,改字文姬,东汉末年陈留圉(今河南开封杞县)人,东汉大文学家蔡邕的女儿,是中国历史上著名的才女和文学家,精于天文数理,既博学能文,又善诗赋,兼长辩才与音律。代表作有《胡笳十八拍》、《悲愤诗》等 。', }, skill:{ + xinjushou:{ + audio:'jushou', + trigger:{player:'phaseEnd'}, + content:function(){ + 'step 0' + player.draw(4); + player.turnOver(); + 'step 1' + player.chooseCard('h',true,'弃置一张手牌,若以此法弃置的是装备牌,则你改为使用之').set('ai',function(card){ + if(get.type(card)=='equip'){ + return 5-get.value(card); + } + return -get.value(card); + }).set('filterCard',lib.filter.cardDiscardable); + 'step 2' + if(result.bool&&result.cards.length){ + if(get.type(result.cards[0])=='equip'){ + player.$give(result.cards,player); + player.lose(result.cards,ui.special); + event.toequip=result.cards[0]; + } + else{ + player.discard(result.cards[0]); + } + } + 'step 3' + if(event.toequip){ + game.delay(); + } + 'step 4' + if(event.toequip){ + player.equip(event.toequip); + } + }, + ai:{ + effect:{ + target:function(card,player,target){ + if(card.name=='guiyoujie') return [0,1]; + } + } + }, + }, + xinjiewei:{ + audio:'yanzheng', + enable:'chooseToUse', + filterCard:true, + position:'e', + viewAs:{name:'wuxie'}, + filter:function(event,player){ + return player.countCards('e')>0; + }, + viewAsFilter:function(player){ + return player.countCards('e')>0; + }, + prompt:'将一张装备区内的牌当无懈可击使用', + check:function(card){return 8-get.equipValue(card)}, + threaten:1.2, + group:'xinjiewei_move', + subSkill:{ + move:{ + trigger:{player:'turnOverEnd'}, + direct:true, + audio:'jiewei', + filter:function(event,player){ + return !player.isTurnedOver(); + }, + content:function(){ + "step 0" + player.chooseCardTarget({ + ai1:function(card){ + return 7-get.useful(card); + }, + ai2:function(target){ + var player=_status.event.player; + if(ui.selected.targets.length==0){ + if(target.countCards('j')&&get.attitude(player,target)>0) return 10; + if(get.attitude(player,target)<0){ + var players=game.filterPlayer(); + for(var i=0;i0){ + if((target.getEquip(1)&&!players[i].getEquip(1))|| + (target.getEquip(2)&&!players[i].getEquip(2))|| + (target.getEquip(3)&&!players[i].getEquip(3))|| + (target.getEquip(4)&&!players[i].getEquip(4))|| + (target.getEquip(5)&&!players[i].getEquip(5))) return -get.attitude(player,target); + } + } + } + return 0; + } + return -get.attitude(player,target)*get.attitude(player,ui.selected.targets[0]); + }, + multitarget:true, + filterTarget:function(card,player,target){ + if(ui.selected.targets.length){ + var from=ui.selected.targets[0]; + var judges=from.getCards('j'); + for(var i=0;i0; + } + }, + selectTarget:2, + filterCard:lib.filter.cardDiscardable, + prompt:get.prompt('jiewei'), + prompt2:'弃置一张牌,然后移动场上的一张牌', + position:'he', + targetprompt:['被移走','移动目标'], + target:target + }); + "step 1" + if(!result.bool){ + event.finish(); + return; + } + player.discard(result.cards); + player.logSkill('jiewei',result.targets,false); + player.line2(result.targets); + event.targets=result.targets; + "step 2" + game.delay(); + "step 3" + if(targets.length==2){ + player.choosePlayerCard('ej',true,function(button){ + var player=_status.event.player; + var targets0=_status.event.targets0; + var targets1=_status.event.targets1; + if(get.attitude(player,targets0)>get.attitude(player,targets1)){ + return get.position(button.link)=='j'?10:0; + } + else{ + if(get.position(button.link)=='j') return -10; + return get.equipValue(button.link); + } + },targets[0]).set('targets0',targets[0]).set('targets1',targets[1]).set('filterButton',function(button){ + var targets1=_status.event.targets1; + if(get.position(button.link)=='j'){ + return !targets1.hasJudge(button.link.viewAs||button.link.name); + } + else{ + return !targets1.countCards('e',{subtype:get.subtype(button.link)}); + } + }); + } + else{ + event.finish(); + } + "step 4" + if(result.bool&&result.links.length){ + var link=result.links[0]; + if(get.position(link)=='e'){ + event.targets[1].equip(link); + } + else if(link.viewAs){ + event.targets[1].addJudge({name:link.viewAs},[link]); + } + else{ + event.targets[1].addJudge(link); + } + event.targets[0].$give(link,event.targets[1]) + game.delay(); + } + } + } + } + }, jianchu:{ trigger:{player:'shaBegin'}, filter:function(event){ @@ -4186,6 +4362,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ xinsheng:'新生', qimou:'奇谋', xinqiangxi:'强袭', + xinjushou:'据守', + xinjiewei:'解围', + xinjiewei_info:'你可以将装备区里的牌当【无懈可击】使用;当你从背面翻至正面时,你可以弃置一张牌,然后移动场上的一张牌', + xinjushou_info:'结束阶段,你可以翻面并摸四张牌,然后弃置一张手牌,若以此法弃置的是装备牌,则你改为使用之', jixi_info:'出牌阶段,你可以把任意一张田当【顺手牵羊】使用', xinqiangxi_info:'出牌阶段各限一次,你可以选择一项:1. 失去一点体力并对你攻击范围内的一名其他角色造成一点伤害;2. 弃置一张装备牌并对你攻击范围内的一名其他角色造成一点伤害 ', qimou_info:'限定技,出牌阶段,你可以失去任意点体力,然后直到回合结束,你的进攻距离+X,且你可以多使用X张【杀】(X为你失去的体力值)', diff --git a/character/xianjian.js b/character/xianjian.js index 216f19448..7d48e84b4 100644 --- a/character/xianjian.js +++ b/character/xianjian.js @@ -984,6 +984,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ selectTarget:2, filterCard:lib.filter.cardDiscardable, prompt:get.prompt('liguang'), + prompt2:'弃置一张手牌,然后移动场上的一张牌', targetprompt:['被移走','移动目标'], target:target }); diff --git a/character/yijiang.js b/character/yijiang.js index 89b83aa18..b55d9d233 100644 --- a/character/yijiang.js +++ b/character/yijiang.js @@ -74,10 +74,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ zhangrang:['male','qun',3,['taoluan']], sunziliufang:['male','wei',3,['guizao','jiyu']], - xinxianying:['male','wei',3,[]], - wuxian:['male','wei',3,[]], - xushi:['male','wei',3,[]], - caojie:['male','wei',3,[]], + // xinxianying:['male','wei',3,[]], + // wuxian:['male','wei',3,[]], + // xushi:['male','wei',3,[]], + // caojie:['male','wei',3,[]], }, characterIntro:{ huaxiong:'董卓旗下名将,自荐抵抗山东地区反对董卓的诸侯联军于汜水关前,他先后斩杀济北相鲍信之弟鲍忠和孙坚部将祖茂、以及袁术部将俞涉和韩馥手下潘凤等人,最后关东联军派出关羽与之一对一决斗而被杀。', diff --git a/game/game.js b/game/game.js index 163f59ec8..2604ff272 100644 --- a/game/game.js +++ b/game/game.js @@ -10331,6 +10331,9 @@ game.pause(); if(event.prompt!=false){ event.dialog=ui.create.dialog(event.prompt||'请选择卡牌和目标'); + if(event.prompt2){ + event.dialog.addText(event.prompt2,event.prompt2.length<=20); + } } } else if(event.isOnline()){ @@ -24900,8 +24903,8 @@ delay:function(time,time2){ if(_status.paused) return; game.pause(); - if(time==undefined) time=1; - if(time2==undefined) time2=0; + if(typeof time!='number') time=1; + if(typeof time2!='number') time2=0; time=time*lib.config.duration+time2; if(lib.config.speed=='vvfast') time/=3; _status.timeout=setTimeout(game.resume,time);