This commit is contained in:
libccy 2017-07-17 10:45:11 +08:00
parent f77bdfa244
commit fdcfe06ca9
5 changed files with 223 additions and 78 deletions

View File

@ -931,7 +931,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){
order:7, order:7,
} }
}, },
gw_zirankuizeng:{ gw_zirankuizeng:{
fullborder:'silver', fullborder:'silver',
type:'spell', type:'spell',
@ -1028,7 +1027,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
} }
}, },
ai:{ ai:{
value:6, value:7,
useful:[4,1], useful:[4,1],
result:{ result:{
player:function(player){ player:function(player){
@ -1038,6 +1037,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
order:7, order:7,
} }
}, },
gw_qinpendayu:{ gw_qinpendayu:{
fullborder:'bronze', fullborder:'bronze',
type:'spell', type:'spell',
@ -1054,7 +1054,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
target.addTempSkill('gw_qinpendayu',{player:'phaseAfter'}); target.addTempSkill('gw_qinpendayu',{player:'phaseAfter'});
}, },
ai:{ ai:{
value:4, value:[5,1],
useful:[3,1], useful:[3,1],
result:{ result:{
player:function(player,target){ player:function(player,target){
@ -1092,7 +1092,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
target.addTempSkill('gw_birinongwu',{player:'phaseAfter'}); target.addTempSkill('gw_birinongwu',{player:'phaseAfter'});
}, },
ai:{ ai:{
value:4, value:[5,1],
useful:[3,1], useful:[3,1],
result:{ result:{
player:function(player,target){ player:function(player,target){
@ -1126,7 +1126,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
target.addSkill('gw_ciguhanshuang'); target.addSkill('gw_ciguhanshuang');
}, },
ai:{ ai:{
value:4, value:[5,1],
useful:[3,1], useful:[3,1],
result:{ result:{
player:function(player,target){ player:function(player,target){
@ -1189,7 +1189,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
target.loseMaxHp(true); target.loseMaxHp(true);
}, },
ai:{ ai:{
value:4, value:[4,1],
useful:[3,1], useful:[3,1],
result:{ result:{
target:function(player,target){ target:function(player,target){
@ -1219,7 +1219,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
} }
}, },
ai:{ ai:{
value:4, value:[4.5,1],
useful:[4,1], useful:[4,1],
result:{ result:{
target:function(player,target){ target:function(player,target){
@ -1259,7 +1259,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
ai:{ ai:{
basic:{ basic:{
order:1.8, order:1.8,
value:[6,1], value:[5,1],
useful:[4,1], useful:[4,1],
}, },
result:{ result:{
@ -1282,7 +1282,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
'step 0' 'step 0'
var choice=1; var choice=1;
if(game.countPlayer(function(current){ if(game.countPlayer(function(current){
if(current.countCards('j')){ if(current.countCards('j')||current.hasSkillTag('weather')){
if(get.attitude(player,current)>0){ if(get.attitude(player,current)>0){
choice=0; choice=0;
} }
@ -1292,7 +1292,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
player.chooseControl(function(){ player.chooseControl(function(){
return choice; return choice;
}).set('choiceList',[ }).set('choiceList',[
'弃置一名角色判定区内的所有牌', '解除任意名角色的天气效果并移除其判定区内的牌',
'随机获得一张铜卡法术(破晓除外)并展示之' '随机获得一张铜卡法术(破晓除外)并展示之'
]); ]);
} }
@ -1301,10 +1301,10 @@ game.import('card',function(lib,game,ui,get,ai,_status){
} }
'step 1' 'step 1'
if(!event.directfalse&&result.index==0){ if(!event.directfalse&&result.index==0){
player.chooseTarget(true,'弃置一名角色判定区内的所有牌',function(card,player,target){ player.chooseTarget(true,[1,Infinity],'解除任意名角色的天气效果并移除其判定区内的牌',function(card,player,target){
return target.countCards('j'); return target.countCards('j')||target.hasSkillTag('weather');
}).ai=function(target){ }).ai=function(target){
return get.attitude(player,target)*target.countCards('j'); return get.attitude(player,target);
}; };
} }
else{ else{
@ -1320,14 +1320,27 @@ game.import('card',function(lib,game,ui,get,ai,_status){
event.finish(); event.finish();
} }
'step 2' 'step 2'
if(result.targets[0]){ event.list=result.targets.slice(0).sortBySeat();
player.line(result.targets[0],'green'); 'step 3'
result.targets[0].discard(result.targets[0].getCards('j')); if(event.list.length){
var target=event.list.shift();
player.line(target,'green');
var cards=target.getCards('j');
if(cards.length){
target.discard(cards);
}
if(target.hasSkillTag('weather')){
target.removeSkill('gw_qinpendayu');
target.removeSkill('gw_birinongwu');
target.removeSkill('gw_ciguhanshuang');
}
event.redo();
} }
}, },
ai:{ ai:{
order:4, order:4,
useful:[3,1], value:[5,1],
useful:[4,1],
result:{ result:{
player:1, player:1,
} }
@ -1370,6 +1383,9 @@ game.import('card',function(lib,game,ui,get,ai,_status){
maxHandcard:function(player,num){ maxHandcard:function(player,num){
return num-1; return num-1;
} }
},
ai:{
weather:true
} }
}, },
gw_birinongwu:{ gw_birinongwu:{
@ -1382,6 +1398,9 @@ game.import('card',function(lib,game,ui,get,ai,_status){
cardEnabled:function(card){ cardEnabled:function(card){
if(card.name=='sha') return false; if(card.name=='sha') return false;
} }
},
ai:{
weather:true
} }
}, },
gw_ciguhanshuang:{ gw_ciguhanshuang:{
@ -1398,6 +1417,9 @@ game.import('card',function(lib,game,ui,get,ai,_status){
content:function(){ content:function(){
trigger.num--; trigger.num--;
player.removeSkill('gw_ciguhanshuang'); player.removeSkill('gw_ciguhanshuang');
},
ai:{
weather:true
} }
}, },
gw_dieyi:{ gw_dieyi:{
@ -1589,7 +1611,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
gw_zirankuizeng:'自然馈赠', gw_zirankuizeng:'自然馈赠',
gw_zirankuizeng_info:'选择任意一张铜卡法术使用', gw_zirankuizeng_info:'选择任意一张铜卡法术使用',
gw_poxiao:'破晓', gw_poxiao:'破晓',
gw_poxiao_info:'选择一项:弃置一名角色判定区内的所有牌,或随机获得一张铜卡法术(破晓除外)并展示之', gw_poxiao_info:'选择一项:解除任意名角色的天气效果并移除其判定区内的牌,或随机获得一张铜卡法术(破晓除外)并展示之',
gw_zumoshoukao:'阻魔手铐', gw_zumoshoukao:'阻魔手铐',
gw_zumoshoukao_info:'令一名角色失去所有护甲且非锁定技失效直到下一回合结束', gw_zumoshoukao_info:'令一名角色失去所有护甲且非锁定技失效直到下一回合结束',
gw_aozuzhilei:'奥祖之雷', gw_aozuzhilei:'奥祖之雷',
@ -1607,13 +1629,13 @@ game.import('card',function(lib,game,ui,get,ai,_status){
gw_baoxueyaoshui_info:'令一名角色弃置两张手牌并摸一张牌', gw_baoxueyaoshui_info:'令一名角色弃置两张手牌并摸一张牌',
gw_birinongwu:'蔽日浓雾', gw_birinongwu:'蔽日浓雾',
gw_birinongwu_bg:'雾', gw_birinongwu_bg:'雾',
gw_birinongwu_info:'出牌阶段对一名角色及其相邻角色使用,目标不能使用杀直到下一回合结束', gw_birinongwu_info:'天气牌,出牌阶段对一名角色及其相邻角色使用,目标不能使用杀直到下一回合结束',
gw_qinpendayu:'倾盆大雨', gw_qinpendayu:'倾盆大雨',
gw_qinpendayu_bg:'雨', gw_qinpendayu_bg:'雨',
gw_qinpendayu_info:'出牌阶段对一名角色及其相邻角色使用,目标手牌上限-1直到下一回合结束', gw_qinpendayu_info:'天气牌,出牌阶段对一名角色及其相邻角色使用,目标手牌上限-1直到下一回合结束',
gw_ciguhanshuang:'刺骨寒霜', gw_ciguhanshuang:'刺骨寒霜',
gw_ciguhanshuang_bg:'霜', gw_ciguhanshuang_bg:'霜',
gw_ciguhanshuang_info:'出牌阶段对一名角色及其相邻角色使用,目标下个摸牌阶段摸牌数-1', gw_ciguhanshuang_info:'天气牌,出牌阶段对一名角色及其相邻角色使用,目标下个摸牌阶段摸牌数-1',
gw_wenyi:'瘟疫', gw_wenyi:'瘟疫',
gw_wenyi_info:'令所有体力值为全场最少的角色随机弃置一张牌', gw_wenyi_info:'令所有体力值为全场最少的角色随机弃置一张牌',
gw_yanziyaoshui:'燕子药水', gw_yanziyaoshui:'燕子药水',

View File

@ -3,7 +3,48 @@ game.import('card',function(lib,game,ui,get,ai,_status){
return { return {
name:'swd', name:'swd',
card:{ card:{
yihuajiemu:{
fullskin:true,
type:'trick',
enable:true,
singleCard:true,
filterTarget:function(card,player,target){
if(target.isMin()) return false;
if(ui.selected.targets.length){
return target.getCards('e',{subtype:'equip5'}).length==0;
}
else{
return target.getCards('e',{subtype:'equip5'}).length>0;
}
},
selectTarget:2,
multitarget:true,
complexTarget:true,
content:function(){
if(target.getEquip(5)){
target.$give(target.getEquip(5),event.addedTarget);
event.addedTarget.equip(target.getEquip(5));
game.delay();
}
},
ai:{
order:1,
result:{
target:function(player,target){
if(target.getCards('e',{subtype:'equip5'}).length){
if(get.attitude(target,player)>0){
return -0.5;
}
return -1;
}
return 1;
}
},
tag:{
loseCard:1
}
}
},
liuxinghuoyu:{ liuxinghuoyu:{
fullskin:true, fullskin:true,
type:'trick', type:'trick',
@ -4729,6 +4770,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
'护甲:和体力类似,每点护甲可抵挡一点伤害,但不影响手牌上限' '护甲:和体力类似,每点护甲可抵挡一点伤害,但不影响手牌上限'
}, },
translate:{ translate:{
yihuajiemu:'移花接木',
yihuajiemu_info:'对一名装备区内有宝物的角色使用,将其宝物牌转移至另一名角色',
liuxinghuoyu:'流星火羽', liuxinghuoyu:'流星火羽',
liuxinghuoyu_info:'出牌阶段对一名角色使用令目标弃置2张牌或受到一点火焰伤害', liuxinghuoyu_info:'出牌阶段对一名角色使用令目标弃置2张牌或受到一点火焰伤害',
g_yuchan_equip:'玉蝉', g_yuchan_equip:'玉蝉',
@ -5099,6 +5142,10 @@ game.import('card',function(lib,game,ui,get,ai,_status){
lianyaohu_info:'出牌阶段各限一次你可以选择一项1.弃置一张手牌并将一名其他角色的一张手牌置入炼妖壶2.弃置两张炼妖壶中的牌,从牌堆中获得一张与弃置的牌类别均不相同的牌', lianyaohu_info:'出牌阶段各限一次你可以选择一项1.弃置一张手牌并将一名其他角色的一张手牌置入炼妖壶2.弃置两张炼妖壶中的牌,从牌堆中获得一张与弃置的牌类别均不相同的牌',
}, },
list:[ list:[
['heart',3,'yihuajiemu'],
['diamond',1,'yihuajiemu'],
['diamond',7,'yihuajiemu'],
['diamond',3,'liuxinghuoyu','fire'], ['diamond',3,'liuxinghuoyu','fire'],
['heart',6,'liuxinghuoyu','fire'], ['heart',6,'liuxinghuoyu','fire'],
['heart',9,'liuxinghuoyu','fire'], ['heart',9,'liuxinghuoyu','fire'],

View File

@ -534,48 +534,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){
} }
} }
}, },
yihuajiemu:{
fullskin:true,
type:'trick',
enable:true,
singleCard:true,
filterTarget:function(card,player,target){
if(target.isMin()) return false;
if(ui.selected.targets.length){
return target.getCards('e',{subtype:'equip5'}).length==0;
}
else{
return target.getCards('e',{subtype:'equip5'}).length>0;
}
},
selectTarget:2,
multitarget:true,
complexTarget:true,
content:function(){
if(target.getEquip(5)){
target.$give(target.getEquip(5),event.addedTarget);
event.addedTarget.equip(target.getEquip(5));
game.delay();
}
},
ai:{
order:1,
result:{
target:function(player,target){
if(target.getCards('e',{subtype:'equip5'}).length){
if(get.attitude(target,player)>0){
return -0.5;
}
return -1;
}
return 1;
}
},
tag:{
loseCard:1
}
}
},
fudichouxin:{ fudichouxin:{
fullskin:true, fullskin:true,
type:'trick', type:'trick',
@ -1036,8 +994,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){
toulianghuanzhu:'偷梁换柱', toulianghuanzhu:'偷梁换柱',
toulianghuanzhu_info:'出牌阶段对一名有手牌的角色使用,选择另一名有手牌的角色获得目标两张手牌(不足则全拿),然后还给其等量手牌', toulianghuanzhu_info:'出牌阶段对一名有手牌的角色使用,选择另一名有手牌的角色获得目标两张手牌(不足则全拿),然后还给其等量手牌',
toulianghuanzhu_bg:'柱', toulianghuanzhu_bg:'柱',
yihuajiemu:'移花接木',
yihuajiemu_info:'对一名装备区内有宝物的角色使用,将其宝物牌转移至另一名角色',
fudichouxin:'釜底抽薪', fudichouxin:'釜底抽薪',
fudichouxin_info:'与一名角色进行拼点,若成功则获得双方拼点牌', fudichouxin_info:'与一名角色进行拼点,若成功则获得双方拼点牌',
shuiyanqijun:'水攻', shuiyanqijun:'水攻',
@ -1065,15 +1021,12 @@ game.import('card',function(lib,game,ui,get,ai,_status){
['club',1,'qiankundai'], ['club',1,'qiankundai'],
['heart',6,'huoshan','fire'], ['heart',6,'huoshan','fire'],
['club',7,'hongshui'], ['club',7,'hongshui'],
['heart',3,'yihuajiemu'],
["diamond",3,'guohe'], ["diamond",3,'guohe'],
['diamond',4,'fudichouxin'], ['diamond',4,'fudichouxin'],
['diamond',1,'yihuajiemu'],
['club',6,'fudichouxin'], ['club',6,'fudichouxin'],
['spade',1,'fudichouxin'], ['spade',1,'fudichouxin'],
['club',7,'shuiyanqijun'], ['club',7,'shuiyanqijun'],
['diamond',7,'yihuajiemu'],
['club',8,'shuiyanqijun'], ['club',8,'shuiyanqijun'],
['club',8,'guohe'], ['club',8,'guohe'],
['spade',9,'shuiyanqijun'], ['spade',9,'shuiyanqijun'],

View File

@ -16,7 +16,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
gw_laduoweide:['male','wei',4,['gwxiaoshou']], gw_laduoweide:['male','wei',4,['gwxiaoshou']],
gw_dagong:['male','qun',4,['tianbian']], gw_dagong:['male','qun',4,['tianbian']],
// gw_bulanwang:['male','qun',4,['bolang']], gw_bulanwang:['male','qun',4,['bolang']],
// gw_kuite:['male','qun',3,[]], // gw_kuite:['male','qun',3,[]],
// gw_fuertaisite:['male','qun',3,[]], // gw_fuertaisite:['male','qun',3,[]],
// gw_hengsaite:['male','wei',4,['jinsheng']], // gw_hengsaite:['male','wei',4,['jinsheng']],
@ -32,12 +32,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
gw_aigeleisi:['female','wu',3,['gwshenyu']], gw_aigeleisi:['female','wu',3,['gwshenyu']],
gw_aokeweisite:['male','qun',4,['yunhuo']], gw_aokeweisite:['male','qun',4,['yunhuo']],
gw_kaxier:['male','wu',4,['gwfengchi']], gw_kaxier:['male','shu',4,['gwfengchi']],
gw_luobo:['male','qun',3,['junchi']], gw_luobo:['male','qun',3,['junchi']],
gw_mieren:['male','shu',3,['lingji']], gw_mieren:['male','shu',3,['lingji']],
gw_sanhanya:['male','shu',3,['gwjinyan']], gw_sanhanya:['male','shu',3,['gwjinyan']],
gw_shanhu:['female','qun',3,['shuijian']], gw_shanhu:['female','qun',3,['shuijian']],
// gw_zhangyujushou:['male','wu',4,[]], gw_zhangyujushou:['male','wu',4,['gwjushi']],
gw_zhuoertan:['male','wu',3,['hupeng']], gw_zhuoertan:['male','wu',3,['hupeng']],
}, },
characterIntro:{ characterIntro:{
@ -54,9 +54,130 @@ game.import('character',function(lib,game,ui,get,ai,_status){
gw_yioufeisi:'国王还是乞丐,两者有何区别,人类少一个算一个', gw_yioufeisi:'国王还是乞丐,两者有何区别,人类少一个算一个',
}, },
skill:{ skill:{
bolang:{
trigger:{player:'phaseBegin'},
frequent:true,
init:function(player){
player.storage.bolang=[];
},
content:function(){
'step 0'
var cards=[];
for(var i=0;i<ui.cardPile.childElementCount;i++){
cards.push(ui.cardPile.childNodes[i]);
}
player.chooseCardButton('搏浪将至多3张牌移至弃牌堆',[1,3],cards.slice(0,6)).ai=function(button){
if(button.link==cards[0]||button.link==cards[1]){
return get.value(button.link)-5;
}
else if(button.link==cards[4]||button.link==cards[5]){
return get.value(button.link)/5;
}
};
'step 1'
if(result.bool){
for(var i=0;i<player.storage.bolang.length;i++){
if(!player.storage.bolang[i].vanishtag.contains('bolang')){
player.storage.bolang.splice(i--,1);
}
}
player.storage.bolang.addArray(result.links);
for(var i=0;i<result.links.length;i++){
result.links[i].vanishtag.add('bolang');
result.links[i].discard();
}
}
},
group:'bolang_gain',
subSkill:{
gain:{
trigger:{source:'damageEnd'},
direct:true,
filter:function(event,player){
for(var i=0;i<player.storage.bolang.length;i++){
if(player.storage.bolang[i].vanishtag.contains('bolang')){
return true;
}
}
},
content:function(){
'step 0'
var list=[];
for(var i=0;i<player.storage.bolang.length;i++){
if(player.storage.bolang[i].vanishtag.contains('bolang')){
list.push(player.storage.bolang[i]);
}
}
player.chooseCardButton(true,list,get.prompt('bolang'));
'step 1'
if(result.bool){
player.logSkill('bolang');
player.gain(result.links,'gain2');
}
}
}
}
},
gwjushi:{
enable:'phaseUse',
usable:1,
filter:function(event,player){
return !player.hasSkill('gwjushi2');
},
filterTarget:function(card,player,target){
return target!=player&&get.distance(player,target)<=1&&target.countCards('he');
},
content:function(){
var hs=target.getCards('he');
if(hs.length){
var card=hs.randomGet();
target.$give(card,player);
player.storage.gwjushi2=card;
player.storage.gwjushi3=target;
player.storage.gwjushi4=get.position(card);
target.lose(card,ui.special);
player.addSkill('gwjushi2');
}
}
},
gwjushi2:{
mark:'card',
intro:{
content:'受到伤害时,令此牌回归原位;准备阶段,你获得此牌'
},
trigger:{player:['phaseBegin','damageEnd']},
forced:true,
content:function(){
var card=player.storage.gwjushi2;
var target=player.storage.gwjushi3;
if(trigger.name=='damage'){
if(target.isIn()){
if(player.storage.gwjushi4=='e'&&get.type(card)=='equip'){
target.equip(card);
player.$give(card,target);
game.delay();
}
else{
player.give(card,target);
}
}
else{
card.discard();
}
}
else{
player.gain(card,'gain2');
}
player.removeSkill('gwjushi2');
},
onremove:['gwjushi2','gwjushi3','gwjushi4'],
ai:{
threaten:1.5
}
},
gwfengchi:{ gwfengchi:{
trigger:{player:'phaseUseBegin'}, trigger:{player:'phaseUseBegin'},
frequent:true, forced:true,
content:function(){ content:function(){
'step 0' 'step 0'
var list=get.gainableSkills(function(info){ var list=get.gainableSkills(function(info){
@ -1534,9 +1655,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
gw_zhuoertan:'卓尔坦', gw_zhuoertan:'卓尔坦',
gwfengchi:'风驰', gwfengchi:'风驰',
gwfengchi_info:'出牌阶段开始时,你可以随机观看3个可以在出牌阶段使用的技能并获得其中一个技能直到此阶段结束', gwfengchi_info:'锁定技,出牌阶段开始时你随机观看3个可以在出牌阶段使用的技能并获得其中一个技能直到此阶段结束',
gwjushi:'巨噬', gwjushi:'巨噬',
gwjushi_info:'出牌阶段限一次你可以将一名距离1以内的其他角色的一张随机牌置于你的武将牌上当你受到伤害后“巨噬”牌将回到原来的位置准备阶段若你有“巨噬”牌你移去之然后增加一点体力和体力上限', gwjushi2:'巨噬',
gwjushi_info:'出牌阶段限一次你可以将一名距离1以内的其他角色的一张随机牌置于你的武将牌上当你受到伤害后令“巨噬”牌回到原来的位置准备阶段你获得武将牌上的“巨噬”牌',
bolang:'搏浪', bolang:'搏浪',
bolang_info:'准备阶段你可以观看牌堆顶的6张牌然后将其中至多3张移入弃牌堆每当你造成一次伤害你可以从弃牌堆中获得一张以此法移入弃牌堆的牌', bolang_info:'准备阶段你可以观看牌堆顶的6张牌然后将其中至多3张移入弃牌堆每当你造成一次伤害你可以从弃牌堆中获得一张以此法移入弃牌堆的牌',
lingji:'灵计', lingji:'灵计',

View File

@ -11795,6 +11795,7 @@
if(lib.config.reverse_sort) sort=-sort; if(lib.config.reverse_sort) sort=-sort;
cards[num].fix(); cards[num].fix();
cards[num].style.transform=''; cards[num].style.transform='';
cards[num].vanishtag.length=0;
if(player==game.me){ if(player==game.me){
cards[num].classList.add('drawinghidden'); cards[num].classList.add('drawinghidden');
} }