commit
2a13df6099
|
@ -447,17 +447,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
'step 2'
|
'step 2'
|
||||||
if(!player.countCards('h')) event.finish();
|
if(!player.countCards('h')) event.finish();
|
||||||
'step 3'
|
'step 3'
|
||||||
player.chooseCard('迂志:请展示一张手牌','摸此牌牌名字数的牌。下一轮开始时,若本轮你使用的牌数或上一轮你以此法摸的牌数小于此牌牌名字数,则你失去1点体力。',true,function(card,player){
|
player.chooseToDiscard('迂志:请弃置一张手牌','摸此牌牌名字数的牌。下一轮开始时,若本轮你使用的牌数或上一轮你以此法摸的牌数小于此牌牌名字数,则你失去1点体力。',true,function(card,player){
|
||||||
var num=get.cardNameLength(card);
|
var num=get.cardNameLength(card);
|
||||||
return typeof num=='number'&&num>0;
|
return typeof num=='number'&&num>0;
|
||||||
}).set('ai',function(card){
|
}).set('logSkill','clanyuzhi').set('ai',function(card){
|
||||||
if(_status.event.dying&&_status.event.num>0&&get.cardNameLength(card)>_status.event.num) return 1/get.cardNameLength(card);//怂
|
if(_status.event.dying&&_status.event.num>0&&get.cardNameLength(card)>_status.event.num) return 1/get.cardNameLength(card);//怂
|
||||||
return get.cardNameLength(card);//勇
|
return get.cardNameLength(card);//勇
|
||||||
}).set('dying',player.hp+player.countCards('hs',{name:['tao','jiu']})<1).set('num',event.num1);
|
}).set('dying',player.hp+player.countCards('hs',{name:['tao','jiu']})<1).set('num',event.num1);
|
||||||
'step 4'
|
'step 4'
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('clanyuzhi');
|
|
||||||
player.showCards(result.cards,get.translation(player)+'发动了【迂志】');
|
|
||||||
player.draw(get.cardNameLength(result.cards[0]));
|
player.draw(get.cardNameLength(result.cards[0]));
|
||||||
player.storage.clanyuzhi=get.cardNameLength(result.cards[0]);
|
player.storage.clanyuzhi=get.cardNameLength(result.cards[0]);
|
||||||
player.markSkill('clanyuzhi');
|
player.markSkill('clanyuzhi');
|
||||||
|
@ -474,7 +472,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{player:'damageEnd',source:'damageSource'},
|
trigger:{player:'damageEnd',source:'damageSource'},
|
||||||
filter(event,player){
|
filter(event,player){
|
||||||
if(!event.card) return false;
|
if(!event.card||player.isLinked()) return false;
|
||||||
|
if(game.getGlobalHistory('everything',evt=>{
|
||||||
|
if(evt.name!='damage'||!evt.card) return false;
|
||||||
|
return evt.player==player||(evt.source&&evt.source==player);
|
||||||
|
}).indexOf(event)!=0) return false;
|
||||||
var num=get.cardNameLength(event.card);
|
var num=get.cardNameLength(event.card);
|
||||||
return typeof num=='number'&&num>0&&player.countCards('he')>0;
|
return typeof num=='number'&&num>0&&player.countCards('he')>0;
|
||||||
},
|
},
|
||||||
|
@ -483,7 +485,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
'step 0'
|
'step 0'
|
||||||
var num=get.cardNameLength(trigger.card),str='';
|
var num=get.cardNameLength(trigger.card),str='';
|
||||||
if(player.getDamagedHp()>0) str+=('并摸'+get.cnNumber(player.getDamagedHp())+'张牌');
|
if(player.getDamagedHp()>0) str+=('并摸'+get.cnNumber(player.getDamagedHp())+'张牌');
|
||||||
player.chooseToDiscard(get.prompt('clanxieshu'),'弃置'+get.cnNumber(num)+'张牌'+str,'he',num).set('ai',function(card){
|
player.chooseToDiscard(get.prompt('clanxieshu'),'横置武将牌,弃置'+get.cnNumber(num)+'张牌'+str,'he',num).set('ai',function(card){
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
var num=_status.event.num;
|
var num=_status.event.num;
|
||||||
var num2=player.getDamagedHp();
|
var num2=player.getDamagedHp();
|
||||||
|
@ -492,7 +494,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return 0;
|
return 0;
|
||||||
}).set('num',num).logSkill='clanxieshu';
|
}).set('num',num).logSkill='clanxieshu';
|
||||||
'step 1'
|
'step 1'
|
||||||
if(result.bool&&player.getDamagedHp()>0) player.draw(player.getDamagedHp());
|
if(result.bool){
|
||||||
|
player.link(true);
|
||||||
|
if(player.getDamagedHp()>0) player.draw(player.getDamagedHp());
|
||||||
|
}
|
||||||
},
|
},
|
||||||
ai:{threaten:3},
|
ai:{threaten:3},
|
||||||
},
|
},
|
||||||
|
@ -2733,9 +2738,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
clanchenya_info:'当一名角色发动“出牌阶段限一次”的技能后,你可以令其重铸任意张牌名字数为X的牌(X为其手牌数)。',
|
clanchenya_info:'当一名角色发动“出牌阶段限一次”的技能后,你可以令其重铸任意张牌名字数为X的牌(X为其手牌数)。',
|
||||||
clan_zhonghui:'族钟会',
|
clan_zhonghui:'族钟会',
|
||||||
clanyuzhi:'迂志',
|
clanyuzhi:'迂志',
|
||||||
clanyuzhi_info:'锁定技。新的一轮开始时,你依次执行以下项:①若你上一轮使用的牌数或你上上轮因〖迂志〗摸的牌数小于你上轮因〖迂志〗摸的牌数,你失去1点体力或失去〖保族〗。②你展示一张手牌,然后摸X张牌(X为此牌牌名字数)。',
|
clanyuzhi_info:'锁定技。新的一轮开始时,你依次执行以下项:①若你上一轮使用的牌数或你上上轮因〖迂志〗摸的牌数小于你上轮因〖迂志〗摸的牌数,你失去1点体力或失去〖保族〗。②你弃置一张手牌,然后摸X张牌(X为此牌牌名字数)。',
|
||||||
clanxieshu:'挟术',
|
clanxieshu:'挟术',
|
||||||
clanxieshu_info:'当你使用牌造成伤害后,或受到来自牌造成的伤害后,你可以弃置Y张牌并摸你已损失体力值张牌(Y为此牌牌名字数)。',
|
clanxieshu_info:'当你每回合首次因牌造成或受到伤害后,你可以横置武将牌,然后弃置Y张牌并摸你已损失体力值张牌(Y为此牌牌名字数)。',
|
||||||
clan_zhongyu:'族钟毓',
|
clan_zhongyu:'族钟毓',
|
||||||
clanjiejian:'捷谏',
|
clanjiejian:'捷谏',
|
||||||
clanjiejian_info:'当你于一回合使用第X张牌指定第一个目标后,若此牌不为装备牌,则你可以令一名目标角色摸X张牌。(X为此牌牌名字数)',
|
clanjiejian_info:'当你于一回合使用第X张牌指定第一个目标后,若此牌不为装备牌,则你可以令一名目标角色摸X张牌。(X为此牌牌名字数)',
|
||||||
|
|
|
@ -459,7 +459,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
delete player.storage.mbxuetu_used;
|
delete player.storage.mbxuetu_used;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
player.markAuto('mbxuetu_used', storage);
|
player.markAuto('mbxuetu_used',[status===0?storage:(!event.cards.length)]);
|
||||||
if (status === 0 && !storage || status === 1 && event.cards.length) {
|
if (status === 0 && !storage || status === 1 && event.cards.length) {
|
||||||
await target.recover();
|
await target.recover();
|
||||||
}
|
}
|
||||||
|
@ -743,8 +743,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
filter:function(event,player,name){
|
filter:function(event,player,name){
|
||||||
if(name=='damageSource'&&player.getHistory('sourceDamage').indexOf(event)!=0) return false;
|
if(name=='damageSource'&&player.getHistory('sourceDamage').indexOf(event)!=0) return false;
|
||||||
return game.hasPlayer(target=>{
|
return game.hasPlayer(target=>{
|
||||||
if(name=='damageEnd') return get.distance(player,target)>2;
|
if(get.mode()!='doudizhu'){
|
||||||
return get.distance(player,target)<=2;
|
if(name=='damageEnd'&&get.distance(player,target)<=2) return false;
|
||||||
|
if(name=='damageSource'&&get.distance(player,target)>2) return false;
|
||||||
|
}
|
||||||
|
const zhoufa=player.storage.zhoulin_zhoufa;
|
||||||
|
if(!zhoufa) return true;
|
||||||
|
if(zhoufa=='豹'||zhoufa=='兔') return true;
|
||||||
|
if(zhoufa=='鹰') return target.countCards('he');
|
||||||
|
return target.countDiscardableCards(player,'e');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
direct:true,
|
direct:true,
|
||||||
|
@ -756,10 +763,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
'你随机弃置其装备区的一张牌',
|
'你随机弃置其装备区的一张牌',
|
||||||
'令其摸一张牌',
|
'令其摸一张牌',
|
||||||
][['豹','鹰','熊','兔'].indexOf(zhoufa)]:'令其随机执行一个效果';
|
][['豹','鹰','熊','兔'].indexOf(zhoufa)]:'令其随机执行一个效果';
|
||||||
const {result:{bool,targets}}=await player.chooseTarget(get.prompt('shoufa'),'选择一名距离'+(event.triggername=='damageEnd'?'':'不')+'大于2的角色,'+str,(card,player,target)=>{
|
const nodoudizhu=(get.mode()=='doudizhu'?'':('距离'+(event.triggername=='damageEnd'?'':'不')+'大于2的'));
|
||||||
|
const {result:{bool,targets}}=await player.chooseTarget(get.prompt('shoufa'),'选择一名'+nodoudizhu+'角色,'+str,(card,player,target)=>{
|
||||||
const name=_status.event.triggername;
|
const name=_status.event.triggername;
|
||||||
if(name=='damageEnd'&&get.distance(player,target)<=2) return false;
|
if(get.mode()!='doudizhu'){
|
||||||
if(name=='damageSource'&&get.distance(player,target)>2) return false;
|
if(name=='damageEnd'&&get.distance(player,target)<=2) return false;
|
||||||
|
if(name=='damageSource'&&get.distance(player,target)>2) return false;
|
||||||
|
}
|
||||||
const zhoufa=player.storage.zhoulin_zhoufa;
|
const zhoufa=player.storage.zhoulin_zhoufa;
|
||||||
if(!zhoufa) return true;
|
if(!zhoufa) return true;
|
||||||
if(zhoufa=='豹'||zhoufa=='兔') return true;
|
if(zhoufa=='豹'||zhoufa=='兔') return true;
|
||||||
|
@ -15848,8 +15858,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
shoufa:function(player){
|
shoufa:function(player){
|
||||||
const zhoufa=player.storage.zhoulin_zhoufa;
|
const zhoufa=player.storage.zhoulin_zhoufa;
|
||||||
if(!zhoufa) return '当你受到伤害后/于一回合首次造成伤害后,你可以选择一名与你距离大于/不大于2的角色,令其随机执行以下一项:豹,令其受到1点无来源伤害;鹰,你随机获得其一张牌;熊,你随机弃置其装备区的一张牌;兔,令其摸一张牌。';
|
const nodoudizhu=(get.mode()=='doudizhu'?'':'与你距离大于/不大于2的');
|
||||||
let str='当你受到伤害后/于一回合首次造成伤害后,你可以选择一名与你距离大于/不大于2的角色,';
|
if(!zhoufa) return '当你受到伤害后/于一回合首次造成伤害后,你可以选择一名'+nodoudizhu+'角色,令其随机执行以下一项:豹,令其受到1点无来源伤害;鹰,你随机获得其一张牌;熊,你随机弃置其装备区的一张牌;兔,令其摸一张牌。';
|
||||||
|
let str='当你受到伤害后/于一回合首次造成伤害后,你可以选择一名'+nodoudizhu+'角色,';
|
||||||
str+=[
|
str+=[
|
||||||
'令其受到1点无来源伤害',
|
'令其受到1点无来源伤害',
|
||||||
'你随机获得其一张牌',
|
'你随机获得其一张牌',
|
||||||
|
@ -16742,6 +16753,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
muludawang:'木鹿大王',
|
muludawang:'木鹿大王',
|
||||||
shoufa:'兽法',
|
shoufa:'兽法',
|
||||||
shoufa_info:'当你受到伤害后/于一回合首次造成伤害后,你可以选择一名与你距离大于/不大于2的角色,令其随机执行以下一项:豹,令其受到1点无来源伤害;鹰,你随机获得其一张牌;熊,你随机弃置其装备区的一张牌;兔,令其摸一张牌。',
|
shoufa_info:'当你受到伤害后/于一回合首次造成伤害后,你可以选择一名与你距离大于/不大于2的角色,令其随机执行以下一项:豹,令其受到1点无来源伤害;鹰,你随机获得其一张牌;熊,你随机弃置其装备区的一张牌;兔,令其摸一张牌。',
|
||||||
|
shoufa_info_doudizhu:'当你受到伤害后/于一回合首次造成伤害后,你可以选择一名角色,令其随机执行以下一项:豹,令其受到1点无来源伤害;鹰,你随机获得其一张牌;熊,你随机弃置其装备区的一张牌;兔,令其摸一张牌。',
|
||||||
yuxiang:'御象',
|
yuxiang:'御象',
|
||||||
yuxiang_info:'锁定技,若你有护甲值,则:①你计算与其他角色的距离-1,其他角色计算与你的距离+1;②当你受到火焰伤害时,此伤害+1。',
|
yuxiang_info:'锁定技,若你有护甲值,则:①你计算与其他角色的距离-1,其他角色计算与你的距离+1;②当你受到火焰伤害时,此伤害+1。',
|
||||||
zhoulin:'咒鳞',
|
zhoulin:'咒鳞',
|
||||||
|
|
|
@ -1396,7 +1396,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
charlotte:true,
|
charlotte:true,
|
||||||
trigger:{global:'damageSource'},
|
trigger:{global:'damageSource'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(event.getParent().type!='card') return false;
|
if(!event.source||event.getParent().type!='card') return false;
|
||||||
if(event.source.isHealthy()||event.card.name!='sha') return false;
|
if(event.source.isHealthy()||event.card.name!='sha') return false;
|
||||||
return event.getParent(4).name=='dcsbmengmou'&&event.getParent(4).player==player;
|
return event.getParent(4).name=='dcsbmengmou'&&event.getParent(4).player==player;
|
||||||
},
|
},
|
||||||
|
@ -7968,8 +7968,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
audio:2,
|
audio:2,
|
||||||
getZhuanhuanji:function(player,bool){
|
getZhuanhuanji:function(player,bool){
|
||||||
var skills=player.getSkills(null,false,false).filter(function(i){
|
var skills=player.getSkills(null,false,false).filter(function(i){
|
||||||
const list=get.skillCategoriesOf(i);
|
return get.is.zhuanhuanji(i,player);
|
||||||
return !list.includes('Charlotte')&&list.includes('转换技');
|
|
||||||
});
|
});
|
||||||
if(!bool) return skills;
|
if(!bool) return skills;
|
||||||
if(!skills.length) return 'none';
|
if(!skills.length) return 'none';
|
||||||
|
@ -7981,7 +7980,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
getState:function(player,skill){
|
getState:function(player,skill){
|
||||||
var info=get.info(skill),zhuanhuan=info.zhuanhuanji;
|
var info=get.info(skill),zhuanhuan=info.zhuanhuanji;
|
||||||
if(zhuanhuan=='number') return (player.countMark(skill)%2==1);
|
if(zhuanhuan&&zhuanhuan=='number') return (player.countMark(skill)%2==1);
|
||||||
return Boolean(player.storage[skill]);
|
return Boolean(player.storage[skill]);
|
||||||
},
|
},
|
||||||
trigger:{
|
trigger:{
|
||||||
|
|
Loading…
Reference in New Issue