noname/character/zhuogui.js

343 lines
9.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.

'use strict';
game.import('character',function(lib,game,ui,get,ai,_status){
return {
name:'zhuogui',
character:{
nianshou:['male','shu',4,['nianrui','qixiang']],
mamian:['male','qun',4,['lianyu','guiji']],
niutou:['male','shu',4,['manjia','xiaoshou']],
baiwuchang:['male','qun',3,['qiangzheng','moukui']],
heiwuchang:['male','qun',3,['suoling','xixing']],
},
skill:{
qixiang:{
group:['qixiang1','qixiang2'],
ai:{
effect:{
target:function(card,player,target,current){
if(card.name=='lebu'&&card.name=='bingliang') return 0.8;
}
}
}
},
qixiang1:{
trigger:{player:'judge'},
forced:true,
filter:function(event,player){
if(event.card){
if(event.card.viewAs){
return event.card.viewAs=='lebu';
}
else{
return event.card.name=='lebu';
}
}
},
content:function(){
player.addTempSkill('qixiang3','phaseJudgeAfter');
}
},
qixiang2:{
trigger:{player:'judge'},
forced:true,
filter:function(event,player){
if(event.card){
if(event.card.viewAs){
return event.card.viewAs=='bingliang';
}
else{
return event.card.name=='bingliang';
}
}
},
content:function(){
player.addTempSkill('qixiang4','phaseJudgeAfter');
}
},
qixiang3:{
mod:{
suit:function(card,suit){
if(suit=='diamond') return 'heart';
}
}
},
qixiang4:{
mod:{
suit:function(card,suit){
if(suit=='spade') return 'club';
}
}
},
nianrui:{
trigger:{player:['phaseBegin','phaseEnd']},
content:function(){
"step 0"
player.judge(function(card){
return get.color(card)=='red'?1:0;
});
"step 1"
if(result.bool){
player.draw();
}
}
},
lianyu:{
enable:'phaseUse',
usable:1,
filterCard:{color:'red'},
check:function(card){return 6-get.value(card)},
filterTarget:true,
selectTarget:-1,
line:'fire',
content:function(){
target.damage('fire');
},
ai:{
result:{
player:function(card,player,target){
var eff=0;
for(var i=0;i<game.players.length;i++){
if(!game.players[i].isOut()){
eff+=get.damageEffect(game.players[i],player,player,'fire');
}
}
return eff;
}
},
expose:0.1
}
},
manjia:{
group:['manjia1','manjia2']
},
manjia1:{
trigger:{target:'useCardToBefore'},
forced:true,
priority:6,
filter:function(event,player){
if(player.getEquip(2)) return false;
return lib.skill.tengjia1.filter(event,player);
},
content:function(){
trigger.cancel();
},
ai:{
effect:{
target:function(card,player,target,current){
if(target.getEquip(2)) return;
return lib.skill.tengjia1.ai.effect.target.apply(this,arguments);
}
}
}
},
manjia2:{
trigger:{player:'damageBegin'},
filter:function(event,player){
if(player.getEquip(2)) return false;
if(event.nature=='fire') return true;
},
forced:true,
check:function(){
return false;
},
content:function(){
trigger.num++;
},
ai:{
effect:{
target:function(card,player,target,current){
if(target.getEquip(2)) return;
return lib.skill.tengjia2.ai.effect.target.apply(this,arguments);
}
}
}
},
xiaoshou:{
trigger:{player:'phaseEnd'},
filter:function(event,player){
var players=game.players.slice(0);
players.sort(function(a,b){
return b.hp-a.hp;
});
return players[0].hp>players[1].hp&&players[0]!=player;
},
check:function(event,player){
var players=game.players.slice(0);
players.sort(function(a,b){
return b.hp-a.hp;
});
return get.damageEffect(players[0],player,player,'fire')>0;
},
prompt:function(){
var players=game.players.slice(0);
players.sort(function(a,b){
return b.hp-a.hp;
});
return '枭首:是否对'+get.translation(players[0])+'造成一点火焰伤害?';
},
content:function(){
var players=game.players.slice(0);
players.sort(function(a,b){
return b.hp-a.hp;
});
if(players[0].hp>players[1].hp&&players[0]!=player){
players[0].damage('fire');
player.line(players[0],'fire');
}
},
ai:{
expose:0.2
}
},
guiji:{
trigger:{player:'phaseJudgeBegin'},
forced:true,
content:function(){
player.discard(player.getCards('j').randomGet());
},
filter:function(event ,player){
return player.countCards('j')>0;
},
ai:{
effect:{
target:function(card,player,target,current){
if(get.type(card)=='delay'&&target.countCards('j')==0) return 0.1;
}
}
}
},
qiangzheng:{
audio:2,
trigger:{player:'phaseEnd'},
direct:true,
forced:true,
filter:function(event,player){
for(var i=0;i<game.players.length;i++){
if(game.players[i]!=player&&game.players[i].countCards('h')) return true;
}
return false;
},
content:function(){
"step 0"
player.chooseTarget('获得一名角色的一张手牌',true,function(card,player,target){
return player!=target&&target.countCards('h')>0;
}).ai=function(target){
return -get.attitude(player,target);
};
"step 1"
if(result.targets&&result.targets.length){
player.logSkill('qiangzheng',result.targets);
player.gain(result.targets[0].getCards('h').randomGet(),result.targets[0]);
result.targets[0].$give(1,player);
game.delay();
}
},
ai:{
threaten:1.7
}
},
suoling:{
trigger:{player:'phaseEnd'},
forced:true,
filter:function(event,player){
if(player.isLinked()) return true;
for(var i=0;i<game.players.length;i++){
if(game.players[i]!=player&&!game.players[i].isLinked()){
return true;
}
}
return false;
},
content:function(){
"step 0"
event.targets=game.players.slice(0);
event.targets.remove(player);
event.targets.sort(lib.sort.seat);
if(player.isLinked()) player.link();
"step 1"
if(event.targets.length){
var target=event.targets.shift();
if(!target.isLinked()){
target.link();
}
event.redo();
}
}
},
xixing:{
enable:'phaseUse',
usable:1,
filterCard:function(card){
var type=get.type(card);
for(var i=0;i<ui.selected.cards.length;i++){
if(get.type(ui.selected.cards[i])==type) return false;
}
return true;
},
complexCard:true,
selectCard:3,
position:'he',
filterTarget:function(card,player,target){
return player!=target;
},
check:function(card){
if(_status.event.player.hp==_status.event.player.maxHp){
return 5-get.value(card);
}
return 10-get.value(card);
},
content:function(){
"step 0"
target.damage();
"step 1"
player.recover();
},
ai:{
order:9.5,
result:{
target:function(player,target){
return get.damageEffect(target,player);
}
},
expose:0.2
}
}
},
translate:{
nianshou:'年兽',
nianrui:'年瑞',
qixiang:'祺祥',
qixiang1:'祺祥',
qixiang2:'祺祥',
nianrui_info:'准备阶段和结束阶段,你可以进行一次判定,若结果为红色则摸一张牌',
qixiang_info:'乐不思蜀判定时,你的方块判定牌视为红桃;兵粮寸断判定时,你的黑桃判定牌视为草花',
mamian:'马面',
lianyu:'炼狱',
lianyu_info:'出牌阶段限一次,你可以弃置一张红色手牌令场上所有角色受到一点火焰伤害',
niutou:'牛头',
manjia:'蛮甲',
manjia1:'蛮甲',
manjia2:'蛮甲',
manjia_info:'锁定技,若你的装备区内没有防具牌,则你视为装备了[藤甲]',
xiaoshou:'枭首',
xiaoshou_info:'结束阶段,若场上体力值最多的角色只有一个,你可以对其造成一点火焰伤害',
guiji:'诡计',
guiji_info:'锁定技,准备阶段结束时,若你的判定区内有牌,你随机弃置其中一张牌',
baiwuchang:'白无常',
qiangzheng:'强征',
qiangzheng_info:'锁定技,结束阶段,你获得一名其他角色的一张手牌',
zuijiu:'醉酒',
zuijiu_info:'锁定技,你的黑杀造成的伤害+1造成伤害后须弃置一张手牌',
heiwuchang:'黑无常',
suoling:'索令',
suoling_info:'锁定技,结束阶段,你解除横置状态,除你之外的所有角色进入横置状态',
xixing:'吸星',
xixing_info:'出牌阶段限一次,你可以弃置三张不同类别的牌,对一名其他角色造成一点伤害,然后回复一点体力',
},
};
});