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