This commit is contained in:
parent
a216a18652
commit
dc4bbb34d5
34
card/swd.js
34
card/swd.js
|
@ -1249,14 +1249,22 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
target.changeHujia(2);
|
target.changeHujia(2);
|
||||||
target.turnOver();
|
target.turnOver();
|
||||||
'step 1'
|
'step 1'
|
||||||
target.addTempSkill('qianxing',{player:'turnOverAfter'});
|
target.addTempSkill('hslingjian_jinjilengdong',{player:'turnOverAfter'});
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
order:2,
|
order:2,
|
||||||
result:{
|
result:{
|
||||||
target:function(player,target){
|
target:function(player,target){
|
||||||
if(target.hasSkillTag('noturn')) return 0;
|
var num=ai.get.threaten(target,player);
|
||||||
return -1;
|
if(target.hasSkillTag('noturn')) return 2*num;
|
||||||
|
if(target.hp>4) return -1.2*num;
|
||||||
|
else if(target.hp==4) return -1*num;
|
||||||
|
else if(target.hp==3) return -0.9*num;
|
||||||
|
else if(target.hp==2) return -0.5*num;
|
||||||
|
else{
|
||||||
|
if(target.maxHp>2) return 1*num;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
useful:[2,0.5],
|
useful:[2,0.5],
|
||||||
|
@ -4186,11 +4194,28 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
forced:true,
|
forced:true,
|
||||||
popup:false,
|
popup:false,
|
||||||
silent:true,
|
silent:true,
|
||||||
|
temp:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
player.removeSkill('hslingjian_xingtigaizao');
|
player.removeSkill('hslingjian_xingtigaizao');
|
||||||
player.storage.hslingjian_xingtigaizao=0;
|
player.storage.hslingjian_xingtigaizao=0;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
hslingjian_jinjilengdong:{
|
||||||
|
mark:true,
|
||||||
|
nopop:true,
|
||||||
|
temp:true,
|
||||||
|
intro:{
|
||||||
|
content:'不能使用卡牌,也不能成为卡牌的目标'
|
||||||
|
},
|
||||||
|
mod:{
|
||||||
|
targetEnabled:function(card,player,target){
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
cardEnabled:function(card,player){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
qinglonglingzhu:{
|
qinglonglingzhu:{
|
||||||
trigger:{source:'damageEnd'},
|
trigger:{source:'damageEnd'},
|
||||||
direct:true,
|
direct:true,
|
||||||
|
@ -4909,7 +4934,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
hslingjian_zhongxinghujia:'重型护甲',
|
hslingjian_zhongxinghujia:'重型护甲',
|
||||||
hslingjian_zhongxinghujia_info:'可用于煅造装备;令一名角色装备一件随机防具,然后随机弃置其一张手牌',
|
hslingjian_zhongxinghujia_info:'可用于煅造装备;令一名角色装备一件随机防具,然后随机弃置其一张手牌',
|
||||||
hslingjian_jinjilengdong:'紧急冷冻',
|
hslingjian_jinjilengdong:'紧急冷冻',
|
||||||
hslingjian_jinjilengdong_info:'可用于煅造装备;令一名武将牌正面朝上的其他角色获得两点护甲并翻面,然后获得技能潜行直到武将牌翻回正面',
|
hslingjian_jinjilengdong_bg:'冻',
|
||||||
|
hslingjian_jinjilengdong_info:'可用于煅造装备;令一名武将牌正面朝上的其他角色获得两点护甲并翻面,该角色不能使用卡牌,也不能成为卡牌的目标直到武将牌翻回正面',
|
||||||
hslingjian_yinmilichang:'隐秘力场',
|
hslingjian_yinmilichang:'隐秘力场',
|
||||||
hslingjian_yinmilichang_info:'可用于煅造装备;令一名其他角色获得技能潜行,直到其下一回合开始',
|
hslingjian_yinmilichang_info:'可用于煅造装备;令一名其他角色获得技能潜行,直到其下一回合开始',
|
||||||
hslingjian_xingtigaizao:'型体改造',
|
hslingjian_xingtigaizao:'型体改造',
|
||||||
|
|
|
@ -377,51 +377,57 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
liuying:{
|
liuying:{
|
||||||
trigger:{player:'useCard'},
|
trigger:{player:'useCardAfter'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(event.card.name!='sha') return false;
|
if(!player.storage.liuying) player.storage.liuying=[];
|
||||||
return game.hasPlayer(function(current){
|
return event.card&&event.card.name=='sha'&&game.hasPlayer(function(current){
|
||||||
return (event.targets.contains(current)==false&¤t!=player&&
|
return !player.storage.liuying.contains(current)&&player.canUse('sha',current,false);
|
||||||
lib.filter.targetEnabled(event.card,player,current))
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
direct:true,
|
direct:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
var list=game.filterPlayer(function(current){
|
|
||||||
return (trigger.targets.contains(current)==false&¤t!=player&&
|
|
||||||
lib.filter.targetEnabled(trigger.card,player,current))
|
|
||||||
});
|
|
||||||
event.list=list;
|
|
||||||
'step 1'
|
|
||||||
if(event.list.length){
|
|
||||||
player.chooseTarget(get.prompt('liuying'),function(card,player,target){
|
player.chooseTarget(get.prompt('liuying'),function(card,player,target){
|
||||||
return event.list.contains(target);
|
return !player.storage.liuying.contains(target)&&player.canUse('sha',target,false);
|
||||||
}).ai=function(target){
|
}).ai=function(target){
|
||||||
return get.effect(target,trigger.card,player,player);
|
return ai.get.effect(target,{name:'sha'},player,player);
|
||||||
};
|
};
|
||||||
|
'step 1'
|
||||||
|
if(result.bool){
|
||||||
|
player.logSkill('liuying',result.targets);
|
||||||
|
event.target=result.targets[0];
|
||||||
|
var cards=get.cards();
|
||||||
|
player.showCards(cards,get.translation(player)+'对'+get.translation(result.targets)+'发动了【流影】');
|
||||||
|
event.bool=(get.color(cards[0])=='black');
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
event.finish();
|
event.finish();
|
||||||
}
|
}
|
||||||
'step 2'
|
'step 2'
|
||||||
if(result.bool){
|
if(event.bool){
|
||||||
event.current=result.targets[0];
|
player.useCard({name:'sha'},event.target,false).animate=false;
|
||||||
event.current.judge(function(card){
|
|
||||||
if(get.color(card)=='black') return -1;
|
|
||||||
return 0;
|
|
||||||
});
|
|
||||||
event.list.remove(event.current);
|
|
||||||
player.logSkill('liuying',event.current);
|
|
||||||
}
|
}
|
||||||
else{
|
},
|
||||||
event.finish();
|
group:['liuying_count1','liuying_count2'],
|
||||||
|
subSkill:{
|
||||||
|
count1:{
|
||||||
|
trigger:{player:'shaAfter'},
|
||||||
|
forced:true,
|
||||||
|
popup:false,
|
||||||
|
silent:true,
|
||||||
|
content:function(){
|
||||||
|
if(!player.storage.liuying) player.storage.liuying=[];
|
||||||
|
player.storage.liuying.add(trigger.target);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
count2:{
|
||||||
|
trigger:{player:'phaseAfter'},
|
||||||
|
forced:true,
|
||||||
|
popup:false,
|
||||||
|
silent:true,
|
||||||
|
content:function(){
|
||||||
|
delete player.storage.liuying;
|
||||||
}
|
}
|
||||||
'step 3'
|
|
||||||
if(result.color=='black'){
|
|
||||||
trigger.targets.push(event.current);
|
|
||||||
game.log(event.current,'被追加为额外目标');
|
|
||||||
event.goto(1);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1629,7 +1635,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
xiuhua:'袖花',
|
xiuhua:'袖花',
|
||||||
xiuhua_info:'每当一件其他角色的装备因被替换或弃置进入弃牌堆,你可以获得之',
|
xiuhua_info:'每当一件其他角色的装备因被替换或弃置进入弃牌堆,你可以获得之',
|
||||||
liuying:'流影',
|
liuying:'流影',
|
||||||
liuying_info:'每当你使用一张杀,你可以指定一名不是此杀目标的角色并进行一次判定,若结果是黑色,将其追加为杀的额外目标并可以再次判定',
|
liuying_info:'每当你使用一张杀结算完毕后,你可以指定一名本回合未成为过你的杀的目标的角色,并亮出牌堆顶的一张牌,若为黑色,你对该角色使用一张杀',
|
||||||
boyun:'拨云',
|
boyun:'拨云',
|
||||||
boyun1:'拨云',
|
boyun1:'拨云',
|
||||||
boyun2:'拨云',
|
boyun2:'拨云',
|
||||||
|
|
|
@ -56,6 +56,7 @@ window.noname_character_rank={
|
||||||
'swd_shuwaner',
|
'swd_shuwaner',
|
||||||
],
|
],
|
||||||
a:[
|
a:[
|
||||||
|
'pal_yueqi',
|
||||||
'pal_luozhaoyan',
|
'pal_luozhaoyan',
|
||||||
'pal_xia',
|
'pal_xia',
|
||||||
'hs_yashaji',
|
'hs_yashaji',
|
||||||
|
|
|
@ -392,12 +392,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
min=nh;
|
min=nh;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if(game.countPlayer()>=7){
|
|
||||||
return max-min<=2;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
return max-min<=1;
|
return max-min<=1;
|
||||||
}
|
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.draw(2);
|
player.draw(2);
|
||||||
|
@ -9275,7 +9270,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
jiefen:'解纷',
|
jiefen:'解纷',
|
||||||
jiefen_info:'出牌阶段限一次,你可以令一名手牌数多于你的角色交给你一张牌,然后你交给一名手牌数少于你的角色一张牌',
|
jiefen_info:'出牌阶段限一次,你可以令一名手牌数多于你的角色交给你一张牌,然后你交给一名手牌数少于你的角色一张牌',
|
||||||
datong:'大同',
|
datong:'大同',
|
||||||
datong_info:'任意一名角色的结束阶段,若全场手牌数最多和最少的角色手牌数之差不超过1(人数不少于7时改为2),你摸两张牌',
|
datong_info:'任意一名角色的结束阶段,若全场手牌数最多和最少的角色手牌数之差不超过1,你摸两张牌',
|
||||||
huodan:'火丹',
|
huodan:'火丹',
|
||||||
huodan_info:'出牌阶段限一次,你可以弃置一张红色牌并失去一点体力,然后将两点火属性伤害分配给1~2名角色',
|
huodan_info:'出牌阶段限一次,你可以弃置一张红色牌并失去一点体力,然后将两点火属性伤害分配给1~2名角色',
|
||||||
huodan_info_alter:'出牌阶段限一次,你可以弃置一张红色牌并失去一点体力,然后将两点火属性伤害分配给1~2名角色;若你只分配了一名角色,该角色在结算后摸一张牌',
|
huodan_info_alter:'出牌阶段限一次,你可以弃置一张红色牌并失去一点体力,然后将两点火属性伤害分配给1~2名角色;若你只分配了一名角色,该角色在结算后摸一张牌',
|
||||||
|
|
|
@ -40,7 +40,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
pal_jiangcheng:['male','qun',4,['yanzhan','fenshi']],
|
pal_jiangcheng:['male','qun',4,['yanzhan','fenshi']],
|
||||||
|
|
||||||
pal_yuejinzhao:['male','wei',4,['ywuhun','yingfeng']],
|
pal_yuejinzhao:['male','wei',4,['ywuhun','yingfeng']],
|
||||||
// pal_yueqi:['female','wei',4,[]],
|
pal_yueqi:['female','wei',3,['tianwu','liguang','shiying']],
|
||||||
// pal_mingxiu:['female','qun',4,[]],
|
// pal_mingxiu:['female','qun',4,[]],
|
||||||
// pal_xianqing:['male','qun',4,[]],
|
// pal_xianqing:['male','qun',4,[]],
|
||||||
pal_luozhaoyan:['female','shu',4,['fenglue','tanhua']],
|
pal_luozhaoyan:['female','shu',4,['fenglue','tanhua']],
|
||||||
|
@ -84,6 +84,219 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
pal_jiangcheng:'折剑山庄庄主欧阳英的得意门生,但因其蚩尤后人魔族的身份,令他无法被容于人界;再加上人界半魔同族饱受人类迫害,故最终成为净天教教主魔君“姜世离”,毅然肩负起保护同族的重任。',
|
pal_jiangcheng:'折剑山庄庄主欧阳英的得意门生,但因其蚩尤后人魔族的身份,令他无法被容于人界;再加上人界半魔同族饱受人类迫害,故最终成为净天教教主魔君“姜世离”,毅然肩负起保护同族的重任。',
|
||||||
},
|
},
|
||||||
skill:{
|
skill:{
|
||||||
|
tianwu:{
|
||||||
|
trigger:{player:'useCardToBegin'},
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.targets&&event.targets.length==1&&player.getEnemies().contains(event.target);
|
||||||
|
},
|
||||||
|
frequent:true,
|
||||||
|
content:function(){
|
||||||
|
var list=[1,2,3,4,5,6];
|
||||||
|
var target=trigger.target;
|
||||||
|
if(target.countCards('he')==0){
|
||||||
|
list.remove(1);
|
||||||
|
}
|
||||||
|
if(target.isLinked()){
|
||||||
|
list.remove(4);
|
||||||
|
}
|
||||||
|
if(target.hasSkill('fengyin')){
|
||||||
|
list.remove(5);
|
||||||
|
}
|
||||||
|
switch(list.randomGet()){
|
||||||
|
case 1:target.discard(target.getCards('he').randomGet());break;
|
||||||
|
case 2:target.loseHp();break;
|
||||||
|
case 3:target.damage();break;
|
||||||
|
case 4:if(!target.isLinked()) target.link();break;
|
||||||
|
case 5:target.addTempSkill('fengyin',{player:'phaseAfter'});break;
|
||||||
|
case 6:{
|
||||||
|
var list=[];
|
||||||
|
for(var i=0;i<lib.inpile.length;i++){
|
||||||
|
var info=lib.card[lib.inpile[i]];
|
||||||
|
if(info.type=='delay'&&!info.cancel&&!target.hasJudge(lib.inpile[i])){
|
||||||
|
list.push(lib.inpile[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(list.length){
|
||||||
|
var card=game.createCard(list.randomGet());
|
||||||
|
target.addJudge(card);
|
||||||
|
target.$draw(card);
|
||||||
|
game.delay();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
shiying:{
|
||||||
|
trigger:{global:'dieBefore'},
|
||||||
|
skillAnimation:'epic',
|
||||||
|
animationColor:'water',
|
||||||
|
unique:true,
|
||||||
|
init:function(player){
|
||||||
|
player.storage.shiying=false;
|
||||||
|
},
|
||||||
|
mark:true,
|
||||||
|
intro:{
|
||||||
|
content:'limited'
|
||||||
|
},
|
||||||
|
check:function(event,player){
|
||||||
|
console.log(player.name,event.player.name);
|
||||||
|
return get.attitude(player,event.player)>=3;
|
||||||
|
},
|
||||||
|
filter:function(event,player){
|
||||||
|
return !player.storage.shiying&&event.player!=player;
|
||||||
|
},
|
||||||
|
logTarget:'player',
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
trigger.untrigger();
|
||||||
|
trigger.finish();
|
||||||
|
player.awakenSkill('shiying');
|
||||||
|
player.storage.shiying=true;
|
||||||
|
|
||||||
|
player.maxHp=3;
|
||||||
|
player.hp=3;
|
||||||
|
trigger.player.maxHp=3;
|
||||||
|
trigger.player.hp=3;
|
||||||
|
|
||||||
|
player.clearSkills();
|
||||||
|
trigger.player.clearSkills();
|
||||||
|
'step 1'
|
||||||
|
var hs=player.get('hej');
|
||||||
|
player.$throw(hs);
|
||||||
|
player.lose(player.get('hej'))._triggered=null;
|
||||||
|
'step 2'
|
||||||
|
var hs=trigger.player.get('hej');
|
||||||
|
trigger.player.$throw(hs);
|
||||||
|
trigger.player.lose(trigger.player.get('hej'))._triggered=null;
|
||||||
|
'step 3'
|
||||||
|
game.asyncDraw([player,trigger.player],3);
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
threaten:1.5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
liguang:{
|
||||||
|
trigger:{player:'phaseEnd'},
|
||||||
|
filter:function(event,player){
|
||||||
|
if(!game.hasPlayer(function(current){
|
||||||
|
return current.countCards('ej');
|
||||||
|
})){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return player.countCards('h')>0;
|
||||||
|
},
|
||||||
|
direct:true,
|
||||||
|
content:function(){
|
||||||
|
"step 0"
|
||||||
|
player.chooseCardTarget({
|
||||||
|
ai1:function(card){
|
||||||
|
return 7-get.useful(card);
|
||||||
|
},
|
||||||
|
ai2:function(target){
|
||||||
|
var player=_status.event.player;
|
||||||
|
if(ui.selected.targets.length==0){
|
||||||
|
if(target.countCards('j')&&get.attitude(player,target)>0) return 10;
|
||||||
|
if(get.attitude(player,target)<0){
|
||||||
|
var players=game.filterPlayer();
|
||||||
|
for(var i=0;i<players.length;i++){
|
||||||
|
if(get.attitude(player,players[i])>0){
|
||||||
|
if((target.getEquip(1)&&!players[i].getEquip(1))||
|
||||||
|
(target.getEquip(2)&&!players[i].getEquip(2))||
|
||||||
|
(target.getEquip(3)&&!players[i].getEquip(3))||
|
||||||
|
(target.getEquip(4)&&!players[i].getEquip(4))||
|
||||||
|
(target.getEquip(5)&&!players[i].getEquip(5))) return -get.attitude(player,target);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return -get.attitude(player,target)*get.attitude(player,ui.selected.targets[0]);
|
||||||
|
},
|
||||||
|
multitarget:true,
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
if(ui.selected.targets.length){
|
||||||
|
var from=ui.selected.targets[0];
|
||||||
|
var judges=from.getCards('j');
|
||||||
|
for(var i=0;i<judges.length;i++){
|
||||||
|
if(!target.hasJudge(judges[i].viewAs||judges[i].name)) return true;
|
||||||
|
}
|
||||||
|
if(target.isMin()) return false;
|
||||||
|
if((from.getEquip(1)&&!target.getEquip(1))||
|
||||||
|
(from.getEquip(2)&&!target.getEquip(2))||
|
||||||
|
(from.getEquip(3)&&!target.getEquip(3))||
|
||||||
|
(from.getEquip(4)&&!target.getEquip(4))||
|
||||||
|
(from.getEquip(5)&&!target.getEquip(5))) return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
return target.countCards('ej')>0;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
selectTarget:2,
|
||||||
|
filterCard:lib.filter.cardDiscardable,
|
||||||
|
prompt:get.prompt('liguang'),
|
||||||
|
targetprompt:['被移走','移动目标'],
|
||||||
|
target:target
|
||||||
|
});
|
||||||
|
"step 1"
|
||||||
|
if(!result.bool){
|
||||||
|
event.finish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.discard(result.cards);
|
||||||
|
player.logSkill('liguang',result.targets,false);
|
||||||
|
player.line2(result.targets);
|
||||||
|
event.targets=result.targets;
|
||||||
|
"step 2"
|
||||||
|
game.delay();
|
||||||
|
"step 3"
|
||||||
|
if(targets.length==2){
|
||||||
|
player.choosePlayerCard('ej',true,function(button){
|
||||||
|
var player=_status.event.player;
|
||||||
|
var targets0=_status.event.targets0;
|
||||||
|
var targets1=_status.event.targets1;
|
||||||
|
if(get.attitude(player,targets0)>get.attitude(player,targets1)){
|
||||||
|
return get.position(button.link)=='j'?10:0;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
if(get.position(button.link)=='j') return -10;
|
||||||
|
return get.equipValue(button.link);
|
||||||
|
}
|
||||||
|
},targets[0]).set('targets0',targets[0]).set('targets1',targets[1]).set('filterButton',function(button){
|
||||||
|
var targets1=_status.event.targets1;
|
||||||
|
if(get.position(button.link)=='j'){
|
||||||
|
return !targets1.hasJudge(button.link.viewAs||button.link.name);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
return !targets1.countCards('e',{subtype:get.subtype(button.link)});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
event.finish();
|
||||||
|
}
|
||||||
|
"step 4"
|
||||||
|
if(result.bool&&result.links.length){
|
||||||
|
var link=result.links[0];
|
||||||
|
if(get.position(link)=='e'){
|
||||||
|
event.targets[1].equip(link);
|
||||||
|
}
|
||||||
|
else if(link.viewAs){
|
||||||
|
event.targets[1].addJudge({name:link.viewAs},[link]);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
event.targets[1].addJudge(link);
|
||||||
|
}
|
||||||
|
event.targets[0].$give(link,event.targets[1])
|
||||||
|
game.delay();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
expose:0.2,
|
||||||
|
threaten:1.3
|
||||||
|
}
|
||||||
|
},
|
||||||
xiepan:{
|
xiepan:{
|
||||||
trigger:{player:'loseEnd'},
|
trigger:{player:'loseEnd'},
|
||||||
check:function(event,player){
|
check:function(event,player){
|
||||||
|
@ -137,7 +350,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
player.chooseButton(true,['御甲:选择一张机关牌获得之',[list,'vcard']]).ai=function(button){
|
player.chooseButton(true,['御甲:选择一张机关牌获得之',[list,'vcard']]).ai=function(button){
|
||||||
if(player.hasSkill('jiguanyaoshu_skill')&&button.link[2]=='jiguanyaoshu') return 0;
|
if(player.hasSkill('jiguanyaoshu_skill')&&button.link[2]=='jiguanyaoshu') return 0;
|
||||||
return ai.get.value({name:button.link[2]});
|
return get.value({name:button.link[2]});
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -494,7 +707,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
hef=-1;
|
hef=-1;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
hef=ai.get.effect(target,hs[i],player,player);
|
hef=get.effect(target,hs[i],player,player);
|
||||||
}
|
}
|
||||||
if(lib.filter.targetEnabled2(hs[i],player,target)&&hef>0){
|
if(lib.filter.targetEnabled2(hs[i],player,target)&&hef>0){
|
||||||
num++;
|
num++;
|
||||||
|
@ -519,7 +732,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.chooseCard([1,Infinity],'按顺序选择对'+get.translation(result.targets)+'使用的牌',function(card){
|
player.chooseCard([1,Infinity],'按顺序选择对'+get.translation(result.targets)+'使用的牌',function(card){
|
||||||
return lib.filter.targetEnabled2(card,player,event.target);
|
return lib.filter.targetEnabled2(card,player,event.target);
|
||||||
}).ai=function(card){
|
}).ai=function(card){
|
||||||
if(ai.get.effect(event.target,card,player,player)>0){
|
if(get.effect(event.target,card,player,player)>0){
|
||||||
if(get.attitude(player,event.target)>0&&get.tag(card,'damage')){
|
if(get.attitude(player,event.target)>0&&get.tag(card,'damage')){
|
||||||
for(var i=0;i<ui.selected.cards.length;i++){
|
for(var i=0;i<ui.selected.cards.length;i++){
|
||||||
if(get.tag(ui.selected.cards[i]),'damage'){
|
if(get.tag(ui.selected.cards[i]),'damage'){
|
||||||
|
@ -527,7 +740,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ai.get.order(card);
|
return get.order(card);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -593,7 +806,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return lib.card.feibiao&&player.countCards('he',{color:'black'});
|
return lib.card.feibiao&&player.countCards('he',{color:'black'});
|
||||||
},
|
},
|
||||||
check:function(card){
|
check:function(card){
|
||||||
return 8-ai.get.value(card);
|
return 8-get.value(card);
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
var list=player.getEnemies();
|
var list=player.getEnemies();
|
||||||
|
@ -706,7 +919,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
var players=game.filterPlayer();
|
var players=game.filterPlayer();
|
||||||
for(var i=0;i<players.length;i++){
|
for(var i=0;i<players.length;i++){
|
||||||
if(get.attitude(player,players[i])>2&&
|
if(get.attitude(player,players[i])>2&&
|
||||||
ai.get.recoverEffect(players[i],player,player)>0){
|
get.recoverEffect(players[i],player,player)>0){
|
||||||
if(players[i].hp==1){
|
if(players[i].hp==1){
|
||||||
if(player.hp<player.maxHp){
|
if(player.hp<player.maxHp){
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -805,9 +1018,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.chooseToDiscard('he',get.prompt('qixia',trigger.player),{color:'red'}).set('logSkill',['qixia',trigger.player]).ai=function(card){
|
player.chooseToDiscard('he',get.prompt('qixia',trigger.player),{color:'red'}).set('logSkill',['qixia',trigger.player]).ai=function(card){
|
||||||
if(get.attitude(player,trigger.player)>0){
|
if(get.attitude(player,trigger.player)>0){
|
||||||
if(trigger.player.hp==1){
|
if(trigger.player.hp==1){
|
||||||
return 10-ai.get.value(card);
|
return 10-get.value(card);
|
||||||
}
|
}
|
||||||
return 8-ai.get.value(card);
|
return 8-get.value(card);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
'step 1'
|
'step 1'
|
||||||
|
@ -883,29 +1096,30 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(player.storage.husha>2){
|
if(player.storage.husha>2){
|
||||||
var num1=game.countPlayer(function(current){
|
var num1=game.countPlayer(function(current){
|
||||||
if(current!=player&&player.canUse('yuansuhuimie',current)){
|
if(current!=player&&player.canUse('yuansuhuimie',current)){
|
||||||
return get.sgn(ai.get.effect(current,{name:'yuansuhuimie'},player,player));
|
return get.sgn(get.effect(current,{name:'yuansuhuimie'},player,player));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
var num2=game.countPlayer(function(current){
|
var num2=game.countPlayer(function(current){
|
||||||
if(current!=player&&player.canUse('yuansuhuimie',current)){
|
if(current!=player&&player.canUse('yuansuhuimie',current)){
|
||||||
return ai.get.effect(current,{name:'yuansuhuimie'},player,player);
|
return get.effect(current,{name:'yuansuhuimie'},player,player);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if(num1>0&&num2>0) return 3;
|
if(num1>0&&num2>0) return '选项三';
|
||||||
}
|
}
|
||||||
if(player.storage.husha>1){
|
if(player.storage.husha>1){
|
||||||
var num=game.countPlayer(function(current){
|
var num=game.countPlayer(function(current){
|
||||||
if(current!=player&&player.canUse('nanman',current)){
|
if(current!=player&&player.canUse('nanman',current)){
|
||||||
return get.sgn(ai.get.effect(current,{name:'nanman'},player,player));
|
return get.sgn(get.effect(current,{name:'nanman'},player,player));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if(num>0) return 2;
|
if(num>0) return '选项二';
|
||||||
}
|
}
|
||||||
if(game.hasPlayer(function(current){
|
if(game.hasPlayer(function(current){
|
||||||
return player.canUse('sha',current,false)&&ai.get.effect(current,{name:'sha'},player,player)>0;
|
return player.canUse('sha',current,false)&&get.effect(current,{name:'sha'},player,player)>0;
|
||||||
})){
|
})){
|
||||||
return 1;
|
return '选项一';
|
||||||
}
|
}
|
||||||
|
return 'cancel2';
|
||||||
}).set('prompt',get.prompt('husha')).set('choiceList',list);
|
}).set('prompt',get.prompt('husha')).set('choiceList',list);
|
||||||
'step 1'
|
'step 1'
|
||||||
if(result.control!='cancel2'){
|
if(result.control!='cancel2'){
|
||||||
|
@ -916,7 +1130,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.chooseTarget('选择出杀的目标',true,function(card,player,target){
|
player.chooseTarget('选择出杀的目标',true,function(card,player,target){
|
||||||
return player.canUse('sha',target,false);
|
return player.canUse('sha',target,false);
|
||||||
}).ai=function(target){
|
}).ai=function(target){
|
||||||
return ai.get.effect(target,{name:'sha'},player,player);
|
return get.effect(target,{name:'sha'},player,player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(result.control=='选项二'){
|
else if(result.control=='选项二'){
|
||||||
|
@ -3390,6 +3604,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
pal_mingxiu:'明绣',
|
pal_mingxiu:'明绣',
|
||||||
pal_jushifang:'居十方',
|
pal_jushifang:'居十方',
|
||||||
|
|
||||||
|
tianwu:'天舞',
|
||||||
|
tianwu_info:'每当你使用卡牌指定一名敌方角色为惟一目标,你可以对其施加一个随机的负面效果',
|
||||||
|
liguang:'离光',
|
||||||
|
liguang_info:'结束阶段,你可以弃置一张手牌并将场上的一张牌移动到另一个合理的位置',
|
||||||
|
shiying:'逝影',
|
||||||
|
shiying_info:'限定技,在一名其他角色死亡前,你可以防止其死亡,然后你与该角色失去全部技能、将体力和体力上限变为3、移去所有牌并摸3张牌',
|
||||||
yujia:'御甲',
|
yujia:'御甲',
|
||||||
yujia_info:'每当你使用一张未强化的装备牌,你可以随机观看X张机关牌,并选择一张获得之,X为你本局使用过的机关牌数且至少为1',
|
yujia_info:'每当你使用一张未强化的装备牌,你可以随机观看X张机关牌,并选择一张获得之,X为你本局使用过的机关牌数且至少为1',
|
||||||
xiepan:'械磐',
|
xiepan:'械磐',
|
||||||
|
|
|
@ -41769,7 +41769,7 @@
|
||||||
for(i=0;i<skills.length;i++){
|
for(i=0;i<skills.length;i++){
|
||||||
if(lib.translate[skills[i]+'_info']){
|
if(lib.translate[skills[i]+'_info']){
|
||||||
translation=get.translation(skills[i]).slice(0,2);
|
translation=get.translation(skills[i]).slice(0,2);
|
||||||
if(lib.skill[skills[i]].nobracket){
|
if(lib.skill[skills[i]]&&lib.skill[skills[i]].nobracket){
|
||||||
uiintro.add('<div><div class="skill">'+get.translation(skills[i])+'</div><div>'+lib.translate[skills[i]+'_info']+'</div></div>');
|
uiintro.add('<div><div class="skill">'+get.translation(skills[i])+'</div><div>'+lib.translate[skills[i]+'_info']+'</div></div>');
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
|
Loading…
Reference in New Issue