连环 update
This commit is contained in:
parent
c73e76af1f
commit
c781e69408
|
@ -2629,12 +2629,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
game.addGlobalSkill('tianzuo_global');
|
game.addGlobalSkill('tianzuo_global');
|
||||||
|
var cards=[];
|
||||||
for(var i=2;i<10;i++){
|
for(var i=2;i<10;i++){
|
||||||
var card=game.createCard2('qizhengxiangsheng',i%2?'club':'spade',i);
|
cards.push(game.createCard2('qizhengxiangsheng',i%2?'club':'spade',i));
|
||||||
ui.cardPile.insertBefore(card,ui.cardPile.childNodes[get.rand(0,ui.cardPile.childNodes.length)]);
|
|
||||||
}
|
}
|
||||||
game.broadcastAll(function(){lib.inpile.add('qizhengxiangsheng')});
|
game.broadcastAll(function(){lib.inpile.add('qizhengxiangsheng')});
|
||||||
game.updateRoundNumber();
|
game.cardsGotoPile(cards,()=>{
|
||||||
|
return ui.cardPile.childNodes[get.rand(0,ui.cardPile.childNodes.length-1)];
|
||||||
|
})
|
||||||
},
|
},
|
||||||
group:'tianzuo_remove',
|
group:'tianzuo_remove',
|
||||||
subSkill:{
|
subSkill:{
|
||||||
|
@ -5572,7 +5574,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
selectCard:[0,4],
|
selectCard:[0,4],
|
||||||
line:'fire',
|
line:'fire',
|
||||||
check:function (){return -1},
|
check:function (){return -1},
|
||||||
selectTarget:function (){
|
selectTarget:function(){
|
||||||
if(ui.selected.cards.length==4) return [1,2];
|
if(ui.selected.cards.length==4) return [1,2];
|
||||||
if(ui.selected.cards.length==0) return [1,3];
|
if(ui.selected.cards.length==0) return [1,3];
|
||||||
game.uncheck('target');
|
game.uncheck('target');
|
||||||
|
@ -5580,9 +5582,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
multitarget:true,
|
multitarget:true,
|
||||||
multiline:true,
|
multiline:true,
|
||||||
content:function (){
|
contentBefore:function(){
|
||||||
"step 0"
|
|
||||||
player.awakenSkill('yeyan');
|
player.awakenSkill('yeyan');
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
"step 0"
|
||||||
event.num=0;
|
event.num=0;
|
||||||
targets.sortBySeat();
|
targets.sortBySeat();
|
||||||
"step 1"
|
"step 1"
|
||||||
|
|
|
@ -386,6 +386,55 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
skill:{
|
skill:{
|
||||||
|
//庞统
|
||||||
|
xinlianhuan:{
|
||||||
|
audio:2,
|
||||||
|
audioname:['ol_pangtong'],
|
||||||
|
inherit:'lianhuan',
|
||||||
|
group:'xinlianhuan_add',
|
||||||
|
subSkill:{
|
||||||
|
add:{
|
||||||
|
audio:'xinlianhuan',
|
||||||
|
audioname:['ol_pangtong'],
|
||||||
|
trigger:{player:'useCard2'},
|
||||||
|
filter:function(event,player){
|
||||||
|
if(event.card.name!='tiesuo') return false;
|
||||||
|
var info=get.info(event.card);
|
||||||
|
if(info.allowMultiple==false) return false;
|
||||||
|
if(event.targets&&!info.multitarget){
|
||||||
|
if(game.hasPlayer(current=>{
|
||||||
|
return !event.targets.contains(current)&&lib.filter.targetEnabled2(event.card,player,current);
|
||||||
|
})) return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
charlotte:true,
|
||||||
|
forced:true,
|
||||||
|
popup:false,
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.chooseTarget(get.prompt('xinlianhuan'),'为'+get.translation(trigger.card)+'额外指定一个目标',(card,player,target)=>{
|
||||||
|
return !_status.event.sourcex.contains(target)&&lib.filter.targetEnabled2(_status.event.card,player,target);
|
||||||
|
}).set('sourcex',trigger.targets).set('ai',function(target){
|
||||||
|
var player=_status.event.player;
|
||||||
|
return get.effect(target,_status.event.card,player,player);
|
||||||
|
}).set('card',trigger.card);
|
||||||
|
'step 1'
|
||||||
|
if(result.bool){
|
||||||
|
if(!event.isMine()&&!event.isOnline()) game.delayex();
|
||||||
|
}
|
||||||
|
else event.finish();
|
||||||
|
'step 2'
|
||||||
|
if(result.bool){
|
||||||
|
var targets=result.targets;
|
||||||
|
player.logSkill('xinlianhuan_add',targets);
|
||||||
|
trigger.targets.addArray(targets);
|
||||||
|
game.log(targets,'也成为了',trigger.card,'的目标');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
//吴班
|
//吴班
|
||||||
xinjintao:{
|
xinjintao:{
|
||||||
audio:'jintao',
|
audio:'jintao',
|
||||||
|
@ -15283,6 +15332,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
xin_wuban:'吴班',
|
xin_wuban:'吴班',
|
||||||
xinjintao:'进讨',
|
xinjintao:'进讨',
|
||||||
xinjintao_info:'锁定技,你使用【杀】无距离限制且次数上限+1。你于出牌阶段内使用的第一张【杀】不可被响应,第二张【杀】伤害+1。',
|
xinjintao_info:'锁定技,你使用【杀】无距离限制且次数上限+1。你于出牌阶段内使用的第一张【杀】不可被响应,第二张【杀】伤害+1。',
|
||||||
|
xinlianhuan:'连环',
|
||||||
|
xinlianhuan_info:'你可以将一张♣手牌当【铁索连环】使用或重铸。你使用【铁索连环】选择目标后,可以给此牌增加一个目标。',
|
||||||
|
|
||||||
mobile_standard:'手杀异构·标准包',
|
mobile_standard:'手杀异构·标准包',
|
||||||
mobile_shenhua_feng:'手杀异构·其疾如风',
|
mobile_shenhua_feng:'手杀异构·其疾如风',
|
||||||
|
|
|
@ -167,6 +167,62 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
re_guohuai:['xiahouyuan','zhanghe'],
|
re_guohuai:['xiahouyuan','zhanghe'],
|
||||||
},
|
},
|
||||||
skill:{
|
skill:{
|
||||||
|
ollianhuan:{
|
||||||
|
audio:'xinlianhuan',
|
||||||
|
audioname:['ol_pangtong'],
|
||||||
|
hiddenCard:(player,name)=>{
|
||||||
|
return name=='tiesuo'&&player.hasCard(card=>get.suit(card)=='club','she');
|
||||||
|
},
|
||||||
|
filter:function(event,player){
|
||||||
|
if(!player.hasCard(card=>get.suit(card)=='club','she')) return false;
|
||||||
|
return (event.type=='phase'||event.filterCard({name:'tiesuo'},player,event));
|
||||||
|
},
|
||||||
|
position:'hes',
|
||||||
|
inherit:'lianhuan',
|
||||||
|
group:'ollianhuan_add',
|
||||||
|
subSkill:{
|
||||||
|
add:{
|
||||||
|
audio:'xinlianhuan',
|
||||||
|
audioname:['ol_pangtong'],
|
||||||
|
trigger:{player:'useCard2'},
|
||||||
|
filter:function(event,player){
|
||||||
|
if(event.card.name!='tiesuo') return false;
|
||||||
|
var info=get.info(event.card);
|
||||||
|
if(info.allowMultiple==false) return false;
|
||||||
|
if(event.targets&&!info.multitarget){
|
||||||
|
if(game.hasPlayer(current=>{
|
||||||
|
return !event.targets.contains(current)&&lib.filter.targetEnabled2(event.card,player,current);
|
||||||
|
})) return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
charlotte:true,
|
||||||
|
forced:true,
|
||||||
|
popup:false,
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.chooseTarget(get.prompt('ollianhuan'),'为'+get.translation(trigger.card)+'额外指定一个目标',(card,player,target)=>{
|
||||||
|
return !_status.event.sourcex.contains(target)&&lib.filter.targetEnabled2(_status.event.card,player,target);
|
||||||
|
}).set('sourcex',trigger.targets).set('ai',function(target){
|
||||||
|
var player=_status.event.player;
|
||||||
|
return get.effect(target,_status.event.card,player,player);
|
||||||
|
}).set('card',trigger.card);
|
||||||
|
'step 1'
|
||||||
|
if(result.bool){
|
||||||
|
if(!event.isMine()&&!event.isOnline()) game.delayex();
|
||||||
|
}
|
||||||
|
else event.finish();
|
||||||
|
'step 2'
|
||||||
|
if(result.bool){
|
||||||
|
var targets=result.targets;
|
||||||
|
player.logSkill('ollianhuan_add',targets);
|
||||||
|
trigger.targets.addArray(targets);
|
||||||
|
game.log(targets,'也成为了',trigger.card,'的目标');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
rehuomo:{
|
rehuomo:{
|
||||||
audio:'huomo',
|
audio:'huomo',
|
||||||
audioname:['huzhao','re_zhongyao'],
|
audioname:['huzhao','re_zhongyao'],
|
||||||
|
@ -11150,7 +11206,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
prompt:"将一张红色牌当火攻使用",
|
prompt:"将一张红色牌当火攻使用",
|
||||||
check:function (card){
|
check:function (card){
|
||||||
var player=_status.currentPhase;
|
var player=get.player();
|
||||||
if(player.countCards('h')>player.hp){
|
if(player.countCards('h')>player.hp){
|
||||||
return 6-get.value(card);
|
return 6-get.value(card);
|
||||||
}
|
}
|
||||||
|
@ -14599,7 +14655,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
reqiangxi:"强袭",
|
reqiangxi:"强袭",
|
||||||
"reqiangxi_info":"出牌阶段对每名其他角色限一次,你可以选择一项:1. 失去一点体力并对你攻击范围内的一名其他角色造成一点伤害;2. 弃置一张武器牌并对你攻击范围内的一名其他角色造成一点伤害。",
|
"reqiangxi_info":"出牌阶段对每名其他角色限一次,你可以选择一项:1. 失去一点体力并对你攻击范围内的一名其他角色造成一点伤害;2. 弃置一张武器牌并对你攻击范围内的一名其他角色造成一点伤害。",
|
||||||
rehuoji:"火计",
|
rehuoji:"火计",
|
||||||
rehuoji_info:"出牌阶段,你可一张红色牌当作【火攻】使用。",
|
rehuoji_info:"你可一张红色牌当作【火攻】使用。",
|
||||||
rekanpo:"看破",
|
rekanpo:"看破",
|
||||||
rekanpo_info:"你可以将一张黑色牌当作【无懈可击】使用。",
|
rekanpo_info:"你可以将一张黑色牌当作【无懈可击】使用。",
|
||||||
reshuangxiong:"双雄",
|
reshuangxiong:"双雄",
|
||||||
|
@ -15322,6 +15378,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
zhoutai_prefix:'界',
|
zhoutai_prefix:'界',
|
||||||
caoren:'界曹仁',
|
caoren:'界曹仁',
|
||||||
caoren_prefix:'界',
|
caoren_prefix:'界',
|
||||||
|
ollianhuan:'连环',
|
||||||
|
ollianhuan_info:'你可以将一张♣牌当【铁索连环】使用或重铸。你使用【铁索连环】选择目标后,可以给此牌增加一个目标。',
|
||||||
|
|
||||||
refresh_standard:'界限突破·标',
|
refresh_standard:'界限突破·标',
|
||||||
refresh_feng:'界限突破·风',
|
refresh_feng:'界限突破·风',
|
||||||
|
|
|
@ -141,6 +141,80 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
"chendao":"陈到,字叔至,生卒年不详,豫州汝南(今河南驻马店平舆县)人。三国时期蜀汉将领,刘备帐下白毦兵统领,名位常亚于赵云,以忠勇著称。蜀汉建兴年间,任征西将军、永安都督,封亭侯。在任期间去世。",
|
"chendao":"陈到,字叔至,生卒年不详,豫州汝南(今河南驻马店平舆县)人。三国时期蜀汉将领,刘备帐下白毦兵统领,名位常亚于赵云,以忠勇著称。蜀汉建兴年间,任征西将军、永安都督,封亭侯。在任期间去世。",
|
||||||
},
|
},
|
||||||
skill:{
|
skill:{
|
||||||
|
//庞统写法修改
|
||||||
|
lianhuan:{
|
||||||
|
audio:'lianhuan1',
|
||||||
|
hiddenCard:(player,name)=>{
|
||||||
|
return name=='tiesuo'&&player.hasCard(card=>get.suit(card)=='club','sh');
|
||||||
|
},
|
||||||
|
enable:'chooseToUse',
|
||||||
|
filter:function(event,player){
|
||||||
|
if(!player.hasCard(card=>get.suit(card)=='club','sh')) return false;
|
||||||
|
return (event.type=='phase'||event.filterCard({name:'tiesuo'},player,event));
|
||||||
|
},
|
||||||
|
position:'hs',
|
||||||
|
filterCard:function(card,player,event){
|
||||||
|
if(!event) event=_status.event;
|
||||||
|
if(get.suit(card)!='club') return false;
|
||||||
|
if(event.type=='phase'&&get.position(card)!='s'&&player.canRecast(card)){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
if(game.checkMod(card,player,'unchanged','cardEnabled2',player)===false) return false;
|
||||||
|
const cardx=get.autoViewAs({name:'tiesuo'},[card]);
|
||||||
|
return event._backup.filterCard(cardx,player,target);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
filterTarget:function(fuck,player,target){
|
||||||
|
const card=ui.selected.cards[0],event=_status.event,backup=event._backup;
|
||||||
|
if(!card||game.checkMod(card,player,'unchanged','cardEnabled2',player)===false) return false;
|
||||||
|
const cardx=get.autoViewAs({name:'tiesuo'},[card]);
|
||||||
|
return (backup.filterCard(cardx,player,event)&&backup.filterTarget(cardx,player,target));
|
||||||
|
},
|
||||||
|
selectTarget:function(){
|
||||||
|
const card=ui.selected.cards[0],event=_status.event,player=event.player,backup=event._backup;
|
||||||
|
let recast=false,use=false;
|
||||||
|
const cardx=get.autoViewAs({name:'tiesuo'},[card]);
|
||||||
|
if(event.type=='phase'&&player.canRecast(card)) recast=true;
|
||||||
|
if(game.checkMod(card,player,'unchanged','cardEnabled2',player)!==false){
|
||||||
|
if(backup.filterCard(cardx,player,event)) use=true;
|
||||||
|
}
|
||||||
|
if(!use) return [0,0];
|
||||||
|
else{
|
||||||
|
const select=backup.selectTarget(cardx,player);
|
||||||
|
if(recast&&select[0]>0) select[0]=0;
|
||||||
|
return select;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
filterOk:function(){
|
||||||
|
const card=ui.selected.cards[0],event=_status.event,player=event.player,backup=event._backup;
|
||||||
|
const selected=ui.selected.targets.length;
|
||||||
|
let recast=false,use=false;
|
||||||
|
const cardx=get.autoViewAs({name:'tiesuo'},[card]);
|
||||||
|
if(event.type=='phase'&&player.canRecast(card)) recast=true;
|
||||||
|
if(game.checkMod(card,player,'unchanged','cardEnabled2',player)!==false){
|
||||||
|
if(backup.filterCard(cardx,player,event)) use=true;
|
||||||
|
}
|
||||||
|
if(recast&&selected==0){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if(use){
|
||||||
|
const select=backup.selectTarget(cardx,player);
|
||||||
|
if(select[0]<=-1) return true;
|
||||||
|
return selected>=select[0]&&selected<=select[1];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
discard:false,
|
||||||
|
lose:false,
|
||||||
|
delay:false,
|
||||||
|
precontent:function(){
|
||||||
|
var result=event.result;
|
||||||
|
if(result.targets.length>0) result.card=get.autoViewAs({name:'tiesuo'},result.cards);
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
player.recast(cards);
|
||||||
|
},
|
||||||
|
},
|
||||||
//新杀小加强 陈到
|
//新杀小加强 陈到
|
||||||
dcwanglie:{
|
dcwanglie:{
|
||||||
audio:'drlt_wanglie',
|
audio:'drlt_wanglie',
|
||||||
|
@ -2902,62 +2976,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ollianhuan:{
|
|
||||||
audio:'xinlianhuan',
|
|
||||||
audioname:['ol_pangtong'],
|
|
||||||
group:['ollianhuan3','ollianhuan5','lianhuan4'],
|
|
||||||
},
|
|
||||||
ollianhuan5:{
|
|
||||||
inherit:'lianhuan2',
|
|
||||||
audioname:['ol_pangtong'],
|
|
||||||
audio:['xinlianhuan',2],
|
|
||||||
position:'he',
|
|
||||||
filter:function(event,player){
|
|
||||||
return player.countCards('he',{suit:'club'})>0;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
ollianhuan3:{
|
|
||||||
audio:['xinlianhuan',1],
|
|
||||||
audioname:['ol_pangtong'],
|
|
||||||
enable:'chooseToUse',
|
|
||||||
filter:function(event,player){
|
|
||||||
return player.countCards('hes',{suit:'club'})>0;
|
|
||||||
},
|
|
||||||
filterCard:{suit:'club'},
|
|
||||||
viewAs:{name:'tiesuo'},
|
|
||||||
prompt:'将一张梅花牌当铁锁连环使用',
|
|
||||||
check:function(card){return 6-get.value(card)},
|
|
||||||
position:'hes',
|
|
||||||
},
|
|
||||||
xinlianhuan:{
|
|
||||||
audio:2,
|
|
||||||
audioname:['ol_pangtong'],
|
|
||||||
group:['lianhuan3','lianhuan5','lianhuan4'],
|
|
||||||
},
|
|
||||||
lianhuan5:{
|
|
||||||
inherit:'lianhuan2',
|
|
||||||
audioname:['ol_pangtong'],
|
|
||||||
audio:['xinlianhuan',2],
|
|
||||||
},
|
|
||||||
lianhuan3:{
|
|
||||||
audio:['xinlianhuan',1],
|
|
||||||
audioname:['ol_pangtong'],
|
|
||||||
enable:'chooseToUse',
|
|
||||||
filter:function(event,player){
|
|
||||||
return player.countCards('hs',{suit:'club'})>0;
|
|
||||||
},
|
|
||||||
filterCard:{suit:'club'},
|
|
||||||
viewAs:{name:'tiesuo'},
|
|
||||||
prompt:'将一张梅花牌当铁锁连环使用',
|
|
||||||
check:function(card){return 6-get.value(card)},
|
|
||||||
},
|
|
||||||
lianhuan4:{
|
|
||||||
mod:{
|
|
||||||
selectTarget:function(card,player,range){
|
|
||||||
if(card.name=='tiesuo'&&range[1]!=-1) range[1]++;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
reluanji:{
|
reluanji:{
|
||||||
audio:2,
|
audio:2,
|
||||||
enable:'phaseUse',
|
enable:'phaseUse',
|
||||||
|
@ -5451,7 +5469,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
huoji:{
|
huoji:{
|
||||||
audio:2,
|
audio:2,
|
||||||
enable:'phaseUse',
|
enable:'chooseToUse',
|
||||||
filterCard:function(card){
|
filterCard:function(card){
|
||||||
return get.color(card)=='red';
|
return get.color(card)=='red';
|
||||||
},
|
},
|
||||||
|
@ -5462,7 +5480,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
position:'hs',
|
position:'hs',
|
||||||
prompt:'将一张红色牌当火攻使用',
|
prompt:'将一张红色牌当火攻使用',
|
||||||
check:function(card){
|
check:function(card){
|
||||||
var player=_status.currentPhase;
|
var player=get.player();
|
||||||
if(player.countCards('h')>player.hp){
|
if(player.countCards('h')>player.hp){
|
||||||
return 6-get.value(card);
|
return 6-get.value(card);
|
||||||
}
|
}
|
||||||
|
@ -5544,50 +5562,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
threaten:1.2
|
threaten:1.2
|
||||||
},
|
},
|
||||||
lianhuan:{
|
|
||||||
audio:'lianhuan1',
|
|
||||||
group:['lianhuan1','lianhuan2']
|
|
||||||
},
|
|
||||||
lianhuan1:{
|
|
||||||
audio:2,
|
|
||||||
audioname:['re_pangtong'],
|
|
||||||
enable:'chooseToUse',
|
|
||||||
filter:function(event,player){
|
|
||||||
return player.countCards('hs',{suit:'club'})>0;
|
|
||||||
},
|
|
||||||
position:'hs',
|
|
||||||
filterCard:function(card){
|
|
||||||
return get.suit(card)=='club';
|
|
||||||
},
|
|
||||||
viewAs:{name:'tiesuo'},
|
|
||||||
prompt:'将一张梅花牌当铁锁连环使用',
|
|
||||||
check:function(card){return 4.5-get.value(card)}
|
|
||||||
},
|
|
||||||
lianhuan2:{
|
|
||||||
audio:2,
|
|
||||||
popup:'lianhuan',
|
|
||||||
enable:'phaseUse',
|
|
||||||
filter:(event,player)=>player.hasCard(card=>lib.skill.lianhuan2.filterCard(card,player),'h'),
|
|
||||||
filterCard:(card,player)=>get.suit(card)=='club'&&player.canRecast(card),
|
|
||||||
check:function(card){
|
|
||||||
return 5-get.useful(card);
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
player.recast(cards);
|
|
||||||
},
|
|
||||||
discard:false,
|
|
||||||
lose:false,
|
|
||||||
delay:false,
|
|
||||||
prompt:'将一张梅花牌置入弃牌堆并摸一张牌',
|
|
||||||
ai:{
|
|
||||||
basic:{
|
|
||||||
order:1
|
|
||||||
},
|
|
||||||
result:{
|
|
||||||
player:1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
niepan:{
|
niepan:{
|
||||||
audio:2,
|
audio:2,
|
||||||
audioname:['re_pangtong'],
|
audioname:['re_pangtong'],
|
||||||
|
@ -8081,14 +8055,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
huoji:'火计',
|
huoji:'火计',
|
||||||
bazhen:'八阵',
|
bazhen:'八阵',
|
||||||
kanpo:'看破',
|
kanpo:'看破',
|
||||||
xinlianhuan:'连环',
|
|
||||||
ollianhuan:'连环',
|
|
||||||
lianhuan:'连环',
|
|
||||||
lianhuan1:'连环',
|
|
||||||
lianhuan3:'连环',
|
|
||||||
lianhuan2:'连铸',
|
|
||||||
lianhuan5:'连铸',
|
|
||||||
ollianhuan3:'连环',
|
|
||||||
niepan:'涅槃',
|
niepan:'涅槃',
|
||||||
oldniepan:'涅槃',
|
oldniepan:'涅槃',
|
||||||
quhu:'驱虎',
|
quhu:'驱虎',
|
||||||
|
@ -8101,12 +8067,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
luanji:'乱击',
|
luanji:'乱击',
|
||||||
xueyi:'血裔',
|
xueyi:'血裔',
|
||||||
mengjin:'猛进',
|
mengjin:'猛进',
|
||||||
xinlianhuan_info:' 你可以将一张♣手牌当【铁索连环】使用或重铸。你使用【铁索连环】选择目标的上限数+1。',
|
huoji_info:'你可以将一张红色手牌当作【火攻】使用。',
|
||||||
ollianhuan_info:' 你可以将一张♣牌当【铁索连环】使用或重铸。你使用【铁索连环】选择目标的上限数+1。',
|
|
||||||
huoji_info:'出牌阶段,你可以将你的任意一张红色手牌当作【火攻】使用。',
|
|
||||||
bazhen_info:'锁定技,若你的防具栏内没有牌且没有被废除,则你视为装备着【八卦阵】。',
|
bazhen_info:'锁定技,若你的防具栏内没有牌且没有被废除,则你视为装备着【八卦阵】。',
|
||||||
kanpo_info:'你可以将你的任意一张黑色手牌当做【无懈可击】使用。',
|
kanpo_info:'你可以将你的任意一张黑色手牌当做【无懈可击】使用。',
|
||||||
lianhuan_info:'出牌阶段,你可以将一张♣手牌当做【铁索连环】使用或重铸。',
|
|
||||||
niepan_info:'限定技,出牌阶段或当你处于濒死状态时,你可以弃置你区域内的所有牌并复原你的武将牌,然后摸三张牌并将体力回复至3点。',
|
niepan_info:'限定技,出牌阶段或当你处于濒死状态时,你可以弃置你区域内的所有牌并复原你的武将牌,然后摸三张牌并将体力回复至3点。',
|
||||||
oldniepan_info:'限定技,当你处于濒死状态时,你可以弃置你区域内的所有牌并复原你的武将牌,然后摸三张牌并将体力回复至3点。',
|
oldniepan_info:'限定技,当你处于濒死状态时,你可以弃置你区域内的所有牌并复原你的武将牌,然后摸三张牌并将体力回复至3点。',
|
||||||
quhu_info:'出牌阶段限一次,你可以与一名体力值大于你的角色拼点,若你赢,则该角色对其攻击范围内另一名由你指定的角色造成1点伤害。若你没赢,该角色对你造成一点伤害。',
|
quhu_info:'出牌阶段限一次,你可以与一名体力值大于你的角色拼点,若你赢,则该角色对其攻击范围内另一名由你指定的角色造成1点伤害。若你没赢,该角色对你造成一点伤害。',
|
||||||
|
@ -8220,6 +8183,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
dcwanglie_info:"①出牌阶段,你对其他角色使用的前两张牌无距离限制。②当你于出牌阶段内使用牌时,你可以令此牌不能被响应,然后你于本阶段内不能使用牌指定其他角色为目标。",
|
dcwanglie_info:"①出牌阶段,你对其他角色使用的前两张牌无距离限制。②当你于出牌阶段内使用牌时,你可以令此牌不能被响应,然后你于本阶段内不能使用牌指定其他角色为目标。",
|
||||||
nzry_shicai:"恃才",
|
nzry_shicai:"恃才",
|
||||||
nzry_shicai_info:"当你使用非装备牌结算结束后,或成为自己使用装备牌的目标后,若此牌与你本回合使用的牌类型均不同,则你可以将此牌置于牌堆顶,然后摸一张牌。",
|
nzry_shicai_info:"当你使用非装备牌结算结束后,或成为自己使用装备牌的目标后,若此牌与你本回合使用的牌类型均不同,则你可以将此牌置于牌堆顶,然后摸一张牌。",
|
||||||
|
lianhuan:'连环',
|
||||||
|
lianhuan_info:'你可以将♣手牌当作【铁索连环】使用或重铸。',
|
||||||
|
|
||||||
shenhua_feng:'神话再临·风',
|
shenhua_feng:'神话再临·风',
|
||||||
shenhua_huo:'神话再临·火',
|
shenhua_huo:'神话再临·火',
|
||||||
|
|
602
character/sp.js
602
character/sp.js
|
@ -117,7 +117,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
jianggan:["male","wei",3,["weicheng","daoshu"]],
|
jianggan:["male","wei",3,["weicheng","daoshu"]],
|
||||||
|
|
||||||
caoying:["female","wei",4,["xinfu_lingren","xinfu_fujian"],[]],
|
caoying:["female","wei",4,["xinfu_lingren","xinfu_fujian"],[]],
|
||||||
simahui:["male","qun",3,["xinfu_jianjie","xinfu_chenghao","xinfu_yinshi"],[]],
|
simahui:["male","qun",3,["jianjie","xinfu_chenghao","xinfu_yinshi"],[]],
|
||||||
baosanniang:["female","shu",4,["olwuniang","olxushen"],[]],
|
baosanniang:["female","shu",4,["olwuniang","olxushen"],[]],
|
||||||
|
|
||||||
yangxiu:['male','wei',3,['jilei','danlao']],
|
yangxiu:['male','wei',3,['jilei','danlao']],
|
||||||
|
@ -23801,356 +23801,285 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.addMark('xionghuo',1);
|
player.addMark('xionghuo',1);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"xinfu_jianjie":{
|
xinfu_jianjie:{
|
||||||
derivation:["jianjie_faq"],
|
|
||||||
group:["xinfu_jianjie1","xinfu_jianjie2"],
|
|
||||||
audio:3,
|
audio:3,
|
||||||
|
},
|
||||||
|
jianjie:{
|
||||||
|
group:["jianjie_use","jianjie_die"],
|
||||||
|
derivation:['jianjie_huoji','jianjie_lianhuan','jianjie_yeyan'],
|
||||||
|
audio:'xinfu_jianjie',
|
||||||
trigger:{
|
trigger:{
|
||||||
player:"phaseZhunbeiBegin",
|
player:"phaseZhunbeiBegin",
|
||||||
},
|
},
|
||||||
direct:true,
|
forced:true,
|
||||||
|
locked:false,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(player.phaseNumber>1) return false;
|
return player.phaseNumber<=1&&game.hasPlayer(current=>current!=player);
|
||||||
return !game.hasPlayer(function(current){
|
|
||||||
return current.hasSkill('smh_huoji')||current.hasSkill('smh_lianhuan');
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
'step 0'
|
||||||
player.chooseTarget('请将「龙印」交给一名角色',true,function(card,player,target){
|
player.chooseTarget('荐杰:选择一名其他角色获得“龙印”',lib.filter.notMe,true).set('ai',(target)=>{
|
||||||
return target!=player;
|
return get.attitude(get.player(),target);
|
||||||
}).set('ai',function(target){
|
|
||||||
var player=_status.event.player;
|
|
||||||
return 10+get.attitude(player,target);
|
|
||||||
});
|
});
|
||||||
"step 1"
|
'step 1'
|
||||||
if(result.bool&&result.targets&&result.targets.length){
|
if(result.bool){
|
||||||
var target=result.targets[0];
|
var target=result.targets[0];
|
||||||
player.logSkill('xinfu_jianjie',target);
|
|
||||||
player.line(target,'fire');
|
player.line(target,'fire');
|
||||||
target.addSkill('smh_huoji');
|
lib.skill.jianjie.addMark('huoji',player,target);
|
||||||
game.delay();
|
event.target=target;
|
||||||
|
game.delayx();
|
||||||
}
|
}
|
||||||
if(game.hasPlayer(function(current){
|
else event.finish();
|
||||||
return !current.hasSkill('smh_huoji')&¤t!=player
|
'step 2'
|
||||||
|
if(game.hasPlayer((current)=>{
|
||||||
|
return current!=player&¤t!=target;
|
||||||
})){
|
})){
|
||||||
player.chooseTarget('请将「凤印」交给一名角色',true,function(card,player,target){
|
player.chooseTarget('荐杰:选择一名其他角色获得“凤印”',function(card,player,target){
|
||||||
return target!=player&&!target.hasSkill('smh_huoji');
|
return target!=player&&target!=_status.event.getParent().target;
|
||||||
}).set('ai',function(target){
|
},true).set('ai',(target)=>{
|
||||||
var player=_status.event.player;
|
return get.attitude(get.player(),target);
|
||||||
return 10+get.attitude(player,target);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else event.finish();
|
else event.finish();
|
||||||
"step 2"
|
'step 3'
|
||||||
if(result.bool&&result.targets&&result.targets.length){
|
if(result.bool){
|
||||||
var target=result.targets[0];
|
var target=result.targets[0];
|
||||||
player.logSkill('xinfu_jianjie',target);
|
player.line(target,'thunder');
|
||||||
player.line(target,'green');
|
lib.skill.jianjie.addMark('lianhuan',player,target);
|
||||||
target.addSkill('smh_lianhuan');
|
game.delayx();
|
||||||
game.delay();
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
hasMark:(mark,player,target)=>{
|
||||||
"xinfu_jianjie1":{
|
if(!target) return player.getStorage('jianjie_'+mark).length>0;
|
||||||
audio:3,
|
return target.getStorage('jianjie_'+mark).contains(player);
|
||||||
prompt:"你的第一个准备阶段,你令两名不同的角色分别获得龙印与凤印;出牌阶段限一次(你的第一个回合除外),或当拥有龙印、凤印的角色死亡时,你可以转移龙印、凤印。",
|
|
||||||
enable:"phaseUse",
|
|
||||||
usable:1,
|
|
||||||
filter:function (event,player){
|
|
||||||
if(player.phaseNumber==1) return false;
|
|
||||||
if(!game.hasPlayer(function(current){
|
|
||||||
return current.hasSkill('smh_huoji')||current.hasSkill('smh_lianhuan');
|
|
||||||
})) return false;
|
|
||||||
return true;
|
|
||||||
},
|
},
|
||||||
filterTarget:function (card,player,target){
|
addMark:(mark,player,target)=>{
|
||||||
if(ui.selected.targets.length==1){
|
mark='jianjie_'+mark;
|
||||||
return true;
|
target.addAdditionalSkill(`${mark}_${player.playerid}`,mark);
|
||||||
}else{
|
target.markAuto(mark,[player]);
|
||||||
return target.hasSkill('smh_huoji')||target.hasSkill('smh_lianhuan');
|
game.log(player,'令',target,'获得了',`#g“${mark=='jianjie_huoji'?'龙印':'凤印'}”`);
|
||||||
|
},
|
||||||
|
removeMark:(mark,player,target,log)=>{
|
||||||
|
if(lib.skill.jianjie.hasMark(mark,player,target,log)){
|
||||||
|
mark='jianjie_'+mark;
|
||||||
|
target.removeAdditionalSkill(`${mark}_${player.playerid}`);
|
||||||
|
target.unmarkAuto(mark,[player]);
|
||||||
|
if(log) game.log(target,'移去了',player,'给予的',`#g“${mark=='jianjie_huoji'?'龙印':'凤印'}”`);
|
||||||
|
else game.log(player,'移去了',target,'的',`#g“${mark=='jianjie_huoji'?'龙印':'凤印'}”`);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
targetprompt:["移走印","得到印"],
|
subSkill:{
|
||||||
selectTarget:2,
|
use:{
|
||||||
multitarget:true,
|
audio:'xinfu_jianjie',
|
||||||
content:function (){
|
enable:'phaseUse',
|
||||||
'step 0'
|
usable:1,
|
||||||
if(targets[0].hasSkill('smh_huoji')&&targets[0].hasSkill('smh_lianhuan')){
|
filter:function(event,player){
|
||||||
player.chooseControl('龙印','凤印').set('prompt','请选择要移动的印');
|
if(player.phaseNumber<=1) return false;
|
||||||
}
|
const skill=lib.skill.jianjie;
|
||||||
else{
|
return game.hasPlayer(function(current){
|
||||||
if(targets[0].hasSkill('smh_huoji')) event._result={control:'龙印'};
|
return skill.hasMark('huoji',player,current)||skill.hasMark('lianhuan',player,current);
|
||||||
else event._result={control:'凤印'};
|
});
|
||||||
}
|
},
|
||||||
'step 1'
|
filterTarget:function(card,player,target){
|
||||||
if(result.control=='龙印'){
|
|
||||||
targets[0].removeSkill('smh_huoji');
|
|
||||||
targets[1].addSkill('smh_huoji');
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
targets[0].removeSkill('smh_lianhuan');
|
|
||||||
targets[1].addSkill('smh_lianhuan');
|
|
||||||
}
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:8,
|
|
||||||
result:{
|
|
||||||
target:function (player,target){
|
|
||||||
if(ui.selected.targets.length==0){
|
if(ui.selected.targets.length==0){
|
||||||
return get.attitude(player,target)<0?-999:-3;
|
const skill=lib.skill.jianjie;
|
||||||
|
return skill.hasMark('huoji',player,target)||skill.hasMark('lianhuan',player,target);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
selectTarget:2,
|
||||||
|
complexSelect:true,
|
||||||
|
complexTarget:true,
|
||||||
|
multitarget:true,
|
||||||
|
targetprompt:['失去印','获得印'],
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
var skill=lib.skill.jianjie;
|
||||||
|
var bool1=skill.hasMark('huoji',player,targets[0]),bool2=skill.hasMark('lianhuan',player,targets[0]);
|
||||||
|
if(bool1&&bool2){
|
||||||
|
player.chooseControl('龙印','凤印').set('prompt','选择要移动的“印”');
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
return target.countCards('h')+1;
|
event._result={control:(bool1?'龙印':'凤印')}
|
||||||
|
}
|
||||||
|
'step 1'
|
||||||
|
var skill=lib.skill.jianjie,mark=(result.control=='龙印'?'huoji':'lianhuan');
|
||||||
|
skill.removeMark(mark,player,targets[0]);
|
||||||
|
skill.addMark(mark,player,targets[1]);
|
||||||
|
game.delayx();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
die:{
|
||||||
|
audio:'xinfu_jianjie',
|
||||||
|
trigger:{global:'die'},
|
||||||
|
forced:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
const skill=lib.skill.jianjie;
|
||||||
|
return skill.hasMark('huoji',player,event.player)||skill.hasMark('lianhuan',player,event.player);
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
if(lib.skill.jianjie.hasMark('huoji',player,trigger.player)){
|
||||||
|
player.chooseTarget('荐杰:选择一名角色获得“龙印”',true).set('ai',(target)=>{
|
||||||
|
return get.attitude(get.player(),target);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else event.goto(3);
|
||||||
|
'step 1'
|
||||||
|
if(result.bool){
|
||||||
|
var target=result.targets[0];
|
||||||
|
player.line(target,'fire');
|
||||||
|
lib.skill.jianjie.addMark('huoji',player,target);
|
||||||
|
event.target=target;
|
||||||
|
game.delayx();
|
||||||
|
}
|
||||||
|
else event.finish();
|
||||||
|
'step 2'
|
||||||
|
if(lib.skill.jianjie.hasMark('lianhuan',player,trigger.player)){
|
||||||
|
player.chooseTarget('荐杰:选择一名角色获得“凤印”',true).set('ai',(target)=>{
|
||||||
|
return get.attitude(get.player(),target);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else event.finish();
|
||||||
|
'step 3'
|
||||||
|
if(result.bool){
|
||||||
|
var target=result.targets[0];
|
||||||
|
player.line(target,'thunder');
|
||||||
|
lib.skill.jianjie.addMark('lianhuan',player,target);
|
||||||
|
game.delayx();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
logTarget:'player',
|
||||||
|
},
|
||||||
|
huoji:{
|
||||||
|
marktext:'龙',
|
||||||
|
intro:{
|
||||||
|
name:"龙印",
|
||||||
|
content:"<li>出牌阶段限三次。你可以将一张红色牌当作【火攻】使用,且你以此法使用【火攻】的作用效果改为“目标角色随机展示一张手牌A,然后你可以弃置一张与A颜色相同的牌,对目标造成1点火属性伤害”。<br><li>若你同时拥有“凤印”,则你视为拥有技能〖业炎〗。(发动〖业炎〗时,弃置所有“龙印”和“凤印”)",
|
||||||
|
},
|
||||||
|
inherit:'rehuoji',
|
||||||
|
usable:3,
|
||||||
|
charlotte:true,
|
||||||
|
viewAsFilter:function(player){
|
||||||
|
const storage=player.getStorage('jianjie_huoji');
|
||||||
|
if(!storage.some(source=>{
|
||||||
|
return source.isIn()&&source.hasSkill('jianjie');
|
||||||
|
})) return false;
|
||||||
|
return player.hasCard(card=>get.color(card)=='red','she');
|
||||||
|
},
|
||||||
|
group:['jianjie_yeyan','jianjie_huoji_effect'],
|
||||||
|
},
|
||||||
|
huoji_effect:{
|
||||||
|
trigger:{player:'huogongBegin'},
|
||||||
|
forced:true,
|
||||||
|
popup:false,
|
||||||
|
charlotte:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.skill=='jianjie_huoji'
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
trigger.setContent(lib.skill.olhuoji.huogongContent);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
lianhuan:{
|
||||||
|
marktext:'凤',
|
||||||
|
intro:{
|
||||||
|
name:"凤印",
|
||||||
|
content:"<li>出牌阶段限三次。你可以将一张♣牌当作【铁索连环】使用或重铸,且你以此法使用【铁索连环】的目标数上限+1。<br><li>若你同时拥有“龙印”,则你视为拥有技能〖业炎〗。(发动〖业炎〗时,弃置所有“龙印”和“凤印”)",
|
||||||
|
},
|
||||||
|
charlotte:true,
|
||||||
|
usable:3,
|
||||||
|
filter:function(event,player){
|
||||||
|
const storage=player.getStorage('jianjie_lianhuan');
|
||||||
|
if(!storage.some(source=>{
|
||||||
|
return source.isIn()&&source.hasSkill('jianjie');
|
||||||
|
})) return false;
|
||||||
|
if(!player.hasCard(card=>get.suit(card)=='club','she')) return false;
|
||||||
|
return (event.type=='phase'||event.filterCard({name:'tiesuo'},player,event));
|
||||||
|
},
|
||||||
|
inherit:'ollianhuan',
|
||||||
|
group:['jianjie_yeyan','jianjie_lianhuan_effect'],
|
||||||
|
},
|
||||||
|
lianhuan_effect:{
|
||||||
|
trigger:{player:'useCard2'},
|
||||||
|
filter:function(event,player){
|
||||||
|
if(event.skill!='jianjie_lianhuan') return false;
|
||||||
|
var info=get.info(event.card);
|
||||||
|
if(info.allowMultiple==false) return false;
|
||||||
|
if(event.targets&&!info.multitarget){
|
||||||
|
if(game.hasPlayer(current=>{
|
||||||
|
return !event.targets.contains(current)&&lib.filter.targetEnabled2(event.card,player,current);
|
||||||
|
})) return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
charlotte:true,
|
||||||
|
forced:true,
|
||||||
|
popup:false,
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.chooseTarget('是否为'+get.translation(trigger.card)+'额外指定一个目标?',(card,player,target)=>{
|
||||||
|
return !_status.event.sourcex.contains(target)&&lib.filter.targetEnabled2(_status.event.card,player,target);
|
||||||
|
}).set('sourcex',trigger.targets).set('ai',function(target){
|
||||||
|
var player=_status.event.player;
|
||||||
|
return get.effect(target,_status.event.card,player,player);
|
||||||
|
}).set('card',trigger.card);
|
||||||
|
'step 1'
|
||||||
|
if(result.bool){
|
||||||
|
if(!event.isMine()&&!event.isOnline()) game.delayex();
|
||||||
|
}
|
||||||
|
else event.finish();
|
||||||
|
'step 2'
|
||||||
|
if(result.bool){
|
||||||
|
var targets=result.targets;
|
||||||
|
player.line(targets,'thunder');
|
||||||
|
trigger.targets.addArray(targets);
|
||||||
|
game.log(targets,'也成为了',trigger.card,'的目标');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
expose:0.4,
|
yeyan:{
|
||||||
threaten:3,
|
inherit:'yeyan',
|
||||||
},
|
filter:function(event,player){
|
||||||
},
|
const huoji=player.getStorage('jianjie_huoji'),lianhuan=player.getStorage('jianjie_lianhuan');
|
||||||
"smh_huoji":{
|
return huoji.length>0&&lianhuan.some(source=>{
|
||||||
charlotte:true,
|
return huoji.includes(source)&&source.isIn()&&source.hasSkill('jianjie');
|
||||||
group:["smh_yeyan"],
|
})
|
||||||
mark:true,
|
},
|
||||||
marktext:"龙",
|
contentBefore:function(){
|
||||||
intro:{
|
player.awakenSkill('jianjie_yeyan');
|
||||||
name:"龙印",
|
var skill=lib.skill.jianjie;
|
||||||
content:"<li>出牌阶段限三次,你可以将一张红色牌当【火攻】使用。<br><li>若你同时拥有「凤印」,则你视为拥有技能〖业炎〗。(发动〖业炎〗后,弃置龙印和凤印)",
|
var huoji=player.getStorage('jianjie_huoji').slice(0),lianhuan=player.getStorage('jianjie_lianhuan').slice(0);
|
||||||
},
|
huoji.forEach(source=>{
|
||||||
usable:3,
|
skill.removeMark('huoji',source,player,true);
|
||||||
audio:2,
|
});
|
||||||
enable:"chooseToUse",
|
lianhuan.forEach(source=>{
|
||||||
position:"hes",
|
skill.removeMark('lianhuan',source,player,true);
|
||||||
filterCard:function(card){
|
});
|
||||||
return get.color(card)=='red';
|
},
|
||||||
},
|
ai:{
|
||||||
viewAs:{
|
order:1,
|
||||||
name:"huogong",
|
fireAttack:true,
|
||||||
},
|
result:{
|
||||||
viewAsFilter:function (player){
|
//等PZ157来写
|
||||||
if(player.hasSkill('huoji')) return false;
|
/*target:function(player,target){
|
||||||
if(!game.hasPlayer(function(current){
|
if(target.hasSkillTag('nofire')) return 0;
|
||||||
return current.hasSkill('xinfu_jianjie');
|
if(lib.config.mode=='versus') return -1;
|
||||||
})) return false;
|
if(player.hasUnknown()) return 0;
|
||||||
if(!player.countCards('hes',{color:'red'})) return false;
|
return get.damageEffect(target,player);
|
||||||
},
|
}*/
|
||||||
prompt:"将一张红色牌当火攻使用",
|
}
|
||||||
check:function (card){
|
}
|
||||||
var player=_status.currentPhase;
|
|
||||||
if(player.countCards('h')>player.hp){
|
|
||||||
return 6-get.value(card);
|
|
||||||
}
|
|
||||||
return 4-get.value(card)
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
fireAttack:true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
"smh_lianhuan":{
|
|
||||||
audio:2,
|
|
||||||
charlotte:true,
|
|
||||||
enable:"phaseUse",
|
|
||||||
filter:function (event,player){
|
|
||||||
if(player.hasSkill('lianhuan')||player.hasSkill('xinlianhuan')) return false;
|
|
||||||
if(!game.hasPlayer(function(current){
|
|
||||||
return current.hasSkill('xinfu_jianjie');
|
|
||||||
})) return false;
|
|
||||||
if((player.getStat().skill.smh_lianhuan||0)+(player.getStat().skill.smh_lianhuan1||0)>=3) return false;
|
|
||||||
return player.countCards('hs',{suit:'club'})>0;
|
|
||||||
},
|
|
||||||
filterCard:function (card){
|
|
||||||
return get.suit(card)=='club';
|
|
||||||
},
|
|
||||||
viewAs:{
|
|
||||||
name:"tiesuo",
|
|
||||||
},
|
|
||||||
position:'hs',
|
|
||||||
prompt:"将一张梅花牌当铁锁连环使用",
|
|
||||||
check:function (card){return 6-get.value(card)},
|
|
||||||
mark:true,
|
|
||||||
marktext:"凤",
|
|
||||||
intro:{
|
|
||||||
name:"凤印",
|
|
||||||
content:"<li>出牌阶段限三次,你可以将你的任意一张梅花手牌当作【铁索连环】使用或重铸。",
|
|
||||||
},
|
|
||||||
group:["smh_lianhuan1"],
|
|
||||||
},
|
|
||||||
"xinfu_jianjie2":{
|
|
||||||
trigger:{
|
|
||||||
global:"dieAfter",
|
|
||||||
},
|
|
||||||
forced:true,
|
|
||||||
direct:true,
|
|
||||||
silent:true,
|
|
||||||
popup:false,
|
|
||||||
filter:function (event,player){
|
|
||||||
return event.player.hasSkill('smh_huoji')||event.player.hasSkill('smh_lianhuan');
|
|
||||||
},
|
|
||||||
content:function (){
|
|
||||||
"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 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 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 4"
|
|
||||||
if(result.bool&&result.targets&&result.targets.length){
|
|
||||||
var target=result.targets[0];
|
|
||||||
player.line(target,'green');
|
|
||||||
target.addSkill('smh_lianhuan');
|
|
||||||
game.delay();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
"smh_lianhuan1":{
|
|
||||||
enable:"phaseUse",
|
|
||||||
filter:function (event,player){
|
|
||||||
if(player.hasSkill('lianhuan')||player.hasSkill('xinlianhuan')) return false;
|
|
||||||
if(!game.hasPlayer(function(current){
|
|
||||||
return current.hasSkill('xinfu_jianjie');
|
|
||||||
})) return false;
|
|
||||||
if((player.getStat().skill.smh_lianhuan||0)+(player.getStat().skill.smh_lianhuan1||0)>=3) return false;
|
|
||||||
return player.hasCard(card=>lib.skill.smh_lianhuan1.filterCard(card,player),'h');
|
|
||||||
},
|
|
||||||
filterCard:(card,player)=>get.suit(card)=='club'&&player.canRecast(card),
|
|
||||||
check:function(card){
|
|
||||||
return -1;
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
player.recast(cards);
|
|
||||||
},
|
|
||||||
discard:false,
|
|
||||||
lose:false,
|
|
||||||
delay:false,
|
|
||||||
prompt:"将一张梅花牌置入弃牌堆并摸一张牌",
|
|
||||||
ai:{
|
|
||||||
basic:{
|
|
||||||
order:1,
|
|
||||||
},
|
|
||||||
result:{
|
|
||||||
player:1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
forced:true
|
|
||||||
},
|
|
||||||
"smh_yeyan":{
|
|
||||||
unique:true,
|
|
||||||
enable:"phaseUse",
|
|
||||||
audio:3,
|
|
||||||
skillAnimation:true,
|
|
||||||
animationColor:'gray',
|
|
||||||
prompt:"限定技,出牌阶段,你可以对一至三名角色造成至多共3点火焰伤害(你可以任意分配每名目标角色受到的伤害点数),若你将对一名角色分配2点或更多的火焰伤害,你须先弃置四张不同花色的手牌再失去3点体力。",
|
|
||||||
filter:function (event,player){
|
|
||||||
if(!game.hasPlayer(function(current){
|
|
||||||
return current.hasSkill('xinfu_jianjie');
|
|
||||||
})) return false;
|
|
||||||
return player.hasSkill('smh_lianhuan');
|
|
||||||
},
|
|
||||||
filterTarget:function (card,player,target){
|
|
||||||
var length=ui.selected.cards.length;
|
|
||||||
return (length==0||length==4);
|
|
||||||
},
|
|
||||||
filterCard:function (card){
|
|
||||||
var suit=get.suit(card);
|
|
||||||
for(var i=0;i<ui.selected.cards.length;i++){
|
|
||||||
if(get.suit(ui.selected.cards[i])==suit) return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
complexCard:true,
|
|
||||||
selectCard:[0,4],
|
|
||||||
line:"fire",
|
|
||||||
check:function (){return -1},
|
|
||||||
selectTarget:function (){
|
|
||||||
if(ui.selected.cards.length==4) return [1,2];
|
|
||||||
if(ui.selected.cards.length==0) return [1,3];
|
|
||||||
game.uncheck('target');
|
|
||||||
return [1,3];
|
|
||||||
},
|
|
||||||
multitarget:true,
|
|
||||||
multiline:true,
|
|
||||||
content:function (){
|
|
||||||
"step 0"
|
|
||||||
player.removeSkill('smh_huoji');
|
|
||||||
player.removeSkill('smh_lianhuan');
|
|
||||||
targets.sort(lib.sort.seat);
|
|
||||||
event.num=0
|
|
||||||
"step 1"
|
|
||||||
if(cards.length==4) event.goto(2);
|
|
||||||
else {
|
|
||||||
if(event.num<targets.length){
|
|
||||||
targets[event.num].damage('fire',1,'nocard');
|
|
||||||
event.num++;
|
|
||||||
}
|
|
||||||
if(event.num==targets.length) event.finish();
|
|
||||||
else event.redo();
|
|
||||||
}
|
|
||||||
"step 2"
|
|
||||||
player.loseHp(3);
|
|
||||||
if(targets.length==1) event.goto(4);
|
|
||||||
else{
|
|
||||||
player.chooseTarget('请选择受到2点伤害的角色',true,function(card,player,target){
|
|
||||||
return _status.event.targets.contains(target)
|
|
||||||
}).set('ai',function(target){
|
|
||||||
return 1;
|
|
||||||
}).set('targets',targets).set('forceDie',true);
|
|
||||||
}
|
|
||||||
"step 3"
|
|
||||||
if(event.num<targets.length){
|
|
||||||
var dnum=1;
|
|
||||||
if(result.bool&&result.targets&&targets[event.num]==result.targets[0]) dnum=2;
|
|
||||||
targets[event.num].damage('fire',dnum,'nocard');
|
|
||||||
event.num++;
|
|
||||||
}
|
|
||||||
if(event.num==targets.length) event.finish();
|
|
||||||
else event.redo();
|
|
||||||
"step 4"
|
|
||||||
player.chooseControl("2点","3点").set('prompt','请选择伤害点数').set('ai',function(){
|
|
||||||
return "3点";
|
|
||||||
}).set('forceDie',true);
|
|
||||||
"step 5"
|
|
||||||
targets[0].damage('fire',result.control=="2点"?2:3,'nocard');
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:1,
|
|
||||||
result:{
|
|
||||||
target:0,
|
|
||||||
/*target:function (player,target){
|
|
||||||
if(target.hasSkillTag('nofire')) return 0;
|
|
||||||
if(lib.config.mode=='versus') return -1;
|
|
||||||
if(player.hasUnknown()) return 0;
|
|
||||||
return get.damageEffect(target,player);
|
|
||||||
},*/
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"xinfu_yinshi":{
|
xinfu_yinshi:{
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{
|
trigger:{player:'damageBegin4'},
|
||||||
player:"damageBegin4",
|
|
||||||
},
|
|
||||||
forced:true,
|
forced:true,
|
||||||
//priority:15,
|
|
||||||
filter:function (event,player){
|
filter:function (event,player){
|
||||||
if(player.hasSkill('smh_huoji')||player.hasSkill('smh_lianhuan')) return false;
|
const skill=lib.skill.jianjie;
|
||||||
|
if(skill.hasMark('huoji',player)||skill.hasMark('lianhuan',player)) return false;
|
||||||
if(!player.hasEmptySlot(2)) return false;
|
if(!player.hasEmptySlot(2)) return false;
|
||||||
if(event.hasNature()) return true;
|
if(event.hasNature()) return true;
|
||||||
return get.type(event.card,'trick')=='trick';
|
return get.type(event.card,'trick')=='trick';
|
||||||
|
@ -24164,7 +24093,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
nothunder:true,
|
nothunder:true,
|
||||||
effect:{
|
effect:{
|
||||||
target:function (card,player,target,current){
|
target:function (card,player,target,current){
|
||||||
if(target.hasSkill('smh_huoji')||target.hasSkill('smh_lianhuan')) return;
|
const skill=lib.skill.jianjie;
|
||||||
|
if(skill.hasMark('huoji',target)||skill.hasMark('lianhuan',target)) return false;
|
||||||
if(player==target&&get.subtype(card)=='equip2'){
|
if(player==target&&get.subtype(card)=='equip2'){
|
||||||
if(get.equipValue(card)<=8) return 0;
|
if(get.equipValue(card)<=8) return 0;
|
||||||
}
|
}
|
||||||
|
@ -24247,7 +24177,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}).setContent('gaincardMultiple');
|
}).setContent('gaincardMultiple');
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"jianjie_faq":{},
|
|
||||||
"xinfu_wuniang":{
|
"xinfu_wuniang":{
|
||||||
trigger:{
|
trigger:{
|
||||||
player:["useCard","respond"],
|
player:["useCard","respond"],
|
||||||
|
@ -24833,24 +24762,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
"xionghuo_low_info":"",
|
"xionghuo_low_info":"",
|
||||||
"xinfu_shajue":"杀绝",
|
"xinfu_shajue":"杀绝",
|
||||||
"xinfu_shajue_info":"锁定技,其他角色进入濒死状态时,若其体力值小于0,则你获得一个“暴戾”标记,并获得使其进入濒死状态的牌。",
|
"xinfu_shajue_info":"锁定技,其他角色进入濒死状态时,若其体力值小于0,则你获得一个“暴戾”标记,并获得使其进入濒死状态的牌。",
|
||||||
"xinfu_jianjie":"荐杰",
|
xinfu_jianjie:"荐杰",
|
||||||
"xinfu_jianjie_info":"你的第一个准备阶段,你令两名其他角色分别获得龙印与凤印;出牌阶段限一次(你的第一个回合除外),或当拥有龙印、凤印的角色死亡时,你可以转移龙印、凤印。",
|
jianjie:'荐杰',
|
||||||
"xinfu_jianjie1":"荐杰",
|
jianjie_info:'①你的第一个准备阶段开始时,你令一名其他角色获得“龙印”,然后令另一名其他角色获得“凤印”。②出牌阶段限一次。若当前回合不是你的第一个回合,则你可以移动场上的“龙印”或“凤印”。③拥有“龙印”或“凤印”的其他角色死亡时,你转移该角色的“龙印”和“凤印”。④拥有“龙印”/“凤印”的角色视为拥有〖火计〗/〖连环〗,且同时拥有这两种标记的角色视为拥有〖业炎〗。',
|
||||||
"xinfu_jianjie1_info":"",
|
jianjie_huoji:'火计',
|
||||||
"smh_huoji":"火计",
|
jianjie_huoji_effect:'火计',
|
||||||
"smh_huoji_info":"",
|
jianjie_huoji_info:'出牌阶段限三次。你可以将一张红色牌当作【火攻】使用,且你以此法使用【火攻】的作用效果改为“目标角色随机展示一张手牌A,然后你可以弃置一张与A颜色相同的牌,对目标造成1点火属性伤害”。',
|
||||||
"smh_lianhuan":"连环",
|
jianjie_lianhuan:'连环',
|
||||||
"smh_lianhuan_info":"",
|
jianjie_lianhuan_effect:'连环',
|
||||||
"xinfu_jianjie2":"荐杰",
|
jianjie_lianhuan_info:'出牌阶段限三次。你可以将一张♣牌当作【铁索连环】使用或重铸,且你以此法使用【铁索连环】的目标数上限+1。',
|
||||||
"xinfu_jianjie2_info":"",
|
jianjie_yeyan:'业炎',
|
||||||
"smh_lianhuan1":"连铸",
|
jianjie_yeyan_info:'限定技。出牌阶段,你可以移去你所有的“龙印”和“凤印”,对一至三名角色造成至多共3点火焰伤害(你可以任意分配每名目标角色受到的伤害点数),若你将对一名角色分配2点或更多的火焰伤害,你须先弃置四张不同花色的手牌再失去3点体力。',
|
||||||
"smh_lianhuan1_info":"",
|
xinfu_yinshi:"隐士",
|
||||||
"smh_yeyan":"业炎",
|
xinfu_yinshi_info:"锁定技,若你没有“龙印”和“凤印”且防具栏为空,则当你受到属性伤害或锦囊牌造成的伤害时,防止此伤害。",
|
||||||
"smh_yeyan_info":"",
|
xinfu_chenghao:"称好",
|
||||||
"xinfu_yinshi":"隐士",
|
xinfu_chenghao_info:"当一名角色受到属性伤害后,若其存活且其武将牌横置且是伤害传导的起点,则你可以观看牌堆顶的X张牌并分配给任意角色。(X为横置的角色数量且包含该角色)",
|
||||||
"xinfu_yinshi_info":"锁定技,若你没有龙印、凤印且防具栏为空,则当你受到属性伤害或锦囊牌造成的伤害时,防止此伤害。",
|
|
||||||
"xinfu_chenghao":"称好",
|
|
||||||
"xinfu_chenghao_info":"当一名角色受到属性伤害后,若其存活且其武将牌横置且是伤害传导的起点,则你可以观看牌堆顶的X张牌并分配给任意角色。(X为横置的角色数量且包含该角色)",
|
|
||||||
"jianjie_faq":"关于龙凤印",
|
"jianjie_faq":"关于龙凤印",
|
||||||
"jianjie_faq_info":"龙印效果:视为拥有〖火计〗。凤印效果:视为拥有〖连环〗。(均一回合限使用三次) 龙凤印齐全:视为拥有〖业炎〗,〖业炎〗发动后移除龙凤印。",
|
"jianjie_faq_info":"龙印效果:视为拥有〖火计〗。凤印效果:视为拥有〖连环〗。(均一回合限使用三次) 龙凤印齐全:视为拥有〖业炎〗,〖业炎〗发动后移除龙凤印。",
|
||||||
"xinfu_wuniang":"武娘",
|
"xinfu_wuniang":"武娘",
|
||||||
|
|
|
@ -14745,6 +14745,7 @@
|
||||||
player.classList.add('glow_phase');
|
player.classList.add('glow_phase');
|
||||||
}
|
}
|
||||||
player.phaseNumber=num;
|
player.phaseNumber=num;
|
||||||
|
_status.currentPhase=player;
|
||||||
if(popup&&lib.config.show_phase_prompt) player.popup('回合开始',null,false);
|
if(popup&&lib.config.show_phase_prompt) player.popup('回合开始',null,false);
|
||||||
},player,player.phaseNumber,!player.noPhaseDelay);
|
},player,player.phaseNumber,!player.noPhaseDelay);
|
||||||
_status.currentPhase=player;
|
_status.currentPhase=player;
|
||||||
|
|
Loading…
Reference in New Issue