v1.9.94.1
|
@ -807,7 +807,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
if(card.name=='nanman'||card.name=='wanjian') return 'zerotarget';
|
||||
if(card.name=='sha'){
|
||||
var equip1=player.getEquip(1);
|
||||
if(equip1&&equip1.name=='zhuque') return 2;
|
||||
if(equip1&&equip1.name=='zhuque') return 1.9;
|
||||
if(equip1&&equip1.name=='qinggang') return 1;
|
||||
if(!card.nature) return 'zerotarget';
|
||||
}
|
||||
|
@ -835,7 +835,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
effect:{
|
||||
target:function(card,player,target,current){
|
||||
if(card.name=='sha'){
|
||||
if(card.nature=='fire'||player.hasSkill('zhuque_skill')) return 2;
|
||||
if(card.nature=='fire') return 2;
|
||||
if(player.hasSkill('zhuque_skill')) return 1.9;
|
||||
}
|
||||
if(get.tag(card,'fireDamage')&¤t<0) return 2;
|
||||
}
|
||||
|
@ -878,16 +879,22 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
zhuque_skill:{
|
||||
trigger:{player:'useCardToBefore'},
|
||||
trigger:{player:'useCard1'},
|
||||
priority:7,
|
||||
filter:function(event,player){
|
||||
if(event.card.name=='sha'&&!event.card.nature) return true;
|
||||
},
|
||||
audio:true,
|
||||
check:function(event,player){
|
||||
var eff1=get.effect(event.target,event.card,player,player);
|
||||
var eff2=get.effect(event.target,{name:'sha',nature:'fire',suit:get.suit(event.card),number:get.number(event.card)},player,player);
|
||||
return eff2>eff1;
|
||||
var eff=0;
|
||||
for(var i=0;i<event.targets.length;i++){
|
||||
var target=event.targets[i];
|
||||
var eff1=get.effect(target,event.card,player,player);
|
||||
var eff2=get.effect(target,{name:'sha',nature:'fire',suit:get.suit(event.card),number:get.number(event.card)},player,player);
|
||||
eff+=eff2;
|
||||
eff-=eff1;
|
||||
}
|
||||
return eff>0;
|
||||
},
|
||||
content:function(){
|
||||
trigger.card.nature='fire';
|
||||
|
|
|
@ -156,8 +156,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
if(player.hasSkill('xietianzi')) return false;
|
||||
if(_status.currentPhase!=player) return false;
|
||||
var evt=event||_status.event;
|
||||
var evt2=evt.getParent('chooseToUse');
|
||||
return evt.type=='phase'||evt2.type=='phase';
|
||||
if(evt.name!='chooseToUse') evt=evt.getParent('chooseToUse');
|
||||
return evt.type=='phase';
|
||||
},
|
||||
filterTarget:function(card,player,target){
|
||||
return player==target;
|
||||
|
@ -376,7 +376,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
fullskin:true,
|
||||
audio:true,
|
||||
type:'trick',
|
||||
enable:true,
|
||||
enable:function(){
|
||||
return game.hasPlayer(function(current){
|
||||
return current.isUnseen();
|
||||
});
|
||||
},
|
||||
mode:['guozhan'],
|
||||
global:['g_chiling1','g_chiling2','g_chiling3'],
|
||||
filterTarget:function(card,player,target){
|
||||
|
@ -760,9 +764,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
minguangkai_cancel:{
|
||||
trigger:{target:'useCardToBefore'},
|
||||
trigger:{target:'useCardToTarget'},
|
||||
forced:true,
|
||||
priority:15,
|
||||
check:function(event,player){
|
||||
return get.effect(event.target,event.card,event.player,player)<0;
|
||||
},
|
||||
|
@ -861,14 +864,13 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
feilongduofeng:{
|
||||
trigger:{player:'shaBegin'},
|
||||
priority:7,
|
||||
trigger:{player:'useCardToPlayered'},
|
||||
logTarget:'target',
|
||||
check:function(event,player){
|
||||
return get.attitude(player,event.target)<=0;
|
||||
},
|
||||
filter:function(event,player){
|
||||
return event.target.countCards('he');
|
||||
return event.card.name=='sha'&&event.target.countCards('he');
|
||||
},
|
||||
content:function(){
|
||||
trigger.target.chooseToDiscard('he',true);
|
||||
|
|
|
@ -481,10 +481,10 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
zhungangshuo:{
|
||||
trigger:{player:'shaBegin'},
|
||||
trigger:{player:'useCardToPlayered'},
|
||||
logTarget:'target',
|
||||
filter:function(event,player){
|
||||
return event.player.countCards('h')||player.countCards('h');
|
||||
return event.card.name=='sha'&&(event.player.countCards('h')||player.countCards('h'));
|
||||
},
|
||||
check:function(event,player){
|
||||
var target=event.target;
|
||||
|
|
|
@ -1489,11 +1489,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
cixiong_skill:{
|
||||
trigger:{player:'shaBegin'},
|
||||
priority:7,
|
||||
trigger:{player:'useCardToPlayered'},
|
||||
audio:true,
|
||||
logTarget:'target',
|
||||
filter:function(event,player){
|
||||
if(event.card.name!='sha') return false;
|
||||
if(player.sex=='male'&&event.target.sex=='female') return true;
|
||||
if(player.sex=='female'&&event.target.sex=='male') return true;
|
||||
return false;
|
||||
|
|
|
@ -143,7 +143,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
event.range={
|
||||
手牌区:['h','e','j'],
|
||||
装备区:['e','h','j'],
|
||||
判定区:['j','e','h'],
|
||||
判定区:['j','h','e'],
|
||||
}[result.control||'手牌区'];
|
||||
"step 3"
|
||||
if(num<event.targets.length){
|
||||
|
|
|
@ -645,7 +645,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
forced:true,
|
||||
silent:true,
|
||||
popup:false,
|
||||
onremove:true,
|
||||
content:function(){
|
||||
trigger.xinzhanyi=true;
|
||||
player.storage.xinzhanyi_basic1=true;
|
||||
|
@ -665,6 +664,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
xinzhanyi_basic:{
|
||||
group:['xinzhanyi_basic1','xinzhanyi_basic2'],
|
||||
onremove:function(p,s){
|
||||
delete p.storage[s+1];
|
||||
},
|
||||
enable:"chooseToUse",
|
||||
filter:function (event,player){
|
||||
if(event.filterCard({name:'sha'},player,event)||
|
||||
|
@ -759,10 +761,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
xinzhanyi_equip:{
|
||||
audio:'zhanyi',
|
||||
trigger:{player:'shaBegin'},
|
||||
trigger:{player:'useCardToPlayered'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return event.target.countCards('he')>0;
|
||||
return event.card.name=='sha'&&event.target.countCards('he')>0;
|
||||
},
|
||||
check:function(event,player){
|
||||
return get.attitude(player,event.target)<0;
|
||||
|
|
|
@ -4,18 +4,24 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
name:'old',
|
||||
characterSort:{
|
||||
old:{
|
||||
old_shenhua:["yuji","zhangjiao","old_zhugezhan","old_zhoutai","old_caoren"],
|
||||
old_shenhua:["yuji","zhangjiao","old_zhugezhan","old_zhoutai","old_caoren","xiahouyuan","xiaoqiao","huangzhong","weiyan","xuhuang","pangde"],
|
||||
old_refresh:["old_zhangfei","old_huatuo"],
|
||||
old_yijiang1:["masu","xushu","fazheng","yujin","xin_yujin","old_xusheng","old_lingtong","ol_yujin"],
|
||||
old_yijiang2:["old_madai","old_zhonghui","old_wangyi","old_guanzhang","ol_liaohua"],
|
||||
old_yijiang3:["liru","old_zhuran","ol_zhuran","ol_manchong","ol_guohuai"],
|
||||
old_yijiang4:["old_caozhen","old_chenqun","old_zhuhuan"],
|
||||
old_yijiang4:["old_caozhen","old_chenqun","old_zhuhuan","ol_wuyi"],
|
||||
old_yijiang5:["old_caoxiu","old_quancong","old_zhuzhi"],
|
||||
old_yijiang67:["ol_xinxianying","ol_zhangrang"],
|
||||
old_yijiang67:["ol_xinxianying","ol_zhangrang","ol_liuyu"],
|
||||
old_sp:["old_caochun","old_lingju","old_maliang","old_machao","zhangliang","jsp_caoren","ol_guansuo"],
|
||||
},
|
||||
},
|
||||
character:{
|
||||
xuhuang:['male','wei',4,['gzduanliang']],
|
||||
pangde:['male','qun',4,['mashu','mengjin']],
|
||||
xiahouyuan:['male','wei',4,['shensu']],
|
||||
huangzhong:['male','shu',4,['liegong']],
|
||||
weiyan:['male','shu',4,['kuanggu']],
|
||||
xiaoqiao:['female','wu',3,['tianxiang','hongyan']],
|
||||
yuji:['male','qun',3,['old_guhuo'],['forbidai']],
|
||||
zhangjiao:['male','qun',3,['leiji','guidao','huangtian'],['zhu']],
|
||||
old_zhoutai:['male','wu',4,['gzbuqu']],
|
||||
|
@ -59,6 +65,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
ol_guansuo:['male','shu',4,['zhengnan','xiefang']],
|
||||
ol_manchong:['male','wei',3,['yuce','junxing']],
|
||||
ol_guohuai:['male','wei',4,['jingce']],
|
||||
ol_wuyi:['male','shu',4,['benxi']],
|
||||
ol_liuyu:['male','qun',2,['zongzuo','zhige']],
|
||||
},
|
||||
characterFilter:{
|
||||
old_lingju:function(mode){
|
||||
|
@ -865,6 +873,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
ol_guansuo:'OL关索',
|
||||
ol_manchong:'OL满宠',
|
||||
ol_guohuai:'OL郭淮',
|
||||
ol_wuyi:'OL吴懿',
|
||||
ol_liuyu:'OL刘虞',
|
||||
|
||||
old_fuhun:'父魂',
|
||||
old_fuhun_info:'摸牌阶段开始时,你可以放弃摸牌,改为从牌堆顶亮出两张牌并获得之,若亮出的牌颜色不同,你获得技能“武圣”、“咆哮”,直到回合结束。',
|
||||
|
|
|
@ -1436,39 +1436,31 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
rejiuyuan2:{
|
||||
audio:'jiuyuan',
|
||||
forceaudio:true,
|
||||
trigger:{player:'taoBegin'},
|
||||
trigger:{player:'useCardToPlayer'},
|
||||
filter:function(event,player){
|
||||
if(event.card.name!='tao') return false;
|
||||
if(player.group!='wu') return false;
|
||||
if(event.target!=player) return false;
|
||||
return game.hasPlayer(function(target){
|
||||
return player!=target&&target.isDamaged()&&target.hp<player.hp&&target.hasZhuSkill('rejiuyuan',player);
|
||||
return player!=target&&!event.targets.contains(target)&&target.isDamaged()&&target.hp<player.hp&&target.hasZhuSkill('rejiuyuan',player);
|
||||
});
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
var list=game.filterPlayer(function(target){
|
||||
return player!=target&&target.isDamaged()&&target.hp<player.hp&&target.hasZhuSkill('rejiuyuan',player);
|
||||
});
|
||||
list.sortBySeat();
|
||||
event.list=list;
|
||||
player.chooseTarget(get.prompt2('rejiuyuan'),function(card,player,target){
|
||||
return player!=target&&!_status.event.targets.contains(target)&&target.isDamaged()&&target.hp<player.hp&&target.hasZhuSkill('rejiuyuan',player);
|
||||
}).set('ai',function(target){
|
||||
return get.attitude(_status.event.player,target);
|
||||
}).set('targets',trigger.targets);
|
||||
'step 1'
|
||||
if(event.list.length){
|
||||
var current=event.list.shift();
|
||||
event.current=current;
|
||||
player.chooseBool(get.prompt2('rejiuyuan',current)).set('choice',get.attitude(player,current)>0);
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
}
|
||||
'step 2'
|
||||
if(result.bool){
|
||||
trigger.cancel();
|
||||
player.logSkill('rejiuyuan',event.current);
|
||||
event.current.recover();
|
||||
var target=result.targets[0];
|
||||
player.logSkill('rejiuyuan2',target);
|
||||
trigger.getParent().targets.remove(player);
|
||||
trigger.getParent().targets.push(target);
|
||||
player.draw();
|
||||
}
|
||||
event.goto(1);
|
||||
}
|
||||
},
|
||||
rezhiheng:{
|
||||
|
@ -2653,10 +2645,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
retieji:{
|
||||
audio:2,
|
||||
audioname:['boss_lvbu3'],
|
||||
trigger:{player:'shaBegin'},
|
||||
trigger:{player:'useCardToPlayered'},
|
||||
check:function(event,player){
|
||||
return get.attitude(player,event.target)<0;
|
||||
},
|
||||
filter:function(event,player){
|
||||
return event.card.name=='sha';
|
||||
},
|
||||
logTarget:'target',
|
||||
content:function(){
|
||||
"step 0"
|
||||
|
@ -2678,7 +2673,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}).set('num',num).set('suit',suit);
|
||||
"step 2"
|
||||
if(!result.bool){
|
||||
trigger.directHit=true;
|
||||
trigger.getParent().directHit.add(trigger.target);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -2935,9 +2930,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
unique:true,
|
||||
mark:true,
|
||||
limited:true,
|
||||
trigger:{global:'useCard'},
|
||||
trigger:{global:'useCardToPlayered'},
|
||||
priority:5,
|
||||
filter:function(event,player){
|
||||
if(event.getParent().triggeredTargets3.length>1) return false;
|
||||
if(get.type(event.card)!='trick') return false;
|
||||
if(get.info(event.card).multitarget) return false;
|
||||
if(event.targets.length<2) return false;
|
||||
|
@ -2952,7 +2948,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"step 0"
|
||||
player.chooseTarget(get.prompt('fenwei'),
|
||||
[1,trigger.targets.length],function(card,player,target){
|
||||
var evt=_status.event.getTrigger();
|
||||
var evt=_status.event.getTrigger().getParent();
|
||||
return evt.targets.contains(target)&&!evt.excluded.contains(target);
|
||||
}).set('ai',function(target){
|
||||
var trigger=_status.event.getTrigger();
|
||||
|
@ -2966,7 +2962,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.awakenSkill('fenwei');
|
||||
player.logSkill('fenwei',result.targets);
|
||||
player.storage.fenwei=true;
|
||||
trigger.excluded.addArray(result.targets);
|
||||
trigger.getParent.excluded.addArray(result.targets);
|
||||
game.delay();
|
||||
}
|
||||
},
|
||||
|
|
|
@ -6,20 +6,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
connectBanned:['zuoci'],
|
||||
characterSort:{
|
||||
shenhua:{
|
||||
shenhua_feng:['caoren','xiahouyuan','huangzhong','weiyan','xiaoqiao','zhoutai','sp_zhangjiao','re_yuji'],
|
||||
shenhua_huo:['dianwei','xunyu','pangtong','sp_zhugeliang','taishici','yanwen','re_yuanshao','pangde'],
|
||||
shenhua_lin:['caopi','xuhuang','menghuo','zhurong','re_lusu','sunjian','dongzhuo','jiaxu'],
|
||||
shenhua_feng:['caoren','re_xiahouyuan','re_huangzhong','re_weiyan','re_xiaoqiao','zhoutai','sp_zhangjiao','re_yuji'],
|
||||
shenhua_huo:['dianwei','xunyu','pangtong','sp_zhugeliang','taishici','yanwen','re_yuanshao','re_pangde'],
|
||||
shenhua_lin:['caopi','re_xuhuang','menghuo','zhurong','re_lusu','sunjian','dongzhuo','jiaxu'],
|
||||
shenhua_shan:['dengai','zhanghe','liushan','jiangwei','zhangzhang','sunce','caiwenji','zuoci'],
|
||||
shenhua_yin:['wangji','kuailiangkuaiyue','yanyan','wangping','sunliang','luji','xuyou','yl_luzhi'],
|
||||
shenhua_lei:['haozhao','guanqiujian','chendao','zhugezhan','lukang','zhoufei','zhangxiu','yl_yuanshu'],
|
||||
},
|
||||
},
|
||||
character:{
|
||||
xiahouyuan:['male','wei',4,['xinshensu']],
|
||||
re_xiahouyuan:['male','wei',4,['xinshensu']],
|
||||
caoren:['male','wei',4,['xinjushou','xinjiewei']],
|
||||
huangzhong:['male','shu',4,['xinliegong']],
|
||||
weiyan:['male','shu',4,['xinkuanggu','qimou']],
|
||||
xiaoqiao:['female','wu',3,['retianxiang','hongyan']],
|
||||
re_huangzhong:['male','shu',4,['xinliegong']],
|
||||
re_weiyan:['male','shu',4,['xinkuanggu','qimou']],
|
||||
re_xiaoqiao:['female','wu',3,['retianxiang','hongyan']],
|
||||
zhoutai:['male','wu',4,['buqu','fenji']],
|
||||
sp_zhangjiao:['male','qun',3,['releiji','guidao','huangtian'],['zhu']],
|
||||
re_yuji:["male","qun",3,["xinfu_guhuo"],["forbidai"]],
|
||||
|
@ -33,12 +33,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
taishici:['male','wu',4,['tianyi']],
|
||||
yanwen:['male','qun',4,['shuangxiong']],
|
||||
re_yuanshao:['male','qun',4,['luanji','xueyi'],['zhu']],
|
||||
pangde:['male','qun',4,['mashu','jianchu']],
|
||||
re_pangde:['male','qun',4,['mashu','jianchu']],
|
||||
|
||||
menghuo:['male','shu',4,['huoshou','zaiqi']],
|
||||
zhurong:['female','shu',4,['juxiang','lieren']],
|
||||
caopi:['male','wei',3,['xingshang','fangzhu','songwei'],['zhu']],
|
||||
xuhuang:['male','wei',4,['duanliang','jiezi']],
|
||||
re_xuhuang:['male','wei',4,['duanliang','jiezi']],
|
||||
re_lusu:['male','wu',3,['haoshi','dimeng']],
|
||||
sunjian:['male','wu',4,['gzyinghun']],
|
||||
dongzhuo:['male','qun',8,['jiuchi','roulin','benghuai','baonue'],['zhu']],
|
||||
|
@ -422,17 +422,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"xinfu_fuyin":{
|
||||
usable:1,
|
||||
trigger:{
|
||||
target:"useCardToBefore",
|
||||
target:"useCardToTargeted",
|
||||
},
|
||||
forced:true,
|
||||
priority:6,
|
||||
audio:2,
|
||||
filter:function (event,player){
|
||||
if(event.player.countCards('h')<player.countCards('h')) return false;
|
||||
if(event.card.name=='sha'||event.card.name=='juedou') return true;
|
||||
},
|
||||
content:function (){
|
||||
trigger.cancel();
|
||||
trigger.getParent().excluded.add(player);
|
||||
},
|
||||
},
|
||||
|
||||
|
@ -771,11 +770,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"drlt_congjian":{
|
||||
audio:2,
|
||||
trigger:{
|
||||
global:"useCard",
|
||||
target:"useCardToTargeted",
|
||||
},
|
||||
direct:true,
|
||||
filter:function (event,player){
|
||||
return event.targets&&get.type(event.card)=='trick'&&event.targets.contains(player)&&event.targets.length>1&&player.countCards('he')>0;
|
||||
return get.type(event.card)=='trick'&&event.targets.length>1&&player.countCards('he')>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
|
@ -1030,37 +1029,43 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'1':{
|
||||
audio:2,
|
||||
trigger:{
|
||||
global:'shaBegin'
|
||||
target:'useCardToTargeted'
|
||||
},
|
||||
prompt2:'当你成为其他角色【杀】的目标后,你可以与其各摸一张牌,然后其本回合内不能再对你使用牌。',
|
||||
filter:function (event,player){
|
||||
return event.targets&&event.targets.contains(player)&&(player.storage.nzry_juzhan1==false||player.storage.nzry_juzhan1==undefined);
|
||||
return event.card.name=='sha'&&(player.storage.nzry_juzhan1==false||player.storage.nzry_juzhan1==undefined);
|
||||
},
|
||||
logTarget:'player',
|
||||
content:function(){
|
||||
game.asyncDraw([player,trigger.player]);
|
||||
trigger.player.storage.nzry_juzhan=true;
|
||||
player.storage.nzry_juzhan1=true;
|
||||
player.addTempSkill('nzry_juzhanx');
|
||||
},
|
||||
},
|
||||
'2':{
|
||||
audio:2,
|
||||
trigger:{
|
||||
player:'shaBegin'
|
||||
player:'useCardToPlayered'
|
||||
},
|
||||
prompt2:'当你使用【杀】指定一名角色为目标后,你可以获得其一张牌,然后你本回合内不能再对其使用牌',
|
||||
filter:function (event,player){
|
||||
return player.storage.nzry_juzhan1==true;
|
||||
return event.card.name=='sha'&&event.player.countGainableCards(player,'he')>0&&player.storage.nzry_juzhan1==true;
|
||||
},
|
||||
check:function (event,player){
|
||||
return event.player.countCards('he')>0&&event.targets&&event.targets.length==1;
|
||||
},
|
||||
logTarget:'target',
|
||||
content:function(){
|
||||
player.gainPlayerCard(trigger.targets[0],'he',true);
|
||||
player.storage.nzry_juzhan1=false;
|
||||
trigger.target.addTempSkill('nzry_juzhanx');
|
||||
trigger.target.storage.nzry_juzhan2=true;
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
"_nzry_juzhan":{
|
||||
"nzry_juzhanx":{
|
||||
mod:{
|
||||
targetEnabled:function(card,player,target){
|
||||
if(target.storage.nzry_juzhan2==true) return false;
|
||||
|
@ -1772,10 +1777,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'nzry_jianxiang':{
|
||||
audio:2,
|
||||
trigger:{
|
||||
global:'useCard',
|
||||
target:'useCardToTargeted',
|
||||
},
|
||||
filter:function (event,player){
|
||||
return event.player!=player&&event.targets&&event.targets.contains(player);
|
||||
return event.player!=player;
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
|
@ -1787,12 +1792,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
};
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.line(result.targets);
|
||||
player.logSkill('nzry_jianxiang');
|
||||
player.logSkill('nzry_jianxiang',result.targets);
|
||||
result.targets[0].draw();
|
||||
}else{
|
||||
event.finish();
|
||||
};
|
||||
}
|
||||
},
|
||||
},
|
||||
"nzry_shenshi":{
|
||||
|
@ -1988,12 +1990,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
jianchu:{
|
||||
audio:2,
|
||||
trigger:{player:'shaBegin'},
|
||||
filter:function(event){
|
||||
return event.target.countCards('he')>0;
|
||||
trigger:{player:'useCardToPlayered'},
|
||||
filter:function(event,player){
|
||||
return event.card.name=='sha'&&event.target.countDiscardableCards(player,'he')>0;
|
||||
},
|
||||
direct:true,
|
||||
priority:8,
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.discardPlayerCard(trigger.target,get.prompt('jianchu',trigger.target)).set('ai',function(button){
|
||||
|
@ -2004,7 +2005,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'step 1'
|
||||
if(result.bool&&result.links&&result.links.length){
|
||||
if(get.type(result.links[0])=='equip'){
|
||||
trigger.directHit=true;
|
||||
trigger.getParent().directHit.add(trigger.target);
|
||||
}
|
||||
else if(trigger.cards){
|
||||
trigger.target.gain(trigger.cards,'gain2','log');
|
||||
|
@ -2544,7 +2545,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
xiangle:{
|
||||
audio:2,
|
||||
trigger:{target:'useCardToBefore'},
|
||||
trigger:{target:'useCardToTargeted'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return event.card.name=='sha';
|
||||
|
@ -2562,7 +2563,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}).set('eff',eff);
|
||||
"step 1"
|
||||
if(result.bool==false){
|
||||
trigger.cancel();
|
||||
trigger.getParent().excluded.add(player);
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
|
@ -4693,7 +4694,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return 5-get.useful(card);
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.draw();
|
||||
'step 1'
|
||||
game.cardsDiscard(cards);
|
||||
},
|
||||
discard:false,
|
||||
prompt:'将一张梅花牌置入弃牌堆并摸一张牌',
|
||||
|
@ -6587,7 +6591,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zhurong:'祝融',
|
||||
menghuo:'孟获',
|
||||
caopi:'曹丕',
|
||||
xuhuang:'徐晃',
|
||||
re_xuhuang:'徐晃',
|
||||
lusu:'旧鲁肃',
|
||||
sunjian:'孙坚',
|
||||
dongzhuo:'董卓',
|
||||
|
@ -6646,7 +6650,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
taishici:'太史慈',
|
||||
yanwen:'颜良文丑',
|
||||
yuanshao:'旧袁绍',
|
||||
pangde:'庞德',
|
||||
re_pangde:'庞德',
|
||||
huoji:'火计',
|
||||
bazhen:'八阵',
|
||||
kanpo:'看破',
|
||||
|
@ -6682,12 +6686,26 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
xueyi_info:'主公技,锁定技,场上每有一名其他群雄角色存活,你的手牌上限便+2。',
|
||||
mengjin_info:'当你使用的【杀】被【闪】抵消时,你可以弃置目标角色的一张牌。',
|
||||
|
||||
xiahouyuan:'夏侯渊',
|
||||
re_xiahouyuan:'夏侯渊',
|
||||
re_huangzhong:'黄忠',
|
||||
re_weiyan:'魏延',
|
||||
re_xiaoqiao:'小乔',
|
||||
|
||||
gz_xiahouyuan:'夏侯渊',
|
||||
gz_huangzhong:'黄忠',
|
||||
gz_weiyan:'魏延',
|
||||
gz_xiaoqiao:'小乔',
|
||||
gz_xuhuang:'徐晃',
|
||||
gz_pangde:'庞德',
|
||||
|
||||
xuhuang:'旧徐晃',
|
||||
pangde:'旧庞德',
|
||||
xiahouyuan:'旧夏侯渊',
|
||||
caoren:'曹仁',
|
||||
huangzhong:'黄忠',
|
||||
huangzhong:'旧黄忠',
|
||||
sp_zhangjiao:'张角',
|
||||
weiyan:'魏延',
|
||||
xiaoqiao:'小乔',
|
||||
weiyan:'旧魏延',
|
||||
xiaoqiao:'旧小乔',
|
||||
zhoutai:'周泰',
|
||||
zhangjiao:'旧张角',
|
||||
yuji:'于吉',
|
||||
|
@ -6737,6 +6755,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
guhuo_info:'每名角色的回合限一次,你可以扣置一张手牌当一张基本牌或普通锦囊牌使用或打出。其他角色依次选择是否质疑。一旦有其他角色质疑则翻开此牌:若为假则此牌作废,若为真,则质疑角色获得技能“缠怨”(锁定技,你不能质疑于吉,只要你的体力值为1,你失去你的武将技能)',
|
||||
fenji_info:'每当一名角色的手牌于回合外被其他角色弃置或获得时,你可以失去1点体力,然后令该角色摸两张牌。',
|
||||
|
||||
gzduanliang:'断粮',
|
||||
gzduanliang_info:'你可以将一张黑色基本牌或黑色装备牌当【兵粮寸断】使用;你可以对距离为2的角色使用【兵粮寸断】',
|
||||
|
||||
shenhua_feng:'神话再临•风',
|
||||
shenhua_huo:'神话再临•火',
|
||||
shenhua_lin:'神话再临•林',
|
||||
|
|
306
character/sp.js
|
@ -5,7 +5,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
connect:true,
|
||||
characterSort:{
|
||||
sp:{
|
||||
sp_default:["caoying","simahui","baosanniang","yangxiu","chenlin","caohong","xiahouba","yuanshu","sp_diaochan","sp_zhaoyun","liuxie","zhugejin","zhugeke","guanyinping","simalang","zhangxingcai","fuwan","sp_sunshangxiang","caoang","sp_caoren","zhangbao","maliang","zhugedan","sp_jiangwei","sp_machao","sunhao","shixie","mayunlu","zhanglu","wutugu","sp_caiwenji","zhugeguo","lingju","jsp_guanyu","jsp_huangyueying","sunluyu","zumao","wenpin","daxiaoqiao","guansuo","tadun","yanbaihu","chengyu","wanglang","sp_pangde","sp_jiaxu","litong","mizhu","buzhi","caochun","dongbai","zhaoxiang","mazhong","dongyun","kanze","heqi","wangyun","sunqian","xizhicai","quyi","luzhi","wenyang"],
|
||||
sp_default:["caoying","simahui","baosanniang","yangxiu","chenlin","caohong","xiahouba","yuanshu","sp_diaochan","sp_zhaoyun","liuxie","zhugejin","zhugeke","guanyinping","simalang","zhangxingcai","fuwan","sp_sunshangxiang","caoang","sp_caoren","zhangbao","maliang","zhugedan","sp_jiangwei","sp_machao","sunhao","shixie","mayunlu","zhanglu","wutugu","sp_caiwenji","zhugeguo","lingju","jsp_guanyu","jsp_huangyueying","sunluyu","zumao","wenpin","daxiaoqiao","guansuo","tadun","yanbaihu","chengyu","wanglang","sp_pangde","sp_jiaxu","litong","mizhu","buzhi","caochun","dongbai","zhaoxiang","mazhong","dongyun","kanze","heqi","wangyun","sunqian","xizhicai","quyi","luzhi","wenyang","guanlu","gexuan"],
|
||||
sp_whlw:["xurong","lijue","zhangji","fanchou","guosi"],
|
||||
sp_zlzy:["zhangqiying","lvkai","zhanggong","weiwenzhugezhi","beimihu"],
|
||||
sp_longzhou:["xf_tangzi","xf_huangquan","xf_sufei","sp_liuqi"],
|
||||
|
@ -18,6 +18,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
character:{
|
||||
guanlu:['male','wei',3,['tuiyan','busuan','mingjie']],
|
||||
gexuan:['male','wu',3,['lianhua','zhafu']],
|
||||
wenyang:['male','wei',5,['xinlvli','choujue']],
|
||||
mangyachang:["male","qun",4,["spjiedao"],[]],
|
||||
xugong:["male","wu",3,["biaozhao","yechou"],[]],
|
||||
|
@ -155,6 +157,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
//kaisa:["male","western",4,["zhengfu"]],
|
||||
},
|
||||
characterIntro:{
|
||||
guanlu:"管辂(209年-256年),字公明,平原(今山东德州平原县)人。三国时期曹魏术士。年八九岁,便喜仰观星辰。成人后,精通《周易》,善于卜筮、相术,习鸟语,相传每言辄中,出神入化。体性宽大,常以德报怨。正元初,为少府丞。北宋时被追封为平原子。管辂是历史上著名的术士,被后世奉为卜卦观相的祖师。",
|
||||
gexuan:"葛玄(164年-244年),汉族,吴丹阳郡句容县都乡吉阳里人(今句容市),祖籍山东琅琊,三国著名高道,道教灵宝派祖师。字孝先,号仙翁,被尊称为“葛天师”。道教尊为葛仙翁,又称太极仙翁,与张道陵、许逊、萨守坚共为四大天师。为汉下邳僮侯葛艾后裔,祖葛矩,安平太守,黄门郎;从祖葛弥,豫章第五郡太守。父葛焉,字德儒,州主簿,山阴令,散骑常侍,大尚书。随左慈学道,得《太清丹经》、《黄帝九鼎神丹经》、《金液丹经》等道经。曾采药海山,吴嘉禾二年(233年),在閤皂山修道建庵,筑坛立炉,修炼九转金丹。喜好遨游山川,去过括苍山、南岳山、罗浮山。编撰《灵宝经诰》,精研上清、灵宝等道家真经,并嘱弟子世世箓传。",
|
||||
wenyang:"文俶(238年—291年),一作文淑,字次骞,小名阿鸯,世称文鸯,谯郡(今安徽亳州市)人。魏末晋初名将,曹魏扬州刺史文钦之子。骁勇善战,依附大将军曹爽,效忠于王室。司马师废黜皇帝曹芳后,随父联合毌丘俭于淮南起兵勤王。兵败之后,向南投奔吴国。诸葛诞发动淮南叛乱,奉命率军驰援。双方发生内讧,父亲为诸葛诞所害,遂降于司马昭,封关内侯。西晋建立后,任平虏护军。咸宁三年(277年),拜平西将军、都督凉秦雍州三州军事,大破鲜卑首领秃发树机能,名震天下,迁使持节、护东夷校尉、监辽东军事。八王之乱中,为诸葛诞外孙、东安王司马繇所诬杀,惨遭灭族,时年五十四岁。",
|
||||
jianggan:"蒋干,字子翼,汉末三国时期的人物,九江(治今安徽寿县)人。历史上的蒋干是当时的名士、辩论家。而罗贯中在历史小说《三国演义》中则将蒋干刻画成了被周瑜所愚弄的小丑形象。",
|
||||
zhangchangpu:"钟会的母亲。《母夫人张氏传》:夫人张氏,字昌蒲,太原兹氏人,太傅定陵成侯之命妇也。",
|
||||
|
@ -556,6 +560,207 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
skill:{
|
||||
//管辂和葛玄
|
||||
lianhua:{
|
||||
audio:2,
|
||||
init:function(player,skill){
|
||||
if(!player.storage[skill]) player.storage[skill]={
|
||||
red:0,black:0,
|
||||
}
|
||||
},
|
||||
marktext:'丹',
|
||||
intro:{
|
||||
name:'丹血',
|
||||
markcount:function(storage){
|
||||
return storage.red+storage.black;
|
||||
},
|
||||
content:function(storage){
|
||||
return '共有'+(storage.red+storage.black)+'个标记';
|
||||
},
|
||||
},
|
||||
trigger:{global:'damage'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return event.player!=player&&_status.currentPhase!=player;
|
||||
},
|
||||
content:function(){
|
||||
player.storage.lianhua[player.getFriends().contains(trigger.player)?'red':'black']++;
|
||||
player.markSkill('lianhua');
|
||||
},
|
||||
group:'lianhua_harmonia',
|
||||
subSkill:{
|
||||
harmonia:{
|
||||
forced:true,
|
||||
audio:'lianhua',
|
||||
sub:true,
|
||||
trigger:{player:'phaseBegin'},
|
||||
forced:true,
|
||||
content:function(){
|
||||
var cards=[];
|
||||
var cards2=[];
|
||||
var skill='';
|
||||
var red=player.storage.lianhua.red;
|
||||
var black=player.storage.lianhua.black;
|
||||
player.storage.lianhua={red:0,black:0};
|
||||
player.unmarkSkill('lianhua');
|
||||
if(red+black<4){
|
||||
cards=['tao'];
|
||||
skill='reyingzi';
|
||||
}
|
||||
else if(red>black){
|
||||
cards=['wuzhong'];
|
||||
skill='reguanxing';
|
||||
}
|
||||
else if(red<black){
|
||||
cards=['shunshou'];
|
||||
skill='zhiyan';
|
||||
}
|
||||
else{
|
||||
cards=['sha','juedou'];
|
||||
skill='gongxin';
|
||||
}
|
||||
for(var i=0;i<cards.length;i++){
|
||||
var card=get.cardPile2(function(shiona){
|
||||
return shiona.name==cards[i];
|
||||
});
|
||||
if(card) cards2.push(card);
|
||||
}
|
||||
player.addTempSkill(skill);
|
||||
if(cards2.length) player.gain(cards2,'gain2','log');
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
zhafu:{
|
||||
enable:'phaseUse',
|
||||
limited:true,
|
||||
skillAnimation:true,
|
||||
animationColor:'wood',
|
||||
filterTarget:lib.filter.notMe,
|
||||
content:function(){
|
||||
player.awakenSkill('zhafu');
|
||||
target.addSkill('zhafu_hf');
|
||||
target.storage.zhafu_hf=player;
|
||||
},
|
||||
subSkill:{
|
||||
hf:{
|
||||
trigger:{
|
||||
player:'phaseDiscardBegin'
|
||||
},
|
||||
forced:true,
|
||||
popup:false,
|
||||
charlotte:true,
|
||||
onremove:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
if(player.countCards('h')<=1||player.storage.zhafu_hf.isDead()) event.goto(3);
|
||||
'step 1'
|
||||
player.storage.zhafu_hf.logSkill('zhafu_hf',player);
|
||||
player.chooseCard('h',true,'选择保留一张手牌,将其余的手牌交给'+get.translation(player.storage.zhafu_hf)).ai=get.value;
|
||||
'step 2'
|
||||
var cards=player.getCards('h');
|
||||
cards.remove(result.cards[0]);
|
||||
player.storage.zhafu_hf.gain(cards,player,'giveAuto');
|
||||
'step 3'
|
||||
player.removeSkill('zhafu_hf');
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
tuiyan:{
|
||||
trigger:{player:'phaseUseBegin'},
|
||||
frequent:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
var cards=get.cards(2);
|
||||
event.cards=cards;
|
||||
player.chooseControl('ok').set('dialog',['卜卦',cards]);
|
||||
'step 1'
|
||||
while(cards.length){
|
||||
ui.cardPile.insertBefore(cards.pop(),ui.cardPile.firstChild);
|
||||
}
|
||||
game.updateRoundNumber();
|
||||
},
|
||||
},
|
||||
busuan:{
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filterTarget:lib.filter.notMe,
|
||||
content:function(){
|
||||
'step 0'
|
||||
var list=[];
|
||||
for(var i=0;i<lib.inpile.length;i++){
|
||||
var name=lib.inpile[i];
|
||||
var type=get.type(name,'trick');
|
||||
if(['basic','trick'].contains(type)) list.push([type,'',name]);
|
||||
}
|
||||
player.chooseButton(['选择至多两种牌',[list,'vcard']],true,[1,2]).set('ai',function(button){
|
||||
var target=_status.event.getParent('busuan').target;
|
||||
return get.attitude(_status.event.player,target)*get.useful({name:button.link[2]});
|
||||
});
|
||||
'step 1'
|
||||
target.storage.busuan_angelbeats=result.links.slice(0);
|
||||
target.addSkill('busuan_angelbeats');
|
||||
},
|
||||
ai:{
|
||||
order:1,
|
||||
result:{
|
||||
target:function(player,target){
|
||||
var att=get.attitude(player,target);
|
||||
if(att>0) return 1
|
||||
return -5/(target.countCards('h')+1);
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
busuan_angelbeats:{
|
||||
trigger:{player:'drawBefore'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return event.getParent().name=='phaseDraw';
|
||||
},
|
||||
onremove:true,
|
||||
content:function(){
|
||||
trigger.cancel();
|
||||
'step 0'
|
||||
var list=player.storage['busuan_angelbeats'];
|
||||
var cards=[];
|
||||
for(var i=0;i<list.length;i++){
|
||||
var card=get.cardPile(function(cardx){
|
||||
return !cards.contains(cardx)&&cardx.name==list[Math.min(i,list.length-1)][2];
|
||||
});
|
||||
if(card) cards.push(card);
|
||||
}
|
||||
if(cards.length) player.gain(cards,'draw');
|
||||
'step 1'
|
||||
player.removeSkill('busuan_angelbeats');
|
||||
},
|
||||
},
|
||||
mingjie:{
|
||||
trigger:{player:'phaseEnd'},
|
||||
check:function(){
|
||||
return ui.cardPile.hasChildNodes()&&get.color(ui.cardPile.firstChild)!='black';
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
event.count=0;
|
||||
'step 1'
|
||||
player.draw('visible');
|
||||
event.count++;
|
||||
'step 2'
|
||||
if(Array.isArray(result)){
|
||||
if(get.color(result[0])=='black'){
|
||||
player.loseHp();
|
||||
event.finish();
|
||||
}
|
||||
else if(event.count<3) player.chooseBool('是否继续发动【命戒】?').ai=lib.skill.mingjie.check;
|
||||
}
|
||||
else event.finish();
|
||||
'step 3'
|
||||
if(result.bool) event.goto(1);
|
||||
},
|
||||
},
|
||||
//文鸯
|
||||
xinlvli:{
|
||||
audio:'lvli',
|
||||
|
@ -1457,11 +1662,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
//英文版特典武将凯撒
|
||||
zhengfu:{
|
||||
trigger:{
|
||||
player:"shaBegin",
|
||||
player:"useCardToPlayered",
|
||||
},
|
||||
check:function (event,player){
|
||||
return get.attitude(player,event.target)<0;
|
||||
},
|
||||
filter:function(event,player){
|
||||
return event.card.name=='sha';
|
||||
},
|
||||
logTarget:"target",
|
||||
line:false,
|
||||
content:function (){
|
||||
|
@ -1485,7 +1693,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var cards=result.cards;
|
||||
player.gain(cards,trigger.target,'giveAuto');
|
||||
}
|
||||
else trigger.directHit=true;
|
||||
else trigger.getParent().directHit.add(trigger.target);
|
||||
game.delay();
|
||||
},
|
||||
},
|
||||
|
@ -1967,7 +2175,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
ol_shichou:{
|
||||
audio:2,
|
||||
trigger:{
|
||||
player:'useCard',
|
||||
player:'useCard2',
|
||||
},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
|
@ -2589,7 +2797,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
subSkill:{
|
||||
add:{
|
||||
audio:'bmcanshi',
|
||||
trigger:{player:'useCard'},
|
||||
trigger:{player:'useCard2'},
|
||||
filter:function(event,player){
|
||||
if(!event.targets||event.targets.length!=1) return false;
|
||||
var info=get.info(event.card);
|
||||
|
@ -2631,7 +2839,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
remove:{
|
||||
audio:'bmcanshi',
|
||||
trigger:{target:'useCardToBefore'},
|
||||
trigger:{
|
||||
target:'useCardToTarget',
|
||||
},
|
||||
check:function(event,player){
|
||||
return get.attitude(event.player,player)<0&&get.effect(player,event.card,event.player,player)<0;
|
||||
},
|
||||
|
@ -2641,7 +2851,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return event.player.hasSkill('zongkui_mark');
|
||||
},
|
||||
content:function(){
|
||||
trigger.cancel();
|
||||
trigger.getParent().excluded.add(player);
|
||||
game.delay();
|
||||
trigger.player.removeSkill('zongkui_mark');
|
||||
}
|
||||
|
@ -3010,7 +3220,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
qianya:{
|
||||
audio:2,
|
||||
trigger:{target:'useCardToBegin'},
|
||||
trigger:{target:'useCardToTargeted'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return get.type(event.card,'trick')=='trick'&&player.countCards('h');
|
||||
|
@ -4004,7 +4214,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
zfengshi:{
|
||||
audio:'fengshi',
|
||||
trigger:{player:'shaBegin'},
|
||||
trigger:{player:'useCardToPlayered'},
|
||||
filter:function(event,player){
|
||||
return event.target.countCards('e');
|
||||
},
|
||||
|
@ -4396,7 +4606,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
sheyan:{
|
||||
audio:2,
|
||||
trigger:{global:'useCard'},
|
||||
trigger:{target:'useCardToTarget'},
|
||||
filter:function(event,player){
|
||||
if(!event.targets||!event.targets.contains(player)) return false;
|
||||
var info=get.info(event.card);
|
||||
|
@ -4472,7 +4682,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
trigger.targets.push(event.target);
|
||||
}
|
||||
else{
|
||||
trigger.targets.remove(event.target);
|
||||
trigger.getParent().excluded.add(event.target);
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
|
@ -4768,7 +4978,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
duanbing:{
|
||||
audio:2,
|
||||
audioname:['heqi'],
|
||||
trigger:{player:'useCard'},
|
||||
trigger:{player:'useCard2'},
|
||||
filter:function(event,player){
|
||||
if(event.card.name!='sha') return false;
|
||||
return game.hasPlayer(function(current){
|
||||
|
@ -6430,7 +6640,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
jili:{
|
||||
audio:2,
|
||||
trigger:{global:'useCard'},
|
||||
trigger:{
|
||||
global:'useCardToTarget'
|
||||
},
|
||||
forced:true,
|
||||
check:function(event,player){
|
||||
return get.effect(player,event.card,event.player,player)>0;
|
||||
|
@ -6452,7 +6664,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
autodelay:true,
|
||||
content:function(){
|
||||
trigger.targets.add(player);
|
||||
trigger.getParent().targets.add(player);
|
||||
trigger.player.line(player,'green');
|
||||
}
|
||||
},
|
||||
|
@ -6642,10 +6854,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
qizhi:{
|
||||
audio:2,
|
||||
trigger:{player:'useCard'},
|
||||
trigger:{
|
||||
player:'useCardToPlayered'
|
||||
},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
if(!event.targets) return false;
|
||||
if(event.getParent().triggeredTargets3.length>1) return false;
|
||||
if(_status.currentPhase!=player) return false;
|
||||
var type=get.type(event.card,'trick');
|
||||
if(type!='basic'&&type!='trick') return false;
|
||||
|
@ -6995,9 +7210,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
zhenwei:{
|
||||
audio:2,
|
||||
trigger:{global:'useCardToBefore'},
|
||||
trigger:{
|
||||
global:'useCardToTarget'
|
||||
},
|
||||
direct:true,
|
||||
priority:5,
|
||||
filter:function(event,player){
|
||||
if(player==event.target||player==event.player) return false;
|
||||
if(!player.countCards('he')) return false;
|
||||
|
@ -7060,12 +7276,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"step 2"
|
||||
if(result.control=='转移'){
|
||||
player.draw();
|
||||
trigger.target=player;
|
||||
trigger.targets.length=0;
|
||||
trigger.targets.push(player);
|
||||
trigger.getParent().targets.push(player);
|
||||
trigger.untrigger();
|
||||
trigger.trigger('useCardToBefore');
|
||||
trigger.trigger(trigger.card.name+'Before');
|
||||
trigger.player.line(player);
|
||||
}
|
||||
else{
|
||||
|
@ -7081,7 +7293,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
trigger.player.markSkill('zhenwei2');
|
||||
event.trigger("addCardToStorage");
|
||||
}
|
||||
trigger.cancel();
|
||||
trigger.getParent().excluded.add(trigger.target);
|
||||
trigger.player.addSkill('zhenwei2');
|
||||
}
|
||||
game.delay();
|
||||
|
@ -8927,8 +9139,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
fengpo:{
|
||||
audio:2,
|
||||
trigger:{player:['shaBegin','juedouBegin']},
|
||||
trigger:{
|
||||
player:'useCardToPlayered',
|
||||
},
|
||||
filter:function(event,player){
|
||||
if(!['sha','juedou'].contains(event.card.name)) return false;
|
||||
if(player.hasSkill('fengpo3')) return false;
|
||||
return player.isPhaseUsing()&&event.target&&event.targets&&event.targets.length==1;
|
||||
},
|
||||
|
@ -8945,10 +9160,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.draw(nd);
|
||||
}
|
||||
else{
|
||||
if(typeof trigger.extraDamage!='number'){
|
||||
trigger.extraDamage=0;
|
||||
var trigger2=trigger.getParent();
|
||||
if(typeof trigger2.extraDamage!='number'){
|
||||
trigger2.extraDamage=0;
|
||||
}
|
||||
trigger.extraDamage+=nd;
|
||||
trigger2.extraDamage+=nd;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -9320,17 +9536,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
danlao:{
|
||||
priority:9,
|
||||
audio:2,
|
||||
filter:function(event,player){
|
||||
return event.player!=player&&!event.excluded.contains(player)&&get.type(event.card)=='trick'&&event.targets&&event.targets.length>1&&event.targets.contains(player);
|
||||
return event.player!=player&&get.type(event.card)=='trick'&&event.targets&&event.targets.length>1;
|
||||
},
|
||||
check:function(event,player){
|
||||
return get.tag(event.card,'multineg')||get.effect(player,event.card,event.player,player)<=0;
|
||||
},
|
||||
trigger:{global:'useCard'},
|
||||
trigger:{target:'useCardToTargeted'},
|
||||
content:function(){
|
||||
trigger.excluded.add(player);
|
||||
trigger.getParent().excluded.add(player);
|
||||
player.draw();
|
||||
},
|
||||
ai:{
|
||||
|
@ -9934,14 +10149,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
kaikang:{
|
||||
audio:2,
|
||||
trigger:{global:'shaBegin'},
|
||||
trigger:{global:'useCardToTargeted'},
|
||||
filter:function(event,player){
|
||||
return get.distance(player,event.target)<=1;
|
||||
return event.card.name=='sha'&&get.distance(player,event.target)<=1;
|
||||
},
|
||||
check:function(event,player){
|
||||
return get.attitude(player,event.target)>=0;
|
||||
},
|
||||
priority:7,
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.draw();
|
||||
|
@ -10182,7 +10396,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
moukui:{
|
||||
trigger:{player:'shaBegin'},
|
||||
trigger:{player:'useCardToPlayered'},
|
||||
direct:true,
|
||||
audio:2,
|
||||
content:function(){
|
||||
|
@ -11852,7 +12066,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
logTarget:'source',
|
||||
prompt2:'每当你发动“龙胆”使用或打出一张手牌时,你可以立即获得对方的一张手牌。',
|
||||
content:function(){
|
||||
player.gainPlayerCard(trigger.target,'h',true);
|
||||
player.gainPlayerCard(trigger.source,'h',true);
|
||||
}
|
||||
},
|
||||
lihun:{
|
||||
|
@ -11987,7 +12201,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
tianming:{
|
||||
audio:2,
|
||||
trigger:{target:'shaBegin'},
|
||||
trigger:{target:'useCardToTargeted'},
|
||||
check:function(event,player){
|
||||
var cards=player.getCards('h');
|
||||
if(cards.length<=2){
|
||||
|
@ -11997,6 +12211,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
return true;
|
||||
},
|
||||
filter:function(event,player){
|
||||
return event.card.name=='sha';
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.chooseToDiscard(2,true,'he');
|
||||
|
@ -12432,7 +12649,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
jianggan:"蒋干",
|
||||
wenyang:'文鸯',
|
||||
diy_wenyang:'文鸯',
|
||||
guanlu:'管辂',
|
||||
gexuan:'葛玄',
|
||||
|
||||
tuiyan:'推演',
|
||||
tuiyan_info:'出牌阶段开始时,你可以观看牌堆顶的两张牌。',
|
||||
busuan:'卜算',
|
||||
busuan_info:'出牌阶段限一次,你可以选择一名其他角色,然后选择至多两张不同的卡牌名称(限基本牌或锦囊牌)。该角色下次摸牌阶段摸牌时,改为从牌堆或弃牌堆中获得你选择的牌。',
|
||||
busuan_angelbeats:'卜算',
|
||||
mingjie:'命戒',
|
||||
mingjie_info:'结束阶段,你可以摸一张牌,若此牌为红色,你可以重复此流程直到摸到黑色牌或摸到第三张牌。当你以此法摸到黑色牌时,你失去1点体力。',
|
||||
lianhua:'炼化',
|
||||
lianhua_info:'你的回合外,每当有其他角色受到伤害后,你获得一个“丹血”标记 (该角色与你阵营一致为红色,不一致为黑色,此颜色对玩家不可见)直到你的准备阶段开始。准备阶段,根据你获得的“丹血”标记的数量和颜色,你获得相应的游戏牌以及获得相应技能直到回合结束。3枚或以下:“英姿”和【桃】;超过3枚且红色“丹血”较多:“观星”和【无中生有】;超过3枚且黑色“丹血”较多:“直言”和【顺手牵羊】;超过3枚且红色和黑色一样多:【杀】、【决斗】和“攻心”。',
|
||||
zhafu:'札符',
|
||||
zhafu_info:' 限定技,出牌阶段,你可以选择一名其他角色。该角色的下一个弃牌阶段开始时,其选择保留一张手牌,然后将其余的手牌交给你。',
|
||||
xinlvli:'膂力',
|
||||
xinlvli_info:'每回合限一次,当你造成伤害后,你可选择:1,若你的体力值大于你的手牌数,你摸X张牌;2,若你的手牌数大于你的体力值且你已受伤,你回复X点体力(X为你的手牌数与体力值之差)。',
|
||||
lvli:'膂力',
|
||||
|
@ -12633,7 +12863,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
bingzheng:'秉正',
|
||||
bingzheng_info:'出牌阶段结束时,你可以令手牌数不等于体力值的一名角色弃置一张手牌或摸一张牌。然后若其手牌数等于体力值,你摸一张牌,且可以交给该角色一张牌',
|
||||
sheyan:'舍宴',
|
||||
sheyan_info:'当你成为一张普通锦囊牌的目标时(借刀杀人等带有指向目标的锦囊除外),你可以为此牌增加一个目标或减少一个目标(目标数至少为一)',
|
||||
sheyan_info:'当你成为一张普通锦囊牌的目标时(借刀杀人等带有指向目标的锦囊除外),你可以为此牌增加一个目标或令其对其中一个目标无效。(有效目标数至少为一)',
|
||||
fuman:'抚蛮',
|
||||
fuman2:'抚蛮',
|
||||
fuman_info:'出牌阶段,你可以将一张【杀】交给一名本回合未获得过“抚蛮”牌的其他角色,然后其于下个回合结束之前使用“抚蛮”牌时,你摸一张牌',
|
||||
|
|
|
@ -1426,10 +1426,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
tieji:{
|
||||
audio:2,
|
||||
trigger:{player:'shaBegin'},
|
||||
trigger:{player:'useCardToPlayered'},
|
||||
check:function(event,player){
|
||||
return get.attitude(player,event.target)<=0;
|
||||
},
|
||||
filter:function(event,player){
|
||||
return event.card.name=='sha';
|
||||
},
|
||||
logTarget:'target',
|
||||
content:function(){
|
||||
"step 0"
|
||||
|
@ -1444,7 +1447,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
});
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
trigger.directHit=true;
|
||||
trigger.getParent().directHit.add(trigger.target);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -1829,10 +1832,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
liuli:{
|
||||
audio:2,
|
||||
audioname:['re_daqiao','daxiaoqiao'],
|
||||
trigger:{target:'shaBefore'},
|
||||
trigger:{target:'useCardToTarget'},
|
||||
direct:true,
|
||||
priority:5,
|
||||
filter:function(event,player){
|
||||
if(event.card.name!='sha') return false;
|
||||
if(player.countCards('he')==0) return false;
|
||||
return game.hasPlayer(function(current){
|
||||
return get.distance(player,current,'attack')<=1&¤t!=event.player&&
|
||||
|
@ -1846,6 +1849,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filterCard:lib.filter.cardDiscardable,
|
||||
filterTarget:function(card,player,target){
|
||||
var trigger=_status.event.getTrigger();
|
||||
if(trigger.targets.contains(target)) return false;
|
||||
if(get.distance(player,target,'attack')<=1&&
|
||||
target!=trigger.player){
|
||||
if(player.canUse(trigger.card,target)) return true;
|
||||
|
@ -1875,24 +1879,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
});
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.discard(result.cards);
|
||||
var target=result.targets[0];
|
||||
player.logSkill(event.name,target);
|
||||
trigger.target=target;
|
||||
player.discard(result.cards);
|
||||
var evt=trigger.getParent();
|
||||
if(evt&&evt.targets&&evt.num){
|
||||
trigger.targets[evt.num]=target;
|
||||
evt.targets[evt.num]=target;
|
||||
evt.targets.remove(player);
|
||||
evt.targets.push(target);
|
||||
}
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
}
|
||||
"step 2"
|
||||
trigger.untrigger();
|
||||
trigger.trigger('useCardToBefore');
|
||||
trigger.trigger('shaBefore');
|
||||
game.delay();
|
||||
},
|
||||
ai:{
|
||||
effect:{
|
||||
|
|
|
@ -1036,10 +1036,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
usable:1,
|
||||
audio:2,
|
||||
trigger:{
|
||||
player:"useCard",
|
||||
player:"useCardToPlayered",
|
||||
},
|
||||
direct:true,
|
||||
filter:function (event,player){
|
||||
if(event.getParent().triggeredTargets3.length>1) return false;
|
||||
if(!player.isPhaseUsing()) return false;
|
||||
if(!['basic','trick'].contains(get.type(event.card))) return false;
|
||||
if(get.tag(event.card,'damage')) return true;
|
||||
|
@ -2253,11 +2254,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"xinfu_zhennan":{
|
||||
audio:2,
|
||||
trigger:{
|
||||
global:"useCard",
|
||||
target:"useCardToTargeted",
|
||||
},
|
||||
filter:function (event,player){
|
||||
if(event.card.name!='nanman') return false;
|
||||
return event.targets.contains(player);
|
||||
return event.card.name=='nanman';
|
||||
},
|
||||
direct:true,
|
||||
content:function (){
|
||||
|
@ -2861,11 +2861,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
audio:2,
|
||||
trigger:{
|
||||
player:"useCard",
|
||||
player:"useCardToPlayered",
|
||||
},
|
||||
frequent:true,
|
||||
filter:function (event,player){
|
||||
if(player!=_status.currentPhase) return false;
|
||||
if(event.getParent().triggeredTargets>1) return false;
|
||||
if(get.type(event.card)=='equip'&&get.subtype(event.card)!='equip1') return false;
|
||||
if(event.targets.contains(player)) return true;
|
||||
return false;
|
||||
|
@ -3778,11 +3779,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"xinfu_tushe":{
|
||||
audio:2,
|
||||
trigger:{
|
||||
player:"useCard",
|
||||
player:"useCardToPlayered",
|
||||
},
|
||||
frequent:true,
|
||||
filter:function (event,player){
|
||||
if(get.type(event.card)=='equip') return false;
|
||||
if(event.getParent().triggeredTargets>1) return false;
|
||||
return event.targets.length>0&&!player.countCards('h',{type:'basic',});
|
||||
},
|
||||
content:function (){
|
||||
|
|
|
@ -195,7 +195,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
xindanshou:{
|
||||
audio:'danshou',
|
||||
trigger:{
|
||||
global:['useCard','phaseEnd','phaseBefore']
|
||||
global:['phaseEnd','phaseBefore'],
|
||||
player:'useCardToTargeted',
|
||||
},
|
||||
forced:true,
|
||||
popup:false,
|
||||
|
@ -251,7 +252,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
group:['xinbenxi_summer','xinbenxi_damage'],
|
||||
audio:'benxi',
|
||||
trigger:{
|
||||
player:'useCard',
|
||||
player:'useCard2',
|
||||
},
|
||||
forced:true,
|
||||
mod:{
|
||||
|
@ -463,7 +464,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var pe=player.countCards('h');
|
||||
var te=target.countCards('h');
|
||||
if(s.contains('大于')&&pe>te) return false;
|
||||
if((s.contains('等于')||te==0)&&pe==te) return false;
|
||||
if((s.contains('等于')||target.countCards('he')==0)&&pe==te) return false;
|
||||
if(s.contains('小于')&&pe<te) return false;
|
||||
return true;
|
||||
}).ai=function(target){
|
||||
|
@ -654,16 +655,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audioname:['guansuo'],
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.loseHp();
|
||||
player.phaseUse().xindangxian=true;
|
||||
'step 1'
|
||||
var card=get.cardPile(function(card){
|
||||
return card.name=='sha';
|
||||
});
|
||||
if(card) player.gain(card,'gain2');
|
||||
'step 2'
|
||||
game.updateRoundNumber();
|
||||
player.phaseUse();
|
||||
'step 3'
|
||||
var stat=player.getStat();
|
||||
stat.card={};
|
||||
for(var i in stat.skill){
|
||||
|
@ -675,7 +668,40 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
if(bool) stat.skill[i]=0;
|
||||
}
|
||||
},
|
||||
group:'xindangxian_rewrite',
|
||||
subSkill:{
|
||||
rewrite:{
|
||||
trigger:{player:'phaseUseBegin'},
|
||||
forced:true,
|
||||
popup:false,
|
||||
filter:function(kagari){
|
||||
return kagari.xindangxian==true;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
if(player.storage.xinfuli){
|
||||
player.chooseBool('是否失去1点体力并获得一张【杀】?').ai=function(){
|
||||
return player.hp>2&&!player.hasSha();
|
||||
};
|
||||
}
|
||||
else event._result={bool:true};
|
||||
'step 1'
|
||||
if(!result.bool){
|
||||
event.finish();
|
||||
return;
|
||||
}
|
||||
player.loseHp();
|
||||
'step 2'
|
||||
var card=get.cardPile(function(card){
|
||||
return card.name=='sha';
|
||||
});
|
||||
if(card) player.gain(card,'gain2');
|
||||
'step 3'
|
||||
game.updateRoundNumber();
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
xinjunxing:{
|
||||
inherit:'junxing',
|
||||
|
@ -1109,6 +1135,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return _status.event.player.hasSkill('xincaishi_0')?[1,2]:[1,1];
|
||||
},
|
||||
check:function(){return 1},
|
||||
discard:false,
|
||||
lose:false,
|
||||
content:function(){
|
||||
'step 0'
|
||||
event.suits=[];
|
||||
|
@ -1773,12 +1801,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
subSkill:{
|
||||
use:{
|
||||
audio:"zhuandui",
|
||||
trigger:{player:'shaBegin'},
|
||||
trigger:{player:'useCardToPlayered'},
|
||||
check:function(event,player){
|
||||
return get.attitude(player,event.target)<0;
|
||||
},
|
||||
filter:function(event,player){
|
||||
return player.canCompare(event.target);
|
||||
return event.card.name=='sha'&&player.canCompare(event.target);
|
||||
},
|
||||
logTarget:'target',
|
||||
content:function(){
|
||||
|
@ -1786,18 +1814,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.chooseToCompare(trigger.target);
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
trigger.directHit=true;
|
||||
trigger.getParent().directHit.add(trigger.target);
|
||||
}
|
||||
}
|
||||
},
|
||||
respond:{
|
||||
audio:"zhuandui",
|
||||
trigger:{target:'shaBegin'},
|
||||
trigger:{target:'useCardToTargeted'},
|
||||
check:function(event,player){
|
||||
return get.effect(player,event.card,event.player,player)<0;
|
||||
},
|
||||
filter:function(event,player){
|
||||
return player.canCompare(event.player);
|
||||
return event.card.name=='sha'&&player.canCompare(event.player);
|
||||
},
|
||||
logTarget:'player',
|
||||
content:function(){
|
||||
|
@ -1805,7 +1833,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.chooseToCompare(trigger.player);
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
trigger.cancel();
|
||||
trigger.getParent().excluded.add(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1862,7 +1890,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
jianzheng:{
|
||||
audio:2,
|
||||
trigger:{global:'useCard'},
|
||||
trigger:{global:'useCardToPlayer'},
|
||||
filter:function(event,player){
|
||||
if(!player.countCards('h')) return false;
|
||||
return event.player!=player&&event.card.name=='sha'&&!event.targets.contains(player)&&
|
||||
|
@ -1905,8 +1933,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"step 1"
|
||||
if(result.bool&&result.cards){
|
||||
event.card=result.cards[0];
|
||||
trigger.targets.length=0;
|
||||
trigger.untrigger();
|
||||
trigger.getParent().targets=[];
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
|
@ -1928,13 +1955,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(event.card){
|
||||
event.card.fix();
|
||||
ui.cardPile.insertBefore(event.card,ui.cardPile.firstChild);
|
||||
game.updateRoundNumber();
|
||||
}
|
||||
"step 5"
|
||||
if(get.color(trigger.card)!='black'){
|
||||
trigger.targets.push(player);
|
||||
trigger.getParent().targets.push(player);
|
||||
trigger.player.line(player);
|
||||
game.delay();
|
||||
trigger.trigger('useCard');
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -2230,7 +2257,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
bizhuan:{
|
||||
audio:2,
|
||||
trigger:{player:'useCardAfter',target:'useCardToBegin'},
|
||||
trigger:{player:'useCardAfter',target:'useCardToTargeted'},
|
||||
filter:function(event,player){
|
||||
if(event.name!='useCard'&&event.player==event.target) return false;
|
||||
if(player.storage.bizhuan.length>=4) return false;
|
||||
|
@ -2934,7 +2961,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
red2:{},
|
||||
red:{
|
||||
trigger:{player:'useCard'},
|
||||
trigger:{player:'useCard2'},
|
||||
direct:true,
|
||||
mark:true,
|
||||
onremove:true,
|
||||
|
@ -5108,7 +5135,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
benxi:{
|
||||
audio:2,
|
||||
trigger:{player:'useCard'},
|
||||
trigger:{player:'useCard2'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return player.isPhaseUsing();
|
||||
|
@ -6262,8 +6289,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
zuoding:{
|
||||
trigger:{global:'useCard'},
|
||||
trigger:{global:'useCardToPlayered'},
|
||||
filter:function(event,player){
|
||||
if(event.getParent().triggeredTargets.length>1) return false;
|
||||
return !player.hasSkill('zuoding2')&&get.suit(event.card)=='spade'&&
|
||||
_status.currentPhase==event.player&&event.targets&&event.targets.length&&
|
||||
event.player!=player;
|
||||
|
@ -6836,20 +6864,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
xinpojun:{
|
||||
trigger:{player:'shaBegin'},
|
||||
trigger:{player:'useCardToPlayered'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return player.isPhaseUsing()&&event.target.hp>0&&event.target.countCards('he')>0;
|
||||
return event.card.name=='sha'&&player.isPhaseUsing()&&event.target.hp>0&&event.target.countCards('he')>0;
|
||||
},
|
||||
audio:2,
|
||||
logTarget:'target',
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.choosePlayerCard(trigger.target,'he',
|
||||
[1,Math.min(trigger.target.countCards('he'),trigger.target.hp)],get.prompt('pojun',trigger.target));
|
||||
[1,Math.min(trigger.target.countCards('he'),trigger.target.hp)],get.prompt('xinpojun',trigger.target));
|
||||
'step 1'
|
||||
if(result.bool&&result.links.length){
|
||||
player.logSkill('xinpojun');
|
||||
player.logSkill('xinpojun',trigger.target);
|
||||
if(trigger.target.storage.xinpojun2){
|
||||
trigger.target.storage.xinpojun2=trigger.target.storage.xinpojun2.concat(result.links);
|
||||
}
|
||||
|
@ -7472,7 +7499,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
qiaoshui3:{
|
||||
trigger:{player:'useCard'},
|
||||
trigger:{player:'useCard2'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
var type=get.type(event.card);
|
||||
|
@ -7831,7 +7858,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
chanhui:{
|
||||
audio:2,
|
||||
trigger:{player:'useCard'},
|
||||
trigger:{player:'useCardToPlayer'},
|
||||
filter:function(event,player){
|
||||
if(_status.currentPhase!=player) return false;
|
||||
if(player.hasSkill('chanhui2')) return false;
|
||||
|
@ -7873,13 +7900,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(result.bool){
|
||||
player.gain(result.cards,event.target,'giveAuto');
|
||||
trigger.untrigger();
|
||||
trigger.player=event.target;
|
||||
trigger.trigger('useCard');
|
||||
trigger.getParent().player=event.target;
|
||||
game.log(event.target,'成为了',trigger.card,'的使用者');
|
||||
}
|
||||
else{
|
||||
game.log(event.target,'成为了',trigger.card,'的额外目标');
|
||||
trigger.targets.push(event.target);
|
||||
trigger.getParent().targets.push(event.target);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -8207,13 +8233,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
qiuyuan:{
|
||||
audio:2,
|
||||
trigger:{target:'shaBefore'},
|
||||
trigger:{target:'useCardToTarget'},
|
||||
direct:true,
|
||||
priority:11,
|
||||
filter:function(event,player){
|
||||
return event.card.name=='sha';
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.chooseTarget(get.prompt2('qiuyuan'),function(card,player,target){
|
||||
return target!=player&&_status.event.getTrigger().player.canUse('sha',target,false);
|
||||
return target!=player&&!_status.event.getTrigger().targets.contains(target)&&_status.event.getTrigger().player.canUse('sha',target,false);
|
||||
}).set('ai',function(target){
|
||||
var trigger=_status.event.getTrigger();
|
||||
var player=_status.event.player;
|
||||
|
@ -8239,7 +8267,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
game.delay();
|
||||
}
|
||||
else{
|
||||
trigger.targets.push(event.target);
|
||||
trigger.getParent().targets.push(event.target);
|
||||
game.log(event.target,'成为了额外目标');
|
||||
}
|
||||
},
|
||||
|
@ -8762,7 +8790,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zhenlie:{
|
||||
audio:2,
|
||||
filter:function(event,player){
|
||||
return event.player!=player&&event.targets&&event.targets.contains(player)&&(!event.excluded||!event.excluded.contains(player))&&event.card&&(event.card.name=='sha'||get.type(event.card)=='trick');
|
||||
return event.player!=player&&event.card&&(event.card.name=='sha'||get.type(event.card)=='trick');
|
||||
},
|
||||
logTarget:'player',
|
||||
check:function(event,player){
|
||||
|
@ -8787,13 +8815,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
return false;
|
||||
},
|
||||
priority:10,
|
||||
trigger:{global:'useCard'},
|
||||
trigger:{target:'useCardToTargeted'},
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.loseHp();
|
||||
"step 1"
|
||||
trigger.excluded.add(player);
|
||||
trigger.getParent().excluded.add(player);
|
||||
"step 2"
|
||||
if(trigger.player.countCards('he')){
|
||||
player.discardPlayerCard(trigger.player,'he',true);
|
||||
|
@ -9017,13 +9044,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
check:function(){return false;},
|
||||
content:function(){
|
||||
trigger.cancel();
|
||||
var ex=0;
|
||||
if(trigger.card&&trigger.card.name=='sha'){
|
||||
if(player.hasSkill('jiu')) ex++;
|
||||
if(player.hasSkill('luoyi2')) ex++;
|
||||
if(player.hasSkill('reluoyi2')) ex++;
|
||||
}
|
||||
trigger.player.loseHp(trigger.num+ex);
|
||||
trigger.player.loseHp(trigger.num);
|
||||
},
|
||||
ai:{
|
||||
jueqing:true
|
||||
|
@ -10804,7 +10825,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
kuangbi:'匡弼',
|
||||
kuangbi_info:'出牌阶段限一次,你可以选择一名有牌的其他角色,该角色将其一至三张牌置于你的武将牌上。若如此做,你的下准备阶段,你获得武将牌上的所有牌,然后其摸等量的牌',
|
||||
xinzhige:'止戈',
|
||||
xinzhige_info:'出牌阶段限一次,你可以令一名其他角色交给你一张【杀】或武器牌,否则其视为对你指定的另一名其攻击范围内的角色使用了一张【杀】。',
|
||||
xinzhige_info:'出牌阶段限一次,你可以令一名攻击范围内含有你的其他角色交给你一张【杀】或武器牌,否则其视为对你指定的另一名其攻击范围内的角色使用了一张【杀】。',
|
||||
zhige:'止戈',
|
||||
zhige_info:'出牌阶段限一次,若你的手牌数大于你的体力值,你可以选择攻击范围内含有你的一名其他角色,除非该角色使用一张【杀】,否则其将其装备区里的一张牌交给你',
|
||||
xinzongzuo:'宗祚',
|
||||
|
@ -10854,7 +10875,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dangxian:'当先',
|
||||
dangxian_info:'锁定技,准备阶段,你执行一个额外的出牌阶段',
|
||||
xindangxian:'当先',
|
||||
xindangxian_info:'锁定技,准备阶段,你失去1点体力并从牌堆/弃牌堆中获得一张【杀】,然后执行一个额外的出牌阶段',
|
||||
xindangxian_info:'锁定技,准备阶段,你执行一个额外的出牌阶段。此阶段开始时,你失去1点体力并从牌堆/弃牌堆中获得一张【杀】(若你已发动过【伏枥】,则可以不发动此效果)。',
|
||||
longyin:'龙吟',
|
||||
longyin_info:'每当一名角色在其出牌阶段使用【杀】时,你可弃置一张牌令此【杀】不计入出牌阶段使用次数,若此【杀】为红色,你摸一张牌',
|
||||
zhongyong:'忠勇',
|
||||
|
|
|
@ -2279,6 +2279,16 @@ window.noname_asset_list=[
|
|||
'image/character/ol_yujin.jpg',
|
||||
'image/character/ol_zhangrang.jpg',
|
||||
'image/character/ol_zhuran.jpg',
|
||||
'image/character/ol_liuyu.jpg','
|
||||
'image/character/ol_wuyi.jpg',
|
||||
'image/character/guanlu.jpg',
|
||||
'image/character/gexuan.jpg',
|
||||
'image/character/re_huangzhong.jpg',
|
||||
'image/character/re_pangde.jpg',
|
||||
'image/character/re_weiyan.jpg',
|
||||
'image/character/re_xiahouyuan.jpg',
|
||||
'image/character/re_xiaoqiao.jpg',
|
||||
'image/character/re_xuhuang.jpg',
|
||||
|
||||
'image/character/baiwuchang.jpg',
|
||||
'image/character/baosanniang.jpg',
|
||||
|
|
106
game/game.js
|
@ -9497,6 +9497,9 @@
|
|||
},
|
||||
element:{
|
||||
content:{
|
||||
emptyEvent:function(){
|
||||
event.trigger(event.name);
|
||||
},
|
||||
chooseUseTarget:function(){
|
||||
'step 0'
|
||||
if(cards&&get.itemtype(card)!='card'){
|
||||
|
@ -13243,6 +13246,11 @@
|
|||
event.oncard(event.card,event.player);
|
||||
}
|
||||
event.excluded=[];
|
||||
event.directHit=[];
|
||||
event.trigger('useCard1');
|
||||
"step 1"
|
||||
event.trigger('useCard2');
|
||||
"step 2"
|
||||
event.trigger('useCard');
|
||||
event._oncancel=function(){
|
||||
game.broadcastAll(function(id){
|
||||
|
@ -13310,7 +13318,7 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
"step 1"
|
||||
"step 3"
|
||||
var info=get.info(card);
|
||||
if(info.contentBefore){
|
||||
var next=game.createEvent(card.name+'ContentBefore');
|
||||
|
@ -13332,23 +13340,97 @@
|
|||
next.type='precard';
|
||||
if(event.forceDie) next.forceDie=true;
|
||||
}
|
||||
"step 2"
|
||||
"step 4"
|
||||
event.sortTarget=function(animate){
|
||||
var info=get.info(card);
|
||||
if(num==0&&targets.length>1){
|
||||
if(!info.multitarget){
|
||||
if(!event.fixedSeat){
|
||||
targets.sortBySeat(player);
|
||||
}
|
||||
for(var i=0;i<targets.length;i++){
|
||||
if(animate) for(var i=0;i<targets.length;i++){
|
||||
targets[i].animate('target');
|
||||
}
|
||||
}
|
||||
else{
|
||||
else if(animate){
|
||||
for(var i=0;i<targets.length;i++){
|
||||
targets[i].animate('target');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
event.sortTarget();
|
||||
event.getTriggerTarget=function(list1,list2){
|
||||
for(var i=0;i<list1.length;i++){
|
||||
if(!list2.contains(list1[i])) return list1[i];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
"step 5"
|
||||
if(!event.triggeredTargets1) event.triggeredTargets1=[];
|
||||
var target=event.getTriggerTarget(targets,event.triggeredTargets1);
|
||||
if(target){
|
||||
event.triggeredTargets1.push(target);
|
||||
var next=game.createEvent('useCardToPlayer',false);
|
||||
next.setContent('emptyEvent');
|
||||
next.targets=targets;
|
||||
next.target=target;
|
||||
next.card=card;
|
||||
next.cards=cards;
|
||||
next.player=player;
|
||||
if(event.forceDie) next.forceDie=true;
|
||||
event.redo();
|
||||
}
|
||||
"step 6"
|
||||
if(!event.triggeredTargets2) event.triggeredTargets2=[];
|
||||
var target=event.getTriggerTarget(targets,event.triggeredTargets2);
|
||||
if(target){
|
||||
event.triggeredTargets2.push(target);
|
||||
var next=game.createEvent('useCardToTarget',false);
|
||||
next.setContent('emptyEvent');
|
||||
next.targets=targets;
|
||||
next.target=target;
|
||||
next.card=card;
|
||||
next.cards=cards;
|
||||
next.player=player;
|
||||
if(event.forceDie) next.forceDie=true;
|
||||
event.redo();
|
||||
}
|
||||
"step 7"
|
||||
if(!event.triggeredTargets3) event.triggeredTargets3=[];
|
||||
var target=event.getTriggerTarget(targets,event.triggeredTargets3);
|
||||
if(target){
|
||||
event.triggeredTargets3.push(target);
|
||||
var next=game.createEvent('useCardToPlayered',false);
|
||||
next.setContent('emptyEvent');
|
||||
next.targets=targets;
|
||||
next.target=target;
|
||||
next.card=card;
|
||||
next.cards=cards;
|
||||
next.player=player;
|
||||
if(event.forceDie) next.forceDie=true;
|
||||
event.redo();
|
||||
}
|
||||
"step 8"
|
||||
if(!event.triggeredTargets4) event.triggeredTargets4=[];
|
||||
var target=event.getTriggerTarget(targets,event.triggeredTargets4);
|
||||
if(target){
|
||||
event.triggeredTargets4.push(target);
|
||||
var next=game.createEvent('useCardToTargeted',false);
|
||||
next.setContent('emptyEvent');
|
||||
next.targets=targets;
|
||||
next.target=target;
|
||||
next.card=card;
|
||||
next.cards=cards;
|
||||
next.player=player;
|
||||
if(event.forceDie) next.forceDie=true;
|
||||
event.redo();
|
||||
}
|
||||
"step 9"
|
||||
if(num==0&&targets.length>1){
|
||||
event.sortTarget(true);
|
||||
}
|
||||
var info=get.info(card);
|
||||
if(targets[num]&&targets[num].isDead()) return;
|
||||
if(targets[num]&&targets[num].isOut()) return;
|
||||
if(targets[num]&&targets[num].removed) return;
|
||||
|
@ -13376,6 +13458,7 @@
|
|||
event.targetDelay=false;
|
||||
}
|
||||
next.target=targets[num];
|
||||
if(next.target&&event.directHit.contains(next.target)) next.directHit=true;
|
||||
if(next.target&&!info.multitarget){
|
||||
if(num==0&&targets.length>1){
|
||||
// var ttt=next.target;
|
||||
|
@ -13401,12 +13484,12 @@
|
|||
game.delayx(0.5);
|
||||
}
|
||||
}
|
||||
"step 3"
|
||||
"step 10"
|
||||
if(!get.info(event.card).multitarget&&num<targets.length-1&&!event.cancelled){
|
||||
event.num++;
|
||||
event.goto(2);
|
||||
event.goto(9);
|
||||
}
|
||||
"step 4"
|
||||
"step 11"
|
||||
if(get.info(card).contentAfter){
|
||||
var next=game.createEvent(card.name+'ContentAfter');
|
||||
next.setContent(get.info(card).contentAfter);
|
||||
|
@ -13418,7 +13501,7 @@
|
|||
next.type='postcard';
|
||||
if(event.forceDie) next.forceDie=true;
|
||||
}
|
||||
"step 5"
|
||||
"step 12"
|
||||
if(event.postAi){
|
||||
event.player.logAi(event.targets,event.card);
|
||||
}
|
||||
|
@ -13432,7 +13515,7 @@
|
|||
else{
|
||||
event.finish();
|
||||
}
|
||||
"step 6"
|
||||
"step 13"
|
||||
event._oncancel();
|
||||
},
|
||||
useSkill:function(){
|
||||
|
@ -15554,7 +15637,8 @@
|
|||
setTimeout(function(){
|
||||
dialog.delete();
|
||||
},2000);
|
||||
var info=[get.translation(this.name)||this.nickname,str];
|
||||
var name=get.translation(this.name);
|
||||
var info=[name?(name+'['+this.nickname+']'):this.nickname,str];
|
||||
lib.chatHistory.push(info);
|
||||
if(_status.addChatEntry){
|
||||
if(_status.addChatEntry._origin.parentNode){
|
||||
|
@ -22468,7 +22552,7 @@
|
|||
if(!lib.hookmap[name]&&!lib.config.compatiblemode) return;
|
||||
if(!game.players||!game.players.length) return;
|
||||
var event=this;
|
||||
var start=event.player||game.me||game.players[0];
|
||||
var start=event.source||event.player||game.me||game.players[0];
|
||||
if(!game.players.contains(start)){
|
||||
start=game.findNext(start);
|
||||
}
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
window.noname_update={
|
||||
version:'1.9.94',
|
||||
update:'1.9.93.3.2',
|
||||
version:'1.9.94.1',
|
||||
update:'1.9.94',
|
||||
changeLog:[
|
||||
'管辂,葛玄',
|
||||
'BUG修复',
|
||||
],
|
||||
files:[
|
||||
|
@ -10,7 +11,7 @@ window.noname_update={
|
|||
'card/standard.js',
|
||||
//'card/swd.js',
|
||||
'card/guozhan.js',
|
||||
'character/diy.js',
|
||||
//'character/diy.js',
|
||||
'character/extra.js',
|
||||
'character/mobile.js',
|
||||
'character/old.js',
|
||||
|
@ -18,7 +19,7 @@ window.noname_update={
|
|||
'character/shenhua.js',
|
||||
'character/sp.js',
|
||||
//'character/tw.js',
|
||||
//'character/standard.js',
|
||||
'character/standard.js',
|
||||
'character/xinghuoliaoyuan.js',
|
||||
'character/yijiang.js',
|
||||
//'mode/doudizhu.js',
|
||||
|
|
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 82 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 64 KiB |
After Width: | Height: | Size: 64 KiB |
After Width: | Height: | Size: 112 KiB |
After Width: | Height: | Size: 53 KiB |
|
@ -2057,10 +2057,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
audio:"kongcheng",
|
||||
trigger:{
|
||||
target:"useCardToBefore",
|
||||
target:"useCardToTarget",
|
||||
},
|
||||
forced:true,
|
||||
priority:15,
|
||||
check:function (event,player){
|
||||
return get.effect(event.target,event.card,event.player,player)<0;
|
||||
},
|
||||
|
@ -2068,7 +2067,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
return player.countCards('h')==0&&(event.card.name=='sha'||event.card.name=='juedou');
|
||||
},
|
||||
content:function (){
|
||||
trigger.cancel();
|
||||
trigger.getParent().targets.remove(player);
|
||||
},
|
||||
ai:{
|
||||
effect:{
|
||||
|
@ -2788,11 +2787,14 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
"new_tieji":{
|
||||
audio:"retieji",
|
||||
trigger:{
|
||||
player:"shaBegin",
|
||||
player:"useCardToPlayered",
|
||||
},
|
||||
check:function (event,player){
|
||||
return get.attitude(player,event.target)<0;
|
||||
},
|
||||
filter:function(event){
|
||||
return event.card.name=='sha';
|
||||
},
|
||||
logTarget:"target",
|
||||
content:function (){
|
||||
"step 0"
|
||||
|
@ -2845,7 +2847,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}).set('num',num).set('suit',suit);
|
||||
"step 4"
|
||||
if(!result.bool){
|
||||
trigger.directHit=true;
|
||||
trigger.getParent().directHit.add(trigger.target);
|
||||
}
|
||||
},
|
||||
},
|
||||
|
@ -3414,7 +3416,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
use:{
|
||||
trigger:{global:'useCardToBefore'},
|
||||
trigger:{global:'useCardToTarget'},
|
||||
filter:function(event,player){
|
||||
if(!['basic','trick'].contains(get.type(event.card,'trick'))) return false;
|
||||
return event.target&&player.sameIdentityAs(event.target)&&event.targets.length==1&&player.storage.qianhuan.length;
|
||||
|
@ -3464,7 +3466,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
game.cardsDiscard(card);
|
||||
player.$throw(card);
|
||||
player.logSkill('qianhuan',trigger.player);
|
||||
trigger.cancel();
|
||||
trigger.getParent().targets.remove(trigger.target);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -5130,9 +5132,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
yicheng:{
|
||||
trigger:{global:'shaBegin'},
|
||||
trigger:{global:'useCardToTargeted'},
|
||||
filter:function(event,player){
|
||||
return event.target.isFriendOf(player);
|
||||
return event.card.name=='sha'&&event.target.isFriendOf(player);
|
||||
},
|
||||
logTarget:'target',
|
||||
content:function(){
|
||||
|
@ -5356,9 +5358,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
fengshi_sha:{
|
||||
audio:'fengshi',
|
||||
trigger:{player:'shaBegin'},
|
||||
trigger:{player:'useCardToPlayered'},
|
||||
filter:function(event,player){
|
||||
if(game.countPlayer()<4) return false;
|
||||
if(event.card.name!='sha'&&game.countPlayer()<4) return false;
|
||||
return player.siege(event.target)&&game.hasPlayer(function(current){
|
||||
return current.hasSkill('fengshi')&¤t.siege(event.target);
|
||||
})&&event.target.countCards('e');
|
||||
|
@ -5685,7 +5687,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
gzweimu:{
|
||||
audio:'weimu',
|
||||
trigger:{target:'useCardToBefore',player:'addJudgeBefore'},
|
||||
trigger:{target:'useCardToTarget',player:'addJudgeBefore'},
|
||||
forced:true,
|
||||
priority:15,
|
||||
check:function(event,player){
|
||||
|
@ -5695,12 +5697,13 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
return get.type(event.card,'trick')=='trick'&&get.color(event.card)=='black';
|
||||
},
|
||||
content:function(){
|
||||
trigger.cancel();
|
||||
if(trigger.name=='addJudge'){
|
||||
trigger.cancel();
|
||||
for(var i=0;i<trigger.cards.length;i++){
|
||||
trigger.cards[i].discard();
|
||||
}
|
||||
}
|
||||
else trigger.getParent().targets.remove(player);
|
||||
},
|
||||
ai:{
|
||||
effect:{
|
||||
|
@ -5712,7 +5715,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
gzqianxun:{
|
||||
audio:'reqianxun',
|
||||
trigger:{target:'useCardToBefore',player:'addJudgeBefore'},
|
||||
trigger:{target:'useCardToTarget',player:'addJudgeBefore'},
|
||||
forced:true,
|
||||
priority:15,
|
||||
check:function(event,player){
|
||||
|
@ -5722,12 +5725,13 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
return event.card.name=='shunshou'||event.card.name=='lebu';
|
||||
},
|
||||
content:function(){
|
||||
trigger.cancel();
|
||||
if(trigger.name=='addJudge'){
|
||||
trigger.cancel();
|
||||
for(var i=0;i<trigger.cards.length;i++){
|
||||
trigger.cards[i].discard();
|
||||
}
|
||||
}
|
||||
else trigger.getParent().targets.remove(player);
|
||||
},
|
||||
ai:{
|
||||
effect:{
|
||||
|
@ -5739,7 +5743,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
gzkongcheng:{
|
||||
audio:'kongcheng',
|
||||
trigger:{target:'useCardToBefore'},
|
||||
trigger:{target:'useCardToTarget'},
|
||||
forced:true,
|
||||
priority:15,
|
||||
check:function(event,player){
|
||||
|
@ -5749,7 +5753,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
return player.countCards('h')==0&&(event.card.name=='sha'||event.card.name=='juedou');
|
||||
},
|
||||
content:function(){
|
||||
trigger.cancel();
|
||||
trigger.getParent().targets.remove(player);
|
||||
},
|
||||
ai:{
|
||||
effect:{
|
||||
|
@ -7344,8 +7348,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
duoshi_info:'出牌阶段限四次,你可以将一张红色手牌当【以逸待劳】使用。',
|
||||
gzxiaoguo:'骁果',
|
||||
gzxiaoguo_info:'其他角色的结束阶段开始时,你可以弃置一张基本牌,令该角色选择一项:1.弃置一张装备牌;2.受到你对其造成的1点伤害。',
|
||||
gzduanliang:'断粮',
|
||||
gzduanliang_info:'你可以将一张黑色基本牌或黑色装备牌当【兵粮寸断】使用;你可以对距离为2的角色使用【兵粮寸断】',
|
||||
|
||||
guozhan_default:"国战标准",
|
||||
guozhan_zhen:"君临天下•阵",
|
||||
|
@ -7445,6 +7447,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
['heart',1,'wanjian'],
|
||||
['heart',2,'shan'],
|
||||
['heart',2,'huogong','fire'],
|
||||
['heart',3,'wugu'],
|
||||
['heart',3,'taipingyaoshu'],
|
||||
['heart',3,'huogong','fire'],
|
||||
['heart',4,'tao'],
|
||||
|
|