2020-03-10 03:43:11 +00:00
|
|
|
|
'use strict';
|
|
|
|
|
game.import('card',function(lib,game,ui,get,ai,_status){
|
|
|
|
|
return {
|
|
|
|
|
name:'mtg',
|
|
|
|
|
card:{
|
|
|
|
|
mtg_lindixiliu:{
|
|
|
|
|
type:'land',
|
|
|
|
|
fullborder:'wood',
|
|
|
|
|
enable:function(card,player){
|
|
|
|
|
return !player.hasSkill('land_used');
|
|
|
|
|
},
|
|
|
|
|
notarget:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
game.changeLand('mtg_lindixiliu',player);
|
|
|
|
|
var card=get.cardPile2(function(card){
|
|
|
|
|
return get.suit(card)=='heart';
|
|
|
|
|
});
|
|
|
|
|
if(card){
|
|
|
|
|
player.gain(card,'draw');
|
|
|
|
|
}
|
|
|
|
|
'step 1'
|
|
|
|
|
player.chooseToDiscard('he',[1,Infinity],{suit:'heart'},'林地溪流').set('ai',function(card){
|
|
|
|
|
return 8-get.value(card);
|
|
|
|
|
}).set('prompt2','弃置任意张红桃牌,每弃置一张牌,将一张延时锦囊牌置入一名随机敌方角色的判定区');
|
|
|
|
|
'step 2'
|
|
|
|
|
if(result.bool){
|
|
|
|
|
event.num=result.cards.length;
|
|
|
|
|
event.targets=player.getEnemies();
|
|
|
|
|
}
|
|
|
|
|
'step 3'
|
|
|
|
|
if(event.num&&event.targets&&event.targets.length){
|
|
|
|
|
var target=event.targets.randomGet();
|
|
|
|
|
var list=get.inpile('delay');
|
|
|
|
|
for(var i=0;i<list.length;i++){
|
|
|
|
|
if(target.hasJudge(list[i])){
|
|
|
|
|
list.splice(i--,1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(list.length){
|
|
|
|
|
player.line(target);
|
|
|
|
|
var card=game.createCard(list.randomGet());
|
|
|
|
|
target.addJudge(card);
|
|
|
|
|
target.$draw(card);
|
|
|
|
|
game.delay();
|
|
|
|
|
event.num--;
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
event.targets.remove(target);
|
|
|
|
|
}
|
|
|
|
|
event.redo();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
value:6,
|
|
|
|
|
useful:3,
|
|
|
|
|
order:7,
|
|
|
|
|
result:{
|
|
|
|
|
player:1
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mtg_longlushanfeng:{
|
|
|
|
|
type:'land',
|
|
|
|
|
fullborder:'wood',
|
|
|
|
|
enable:function(card,player){
|
|
|
|
|
return !player.hasSkill('land_used');
|
|
|
|
|
},
|
|
|
|
|
notarget:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
game.changeLand('mtg_longlushanfeng',player);
|
|
|
|
|
player.chooseControl('获得杀','获得闪').set('prompt','选择一项').set('ai',function(){
|
|
|
|
|
var player=_status.event.player;
|
|
|
|
|
if(player.hasShan()) return 0;
|
|
|
|
|
return 1;
|
|
|
|
|
});
|
|
|
|
|
'step 1'
|
|
|
|
|
if(result.control=='获得杀'){
|
|
|
|
|
player.gain(game.createCard('sha'),'gain2');
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
player.gain(game.createCard('shan'),'gain2');
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
value:5,
|
|
|
|
|
useful:3,
|
|
|
|
|
order:4,
|
|
|
|
|
result:{
|
|
|
|
|
player:1
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mtg_cangbaohaiwan:{
|
|
|
|
|
type:'land',
|
|
|
|
|
fullborder:'wood',
|
|
|
|
|
enable:function(card,player){
|
|
|
|
|
if(!lib.cardPack.mode_derivation||!lib.cardPack.mode_derivation.length) return false;
|
|
|
|
|
return !player.hasSkill('land_used');
|
|
|
|
|
},
|
|
|
|
|
notarget:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
game.changeLand('mtg_cangbaohaiwan',player);
|
|
|
|
|
event.map={};
|
|
|
|
|
var pack1=[];
|
|
|
|
|
var pack2=[];
|
|
|
|
|
for(var i=0;i<lib.cardPack.mode_derivation.length;i++){
|
|
|
|
|
var name=lib.cardPack.mode_derivation[i];
|
|
|
|
|
var info=lib.card[name];
|
|
|
|
|
if(info.gainable==false||info.destroy) continue;
|
|
|
|
|
if(info.derivationpack){
|
|
|
|
|
var trans=lib.translate[info.derivationpack+'_card_config']+'(卡牌包)';
|
|
|
|
|
if(!event.map[trans]){
|
|
|
|
|
event.map[trans]=[];
|
|
|
|
|
pack2.push(trans);
|
|
|
|
|
}
|
|
|
|
|
event.map[trans].push(name);
|
|
|
|
|
}
|
|
|
|
|
else if(typeof info.derivation=='string'){
|
|
|
|
|
for(var j in lib.characterPack){
|
|
|
|
|
if(lib.characterPack[j][info.derivation]){
|
|
|
|
|
var trans=lib.translate[j+'_character_config']+'(武将包)';
|
|
|
|
|
if(!event.map[trans]){
|
|
|
|
|
event.map[trans]=[];
|
|
|
|
|
pack1.push(trans);
|
|
|
|
|
}
|
|
|
|
|
event.map[trans].push(name);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(!pack1.length&&!pack2.length){
|
|
|
|
|
event.finish();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
player.chooseControl(pack1.concat(pack2),'dialogcontrol',function(){
|
|
|
|
|
return _status.event.controls.randomGet('轩辕剑(卡牌包)');
|
|
|
|
|
}).set('prompt','选择一个扩展包获得其中一张衍生牌');
|
|
|
|
|
'step 1'
|
|
|
|
|
if(result.control&&event.map[result.control]){
|
|
|
|
|
player.gain(game.createCard(event.map[result.control].randomGet()),'draw');
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
value:7,
|
|
|
|
|
useful:3,
|
|
|
|
|
order:9,
|
|
|
|
|
result:{
|
|
|
|
|
player:1
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mtg_linzhongjianta:{
|
|
|
|
|
type:'land',
|
|
|
|
|
fullborder:'wood',
|
|
|
|
|
enable:function(card,player){
|
|
|
|
|
return !player.hasSkill('land_used');
|
|
|
|
|
},
|
|
|
|
|
notarget:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
game.changeLand('mtg_linzhongjianta',player);
|
|
|
|
|
player.discoverCard(function(card){
|
|
|
|
|
return get.subtype(card)=='equip1';
|
|
|
|
|
},'nogain','选择一个武器装备之');
|
|
|
|
|
'step 1'
|
|
|
|
|
if(result.choice){
|
|
|
|
|
player.equip(game.createCard(result.choice),true);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
value:5,
|
|
|
|
|
useful:3,
|
|
|
|
|
order:9,
|
|
|
|
|
result:{
|
|
|
|
|
player:function(player){
|
|
|
|
|
if(player.getEquip(1)) return 0;
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mtg_youlin:{
|
|
|
|
|
type:'land',
|
|
|
|
|
fullborder:'wood',
|
|
|
|
|
enable:function(card,player){
|
|
|
|
|
return !player.hasSkill('land_used');
|
|
|
|
|
},
|
|
|
|
|
notarget:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
game.changeLand('mtg_youlin',player);
|
|
|
|
|
var list=get.inpile('trick');
|
|
|
|
|
while(list.length){
|
|
|
|
|
var name=list.randomRemove();
|
|
|
|
|
if(lib.card[name].multitarget) continue;
|
|
|
|
|
var targets=game.filterPlayer();
|
|
|
|
|
while(targets.length){
|
|
|
|
|
var target=targets.randomRemove();
|
|
|
|
|
if(player.canUse(name,target,false)&&get.effect(target,{name:name},player,player)>0){
|
|
|
|
|
player.useCard({name:name},target);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
value:5,
|
|
|
|
|
useful:3,
|
|
|
|
|
order:4,
|
|
|
|
|
result:{
|
|
|
|
|
player:1
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mtg_haidao:{
|
|
|
|
|
type:'land',
|
|
|
|
|
fullborder:'wood',
|
|
|
|
|
enable:function(card,player){
|
|
|
|
|
return !player.hasSkill('land_used');
|
|
|
|
|
},
|
|
|
|
|
notarget:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
game.changeLand('mtg_haidao',player);
|
|
|
|
|
if(player.isHealthy()){
|
|
|
|
|
player.changeHujia();
|
|
|
|
|
event.finish();
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
player._temp_mtg_haidao=true;
|
|
|
|
|
player.chooseToDiscard('he','海岛').set('ai',function(card){
|
|
|
|
|
return 5-get.value(card);
|
|
|
|
|
}).set('prompt2','弃置一张牌并回复一点体力,或取消并获得一点护甲');
|
|
|
|
|
}
|
|
|
|
|
'step 1'
|
|
|
|
|
if(result.bool){
|
|
|
|
|
player.recover();
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
player.changeHujia();
|
|
|
|
|
}
|
|
|
|
|
'step 2'
|
|
|
|
|
delete player._temp_mtg_haidao;
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
value:5,
|
|
|
|
|
useful:3,
|
|
|
|
|
order:4,
|
|
|
|
|
result:{
|
|
|
|
|
player:1
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mtg_yixialan:{
|
|
|
|
|
type:'land',
|
|
|
|
|
fullborder:'wood',
|
|
|
|
|
enable:function(card,player){
|
|
|
|
|
return !player.hasSkill('land_used');
|
|
|
|
|
},
|
|
|
|
|
notarget:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
game.changeLand('mtg_yixialan',player);
|
|
|
|
|
player.chooseControl('基本牌','锦囊牌').set('prompt','选择一个类型获得该类型的一张牌').set('ai',function(){
|
|
|
|
|
var player=_status.event.player;
|
|
|
|
|
if(!player.hasSha()||!player.hasShan()||player.hp==1) return 0;
|
|
|
|
|
return 1;
|
|
|
|
|
});
|
|
|
|
|
'step 1'
|
|
|
|
|
if(result.control=='基本牌'){
|
|
|
|
|
player.gain(game.createCard(get.inpile('basic').randomGet()),'gain2');
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
player.gain(game.createCard(get.inpile('trick','trick').randomGet()),'gain2');
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
value:5,
|
|
|
|
|
useful:3,
|
|
|
|
|
order:4,
|
|
|
|
|
result:{
|
|
|
|
|
player:1
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mtg_shuimomuxue:{
|
|
|
|
|
type:'land',
|
|
|
|
|
fullborder:'wood',
|
|
|
|
|
enable:function(card,player){
|
|
|
|
|
return !player.hasSkill('land_used');
|
|
|
|
|
},
|
|
|
|
|
notarget:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
game.changeLand('mtg_shuimomuxue',player);
|
|
|
|
|
if(player.countDiscardableCards('he')){
|
|
|
|
|
player.chooseToDiscard('是否弃置一张牌并摸两张牌?','he').set('ai',function(card){
|
|
|
|
|
return 8-get.value(card);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
event.finish();
|
|
|
|
|
}
|
|
|
|
|
'step 1'
|
|
|
|
|
if(result.bool){
|
|
|
|
|
player.draw(2);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
value:5,
|
|
|
|
|
useful:3,
|
|
|
|
|
order:4,
|
|
|
|
|
result:{
|
|
|
|
|
player:function(player){
|
|
|
|
|
if(!player.countCards('h',function(card){
|
|
|
|
|
return card.name!='mtg_shuimomuxue'&&get.value(card)<8;
|
|
|
|
|
})){
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mtg_feixu:{
|
|
|
|
|
type:'land',
|
|
|
|
|
fullborder:'wood',
|
|
|
|
|
enable:function(card,player){
|
|
|
|
|
return !player.hasSkill('land_used');
|
|
|
|
|
},
|
|
|
|
|
notarget:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
game.changeLand('mtg_feixu',player);
|
|
|
|
|
player.discoverCard(ui.discardPile.childNodes);
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
value:5,
|
|
|
|
|
useful:3,
|
|
|
|
|
order:4,
|
|
|
|
|
result:{
|
|
|
|
|
player:1
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mtg_shamolvzhou:{
|
|
|
|
|
type:'land',
|
|
|
|
|
fullborder:'wood',
|
|
|
|
|
enable:function(card,player){
|
|
|
|
|
return !player.hasSkill('land_used');
|
|
|
|
|
},
|
|
|
|
|
notarget:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
game.changeLand('mtg_shamolvzhou',player);
|
|
|
|
|
player.discoverCard(get.inpile('basic'));
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
value:5,
|
|
|
|
|
useful:3,
|
|
|
|
|
order:4,
|
|
|
|
|
result:{
|
|
|
|
|
player:1
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mtg_duzhao:{
|
|
|
|
|
type:'land',
|
|
|
|
|
fullborder:'wood',
|
|
|
|
|
enable:function(card,player){
|
|
|
|
|
return !player.hasSkill('land_used');
|
|
|
|
|
},
|
|
|
|
|
notarget:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
game.changeLand('mtg_duzhao',player);
|
|
|
|
|
player.chooseTarget('选择一名角色令其获得一张毒',true).set('ai',function(target){
|
|
|
|
|
if(target.hasSkillTag('nodu')) return 0;
|
|
|
|
|
return -get.attitude(_status.event.player,target)/Math.sqrt(target.hp+1);
|
|
|
|
|
});
|
|
|
|
|
'step 1'
|
|
|
|
|
if(result.bool){
|
|
|
|
|
var target=result.targets[0];
|
|
|
|
|
player.line(target,'green');
|
|
|
|
|
target.gain(game.createCard('du'),'gain2');
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
value:5,
|
|
|
|
|
useful:3,
|
|
|
|
|
order:4,
|
|
|
|
|
result:{
|
|
|
|
|
player:function(player){
|
|
|
|
|
if(game.countPlayer(function(current){
|
|
|
|
|
if(current.hasSkillTag('nodu')) return false;
|
|
|
|
|
return get.attitude(player,current)<0;
|
|
|
|
|
})>game.countPlayer(function(current){
|
|
|
|
|
if(current.hasSkillTag('nodu')) return false;
|
|
|
|
|
return get.attitude(player,current)>0;
|
|
|
|
|
})){
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mtg_bingheyaosai:{
|
|
|
|
|
type:'land',
|
|
|
|
|
fullborder:'wood',
|
|
|
|
|
enable:function(card,player){
|
|
|
|
|
return !player.hasSkill('land_used');
|
|
|
|
|
},
|
|
|
|
|
notarget:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
game.changeLand('mtg_bingheyaosai',player);
|
|
|
|
|
player.draw(2);
|
|
|
|
|
'step 1'
|
|
|
|
|
player.chooseToDiscard('he',2,true);
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
value:5,
|
|
|
|
|
useful:3,
|
|
|
|
|
order:2,
|
|
|
|
|
result:{
|
|
|
|
|
player:1
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
skill:{
|
|
|
|
|
mtg_bingheyaosai_skill:{
|
|
|
|
|
trigger:{player:'useCard'},
|
|
|
|
|
forced:true,
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
if(player.countCards('he')==0) return false;
|
|
|
|
|
return event.card.name=='sha';
|
|
|
|
|
},
|
|
|
|
|
autodelay:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
player.chooseToDiscard(true,'he');
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
mapValue:-4
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mtg_duzhao_skill:{
|
|
|
|
|
trigger:{player:'phaseEnd'},
|
|
|
|
|
forced:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
player.gain(game.createCard('du'),'gain2');
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
mapValue:-5
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mtg_shamolvzhou_skill:{
|
|
|
|
|
mod:{
|
|
|
|
|
ignoredHandcard:function(card){
|
|
|
|
|
if(get.type(card)=='basic'){
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
mapValue:3
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mtg_haidao_skill:{
|
|
|
|
|
trigger:{player:'changeHujiaBefore'},
|
|
|
|
|
forced:true,
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
return player.isDamaged()&&!player._temp_mtg_haidao&&event.num>0;
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
player.recover(trigger.num);
|
|
|
|
|
trigger.cancel();
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
mapValue:1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mtg_yixialan_skill:{
|
|
|
|
|
enable:'phaseUse',
|
2023-08-19 16:40:34 +00:00
|
|
|
|
filter:(event,player)=>player.hasCard(card=>lib.skill.mtg_yixialan_skill.filterCard(card,player),'h'),
|
|
|
|
|
filterCard:(card,player)=>get.type(card)=='basic'&&player.canRecast(card),
|
2020-03-10 03:43:11 +00:00
|
|
|
|
discard:false,
|
2023-08-19 16:40:34 +00:00
|
|
|
|
lose:false,
|
2020-03-10 03:43:11 +00:00
|
|
|
|
check:function(card){
|
|
|
|
|
return 7-get.value(card);
|
|
|
|
|
},
|
|
|
|
|
usable:1,
|
|
|
|
|
content:function(){
|
2023-08-19 16:40:34 +00:00
|
|
|
|
player.recast(cards,null,(player,cards)=>{
|
|
|
|
|
const cardsToGain=[];
|
|
|
|
|
for(let repetition=0;repetition<cards.length;repetition++){
|
|
|
|
|
const card=get.cardPile(card=>get.type(card,'trick')=='trick');
|
|
|
|
|
if(card) cardsToGain.push(card);
|
|
|
|
|
}
|
|
|
|
|
if(cardsToGain.length) player.gain(cardsToGain,'draw');
|
|
|
|
|
if(cards.length-cardsToGain.length) player.draw(cards.length-cardsToGain.length).log=false;
|
2020-03-10 03:43:11 +00:00
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
mapValue:2,
|
|
|
|
|
order:1,
|
|
|
|
|
result:{
|
2023-08-19 16:40:34 +00:00
|
|
|
|
player:1
|
|
|
|
|
}
|
2020-03-10 03:43:11 +00:00
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mtg_shuimomuxue_skill:{
|
|
|
|
|
mod:{
|
|
|
|
|
maxHandcard:function(player,num){
|
|
|
|
|
return num-1;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger:{player:'phaseDiscardEnd'},
|
|
|
|
|
forced:true,
|
|
|
|
|
filter:function(event){
|
|
|
|
|
return event.cards&&event.cards.length>0;
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
player.draw();
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
mapValue:2
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mtg_feixu_skill:{
|
|
|
|
|
trigger:{player:'phaseBegin'},
|
|
|
|
|
silent:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
var num=ui.discardPile.childNodes.length;
|
|
|
|
|
if(num){
|
|
|
|
|
var card=ui.discardPile.childNodes[get.rand(num)];
|
|
|
|
|
if(card){
|
|
|
|
|
ui.cardPile.insertBefore(card,ui.cardPile.firstChild);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
mapValue:0
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mtg_youlin_skill:{
|
|
|
|
|
enable:'phaseUse',
|
|
|
|
|
usable:1,
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
return player.countCards('h',{type:['trick','delay']});
|
|
|
|
|
},
|
|
|
|
|
filterCard:function(card){
|
|
|
|
|
return get.type(card,'trick')=='trick';
|
|
|
|
|
},
|
|
|
|
|
check:function(card){
|
|
|
|
|
return 7-get.value(card);
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
player.discoverCard();
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
mapValue:1,
|
|
|
|
|
order:7,
|
|
|
|
|
result:{
|
|
|
|
|
player:2
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mtg_linzhongjianta_skill:{
|
|
|
|
|
enable:'chooseToUse',
|
|
|
|
|
filterCard:function(card){
|
|
|
|
|
return get.type(card)=='basic';
|
|
|
|
|
},
|
|
|
|
|
usable:1,
|
|
|
|
|
viewAs:{name:'sha'},
|
|
|
|
|
viewAsFilter:function(player){
|
|
|
|
|
if(!player.getEquip(1)) return false;
|
|
|
|
|
if(!player.countCards('h',{type:'basic'})) return false;
|
|
|
|
|
},
|
|
|
|
|
prompt:'将一张基本牌当杀使用',
|
|
|
|
|
check:function(card){return 6-get.value(card)},
|
|
|
|
|
ai:{
|
|
|
|
|
mapValue:2,
|
|
|
|
|
respondSha:true,
|
|
|
|
|
order:function(){
|
|
|
|
|
return get.order({name:'sha'})-0.1;
|
|
|
|
|
},
|
|
|
|
|
skillTagFilter:function(player,tag,arg){
|
|
|
|
|
if(arg!='use') return false;
|
|
|
|
|
if(!player.getEquip(1)) return false;
|
|
|
|
|
if(!player.countCards('h',{type:'basic'})) return false;
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mtg_cangbaohaiwan_skill:{
|
|
|
|
|
trigger:{player:'drawBegin'},
|
|
|
|
|
silent:true,
|
|
|
|
|
content:function(){
|
|
|
|
|
if(Math.random()<1/3){
|
|
|
|
|
var list=[];
|
|
|
|
|
for(var i=0;i<lib.cardPack.mode_derivation.length;i++){
|
|
|
|
|
var name=lib.cardPack.mode_derivation[i];
|
|
|
|
|
var info=lib.card[name];
|
|
|
|
|
if(info.gainable==false||info.destroy) continue;
|
|
|
|
|
list.push(name);
|
|
|
|
|
}
|
|
|
|
|
if(list.length){
|
|
|
|
|
ui.cardPile.insertBefore(game.createCard(list.randomGet()),ui.cardPile.firstChild);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
mapValue:5
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mtg_longlushanfeng_skill:{
|
|
|
|
|
mod:{
|
|
|
|
|
cardUsable:function(card,player,num){
|
|
|
|
|
if(card.name=='sha') return num+1;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
mapValue:2
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mtg_lindixiliu_skill:{
|
|
|
|
|
trigger:{player:'phaseBegin'},
|
|
|
|
|
direct:true,
|
|
|
|
|
filter:function(event,player){
|
|
|
|
|
return player.countCards('he',{suit:'heart'})&&player.countCards('j');
|
|
|
|
|
},
|
|
|
|
|
content:function(){
|
|
|
|
|
'step 0'
|
|
|
|
|
player.chooseToDiscard('he',{suit:'heart'},get.prompt2('mtg_lindixiliu_skill')).set('ai',function(card){
|
|
|
|
|
return 8-get.value(card);
|
|
|
|
|
}).set('logSkill','mtg_lindixiliu_skill');
|
|
|
|
|
'step 1'
|
|
|
|
|
if(result.bool){
|
|
|
|
|
player.discardPlayerCard(player,'j',true);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
ai:{
|
|
|
|
|
mapValue:1.5
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
cardType:{
|
|
|
|
|
land:0.6
|
|
|
|
|
},
|
|
|
|
|
translate:{
|
|
|
|
|
land:'地图',
|
|
|
|
|
mtg_yixialan:'依夏兰',
|
|
|
|
|
mtg_yixialan_skill:'依夏兰',
|
|
|
|
|
mtg_yixialan_info:'选项一:随机获得一张基本牌;选项二:随机获得一张锦囊牌。地图效果:出牌阶段限一次,你可以将一张基本牌重铸为锦囊牌',
|
|
|
|
|
mtg_yixialan_skill_info:'出牌阶段限一次,你可以将一张基本牌重铸为锦囊牌',
|
|
|
|
|
mtg_shuimomuxue:'水没墓穴',
|
|
|
|
|
mtg_shuimomuxue_skill:'水没墓穴',
|
|
|
|
|
mtg_shuimomuxue_info:'你可以弃置一张牌并摸两张牌。地图效果:锁定技,你的手牌上限-1;若弃牌阶段弃置了至少一张牌,则在此阶段结束时摸一张牌',
|
|
|
|
|
mtg_shuimomuxue_skill_info:'锁定技,你的手牌上限-1;若弃牌阶段弃置了至少一张牌,则在此阶段结束时摸一张牌',
|
|
|
|
|
mtg_feixu:'废墟',
|
|
|
|
|
mtg_feixu_skill:'废墟',
|
|
|
|
|
mtg_feixu_info:'从弃牌堆中发现一张牌。地图效果:准备阶段,随机将弃牌堆的一张牌置于牌堆顶',
|
|
|
|
|
mtg_feixu_skill_info:'准备阶段,随机将弃牌堆的一张牌置于牌堆顶',
|
|
|
|
|
mtg_haidao:'海岛',
|
|
|
|
|
mtg_haidao_skill:'海岛',
|
|
|
|
|
mtg_haidao_info:'选项一:获得一点护甲(无视地图效果);选项二:弃置一张牌并回复一点体力。地图效果:锁定技,当你获得护甲时,若你已受伤,改为回复等量体力',
|
|
|
|
|
mtg_haidao_skill_info:'锁定技,当你获得护甲时,若你已受伤,改为回复等量体力',
|
|
|
|
|
mtg_youlin:'幽林',
|
|
|
|
|
mtg_youlin_skill:'幽林',
|
|
|
|
|
mtg_youlin_info:'随机使用一张普通锦囊牌,随机指定一个具有正收益的目标。地图效果:出牌阶段限一次,你可以弃置一张锦囊牌并发现一张牌',
|
|
|
|
|
mtg_youlin_skill_info:'出牌阶段限一次,你可以弃置一张锦囊牌并发现一张牌',
|
|
|
|
|
mtg_shamolvzhou:'沙漠绿洲',
|
|
|
|
|
mtg_shamolvzhou_skill:'沙漠绿洲',
|
|
|
|
|
mtg_shamolvzhou_info:'发现一张基本牌。地图效果:你的基本牌不计入手牌上限',
|
|
|
|
|
mtg_shamolvzhou_skill_info:'你的基本牌不计入手牌上限',
|
|
|
|
|
|
|
|
|
|
mtg_duzhao:'毒沼',
|
|
|
|
|
mtg_duzhao_skill:'毒沼',
|
|
|
|
|
mtg_duzhao_info:'选择一名角色令其获得一张毒。地图效果:结束阶段,你获得一张毒',
|
|
|
|
|
mtg_duzhao_skill_info:'结束阶段,你获得一张毒',
|
|
|
|
|
mtg_linzhongjianta:'林中尖塔',
|
|
|
|
|
mtg_linzhongjianta_skill:'林中尖塔',
|
|
|
|
|
mtg_linzhongjianta_info:'发现一张武器牌并装备之。地图效果:若你装备区内有武器牌,你可以将一张基本牌当作杀使用',
|
|
|
|
|
mtg_linzhongjianta_skill_info:'若你装备区内有武器牌,你可以将一张基本牌当作杀使用',
|
|
|
|
|
mtg_cangbaohaiwan:'藏宝海湾',
|
|
|
|
|
mtg_cangbaohaiwan_skill:'藏宝海湾',
|
|
|
|
|
mtg_cangbaohaiwan_info:'选择一个护展包,随机获得来自该扩展包的一张衍生牌。地图效果:你在摸牌时有可能摸到衍生牌',
|
|
|
|
|
mtg_cangbaohaiwan_skill_info:'你在摸牌时有可能摸到衍生牌',
|
|
|
|
|
mtg_longlushanfeng:'龙颅山峰',
|
|
|
|
|
mtg_longlushanfeng_skill:'龙颅山峰',
|
|
|
|
|
mtg_longlushanfeng_info:'选项一:获得一张杀;选项二:获得一张闪。地图效果:你出杀的次数上限+1',
|
|
|
|
|
mtg_longlushanfeng_skill_info:'你出杀的次数上限+1',
|
|
|
|
|
mtg_bingheyaosai:'冰河要塞',
|
|
|
|
|
mtg_bingheyaosai_skill:'冰河要塞',
|
|
|
|
|
mtg_bingheyaosai_info:'摸两张牌,然后弃置两张牌。地图效果:锁定技,每当你使用一张杀,若你有牌,则需弃置一张牌',
|
|
|
|
|
mtg_bingheyaosai_skill_info:'锁定技,每当你使用一张杀,若你有牌,则需弃置一张牌',
|
|
|
|
|
mtg_lindixiliu:'林地溪流',
|
|
|
|
|
mtg_lindixiliu_skill:'林地溪流',
|
|
|
|
|
mtg_lindixiliu_info:'从牌堆中摸一张红桃牌,然后弃置任意张红桃牌,每弃置一张牌,将一张延时锦囊牌置入一名随机敌方角色的判定区;。地图效果:准备阶段,你可以弃置一张红桃牌,然后弃置判定区内的一张牌',
|
|
|
|
|
mtg_lindixiliu_skill_info:'准备阶段,你可以弃置一张红桃牌,然后弃置判定区内的一张牌',
|
|
|
|
|
},
|
|
|
|
|
help:{
|
|
|
|
|
'万智牌':'<ul><li>地图牌可于出牌阶段使用,每阶段最多使用一张地图牌<li>'+
|
|
|
|
|
'地图牌分为两部分:即时效果以及地图效果,即时效果由使用者在使用时选择;地图效果对所有角色有效<li>'+
|
|
|
|
|
'当使用者死亡或下个回合开始时,当前地图效果消失<li>'+
|
|
|
|
|
'新地图被使用时会覆盖当前地图效果'
|
|
|
|
|
},
|
|
|
|
|
list:[
|
|
|
|
|
['club',12,'mtg_yixialan'],
|
|
|
|
|
['spade',11,'mtg_shuimomuxue'],
|
|
|
|
|
['diamond',5,'mtg_haidao'],
|
|
|
|
|
['club',10,'mtg_youlin'],
|
|
|
|
|
['club',8,'mtg_feixu'],
|
|
|
|
|
['heart',6,'mtg_shamolvzhou'],
|
|
|
|
|
|
|
|
|
|
['club',12,'mtg_cangbaohaiwan'],
|
|
|
|
|
['spade',11,'mtg_lindixiliu'],
|
|
|
|
|
['diamond',5,'mtg_bingheyaosai'],
|
|
|
|
|
['club',10,'mtg_longlushanfeng'],
|
|
|
|
|
['club',8,'mtg_duzhao'],
|
|
|
|
|
['heart',6,'mtg_linzhongjianta'],
|
|
|
|
|
],
|
|
|
|
|
};
|
|
|
|
|
});
|