v1.9.90.4
This commit is contained in:
parent
470293a002
commit
5b85397f4b
|
@ -290,18 +290,48 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
},targets);
|
||||
}
|
||||
},
|
||||
contentBefore:function(){
|
||||
var evt=event.getParent();
|
||||
if(evt&&evt.targets&&evt.targets.contains(player)){
|
||||
evt.fixedSeat=true;
|
||||
evt.targets.remove(player);
|
||||
evt.targets.push(player);
|
||||
}
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
if(target==player){
|
||||
var num=targets.length-1;
|
||||
target.chooseDrawRecover(num,num,true);
|
||||
event.finish();
|
||||
var num=targets.length-1;
|
||||
event.num=num;
|
||||
var damaged=target.maxHp-target.hp;
|
||||
if(damaged==0){
|
||||
target.draw(num);
|
||||
event.finish();
|
||||
}
|
||||
else{
|
||||
var list=[];
|
||||
for(var i=0;i<=Math.min(num,damaged);i++){
|
||||
list.push('摸'+i+'回'+(num-i));
|
||||
}
|
||||
target.chooseControl(list).set('prompt','请分配自己的摸牌数和回复量').ai=function(){
|
||||
if(player.hasSkill('diaohulishan')) return 0;
|
||||
if(_status._aozhan) return list.length-1;
|
||||
return list.randomGet();
|
||||
};
|
||||
}
|
||||
}
|
||||
else{
|
||||
target.draw();
|
||||
}
|
||||
'step 1'
|
||||
target.link(false);
|
||||
if(target!=player) target.link(false);
|
||||
else if(typeof result.control=='string'){
|
||||
var index=result.control.indexOf('回');
|
||||
var draw=parseInt(result.control.slice(1,index));
|
||||
var recover=parseInt(result.control.slice(index+1));
|
||||
if(draw) target.draw(draw);
|
||||
if(recover) target.recover(recover);
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
order:3,
|
||||
|
|
|
@ -1205,7 +1205,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(player.storage.reluoshen&&player.storage.reluoshen.contains(card)){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
},
|
||||
cardDiscardable:function(card,player,name){
|
||||
if(name=='phaseDiscard'&&player.storage.reluoshen&&player.storage.reluoshen.contains(card)){
|
||||
return true;
|
||||
}
|
||||
},
|
||||
},
|
||||
group:'reluoshen_clear',
|
||||
subSkill:{
|
||||
|
@ -2845,7 +2850,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"step 0"
|
||||
player.chooseTarget(get.prompt('fenwei'),
|
||||
[1,trigger.targets.length],function(card,player,target){
|
||||
return _status.event.getTrigger().targets.contains(target);
|
||||
var evt=_status.event.getTrigger();
|
||||
return evt.targets.contains(target)&&!evt.excluded.contains(target);
|
||||
}).set('ai',function(target){
|
||||
var trigger=_status.event.getTrigger();
|
||||
if(game.phaseNumber>game.players.length*2&&trigger.targets.length>=game.players.length-1){
|
||||
|
@ -2858,9 +2864,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.awakenSkill('fenwei');
|
||||
player.logSkill('fenwei',result.targets);
|
||||
player.storage.fenwei=true;
|
||||
for(var i=0;i<result.targets.length;i++){
|
||||
trigger.targets.remove(result.targets[i]);
|
||||
}
|
||||
trigger.excluded.addArray(result.targets);
|
||||
game.delay();
|
||||
}
|
||||
},
|
||||
|
|
|
@ -49,7 +49,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"luji":["male","wu",3,["nzry_huaiju","nzry_yili","nzry_zhenglun"],[]],
|
||||
"sunliang":["male","wu",3,["nzry_kuizhu","nzry_zhizheng","nzry_lijun"],['zhu']],
|
||||
"xuyou":["male","qun",3,["nzry_chenglve","nzry_shicai","nzry_cunmu"],[]],
|
||||
"yl_luzhi":["male","qun",3,["nzry_mingren","nzry_zhenliang"],[]],
|
||||
"yl_luzhi":["male","qun",3,["nzry_mingren","nzry_zhenliang"],["die_audio"]],
|
||||
"kuailiangkuaiyue":["male","wei",3,["nzry_jianxiang","nzry_shenshi"],[]],
|
||||
|
||||
"guanqiujian":["male","wei",4,["drlt_zhenrong","drlt_hongju"],[]],
|
||||
|
@ -130,7 +130,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"chendao":"陈到,字叔至,生卒年不详,豫州汝南(今河南驻马店平舆县)人。三国时期蜀汉将领,刘备帐下白毦兵统领,名位常亚于赵云,以忠勇著称。蜀汉建兴年间,任征西将军、永安都督,封亭侯。在任期间去世。",
|
||||
},
|
||||
skill:{
|
||||
//废除装备栏和判定区
|
||||
|
||||
//阴雷
|
||||
"drlt_zhenrong":{
|
||||
|
@ -768,6 +767,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.chooseCardTarget({
|
||||
filterCard:true,
|
||||
selectCard:1,
|
||||
position:'he',
|
||||
filterTarget:function(card,player,target){
|
||||
return player!=target&&trigger.targets.contains(target);
|
||||
},
|
||||
|
@ -1346,11 +1346,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"nzry_zhizheng":{
|
||||
audio:2,
|
||||
group:["nzry_zhizheng_1","nzry_zhizheng_2"],
|
||||
mod:{
|
||||
playerEnabled:function(card,player,target){
|
||||
if(target!=player&&player.isPhaseUsing()&&get.distance(target,player,'attack')>1) return false;
|
||||
},
|
||||
},
|
||||
trigger:{
|
||||
player:'useCardAfter'
|
||||
},
|
||||
|
@ -1363,6 +1358,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.storage.nzry_zhizheng++;
|
||||
},
|
||||
subSkill:{
|
||||
others:{
|
||||
sub:true,
|
||||
mod:{
|
||||
targetEnabled:function(card,player,target){
|
||||
if(player.hasSkill('nzry_zhizheng')&&player.isPhaseUsing()&&get.distance(target,player,'attack')>1) return false;
|
||||
},
|
||||
},
|
||||
},
|
||||
"1":{
|
||||
trigger:{
|
||||
player:['phaseUseBefore','phaseUseAfter']
|
||||
|
@ -1370,6 +1373,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
forced:true,
|
||||
popup:false,
|
||||
content:function(){
|
||||
if(event.triggername=='phaseUseBefore') game.countPlayer(function(current){
|
||||
if(current!=player){
|
||||
current.addTempSkill('nzry_zhizheng_others','phaseUseAfter');
|
||||
}
|
||||
});
|
||||
player.storage.nzry_zhizheng=0;
|
||||
},
|
||||
},
|
||||
|
@ -2845,28 +2853,35 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.judge(function(card){
|
||||
if(get.suit(card)=='heart') return -1;
|
||||
return 1;
|
||||
},ui.special).nogain=function(card){
|
||||
return get.suit(card)!='heart';
|
||||
};
|
||||
},ui.special);
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
result.card.goto(ui.special);
|
||||
var bool1=result.bool;
|
||||
var bool2=!get.owner(result.card);
|
||||
if(bool1&&bool2){
|
||||
event.card=result.card;
|
||||
event.node=result.node;
|
||||
}
|
||||
else{
|
||||
if(bool2) result.card.discard();
|
||||
event.finish();
|
||||
}
|
||||
"step 2"
|
||||
event.card.goto(ui.special);
|
||||
event.trigger("addCardToStorage");
|
||||
player.storage.tuntian.push(result.card);
|
||||
result.node.moveDelete(player);
|
||||
player.storage.tuntian.push(event.card);
|
||||
event.node.moveDelete(player);
|
||||
game.broadcast(function(cardid,player){
|
||||
var node=lib.cardOL[cardid];
|
||||
if(node){
|
||||
node.moveDelete(player);
|
||||
}
|
||||
},result.node.cardid,player);
|
||||
game.addVideo('gain2',player,get.cardsInfo([result.node]));
|
||||
},event.node.cardid,player);
|
||||
game.addVideo('gain2',player,get.cardsInfo([event.node]));
|
||||
player.markSkill('tuntian');
|
||||
game.addVideo('storage',player,['tuntian',get.cardsInfo(player.storage.tuntian),'cards']);
|
||||
}
|
||||
},
|
||||
init:function(player){
|
||||
player.storage.tuntian=[];
|
||||
if(!player.storage.tuntian) player.storage.tuntian=[];
|
||||
},
|
||||
intro:{
|
||||
content:'cards'
|
||||
|
|
|
@ -3247,7 +3247,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var target=player.storage.xianfu2;
|
||||
player.line(target,'green');
|
||||
target.logSkill('xianfu');
|
||||
target[trigger.name](trigger.num,trigger.source||'nosource');
|
||||
target[trigger.name](trigger.num,'nosource');
|
||||
game.delay();
|
||||
},
|
||||
group:'xianfu3',
|
||||
|
@ -3867,12 +3867,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return !event.player.isMad()&&!_status.connectMode;
|
||||
},
|
||||
content:function(){
|
||||
game.countPlayer(function(current){
|
||||
current.forceCountChoose={default:5};
|
||||
});
|
||||
player.forceCountChoose={chooseToUse:5,default:5};
|
||||
player.addSkill('kuangcai_use');
|
||||
player.addSkill('kuangcai_cancel');
|
||||
ui.auto.hide();
|
||||
//ui.auto.hide();
|
||||
},
|
||||
subSkill:{
|
||||
use:{
|
||||
|
@ -3885,7 +3883,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return true;
|
||||
},
|
||||
cardEnabled:function(card,player){
|
||||
if(player.forceCountChoose&&player.forceCountChoose.default<=0) return false;
|
||||
if(player.forceCountChoose&&player.forceCountChoose.chooseToUse<=0) return false;
|
||||
},
|
||||
},
|
||||
trigger:{player:'useCard'},
|
||||
|
@ -3900,7 +3898,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
player.draw();
|
||||
player.forceCountChoose.default--;
|
||||
player.forceCountChoose.chooseToUse--;
|
||||
}
|
||||
},
|
||||
cancel:{
|
||||
|
@ -3908,10 +3906,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
priority:50,
|
||||
silent:true,
|
||||
content:function(){
|
||||
game.countPlayer(function(current){
|
||||
delete current.forceCountChoose;
|
||||
});
|
||||
ui.auto.show();
|
||||
delete player.forceCountChoose;
|
||||
//ui.auto.show();
|
||||
player.removeSkill('kuangcai_use');
|
||||
player.removeSkill('kuangcai_cancel');
|
||||
}
|
||||
|
@ -11789,7 +11785,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.removeAdditionalSkill('baobian');
|
||||
var list=[];
|
||||
if(player.hp<=3){
|
||||
if(trigger.num!=undefined&&trigger.num<0) player.logSkil('baobian');
|
||||
if(trigger.num!=undefined&&trigger.num<0) player.logSkill('baobian');
|
||||
list.push('tiaoxin');
|
||||
}
|
||||
if(player.hp<=2){
|
||||
|
|
|
@ -1449,7 +1449,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
trigger:{player:'useCard'},
|
||||
frequent:true,
|
||||
filter:function(event){
|
||||
return (get.type(event.card)=='trick'&&event.cards[0]&&event.cards[0]==event.card);
|
||||
return (get.type(event.card)=='trick'&&(!event.cards.length||event.cards[0]&&event.cards[0]==event.card));
|
||||
},
|
||||
content:function(){
|
||||
player.draw();
|
||||
|
@ -1843,7 +1843,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filterTarget:function(card,player,target){
|
||||
var trigger=_status.event.getTrigger();
|
||||
if(get.distance(player,target,'attack')<=1&&
|
||||
target!=trigger.player&&target!=player){
|
||||
target!=trigger.player&&!trigger.targets.contains(target)){
|
||||
if(player.canUse(trigger.card,target)) return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -1866,15 +1866,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
return -1;
|
||||
},
|
||||
prompt:get.prompt('liuli')
|
||||
prompt:get.prompt2('liuli')
|
||||
});
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.discard(result.cards);
|
||||
player.logSkill(event.name,result.targets);
|
||||
trigger.target=result.targets[0];
|
||||
trigger.targets.remove(player);
|
||||
trigger.targets.push(result.targets[0]);
|
||||
for(var i=0;i<trigger.targets.length;i++){
|
||||
if(trigger.targets[i]==player) break;
|
||||
}
|
||||
var t1=trigger.targets.slice(0,i);
|
||||
var t2=trigger.targets.slice(i+1);
|
||||
trigger.targets=t1.concat([result.targets[0]]).concat(t2);
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
|
|
|
@ -685,7 +685,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
}
|
||||
game.updateRoundNumber();
|
||||
game.log(player,'把',cards,'放在了牌堆里');
|
||||
game.log(player,'把',get.cnNumber(cards.length),'张牌放在了牌堆里');
|
||||
},
|
||||
ai:{
|
||||
order:1,
|
||||
|
@ -1456,7 +1456,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
sub:true,
|
||||
},
|
||||
},
|
||||
audio:"ext:新服杂碎:3",
|
||||
audio:3,
|
||||
trigger:{
|
||||
player:"phaseBegin",
|
||||
},
|
||||
|
@ -1507,7 +1507,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
"xinfu_jianjie1":{
|
||||
audio:"ext:新服杂碎:3",
|
||||
audio:3,
|
||||
prompt:"你的第一个准备阶段,你令两名不同的角色分别获得龙印与凤印;出牌阶段限一次(你的第一个回合除外),或当拥有龙印、凤印的角色死亡时,你可以转移龙印、凤印。",
|
||||
enable:"phaseUse",
|
||||
usable:1,
|
||||
|
@ -1716,29 +1716,30 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return event.player.hasSkill('smh_huoji')||event.player.hasSkill('smh_lianhuan');
|
||||
},
|
||||
content:function (){
|
||||
player.logSkill('xinfu_jianjie');
|
||||
"step 0"
|
||||
player.logSkill('xinfu_jianjie');
|
||||
"step 1"
|
||||
if(trigger.player.hasSkill('smh_huoji')){
|
||||
player.chooseTarget('请将'+get.translation(trigger.player)+'的「龙印」交给一名角色',true).set('ai',function(target){
|
||||
var player=_status.event.player;
|
||||
return 10+get.attitude(player,target);
|
||||
});
|
||||
}else event.goto(2);
|
||||
"step 1"
|
||||
"step 2"
|
||||
if(result.bool&&result.targets&&result.targets.length){
|
||||
var target=result.targets[0];
|
||||
player.line(target,'fire');
|
||||
target.addSkill('smh_huoji');
|
||||
game.delay();
|
||||
}
|
||||
"step 2"
|
||||
"step 3"
|
||||
if(trigger.player.hasSkill('smh_lianhuan')){
|
||||
player.chooseTarget('请将'+get.translation(trigger.player)+'的「凤印」交给一名角色',true).set('ai',function(target){
|
||||
var player=_status.event.player;
|
||||
return 10+get.attitude(player,target);
|
||||
});
|
||||
}else event.finish();
|
||||
"step 3"
|
||||
"step 4"
|
||||
if(result.bool&&result.targets&&result.targets.length){
|
||||
var target=result.targets[0];
|
||||
player.line(target,'green');
|
||||
|
@ -1782,7 +1783,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"smh_yeyan":{
|
||||
unique:true,
|
||||
enable:"phaseUse",
|
||||
audio:"ext:新服杂碎:3",
|
||||
audio:3,
|
||||
skillAnimation:true,
|
||||
prompt:"限定技,出牌阶段,你可以对一至三名角色造成至多共3点火焰伤害(你可以任意分配每名目标角色受到的伤害点数),若你将对一名角色分配2点或更多的火焰伤害,你须先弃置四张不同花色的手牌再失去3点体力。",
|
||||
filter:function (event,player){
|
||||
|
@ -1904,27 +1905,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
"xinfu_chenghao":{
|
||||
audio:2,
|
||||
subSkill:{
|
||||
count:{
|
||||
trigger:{
|
||||
global:"damageBegin",
|
||||
},
|
||||
forced:true,
|
||||
filter:function (event,player){
|
||||
return event.player.isLinked()&&event.notLink()&&event.nature;
|
||||
},
|
||||
content:function (){
|
||||
trigger.xinfu_chenghao=true;
|
||||
},
|
||||
sub:true,
|
||||
},
|
||||
},
|
||||
group:["xinfu_chenghao_count"],
|
||||
trigger:{
|
||||
global:"damageEnd",
|
||||
},
|
||||
filter:function (event,player){
|
||||
return event.xinfu_chenghao==true;
|
||||
return event.player.isLinked()&&event.player.isAlive()&&event.notLink()&&event.nature;
|
||||
},
|
||||
frequent:true,
|
||||
content:function (){
|
||||
|
@ -3399,16 +3384,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
global:"phaseUseEnd",
|
||||
},
|
||||
init:function (player){
|
||||
player.storage.guanwei=[];
|
||||
player.storage.guanwei={num:0,suit:[]};
|
||||
},
|
||||
filter:function (event,player){
|
||||
if(player.storage.guanwei.length==1&&_status.currentPhase.countUsed()>1) return true;
|
||||
if(player.storage.guanwei&&player.storage.guanwei.suit.length==1&&player.storage.guanwei.num>1) return true;
|
||||
return false;
|
||||
},
|
||||
direct:true,
|
||||
content:function (){
|
||||
'step 0'
|
||||
player.chooseToDiscard('he',get.prompt('xinfu_guanwei')).set('ai',function(card){
|
||||
player.chooseToDiscard('he',get.prompt2('xinfu_guanwei')).set('ai',function(card){
|
||||
if(get.attitude(_status.event.player,_status.currentPhase)<1) return 0;
|
||||
return 9-get.value(card);
|
||||
}).set('logSkill','xinfu_guanwei');
|
||||
|
@ -3441,13 +3426,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
global:"useCard",
|
||||
},
|
||||
filter:function (event,player){
|
||||
return _status.currentPhase==event.player;
|
||||
return event.player.isPhaseUsing();
|
||||
},
|
||||
silent:true,
|
||||
content:function (){
|
||||
if(!player.storage.guanwei.contains(get.suit(trigger.card))){
|
||||
player.storage.guanwei.push(get.suit(trigger.card));
|
||||
if(!player.storage.guanwei.suit.contains(get.suit(trigger.card))){
|
||||
player.storage.guanwei.suit.push(get.suit(trigger.card));
|
||||
}
|
||||
player.storage.guanwei.num++;
|
||||
},
|
||||
sub:true,
|
||||
forced:true,
|
||||
|
@ -3459,7 +3445,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
silent:true,
|
||||
content:function (){
|
||||
player.storage.guanwei=[];
|
||||
player.storage.guanwei={num:0,suit:[]};
|
||||
},
|
||||
sub:true,
|
||||
forced:true,
|
||||
|
@ -5081,6 +5067,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
discard:false,
|
||||
lose:false,
|
||||
delay:0,
|
||||
content:function (){
|
||||
'step 0'
|
||||
player.lose(cards,ui.special,'toStorage')
|
||||
|
@ -5147,7 +5134,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
'step 4'
|
||||
if(result.bool){
|
||||
trigger.player.damage();
|
||||
trigger.player.damage('nocard');
|
||||
}
|
||||
},
|
||||
},
|
||||
|
@ -5661,7 +5648,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"xinfu_jianjie":"荐杰",
|
||||
"xinfu_jianjie_info":"你的第一个准备阶段,你令两名其他角色分别获得龙印与凤印;出牌阶段限一次(你的第一个回合除外),或当拥有龙印、凤印的角色死亡时,你可以转移龙印、凤印。",
|
||||
"xinfu_jianjie1":"荐杰",
|
||||
"xinfu_jianjie1_info":"出牌阶段,你可以弃一张牌,视为一名男性角色对另一名男性角色使用一张[决斗],每阶段限一次",
|
||||
"xinfu_jianjie1_info":"",
|
||||
"smh_huoji":"火计",
|
||||
"smh_huoji_info":"",
|
||||
"smh_lianhuan":"连环",
|
||||
|
@ -5675,7 +5662,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"xinfu_yinshi":"隐士",
|
||||
"xinfu_yinshi_info":"锁定技,若你没有龙印、凤印且没装备防具,防止你受到的属性伤害和锦囊牌造成的伤害。",
|
||||
"xinfu_chenghao":"称好",
|
||||
"xinfu_chenghao_info":"当一名角色受到属性伤害后,若其处于“连环状态”且是伤害传导的起点,你可以观看牌堆顶的X+1张牌并分配给任意角色(X为横置的角色数量)。",
|
||||
"xinfu_chenghao_info":"当一名角色受到属性伤害后,若其存活且处于“连环状态”且是伤害传导的起点,你可以观看牌堆顶的X张牌并分配给任意角色(X为横置的角色数量且包含该角色)。",
|
||||
"jianjie_faq":"关于龙凤印",
|
||||
"jianjie_faq_info":"龙印效果:获得“火计”。凤印效果:获得“连环”。(均一回合限使用三次) 龙凤印齐全:获得“业炎”,“业炎”发动后移除龙凤印。",
|
||||
"xinfu_wuniang":"武娘",
|
||||
|
|
|
@ -3348,6 +3348,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
fulin:{
|
||||
trigger:{player:'phaseDiscardBegin'},
|
||||
audio:2,
|
||||
forced:true,
|
||||
content:function(){
|
||||
player.addTempSkill('fulin2','phaseDiscardAfter');
|
||||
},
|
||||
|
@ -3385,7 +3386,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(player.storage.fulin&&player.storage.fulin.contains(card)){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
},
|
||||
cardDiscardable:function(card,player,name){
|
||||
if(name=='phaseDiscard'&&player.storage.fulin&&player.storage.fulin.contains(card)){
|
||||
return false;
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
duliang:{
|
||||
|
@ -5401,7 +5407,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filter:function(event,player){
|
||||
if(event.responded) return false;
|
||||
if(!event.filterCard({name:'shan'})) return false;
|
||||
if(player.hasSkill('huomo2')) return false;
|
||||
if(!lib.filter.cardRespondable({name:'sha'},player,event)) return false;
|
||||
if(player.storage.huomo&&player.storage.huomo.shan) return false;
|
||||
if(event.parent.name!='sha') return false;
|
||||
var hs=player.getCards('he',{color:'black'});
|
||||
for(var i=0;i<hs.length;i++){
|
||||
|
@ -5432,7 +5439,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.$throw(result.cards);
|
||||
event.card=result.cards[0];
|
||||
player.logSkill('huomo');
|
||||
player.addTempSkill('huomo2');
|
||||
if(!player.storage.huomo) player.storage.huomo={};
|
||||
player.storage.huomo.shan=true;
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
|
@ -5461,15 +5469,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
huomo_count2:{
|
||||
trigger:{player:'useCard'},
|
||||
trigger:{player:['useCard','respond']},
|
||||
silent:true,
|
||||
filter:function(event){
|
||||
if(get.type(event.card)!='basic') return false;
|
||||
return event.name=='useCard'||(event.card.name=='shan'&&event.getParent(2).name=='sha');
|
||||
},
|
||||
content:function(){
|
||||
if(!player.storage.huomo) player.storage.huomo={};
|
||||
switch(trigger.card.name){
|
||||
case 'sha':player.storage.huomo.sha=true;break;
|
||||
case 'tao':player.storage.huomo.tao=true;break;
|
||||
case 'jiu':player.storage.huomo.jiu=true;break;
|
||||
}
|
||||
player.storage.huomo[trigger.card.name]=true;
|
||||
}
|
||||
},
|
||||
huomo_use:{
|
||||
|
@ -7853,7 +7861,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zhenlie:{
|
||||
audio:2,
|
||||
filter:function(event,player){
|
||||
return event.player!=player&&event.targets&&event.targets.contains(player)&&event.card&&(event.card.name=='sha'||get.type(event.card)=='trick');
|
||||
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');
|
||||
},
|
||||
logTarget:'player',
|
||||
check:function(event,player){
|
||||
|
@ -7884,7 +7892,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"step 0"
|
||||
player.loseHp();
|
||||
"step 1"
|
||||
trigger.targets.remove(player);
|
||||
trigger.excluded.add(player);
|
||||
"step 2"
|
||||
if(trigger.player.countCards('he')){
|
||||
player.discardPlayerCard(trigger.player,'he',true);
|
||||
|
|
17
game/game.js
17
game/game.js
|
@ -12448,6 +12448,7 @@
|
|||
var from=ui.selected.targets[0];
|
||||
var js=from.getCards('j');
|
||||
for(var i=0;i<js.length;i++){
|
||||
if(_status.event.nojudge) break;
|
||||
if(!target.storage._disableJudge&&!target.hasJudge(js[i])) return true;
|
||||
}
|
||||
if(target.isMin()) return false;
|
||||
|
@ -12458,15 +12459,18 @@
|
|||
return false;
|
||||
}
|
||||
else{
|
||||
return target.countCards('ej')>0;
|
||||
var range='ej';
|
||||
if(_status.event.nojudge) range='e';
|
||||
return target.countCards(range)>0;
|
||||
}
|
||||
});
|
||||
next.set('nojudge',event.nojudge||false);
|
||||
next.set('ai',function(target){
|
||||
var player=_status.event.player;
|
||||
var att=get.attitude(player,target);
|
||||
if(ui.selected.targets.length==0){
|
||||
if(att>0){
|
||||
if(target.countCards('j')) return 10;
|
||||
if(!_status.event.nojudge&&target.countCards('j')) return 10;
|
||||
}
|
||||
else if(att<0){
|
||||
if(game.hasPlayer(function(current){
|
||||
|
@ -12551,6 +12555,7 @@
|
|||
}
|
||||
event.targets[0].$give(link,event.targets[1])
|
||||
game.delay();
|
||||
event.result={bool:true};
|
||||
}
|
||||
},
|
||||
useCard:function(){
|
||||
|
@ -33755,7 +33760,7 @@
|
|||
node.mode=mode;
|
||||
var list=[];
|
||||
for(var i=0;i<info.length;i++){
|
||||
if(lib.card[info[i]].derivation&&mode!='mode_derivation') continue;
|
||||
if(!lib.card[info[i]]||(lib.card[info[i]].derivation&&mode!='mode_derivation')) continue;
|
||||
list.push(['',get.translation(get.type(info[i],'trick')),info[i]]);
|
||||
}
|
||||
var sortCard=function(card){
|
||||
|
@ -46030,7 +46035,11 @@
|
|||
m=n;
|
||||
m=game.checkMod(from,to,m,'attackFrom',from);
|
||||
m=game.checkMod(from,to,m,'attackTo',to);
|
||||
var equips1=from.getCards('e'),equips2=to.getCards('e');
|
||||
var equips1=from.getCards('e',function(card){
|
||||
return !ui.selected.cards||!ui.selected.cards.contains(card);
|
||||
}),equips2=to.getCards('e',function(card){
|
||||
return !ui.selected.cards||!ui.selected.cards.contains(card);
|
||||
});
|
||||
for(i=0;i<equips1.length;i++){
|
||||
var info=get.info(equips1[i]).distance;
|
||||
if(!info) continue;
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
window.noname_update={
|
||||
version:'1.9.90.3',
|
||||
update:'1.9.90.2',
|
||||
version:'1.9.90.4',
|
||||
update:'1.9.90.3',
|
||||
changeLog:[
|
||||
'解除祢衡的AI禁选限制',
|
||||
'BUG修复',
|
||||
],
|
||||
files:[
|
||||
|
@ -10,11 +9,10 @@ window.noname_update={
|
|||
'character/refresh.js',
|
||||
'character/shenhua.js',
|
||||
'character/sp.js',
|
||||
'character/standard.js',
|
||||
'character/xinghuoliaoyuan.js',
|
||||
'character/yijiang.js',
|
||||
'extension/boss/extension.js',
|
||||
'mode/guozhan.js',
|
||||
'game/game.js',
|
||||
'game/config.js',
|
||||
'game/package.js',
|
||||
]
|
||||
};
|
||||
|
|
113
mode/guozhan.js
113
mode/guozhan.js
|
@ -3871,104 +3871,12 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
content:function(){
|
||||
'step 0'
|
||||
player.awakenSkill('yongjin');
|
||||
var friends=game.filterPlayer(function(current){
|
||||
return get.attitude(player,current)>=4;
|
||||
});
|
||||
var vacancies={
|
||||
equip1:0,
|
||||
equip2:0,
|
||||
equip3:0,
|
||||
equip4:0,
|
||||
equip5:0
|
||||
};
|
||||
for(var i=0;i<friends.length;i++){
|
||||
for(var j=1;j<=5;j++){
|
||||
if(friends[i].canEquip(j)){
|
||||
vacancies['equip'+j]++;
|
||||
}
|
||||
}
|
||||
}
|
||||
var info=['请选择要移动的装备'];
|
||||
var targets=game.filterPlayer().sortBySeat();
|
||||
for(var i=0;i<targets.length;i++){
|
||||
var es=targets[i].getCards('e');
|
||||
if(es.length){
|
||||
info.push('<div class="text center">'+get.translation(targets[i])+'</div>');
|
||||
info.push(es);
|
||||
}
|
||||
}
|
||||
var next=player.chooseButton(true,[1,3]);
|
||||
next.set('createDialog',info);
|
||||
next.set('filterButton',function(button){
|
||||
return game.hasPlayer(function(current){
|
||||
return current.isEmpty(get.subtype(button.link));
|
||||
});
|
||||
});
|
||||
next.set('ai',function(button){
|
||||
var player=_status.event.player;
|
||||
var owner=get.owner(button.link);
|
||||
var att=get.attitude(player,owner);
|
||||
if(att>0) return 0;
|
||||
var subtype=get.subtype(button.link);
|
||||
var vacancies=_status.event.vacancies;
|
||||
var num=vacancies[subtype];
|
||||
for(var i=0;i<ui.selected.buttons.length;i++){
|
||||
if(get.subtype(ui.selected.buttons[i])==subtype){
|
||||
num--;
|
||||
}
|
||||
}
|
||||
if(num>0){
|
||||
var val=get.equipValue(button.link);
|
||||
if(att>=-1){
|
||||
val-=2;
|
||||
}
|
||||
return val;
|
||||
}
|
||||
return 0;
|
||||
});
|
||||
next.set('vacancies',vacancies);
|
||||
event.count=3;
|
||||
'step 1'
|
||||
event.cards=result.links.slice(0);
|
||||
event.num=0;
|
||||
player.moveCard().nojudge=true;
|
||||
event.count--;
|
||||
'step 2'
|
||||
if(event.num<event.cards.length){
|
||||
var card=event.cards[event.num];
|
||||
player.chooseTarget('选择一个目标装备'+get.translation(card),function(card,player,target){
|
||||
return target!=get.owner(_status.event.cardx)&&target.canEquip(_status.event.cardx);
|
||||
}).set('cardx',card).set('ai',function(target){
|
||||
var att=get.attitude(_status.event.player,target);
|
||||
if(target.hasSkillTag('noe')) att+=3;
|
||||
return att;
|
||||
});
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
}
|
||||
'step 3'
|
||||
if(result.bool){
|
||||
var card=event.cards[event.num];
|
||||
var target=result.targets[0];
|
||||
var source=get.owner(card);
|
||||
player.line2([source,target],'green');
|
||||
source.$give(card,target,false);
|
||||
event.current=target;
|
||||
game.delayx();
|
||||
}
|
||||
else{
|
||||
delete event.current;
|
||||
}
|
||||
'step 4'
|
||||
if(event.current){
|
||||
var card=event.cards[event.num];
|
||||
event.current.equip(card);
|
||||
}
|
||||
event.num++;
|
||||
event.goto(2);
|
||||
},
|
||||
filter:function(event,player){
|
||||
return game.hasPlayer(function(current){
|
||||
return current.countCards('e');
|
||||
});
|
||||
if(event.count&&result.bool) event.goto(1);
|
||||
},
|
||||
ai:{
|
||||
order:7,
|
||||
|
@ -8083,6 +7991,13 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
dieAfter:function(source){
|
||||
this.showCharacter(2);
|
||||
if(source&&source.identity!='unknown'){
|
||||
if(source.identity=='ye') source.draw(3);
|
||||
else if(this.identity=='ye') source.draw(1);
|
||||
else if(this.identity!=source.identity) source.draw(get.population(this.identity)+1);
|
||||
else source.discard(source.getCards('he'));
|
||||
}
|
||||
|
||||
if(get.is.jun(this.name1)){
|
||||
var yelist=[];
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
|
@ -8098,12 +8013,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},yelist);
|
||||
_status.yeidentity.add(this.identity);
|
||||
}
|
||||
if(source&&source.identity!='unknown'){
|
||||
if(source.identity=='ye') source.draw(3);
|
||||
else if(this.identity=='ye') source.draw(1);
|
||||
else if(this.identity!=source.identity) source.draw(get.population(this.identity)+1);
|
||||
else source.discard(source.getCards('he'));
|
||||
}
|
||||
game.tryResult();
|
||||
},
|
||||
viewCharacter:function(target,num){
|
||||
|
|
Loading…
Reference in New Issue