傻宝逍遥小鱼儿的杰作
58
card/sp.js
|
@ -240,32 +240,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
skills:['yinyueqiang']
|
skills:['yinyueqiang']
|
||||||
},
|
},
|
||||||
|
|
||||||
du:{
|
|
||||||
type:'basic',
|
|
||||||
fullskin:true,
|
|
||||||
toself:true,
|
|
||||||
ai:{
|
|
||||||
value:-5,
|
|
||||||
useful:6,
|
|
||||||
result:{
|
|
||||||
player:function(player,target){
|
|
||||||
if(player.hasSkillTag('usedu')) return 5;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
order:7.5
|
|
||||||
},
|
|
||||||
enable:true,
|
|
||||||
modTarget:true,
|
|
||||||
global:'g_du',
|
|
||||||
filterTarget:function(card,player,target){
|
|
||||||
return target==player;
|
|
||||||
},
|
|
||||||
delay:false,
|
|
||||||
content:function(){},
|
|
||||||
selectTarget:-1
|
|
||||||
},
|
|
||||||
shengdong:{
|
shengdong:{
|
||||||
audio:true,
|
audio:true,
|
||||||
fullskin:true,
|
fullskin:true,
|
||||||
|
@ -601,30 +575,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
g_du:{
|
|
||||||
cardSkill:true,
|
|
||||||
trigger:{player:'loseEnd'},
|
|
||||||
popup:false,
|
|
||||||
forced:true,
|
|
||||||
filter:function(event,player){
|
|
||||||
if(!event.visible) return false;
|
|
||||||
if(player.hasSkillTag('nodu')) return false;
|
|
||||||
if(event.hs){
|
|
||||||
for(var i=0;i<event.hs.length;i++){
|
|
||||||
if(get.name(event.hs[i],player)=='du') return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
var num=0;
|
|
||||||
for(var i=0;i<trigger.hs.length;i++){
|
|
||||||
if(get.name(trigger.hs[i],player)=='du') num++;
|
|
||||||
}
|
|
||||||
if(trigger.getParent().name!='useCard'||trigger.getParent().card.name!='du') player.popup('毒','wood');
|
|
||||||
player.loseHp(num).type='du';
|
|
||||||
},
|
|
||||||
},
|
|
||||||
caomu_skill:{
|
caomu_skill:{
|
||||||
cardSkill:true,
|
cardSkill:true,
|
||||||
unique:true,
|
unique:true,
|
||||||
|
@ -666,8 +616,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
lanyinjia_info:'你可以将一张手牌当做【闪】使用或打出。锁定技,【烂银甲】不会无效化;当你受到【杀】造成的伤害时,弃置【烂银甲】。',
|
lanyinjia_info:'你可以将一张手牌当做【闪】使用或打出。锁定技,【烂银甲】不会无效化;当你受到【杀】造成的伤害时,弃置【烂银甲】。',
|
||||||
yinyueqiang:'银月枪',
|
yinyueqiang:'银月枪',
|
||||||
yinyueqiang_info:'你的回合外,每当你使用或打出了一张黑色手牌(若为使用则在它结算之前),你可以立即对你攻击范围内的任意一名角色使用一张【杀】',
|
yinyueqiang_info:'你的回合外,每当你使用或打出了一张黑色手牌(若为使用则在它结算之前),你可以立即对你攻击范围内的任意一名角色使用一张【杀】',
|
||||||
du:'毒',
|
|
||||||
du_info:'当此牌正面朝上离开你的手牌区时,你失去一点体力',
|
|
||||||
shengdong:'声东击西',
|
shengdong:'声东击西',
|
||||||
shengdong_info:'出牌阶段,对一名其他角色使用。你交给目标角色一张手牌,若如此做,其将两张牌交给另一名由你选择的其他角色(不足则全给,存活角色不超过2时可重铸)',
|
shengdong_info:'出牌阶段,对一名其他角色使用。你交给目标角色一张手牌,若如此做,其将两张牌交给另一名由你选择的其他角色(不足则全给,存活角色不超过2时可重铸)',
|
||||||
zengbin:'增兵减灶',
|
zengbin:'增兵减灶',
|
||||||
|
@ -684,12 +632,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
['diamond',4,'zengbin'],
|
['diamond',4,'zengbin'],
|
||||||
['heart',6,'zengbin'],
|
['heart',6,'zengbin'],
|
||||||
['spade',7,'zengbin'],
|
['spade',7,'zengbin'],
|
||||||
['spade',3,'du'],
|
|
||||||
['spade',9,'du'],
|
|
||||||
['club',3,'du'],
|
|
||||||
['club',9,'du'],
|
|
||||||
['diamond',5,'du'],
|
|
||||||
['diamond',9,'du'],
|
|
||||||
['diamond',12,'yinyueqiang'],
|
['diamond',12,'yinyueqiang'],
|
||||||
["spade",11,'jinchan'],
|
["spade",11,'jinchan'],
|
||||||
["club",12,'jinchan'],
|
["club",12,'jinchan'],
|
||||||
|
|
|
@ -141,6 +141,9 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
if(event.shanRequired>1){
|
if(event.shanRequired>1){
|
||||||
next.set('prompt2','(共需使用'+event.shanRequired+'张闪)');
|
next.set('prompt2','(共需使用'+event.shanRequired+'张闪)');
|
||||||
}
|
}
|
||||||
|
else if(event.card.nature=='stab'){
|
||||||
|
next.set('prompt2','(在此之后仍需弃置一张手牌)');
|
||||||
|
}
|
||||||
next.set('ai1',function(card){
|
next.set('ai1',function(card){
|
||||||
var target=_status.event.player;
|
var target=_status.event.player;
|
||||||
var evt=_status.event.getParent();
|
var evt=_status.event.getParent();
|
||||||
|
@ -172,6 +175,10 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
if(event.shanRequired>0){
|
if(event.shanRequired>0){
|
||||||
event.goto(1);
|
event.goto(1);
|
||||||
}
|
}
|
||||||
|
else if(event.card.nature=='stab'&&target.countCards('h')>0){
|
||||||
|
event.responded=result;
|
||||||
|
event.goto(4);
|
||||||
|
}
|
||||||
else{
|
else{
|
||||||
event.trigger('shaMiss');
|
event.trigger('shaMiss');
|
||||||
event.responded=result;
|
event.responded=result;
|
||||||
|
@ -187,6 +194,28 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
event.result={bool:false}
|
event.result={bool:false}
|
||||||
event.trigger('shaUnhirt');
|
event.trigger('shaUnhirt');
|
||||||
}
|
}
|
||||||
|
event.finish();
|
||||||
|
"step 4"
|
||||||
|
target.chooseToDiscard('刺杀:请弃置一张牌,否则此【杀】依然造成伤害').set('ai',function(card){
|
||||||
|
var target=_status.event.player;
|
||||||
|
var evt=_status.event.getParent();
|
||||||
|
var bool=true;
|
||||||
|
if(get.damageEffect(target,evt.player,target,evt.card.nature)>=0) bool=false;
|
||||||
|
if(bool){
|
||||||
|
return 8-get.useful(card);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
});
|
||||||
|
"step 5"
|
||||||
|
if((!result||!result.bool)&&!event.unhurt){
|
||||||
|
target.damage(get.nature(event.card),event.baseDamage+event.extraDamage);
|
||||||
|
event.result={bool:true}
|
||||||
|
event.trigger('shaDamage');
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
event.result={bool:false}
|
||||||
|
event.trigger('shaUnhirt');
|
||||||
|
}
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
yingbian:function(card,player,targets,viewer){
|
yingbian:function(card,player,targets,viewer){
|
||||||
|
@ -1995,9 +2024,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(event.card.name!='sha') return false;
|
if(event.card.name!='sha') return false;
|
||||||
if(player.sex=='male'&&event.target.sex=='female') return true;
|
return player.differentSexFrom(event.target);
|
||||||
if(player.sex=='female'&&event.target.sex=='male') return true;
|
|
||||||
return false;
|
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
|
@ -2675,6 +2702,9 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
sha:'杀',
|
sha:'杀',
|
||||||
huosha:'火杀',
|
huosha:'火杀',
|
||||||
leisha:'雷杀',
|
leisha:'雷杀',
|
||||||
|
icesha:'冰杀',
|
||||||
|
kamisha:'神杀',
|
||||||
|
cisha:'刺杀',
|
||||||
shan:'闪',
|
shan:'闪',
|
||||||
tao:'桃',
|
tao:'桃',
|
||||||
bagua:'八卦阵',
|
bagua:'八卦阵',
|
||||||
|
|
|
@ -0,0 +1,733 @@
|
||||||
|
'use strict';
|
||||||
|
game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
|
return {
|
||||||
|
name:'yongjian',
|
||||||
|
connect:true,
|
||||||
|
card:{
|
||||||
|
du:{
|
||||||
|
type:'basic',
|
||||||
|
fullskin:true,
|
||||||
|
global:['g_du','g_du_give'],
|
||||||
|
content:function(){},
|
||||||
|
ai:{
|
||||||
|
value:-5,
|
||||||
|
useful:6,
|
||||||
|
result:{
|
||||||
|
player:function(player,target){
|
||||||
|
if(player.hasSkillTag('usedu')) return 5;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
order:7.5
|
||||||
|
},
|
||||||
|
},
|
||||||
|
guaguliaodu:{
|
||||||
|
type:'trick',
|
||||||
|
fullskin:true,
|
||||||
|
enable:true,
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
return target.isDamaged();
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
target.recover();
|
||||||
|
'step 1'
|
||||||
|
if(target.hasCard(function(card){
|
||||||
|
return _status.connectMode||get.name(card,target)=='du';
|
||||||
|
},'h')) target.chooseToDiscard('h',{name:'du'},'是否弃置一张【毒】?(不失去体力)').set('ai',()=>1);
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:2,
|
||||||
|
tag:{
|
||||||
|
recover:1,
|
||||||
|
},
|
||||||
|
result:{
|
||||||
|
target:1.5,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
chenghuodajie:{
|
||||||
|
type:'trick',
|
||||||
|
fullskin:true,
|
||||||
|
enable:true,
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
return target!=player&&target.countCards('h')>0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
if(typeof event.baseDamage!='number') event.baseDamage=1;
|
||||||
|
if(!target.countCards('h')||!player.isIn()) event.finish();
|
||||||
|
else player.choosePlayerCard(target,'h',true);
|
||||||
|
'step 1'
|
||||||
|
if(result.bool){
|
||||||
|
event.show_card=result.cards[0],str=get.translation(player);
|
||||||
|
player.showCards(event.show_card);
|
||||||
|
target.chooseControl().set('choiceList',[
|
||||||
|
'令'+str+'获得'+get.translation(event.show_card),
|
||||||
|
'受到'+str+'造成的'+event.baseDamage+'点伤害',
|
||||||
|
]).set('ai',function(){
|
||||||
|
var evt=_status.event.getParent(),player=evt.target,source=evt.player,card=evt.show_card;
|
||||||
|
if(get.damageEffect(player,source,player)>0) return 1;
|
||||||
|
if(get.attitude(player,source)*get.value(card,source)>=0) return 0;
|
||||||
|
if(card.name=='tao') return 1;
|
||||||
|
return get.value(card,player)>(6+(Math.max(player.maxHp,3)-player.hp)*1.5)?1:0;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else event.finish();
|
||||||
|
'step 2'
|
||||||
|
if(result.index==0) player.gain(event.show_card,target,'give');
|
||||||
|
else target.damage();
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:6,
|
||||||
|
tag:{
|
||||||
|
damage:1,
|
||||||
|
loseCard:1,
|
||||||
|
gain:1,
|
||||||
|
},
|
||||||
|
result:{
|
||||||
|
player:0.1,
|
||||||
|
target:-1.2,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
tuixinzhifu:{
|
||||||
|
type:'trick',
|
||||||
|
fullskin:true,
|
||||||
|
enable:true,
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
return target!=player&&target.countGainableCards(player,'hej')>0;
|
||||||
|
},
|
||||||
|
range:{global:1},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.gainPlayerCard(target,'hej',true,[1,2]);
|
||||||
|
'step 1'
|
||||||
|
if(result.bool&&target.isIn()){
|
||||||
|
var num=result.cards.length,hs=player.getCards('h');
|
||||||
|
if(!hs.length) event.finish();
|
||||||
|
else if(hs.length<num) event._result={bool:true,cards:hs.length};
|
||||||
|
else player.chooseCard('h',true,num,'交给'+get.translation(target)+get.cnNumber(num)+'张牌');
|
||||||
|
}
|
||||||
|
else event.finish();
|
||||||
|
'step 2'
|
||||||
|
if(result.bool) target.gain(result.cards,player,'giveAuto');
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:5,
|
||||||
|
tag:{
|
||||||
|
loseCard:1,
|
||||||
|
gain:0.5,
|
||||||
|
},
|
||||||
|
result:{
|
||||||
|
target:function(player,target){
|
||||||
|
if(get.attitude(player,target)<=0) return ((target.countCards('he',function(card){
|
||||||
|
return get.value(card,target)>0&&card!=target.getEquip('jinhe');
|
||||||
|
})>0)?-0.3:0.3)*Math.sqrt(player.countCards('h'));
|
||||||
|
return ((target.countCards('ej',function(card){
|
||||||
|
if(get.position(card)=='e') return get.value(card,target)<=0;
|
||||||
|
var cardj=card.viewAs?{name:card.viewAs}:card;
|
||||||
|
return get.effect(target,cardj,target,player)<0;
|
||||||
|
})>0)?1.5:-0.3)*Math.sqrt(player.countCards('h'));
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
yitianjian:{
|
||||||
|
type:'equip',
|
||||||
|
subtype:'equip1',
|
||||||
|
fullskin:true,
|
||||||
|
distance:{attackFrom:-1},
|
||||||
|
skills:['yitianjian'],
|
||||||
|
ai:{
|
||||||
|
equipValue:1.5,
|
||||||
|
basic:{
|
||||||
|
equipValue:1.5,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
qixingbaodao:{
|
||||||
|
type:'equip',
|
||||||
|
subtype:'equip1',
|
||||||
|
distance:{attackFrom:-1},
|
||||||
|
fullskin:true,
|
||||||
|
skills:['qixingbaodao'],
|
||||||
|
selectTarget:[-1,-2],
|
||||||
|
ai:{
|
||||||
|
order:9,
|
||||||
|
value:function(card,player){
|
||||||
|
if(player.getEquip(1)==card) return 0;
|
||||||
|
return 4;
|
||||||
|
},
|
||||||
|
equipValue:function(card,player){
|
||||||
|
if(player.getCards('e').contains(card)) return 0;
|
||||||
|
return -get.value(player.getCards('e'));
|
||||||
|
},
|
||||||
|
basic:{
|
||||||
|
equipValue:5,
|
||||||
|
},
|
||||||
|
result:{
|
||||||
|
keepAI:true,
|
||||||
|
target:function(player,target){
|
||||||
|
var cards=target.getCards('e'),js=target.getCards('j');
|
||||||
|
var val=get.value(cards,target);
|
||||||
|
for(var card of js) val-=get.effect(target,card.viewAs?{name:card.viewAs}:card,target,target)
|
||||||
|
return -val;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
duanjian:{
|
||||||
|
type:'equip',
|
||||||
|
subtype:'equip1',
|
||||||
|
fullskin:true,
|
||||||
|
distance:{attackFrom:1},
|
||||||
|
selectTarget:[-1,-2],
|
||||||
|
ai:{
|
||||||
|
order:9,
|
||||||
|
equipValue:function(card,player){
|
||||||
|
if(get.position(card)=='e') return -2;
|
||||||
|
return 2;
|
||||||
|
},
|
||||||
|
value:function(card,player){
|
||||||
|
if(player.getEquip(1)==card) return -3;
|
||||||
|
return 3;
|
||||||
|
},
|
||||||
|
basic:{
|
||||||
|
equipValue:5,
|
||||||
|
},
|
||||||
|
result:{
|
||||||
|
keepAI:true,
|
||||||
|
target:function(player,target){
|
||||||
|
var val=2.5;
|
||||||
|
var val2=0;
|
||||||
|
var card=target.getEquip(1);
|
||||||
|
if(card){
|
||||||
|
val2=get.value(card,target);
|
||||||
|
if(val2<0) return 0;
|
||||||
|
}
|
||||||
|
return -val-val2;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
serafuku:{
|
||||||
|
type:'equip',
|
||||||
|
subtype:'equip2',
|
||||||
|
fullskin:true,
|
||||||
|
skills:['serafuku'],
|
||||||
|
selectTarget:[-1,-2],
|
||||||
|
ai:{
|
||||||
|
order:9,
|
||||||
|
equipValue:function(card,player){
|
||||||
|
if(get.position(card)=='e') return -2;
|
||||||
|
return 2;
|
||||||
|
},
|
||||||
|
value:function(card,player){
|
||||||
|
if(player.getEquip(2)==card) return -3;
|
||||||
|
return 3;
|
||||||
|
},
|
||||||
|
basic:{
|
||||||
|
equipValue:5,
|
||||||
|
},
|
||||||
|
result:{
|
||||||
|
keepAI:true,
|
||||||
|
target:function(player,target){
|
||||||
|
var val=(target.hasSex('male')?2.5:0);
|
||||||
|
var val2=0;
|
||||||
|
var card=target.getEquip(1);
|
||||||
|
if(card){
|
||||||
|
val2=get.value(card,target);
|
||||||
|
if(val2<0) return 0;
|
||||||
|
}
|
||||||
|
return -val-val2;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
yinfengyi:{
|
||||||
|
type:'equip',
|
||||||
|
subtype:'equip2',
|
||||||
|
fullskin:true,
|
||||||
|
skills:['yinfengyi'],
|
||||||
|
selectTarget:[-1,-2],
|
||||||
|
ai:{
|
||||||
|
order:9,
|
||||||
|
equipValue:function(card,player){
|
||||||
|
if(get.position(card)=='e') return -1;
|
||||||
|
return 1;
|
||||||
|
},
|
||||||
|
value:function(card,player){
|
||||||
|
if(player.getEquip(2)==card) return -2.5;
|
||||||
|
return 2.5;
|
||||||
|
},
|
||||||
|
basic:{
|
||||||
|
equipValue:5,
|
||||||
|
},
|
||||||
|
result:{
|
||||||
|
keepAI:true,
|
||||||
|
target:function(player,target){
|
||||||
|
var val=2;
|
||||||
|
var val2=0;
|
||||||
|
var card=target.getEquip(2);
|
||||||
|
if(card){
|
||||||
|
val2=get.value(card,target);
|
||||||
|
if(val2<0) return 0;
|
||||||
|
}
|
||||||
|
return -val-val2;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
yonglv:{
|
||||||
|
type:'equip',
|
||||||
|
subtype:'equip4',
|
||||||
|
fullskin:true,
|
||||||
|
selectTarget:[-1,-2],
|
||||||
|
distance:{
|
||||||
|
globalFrom:-1,
|
||||||
|
globalTo:-Infinity,
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:9,
|
||||||
|
equipValue:0,
|
||||||
|
value:function(card,player){
|
||||||
|
if(player.getEquip(2)==card) return 0;
|
||||||
|
return 0.5;
|
||||||
|
},
|
||||||
|
basic:{
|
||||||
|
equipValue:0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
zhanxiang:{
|
||||||
|
type:'equip',
|
||||||
|
subtype:'equip3',
|
||||||
|
fullskin:true,
|
||||||
|
distance:{globalTo:1},
|
||||||
|
skills:['zhanxiang'],
|
||||||
|
ai:{
|
||||||
|
equipValue:3.5,
|
||||||
|
basic:{
|
||||||
|
equipValue:3.5,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
xinge:{
|
||||||
|
type:'equip',
|
||||||
|
subtype:'equip5',
|
||||||
|
fullskin:true,
|
||||||
|
skills:['xinge'],
|
||||||
|
ai:{
|
||||||
|
equipValue:2,
|
||||||
|
basic:{
|
||||||
|
equipValue:2,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
skill:{
|
||||||
|
yitianjian:{
|
||||||
|
audio:true,
|
||||||
|
trigger:{source:'damageSource'},
|
||||||
|
direct:true,
|
||||||
|
equipSkill:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.card&&event.card.name=='sha'&&event.getParent().name=='sha'&&player.countCards('h')>0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.chooseToDiscard('h',get.prompt('yitianjian'),'弃置一张手牌并回复1点体力').set('ai',(card)=>7-get.value(card)).logSkill='yitianjian';
|
||||||
|
'step 1'
|
||||||
|
if(result.bool) player.recover();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
serafuku:{
|
||||||
|
audio:true,
|
||||||
|
trigger:{target:'useCardToTargeted'},
|
||||||
|
forced:true,
|
||||||
|
equipSkill:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.card.name=='sha'&&player.hasSex('male');
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.judge(function(card){
|
||||||
|
return get.color(card)=='black'?-2:0;
|
||||||
|
}).judge2=function(result){
|
||||||
|
return result.bool==false?true:false;
|
||||||
|
};
|
||||||
|
'step 1'
|
||||||
|
if(result.bool===false){
|
||||||
|
var map=trigger.customArgs,id=player.playerid;
|
||||||
|
if(!map[id]) map[id]={};
|
||||||
|
if(!map[id].extraDamage) map[id].extraDamage=0;
|
||||||
|
map[id].extraDamage++;
|
||||||
|
game.log(trigger.card,'对',player,'的伤害+1');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
yinfengyi:{
|
||||||
|
audio:true,
|
||||||
|
equipSkill:true,
|
||||||
|
forced:true,
|
||||||
|
trigger:{player:['damageBegin3','loseHpBegin']},
|
||||||
|
filter:function(event,player){
|
||||||
|
if(event.name=='damage') return event.card&&get.type2(event.card)=='trick';
|
||||||
|
return event.type=='du';
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
trigger.num++;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
zhanxiang:{
|
||||||
|
audio:true,
|
||||||
|
equipSkill:true,
|
||||||
|
forced:true,
|
||||||
|
trigger:{target:'_yongjian_zengyuBegin'},
|
||||||
|
content:function(){
|
||||||
|
trigger._zengyu_denied=true;
|
||||||
|
game.log(player,'拒绝了',trigger.player,'发起的赠予');
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
refuseGifts:true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
xinge:{
|
||||||
|
audio:true,
|
||||||
|
enable:'phaseUse',
|
||||||
|
usable:1,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.countCards('h')>0;
|
||||||
|
},
|
||||||
|
filterCard:true,
|
||||||
|
position:'h',
|
||||||
|
filterTarget:lib.filter.notMe,
|
||||||
|
discard:false,
|
||||||
|
lose:false,
|
||||||
|
delay:false,
|
||||||
|
content:function(){
|
||||||
|
target.gain(cards,player,'giveAuto');
|
||||||
|
},
|
||||||
|
},
|
||||||
|
qixingbaodao:{
|
||||||
|
trigger:{player:'equipAfter'},
|
||||||
|
forced:true,
|
||||||
|
equipSkill:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.card.name=='qixingbaodao'&&player.hasCard(function(card){
|
||||||
|
return card!=event.card;
|
||||||
|
},'ej');
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
var cards=player.getCards('ej',function(card){
|
||||||
|
return card!=trigger.card&&lib.filter.cardDiscardable(card,player,'qixingbaodao');
|
||||||
|
});
|
||||||
|
if(cards.length) player.discard(cards);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
g_du:{
|
||||||
|
trigger:{
|
||||||
|
player:['loseAfter','compare'],
|
||||||
|
global:['equipAfter','addJudgeAfter','gainAfter','loseAsyncAfter'],
|
||||||
|
target:'compare',
|
||||||
|
},
|
||||||
|
cardSkill:true,
|
||||||
|
filter:function(event,player,name){
|
||||||
|
if(name=='compare'){
|
||||||
|
if(player==event.player){
|
||||||
|
if(event.iwhile>0) return false;
|
||||||
|
return event.card1.name=='du';
|
||||||
|
}
|
||||||
|
return event.card2.name=='du';
|
||||||
|
}
|
||||||
|
if(event.name!='equip'&&event.name!='addJudge'&&!event.visible) return false;
|
||||||
|
var evt=event.getl(player);
|
||||||
|
if(!evt||!evt.hs||!evt.hs.filter(function(i){
|
||||||
|
return get.name(i,player)=='du';
|
||||||
|
}).length) return false;
|
||||||
|
for(var i of lib.skill.g_du.whiteListFilter){
|
||||||
|
if(i(event,player)) return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
whiteListFilter:[
|
||||||
|
(event)=>event.getParent().name=='g_du_give',
|
||||||
|
(event)=>event.getParent(3).name=='guaguliaodu',
|
||||||
|
],
|
||||||
|
forced:true,
|
||||||
|
popup:false,
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
if(trigger.delay===false) game.delayx();
|
||||||
|
'step 1'
|
||||||
|
game.log(player,'触发了','#g【毒】','的效果');
|
||||||
|
var num=1;
|
||||||
|
if(typeof trigger.getl=='function'){
|
||||||
|
num=trigger.getl(player).hs.filter(function(i){
|
||||||
|
return get.name(i,player)=='du';
|
||||||
|
}).length;
|
||||||
|
}
|
||||||
|
player.loseHp(num).type='du';
|
||||||
|
},
|
||||||
|
},
|
||||||
|
g_du_give:{
|
||||||
|
trigger:{
|
||||||
|
player:'gainAfter',
|
||||||
|
global:'phaseBefore',
|
||||||
|
},
|
||||||
|
cardSkill:true,
|
||||||
|
direct:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
if(event.name=='phase'){
|
||||||
|
if(game.phaseNumber!=0) return false;
|
||||||
|
if(!player._start_cards) return false;
|
||||||
|
var hs=player.getCards('h');
|
||||||
|
for(var card of player._start_cards){
|
||||||
|
if(get.name(card,player)=='du'&&hs.contains(card)) return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
if(event.getParent().name!='draw') return false;
|
||||||
|
var hs=player.getCards('h');
|
||||||
|
for(var card of event.cards){
|
||||||
|
if(get.name(card,player)=='du'&&hs.contains(card)) return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
var hs=player.getCards('h');
|
||||||
|
if(trigger.name=='phase'){
|
||||||
|
event.cards=player._start_cards.filter(function(card){
|
||||||
|
return (get.name(card,player)=='du'&&hs.contains(card));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
event.cards=trigger.cards.filter(function(card){
|
||||||
|
return (get.name(card,player)=='du'&&hs.contains(card));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if(_status.connectMode) game.broadcastAll(function(){_status.noclearcountdown=true});
|
||||||
|
event.given_map={};
|
||||||
|
'step 1'
|
||||||
|
player.chooseCardTarget({
|
||||||
|
filterCard:function(card){
|
||||||
|
return _status.event.cards.contains(card);
|
||||||
|
},
|
||||||
|
filterTarget:lib.filter.notMe,
|
||||||
|
selectCard:[1,cards.length],
|
||||||
|
cards:event.cards,
|
||||||
|
prompt:'是否发动【赠毒】?',
|
||||||
|
prompt2:'将本次获得的【毒】交给其他角色',
|
||||||
|
ai1:function(card){
|
||||||
|
if(!ui.selected.cards.length) return 1;
|
||||||
|
return 0;
|
||||||
|
},
|
||||||
|
ai2:function(target){
|
||||||
|
return -get.attitude(_status.event.player,target);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
'step 2'
|
||||||
|
if(result.bool){
|
||||||
|
event.given=true;
|
||||||
|
var res=result.cards,target=result.targets[0].playerid;
|
||||||
|
player.addGaintag(res,'du_given');
|
||||||
|
cards.removeArray(res);
|
||||||
|
if(!event.given_map[target]) event.given_map[target]=[];
|
||||||
|
event.given_map[target].addArray(res);
|
||||||
|
if(cards.length) event.goto(1);
|
||||||
|
}
|
||||||
|
else if(!event.given){
|
||||||
|
if(_status.connectMode){
|
||||||
|
game.broadcastAll(function(){delete _status.noclearcountdown});
|
||||||
|
game.stopCountChoose();
|
||||||
|
}
|
||||||
|
event.finish();
|
||||||
|
}
|
||||||
|
'step 3'
|
||||||
|
if(_status.connectMode){
|
||||||
|
game.broadcastAll(function(){delete _status.noclearcountdown});
|
||||||
|
game.stopCountChoose();
|
||||||
|
}
|
||||||
|
var logs=[];
|
||||||
|
for(var i in event.given_map){
|
||||||
|
var source=(_status.connectMode?lib.playerOL:game.playerMap)[i];
|
||||||
|
logs.push(source);
|
||||||
|
source.gain(event.given_map[i],player,'give');
|
||||||
|
}
|
||||||
|
logs.sortBySeat();
|
||||||
|
event.next.sort(function(a,b){
|
||||||
|
return lib.sort.seat(a.player,b.player);
|
||||||
|
});
|
||||||
|
player.logSkill('g_du_give',logs);
|
||||||
|
player.removeGaintag('du_given');
|
||||||
|
},
|
||||||
|
ai:{expose:0.1},
|
||||||
|
},
|
||||||
|
_yongjian_zengyu:{
|
||||||
|
enable:'phaseUse',
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.hasCard((card)=>lib.skill._yongjian_zengyu.filterCard(card),'h');
|
||||||
|
},
|
||||||
|
filterCard:function(card){
|
||||||
|
return get.cardtag(card,'gifts');
|
||||||
|
},
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
if(player==target) return false;
|
||||||
|
var card=ui.selected.cards[0];
|
||||||
|
if(get.type(card,false)=='equip'){
|
||||||
|
return target.canEquip(card,true);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
discard:false,
|
||||||
|
lose:false,
|
||||||
|
delay:false,
|
||||||
|
check:function(card){
|
||||||
|
var player=_status.event.player;
|
||||||
|
if(get.cardtag(card,'gifts')&&get.type(card,false)=='equip'&&game.hasPlayer(function(current){
|
||||||
|
return current!=player&¤t.canEquip(card,true)&&!current.hasSkillTag('refuseGifts')&&get.effect(current,card,player,player)>0;
|
||||||
|
})) return 2;
|
||||||
|
if(!player.needsToDiscard()) return 0;
|
||||||
|
return 1+Math.random();
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
if(event._zengyu_denied){
|
||||||
|
player.$throw(cards[0],1000);
|
||||||
|
player.lose(cards,ui.discardPile,'visible');
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
if(get.type(cards[0],false)=='equip'){
|
||||||
|
player.$give(cards[0],target,false);
|
||||||
|
game.delay(0.5);
|
||||||
|
target.equip(cards[0]);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
target.gain(cards,player,'give');
|
||||||
|
event.finish();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'step 1'
|
||||||
|
game.delayx();
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:function(item,player){
|
||||||
|
if(player.hasCard(function(card){
|
||||||
|
return get.cardtag(card,'gifts')&&get.type(card,false)=='equip'&&game.hasPlayer(function(current){
|
||||||
|
return current!=player&¤t.canEquip(card,true)&&!current.hasSkillTag('refuseGifts')&&get.effect(current,card,player,player)>0;
|
||||||
|
});
|
||||||
|
},'h')) return 7;
|
||||||
|
return 0.51;
|
||||||
|
},
|
||||||
|
result:{
|
||||||
|
target:function(player,target){
|
||||||
|
var card=ui.selected.cards[0];
|
||||||
|
if(!card||target.hasSkillTag('refuseGifts')) return 0;
|
||||||
|
if(get.type(card,false)=='equip') return get.effect(target,card,target,target);
|
||||||
|
if(card.name=='du') return player.hp>target.hp?-1:0;
|
||||||
|
if(target.hasSkillTag('nogain')) return 0;
|
||||||
|
return Math.max(1,get.value(card,player)-get.value(card,target));
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
translate:{
|
||||||
|
gifts_tag:'赠',
|
||||||
|
du:'毒',
|
||||||
|
du_info:'①当此牌正面向上离开你的手牌区,或作为你的拼点牌而亮出时,你失去1点体力。②当你因摸牌或分发起始手牌而获得【毒】后,你可将其分配给其他角色(正面朝上移动,且不触发〖毒①〗)。',
|
||||||
|
g_du:'毒',
|
||||||
|
g_du_give:'赠毒',
|
||||||
|
du_given:'已分配',
|
||||||
|
guaguliaodu:'刮骨疗毒',
|
||||||
|
guaguliaodu_info:'出牌阶段,对一名已受伤的角色使用。目标角色回复1点体力,然后其可以弃置一张【毒】(不触发〖毒①〗失去体力的效果)。',
|
||||||
|
chenghuodajie:'趁火打劫',
|
||||||
|
chenghuodajie_info:'出牌阶段,对一名有手牌的其他角色使用。你展示其一张手牌,然后令其选择一项:①将此牌交给你。②你对其造成1点伤害。',
|
||||||
|
tuixinzhifu:'推心置腹',
|
||||||
|
tuixinzhifu_info:'出牌阶段,对一名距离为1的其他角色使用。你获得其区域内的至多两张牌,然后交给其等量的牌。',
|
||||||
|
yitianjian:'倚天剑',
|
||||||
|
yitianjian_info:'当你因执行【杀】的效果而造成伤害后,你可弃置一张手牌,然后回复1点体力。',
|
||||||
|
qixingbaodao:'七星宝刀',
|
||||||
|
qixingbaodao_info:'锁定技。当此牌进入你的装备区后,你弃置装备区和判定区内的所有其他牌。',
|
||||||
|
duanjian:'断剑',
|
||||||
|
duanjian_info:'这是一把坏掉的武器…',
|
||||||
|
duanjian_append:'<span class="text" style="font-family: yuanli">不要因为手快而装给自己。</span>',
|
||||||
|
serafuku:'水手服',
|
||||||
|
serafuku_info:'锁定技。当你成为【杀】的目标后,若你的性别包含男性,则你进行判定:若结果为黑色,则此牌对你的伤害值基数+1。',
|
||||||
|
serafuku_append:'<span class="text" style="font-family: yuanli">セーラー服だからです、<br>结论! </span>',
|
||||||
|
yinfengyi:'引蜂衣',
|
||||||
|
yinfengyi_info:'锁定技。当你受到渠道为锦囊牌的伤害时,此伤害+1。当你因〖毒①〗而失去体力时,失去体力的量值+1。',
|
||||||
|
yonglv:'庸驴',
|
||||||
|
yonglv_info:'锁定技。其他角色至你的距离视为1。',
|
||||||
|
yonglv_append:'<span class="text" style="font-family: yuanli">它旁边的就是王仲宣。</span>',
|
||||||
|
zhanxiang:'战象',
|
||||||
|
zhanxiang_info:'锁定技。当你成为〖赠予〗的目标后,你将此次赠予的效果改为“将赠予牌移动至弃牌堆”。',
|
||||||
|
xinge:'信鸽',
|
||||||
|
xinge_info:'出牌阶段限一次。你可以将一张牌交给一名其他角色。',
|
||||||
|
xinge_append:'<span class="text" style="font-family: yuanli">咕咕咕。</span>',
|
||||||
|
|
||||||
|
_yongjian_zengyu:'赠予',
|
||||||
|
_yongjian_zengyu_info:'出牌阶段,你可将一张拥有“赠”标签的手牌区装备牌置于一名其他角色的装备区内,或将一张拥有“赠”标签的手牌区非装备牌正面朝上交给一名其他角色。',
|
||||||
|
},
|
||||||
|
list:[
|
||||||
|
['spade',1,'guaguliaodu'],
|
||||||
|
['spade',2,'qixingbaodao',null,['gifts']],
|
||||||
|
['spade',3,'shunshou',null,['gifts']],
|
||||||
|
['spade',4,'du',null,['gifts']],
|
||||||
|
['spade',5,'du',null,['gifts']],
|
||||||
|
['spade',6,'sha','stab'],
|
||||||
|
['spade',7,'sha','stab'],
|
||||||
|
['spade',8,'sha','stab'],
|
||||||
|
['spade',9,'du',null,['gifts']],
|
||||||
|
['spade',10,'du',null,['gifts']],
|
||||||
|
['spade',11,'wuxie'],
|
||||||
|
['spade',12,'chenghuodajie'],
|
||||||
|
['spade',13,'chenghuodajie'],
|
||||||
|
|
||||||
|
['heart',1,'guaguliaodu'],
|
||||||
|
['heart',2,'shan',null,['gifts']],
|
||||||
|
['heart',3,'wugu',null,['gifts']],
|
||||||
|
['heart',4,'xinge',null,['gifts']],
|
||||||
|
['heart',5,'sha',null,['gifts']],
|
||||||
|
['heart',6,'chenghuodajie'],
|
||||||
|
['heart',7,'tao'],
|
||||||
|
['heart',8,'tao'],
|
||||||
|
['heart',9,'serafuku',null,['gifts']],
|
||||||
|
['heart',10,'sha',null,['gifts']],
|
||||||
|
['heart',11,'sha',null,['gifts']],
|
||||||
|
['heart',12,'sha',null,['gifts']],
|
||||||
|
['heart',13,'zhanxiang',null,['gifts']],
|
||||||
|
|
||||||
|
['club',1,'duanjian',null,['gifts']],
|
||||||
|
['club',2,'sha','stab'],
|
||||||
|
['club',3,'yinfengyi',null,['gifts']],
|
||||||
|
['club',4,'du'],
|
||||||
|
['club',5,'yitianjian'],
|
||||||
|
['club',6,'sha','stab'],
|
||||||
|
['club',7,'sha','stab'],
|
||||||
|
['club',8,'sha','stab'],
|
||||||
|
['club',9,'sha','stab'],
|
||||||
|
['club',10,'sha','stab'],
|
||||||
|
['club',11,'wuxie'],
|
||||||
|
['club',12,'wuxie'],
|
||||||
|
['club',13,'yonglv',null,['gifts']],
|
||||||
|
|
||||||
|
['diamond',1,'juedou',null,['gifts']],
|
||||||
|
['diamond',2,'shan'],
|
||||||
|
['diamond',3,'kaihua',null,['gifts']],
|
||||||
|
['diamond',4,'kaihua',null,['gifts']],
|
||||||
|
['diamond',5,'shan'],
|
||||||
|
['diamond',6,'shan'],
|
||||||
|
['diamond',7,'shan'],
|
||||||
|
['diamond',8,'shan'],
|
||||||
|
['diamond',9,'tuixinzhifu'],
|
||||||
|
['diamond',10,'tuixinzhifu'],
|
||||||
|
['diamond',11,'tao',null,['gifts']],
|
||||||
|
['diamond',12,'shan'],
|
||||||
|
['diamond',13,'','stab'],
|
||||||
|
],
|
||||||
|
}
|
||||||
|
});
|
|
@ -346,6 +346,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
keepAI:true,
|
keepAI:true,
|
||||||
target:function(player,target){
|
target:function(player,target){
|
||||||
var cards=target.getCards('e');
|
var cards=target.getCards('e');
|
||||||
|
if(cards.length==1&&cards[0].name=='nvzhuang') return 0;
|
||||||
var val=get.value(cards,target);
|
var val=get.value(cards,target);
|
||||||
if(val>0) return -val;
|
if(val>0) return -val;
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -841,26 +842,26 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
translate:{
|
translate:{
|
||||||
jinhe:'锦盒',
|
jinhe:'锦盒',
|
||||||
jinhe_info:'当你使用【锦盒】时,你将原有的与此牌对应的「礼」置入弃牌堆(若有),然后观看牌堆顶的两张牌并将其中一张置于游戏外与此牌对应,称之为「礼」。<br>出牌阶段,你可以将与此牌对应的「礼」置入弃牌堆,然后弃置【锦盒】以及所有与「礼」花色相同的手牌。当此牌因其他原因进入弃牌堆后,你将与此牌对应的「礼」置入弃牌堆并弃置所有手牌。',
|
jinhe_info:'此牌的使用目标为其他角色。当你使用【锦盒】时,你将原有的与此牌对应的「礼」置入弃牌堆(若有),然后观看牌堆顶的两张牌并将其中一张置于游戏外与此牌对应,称之为「礼」。<br>出牌阶段,你可以将与此牌对应的「礼」置入弃牌堆,然后弃置【锦盒】以及所有与「礼」花色相同的手牌。当此牌因其他原因进入弃牌堆后,你将与此牌对应的「礼」置入弃牌堆并弃置所有手牌。',
|
||||||
jinhe_skill:'锦盒',
|
jinhe_skill:'锦盒',
|
||||||
jinhe_lose:'锦盒',
|
jinhe_lose:'锦盒',
|
||||||
yexingyi:'夜行衣',
|
yexingyi:'夜行衣',
|
||||||
yexingyi_info:'锁定技,你不是黑色锦囊牌的合法目标。',
|
yexingyi_info:'锁定技,你不是黑色锦囊牌的合法目标。',
|
||||||
nvzhuang:'女装',
|
nvzhuang:'女装',
|
||||||
nvzhuang_info:'锁定技,当此牌进入或离开你的装备区时,若你的性别为男性,你弃置一张不为此牌的牌。',
|
nvzhuang_info:'此牌的使用目标为其他角色。锁定技,当此牌进入或离开你的装备区时,若你的性别为男性,你弃置一张不为此牌的牌。',
|
||||||
yinfengjia:'引蜂甲',
|
yinfengjia:'引蜂甲',
|
||||||
yinfengjia_info:'锁定技,当你受到锦囊牌造成的伤害时,此伤害+1。',
|
yinfengjia_info:'此牌的使用目标为其他角色。锁定技,当你受到锦囊牌造成的伤害时,此伤害+1。',
|
||||||
yinfengjia_skill:'引蜂甲',
|
yinfengjia_skill:'引蜂甲',
|
||||||
zheji:'折戟',
|
zheji:'折戟',
|
||||||
zheji_info:'这是一把坏掉的武器...',
|
zheji_info:'此牌的使用目标为其他角色。这是一把坏掉的武器...',
|
||||||
wufengjian:'无锋剑',
|
wufengjian:'无锋剑',
|
||||||
wufengjian_info:'锁定技,当你使用【杀】时,你弃置一张不为装备区内【无锋剑】的牌。',
|
wufengjian_info:'此牌的使用目标为其他角色。锁定技,当你使用【杀】时,你弃置一张不为装备区内【无锋剑】的牌。',
|
||||||
wufengjian_skill:'无锋剑',
|
wufengjian_skill:'无锋剑',
|
||||||
yajiaoqiang_skill:'涯角枪',
|
yajiaoqiang_skill:'涯角枪',
|
||||||
yajiaoqiang:'涯角枪',
|
yajiaoqiang:'涯角枪',
|
||||||
yajiaoqiang_info:'当你于一名其他角色的回合内第一次使用的黑色牌结算完成后,你可以获得此牌对应的所有实体牌。',
|
yajiaoqiang_info:'当你于一名其他角色的回合内第一次使用的黑色牌结算完成后,你可以获得此牌对应的所有实体牌。',
|
||||||
numa:'驽马',
|
numa:'驽马',
|
||||||
numa_info:'锁定技,当此牌进入你的装备区时,你弃置装备区内的所有其他牌。',
|
numa_info:'此牌的使用目标为其他角色。锁定技,当此牌进入你的装备区时,你弃置装备区内的所有其他牌。',
|
||||||
caochuan:'草船借箭',
|
caochuan:'草船借箭',
|
||||||
caochuan_info:'当带有「伤害」标签的基本牌或普通锦囊牌对你生效前,对此牌使用。抵消此牌对你产生的效果。当此牌结算完成后,你获得此牌对应的所有实体牌。',
|
caochuan_info:'当带有「伤害」标签的基本牌或普通锦囊牌对你生效前,对此牌使用。抵消此牌对你产生的效果。当此牌结算完成后,你获得此牌对应的所有实体牌。',
|
||||||
jiejia:'解甲归田',
|
jiejia:'解甲归田',
|
||||||
|
@ -869,7 +870,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
kaihua_info:'出牌阶段,对包含你自己在内的一名角色使用。目标角色弃置一至两张牌,然后摸等量的牌。若其以此法弃置了装备牌,则多摸一张牌。',
|
kaihua_info:'出牌阶段,对包含你自己在内的一名角色使用。目标角色弃置一至两张牌,然后摸等量的牌。若其以此法弃置了装备牌,则多摸一张牌。',
|
||||||
zhulu_card:'逐鹿天下',
|
zhulu_card:'逐鹿天下',
|
||||||
zhulu_card_info:'出牌阶段,对所有角色使用。你从牌堆和弃牌堆亮出等同于目标角色数的装备牌,每名目标角色将其中一张牌置于自己的装备区。',
|
zhulu_card_info:'出牌阶段,对所有角色使用。你从牌堆和弃牌堆亮出等同于目标角色数的装备牌,每名目标角色将其中一张牌置于自己的装备区。',
|
||||||
gifts_tag:'赠',
|
|
||||||
},
|
},
|
||||||
list:[
|
list:[
|
||||||
['diamond',3,'jiejia'],
|
['diamond',3,'jiejia'],
|
||||||
|
@ -878,30 +878,30 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
['diamond',6,'sha'],
|
['diamond',6,'sha'],
|
||||||
['diamond',8,'shan'],
|
['diamond',8,'shan'],
|
||||||
['diamond',9,'kaihua'],
|
['diamond',9,'kaihua'],
|
||||||
['diamond',10,'yinfengjia',null,['gifts']],
|
['diamond',10,'yinfengjia'],
|
||||||
['diamond',11,'sha'],
|
['diamond',11,'sha'],
|
||||||
|
|
||||||
['club',3,'jiejia'],
|
['club',3,'jiejia'],
|
||||||
['club',4,'sha','thunder'],
|
['club',4,'sha','thunder'],
|
||||||
['club',5,'zheji',null,['gifts']],
|
['club',5,'zheji'],
|
||||||
['club',6,'jiu'],
|
['club',6,'jiu'],
|
||||||
['club',8,'jiu'],
|
['club',8,'jiu'],
|
||||||
['club',9,'zhulu_card'],
|
['club',9,'zhulu_card'],
|
||||||
['club',10,'jinhe',null,['gifts']],
|
['club',10,'jinhe'],
|
||||||
['club',11,'sha'],
|
['club',11,'sha'],
|
||||||
|
|
||||||
['heart',3,'sha','fire'],
|
['heart',3,'sha','fire'],
|
||||||
['heart',4,'shan'],
|
['heart',4,'shan'],
|
||||||
['heart',5,'numa',null,['gifts']],
|
['heart',5,'numa'],
|
||||||
['heart',6,'tao'],
|
['heart',6,'tao'],
|
||||||
['heart',8,'shan'],
|
['heart',8,'shan'],
|
||||||
['heart',9,'kaihua'],
|
['heart',9,'kaihua'],
|
||||||
['heart',10,'nvzhuang',null,['gifts']],
|
['heart',10,'nvzhuang'],
|
||||||
['heart',11,'kaihua'],
|
['heart',11,'kaihua'],
|
||||||
|
|
||||||
['spade',3,'caochuan'],
|
['spade',3,'caochuan'],
|
||||||
['spade',4,'sha','thunder'],
|
['spade',4,'sha','thunder'],
|
||||||
['spade',5,'wufengjian',null,['gifts']],
|
['spade',5,'wufengjian'],
|
||||||
['spade',6,'caochuan'],
|
['spade',6,'caochuan'],
|
||||||
['spade',8,'sha'],
|
['spade',8,'sha'],
|
||||||
['spade',9,'sha'],
|
['spade',9,'sha'],
|
||||||
|
|
|
@ -28,13 +28,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
key_harukakanata:['female','key',3,['haruka_shuangche']],
|
key_harukakanata:['female','key',3,['haruka_shuangche']],
|
||||||
key_inari:['female','key',2,['inari_baiwei','inari_huhun']],
|
key_inari:['female','key',2,['inari_baiwei','inari_huhun']],
|
||||||
key_shiina:['female','key',3,['shiina_qingshen','shiina_feiyan']],
|
key_shiina:['female','key',3,['shiina_qingshen','shiina_feiyan']],
|
||||||
key_sunohara:['unknown','key','3/4',['sunohara_chengshuang','sunohara_tiaoyin','sunohara_jianren']],
|
key_sunohara:['double','key','3/4',['sunohara_chengshuang','sunohara_tiaoyin','sunohara_jianren']],
|
||||||
key_rin:['female','key',3,['rin_baoqiu']],
|
key_rin:['female','key',3,['rin_baoqiu']],
|
||||||
key_sasami:['female','key',3,['sasami_miaobian']],
|
key_sasami:['female','key',3,['sasami_miaobian']],
|
||||||
key_akane:['female','key',3,['akane_jugu','akane_quanqing','akane_yifu'],['zhu']],
|
key_akane:['female','key',3,['akane_jugu','akane_quanqing','akane_yifu'],['zhu']],
|
||||||
key_doruji:['female','key',16,['doruji_feiqu']],
|
key_doruji:['female','key',16,['doruji_feiqu']],
|
||||||
key_yuiko:['female','key',3,['yuiko_fenglun','yuiko_dilve']],
|
key_yuiko:['female','key',3,['yuiko_fenglun','yuiko_dilve']],
|
||||||
key_riki:['female','key',3,['riki_spwenji','riki_nvzhuang','riki_mengzhong']],
|
key_riki:['double','key',3,['riki_spwenji','riki_nvzhuang','riki_mengzhong']],
|
||||||
key_hisako:['female','key',3,['hisako_yinbao','hisako_zhuanyun']],
|
key_hisako:['female','key',3,['hisako_yinbao','hisako_zhuanyun']],
|
||||||
key_hinata:['male','key',4,['hinata_qiulve','hinata_ehou']],
|
key_hinata:['male','key',4,['hinata_qiulve','hinata_ehou']],
|
||||||
key_noda:['male','key',4,['noda_fengcheng','noda_xunxin']],
|
key_noda:['male','key',4,['noda_fengcheng','noda_xunxin']],
|
||||||
|
@ -629,11 +629,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
mia_qianmeng:{
|
mia_qianmeng:{
|
||||||
trigger:{
|
trigger:{
|
||||||
global:'gameDrawAfter',
|
global:'phaseBefore',
|
||||||
player:'enterGame',
|
player:'enterGame',
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
dutySkill:true,
|
dutySkill:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return (event.name!='phase'||game.phaseNumber==0);
|
||||||
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
player.draw();
|
player.draw();
|
||||||
|
@ -1646,7 +1649,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
event.cards2=result.cards;
|
event.cards2=result.cards;
|
||||||
'step 2'
|
'step 2'
|
||||||
target.$give(event.cards2,player,false);
|
target.$give(event.cards2,player,false);
|
||||||
target.loseToSpecial(event.cards2,'asara_yingwei',player);
|
target.loseToSpecial(event.cards2,'asara_yingwei',player).visible=true;
|
||||||
var card1=cards[0],card2=event.cards2[0];
|
var card1=cards[0],card2=event.cards2[0];
|
||||||
if(card1.suit==card2.suit) player.draw(2);
|
if(card1.suit==card2.suit) player.draw(2);
|
||||||
if(card1.number==card2.number) player.recover();
|
if(card1.number==card2.number) player.recover();
|
||||||
|
@ -2991,11 +2994,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
shiroha_yuzhao:{
|
shiroha_yuzhao:{
|
||||||
trigger:{
|
trigger:{
|
||||||
global:'gameDrawAfter',
|
global:'phaseBefore',
|
||||||
player:'enterGame',
|
player:'enterGame',
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
charlotte:true,
|
charlotte:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return (event.name!='phase'||game.phaseNumber==0);
|
||||||
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.markAuto('shiroha_yuzhao',game.cardsGotoSpecial(get.cards(game.countGroup())).cards);
|
player.markAuto('shiroha_yuzhao',game.cardsGotoSpecial(get.cards(game.countGroup())).cards);
|
||||||
},
|
},
|
||||||
|
@ -3336,11 +3342,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
kotori_yumo:{
|
kotori_yumo:{
|
||||||
trigger:{
|
trigger:{
|
||||||
global:'gameDrawAfter',
|
global:'phaseBefore',
|
||||||
player:'enterGame',
|
player:'enterGame',
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
charlotte:true,
|
charlotte:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return (event.name!='phase'||game.phaseNumber==0);
|
||||||
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
var list=['wei','shu','wu','qun','jin'];
|
var list=['wei','shu','wu','qun','jin'];
|
||||||
for(var i of list){
|
for(var i of list){
|
||||||
|
@ -3655,7 +3664,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
global:['gainAfter','equipAfter','addJudgeAfter','loseAsyncAfter'],
|
global:['gainAfter','equipAfter','addJudgeAfter','loseAsyncAfter'],
|
||||||
},
|
},
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
return target!=player&&(target.sex=='female'||target.sex=='male'&&target.countCards('hej')>0);
|
return target!=player&&(target.hasSex('female')||target.countCards('hej')>0);
|
||||||
},
|
},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
var evt=event.getl(player);
|
var evt=event.getl(player);
|
||||||
|
@ -3682,7 +3691,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(result.bool&&result.targets&&result.targets.length){
|
if(result.bool&&result.targets&&result.targets.length){
|
||||||
var target=result.targets[0];
|
var target=result.targets[0];
|
||||||
player.line(target,'green');
|
player.line(target,'green');
|
||||||
if(target.sex=='female') target.loseHp();
|
if(target.hasSex('female')) target.loseHp();
|
||||||
else player.discardPlayerCard(target,2,'hej',true);
|
else player.discardPlayerCard(target,2,'hej',true);
|
||||||
}
|
}
|
||||||
else event.finish();
|
else event.finish();
|
||||||
|
@ -3925,10 +3934,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
akiko_dongcha:{
|
akiko_dongcha:{
|
||||||
trigger:{global:'gameDrawAfter'},
|
trigger:{global:'phaseBefore'},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return get.mode()=='identity';
|
return get.mode()=='identity'&&game.phaseNumber==0;
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
var func=function(){
|
var func=function(){
|
||||||
|
@ -4085,10 +4094,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
miki_shenqiang:{
|
miki_shenqiang:{
|
||||||
trigger:{
|
trigger:{
|
||||||
global:'gameDrawAfter',
|
global:'phaseBefore',
|
||||||
player:'enterGame',
|
player:'enterGame',
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return (event.name!='phase'||game.phaseNumber==0);
|
||||||
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.equip(game.createCard2('miki_hydrogladiator','club',6));
|
player.equip(game.createCard2('miki_hydrogladiator','club',6));
|
||||||
player.equip(game.createCard2('miki_binoculars','diamond',6));
|
player.equip(game.createCard2('miki_binoculars','diamond',6));
|
||||||
|
@ -4516,11 +4528,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
kamome_yangfan:{
|
kamome_yangfan:{
|
||||||
trigger:{
|
trigger:{
|
||||||
player:['loseAfter','enterGame'],
|
player:['loseAfter','enterGame'],
|
||||||
global:['equipAfter','addJudgeAfter','gameDrawAfter','gainAfter','loseAsyncAfter'],
|
global:['equipAfter','addJudgeAfter','phaseBefore','gainAfter','loseAsyncAfter'],
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(typeof event.getl!='function') return true;
|
if(typeof event.getl!='function') return (event.name!='phase'||game.phaseNumber==0);
|
||||||
var evt=event.getl(player);
|
var evt=event.getl(player);
|
||||||
return evt&&evt.player==player&&evt.es&&evt.es.length;
|
return evt&&evt.player==player&&evt.es&&evt.es.length;
|
||||||
},
|
},
|
||||||
|
@ -5410,7 +5422,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
trigger:{global:'damageBegin1'},
|
trigger:{global:'damageBegin1'},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return event.source&&event.source.sex=='male'&&event.player.sex=='male';
|
return event.source&&event.source.sameSexAs(event.player)
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.draw();
|
player.draw();
|
||||||
|
@ -6551,8 +6563,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return num+player.maxHp;
|
return num+player.maxHp;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
trigger:{global:'gameDrawAfter',player:'enterGame'},
|
trigger:{global:'phaseBefore',player:'enterGame'},
|
||||||
forced:true,
|
forced:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return (event.name!='phase'||game.phaseNumber==0);
|
||||||
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.draw(player.maxHp);
|
player.draw(player.maxHp);
|
||||||
}
|
}
|
||||||
|
@ -6803,11 +6818,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
sunohara_chengshuang:{
|
sunohara_chengshuang:{
|
||||||
trigger:{
|
trigger:{
|
||||||
global:'gameDrawAfter',
|
global:'phaseBefore',
|
||||||
player:'enterGame',
|
player:'enterGame',
|
||||||
},
|
},
|
||||||
group:'sunohara_chengshuang_phase',
|
group:'sunohara_chengshuang_phase',
|
||||||
forced:true,
|
forced:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return (event.name!='phase'||game.phaseNumber==0);
|
||||||
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
var evt=event.getParent('phase');
|
var evt=event.getParent('phase');
|
||||||
|
@ -6819,12 +6837,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.sex=sex;
|
player.sex=sex;
|
||||||
if(player.marks&&player.marks.sunohara_chengshuang) player.marks.sunohara_chengshuang.firstChild.innerHTML=sex=='male'?'♂':'♀';
|
if(player.marks&&player.marks.sunohara_chengshuang) player.marks.sunohara_chengshuang.firstChild.innerHTML=sex=='male'?'♂':'♀';
|
||||||
},player,sex);
|
},player,sex);
|
||||||
game.log(player,'将性别变更为','#g'+get.translation(sex));
|
game.log(player,'将性别变更为','#g'+get.translation(sex)+'性');
|
||||||
},
|
},
|
||||||
mark:true,
|
mark:true,
|
||||||
intro:{
|
intro:{
|
||||||
content:function(storage,player){
|
content:function(storage,player){
|
||||||
if(player.sex=='unknown') return '当前性别未确定';
|
if(player.sex=='unknown'||player.sex=='double') return '当前性别未确定';
|
||||||
return '当前性别:'+get.translation(player.sex);
|
return '当前性别:'+get.translation(player.sex);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -6838,12 +6856,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return game.phaseNumber>1;
|
return game.phaseNumber>1;
|
||||||
},
|
},
|
||||||
prompt2:function(event,player){
|
prompt2:function(event,player){
|
||||||
if(player.sex=='unknown') return '选择自己的性别';
|
if(player.sex=='unknown'||player.sex=='double') return '选择自己的性别';
|
||||||
return '将自己的性别变更为'+(player.sex=='male'?'女性':'男性');
|
return '将自己的性别变更为'+(player.sex=='male'?'女性':'男性');
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
if(player.sex=='unknown') player.chooseControl('male','female').set('prompt','成双:请选择自己的性别');
|
if(player.sex=='unknown'||player.sex=='double') player.chooseControl('male','female').set('prompt','成双:请选择自己的性别');
|
||||||
else event._result={control:player.sex=='male'?'female':'male'};
|
else event._result={control:player.sex=='male'?'female':'male'};
|
||||||
'step 1'
|
'step 1'
|
||||||
var sex=result.control;
|
var sex=result.control;
|
||||||
|
@ -6851,7 +6869,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.sex=sex;
|
player.sex=sex;
|
||||||
if(player.marks&&player.marks.sunohara_chengshuang) player.marks.sunohara_chengshuang.firstChild.innerHTML=sex=='male'?'♂':'♀';
|
if(player.marks&&player.marks.sunohara_chengshuang) player.marks.sunohara_chengshuang.firstChild.innerHTML=sex=='male'?'♂':'♀';
|
||||||
},player,sex);
|
},player,sex);
|
||||||
game.log(player,'将性别变更为','#g'+get.translation(sex));
|
game.log(player,'将性别变更为','#g'+get.translation(sex)+'性');
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
sunohara_tiaoyin:{
|
sunohara_tiaoyin:{
|
||||||
|
@ -6880,7 +6898,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
contentAfter:function(){
|
contentAfter:function(){
|
||||||
var bool=false;
|
var bool=false;
|
||||||
for(var i=0;i<targets.length;i++){
|
for(var i=0;i<targets.length;i++){
|
||||||
if(targets[i].sex!=player.sex){
|
if(targets[i].differentSexFrom(player)){
|
||||||
bool=true;break;
|
bool=true;break;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -6893,9 +6911,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return lib.card.shunshou.ai.result.target.apply(this,arguments);
|
return lib.card.shunshou.ai.result.target.apply(this,arguments);
|
||||||
},
|
},
|
||||||
player:function(player,target){
|
player:function(player,target){
|
||||||
if(target.sex==player.sex) return 0;
|
if(target.sameSexAs(player)) return 0;
|
||||||
for(var i=0;i<ui.selected.targets.length;i++){
|
for(var i=0;i<ui.selected.targets.length;i++){
|
||||||
if(ui.selected.targets[i].sex!=player.sex) return 0;
|
if(ui.selected.targets[i].differentSexFrom(player)) return 0;
|
||||||
}
|
}
|
||||||
return (get.attitude(player,target)<0&&target.countCards('h','tao')>0)?1:-2;
|
return (get.attitude(player,target)<0&&target.countCards('h','tao')>0)?1:-2;
|
||||||
},
|
},
|
||||||
|
@ -6907,7 +6925,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
direct:true,
|
direct:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
event.num=(!trigger.source||trigger.source.isDead()||trigger.source.sex!=player.sex)?3:1;
|
event.num=(!trigger.source||trigger.source.isDead()||trigger.source.differentSexFrom(player))?3:1;
|
||||||
player.chooseTarget(get.prompt('sunohara_jianren'),'令一名角色摸'+get.cnNumber(event.num)+'张牌。').set('ai',function(target){
|
player.chooseTarget(get.prompt('sunohara_jianren'),'令一名角色摸'+get.cnNumber(event.num)+'张牌。').set('ai',function(target){
|
||||||
var att=get.attitude(player,target);
|
var att=get.attitude(player,target);
|
||||||
if(att<=0) return 0;
|
if(att<=0) return 0;
|
||||||
|
@ -14491,7 +14509,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
return target.sex=='male'&&player!=target;
|
return target.hasSex('male')&&player!=target;
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
|
@ -15323,7 +15341,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
riki_spwenji:'问计',
|
riki_spwenji:'问计',
|
||||||
riki_spwenji_info:'出牌阶段开始时,你可以令一名其他角色交给你一张牌。你于本回合内使用与该牌名称相同的牌时不能被其他角色响应。',
|
riki_spwenji_info:'出牌阶段开始时,你可以令一名其他角色交给你一张牌。你于本回合内使用与该牌名称相同的牌时不能被其他角色响应。',
|
||||||
riki_nvzhuang:'女装',
|
riki_nvzhuang:'女装',
|
||||||
riki_nvzhuang_info:'锁定技,此武将牌的性别视为女性。结束阶段,若你:有手牌,你摸一张牌;没有手牌,你摸两张牌。',
|
riki_nvzhuang_info:'锁定技,此武将牌视为包含女性性别。结束阶段,若你:有手牌,你摸一张牌;没有手牌,你摸两张牌。',
|
||||||
riki_mengzhong:'梦终',
|
riki_mengzhong:'梦终',
|
||||||
riki_mengzhong_info:'觉醒技,准备阶段,若你已因〖问计〗获得了三张或更多的牌,则你加1点体力上限并回复1点体力,失去〖问计〗并获得〖重振〗。',
|
riki_mengzhong_info:'觉醒技,准备阶段,若你已因〖问计〗获得了三张或更多的牌,则你加1点体力上限并回复1点体力,失去〖问计〗并获得〖重振〗。',
|
||||||
riki_chongzhen:'重振',
|
riki_chongzhen:'重振',
|
||||||
|
@ -15383,7 +15401,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
kanade_benzhan:'奔战',
|
kanade_benzhan:'奔战',
|
||||||
kanade_benzhan_info:'当你使用或打出牌响应其他角色,或其他角色使用或打出牌响应你后,若此牌为:基本牌,你可令一名角色弃置两张牌或令一名角色摸两张牌;非基本牌,你可对一名角色造成1点伤害或令一名其他角色回复1点体力。',
|
kanade_benzhan_info:'当你使用或打出牌响应其他角色,或其他角色使用或打出牌响应你后,若此牌为:基本牌,你可令一名角色弃置两张牌或令一名角色摸两张牌;非基本牌,你可对一名角色造成1点伤害或令一名其他角色回复1点体力。',
|
||||||
mio_tuifu:'推腐',
|
mio_tuifu:'推腐',
|
||||||
mio_tuifu_info:'锁定技,当一名男性角色对一名男性角色造成伤害时,你摸一张牌。',
|
mio_tuifu_info:'锁定技,当一名角色对一名同性角色造成伤害时,你摸一张牌。',
|
||||||
mio_tishen:'替身',
|
mio_tishen:'替身',
|
||||||
mio_tishen_info:'限定技,准备阶段,你可以将体力值回复至体力上限并摸等同于回复量的牌,然后将武将牌替换为【西园美鸟】。',
|
mio_tishen_info:'限定技,准备阶段,你可以将体力值回复至体力上限并摸等同于回复量的牌,然后将武将牌替换为【西园美鸟】。',
|
||||||
midori_nonghuan:'弄幻',
|
midori_nonghuan:'弄幻',
|
||||||
|
@ -15443,7 +15461,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
yuu_lveduo_info:'每轮限一次,其他角色的回合开始时,若你本局游戏内未对其发动过〖掠夺〗且你的武将牌正面朝上,你可以将武将牌翻面并获得该角色本回合内的控制权。此回合结束时,你将武将牌翻回正面。锁定技,若你的武将牌背面朝上,则你不能使用或打出牌。',
|
yuu_lveduo_info:'每轮限一次,其他角色的回合开始时,若你本局游戏内未对其发动过〖掠夺〗且你的武将牌正面朝上,你可以将武将牌翻面并获得该角色本回合内的控制权。此回合结束时,你将武将牌翻回正面。锁定技,若你的武将牌背面朝上,则你不能使用或打出牌。',
|
||||||
yuu_lveduo_full_info:'每轮限一次,其他角色的回合开始时,若你本局游戏内未对其发动过〖掠夺〗且你的武将牌正面朝上,你可以将武将牌翻面并获得该角色本回合内的控制权。此回合结束时,你将武将牌翻回正面,获得该角色武将牌上所有的带有「Charlotte」标签的技能,且该角色失去这些技能。锁定技,若你的武将牌背面朝上,则你不能使用或打出牌。',
|
yuu_lveduo_full_info:'每轮限一次,其他角色的回合开始时,若你本局游戏内未对其发动过〖掠夺〗且你的武将牌正面朝上,你可以将武将牌翻面并获得该角色本回合内的控制权。此回合结束时,你将武将牌翻回正面,获得该角色武将牌上所有的带有「Charlotte」标签的技能,且该角色失去这些技能。锁定技,若你的武将牌背面朝上,则你不能使用或打出牌。',
|
||||||
ryoichi_baoyi:'爆衣',
|
ryoichi_baoyi:'爆衣',
|
||||||
ryoichi_baoyi_info:'锁定技,当你失去装备区内的一张牌后,你摸一张牌,然后选择一项:①弃置一名其他男性角色区域内的两张牌。②令一名其他女性角色失去1点体力。',
|
ryoichi_baoyi_info:'锁定技,当你失去装备区内的一张牌后,你摸一张牌,然后选择一项:①令一名其他女性角色失去1点体力。②弃置一名其他非女性角色区域内的两张牌。',
|
||||||
ryoichi_tuipi:'褪皮',
|
ryoichi_tuipi:'褪皮',
|
||||||
ryoichi_tuipi_info:'锁定技,你不是【顺手牵羊】和【过河拆桥】的合法目标。你装备区的牌于弃牌阶段内计入手牌上限。',
|
ryoichi_tuipi_info:'锁定技,你不是【顺手牵羊】和【过河拆桥】的合法目标。你装备区的牌于弃牌阶段内计入手牌上限。',
|
||||||
kotori_yumo:'驭魔',
|
kotori_yumo:'驭魔',
|
||||||
|
|
|
@ -607,12 +607,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
dulie:{
|
dulie:{
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{
|
trigger:{
|
||||||
global:'gameDrawAfter',
|
global:'phaseBefore',
|
||||||
player:'enterGame',
|
player:'enterGame',
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return game.players.length>1&&game.hasPlayer(function(current){
|
return (event.name!='phase'||game.phaseNumber==0)&&game.players.length>1&&game.hasPlayer(function(current){
|
||||||
return current!=player&&!current.hasMark('dulie');
|
return current!=player&&!current.hasMark('dulie');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -2286,11 +2286,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
trigger:{
|
trigger:{
|
||||||
source:'damageSource',
|
source:'damageSource',
|
||||||
player:['damageEnd','enterGame'],
|
player:['damageEnd','enterGame'],
|
||||||
global:'gameDrawAfter',
|
global:'phaseBefore',
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event){
|
filter:function(event){
|
||||||
return event.name!='damage'||event.num>0;
|
return (event.name!='damage'&&(event.name!='phase'||game.phaseNumber==0))||event.num>0;
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.addMark('baonu',trigger.name=='damage'?trigger.num:2);
|
player.addMark('baonu',trigger.name=='damage'?trigger.num:2);
|
||||||
|
@ -2967,13 +2967,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
qixing:{
|
qixing:{
|
||||||
audio:2,
|
audio:2,
|
||||||
unique:true,
|
unique:true,
|
||||||
trigger:{global:'gameDrawAfter',player:'phaseZhunbeiBegin'},
|
trigger:{
|
||||||
forced:true,
|
global:'phaseBefore',
|
||||||
check:function(event,player){
|
player:'enterGame',
|
||||||
return player.hp<=1;
|
|
||||||
},
|
},
|
||||||
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return !player.storage.qixing;
|
return (event.name!='phase'||game.phaseNumber==0);
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
|
@ -4001,11 +4001,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{
|
trigger:{
|
||||||
player:['linkBefore','enterGame'],
|
player:['linkBefore','enterGame'],
|
||||||
global:'gameDrawAfter',
|
global:'phaseBefore',
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player.isLinked()==(event.name=='link');
|
if(player.isLinked()) return false;
|
||||||
|
if(event.name=='link') return true;
|
||||||
|
return (event.name!='phase'||game.phaseNumber==0);
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
if(trigger.name!='link') player.link(true);
|
if(trigger.name!='link') player.link(true);
|
||||||
|
|
|
@ -578,7 +578,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
skill:{
|
skill:{
|
||||||
//新刘璋
|
//新刘璋
|
||||||
jutu:{
|
jutu:{
|
||||||
audio:2,
|
audio:'xiusheng',
|
||||||
trigger:{player:'phaseZhunbeiBegin'},
|
trigger:{player:'phaseZhunbeiBegin'},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
|
@ -621,7 +621,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
ai:{combo:'jutu'},
|
ai:{combo:'jutu'},
|
||||||
},
|
},
|
||||||
yaohu:{
|
yaohu:{
|
||||||
audio:2,
|
audio:'yinlang',
|
||||||
trigger:{player:'phaseBegin'},
|
trigger:{player:'phaseBegin'},
|
||||||
direct:true,
|
direct:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
|
@ -671,7 +671,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
subSkill:{
|
subSkill:{
|
||||||
round:{},
|
round:{},
|
||||||
gain:{
|
gain:{
|
||||||
audio:'yaohu',
|
audio:'yinlang',
|
||||||
trigger:{global:'phaseUseBegin'},
|
trigger:{global:'phaseUseBegin'},
|
||||||
direct:true,
|
direct:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
|
@ -1144,13 +1144,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
]).set('ai',function(){
|
]).set('ai',function(){
|
||||||
if(player.countCards('hs',function(card){
|
if(player.countCards('hs',function(card){
|
||||||
return get.name(card)=='sha'&&player.hasValueTarget(card);
|
return get.name(card)=='sha'&&player.hasValueTarget(card);
|
||||||
})>player.getCardUsable({name:'sha '})) return 0;
|
})>player.getCardUsable({name:'sha'})) return 0;
|
||||||
return 1;
|
return 1;
|
||||||
});
|
});
|
||||||
'step 1'
|
'step 1'
|
||||||
if(result.control!='cancel2'){
|
if(result.control!='cancel2'){
|
||||||
player.logSkill('spyilie');
|
player.logSkill('spyilie');
|
||||||
game.log(player,'选择了【毅烈】的','#g'+result.control);
|
game.log(player,'选择了','#g【毅烈】','的','#y'+result.control);
|
||||||
if(result.index%2==0) player.addTempSkill('spyilie_add','phaseUseEnd');
|
if(result.index%2==0) player.addTempSkill('spyilie_add','phaseUseEnd');
|
||||||
if(result.index>0) player.addTempSkill('spyilie_miss');
|
if(result.index>0) player.addTempSkill('spyilie_miss');
|
||||||
if(result.index==2) player.loseHp();
|
if(result.index==2) player.loseHp();
|
||||||
|
@ -1373,7 +1373,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{player:'damageBegin4'},
|
trigger:{player:'damageBegin4'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player.countCards('he',{type:'equip'})&&event.source&&event.source.sex=='male';
|
return player.countCards('he',{type:'equip'})&&event.source&&event.source.hasSex('male');
|
||||||
},
|
},
|
||||||
direct:true,
|
direct:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
|
@ -1711,7 +1711,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
direct:true,
|
direct:true,
|
||||||
usable:1,
|
usable:1,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return (event.card.name=='sha'||event.card.name=='juedou')&&(event.target.countGainableCards(player,'h')>0||player.hasCard(function(i){
|
return (event.card.name=='sha'||event.card.name=='juedou')&&event.targets.length==1&&
|
||||||
|
(event.target.countGainableCards(player,'h')>0||player.hasCard(function(i){
|
||||||
return _status.connectMode||get.type(i,player)=='basic'&&lib.filter.cardDiscardable(i,player,'dbquedi');
|
return _status.connectMode||get.type(i,player)=='basic'&&lib.filter.cardDiscardable(i,player,'dbquedi');
|
||||||
},'h'));
|
},'h'));
|
||||||
},
|
},
|
||||||
|
@ -3561,11 +3562,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
mjdingyi:{
|
mjdingyi:{
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{
|
trigger:{
|
||||||
global:'gameDrawAfter',
|
global:'phaseBefore',
|
||||||
player:'enterGame',
|
player:'enterGame',
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
locked:false,
|
locked:false,
|
||||||
|
filter:function(event,player){
|
||||||
|
return (event.name!='phase'||game.phaseNumber==0);
|
||||||
|
},
|
||||||
logTarget:function(){
|
logTarget:function(){
|
||||||
return game.players;
|
return game.players;
|
||||||
},
|
},
|
||||||
|
@ -4654,13 +4658,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
xunyi:{
|
xunyi:{
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{
|
trigger:{
|
||||||
global:['gameDrawAfter','dieAfter'],
|
global:['phaseBefore','dieAfter'],
|
||||||
player:'enterGame',
|
player:'enterGame',
|
||||||
},
|
},
|
||||||
direct:true,
|
direct:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(event.name=='die') return event.player==player.storage.xunyi2;
|
if(event.name=='die') return event.player==player.storage.xunyi2;
|
||||||
return !player.storage.xunyi2;
|
return !player.storage.xunyi2&&(event.name!='phase'||game.phaseNumber==0);
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
|
@ -5793,10 +5797,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
refubi:{
|
refubi:{
|
||||||
audio:'fubi',
|
audio:'fubi',
|
||||||
trigger:{
|
trigger:{
|
||||||
global:'gameDrawAfter',
|
global:'phaseBefore',
|
||||||
player:'enterGame',
|
player:'enterGame',
|
||||||
},
|
},
|
||||||
direct:true,
|
direct:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return (event.name!='phase'||game.phaseNumber==0);
|
||||||
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
player.chooseTarget(get.prompt2('refubi'),lib.filter.notMe).set('ai',function(target){
|
player.chooseTarget(get.prompt2('refubi'),lib.filter.notMe).set('ai',function(target){
|
||||||
|
@ -6464,12 +6471,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
fubi:{
|
fubi:{
|
||||||
trigger:{
|
trigger:{
|
||||||
global:'gameDrawAfter',
|
global:'phaseBefore',
|
||||||
player:'enterGame',
|
player:'enterGame',
|
||||||
},
|
},
|
||||||
direct:true,
|
direct:true,
|
||||||
skillAnimation:true,
|
skillAnimation:true,
|
||||||
animationColor:'wood',
|
animationColor:'wood',
|
||||||
|
filter:function(event,player){
|
||||||
|
return (event.name!='phase'||game.phaseNumber==0);
|
||||||
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
player.chooseTarget(get.prompt2('fubi'),lib.filter.notMe).set('ai',function(target){
|
player.chooseTarget(get.prompt2('fubi'),lib.filter.notMe).set('ai',function(target){
|
||||||
|
@ -7990,7 +8000,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
tongqu:{
|
tongqu:{
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{
|
trigger:{
|
||||||
global:['gameDrawAfter','dying','phaseDrawBegin2'],
|
global:['phaseBefore','dying','phaseDrawBegin2'],
|
||||||
player:['enterGame','phaseZhunbeiBegin'],
|
player:['enterGame','phaseZhunbeiBegin'],
|
||||||
},
|
},
|
||||||
direct:true,
|
direct:true,
|
||||||
|
@ -8000,7 +8010,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(event.name=='phaseZhunbei') return game.hasPlayer(function(current){
|
if(event.name=='phaseZhunbei') return game.hasPlayer(function(current){
|
||||||
return !current.hasMark('tongqu');
|
return !current.hasMark('tongqu');
|
||||||
});
|
});
|
||||||
return !player.hasMark('tongqu');
|
return !player.hasMark('tongqu')&&(event.name!='phase'||game.phaseNumber==0);
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
|
@ -9793,6 +9803,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
case 'thunder':name='leisha';break;
|
case 'thunder':name='leisha';break;
|
||||||
case 'kami':name='kamisha';break;
|
case 'kami':name='kamisha';break;
|
||||||
case 'ice':name='icesha';break;
|
case 'ice':name='icesha';break;
|
||||||
|
case 'stab':name='cisha';break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
list.add(name);
|
list.add(name);
|
||||||
|
@ -9807,6 +9818,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
case 'thunder':name='leisha';break;
|
case 'thunder':name='leisha';break;
|
||||||
case 'kami':name='kamisha';break;
|
case 'kami':name='kamisha';break;
|
||||||
case 'ice':name='icesha';break;
|
case 'ice':name='icesha';break;
|
||||||
|
case 'stab':name='cisha';break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
list.add(name);
|
list.add(name);
|
||||||
|
@ -10420,7 +10432,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
enable:'phaseUse',
|
enable:'phaseUse',
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return game.hasPlayer(function(current){
|
return game.hasPlayer(function(current){
|
||||||
return current.sex=='male';
|
return current.hasSex('male');
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
skillAnimation:true,
|
skillAnimation:true,
|
||||||
|
@ -10429,7 +10441,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.addSkill('rexushen2');
|
player.addSkill('rexushen2');
|
||||||
player.awakenSkill('rexushen');
|
player.awakenSkill('rexushen');
|
||||||
player.loseHp(game.countPlayer(function(current){
|
player.loseHp(game.countPlayer(function(current){
|
||||||
return current.sex=='male';
|
return current.hasSex('male');
|
||||||
}));
|
}));
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
@ -10437,7 +10449,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
result:{
|
result:{
|
||||||
player:function(player){
|
player:function(player){
|
||||||
if(player.hp!=game.countPlayer(function(current){
|
if(player.hp!=game.countPlayer(function(current){
|
||||||
return current.sex=='male';
|
return current.hasSex('male');
|
||||||
})) return 0;
|
})) return 0;
|
||||||
return game.hasPlayer(function(current){
|
return game.hasPlayer(function(current){
|
||||||
return get.attitude(player,current)>4&¤t.countCards('h','tao')
|
return get.attitude(player,current)>4&¤t.countCards('h','tao')
|
||||||
|
@ -12865,7 +12877,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('gnjinfan');
|
player.logSkill('gnjinfan');
|
||||||
game.log(player,'将',result.cards,'放到了武将牌上');
|
game.log(player,'将',result.cards,'放到了武将牌上');
|
||||||
player.loseToSpecial(result.cards,'gnjinfan');
|
player.loseToSpecial(result.cards,'gnjinfan').visible=true;
|
||||||
}
|
}
|
||||||
else event.finish();
|
else event.finish();
|
||||||
'step 2'
|
'step 2'
|
||||||
|
|
|
@ -710,6 +710,7 @@ window.noname_character_rank={
|
||||||
'dufuren',
|
'dufuren',
|
||||||
'yuanhuan',
|
'yuanhuan',
|
||||||
'zhouyi',
|
'zhouyi',
|
||||||
|
'yangzhi',
|
||||||
],
|
],
|
||||||
b:[
|
b:[
|
||||||
'diy_feishi',
|
'diy_feishi',
|
||||||
|
@ -907,6 +908,7 @@ window.noname_character_rank={
|
||||||
'duji',
|
'duji',
|
||||||
'sp_chendong',
|
'sp_chendong',
|
||||||
'sp_zongyu',
|
'sp_zongyu',
|
||||||
|
'yangyan',
|
||||||
],
|
],
|
||||||
bm:[
|
bm:[
|
||||||
'diy_xizhenxihong',
|
'diy_xizhenxihong',
|
||||||
|
@ -1758,6 +1760,8 @@ window.noname_character_rank={
|
||||||
'yuanhuan',
|
'yuanhuan',
|
||||||
'zhouyi',
|
'zhouyi',
|
||||||
'fuqian',
|
'fuqian',
|
||||||
|
'yangyan',
|
||||||
|
'yangzhi',
|
||||||
],
|
],
|
||||||
junk:[
|
junk:[
|
||||||
'sunshao',
|
'sunshao',
|
||||||
|
|
|
@ -5813,11 +5813,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
rehuashen_init:{
|
rehuashen_init:{
|
||||||
trigger:{
|
trigger:{
|
||||||
global:'gameDrawAfter',
|
global:'phaseBefore',
|
||||||
player:'enterGame',
|
player:'enterGame',
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
popup:false,
|
popup:false,
|
||||||
|
filter:function(event,player){
|
||||||
|
return (event.name!='phase'||game.phaseNumber==0);
|
||||||
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
lib.skill.rehuashen.addHuashens(player,3);
|
lib.skill.rehuashen.addHuashens(player,3);
|
||||||
player.syncStorage('rehuashen');
|
player.syncStorage('rehuashen');
|
||||||
|
@ -7646,7 +7649,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
if(target.sex!='male') return false;
|
if(!target.hasSex('male')) return false;
|
||||||
var card=ui.selected.cards[0];
|
var card=ui.selected.cards[0];
|
||||||
if(!card) return false;
|
if(!card) return false;
|
||||||
if(get.position(card)=='e'&&!target.isEmpty(get.subtype(card))) return false;
|
if(get.position(card)=='e'&&!target.isEmpty(get.subtype(card))) return false;
|
||||||
|
@ -9225,7 +9228,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
delay:false,
|
delay:false,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return game.hasPlayer(function(current){
|
return game.hasPlayer(function(current){
|
||||||
return current.sex=='male';
|
return current.hasSex('male');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
|
@ -9250,7 +9253,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.showCards([event.card]);
|
player.showCards([event.card]);
|
||||||
"step 2"
|
"step 2"
|
||||||
player.chooseTarget(true,'选择一名男性角色送出'+get.translation(event.card),function(card,player,target){
|
player.chooseTarget(true,'选择一名男性角色送出'+get.translation(event.card),function(card,player,target){
|
||||||
return target.sex=='male';
|
return target.hasSex('male');
|
||||||
}).set('ai',function(target){
|
}).set('ai',function(target){
|
||||||
var att=get.attitude(_status.event.player,target);
|
var att=get.attitude(_status.event.player,target);
|
||||||
if(_status.event.neg) return -att;
|
if(_status.event.neg) return -att;
|
||||||
|
@ -9266,7 +9269,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
result:{
|
result:{
|
||||||
player:function(player){
|
player:function(player){
|
||||||
if(game.hasPlayer(function(current){
|
if(game.hasPlayer(function(current){
|
||||||
return current.sex=='male'&&get.attitude(player,current)>0;
|
return current.hasSex('male')&&get.attitude(player,current)>0;
|
||||||
})) return 2;
|
})) return 2;
|
||||||
return 0;
|
return 0;
|
||||||
},
|
},
|
||||||
|
@ -10410,7 +10413,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
gzquanji_info:'当你受到伤害后或当你使用牌指定唯一目标并对其造成伤害后,你可以摸一张牌,然后你将一张牌置于武将牌上,称为“权”;你的手牌上限+X(X为“权”的数量)。',
|
gzquanji_info:'当你受到伤害后或当你使用牌指定唯一目标并对其造成伤害后,你可以摸一张牌,然后你将一张牌置于武将牌上,称为“权”;你的手牌上限+X(X为“权”的数量)。',
|
||||||
gzpaiyi:'排异',
|
gzpaiyi:'排异',
|
||||||
gzpaiyi_backup:'排异',
|
gzpaiyi_backup:'排异',
|
||||||
gzpaiyi_info:'出牌阶段限一次,你可以将移去一张“权”,然后选择一名角色并令其摸X张牌(X为“权”的数量且至多为7),若其手牌数不小于你,则你对其造成1点伤害且本技能于此回合内失效。',
|
gzpaiyi_info:'出牌阶段限一次。你可以移去一张“权”,然后选择一名角色并令其摸X张牌(X为“权”的数量且至多为7),若其手牌数不小于你,则你对其造成1点伤害。',
|
||||||
ol_zhurong:'界祝融',
|
ol_zhurong:'界祝融',
|
||||||
changbiao:'长标',
|
changbiao:'长标',
|
||||||
changbiao_info:'出牌阶段限一次,你可以将任意张手牌当做【杀】使用(无距离限制)。若你因此【杀】对目标角色造成过伤害,则你于出牌阶段结束时摸X张牌(X为此【杀】对应的实体牌数量)。',
|
changbiao_info:'出牌阶段限一次,你可以将任意张手牌当做【杀】使用(无距离限制)。若你因此【杀】对目标角色造成过伤害,则你于出牌阶段结束时摸X张牌(X为此【杀】对应的实体牌数量)。',
|
||||||
|
|
|
@ -1445,12 +1445,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
name2:'橘',
|
name2:'橘',
|
||||||
content:'当前有#个“橘”',
|
content:'当前有#个“橘”',
|
||||||
},
|
},
|
||||||
//mark:true,
|
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{
|
trigger:{
|
||||||
global:'gameDrawAfter'
|
global:'phaseBefore',
|
||||||
|
player:'enterGame',
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return (event.name!='phase'||game.phaseNumber==0);
|
||||||
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.addMark('nzry_huaiju',3);
|
player.addMark('nzry_huaiju',3);
|
||||||
player.addSkill('nzry_huaiju_ai');
|
player.addSkill('nzry_huaiju_ai');
|
||||||
|
@ -1458,7 +1461,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
group:['tachibana_effect'],
|
group:['tachibana_effect'],
|
||||||
},
|
},
|
||||||
//没错 这是个橘
|
//没错 这是个橘
|
||||||
"tachibana_effect":{
|
tachibana_effect:{
|
||||||
audio:'nzry_huaiju',
|
audio:'nzry_huaiju',
|
||||||
trigger:{
|
trigger:{
|
||||||
global:['damageBegin4','phaseDrawBegin2'],
|
global:['damageBegin4','phaseDrawBegin2'],
|
||||||
|
@ -1906,13 +1909,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
1:{
|
1:{
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{
|
trigger:{
|
||||||
global:'gameDrawAfter',
|
global:'phaseBefore',
|
||||||
player:'enterGame',
|
player:'enterGame',
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
locked:false,
|
locked:false,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return !player.getStorage('nzry_mingren').length;
|
return !player.getStorage('nzry_mingren').length&&(event.name!='phase'||game.phaseNumber==0);
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
|
@ -4846,9 +4849,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(event.card.name!='sha') return false;
|
if(event.card.name!='sha') return false;
|
||||||
if(player==event.player){
|
if(player==event.player){
|
||||||
return event.target.sex=='female';
|
return event.target.hasSex('female');
|
||||||
}
|
}
|
||||||
return event.player.sex=='female';
|
return event.player.hasSex('female');
|
||||||
},
|
},
|
||||||
check:function(event,player){
|
check:function(event,player){
|
||||||
return player==event.player;
|
return player==event.player;
|
||||||
|
@ -4867,7 +4870,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
ai:{
|
ai:{
|
||||||
directHit_ai:true,
|
directHit_ai:true,
|
||||||
skillTagFilter:function(player,tag,arg){
|
skillTagFilter:function(player,tag,arg){
|
||||||
if(arg.card.name!='sha'||arg.target.sex!='female'||arg.target.countCards('h','shan')>1) return false;
|
if(arg.card.name!='sha'||!arg.target.hasSex('female')||arg.target.countCards('h','shan')>1) return false;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -300,12 +300,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
type:'trick',
|
type:'trick',
|
||||||
enable:true,
|
enable:true,
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
return target.countCards('h')&&target!=player&&target.sex=='male';
|
return target.countCards('h')&&target!=player&&target.hasSex('male');
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
event.list=game.filterPlayer(function(current){
|
event.list=game.filterPlayer(function(current){
|
||||||
return current!=player&¤t!=target&¤t.sex=='female';
|
return current!=player&¤t!=target&¤t.hasSex('female');
|
||||||
}).sortBySeat();
|
}).sortBySeat();
|
||||||
'step 1'
|
'step 1'
|
||||||
if(target.countCards('h')&&event.list.length){
|
if(target.countCards('h')&&event.list.length){
|
||||||
|
@ -340,7 +340,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
result:{
|
result:{
|
||||||
target:function(player,target){
|
target:function(player,target){
|
||||||
var num=game.countPlayer(function(current){
|
var num=game.countPlayer(function(current){
|
||||||
return current!=player&¤t!=target&¤t.sex=='female';
|
return current!=player&¤t!=target&¤t.hasSex('female');
|
||||||
});
|
});
|
||||||
var nh=target.countCards('h');
|
var nh=target.countCards('h');
|
||||||
num=Math.min(num,nh);
|
num=Math.min(num,nh);
|
||||||
|
@ -490,7 +490,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
var target=result.targets[0];
|
var target=result.targets[0];
|
||||||
event.target=target;
|
event.target=target;
|
||||||
player.logSkill('olfusong',target);
|
player.logSkill('olfusong',target);
|
||||||
player.chooseControl('olfengzi','oljizhan').set('prompt','令'+get.translation(target)+'获得其中一个技能').set('ai',()=>(Math.random()>0.5?0:1));
|
target.chooseControl('olfengzi','oljizhan').set('prompt','令'+get.translation(target)+'获得其中一个技能').set('ai',()=>(Math.random()>0.5?0:1));
|
||||||
}
|
}
|
||||||
else event.finish();
|
else event.finish();
|
||||||
'step 2'
|
'step 2'
|
||||||
|
@ -1121,7 +1121,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return current.name1=='guansuo'||current.name2=='guansuo';
|
return current.name1=='guansuo'||current.name2=='guansuo';
|
||||||
})){
|
})){
|
||||||
player.chooseTarget(function(card,player,current){
|
player.chooseTarget(function(card,player,current){
|
||||||
return current!=player&¤t.sex=='male';
|
return current!=player&¤t.hasSex('male');
|
||||||
},'许身:是否令一名其他男性角色选择是否将其武将牌替换为“关索”?').set('ai',function(target){
|
},'许身:是否令一名其他男性角色选择是否将其武将牌替换为“关索”?').set('ai',function(target){
|
||||||
return get.attitude(_status.event.player,target)-4;
|
return get.attitude(_status.event.player,target)-4;
|
||||||
});
|
});
|
||||||
|
@ -2340,7 +2340,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
audioname:['machao','hansui','pangde'],
|
audioname:['machao','hansui','pangde'],
|
||||||
trigger:{
|
trigger:{
|
||||||
player:'enterGame',
|
player:'enterGame',
|
||||||
global:'gameDrawAfter',
|
global:'phaseBefore',
|
||||||
|
},
|
||||||
|
filter:function(event,player){
|
||||||
|
return (event.name!='phase'||game.phaseNumber==0);
|
||||||
},
|
},
|
||||||
direct:true,
|
direct:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
|
@ -3484,12 +3487,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
cuorui:{
|
cuorui:{
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{
|
trigger:{
|
||||||
global:'gameDrawAfter',
|
global:'phaseBefore',
|
||||||
player:'enterGame',
|
player:'enterGame',
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player.maxHp>0&&!get.is.single();
|
return player.maxHp>0&&!get.is.single()&&(event.name!='phase'||game.phaseNumber==0);
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.draw(Math.min(5,player.maxHp),false);
|
player.draw(Math.min(5,player.maxHp),false);
|
||||||
|
@ -4335,7 +4338,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.chooseTarget('请选择【星舞】的目标','弃置其装备区内的所有牌。然后对其造成两点伤害(目标为女性角色则改为1点)',true,lib.filter.notMe).set('ai',function(target){
|
player.chooseTarget('请选择【星舞】的目标','弃置其装备区内的所有牌。然后对其造成两点伤害(目标为女性角色则改为1点)',true,lib.filter.notMe).set('ai',function(target){
|
||||||
return -get.attitude(_status.event.player,target)*Math.sqrt(4+target.countCards('e',function(card){
|
return -get.attitude(_status.event.player,target)*Math.sqrt(4+target.countCards('e',function(card){
|
||||||
return get.value(card,target)>0;
|
return get.value(card,target)>0;
|
||||||
}))*(target.sex=='female'?1:2);
|
}))*(target.hasSex('female')?1:2);
|
||||||
});
|
});
|
||||||
'step 7'
|
'step 7'
|
||||||
if(result.bool&&result.targets&&result.targets.length){
|
if(result.bool&&result.targets&&result.targets.length){
|
||||||
|
@ -4343,7 +4346,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.line(target,'green');
|
player.line(target,'green');
|
||||||
var num=target.countCards('e');
|
var num=target.countCards('e');
|
||||||
if(num) player.discardPlayerCard(target,'e',num,true);
|
if(num) player.discardPlayerCard(target,'e',num,true);
|
||||||
target.damage(target.sex=='female'?1:2);
|
target.damage(target.hasSex('female')?1:2);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
@ -4914,12 +4917,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
xianfu:{
|
xianfu:{
|
||||||
trigger:{
|
trigger:{
|
||||||
global:'gameDrawAfter',
|
global:'phaseBefore',
|
||||||
player:'enterGame',
|
player:'enterGame',
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(){
|
filter:function(event){
|
||||||
return game.players.length>1;
|
return game.players.length>1&&(event.name!='phase'||game.phaseNumber==0);
|
||||||
},
|
},
|
||||||
audio:6,
|
audio:6,
|
||||||
content:function(){
|
content:function(){
|
||||||
|
@ -7506,8 +7509,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return num+player.maxHp;
|
return num+player.maxHp;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
trigger:{global:'gameDrawAfter',player:'enterGame'},
|
trigger:{global:'phaseBefore',player:'enterGame'},
|
||||||
forced:true,
|
forced:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return (event.name!='phase'||game.phaseNumber==0);
|
||||||
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.draw(player.maxHp);
|
player.draw(player.maxHp);
|
||||||
}
|
}
|
||||||
|
@ -7719,7 +7725,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
player.chooseTarget(get.prompt2('yongdi'),function(card,player,target){
|
player.chooseTarget(get.prompt2('yongdi'),function(card,player,target){
|
||||||
return (target.sex=='male'||target.name=='key_yuri')&&target!=player;
|
return (target.hasSex('male')||target.name=='key_yuri')&&target!=player;
|
||||||
}).set('ai',function(target){
|
}).set('ai',function(target){
|
||||||
if(!_status.event.goon) return 0;
|
if(!_status.event.goon) return 0;
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
|
@ -8511,7 +8517,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
mod:{
|
mod:{
|
||||||
globalFrom:function(from,to,distance){
|
globalFrom:function(from,to,distance){
|
||||||
return distance-game.countPlayer(function(current){
|
return distance-game.countPlayer(function(current){
|
||||||
return current.sex=='female';
|
return current.hasSex('female');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8949,7 +8955,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
if(player.storage.xingwu.length==2){
|
if(player.storage.xingwu.length==2){
|
||||||
if(!game.hasPlayer(function(current){
|
if(!game.hasPlayer(function(current){
|
||||||
return (current!=player&¤t.sex=='male'&&
|
return (current!=player&¤t.hasSex('male')&&
|
||||||
get.damageEffect(current,player,player)>0&&
|
get.damageEffect(current,player,player)>0&&
|
||||||
get.attitude(player,current)<0)
|
get.attitude(player,current)<0)
|
||||||
})) return 0;
|
})) return 0;
|
||||||
|
@ -8978,7 +8984,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
player.unmarkSkill('xingwu');
|
player.unmarkSkill('xingwu');
|
||||||
player.chooseTarget(function(card,player,target){
|
player.chooseTarget(function(card,player,target){
|
||||||
return target!=player&&target.sex=='male';
|
return target!=player&&target.hasSex('male');
|
||||||
},'对一名男性角色造成两点伤害并弃置其装备区内的牌').set('ai',function(target){
|
},'对一名男性角色造成两点伤害并弃置其装备区内的牌').set('ai',function(target){
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
if(get.attitude(player,target)>0) return -1;
|
if(get.attitude(player,target)>0) return -1;
|
||||||
|
@ -12092,7 +12098,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.storage.cunsi=false;
|
player.storage.cunsi=false;
|
||||||
},
|
},
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
return player!=target&&target.sex=='male';
|
return player!=target&&target.hasSex('male');
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
|
@ -13405,7 +13411,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
enable:'phaseUse',
|
enable:'phaseUse',
|
||||||
usable:1,
|
usable:1,
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
return player!=target&&target.sex=='male';
|
return player!=target&&target.hasSex('male');
|
||||||
},
|
},
|
||||||
filterCard:true,
|
filterCard:true,
|
||||||
position:'he',
|
position:'he',
|
||||||
|
@ -13987,11 +13993,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
init:{
|
init:{
|
||||||
audio:'xinfu_xionghuo',
|
audio:'xinfu_xionghuo',
|
||||||
trigger:{
|
trigger:{
|
||||||
global:"gameDrawAfter",
|
global:"phaseBefore",
|
||||||
player:"enterGame",
|
player:"enterGame",
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
locked:false,
|
locked:false,
|
||||||
|
filter:function(event,player){
|
||||||
|
return (event.name!='phase'||game.phaseNumber==0);
|
||||||
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.addMark("xionghuo",3);
|
player.addMark("xionghuo",3);
|
||||||
},
|
},
|
||||||
|
@ -14582,7 +14591,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
popup:false,
|
popup:false,
|
||||||
filter:function (event,player){
|
filter:function (event,player){
|
||||||
if(!event.card||event.card.name!='tao') return false;
|
if(!event.card||event.card.name!='tao') return false;
|
||||||
if(!event.source||event.source.sex!='male') return false;
|
if(!event.source||!event.source.hasSex('male')) return false;
|
||||||
if(!player.isDying()) return false;
|
if(!player.isDying()) return false;
|
||||||
if(game.hasPlayer(function(current){
|
if(game.hasPlayer(function(current){
|
||||||
return current.name=='guansuo'||current.name2=='guansuo';
|
return current.name=='guansuo'||current.name2=='guansuo';
|
||||||
|
@ -14675,10 +14684,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{
|
trigger:{
|
||||||
player:["loseAfter","enterGame"],
|
player:["loseAfter","enterGame"],
|
||||||
global:"gameDrawAfter",
|
global:"phaseBefore",
|
||||||
},
|
},
|
||||||
filter:function (event,player){
|
filter:function (event,player){
|
||||||
if(event.name!='lose') return true;
|
if(event.name!='lose') return (event.name!='phase'||game.phaseNumber==0);
|
||||||
if(event.type!='discard') return false;
|
if(event.type!='discard') return false;
|
||||||
for(var i=0;i<event.cards2.length;i++){
|
for(var i=0;i<event.cards2.length;i++){
|
||||||
if(!player.hasMark('xinfu_falu_'+get.suit(event.cards2[i]))) return true;
|
if(!player.hasMark('xinfu_falu_'+get.suit(event.cards2[i]))) return true;
|
||||||
|
@ -15953,7 +15962,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
oljizhan:'吉占',
|
oljizhan:'吉占',
|
||||||
oljizhan_info:'摸牌阶段开始时,你可以放弃摸牌。你展示牌堆顶的一张牌,并猜测牌堆顶的下一张牌点数大于或小于此牌。若你猜对,你可继续重复此流程。然后你获得以此法展示的所有牌。',
|
oljizhan_info:'摸牌阶段开始时,你可以放弃摸牌。你展示牌堆顶的一张牌,并猜测牌堆顶的下一张牌点数大于或小于此牌。若你猜对,你可继续重复此流程。然后你获得以此法展示的所有牌。',
|
||||||
olfusong:'赋颂',
|
olfusong:'赋颂',
|
||||||
olfusong_info:'当你死亡时,你可以令一名体力上限大于你的其他角色获得〖吉占〗或〖丰姿〗。',
|
olfusong_info:'当你死亡时,你可以选择一名体力上限大于你的其他角色。其选择获得〖吉占〗或〖丰姿〗。',
|
||||||
|
|
||||||
sp_default:"常规",
|
sp_default:"常规",
|
||||||
sp_tongque:"铜雀台",
|
sp_tongque:"铜雀台",
|
||||||
|
|
|
@ -150,21 +150,25 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
player.showCards(cards,get.translation(player)+'发动了【经合】');
|
player.showCards(cards,get.translation(player)+'发动了【经合】');
|
||||||
event.skills=lib.skill.jinghe.derivation.randomGets(targets.length);
|
event.skills=lib.skill.jinghe.derivation.randomGets(4);
|
||||||
player.addTempSkill('jinghe_clear',{player:'phaseBegin'});
|
player.addTempSkill('jinghe_clear',{player:'phaseBegin'});
|
||||||
event.targets.sortBySeat();
|
event.targets.sortBySeat();
|
||||||
|
event.num=0;
|
||||||
'step 1'
|
'step 1'
|
||||||
event.target=targets[targets.length-event.skills.length];
|
event.target=targets[num];
|
||||||
event.target.chooseControl(event.skills).set('choiceList',event.skills.map(function(i){
|
event.num++;
|
||||||
|
event.target.chooseControl(event.skills,'cancel2').set('choiceList',event.skills.map(function(i){
|
||||||
return '<div class="skill">【'+get.translation(lib.translate[i+'_ab']||get.translation(i).slice(0,2))+'】</div><div>'+get.skillInfoTranslation(i,player)+'</div>';
|
return '<div class="skill">【'+get.translation(lib.translate[i+'_ab']||get.translation(i).slice(0,2))+'】</div><div>'+get.skillInfoTranslation(i,player)+'</div>';
|
||||||
})).set('displayIndex',false).set('prompt','选择获得一个技能');
|
})).set('displayIndex',false).set('prompt','选择获得一个技能');
|
||||||
'step 2'
|
'step 2'
|
||||||
var skill=result.control;
|
var skill=result.control;
|
||||||
|
if(skill!='cancel2'){
|
||||||
event.skills.remove(skill);
|
event.skills.remove(skill);
|
||||||
target.addAdditionalSkill('jinghe_'+player.playerid,skill);
|
target.addAdditionalSkill('jinghe_'+player.playerid,skill);
|
||||||
target.popup(skill);
|
target.popup(skill);
|
||||||
game.log(target,'获得了技能','#g【'+get.translation(skill)+'】');
|
game.log(target,'获得了技能','#g【'+get.translation(skill)+'】');
|
||||||
if(event.skills.length) event.goto(1);
|
}
|
||||||
|
if(event.num<event.targets.length) event.goto(1);
|
||||||
if(target!=game.me&&!target.isOnline2()) game.delayx();
|
if(target!=game.me&&!target.isOnline2()) game.delayx();
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
@ -291,11 +295,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
trigger:{global:'dying'},
|
trigger:{global:'dying'},
|
||||||
usable:1,
|
usable:1,
|
||||||
logTarget:'player',
|
logTarget:'player',
|
||||||
check:function(event,player){
|
frequent:true,
|
||||||
return get.attitude(player,event.player)>0;
|
|
||||||
},
|
|
||||||
content:function(){
|
content:function(){
|
||||||
trigger.player.draw(2);
|
player.draw(2);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
nhxianshou:{
|
nhxianshou:{
|
||||||
|
@ -453,6 +455,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.removeSkill('zhukou');
|
player.removeSkill('zhukou');
|
||||||
player.addSkill('yuyun');
|
player.addSkill('yuyun');
|
||||||
},
|
},
|
||||||
|
derivation:'yuyun',
|
||||||
},
|
},
|
||||||
yuyun:{
|
yuyun:{
|
||||||
trigger:{player:'phaseUseBegin'},
|
trigger:{player:'phaseUseBegin'},
|
||||||
|
@ -1372,7 +1375,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return game.hasPlayer((current)=>lib.skill.reqingcheng.filterTarget(null,player,current));
|
return game.hasPlayer((current)=>lib.skill.reqingcheng.filterTarget(null,player,current));
|
||||||
},
|
},
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
return target!=player&&target.sex=='male'&&target.countCards('h')<player.countCards('h');
|
return target!=player&&target.hasSex('male')&&target.countCards('h')<player.countCards('h');
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.swapHandcards(target);
|
player.swapHandcards(target);
|
||||||
|
@ -1449,13 +1452,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{
|
trigger:{
|
||||||
player:['enterGame','showCharacterAfter','phaseBegin'],
|
player:['enterGame','showCharacterAfter','phaseBegin'],
|
||||||
global:['gameDrawAfter'],
|
global:['phaseBefore'],
|
||||||
},
|
},
|
||||||
direct:true,
|
direct:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(player.hasSkill('zhiwei2')) return false;
|
if(player.hasSkill('zhiwei2')) return false;
|
||||||
if(get.mode()=='guozhan') return event.name=='showCharacter'&&(event.toShow.contains('gz_luyusheng')||event.toShow.contains('luyusheng'));
|
if(get.mode()=='guozhan') return event.name=='showCharacter'&&(event.toShow.contains('gz_luyusheng')||event.toShow.contains('luyusheng'));
|
||||||
return event.name!='showCharacter';
|
return event.name!='showCharacter'&&(event.name!='phase'||game.phaseNumber==0);
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
|
@ -6453,7 +6456,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.recover();
|
player.recover();
|
||||||
'step 1'
|
'step 1'
|
||||||
player.chooseTarget('是否失去〖蛮嗣〗,令一名其他男性角色和自己一同获得技能〖系力〗?',function(card,player,target){
|
player.chooseTarget('是否失去〖蛮嗣〗,令一名其他男性角色和自己一同获得技能〖系力〗?',function(card,player,target){
|
||||||
return target!=player&&target.sex=='male';
|
return target!=player&&target.hasSex('male');
|
||||||
}).ai=function(target){
|
}).ai=function(target){
|
||||||
return get.attitude(_status.event.player,target);
|
return get.attitude(_status.event.player,target);
|
||||||
};
|
};
|
||||||
|
@ -7401,13 +7404,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
cangchu:{
|
cangchu:{
|
||||||
trigger:{
|
trigger:{
|
||||||
global:'gameDrawAfter',
|
global:'phaseBefore',
|
||||||
player:['damageEnd','enterGame'],
|
player:['damageEnd','enterGame'],
|
||||||
},
|
},
|
||||||
audio:2,
|
audio:2,
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(event.name!='damage') return true;
|
if(event.name!='damage') return (event.name!='phase'||game.phaseNumber==0);
|
||||||
return event.nature=='fire'&&player.countMark('cangchu')>0;
|
return event.nature=='fire'&&player.countMark('cangchu')>0;
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
|
@ -8308,11 +8311,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
pytianjiang:{
|
pytianjiang:{
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{
|
trigger:{
|
||||||
global:'gameDrawAfter',
|
global:'phaseBefore',
|
||||||
player:'enterGame',
|
player:'enterGame',
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
locked:false,
|
locked:false,
|
||||||
|
filter:function(event,player){
|
||||||
|
return (event.name!='phase'||game.phaseNumber==0);
|
||||||
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
var i=0;
|
var i=0;
|
||||||
|
@ -9260,9 +9266,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return '已选择了'+get.translation(group)+'势力'
|
return '已选择了'+get.translation(group)+'势力'
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
trigger:{global:['gameDrawAfter','zhuUpdate']},
|
trigger:{global:['phaseBefore','zhuUpdate']},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return !player.storage.bingzhao&&player.hasZhuSkill('bingzhao');
|
return !player.storage.bingzhao&&player.hasZhuSkill('bingzhao')&&(event.name!='phase'||game.phaseNumber==0);
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
|
@ -10277,12 +10283,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
"xinfu_dianhu":{
|
"xinfu_dianhu":{
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{
|
trigger:{
|
||||||
global:"gameDrawAfter",
|
global:"phaseBefore",
|
||||||
player:"enterGame",
|
player:"enterGame",
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(){
|
filter:function(){
|
||||||
return game.players.length>1;
|
return game.players.length>1&&(event.name!='phase'||game.phaseNumber==0);
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
|
|
|
@ -2213,7 +2213,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return 4-get.value(card)
|
return 4-get.value(card)
|
||||||
},
|
},
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
if(target.sex!='male') return false;
|
if(!target.hasSex('female')) return false;
|
||||||
if(target.hp>=target.maxHp) return false;
|
if(target.hp>=target.maxHp) return false;
|
||||||
if(target==player) return false;
|
if(target==player) return false;
|
||||||
return true;
|
return true;
|
||||||
|
@ -2268,7 +2268,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
if(target.sex!='male') return false;
|
if(!target.hasSex('male')) return false;
|
||||||
var card=ui.selected.cards[0];
|
var card=ui.selected.cards[0];
|
||||||
if(!card) return false;
|
if(!card) return false;
|
||||||
if(get.position(card)=='e'&&target.countCards('e',{subtype:get.subtype(card)})) return false;
|
if(get.position(card)=='e'&&target.countCards('e',{subtype:get.subtype(card)})) return false;
|
||||||
|
@ -2352,7 +2352,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return 4-get.value(card)
|
return 4-get.value(card)
|
||||||
},
|
},
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
if(target.sex!='male') return false;
|
if(!target.hasSex('male')) return false;
|
||||||
if(target.hp>=target.maxHp) return false;
|
if(target.hp>=target.maxHp) return false;
|
||||||
if(target==player) return false;
|
if(target==player) return false;
|
||||||
return true;
|
return true;
|
||||||
|
@ -2549,7 +2549,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
usable:1,
|
usable:1,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return game.countPlayer(function(current){
|
return game.countPlayer(function(current){
|
||||||
return current!=player&¤t.sex=='male';
|
return current!=player&¤t.hasSex('male');
|
||||||
})>1;
|
})>1;
|
||||||
},
|
},
|
||||||
check:function(card){return 10-get.value(card)},
|
check:function(card){return 10-get.value(card)},
|
||||||
|
@ -2557,7 +2557,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
position:'he',
|
position:'he',
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
if(player==target) return false;
|
if(player==target) return false;
|
||||||
if(target.sex!='male') return false;
|
if(!target.hasSex('male')) return false;
|
||||||
if(ui.selected.targets.length==1){
|
if(ui.selected.targets.length==1){
|
||||||
return target.canUse({name:'juedou'},ui.selected.targets[0]);
|
return target.canUse({name:'juedou'},ui.selected.targets[0]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1188,11 +1188,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
priority:10,
|
priority:10,
|
||||||
audio:'zongzuo',
|
audio:'zongzuo',
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return !player.storage.xinzongzuo;
|
return game.phaseNumber==0;
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
player.storage.xinzongzuo=true;
|
|
||||||
var num=game.countGroup();
|
var num=game.countGroup();
|
||||||
player.gainMaxHp(num);
|
player.gainMaxHp(num);
|
||||||
event.num=num;
|
event.num=num;
|
||||||
|
@ -3227,7 +3226,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{global:'phaseJieshuBegin'},
|
trigger:{global:'phaseJieshuBegin'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return event.player!=player&&event.player.sex=='male'&&ui.cardPile.childElementCount<=player.hp*10;
|
return event.player!=player&&event.player.hasSex('male')&&ui.cardPile.childElementCount<=player.hp*10;
|
||||||
},
|
},
|
||||||
check:function(event,player){
|
check:function(event,player){
|
||||||
return get.attitude(player,event.player)<0&&get.effect(event.player,{name:'sha'},player,player)>0;
|
return get.attitude(player,event.player)<0&&get.effect(event.player,{name:'sha'},player,player)>0;
|
||||||
|
@ -4709,11 +4708,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
priority:10,
|
priority:10,
|
||||||
audio:2,
|
audio:2,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return !player.storage.zongzuo;
|
return game.phaseNumber==0;
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
player.storage.zongzuo=true;
|
|
||||||
var num=game.countGroup();
|
var num=game.countGroup();
|
||||||
player.gainMaxHp(num);
|
player.gainMaxHp(num);
|
||||||
event.num=num;
|
event.num=num;
|
||||||
|
@ -8042,7 +8040,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
player.chooseTarget(get.prompt('yanyu'),'令一名男性角色摸两张牌',function(card,player,target){
|
player.chooseTarget(get.prompt('yanyu'),'令一名男性角色摸两张牌',function(card,player,target){
|
||||||
return target.sex=='male'&&target!=player;
|
return target.hasSex('male')&&target!=player;
|
||||||
}).set('ai',function(target){
|
}).set('ai',function(target){
|
||||||
return get.attitude(_status.event.player,target);
|
return get.attitude(_status.event.player,target);
|
||||||
});
|
});
|
||||||
|
@ -9186,7 +9184,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{player:'damageBegin3'},
|
trigger:{player:'damageBegin3'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player.countCards('he',{type:'equip'})&&event.source&&event.source.sex=='male';
|
return player.countCards('he',{type:'equip'})&&event.source&&event.source.hasSex('male');
|
||||||
},
|
},
|
||||||
direct:true,
|
direct:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
|
@ -9318,7 +9316,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{target:'useCardToTargeted'},
|
trigger:{target:'useCardToTargeted'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return (event.card.name=='sha'||get.type(event.card)=='trick')&&event.player&&event.player.sex=='male'&&player.countCards('he',function(card){
|
return (event.card.name=='sha'||get.type(event.card)=='trick')&&event.player&&event.player.hasSex('male')&&player.countCards('he',function(card){
|
||||||
return _status.connectMode||get.type(card)=='equip';
|
return _status.connectMode||get.type(card)=='equip';
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
|
@ -4,6 +4,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
name:'yingbian',
|
name:'yingbian',
|
||||||
connect:true,
|
connect:true,
|
||||||
character:{
|
character:{
|
||||||
|
yangzhi:['female','jin',3,['wanyi','maihuo']],
|
||||||
|
yangyan:['female','jin',3,['xuanbei','xianwan']],
|
||||||
zuofen:['female','jin',3,['zhaosong','lisi'],['unseen']],
|
zuofen:['female','jin',3,['zhaosong','lisi'],['unseen']],
|
||||||
ol_huaxin:['male','wei',3,['caozhao','olxibing']],
|
ol_huaxin:['male','wei',3,['caozhao','olxibing']],
|
||||||
zhongyan:['female','jin',3,['bolan','yifa']],
|
zhongyan:['female','jin',3,['bolan','yifa']],
|
||||||
|
@ -28,9 +30,205 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
yingbian_pack2:['jin_simashi','jin_xiahouhui','zhanghuyuechen','shibao','jin_yanghuiyu'],
|
yingbian_pack2:['jin_simashi','jin_xiahouhui','zhanghuyuechen','shibao','jin_yanghuiyu'],
|
||||||
yingbian_pack3:['jin_simazhao','jin_wangyuanji','duyu','weiguan'],
|
yingbian_pack3:['jin_simazhao','jin_wangyuanji','duyu','weiguan'],
|
||||||
yingbian_pack4:['zhongyan'],
|
yingbian_pack4:['zhongyan'],
|
||||||
|
yingbian_pack5:['yangyan','yangzhi'],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
skill:{
|
skill:{
|
||||||
|
wanyi:{
|
||||||
|
audio:2,
|
||||||
|
enable:'phaseUse',
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.hasCard(function(i){
|
||||||
|
return get.is.yingbian(i);
|
||||||
|
},'hs');
|
||||||
|
},
|
||||||
|
chooseButton:{
|
||||||
|
dialog:function(){
|
||||||
|
return ui.create.dialog('婉嫕',[['zhujinqiyuan','chuqibuyi','shuiyanqijunx','dongzhuxianji'],'vcard'],'unseen');
|
||||||
|
},
|
||||||
|
filter:function(button,player){
|
||||||
|
return lib.filter.filterCard({name:button.link[2]},player,_status.event.getParent());
|
||||||
|
},
|
||||||
|
check:function(button){
|
||||||
|
return _status.event.player.getUseValue({name:button.link[2]});
|
||||||
|
},
|
||||||
|
backup:function(links){
|
||||||
|
return {
|
||||||
|
audio:'wanyi',
|
||||||
|
popname:true,
|
||||||
|
viewAs:{
|
||||||
|
name:links[0][2],
|
||||||
|
},
|
||||||
|
filterCard:function(card){
|
||||||
|
return get.is.yingbian(card);
|
||||||
|
},
|
||||||
|
check:function(card){
|
||||||
|
return 1/Math.max(1,get.value(card));
|
||||||
|
},
|
||||||
|
position:'hs',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
prompt:function(links){
|
||||||
|
return '将一张应变牌当做'+get.translation(links[0][2])+'使用';
|
||||||
|
},
|
||||||
|
},
|
||||||
|
subSkill:{backup:{}},
|
||||||
|
ai:{order:8,result:{player:1}},
|
||||||
|
},
|
||||||
|
maihuo:{
|
||||||
|
audio:2,
|
||||||
|
trigger:{target:'useCardToTargeted'},
|
||||||
|
logTarget:'player',
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.card.name=='sha'&&event.card.isCard&&event.getParent(2).name!='maihuo_effect'&&
|
||||||
|
event.cards.filterInD().length>0&&event.targets.length==1&&
|
||||||
|
event.player.isIn()&&(!event.player.storage.maihuo_effect||!event.player.storage.maihuo_effect.length);
|
||||||
|
},
|
||||||
|
check:function(event,player){
|
||||||
|
return get.effect(player,event.card,event.player,player)<0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
trigger.excluded.add(player);
|
||||||
|
var target=trigger.player,cards=trigger.cards.filterInD();
|
||||||
|
game.cardsGotoSpecial(cards);
|
||||||
|
target.markAuto('maihuo_effect',cards);
|
||||||
|
target.storage.maihuo_target=player;
|
||||||
|
target.addSkill('maihuo_effect')
|
||||||
|
},
|
||||||
|
group:'maihuo_damage',
|
||||||
|
subSkill:{
|
||||||
|
effect:{
|
||||||
|
trigger:{player:'phaseUseBegin'},
|
||||||
|
forced:true,
|
||||||
|
charlotte:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
if(!player.storage.maihuo_effect||!player.storage.maihuo_effect.length) return false;
|
||||||
|
var card=player.storage.maihuo_effect[0];
|
||||||
|
if(card.name!='sha') card=get.autoViewAs({
|
||||||
|
name:'sha',
|
||||||
|
isCard:true,
|
||||||
|
},player.storage.maihuo_effect);
|
||||||
|
var target=player.storage.maihuo_target;
|
||||||
|
if(!card||!target||!target.isIn()||!player.canUse(card,target,false)) return false;
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
var card=player.storage.maihuo_effect[0];
|
||||||
|
if(card.name!='sha') card=get.autoViewAs({
|
||||||
|
name:'sha',
|
||||||
|
isCard:true,
|
||||||
|
},player.storage.maihuo_effect);
|
||||||
|
var target=player.storage.maihuo_target;
|
||||||
|
player.useCard(card,target,player.storage.maihuo_effect,false);
|
||||||
|
delete player.storage.maihuo_effect;
|
||||||
|
player.removeSkill('maihuo_effect');
|
||||||
|
},
|
||||||
|
intro:{
|
||||||
|
content:'cards',
|
||||||
|
onunmark:'throw',
|
||||||
|
},
|
||||||
|
ai:{threaten:1.05},
|
||||||
|
},
|
||||||
|
damage:{
|
||||||
|
trigger:{source:'damageSource'},
|
||||||
|
forced:true,
|
||||||
|
locked:false,
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.player.hasSkill('maihuo_effect')&&event.player.storage.maihuo_effect&&event.player.storage.maihuo_effect.length>0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
trigger.player.removeSkill('maihuo_effect');
|
||||||
|
game.delayx();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
xuanbei:{
|
||||||
|
audio:2,
|
||||||
|
trigger:{
|
||||||
|
global:'phaseBefore',
|
||||||
|
player:'enterGame',
|
||||||
|
},
|
||||||
|
filter:function(event,player){
|
||||||
|
return (event.name!='phase'||game.phaseNumber==0);
|
||||||
|
},
|
||||||
|
forced:true,
|
||||||
|
locked:false,
|
||||||
|
content:function(){
|
||||||
|
var cards=[];
|
||||||
|
while(cards.length<2){
|
||||||
|
var card=get.cardPile2(function(i){
|
||||||
|
return get.is.yingbian(i)&&!cards.contains(i);
|
||||||
|
});
|
||||||
|
if(!card) break;
|
||||||
|
else cards.push(card);
|
||||||
|
}
|
||||||
|
if(cards.length) player.gain(cards,'gain2');
|
||||||
|
},
|
||||||
|
group:'xuanbei_give',
|
||||||
|
subSkill:{
|
||||||
|
give:{
|
||||||
|
trigger:{player:'useCardAfter'},
|
||||||
|
usable:1,
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.card.yingbian&&event.cards.filterInD().length>0;
|
||||||
|
},
|
||||||
|
direct:true,
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
event.cards=trigger.cards.filterInD();
|
||||||
|
player.chooseTarget(get.prompt('xuanbei'),'令一名其他角色获得'+get.translation(event.cards),lib.filter.notMe).set('ai',function(target){
|
||||||
|
var att=get.attitude(_status.event.player,target);
|
||||||
|
if(att<3) return 0;
|
||||||
|
if(target.hasJudge('lebu')) att/=2;
|
||||||
|
if(target.hasSkillTag('nogain')) att/=10;
|
||||||
|
return att/(1+get.distance(player,target,'absolute'));
|
||||||
|
});
|
||||||
|
'step 1'
|
||||||
|
if(result.bool){
|
||||||
|
var target=result.targets[0];
|
||||||
|
player.logSkill('xuanbei_give',target);
|
||||||
|
target.gain(cards,'gain2');
|
||||||
|
}
|
||||||
|
else player.storage.counttrigger.xuanbei_give--;
|
||||||
|
},
|
||||||
|
ai:{expose:0.1},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
xianwan:{
|
||||||
|
audio:2,
|
||||||
|
enable:'chooseToUse',
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.filterCard&&event.filterCard({
|
||||||
|
name:'sha'+(player.isLinked()?'':'n'),
|
||||||
|
isCard:true,
|
||||||
|
},player,event);
|
||||||
|
},
|
||||||
|
viewAs:function(cards,player){
|
||||||
|
return {
|
||||||
|
name:'sha'+(player.isLinked()?'':'n'),
|
||||||
|
isCard:true,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
filterCard:()=>false,
|
||||||
|
selectCard:-1,
|
||||||
|
prompt:'将武将牌横置并视为使用【杀】',
|
||||||
|
log:false,
|
||||||
|
check:()=>1,
|
||||||
|
precontent:function(){
|
||||||
|
player.logSkill('xianwan');
|
||||||
|
player.link();
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:2,
|
||||||
|
respondSha:true,
|
||||||
|
respondShan:true,
|
||||||
|
skillTagFilter:function(player,tag){
|
||||||
|
return tag==('respondSha'+(player.isLinked()?'':'n'));
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
recaiwang:{
|
recaiwang:{
|
||||||
audio:'caiwang',
|
audio:'caiwang',
|
||||||
inherit:'caiwang',
|
inherit:'caiwang',
|
||||||
|
@ -960,6 +1158,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
var evt=event.getl(player);
|
var evt=event.getl(player);
|
||||||
if(!evt||!evt.es||!evt.es.length) return false;
|
if(!evt||!evt.es||!evt.es.length) return false;
|
||||||
|
if(event.name=='equip'&&event.player==player) return false;
|
||||||
for(var i of evt.es){
|
for(var i of evt.es){
|
||||||
if(get.subtype(i,false)=='equip5') return true;
|
if(get.subtype(i,false)=='equip5') return true;
|
||||||
}
|
}
|
||||||
|
@ -2232,14 +2431,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
xijue:{
|
xijue:{
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{
|
trigger:{
|
||||||
global:'gameDrawAfter',
|
global:'phaseBefore',
|
||||||
player:['enterGame','showCharacterAfter'],
|
player:['enterGame','showCharacterAfter'],
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(player._xijue) return false;
|
if(player._xijue) return false;
|
||||||
if(get.mode()=='guozhan') return event.name=='showCharacter'&&event.toShow&&event.toShow.contains('gz_zhanghuyuechen');
|
if(get.mode()=='guozhan') return event.name=='showCharacter'&&event.toShow&&event.toShow.contains('gz_zhanghuyuechen');
|
||||||
return event.name!='showCharacter';
|
return (event.name!='showCharacter')&&(event.name!='phase'||game.phaseNumber==0);
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.addMark('xijue',4);
|
player.addMark('xijue',4);
|
||||||
|
@ -2498,6 +2697,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
weiguan:'卫瓘(220年-291年),字伯玉。河东郡安邑县(今山西省夏县)人。三国曹魏后期至西晋初年重臣、书法家,曹魏尚书卫觊之子。卫瓘出身官宦世家,年轻时仕官于曹魏,历任尚书郎、散骑常侍、侍中、廷尉等职。后以镇西军司、监军身份参与伐蜀战争。蜀汉亡后,与钟会一道逮捕邓艾;钟会谋反时,又成功平息叛乱,命田续杀邓艾父子。回师后转任督徐州诸军事、镇东将军,封菑阳侯。西晋建立后,历任青州、幽州刺史、征东大将军等职,成功化解北方边境威胁,因功进爵菑阳公。后入朝为尚书令、侍中,又升任司空,领太子少傅。后逊位,拜太保。晋惠帝即位后,与贾皇后对立,终在政变中满门遇害,享年七十二岁。卫瓘善隶书及章草。不仅兼工各体,还能学古人之长,是颇有创意的书法家。唐朝张怀瓘《书断》中评其章草为“神品”。',
|
weiguan:'卫瓘(220年-291年),字伯玉。河东郡安邑县(今山西省夏县)人。三国曹魏后期至西晋初年重臣、书法家,曹魏尚书卫觊之子。卫瓘出身官宦世家,年轻时仕官于曹魏,历任尚书郎、散骑常侍、侍中、廷尉等职。后以镇西军司、监军身份参与伐蜀战争。蜀汉亡后,与钟会一道逮捕邓艾;钟会谋反时,又成功平息叛乱,命田续杀邓艾父子。回师后转任督徐州诸军事、镇东将军,封菑阳侯。西晋建立后,历任青州、幽州刺史、征东大将军等职,成功化解北方边境威胁,因功进爵菑阳公。后入朝为尚书令、侍中,又升任司空,领太子少傅。后逊位,拜太保。晋惠帝即位后,与贾皇后对立,终在政变中满门遇害,享年七十二岁。卫瓘善隶书及章草。不仅兼工各体,还能学古人之长,是颇有创意的书法家。唐朝张怀瓘《书断》中评其章草为“神品”。',
|
||||||
zhongyan:' 钟琰 (?—?年)颍川人,王浑之妻。生卒年不详,约魏末晋初间前后在世。王浑的妻子钟琰,是颍川人,为魏太傅钟繇的曾孙女,父亲钟徽,为黄门郎。她平时广泛阅读各种书籍,因此几岁的时候就能撰写文章。她聪慧弘雅,善于啸咏,她的礼仪法度,为中表所推崇,她写有文集五卷。',
|
zhongyan:' 钟琰 (?—?年)颍川人,王浑之妻。生卒年不详,约魏末晋初间前后在世。王浑的妻子钟琰,是颍川人,为魏太傅钟繇的曾孙女,父亲钟徽,为黄门郎。她平时广泛阅读各种书籍,因此几岁的时候就能撰写文章。她聪慧弘雅,善于啸咏,她的礼仪法度,为中表所推崇,她写有文集五卷。',
|
||||||
zuofen:'左芬(约253年-300年4月23日),出土墓志作左棻,字兰芝,齐国临淄(今山东临淄)人,西晋诗人。少好学,善属文。为晋武帝贵人。今存诗、赋、颂、赞、诔等20余篇,大都为应诏而作,《离思赋》最著名。原有集,已失传。',
|
zuofen:'左芬(约253年-300年4月23日),出土墓志作左棻,字兰芝,齐国临淄(今山东临淄)人,西晋诗人。少好学,善属文。为晋武帝贵人。今存诗、赋、颂、赞、诔等20余篇,大都为应诏而作,《离思赋》最著名。原有集,已失传。',
|
||||||
|
yangyan:'杨艳(238年-274年8月25日),字琼芝,弘农郡华阴县(今陕西省华阴市)人,晋武帝司马炎第一任皇后,曹魏通事郎杨炳之女。自幼父母双亡,为舅舅赵俊所养,跟随继母段氏生活。聪明贤慧,善于书法,天生丽质,娴熟女红,嫁给了世子司马炎。泰始元年(265年),晋武帝即位,建立西晋。泰始二年(266年),杨艳受册为皇后,深得晋武帝宠幸,生下三子三女,包括晋惠帝司马衷。泰始十年(274年),去世,时年三十七,陪葬于峻阳陵,谥号武元皇后。',
|
||||||
|
yangzhi:'杨芷(259年-292年3月6日),字季兰,小字男胤,弘农郡华阴县(今陕西省华阴市)人,晋武帝司马炎第二任皇后,东汉太尉杨震幼子杨奉后裔,东汉末年东莱太守、蓩亭侯杨众曾孙女,西晋太傅杨骏与嫡妻庞氏之女,武元皇后杨艳堂妹。咸宁二年(276年),立为皇后,史称“婉嫕有妇德, 美映椒房”,得宠于晋武帝。生渤海殇王,早薨,之后再无生育。其父杨骏擅权引起皇后贾南风忌恨,贾南风联络汝南王司马亮、楚王司马玮发动政变,杀死杨骏,并唆使大臣上书状告杨芷谋反,让晋惠帝司马衷将其贬为庶人,押到金墉城居住。元康二年(292年),杨芷冻饿而死,谥号武悼皇后。',
|
||||||
},
|
},
|
||||||
characterTitle:{},
|
characterTitle:{},
|
||||||
perfectPair:{},
|
perfectPair:{},
|
||||||
|
@ -2654,11 +2855,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
recaiwang_hand:'才望',
|
recaiwang_hand:'才望',
|
||||||
recaiwang_equip:'才望',
|
recaiwang_equip:'才望',
|
||||||
recaiwang_judge:'才望',
|
recaiwang_judge:'才望',
|
||||||
|
yangyan:'杨艳',
|
||||||
|
xuanbei:'选备',
|
||||||
|
xuanbei_info:'①游戏开始时,你从牌堆中获得两张具有应变标签的牌。②每回合限一次。当你使用的满足应变效果的牌结算结束后,你可将此牌对应的所有实体牌交给一名其他角色。',
|
||||||
|
xianwan:'娴婉',
|
||||||
|
xianwan_info:'①当你需要使用【闪】时,若你的武将牌未横置,则你可以横置武将牌并视为使用【闪】。②当你需要使用【杀】时,若你的武将牌横置,则你可以横置武将牌并视为使用【杀】。',
|
||||||
|
yangzhi:'杨芷',
|
||||||
|
wanyi:'婉嫕',
|
||||||
|
wanyi_info:'出牌阶段,你可以将一张具有应变效果的牌当做【逐近弃远】/【出其不意】/【水淹七军】/【洞烛先机】使用。',
|
||||||
|
maihuo:'埋祸',
|
||||||
|
maihuo_info:'①当你成为其他角色使用【杀】的目标后,若此【杀】不为转化牌且有对应的实体牌且其武将牌上没有“祸”且你是此牌的唯一目标,则你可以令此牌对你无效,并将此【杀】置于其武将牌上,称为“祸”。②一名其他角色的出牌阶段开始时,若其武将牌上有“祸”,则其对你使用此“祸”。③当你对有“祸”的其他角色造成伤害后,你移去其“祸”。',
|
||||||
|
|
||||||
yingbian_pack1:'文德武备·理',
|
yingbian_pack1:'文德武备·理',
|
||||||
yingbian_pack2:'文德武备·备',
|
yingbian_pack2:'文德武备·备',
|
||||||
yingbian_pack3:'文德武备·果',
|
yingbian_pack3:'文德武备·果',
|
||||||
yingbian_pack4:'文德武备·戒',
|
yingbian_pack4:'文德武备·戒',
|
||||||
|
yingbian_pack5:'文德武备·约',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
window.noname_asset_list=[
|
window.noname_asset_list=[
|
||||||
'v1.9.110.9.4',
|
'v1.9.110.10',
|
||||||
'audio/background/aozhan_chaoming.mp3',
|
'audio/background/aozhan_chaoming.mp3',
|
||||||
'audio/background/aozhan_online.mp3',
|
'audio/background/aozhan_online.mp3',
|
||||||
'audio/background/aozhan_rewrite.mp3',
|
'audio/background/aozhan_rewrite.mp3',
|
||||||
|
@ -4155,6 +4155,18 @@ window.noname_asset_list=[
|
||||||
'image/card/toushiche.png',
|
'image/card/toushiche.png',
|
||||||
'image/card/kano_paibingbuzhen.png',
|
'image/card/kano_paibingbuzhen.png',
|
||||||
'image/card/qizhengxiangsheng.png',
|
'image/card/qizhengxiangsheng.png',
|
||||||
|
'image/card/chenghuodajie.png',
|
||||||
|
'image/card/cisha.png',
|
||||||
|
'image/card/duanjian.png',
|
||||||
|
'image/card/guaguliaodu.png',
|
||||||
|
'image/card/qixingbaodao.png',
|
||||||
|
'image/card/serafuku.png',
|
||||||
|
'image/card/tuixinzhifu.png',
|
||||||
|
'image/card/xinge.png',
|
||||||
|
'image/card/yinfengyi.png',
|
||||||
|
'image/card/yitianjian.png',
|
||||||
|
'image/card/yonglv.png',
|
||||||
|
'image/card/zhanxiang.png',
|
||||||
|
|
||||||
'image/character/shenpei.jpg',
|
'image/character/shenpei.jpg',
|
||||||
'image/character/re_menghuo.jpg',
|
'image/character/re_menghuo.jpg',
|
||||||
|
@ -4624,6 +4636,8 @@ window.noname_asset_list=[
|
||||||
'image/character/tw_fuwan.jpg',
|
'image/character/tw_fuwan.jpg',
|
||||||
'image/character/yuanhuan.jpg',
|
'image/character/yuanhuan.jpg',
|
||||||
'image/character/zhouyi.jpg',
|
'image/character/zhouyi.jpg',
|
||||||
|
'image/character/yangyan.jpg',
|
||||||
|
'image/character/yangzhi.jpg',
|
||||||
|
|
||||||
'image/character/baiwuchang.jpg',
|
'image/character/baiwuchang.jpg',
|
||||||
'image/character/baosanniang.jpg',
|
'image/character/baosanniang.jpg',
|
||||||
|
|
|
@ -22,7 +22,7 @@ window.config={
|
||||||
connect_zhinang_tricks:['guohe','wuxie','wuzhong','dongzhuxianji'],
|
connect_zhinang_tricks:['guohe','wuxie','wuzhong','dongzhuxianji'],
|
||||||
all:{
|
all:{
|
||||||
sgscharacters:['standard','shenhua','xinghuoliaoyuan','refresh','yijiang','sp','sp2','extra','old','mobile','tw','yingbian','offline'],
|
sgscharacters:['standard','shenhua','xinghuoliaoyuan','refresh','yijiang','sp','sp2','extra','old','mobile','tw','yingbian','offline'],
|
||||||
sgscards:['standard','extra','sp','guozhan','zhulu','yingbian'],
|
sgscards:['standard','extra','sp','guozhan','zhulu','yingbian','yongjian'],
|
||||||
sgsmodes:['identity','guozhan','versus','doudizhu','single','brawl','connect'],
|
sgsmodes:['identity','guozhan','versus','doudizhu','single','brawl','connect'],
|
||||||
stockmode:['identity','guozhan','versus','boss','doudizhu','single','chess','stone','connect','brawl','tafang'],
|
stockmode:['identity','guozhan','versus','boss','doudizhu','single','chess','stone','connect','brawl','tafang'],
|
||||||
stockextension:['boss','cardpile','coin','wuxing'],
|
stockextension:['boss','cardpile','coin','wuxing'],
|
||||||
|
@ -133,10 +133,10 @@ window.config={
|
||||||
right_click:'pause',
|
right_click:'pause',
|
||||||
sort:'type_sort',
|
sort:'type_sort',
|
||||||
|
|
||||||
cards:['standard','ex','extra','sp','classic','basic'],
|
cards:['standard','extra'],
|
||||||
characters:['standard','shenhua','sp','sp2','yijiang','refresh','xinghuoliaoyuan','mobile','extra','yingbian'],
|
characters:['standard','shenhua','sp','sp2','yijiang','refresh','xinghuoliaoyuan','mobile','extra','yingbian'],
|
||||||
connect_characters:['diy'],
|
connect_characters:['diy'],
|
||||||
connect_cards:['huanlekapai','guozhan','sp','zhulu','yingbian'],
|
connect_cards:['huanlekapai','guozhan','sp','zhulu','yingbian','yongjian'],
|
||||||
plays:[],
|
plays:[],
|
||||||
extensions:[],
|
extensions:[],
|
||||||
banned:[],
|
banned:[],
|
||||||
|
|
113
game/game.js
|
@ -10230,6 +10230,7 @@
|
||||||
poison:"毒",
|
poison:"毒",
|
||||||
kami:'神',
|
kami:'神',
|
||||||
ice:'冰',
|
ice:'冰',
|
||||||
|
stab:'刺',
|
||||||
wei:'魏',
|
wei:'魏',
|
||||||
shu:'蜀',
|
shu:'蜀',
|
||||||
wu:'吴',
|
wu:'吴',
|
||||||
|
@ -10402,8 +10403,8 @@
|
||||||
else if(typeof select=='function') range=select(card,player);
|
else if(typeof select=='function') range=select(card,player);
|
||||||
game.checkMod(card,player,range,'selectTarget',player);
|
game.checkMod(card,player,range,'selectTarget',player);
|
||||||
}
|
}
|
||||||
if(info.notarget||range[1]==-1){
|
if(info.notarget||range[1]<=-1){
|
||||||
if(!info.notarget&&range[1]==-1){
|
if(!info.notarget&&range[1]<=-1){
|
||||||
for(var i=0;i<targets.length;i++){
|
for(var i=0;i<targets.length;i++){
|
||||||
if(!player.canUse(card,targets[i],event.nodistance?false:null,event.addCount===false?null:true)){
|
if(!player.canUse(card,targets[i],event.nodistance?false:null,event.addCount===false?null:true)){
|
||||||
targets.splice(i--,1);
|
targets.splice(i--,1);
|
||||||
|
@ -10835,10 +10836,13 @@
|
||||||
player.phaseNumber++;
|
player.phaseNumber++;
|
||||||
game.syncState();
|
game.syncState();
|
||||||
game.addVideo('phaseChange',player);
|
game.addVideo('phaseChange',player);
|
||||||
if(game.phaseNumber==1&&lib.configOL.observe){
|
if(game.phaseNumber==1){
|
||||||
|
delete player._start_cards;
|
||||||
|
if(lib.configOL.observe){
|
||||||
lib.configOL.observeReady=true;
|
lib.configOL.observeReady=true;
|
||||||
game.send('server','config',lib.configOL);
|
game.send('server','config',lib.configOL);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
game.log();
|
game.log();
|
||||||
game.log(player,'的回合开始');
|
game.log(player,'的回合开始');
|
||||||
player._noVibrate=true;
|
player._noVibrate=true;
|
||||||
|
@ -11085,6 +11089,7 @@
|
||||||
if(player.singleHp===true&&get.mode()!='guozhan'&&(lib.config.mode!='doudizhu'||_status.mode!='online')){
|
if(player.singleHp===true&&get.mode()!='guozhan'&&(lib.config.mode!='doudizhu'||_status.mode!='online')){
|
||||||
player.doubleDraw();
|
player.doubleDraw();
|
||||||
}
|
}
|
||||||
|
player._start_cards=player.getCards('h');
|
||||||
player=player.next;
|
player=player.next;
|
||||||
}
|
}
|
||||||
while(player!=end);
|
while(player!=end);
|
||||||
|
@ -11138,6 +11143,7 @@
|
||||||
else{
|
else{
|
||||||
if(event.dialog) event.dialog.close();
|
if(event.dialog) event.dialog.close();
|
||||||
if(ui.confirm) ui.confirm.close();
|
if(ui.confirm) ui.confirm.close();
|
||||||
|
game.me._start_cards=game.me.getCards('h');
|
||||||
event.finish();
|
event.finish();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -11749,7 +11755,9 @@
|
||||||
for(var i=0;i<hs.length;i++){
|
for(var i=0;i<hs.length;i++){
|
||||||
hs[i].discard(false);
|
hs[i].discard(false);
|
||||||
}
|
}
|
||||||
game.me.directgain(get.cards(hs.length));
|
var cards=get.cards(hs.length);
|
||||||
|
game.me._start_cards=cards;
|
||||||
|
game.me.directgain(cards);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
replaceHandcardsOL:function(){
|
replaceHandcardsOL:function(){
|
||||||
|
@ -11767,7 +11775,9 @@
|
||||||
hs[i].discard(false);
|
hs[i].discard(false);
|
||||||
}
|
}
|
||||||
},player,hs);
|
},player,hs);
|
||||||
player.directgain(get.cards(hs.length));
|
var cards=get.cards(hs.length);
|
||||||
|
player.directgain(cards);
|
||||||
|
player._start_cards=cards;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
for(var i=0;i<event.players.length;i++){
|
for(var i=0;i<event.players.length;i++){
|
||||||
|
@ -12040,7 +12050,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(event.prompt=='function'){
|
else if(typeof event.prompt=='function'){
|
||||||
event.dialog=ui.create.dialog(event.prompt(event));
|
event.dialog=ui.create.dialog(event.prompt(event));
|
||||||
}
|
}
|
||||||
else if(event.prompt==undefined){
|
else if(event.prompt==undefined){
|
||||||
|
@ -15188,6 +15198,7 @@
|
||||||
},
|
},
|
||||||
gain:function(){
|
gain:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
|
if(event.animate=='give') event.visible=true;
|
||||||
if(cards){
|
if(cards){
|
||||||
var map={};
|
var map={};
|
||||||
for(var i of cards){
|
for(var i of cards){
|
||||||
|
@ -15201,7 +15212,7 @@
|
||||||
for(var i in map){
|
for(var i in map){
|
||||||
var owner=(_status.connectMode?lib.playerOL:game.playerMap)[i];
|
var owner=(_status.connectMode?lib.playerOL:game.playerMap)[i];
|
||||||
var next=owner.lose(map[i],ui.special).set('type','gain').set('forceDie',true).set('getlx',false);
|
var next=owner.lose(map[i],ui.special).set('type','gain').set('forceDie',true).set('getlx',false);
|
||||||
if(event.animate=='give'||event.visible==true) next.visible=true;
|
if(event.visible==true) next.visible=true;
|
||||||
event.relatedLose=next;
|
event.relatedLose=next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16506,6 +16517,23 @@
|
||||||
},
|
},
|
||||||
player:{
|
player:{
|
||||||
//新函数
|
//新函数
|
||||||
|
hasSex:function(sex){
|
||||||
|
if(this.sex=='unknown') return false;
|
||||||
|
if(this.sex=='double') return true;
|
||||||
|
return this.sex==sex;
|
||||||
|
},
|
||||||
|
sameSexAs:function(target){
|
||||||
|
var sex1=this.sex,sex2=target.sex;
|
||||||
|
if(sex1=='unknown'||sex2=='unknown') return false;
|
||||||
|
if(sex1=='double'||sex2=='double') return true;
|
||||||
|
return sex1==sex2;
|
||||||
|
},
|
||||||
|
differentSexFrom:function(target){
|
||||||
|
var sex1=this.sex,sex2=target.sex;
|
||||||
|
if(sex1=='unknown'||sex2=='unknown') return false;
|
||||||
|
if(sex1=='double'||sex2=='double') return true;
|
||||||
|
return sex1!=sex2;
|
||||||
|
},
|
||||||
addSkillBlocker:function(skill){
|
addSkillBlocker:function(skill){
|
||||||
if(!this.storage.skill_blocker) this.storage.skill_blocker=[];
|
if(!this.storage.skill_blocker) this.storage.skill_blocker=[];
|
||||||
this.storage.skill_blocker.push(skill);
|
this.storage.skill_blocker.push(skill);
|
||||||
|
@ -18802,7 +18830,7 @@
|
||||||
return ais();
|
return ais();
|
||||||
}
|
}
|
||||||
var addi=(get.value(card)>=8&&get.type(card)!='equip')?-10:0;
|
var addi=(get.value(card)>=8&&get.type(card)!='equip')?-10:0;
|
||||||
if(card.name=='du') addi+=5;
|
if(card.name=='du') addi-=3;
|
||||||
var source=_status.event.source;
|
var source=_status.event.source;
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
var getn=function(card){
|
var getn=function(card){
|
||||||
|
@ -20119,7 +20147,7 @@
|
||||||
next._triggered=null;
|
next._triggered=null;
|
||||||
next.notrigger=true;
|
next.notrigger=true;
|
||||||
}
|
}
|
||||||
else if(get.itemtype(arguments[i])=='nature'){
|
else if(get.itemtype(arguments[i])=='nature'&&arguments[i]!='stab'){
|
||||||
next.nature=arguments[i];
|
next.nature=arguments[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21419,7 +21447,7 @@
|
||||||
this.popup(skill);
|
this.popup(skill);
|
||||||
game.log(this,'获得了技能','#g【'+get.translation(skill)+'】');
|
game.log(this,'获得了技能','#g【'+get.translation(skill)+'】');
|
||||||
},
|
},
|
||||||
addSkill:function(skill,checkConflict,nobroadcast){
|
addSkill:function(skill,checkConflict,nobroadcast,addToSkills){
|
||||||
if(Array.isArray(skill)){
|
if(Array.isArray(skill)){
|
||||||
for(var i=0;i<skill.length;i++){
|
for(var i=0;i<skill.length;i++){
|
||||||
this.addSkill(skill[i]);
|
this.addSkill(skill[i]);
|
||||||
|
@ -21434,7 +21462,7 @@
|
||||||
player.skills.add(skill);
|
player.skills.add(skill);
|
||||||
},this,skill);
|
},this,skill);
|
||||||
}
|
}
|
||||||
this.skills.add(skill);
|
if(!addToSkills) this.skills.add(skill);
|
||||||
this.addSkillTrigger(skill);
|
this.addSkillTrigger(skill);
|
||||||
if(this.awakenedSkills.contains(skill)){
|
if(this.awakenedSkills.contains(skill)){
|
||||||
this.awakenSkill(skill);
|
this.awakenSkill(skill);
|
||||||
|
@ -21504,8 +21532,8 @@
|
||||||
skills=[skills];
|
skills=[skills];
|
||||||
}
|
}
|
||||||
for(var i=0;i<skills.length;i++){
|
for(var i=0;i<skills.length;i++){
|
||||||
this.addSkill(skills[i],null,true);
|
this.addSkill(skills[i],null,true,true);
|
||||||
this.skills.remove(skills[i]);
|
//this.skills.remove(skills[i]);
|
||||||
this.additionalSkills[skill].push(skills[i]);
|
this.additionalSkills[skill].push(skills[i]);
|
||||||
}
|
}
|
||||||
this.checkConflict();
|
this.checkConflict();
|
||||||
|
@ -21517,17 +21545,17 @@
|
||||||
if(Array.isArray(additionalSkills)&&typeof target=='string'){
|
if(Array.isArray(additionalSkills)&&typeof target=='string'){
|
||||||
if(additionalSkills.contains(target)){
|
if(additionalSkills.contains(target)){
|
||||||
additionalSkills.remove(target);
|
additionalSkills.remove(target);
|
||||||
this.removeSkill(target);
|
if(!this.skills.contains(target)&&!this.tempSkills[target]) this.removeSkill(target);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
delete this.additionalSkills[skill];
|
delete this.additionalSkills[skill];
|
||||||
if(typeof additionalSkills=='string'){
|
if(typeof additionalSkills=='string'){
|
||||||
this.removeSkill(additionalSkills);
|
if(!this.skills.contains(additionalSkills)&&!this.tempSkills[additionalSkills]) this.removeSkill(additionalSkills);
|
||||||
}
|
}
|
||||||
else if(Array.isArray(additionalSkills)){
|
else if(Array.isArray(additionalSkills)){
|
||||||
for(var i=0;i<additionalSkills.length;i++){
|
for(var i=0;i<additionalSkills.length;i++){
|
||||||
this.removeSkill(additionalSkills[i]);
|
if(!this.skills.contains(additionalSkills[i])&&!this.tempSkills[additionalSkills[i]]) this.removeSkill(additionalSkills[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24222,6 +24250,10 @@
|
||||||
card[2]='sha';
|
card[2]='sha';
|
||||||
card[3]='ice';
|
card[3]='ice';
|
||||||
}
|
}
|
||||||
|
if(card[2]=='cisha'){
|
||||||
|
card[2]='sha';
|
||||||
|
card[3]='stab';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if(typeof card=='object'){
|
else if(typeof card=='object'){
|
||||||
card=[card.suit,card.number,card.name,card.nature];
|
card=[card.suit,card.number,card.name,card.nature];
|
||||||
|
@ -24306,7 +24338,8 @@
|
||||||
this.node.image.setBackgroundImage('image/mode/'+lib.card[bg].modeimage+'/card/'+bg+'.png');
|
this.node.image.setBackgroundImage('image/mode/'+lib.card[bg].modeimage+'/card/'+bg+'.png');
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
this.node.image.setBackgroundImage('image/card/'+bg+'.png');
|
if(bg=='sha'&&card[3]=='stab') this.node.image.setBackgroundImage('image/card/cisha.png');
|
||||||
|
else this.node.image.setBackgroundImage('image/card/'+bg+'.png');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24469,6 +24502,9 @@
|
||||||
name='冰'+name;
|
name='冰'+name;
|
||||||
this.node.image.classList.add('ice');
|
this.node.image.classList.add('ice');
|
||||||
}
|
}
|
||||||
|
else if(card[3]=='stab'){
|
||||||
|
name='刺'+name;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for(var i=0;i<name.length;i++){
|
for(var i=0;i<name.length;i++){
|
||||||
this.node.name.innerHTML+=name[i]+'<br/>';
|
this.node.name.innerHTML+=name[i]+'<br/>';
|
||||||
|
@ -27959,7 +27995,7 @@
|
||||||
},
|
},
|
||||||
suit:['club','spade','diamond','heart'],
|
suit:['club','spade','diamond','heart'],
|
||||||
group:['wei','shu','wu','qun','jin','shen'],
|
group:['wei','shu','wu','qun','jin','shen'],
|
||||||
nature:['fire','thunder','poison','kami','ice'],
|
nature:['fire','thunder','poison','kami','ice','stab'],
|
||||||
linked:['fire','thunder','kami','ice'],
|
linked:['fire','thunder','kami','ice'],
|
||||||
groupnature:{
|
groupnature:{
|
||||||
shen:'thunder',
|
shen:'thunder',
|
||||||
|
@ -32614,7 +32650,7 @@
|
||||||
if(ui.selected.buttons.length<range[1]){
|
if(ui.selected.buttons.length<range[1]){
|
||||||
dialog.buttons[i].classList.add('selectable');
|
dialog.buttons[i].classList.add('selectable');
|
||||||
}
|
}
|
||||||
else if(range[1]==-1){
|
else if(range[1]<=-1){
|
||||||
dialog.buttons[i].classList.add('selected');
|
dialog.buttons[i].classList.add('selected');
|
||||||
ui.selected.buttons.add(dialog.buttons[i]);
|
ui.selected.buttons.add(dialog.buttons[i]);
|
||||||
}
|
}
|
||||||
|
@ -32624,7 +32660,7 @@
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
dialog.buttons[i].classList.remove('selectable');
|
dialog.buttons[i].classList.remove('selectable');
|
||||||
if(range[1]==-1){
|
if(range[1]<=-1){
|
||||||
dialog.buttons[i].classList.remove('selected');
|
dialog.buttons[i].classList.remove('selected');
|
||||||
ui.selected.buttons.remove(dialog.buttons[i]);
|
ui.selected.buttons.remove(dialog.buttons[i]);
|
||||||
}
|
}
|
||||||
|
@ -32719,7 +32755,7 @@
|
||||||
event._cardChoice.push(cards[i]);
|
event._cardChoice.push(cards[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(range[1]==-1){
|
else if(range[1]<=-1){
|
||||||
cards[i].classList.add('selected');
|
cards[i].classList.add('selected');
|
||||||
cards[i].updateTransform(true);
|
cards[i].updateTransform(true);
|
||||||
ui.selected.cards.add(cards[i]);
|
ui.selected.cards.add(cards[i]);
|
||||||
|
@ -32730,7 +32766,7 @@
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
cards[i].classList.remove('selectable');
|
cards[i].classList.remove('selectable');
|
||||||
if(range[1]==-1){
|
if(range[1]<=-1){
|
||||||
cards[i].classList.remove('selected');
|
cards[i].classList.remove('selected');
|
||||||
cards[i].updateTransform();
|
cards[i].updateTransform();
|
||||||
ui.selected.cards.remove(cards[i]);
|
ui.selected.cards.remove(cards[i]);
|
||||||
|
@ -32794,7 +32830,7 @@
|
||||||
event._targetChoice.push(players[i]);
|
event._targetChoice.push(players[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(range[1]==-1){
|
else if(range[1]<=-1){
|
||||||
players[i].classList.add('selected');
|
players[i].classList.add('selected');
|
||||||
ui.selected.targets.add(players[i]);
|
ui.selected.targets.add(players[i]);
|
||||||
}
|
}
|
||||||
|
@ -32804,7 +32840,7 @@
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
players[i].classList.remove('selectable');
|
players[i].classList.remove('selectable');
|
||||||
if(range[1]==-1){
|
if(range[1]<=-1){
|
||||||
players[i].classList.remove('selected');
|
players[i].classList.remove('selected');
|
||||||
ui.selected.targets.remove(players[i]);
|
ui.selected.targets.remove(players[i]);
|
||||||
}
|
}
|
||||||
|
@ -32835,7 +32871,7 @@
|
||||||
ok=false;
|
ok=false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(range[1]==-1&&ui.selected.targets.length==0&&event.targetRequired){
|
if(range[1]<=-1&&ui.selected.targets.length==0&&event.targetRequired){
|
||||||
ok=false;
|
ok=false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38328,6 +38364,8 @@
|
||||||
if(cname=='sha'){
|
if(cname=='sha'){
|
||||||
pileaddlist.push(['huosha','火杀']);
|
pileaddlist.push(['huosha','火杀']);
|
||||||
pileaddlist.push(['leisha','雷杀']);
|
pileaddlist.push(['leisha','雷杀']);
|
||||||
|
pileaddlist.push(['icesha','冰杀']);
|
||||||
|
pileaddlist.push(['cisha','刺杀']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38372,7 +38410,7 @@
|
||||||
recreatePile();
|
recreatePile();
|
||||||
var cfgnode=ui.create.div('.config.toggle.cardpilecfg');
|
var cfgnode=ui.create.div('.config.toggle.cardpilecfg');
|
||||||
cfgnode._info=card;
|
cfgnode._info=card;
|
||||||
cfgnode.innerHTML=get.translation(card[2])+' '+get.translation(card[0])+card[1];
|
cfgnode.innerHTML=get.translation(card[2])+' '+get.translation(card[0])+get.strNumber(card[1]);
|
||||||
var cfgnodedelete=document.createElement('span');
|
var cfgnodedelete=document.createElement('span');
|
||||||
cfgnodedelete.classList.add('cardpiledelete');
|
cfgnodedelete.classList.add('cardpiledelete');
|
||||||
cfgnodedelete.innerHTML='删除';
|
cfgnodedelete.innerHTML='删除';
|
||||||
|
@ -38402,7 +38440,7 @@
|
||||||
for(var i=0;i<lib.cardPile[mode].length;i++){
|
for(var i=0;i<lib.cardPile[mode].length;i++){
|
||||||
var card=lib.cardPile[mode][i];
|
var card=lib.cardPile[mode][i];
|
||||||
var cfgnode=createConfig({
|
var cfgnode=createConfig({
|
||||||
name:get.translation(card[2])+' '+get.translation(card[0])+card[1],
|
name:((card[2]=='sha'&&card[3])?(get.translation(card[3])):'')+get.translation(card[2])+' '+get.translation(card[0])+get.strNumber(card[1]),
|
||||||
_number:i,
|
_number:i,
|
||||||
_name:mode,
|
_name:mode,
|
||||||
init:!lib.config.bannedpile[mode].contains(i),
|
init:!lib.config.bannedpile[mode].contains(i),
|
||||||
|
@ -46623,7 +46661,7 @@
|
||||||
ey>item.offsetTop&&ey<item.offsetTop+item.offsetHeight)){
|
ey>item.offsetTop&&ey<item.offsetTop+item.offsetHeight)){
|
||||||
var targetfixed=false;
|
var targetfixed=false;
|
||||||
if(itemtype=='player'){
|
if(itemtype=='player'){
|
||||||
if(get.select(_status.event.selectTarget)[1]==-1){
|
if(get.select(_status.event.selectTarget)[1]<=-1){
|
||||||
targetfixed=true;
|
targetfixed=true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -47017,7 +47055,7 @@
|
||||||
ey>item.offsetTop&&ey<item.offsetTop+item.offsetHeight)){
|
ey>item.offsetTop&&ey<item.offsetTop+item.offsetHeight)){
|
||||||
var targetfixed=false;
|
var targetfixed=false;
|
||||||
if(itemtype=='player'){
|
if(itemtype=='player'){
|
||||||
if(get.select(_status.event.selectTarget)[1]==-1){
|
if(get.select(_status.event.selectTarget)[1]<=-1){
|
||||||
targetfixed=true;
|
targetfixed=true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -49709,19 +49747,19 @@
|
||||||
if(info.autoViewAs){
|
if(info.autoViewAs){
|
||||||
if(cards===false){
|
if(cards===false){
|
||||||
return {
|
return {
|
||||||
name:info.autoViewAs
|
name:info.autoViewAs,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else if(Array.isArray(cards)){
|
else if(Array.isArray(cards)){
|
||||||
return {
|
return {
|
||||||
name:info.autoViewAs,
|
name:info.autoViewAs,
|
||||||
cards:cards.slice(0)
|
cards:cards.slice(0),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else if(get.itemtype(card)=='card'){
|
else if(get.itemtype(card)=='card'){
|
||||||
return {
|
return {
|
||||||
name:info.autoViewAs,
|
name:info.autoViewAs,
|
||||||
cards:[card]
|
cards:[card],
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -50894,7 +50932,7 @@
|
||||||
|
|
||||||
if(obj.length==2){
|
if(obj.length==2){
|
||||||
if(typeof obj[0]=='number'&&typeof obj[1]=='number'){
|
if(typeof obj[0]=='number'&&typeof obj[1]=='number'){
|
||||||
if(obj[0]<=obj[1]||obj[1]==-1) return 'select';
|
if(obj[0]<=obj[1]||obj[1]<=-1) return 'select';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51298,6 +51336,9 @@
|
||||||
else if(str.nature=='ice'){
|
else if(str.nature=='ice'){
|
||||||
str2='冰'+str2;
|
str2='冰'+str2;
|
||||||
}
|
}
|
||||||
|
else if(str.nature=='stab'){
|
||||||
|
str2='刺'+str2;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(get.itemtype(str)=='card'||str.isCard){
|
if(get.itemtype(str)=='card'||str.isCard){
|
||||||
if(_status.cardtag&&str.cardid){
|
if(_status.cardtag&&str.cardid){
|
||||||
|
@ -53714,7 +53755,7 @@
|
||||||
var iwhile=100;
|
var iwhile=100;
|
||||||
while(iwhile--){
|
while(iwhile--){
|
||||||
range=get.select(event.selectButton);
|
range=get.select(event.selectButton);
|
||||||
if(range[1]==-1){
|
if(range[1]<=-1){
|
||||||
j=0;
|
j=0;
|
||||||
for(i=0;i<ui.selected.buttons.length;i++){
|
for(i=0;i<ui.selected.buttons.length;i++){
|
||||||
j+=check(ui.selected.buttons[i]);
|
j+=check(ui.selected.buttons[i]);
|
||||||
|
@ -53765,7 +53806,7 @@
|
||||||
if(ui.selected.cards.length>=range[0]){
|
if(ui.selected.cards.length>=range[0]){
|
||||||
ok=true;
|
ok=true;
|
||||||
}
|
}
|
||||||
if(range[1]==-1){
|
if(range[1]<=-1){
|
||||||
if(ui.selected.cards.length==0) return true;
|
if(ui.selected.cards.length==0) return true;
|
||||||
j=0;
|
j=0;
|
||||||
for(i=0;i<ui.selected.cards.length;i++){
|
for(i=0;i<ui.selected.cards.length;i++){
|
||||||
|
@ -53832,7 +53873,7 @@
|
||||||
var iwhile=100;
|
var iwhile=100;
|
||||||
while(iwhile--){
|
while(iwhile--){
|
||||||
range=get.select(event.selectTarget);
|
range=get.select(event.selectTarget);
|
||||||
if(range[1]==-1){
|
if(range[1]<=-1){
|
||||||
j=0;
|
j=0;
|
||||||
for(i=0;i<ui.selected.targets.length;i++){
|
for(i=0;i<ui.selected.targets.length;i++){
|
||||||
effect=check(ui.selected.targets[i]);
|
effect=check(ui.selected.targets[i]);
|
||||||
|
|
|
@ -26,10 +26,11 @@ window.noname_package={
|
||||||
card:{
|
card:{
|
||||||
standard:'标准',
|
standard:'标准',
|
||||||
extra:'军争',
|
extra:'军争',
|
||||||
sp:'SP',
|
sp:'忠胆英杰',
|
||||||
guozhan:'国战',
|
guozhan:'国战',
|
||||||
zhulu:'逐鹿天下',
|
zhulu:'逐鹿天下',
|
||||||
yingbian:'应变篇',
|
yingbian:'应变篇',
|
||||||
|
yongjian:'用间篇',
|
||||||
zhenfa:'阵法',
|
zhenfa:'阵法',
|
||||||
yunchou:'运筹帷幄',
|
yunchou:'运筹帷幄',
|
||||||
swd:'轩辕剑',
|
swd:'轩辕剑',
|
||||||
|
|
|
@ -10,6 +10,7 @@ window.noname_source_list=[
|
||||||
'card/standard.js',
|
'card/standard.js',
|
||||||
'card/swd.js',
|
'card/swd.js',
|
||||||
'card/yingbian.js',
|
'card/yingbian.js',
|
||||||
|
'card/yongjian.js',
|
||||||
'card/yunchou.js',
|
'card/yunchou.js',
|
||||||
'card/zhenfa.js',
|
'card/zhenfa.js',
|
||||||
'card/zhulu.js',
|
'card/zhulu.js',
|
||||||
|
|
|
@ -1,25 +1,26 @@
|
||||||
window.noname_update={
|
window.noname_update={
|
||||||
version:'1.9.110.9.4',
|
version:'1.9.110.10',
|
||||||
update:'1.9.110.9.3.5',
|
update:'1.9.110.9.4',
|
||||||
changeLog:[
|
changeLog:[
|
||||||
'周夷、南华老仙、神孙策、傅佥、陈武董袭、宗预、袁涣、国战孙綝、海外服伏完',
|
'杨艳、杨芷',
|
||||||
'武将技能同步修改',
|
'用间篇卡牌包',
|
||||||
'bug修复',
|
'bug修复',
|
||||||
],
|
],
|
||||||
files:[
|
files:[
|
||||||
//'card/extra.js',
|
//'card/extra.js',
|
||||||
//'card/gujian.js',
|
//'card/gujian.js',
|
||||||
'card/guozhan.js',
|
//'card/guozhan.js',
|
||||||
//'card/gwent.js',
|
//'card/gwent.js',
|
||||||
//'card/huanlekapai.js',
|
//'card/huanlekapai.js',
|
||||||
//'card/mtg.js',
|
//'card/mtg.js',
|
||||||
//'card/sp.js',
|
'card/sp.js',
|
||||||
//'card/standard.js',
|
'card/standard.js',
|
||||||
//'card/swd.js',
|
//'card/swd.js',
|
||||||
//'card/yunchou.js',
|
//'card/yunchou.js',
|
||||||
//'card/yingbian.js',
|
//'card/yingbian.js',
|
||||||
|
'card/yongjian.js',
|
||||||
//'card/zhenfa.js',
|
//'card/zhenfa.js',
|
||||||
//'card/zhulu.js',
|
'card/zhulu.js',
|
||||||
'character/diy.js',
|
'character/diy.js',
|
||||||
'character/extra.js',
|
'character/extra.js',
|
||||||
//'character/hearth.js',
|
//'character/hearth.js',
|
||||||
|
@ -33,16 +34,16 @@ window.noname_update={
|
||||||
//'character/ow.js',
|
//'character/ow.js',
|
||||||
'character/rank.js',
|
'character/rank.js',
|
||||||
'character/refresh.js',
|
'character/refresh.js',
|
||||||
//'character/shenhua.js',
|
'character/shenhua.js',
|
||||||
'character/sp.js',
|
'character/sp.js',
|
||||||
'character/sp2.js',
|
'character/sp2.js',
|
||||||
'character/tw.js',
|
//'character/tw.js',
|
||||||
//'character/standard.js',
|
'character/standard.js',
|
||||||
//'character/swd.js',
|
//'character/swd.js',
|
||||||
//'character/xianjian.js',
|
//'character/xianjian.js',
|
||||||
//'character/xinghuoliaoyuan.js',
|
//'character/xinghuoliaoyuan.js',
|
||||||
//'character/yingbian.js',
|
'character/yingbian.js',
|
||||||
//'character/yijiang.js',
|
'character/yijiang.js',
|
||||||
//'character/yxs.js',
|
//'character/yxs.js',
|
||||||
//'extension/boss/extension.js',
|
//'extension/boss/extension.js',
|
||||||
//'layout/default/layout.css',
|
//'layout/default/layout.css',
|
||||||
|
@ -51,10 +52,10 @@ window.noname_update={
|
||||||
//'layout/nova/layout.css',
|
//'layout/nova/layout.css',
|
||||||
//'layout/mobile/equip.css',
|
//'layout/mobile/equip.css',
|
||||||
//'mode/boss.js',
|
//'mode/boss.js',
|
||||||
//'mode/brawl.js',
|
'mode/brawl.js',
|
||||||
//'mode/chess.js',
|
//'mode/chess.js',
|
||||||
//'mode/connect.js',
|
//'mode/connect.js',
|
||||||
'mode/doudizhu.js',
|
//'mode/doudizhu.js',
|
||||||
'mode/guozhan.js',
|
'mode/guozhan.js',
|
||||||
//'mode/identity.js',
|
//'mode/identity.js',
|
||||||
//'mode/single.js',
|
//'mode/single.js',
|
||||||
|
@ -64,8 +65,8 @@ window.noname_update={
|
||||||
'game/game.js',
|
'game/game.js',
|
||||||
//'game/keyWords.js',
|
//'game/keyWords.js',
|
||||||
//'game/NoSleep.js',
|
//'game/NoSleep.js',
|
||||||
//'game/config.js',
|
'game/config.js',
|
||||||
//'game/package.js',
|
'game/package.js',
|
||||||
//'game/asset.js',
|
//'game/asset.js',
|
||||||
//'game/source.js',
|
//'game/source.js',
|
||||||
//'theme/style/hp/xinglass.css',
|
//'theme/style/hp/xinglass.css',
|
||||||
|
|
After Width: | Height: | Size: 81 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 9.9 KiB |
After Width: | Height: | Size: 79 KiB |
After Width: | Height: | Size: 9.7 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 175 KiB |
After Width: | Height: | Size: 134 KiB |
|
@ -4340,6 +4340,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
pileaddlist.push(['leisha','雷杀']);
|
pileaddlist.push(['leisha','雷杀']);
|
||||||
pileaddlist.push(['icesha','冰杀']);
|
pileaddlist.push(['icesha','冰杀']);
|
||||||
pileaddlist.push(['kamisha','神杀']);
|
pileaddlist.push(['kamisha','神杀']);
|
||||||
|
pileaddlist.push(['cisha','刺杀']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1458,7 +1458,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
else event.addIndex++;
|
else event.addIndex++;
|
||||||
if(target.hp>player.hp) list.push('令其失去'+get.cnNumber(target.hp-player.hp)+'点体力');
|
if(target.hp>player.hp) list.push('令其失去'+get.cnNumber(target.hp-player.hp)+'点体力');
|
||||||
if(!list.length) event.finish();
|
if(!list.length) event.finish();
|
||||||
else if(list.length==1) event.result={index:0};
|
else if(list.length==1) event._result={index:0};
|
||||||
else player.chooseControl().set('choiceList',list).set('prompt','令'+get.translation(target)+'执行一项').set('ai',function(){
|
else player.chooseControl().set('choiceList',list).set('prompt','令'+get.translation(target)+'执行一项').set('ai',function(){
|
||||||
var player=_status.event.player,target=_status.event.getParent().target;
|
var player=_status.event.player,target=_status.event.getParent().target;
|
||||||
return (target.hp-player.hp)>(Math.min(target.maxHp,target.countCards('h'))/2)?1:0;
|
return (target.hp-player.hp)>(Math.min(target.maxHp,target.countCards('h'))/2)?1:0;
|
||||||
|
|