commit
0e563aab9f
|
@ -29,7 +29,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
ddd_liangxi:['male','wei',3,['dddtongyu']],
|
ddd_liangxi:['male','wei',3,['dddtongyu']],
|
||||||
ddd_wangkanglvkai:['male','shu',4,['dddbingjian']],
|
ddd_wangkanglvkai:['male','shu',4,['dddbingjian']],
|
||||||
ddd_sunliang:['male','wu',3,['ddddiedang','dddanliu','dddguiying'],['zhu']],
|
ddd_sunliang:['male','wu',3,['ddddiedang','dddanliu','dddguiying'],['zhu']],
|
||||||
ddd_lie:['male','wu',3,['dddyeshen','dddqiaoduan']],
|
ddd_lie:['female','wu',3,['dddyeshen','dddqiaoduan']],
|
||||||
},
|
},
|
||||||
characterFilter:{},
|
characterFilter:{},
|
||||||
characterSort:{},
|
characterSort:{},
|
||||||
|
|
|
@ -8235,6 +8235,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return max2;
|
return max2;
|
||||||
},
|
},
|
||||||
audio:2,
|
audio:2,
|
||||||
|
init:function(player){
|
||||||
|
game.addGlobalSkill('fengxiang_use');
|
||||||
|
},
|
||||||
|
onremove:function(player){
|
||||||
|
game.removeGlobalSkill('fengxiang_use');
|
||||||
|
},
|
||||||
trigger:{player:'damageEnd'},
|
trigger:{player:'damageEnd'},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
|
@ -8265,6 +8271,26 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.draw();
|
player.draw();
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
use:{
|
||||||
|
mod:{
|
||||||
|
aiOrder:function(player,card,num){
|
||||||
|
if(num>0&&get.itemtype(card)==='card'&&card.hasGaintag('fengxiang_tag')&&game.hasPlayer(current=>{
|
||||||
|
return current.hasSkill('fengxiang')&&get.attitude(player,current)>0;
|
||||||
|
})) return num+10;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
trigger:{player:'dieAfter'},
|
||||||
|
filter:function(event,player){
|
||||||
|
for(let i of game.players){
|
||||||
|
if(i.hasSkill('fengxiang')) return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
silent:true,
|
||||||
|
content:function(){
|
||||||
|
game.removeGlobalSkill('fengxiang_use');
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
//阚泽
|
//阚泽
|
||||||
|
|
|
@ -8055,7 +8055,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},targets[0],targets[1])
|
},targets[0],targets[1])
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
order:1,
|
order:function(){
|
||||||
|
return get.order({name:'tao'})+1;
|
||||||
|
},
|
||||||
result:{
|
result:{
|
||||||
target:function(player,target){
|
target:function(player,target){
|
||||||
if(player.hasUnknown()&&target!=player.next&&target!=player.previous) return 0;
|
if(player.hasUnknown()&&target!=player.next&&target!=player.previous) return 0;
|
||||||
|
|
|
@ -847,7 +847,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
order:7,
|
order:7,
|
||||||
result:{
|
result:{
|
||||||
player:function(player,target){
|
player:function(player,target){
|
||||||
if(!player.hasSkill('sbbiyue') return 0;
|
if(!player.hasSkill('sbbiyue')) return 0;
|
||||||
let targets=_status.event.getTempCache('sblijian','targets');
|
let targets=_status.event.getTempCache('sblijian','targets');
|
||||||
if(Array.isArray(targets)) for(let i=0;i<targets.length;i++){
|
if(Array.isArray(targets)) for(let i=0;i<targets.length;i++){
|
||||||
if(target===targets[i][0]&&targets[i][2]===0) return 1;
|
if(target===targets[i][0]&&targets[i][2]===0) return 1;
|
||||||
|
|
|
@ -958,6 +958,31 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
content:function(){
|
content:function(){
|
||||||
trigger.getParent().excluded.add(player);
|
trigger.getParent().excluded.add(player);
|
||||||
},
|
},
|
||||||
|
ai:{
|
||||||
|
effect:{
|
||||||
|
target:function(card,player,target){
|
||||||
|
let hs=player.getCards('h',i=>i!==card&&(!card.cards||!card.cards.contains(i))),num=player.getCardUsable('sha');
|
||||||
|
if(card.name!=='sha'&&card.name!=='juedou'||hs.length<target.countCards('h')) return 1;
|
||||||
|
if(game.hasPlayer2(function(current){
|
||||||
|
return current.getHistory('useCard',function(evt){
|
||||||
|
return evt.card&&['sha','juedou'].includes(evt.card.name)&&evt.targets.includes(player);
|
||||||
|
}).length>0;
|
||||||
|
})) return 1;
|
||||||
|
if(card.name==='sha') num--;
|
||||||
|
hs=hs.filter(i=>{
|
||||||
|
if(i.name==='juedou') return true;
|
||||||
|
if(num&&i.name==='sha'){
|
||||||
|
num--;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
if(!hs.length) return 'zeroplayertarget';
|
||||||
|
num=1-2/3/hs.length;
|
||||||
|
return [num,0,num,0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"drlt_qianjie":{
|
"drlt_qianjie":{
|
||||||
group:["drlt_qianjie_1","drlt_qianjie_2","drlt_qianjie_3"],
|
group:["drlt_qianjie_1","drlt_qianjie_2","drlt_qianjie_3"],
|
||||||
|
|
|
@ -1399,7 +1399,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
order:9,
|
order:9,
|
||||||
result:{player:1},
|
result:{player:1},
|
||||||
},
|
},
|
||||||
group:'shanxie_exclude',
|
group:['shanxie_exclude','shanxie_shan'],
|
||||||
subSkill:{
|
subSkill:{
|
||||||
exclude:{
|
exclude:{
|
||||||
trigger:{global:'useCard'},
|
trigger:{global:'useCard'},
|
||||||
|
@ -1414,6 +1414,48 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
content:function(){
|
content:function(){
|
||||||
trigger.all_excluded=true;
|
trigger.all_excluded=true;
|
||||||
},
|
},
|
||||||
|
sub:true
|
||||||
|
},
|
||||||
|
shan:{
|
||||||
|
trigger:{player:'useCardToPlayered'},
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.target.isAlive()&&event.card.name=='sha';
|
||||||
|
},
|
||||||
|
silent:true,
|
||||||
|
content:function(){
|
||||||
|
trigger.target.addTempSkill('shanxie_banned');
|
||||||
|
trigger.target.storage.shanxie_banned={
|
||||||
|
card:trigger.card,
|
||||||
|
num:player.getAttackRange()*2
|
||||||
|
};
|
||||||
|
},
|
||||||
|
sub:true
|
||||||
|
},
|
||||||
|
banned:{
|
||||||
|
init:function(player){
|
||||||
|
player.storage.shanxie_banned={};
|
||||||
|
},
|
||||||
|
onremove:function(player){
|
||||||
|
delete player.storage.shanxie_banned;
|
||||||
|
},
|
||||||
|
trigger:{global:'useCardEnd'},
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.card==player.storage.shanxie_banned.card;
|
||||||
|
},
|
||||||
|
silent:true,
|
||||||
|
content:function(){
|
||||||
|
player.removeSkill('shanxie_banned');
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
effect:{
|
||||||
|
player:function(card,player,target){
|
||||||
|
if(get.name(card)=='shan'){
|
||||||
|
let num=get.number(card);
|
||||||
|
if(!num||num<=player.storage.shanxie_banned.num) return 'zeroplayertarget';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -5808,6 +5850,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
spshanxi:{
|
spshanxi:{
|
||||||
audio:2,
|
audio:2,
|
||||||
|
init:function(player){
|
||||||
|
game.addGlobalSkill('spshanxi_bj');
|
||||||
|
},
|
||||||
|
onremove:function(player){
|
||||||
|
game.removeGlobalSkill('spshanxi_bj');
|
||||||
|
},
|
||||||
trigger:{player:'phaseUseBegin'},
|
trigger:{player:'phaseUseBegin'},
|
||||||
direct:true,
|
direct:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
|
@ -5867,6 +5915,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
else trigger.player.give(result.cards,player);
|
else trigger.player.give(result.cards,player);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
spshanxi_bj:{
|
||||||
|
trigger:{player:'dieAfter'},
|
||||||
|
filter:function(event,player){
|
||||||
|
return !game.hasPlayer(current=>current.hasSkill('spshanxi_suoming'));
|
||||||
|
},
|
||||||
|
silent:true,
|
||||||
|
charlotte:true,
|
||||||
|
content:function(){
|
||||||
|
game.removeGlobalSkill('spshanxi_bj');
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
effect:{
|
||||||
|
target:function(card,player,target){
|
||||||
|
let suoming=game.findPlayer(current=>current.hasSkill('spshanxi_suoming'));
|
||||||
|
if(suoming&&_status.event&&target===_status.event.dying&&target.hasMark('spshanxi')){
|
||||||
|
if(target.countCards('he')<2) return 'zerotarget';
|
||||||
|
return [1,get.attitude(target,suoming)>0?0:-1.2];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
shameng:{
|
shameng:{
|
||||||
audio:2,
|
audio:2,
|
||||||
enable:'phaseUse',
|
enable:'phaseUse',
|
||||||
|
|
|
@ -10084,6 +10084,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
prompt2:'令其交给你一张手牌,并根据类型获得对应的标记',
|
prompt2:'令其交给你一张手牌,并根据类型获得对应的标记',
|
||||||
|
check:function(event,player){
|
||||||
|
return get.attitude(_status.event.player,event.player)>0;
|
||||||
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
event.target=trigger.player;
|
event.target=trigger.player;
|
||||||
|
|
|
@ -3394,12 +3394,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
var next=player.chooseToDiscard('he',get.prompt('chaofeng',trigger.player),str);
|
var next=player.chooseToDiscard('he',get.prompt('chaofeng',trigger.player),str);
|
||||||
next.set('ai',function(card){
|
next.set('ai',function(card){
|
||||||
var player=_status.event.player,suit=_status.event.color,number=_status.event.type,att=_status.event.att;
|
var player=_status.event.player,att=_status.event.att;
|
||||||
var val=4-get.value(card);
|
var val=4.2-get.value(card);
|
||||||
if(get.color(card)==suit) val+=3;
|
if(get.color(card)==_status.event.color) val+=3;
|
||||||
if(get.type2(card)==number){
|
if(get.type2(card)==_status.event.type){
|
||||||
if(att<=0) val+=4;
|
if(att<0) val+=4;
|
||||||
else val-=3;
|
else if(att===0) val+=2;
|
||||||
|
else val=0;
|
||||||
}
|
}
|
||||||
return val;
|
return val;
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue