noname/card/huanlekapai.js

291 lines
7.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { lib, game, ui, get, ai, _status } from '../noname.js';
game.import('card', function () {
return {
name:'huanlekapai',
connect:true,
card:{
"monkey":{
audio:true,
fullskin:true,
type:"equip",
subtype:"equip5",
skills:["monkey"],
ai:{
basic:{
equipValue:8,
},
},
},
"mianju":{
audio:true,
fullskin:true,
type:"equip",
subtype:"equip2",
skills:["mianju"],
ai:{
order:9.5,
basic:{
equipValue:function (card,player){
if(!player.isTurnedOver()) return 6;
if(player.isTurnedOver()) return -10;
return 0;
},
},
},
},
"shoulijian":{
audio:true,
type:"basic",
enable:true,
fullskin:true,
outrange:{
global:2,
},
filterTarget:lib.filter.notMe,
content:function (){
"step 0"
if(!target.countCards('he',{type:'equip'})){
target.damage();
event.finish();
}
else{
target.chooseToDiscard('he',{type:'equip'},'弃置一张装备牌或受到1点伤害').ai=function(card){
var player=_status.event.player;
var source=_status.event.getParent().player;
if(get.damageEffect(player,source,player)>0) return -1;
return 7-get.value(card);
};
}
"step 1"
if(!result.bool){
target.damage();
}
},
ai:{
basic:{
order:9,
value:6,
useful:2,
},
result:{
target:-2,
},
tag:{
discard:1,
damage:1,
},
},
selectTarget:1,
},
"kuwu":{
audio:true,
fullskin:true,
type:"equip",
subtype:"equip1",
skills:["kuwu"],
nomod:true,
nopower:true,
unique:true,
distance:{
attackFrom:-1,
},
ai:{
equipValue:6,
},
},
"xuelunyang":{
audio:true,
fullskin:true,
type:"equip",
subtype:"equip5",
skills:["xuelunyang"],
ai:{
basic:{
equipValue:8,
},
},
},
"jiuwei":{
audio:true,
fullskin:true,
type:"equip",
subtype:"equip5",
skills:["jiuwei"],
ai:{
basic:{
equipValue:8,
},
},
},
},
skill:{
"monkey":{
trigger:{
global:"useCardToBegin",
},
audio:true,
filter:function (event,player){
var card=player.getEquip(5);
if(card){
var name=card.name;
if(name&&name.indexOf('monkey')!=-1&&event.name=='tao'&&event.player!=player&&event.cards.filterInD().length>0) return true;
}
return false;
},
check:function (event,player){
return get.attitude(player,event.player)<=0;
},
content:function (){
"step 0"
player.$fullscreenpop('猴子偷桃','fire');
trigger.untrigger();
trigger.finish();
"step 1"
player.discard(player.getEquip(5));
"step 2"
player.gain(trigger.cards.filterInD(),'gain2','log');
},
},
"mianju":{
audio:true,
trigger:{
player:"turnOverBefore",
},
forced:true,
equipSkill:true,
content:function (){
trigger.cancel();
},
ai:{
noturnOver:true,
effect:{
target:function (card,player,target,current){
if(get.tag(card,'turnOver')) return [0,0];
},
},
},
},
"kuwu":{
audio:true,
trigger:{
source:"damageSource",
},
forced:true,
equipSkill:true,
filter:function (event,player){
if(event._notrigger.includes(event.player)) return false;
return event.card&&event.card.name=='sha'&&event.notLink()&&event.player.countCards('he')>0;
},
content:function (){
trigger.player.chooseToDiscard(true,'he');
},
},
"xuelunyang":{
audio:true,
trigger:{
player:"phaseBegin",
},
equipSkill:true,
direct:true,
content:function(){
'step 0'
player.chooseTarget(get.prompt2('xuelunyang'),function(card,player,target){
var names=[];
if(target.name&&!target.isUnseen(0)) names.add(target.name);
if(target.name1&&!target.isUnseen(0)) names.add(target.name1);
if(target.name2&&!target.isUnseen(1)) names.add(target.name2);
var pss=player.getSkills();
for(var i=0;i<names.length;i++){
var info=lib.character[names[i]];
if(info){
var skills=info[3];
for(var j=0;j<skills.length;j++){
if(lib.translate[skills[j]+'_info']&&lib.skill[skills[j]]&&
!lib.skill[skills[j]].unique&&!pss.includes(skills[j])){
return true;
}
}
}
return false;
}
}).set('ai',function(target){
return Math.random();
});
'step 1'
if(result.bool){
event.target=result.targets[0];
player.logSkill('xuelunyang',event.target);
}
else{
event.finish();
}
'step 2'
var names=[];
var list=[];
if(target.name&&!target.isUnseen(0)) names.add(target.name);
if(target.name1&&!target.isUnseen(0)) names.add(target.name1);
if(target.name2&&!target.isUnseen(1)) names.add(target.name2);
var pss=player.getSkills();
for(var i=0;i<names.length;i++){
var info=lib.character[names[i]];
if(info){
var skills=info[3];
for(var j=0;j<skills.length;j++){
if(lib.translate[skills[j]+'_info']&&lib.skill[skills[j]]&&
!lib.skill[skills[j]].unique&&
!pss.includes(skills[j])){
list.push(skills[j]);
}
}
}
}
player.chooseControl(list).set('prompt','选择获得一个技能').set('choice',get.max(list,get.skillRank,'item')).set('ai',function(){return _status.event.choice})
'step 3'
player.addTempSkill(result.control);
player.popup(result.control);
game.log(player,'获得了','#g【'+get.translation(result.control)+'】');
},
},
"jiuwei":{
trigger:{
player:"phaseEnd",
},
audio:true,
frequent:true,
equipSkill:true,
content:function (){
if(player.isDamaged()){
player.recover();
}
else{
player.draw();
}
},
},
},
translate:{
"monkey":"猴子",
"monkey_info":"猴子偷桃:当场上有其他角色使用【桃】时,你可以弃掉【猴子】,阻止【桃】的结算并将其收为手牌。",
"mianju":"漩涡面具",
"mianju_info":"<font color=#f00>锁定技</font> 你的武将牌不能被翻面。",
"shoulijian":"手里剑",
"shoulijian_info":"出牌阶段对一名距离1以外的角色使用令其弃置一张装备牌或受到1点伤害。",
"kuwu":"苦无",
"kuwu_info":"<font color=#f00>锁定技</font> 每当你使用【杀】造成一次伤害,受伤角色须弃置一张牌。",
"xuelunyang":"写轮眼",
"xuelunyang_info":"回合开始阶段,你可以选择一名角色,然后获得其一项技能,直到回合结束。",
"jiuwei":"九尾",
"jiuwei_info":"收集查克拉回合结束时若你已受伤你可回复1点体力否则摸一张牌。",
},
list:[
["diamond","5","monkey"],
["heart","9","jiuwei"],
["heart","2","xuelunyang"],
["spade","6","kuwu"],
["diamond","4","shoulijian"],
["spade","4","shoulijian"],
["club","3","mianju"],
],
}
});