v1.9.110
This commit is contained in:
parent
123b37a482
commit
2fc20a7997
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
198
card/extra.js
198
card/extra.js
|
@ -10,24 +10,31 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
subtype:'equip5',
|
||||
nomod:true,
|
||||
onEquip:function(){
|
||||
player.markSkill('muniu_skill6');
|
||||
if(card&&card.cards&&card.cards.length){
|
||||
player.directgains(card.cards,null,'muniu');
|
||||
}
|
||||
player.markSkill('muniu_skill');
|
||||
},
|
||||
forceDie:true,
|
||||
onLose:function(){
|
||||
player.unmarkSkill('muniu_skill6');
|
||||
player.unmarkSkill('muniu_skill');
|
||||
delete player.getStat('skill').muniu_skill;
|
||||
if((event.getParent(2)&&event.getParent(2).name!='swapEquip')&&event.parent.type!='equip'&&card&&card.cards&&card.cards.length){
|
||||
if(!card||!card.cards||!card.cards.length) return;
|
||||
if((event.getParent(2)&&event.getParent(2).name!='swapEquip')&&event.parent.type!='equip'){
|
||||
player.lose(card.cards,ui.discardPile);
|
||||
player.$throw(card.cards,1000);
|
||||
player.popup('muniu');
|
||||
game.log(card,'掉落了',card.cards);
|
||||
game.cardsDiscard(card.cards);
|
||||
card.cards.length=0;
|
||||
}
|
||||
else{
|
||||
player.lose(card.cards,ui.special);
|
||||
}
|
||||
},
|
||||
clearLose:true,
|
||||
equipDelay:false,
|
||||
loseDelay:false,
|
||||
skills:['muniu_skill','muniu_skill4','muniu_skill6','muniu_skill7'],
|
||||
skills:['muniu_skill','muniu_skill7'],
|
||||
ai:{
|
||||
equipValue:function(card){
|
||||
if(card.card) return 7+card.card.length;
|
||||
|
@ -507,8 +514,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
return 10-get.useful(card);
|
||||
},
|
||||
discard:false,
|
||||
lose:true,
|
||||
toStorage:true,
|
||||
lose:false,
|
||||
delay:false,
|
||||
sync:function(muniu){
|
||||
if(game.online){
|
||||
return;
|
||||
|
@ -517,7 +524,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
muniu.cards=[];
|
||||
}
|
||||
for(var i=0;i<muniu.cards.length;i++){
|
||||
if(!muniu.cards[i].parentNode||muniu.cards[i].parentNode.id!='special'){
|
||||
if(get.position(muniu.cards[i])!='s'){
|
||||
muniu.cards.splice(i--,1);
|
||||
}
|
||||
}
|
||||
|
@ -533,11 +540,10 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.loseToSpecial(cards,'muniu');
|
||||
"step 1"
|
||||
for(var i=0;i<cards.length;i++){
|
||||
if(!cards[i].destroyed){
|
||||
ui.special.appendChild(cards[i]);
|
||||
}
|
||||
else{
|
||||
if(cards[i].destroyed||!cards[i].hasGaintag('muniu')||get.position(cards[i])!='s'){
|
||||
cards[i].remove();
|
||||
cards.splice(i--,1);
|
||||
}
|
||||
|
@ -555,6 +561,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
game.broadcast(function(muniu,cards){
|
||||
muniu.cards=cards;
|
||||
},muniu,muniu.cards);
|
||||
game.delayx();
|
||||
"step 2"
|
||||
var players=game.filterPlayer(function(current){
|
||||
if(!current.getEquip(5)&¤t!=player&&!current.isTurnedOver()&&
|
||||
get.attitude(player,current)>=3&&get.attitude(current,player)>=3){
|
||||
|
@ -570,7 +578,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
return target==_status.event.choice?1:-1;
|
||||
});
|
||||
next.set('choice',choice);
|
||||
"step 1"
|
||||
"step 3"
|
||||
if(result.bool){
|
||||
var card=player.getEquip(5);
|
||||
result.targets[0].equip(card);
|
||||
|
@ -583,146 +591,23 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
ai:{
|
||||
respondSha:true,
|
||||
respondShan:true,
|
||||
skillTagFilter:function(player,tag){
|
||||
var muniu=player.getEquip(5);
|
||||
if(!muniu||!muniu.cards) return false;
|
||||
for(var i=0;i<muniu.cards.length;i++){
|
||||
switch(tag){
|
||||
case 'respondSha':if(muniu.cards[i].name=='sha') return true;break;
|
||||
case 'respondShan':if(muniu.cards[i].name=='shan') return true;break;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
},
|
||||
order:1,
|
||||
expose:0.1,
|
||||
result:{
|
||||
player:1
|
||||
}
|
||||
}
|
||||
},
|
||||
muniu_skill2:{
|
||||
group:['muniu_skill3','muniu_skill4']
|
||||
},
|
||||
muniu_skill3:{
|
||||
trigger:{player:'chooseToRespondBegin'},
|
||||
cardSkill:true,
|
||||
filter:function(event,player){
|
||||
if(event.responded) return false;
|
||||
var muniu=player.getEquip(5);
|
||||
if(!muniu.cards) return false;
|
||||
lib.skill.muniu_skill.sync(muniu);
|
||||
for(var i=0;i<muniu.cards.length;i++){
|
||||
if(event.filterCard(muniu.cards[i],player,event)&&lib.filter.cardRespondable(muniu.cards[i],player,event)) return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.chooseButton(['木牛流马',player.getEquip(5).cards]).set('filterButton',function(button){
|
||||
var evt=_status.event.getTrigger();
|
||||
if(evt&&evt.filterCard){
|
||||
return evt.filterCard(button.link,_status.event.player,evt)&&lib.filter.cardRespondable(button.link,_status.event.player,evt);
|
||||
}
|
||||
return true;
|
||||
}).set('ai',function(button){
|
||||
var evt=_status.event.getTrigger();
|
||||
if(evt&&evt.ai){
|
||||
var tmp=_status.event;
|
||||
_status.event=evt;
|
||||
var result=evt.ai(button.link,_status.event.player,evt);
|
||||
_status.event=tmp;
|
||||
return result;
|
||||
}
|
||||
return 1;
|
||||
});
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
trigger.untrigger();
|
||||
trigger.responded=true;
|
||||
trigger.result={bool:true,card:result.links[0],cards:result.links.slice(0)};
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
order:4,
|
||||
useful:-1,
|
||||
value:-1
|
||||
}
|
||||
},
|
||||
muniu_skill4:{
|
||||
enable:['chooseToUse','chooseToRespond'],
|
||||
filter:function(event,player){
|
||||
var muniu=player.getEquip(5);
|
||||
if(!muniu.cards) return false;
|
||||
lib.skill.muniu_skill.sync(muniu);
|
||||
for(var i=0;i<muniu.cards.length;i++){
|
||||
if(event.filterCard(muniu.cards[i],player,event)) return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
chooseButton:{
|
||||
dialog:function(event,player){
|
||||
return ui.create.dialog('木牛流马',player.getEquip(5).cards,'hidden');
|
||||
},
|
||||
filter:function(button,player){
|
||||
var evt=_status.event.getParent();
|
||||
if(evt&&evt.filterCard){
|
||||
return evt.filterCard(button.link,player,evt);
|
||||
}
|
||||
return true;
|
||||
},
|
||||
check:function(button){
|
||||
if(_status.event.getParent().type!='phase') return 1;
|
||||
if(button.link.name=='du') return 10;
|
||||
var player=_status.event.player;
|
||||
if(player.getUseValue(button.link)>0) return get.order(button.link);
|
||||
return -1;
|
||||
},
|
||||
backup:function(links,player){
|
||||
return {
|
||||
filterCard:function(){return false},
|
||||
selectCard:-1,
|
||||
position:'h',
|
||||
viewAs:links[0],
|
||||
precontent:function(){
|
||||
delete event.result.skill;
|
||||
},
|
||||
};
|
||||
},
|
||||
prompt:function(links){
|
||||
return '选择'+get.translation(links)+'的目标';
|
||||
},
|
||||
},
|
||||
ai:{
|
||||
order:function(item,player){
|
||||
var event=_status.event;
|
||||
if(event.type!='phase') return 4;
|
||||
if(!player) return -1;
|
||||
mod:{
|
||||
cardEnabled2:function(card,player){
|
||||
if(!ui.selected.cards.length) return;
|
||||
var muniu=player.getEquip('muniu');
|
||||
if(!muniu||!muniu.cards) return -1;
|
||||
var order=0;
|
||||
for(var i=0;i<muniu.cards.length;i++){
|
||||
if(player.getUseValue(muniu.cards[i])>0){
|
||||
var order2=get.order(muniu.cards[i]);
|
||||
if(order2>order) order=order2
|
||||
}
|
||||
}
|
||||
return order+0.1;
|
||||
},
|
||||
result:{
|
||||
player:function(player){
|
||||
if(_status.event.dying) return get.attitude(player,_status.event.dying);
|
||||
return 1;
|
||||
if(!muniu||!muniu.cards||!muniu.cards.length) return;
|
||||
for(var i of ui.selected.cards){
|
||||
if(i==muniu&&muniu.cards.contains(card)) return false;
|
||||
if(muniu.cards.contains(i)&&card==muniu) return false;
|
||||
}
|
||||
},
|
||||
useful:-1,
|
||||
value:-1
|
||||
}
|
||||
},
|
||||
muniu_skill6:{
|
||||
},
|
||||
mark:true,
|
||||
intro:{
|
||||
content:function(storage,player){
|
||||
|
@ -753,29 +638,21 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
muniu_skill7:{
|
||||
hiddenCard:function(player,name){
|
||||
var muniu=player.getEquip(5);
|
||||
if(!muniu.cards) return false;
|
||||
lib.skill.muniu_skill.sync(muniu);
|
||||
for(var i=0;i<muniu.cards.length;i++){
|
||||
if(muniu.cards[i].name==name) return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
trigger:{global:'cardsGotoOrderingEnd'},
|
||||
silent:true,
|
||||
trigger:{player:'loseEnd'},
|
||||
firstDo:true,
|
||||
silent:true,
|
||||
filter:function(event,player){
|
||||
if(!event.ss||!event.ss.length||event.parent.name=='lose_muniu') return false;
|
||||
var muniu=player.getEquip('muniu');
|
||||
if(!muniu||!muniu.cards) return false;
|
||||
return event.cards&&event.cards.filter(function(card){
|
||||
return event.ss.filter(function(card){
|
||||
return muniu.cards.contains(card);
|
||||
}).length>0;
|
||||
},
|
||||
content:function(){
|
||||
var muniu=player.getEquip(5);
|
||||
if(muniu&&muniu.cards){
|
||||
muniu.cards.remove(trigger.cards);
|
||||
muniu.cards.removeArray(trigger.ss);
|
||||
lib.skill.muniu_skill.sync(muniu);
|
||||
}
|
||||
player.updateMarks();
|
||||
|
@ -1073,12 +950,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
muniu:'木牛流马',
|
||||
muniu_bg:'牛',
|
||||
muniu_skill:'木牛',
|
||||
muniu_skill2:'流马',
|
||||
muniu_skill3:'流马',
|
||||
muniu_skill4:'流马',
|
||||
muniu_skill6:'木牛流马',
|
||||
muniu_skill6_bg:'辎',
|
||||
muniu_skill4_backup:'流马',
|
||||
muniu_skill_bg:'辎',
|
||||
muniu_info:'出牌阶段限一次,你可以将一张手牌扣置于你装备区里的【木牛流马】下,若如此做,你可以将此装备移动到一名其他角色的装备区里;你可以将此装备牌下的牌如手牌般使用或打出。',
|
||||
muniu_skill_info:'出牌阶段限一次,你可以将一张手牌扣置于你装备区里的【木牛流马】下,若如此做,你可以将此装备移动到一名其他角色的装备区里;你可以将此装备牌下的牌如手牌般使用或打出。',
|
||||
},
|
||||
|
|
|
@ -105,7 +105,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
taipingyaoshu:{
|
||||
audio:true,
|
||||
mode:['guozhan'],
|
||||
fullskin:true,
|
||||
type:'equip',
|
||||
subtype:'equip2',
|
||||
|
@ -1070,12 +1069,15 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
equipSkill:true,
|
||||
mod:{
|
||||
maxHandcard:function(player,num){
|
||||
if(player.hasSkill('huangjintianbingfu')){
|
||||
num+=player.storage.huangjintianbingfu.length;
|
||||
if(get.mode()=='guozhan'){
|
||||
if(player.hasSkill('huangjintianbingfu')){
|
||||
num+=player.storage.huangjintianbingfu.length;
|
||||
}
|
||||
return num+game.countPlayer(function(current){
|
||||
return current.isFriendOf(player);
|
||||
});
|
||||
}
|
||||
return num+game.countPlayer(function(current){
|
||||
return current.isFriendOf(player);
|
||||
});
|
||||
return num+game.countGroup();
|
||||
}
|
||||
},
|
||||
trigger:{player:'damageBegin4'},
|
||||
|
@ -1399,7 +1401,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
feilongduofeng3:'飞龙夺凤',
|
||||
feilongduofeng_info:'当你使用【杀】指定一名角色为目标后,你可令该角色弃置一张牌。当你使用【杀】令其他角色进入濒死状态时,你可以获得其一张手牌。',
|
||||
taipingyaoshu:'太平要术',
|
||||
taipingyaoshu_info:'锁定技,防止你受到的所有属性伤害;全场每有一名与你势力相同的角色存活,你的手牌上限便+1;当你失去装备区里的【太平要术】时,你摸两张牌,然后若你的体力值大于1,你失去1点体力。',
|
||||
taipingyaoshu_info:'锁定技,防止你受到的所有属性伤害;你的手牌上限+X(X为势力数);当你失去装备区里的【太平要术】时,你摸两张牌,然后若你的体力值大于1,你失去1点体力。',
|
||||
taipingyaoshu_info_guozhan:'锁定技,防止你受到的所有属性伤害;全场每有一名与你势力相同的角色存活,你的手牌上限便+1;当你失去装备区里的【太平要术】时,你摸两张牌,然后若你的体力值大于1,你失去1点体力。',
|
||||
yuxi_skill:'玉玺',
|
||||
yuxi_skill2:'玉玺',
|
||||
yuxi:'玉玺',
|
||||
|
|
|
@ -449,8 +449,9 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
filterCard:true,
|
||||
viewAs:{name:'shan'},
|
||||
viewAsFilter:function(player){
|
||||
if(!player.countCards('h')) return false;
|
||||
if(!player.countCards('hs')) return false;
|
||||
},
|
||||
position:'hs',
|
||||
prompt:'将一张手牌当闪使用或打出',
|
||||
check:function(card){
|
||||
return 6-get.value(card);
|
||||
|
@ -458,11 +459,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
ai:{
|
||||
respondShan:true,
|
||||
skillTagFilter:function(player){
|
||||
if(!player.countCards('h')) return false;
|
||||
if(!player.countCards('hs')) return false;
|
||||
},
|
||||
effect:{
|
||||
target:function(card,player,target,current){
|
||||
if(get.tag(card,'respondShan')&¤t<0&&target.countCards('h')) return 0.59
|
||||
if(get.tag(card,'respondShan')&¤t<0&&target.countCards('hs')) return 0.59
|
||||
}
|
||||
},
|
||||
order:4,
|
||||
|
|
|
@ -1838,11 +1838,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
enable:['chooseToUse','chooseToRespond'],
|
||||
filterCard:true,
|
||||
selectCard:2,
|
||||
position:'h',
|
||||
position:'hs',
|
||||
viewAs:{name:'sha'},
|
||||
complexCard:true,
|
||||
filter:function(event,player){
|
||||
return player.countCards('h')>=2;
|
||||
return player.countCards('hs')>=2;
|
||||
},
|
||||
audio:true,
|
||||
prompt:'将两张手牌当杀使用或打出',
|
||||
|
@ -1853,7 +1853,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
ai:{
|
||||
respondSha:true,
|
||||
skillTagFilter:function(player){
|
||||
return player.countCards('h')>=2;
|
||||
return player.countCards('hs')>=2;
|
||||
},
|
||||
}
|
||||
},
|
||||
|
|
|
@ -3077,7 +3077,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
isCard:true,
|
||||
},
|
||||
viewAsFilter:function(player){
|
||||
return !player.hasJudge('lebu')&&player.countCards('he',function(card){
|
||||
return !player.hasJudge('lebu')&&player.countCards('hes',function(card){
|
||||
return get.color(card)=='red'&&get.type(card,'trick')!='trick';
|
||||
});
|
||||
},
|
||||
|
@ -3088,7 +3088,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return 7+(_status.event.dying||_status.event.player).getDamagedHp()-get.value(card);
|
||||
},
|
||||
ignoreMod:true,
|
||||
position:'he',
|
||||
position:'hes',
|
||||
precontent:function(){
|
||||
player.logSkill('misuzu_nongyin');
|
||||
player.$throw(event.result.cards);
|
||||
|
@ -3550,10 +3550,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
})>1?1:-1;
|
||||
},
|
||||
filter:function(event,player){
|
||||
return player.countCards('h','tao')&&game.hasPlayer(function(current){
|
||||
return player.countCards('hs','tao')&&game.hasPlayer(function(current){
|
||||
return lib.skill.nao_shouqing2.filterTarget(null,player,current)
|
||||
});
|
||||
},
|
||||
position:'hs',
|
||||
onuse:function(links,player){
|
||||
player.addSkill('nao_shouqing3');
|
||||
player.addMark('nao_shouqing3',1,false);
|
||||
|
@ -4122,9 +4123,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
viewAs:{name:'mapodoufu'},
|
||||
filterCard:{suit:'heart'},
|
||||
viewAsFilter:function(player){
|
||||
return player.countCards('he',{suit:'heart'})>0;
|
||||
return player.countCards('hes',{suit:'heart'})>0;
|
||||
},
|
||||
position:'he',
|
||||
position:'hes',
|
||||
mod:{
|
||||
selectTarget:function(card,player,range){
|
||||
if(card.name=='mapodoufu'&&range[1]!=-1) range[1]++;
|
||||
|
@ -4806,7 +4807,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
hinata_qiulve:{
|
||||
enable:['chooseToUse','chooseToRespond'],
|
||||
viewAsFilter:function(player){
|
||||
return player.countCards('he',function(card){
|
||||
return player.countCards('hes',function(card){
|
||||
return get.type(card)!='basic';
|
||||
})>0;
|
||||
},
|
||||
|
@ -4815,7 +4816,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return get.type(card)!='basic';
|
||||
},
|
||||
locked:false,
|
||||
position:'he',
|
||||
position:'hes',
|
||||
check:function(card){
|
||||
var val=get.value(card);
|
||||
if(val>=6) return 0;
|
||||
|
@ -4831,7 +4832,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
ai:{
|
||||
respondSha:true,
|
||||
skillTagFilter:function(player){
|
||||
return player.countCards('he',function(card){
|
||||
return player.countCards('hes',function(card){
|
||||
return get.type(card)!='basic';
|
||||
})>0;
|
||||
},
|
||||
|
@ -5640,10 +5641,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
inari_baiwei:{
|
||||
enable:['chooseToUse','chooseToRespond'],
|
||||
hiddenCard:function(player,name){
|
||||
return name!='du'&&get.type(name)=='basic'&&player.countCards('he',{suit:'diamond'})>0;
|
||||
return name!='du'&&get.type(name)=='basic'&&player.countCards('hes',{suit:'diamond'})>0;
|
||||
},
|
||||
filter:function(event,player){
|
||||
if(event.type=='wuxie'||!player.countCards('he',{suit:'diamond'})) return false;
|
||||
if(event.type=='wuxie'||!player.countCards('hse',{suit:'diamond'})) return false;
|
||||
for(var i=0;i<lib.inpile.length;i++){
|
||||
var name=lib.inpile[i];
|
||||
if(name!='du'&&name!='shan'&&get.type(name)=='basic'&&event.filterCard({name:name},player,event)) return true;
|
||||
|
@ -5691,7 +5692,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(get.type(card)=='basic') return 6;
|
||||
return 1/Math.max(0.1,get.value(card));
|
||||
},
|
||||
position:'he',
|
||||
position:'hse',
|
||||
viewAs:{name:links[0][2],nature:links[0][3]},
|
||||
}
|
||||
},
|
||||
|
@ -5736,13 +5737,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
check:function(card){
|
||||
return 1/Math.max(0.1,get.value(card));
|
||||
},
|
||||
position:'he',
|
||||
position:'hse',
|
||||
ai:{
|
||||
order:10,
|
||||
result:{player:1},
|
||||
respondShan:true,
|
||||
skillTagFilter:function(player){
|
||||
return player.countCards('he',{suit:'diamond'})>0;
|
||||
return player.countCards('hse',{suit:'diamond'})>0;
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -6309,10 +6310,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
enable:['chooseToUse','chooseToRespond'],
|
||||
viewAs:{name:'shan'},
|
||||
filterCard:true,
|
||||
position:'he',
|
||||
position:'hes',
|
||||
prompt:'将一张牌当做闪使用或打出',
|
||||
viewAsFilter:function(player){
|
||||
return player.isDisabled(2)&&player.countCards('he')>0;
|
||||
return player.isDisabled(2)&&player.countCards('hes')>0;
|
||||
},
|
||||
check:function(card){
|
||||
return 1/Math.max(0.1,get.value(card));
|
||||
|
@ -7383,7 +7384,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
noname_retieji:{
|
||||
inherit:"retieji",
|
||||
mark:true,
|
||||
marktext:"<img style=width:21px src="+lib.assetURL+"/image/character/noname_machao.png>",
|
||||
marktext:"<img style=width:21px src="+lib.assetURL+"image/character/noname_machao.png>",
|
||||
intro:{
|
||||
name:"小无·铁骑",
|
||||
content:"你使用【杀】指定一名角色为目标后,可以进行一次判定并令该角色的非锁定技失效直到回合结束,除非该角色弃置一张与判定结果花色相同的牌,否则不能使用【闪】抵消此【杀】。",
|
||||
|
@ -7392,7 +7393,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
noname_jiang:{
|
||||
inherit:"jiang",
|
||||
mark:true,
|
||||
marktext:"<img style=width:21px src="+lib.assetURL+"/image/character/noname_sunce.png>",
|
||||
marktext:"<img style=width:21px src="+lib.assetURL+"image/character/noname_sunce.png>",
|
||||
intro:{
|
||||
name:"小无·激昂",
|
||||
content:"每当你使用(指定目标后)或被使用(成为目标后)一张【决斗】或红色的【杀】时,你可以摸一张牌。",
|
||||
|
@ -7885,7 +7886,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audio:'taoluan',
|
||||
enable:'chooseToUse',
|
||||
filter:function(event,player){
|
||||
return event.type!='wuxie'&&event.type!='respondShan'&&!player.hasSkill('junktaoluan3')&&player.countCards('he',function(card){
|
||||
return event.type!='wuxie'&&event.type!='respondShan'&&!player.hasSkill('junktaoluan3')&&player.countCards('hes',function(card){
|
||||
return !player.storage.junktaoluan2.contains(get.suit(card));
|
||||
})>0;
|
||||
},
|
||||
|
@ -7918,7 +7919,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
check:function(button){
|
||||
var player=_status.event.player;
|
||||
if(player.countCards('h',button.link[2])>0) return 0;
|
||||
if(player.countCards('sh',button.link[2])>0) return 0;
|
||||
if(button.link[2]=='wugu') return;
|
||||
var effect=player.getUseValue(button.link[2]);
|
||||
if(effect>0) return effect;
|
||||
|
@ -7935,7 +7936,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
check:function(card){
|
||||
return 6-get.value(card);
|
||||
},
|
||||
position:'he',
|
||||
position:'hse',
|
||||
viewAs:{name:links[0][2],nature:links[0][3]},
|
||||
onuse:function(result,player){
|
||||
player.storage.junktaoluan2.add(get.suit(result.cards[0],player));
|
||||
|
@ -8032,7 +8033,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
prompt:'将一张牌当做闪使用',
|
||||
enable:'chooseToUse',
|
||||
filter:function(event,player){
|
||||
return player.countCards('he',function(card){
|
||||
return player.countCards('hes',function(card){
|
||||
return !player.storage.junktaoluan2.contains(get.suit(card));
|
||||
})&&!player.storage.junktaoluan.contains('shan')&&!player.hasSkill('junktaoluan3');
|
||||
},
|
||||
|
@ -8055,7 +8056,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filterCard:function(card,player){
|
||||
return !player.storage.junktaoluan2.contains(get.suit(card));
|
||||
},
|
||||
position:'he',
|
||||
position:'hes',
|
||||
selectCard:1,
|
||||
viewAs:{name:'shan'},
|
||||
check:function(card){
|
||||
|
@ -8073,7 +8074,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
ai:{
|
||||
skillTagFilter:function(player){
|
||||
return player.countCards('he')&&!player.storage.junktaoluan.contains('shan')&&!player.hasSkill('junktaoluan3');
|
||||
return player.countCards('hse')&&!player.storage.junktaoluan.contains('shan')&&!player.hasSkill('junktaoluan3');
|
||||
},
|
||||
threaten:1.5,
|
||||
respondShan:true,
|
||||
|
@ -8084,12 +8085,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
enable:'chooseToUse',
|
||||
prompt:'将一张牌当做无懈可击使用',
|
||||
filter:function(event,player){
|
||||
return player.countCards('he',function(card){
|
||||
return player.countCards('hes',function(card){
|
||||
return !player.storage.junktaoluan2.contains(get.suit(card));
|
||||
})&&(!player.storage.junktaoluan.contains('wuxie'))&&!player.hasSkill('junktaoluan3');
|
||||
},
|
||||
viewAsFilter:function(player){
|
||||
return player.countCards('he',function(card){
|
||||
return player.countCards('hes',function(card){
|
||||
return !player.storage.junktaoluan2.contains(get.suit(card));
|
||||
})&&(!player.storage.junktaoluan.contains('wuxie'))&&!player.hasSkill('junktaoluan3');
|
||||
},
|
||||
|
@ -8112,7 +8113,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filterCard:function(card,player){
|
||||
return !player.storage.junktaoluan2.contains(get.suit(card));
|
||||
},
|
||||
position:'he',
|
||||
position:'hse',
|
||||
selectCard:1,
|
||||
viewAs:{name:'wuxie'},
|
||||
check:function(card){
|
||||
|
@ -10715,13 +10716,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return player.hp<=0;
|
||||
},
|
||||
filterCard:{suit:'club'},
|
||||
position:'he',
|
||||
position:'hse',
|
||||
viewAs:{name:'tao'},
|
||||
prompt:'将一张梅花牌当桃使用',
|
||||
check:function(card){return 15-get.value(card)},
|
||||
ai:{
|
||||
skillTagFilter:function(player){
|
||||
return player.countCards('he',{suit:'club'})>0;
|
||||
return player.countCards('hes',{suit:'club'})>0;
|
||||
},
|
||||
threaten:1.5,
|
||||
save:true,
|
||||
|
@ -10870,8 +10871,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filter:function(event,player){
|
||||
return player.hasCard(function(card){
|
||||
return get.color(card)!=player.storage.nsduijue_use;
|
||||
});
|
||||
},'hs');
|
||||
},
|
||||
position:'hs',
|
||||
filterCard:function(card,player){
|
||||
return get.color(card)!=player.storage.nsduijue_use;
|
||||
},
|
||||
|
@ -10900,15 +10902,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filterCard:true,
|
||||
viewAs:{name:'sha'},
|
||||
viewAsFilter:function(player){
|
||||
if(!player.countCards('h')) return false;
|
||||
if(!player.countCards('hs')) return false;
|
||||
},
|
||||
position:'hs',
|
||||
prompt:'将一张手牌当杀打出',
|
||||
check:function(card){return 7-get.value(card)},
|
||||
ai:{
|
||||
respondSha:true,
|
||||
skillTagFilter:function(player,tag,arg){
|
||||
if(arg!='respond') return false;
|
||||
if(!player.countCards('h')) return false;
|
||||
if(!player.countCards('hs')) return false;
|
||||
},
|
||||
}
|
||||
},
|
||||
|
@ -11736,8 +11739,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
viewAs:{name:'wugu'},
|
||||
usable:1,
|
||||
filterCard:{type:'basic'},
|
||||
position:'hs',
|
||||
filter:function(event,player){
|
||||
return player.countCards('h',{type:'basic'})>0;
|
||||
return player.countCards('hs',{type:'basic'})>0;
|
||||
},
|
||||
check:function(card){
|
||||
return 6-get.value(card);
|
||||
|
@ -12516,11 +12520,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filterCard:function(card){
|
||||
return get.type(card)!='basic';
|
||||
},
|
||||
position:'he',
|
||||
position:'hse',
|
||||
filter:function(event,player){
|
||||
return player.hasCard(function(card){
|
||||
return get.type(card)!='basic';
|
||||
},'he');
|
||||
},'hes');
|
||||
},
|
||||
viewAs:{name:'shuiyanqijun'},
|
||||
prompt:'将一张非基本牌当水淹七军使用',
|
||||
|
|
|
@ -2679,7 +2679,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
prompt:function(){
|
||||
return '将'+get.cnNumber(Math.max(1,_status.event.player.hp))+'张红桃牌当作桃使用';
|
||||
},
|
||||
position:'he',
|
||||
position:'hes',
|
||||
check:function(card,event){
|
||||
if(_status.event.player.hp>1) return 0;
|
||||
return 10-get.value(card);
|
||||
|
@ -2689,7 +2689,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
viewAs:{name:'tao'},
|
||||
viewAsFilter:function(player){
|
||||
return player.countCards('he',{suit:'heart'})>=player.hp;
|
||||
return player.countCards('hes',{suit:'heart'})>=player.hp;
|
||||
},
|
||||
filterCard:function(card){
|
||||
return get.suit(card)=='heart';
|
||||
|
@ -2701,7 +2701,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
prompt:function(){
|
||||
return '将'+get.cnNumber(Math.max(1,_status.event.player.hp))+'张方片当作火杀使用或打出';
|
||||
},
|
||||
position:'he',
|
||||
position:'hes',
|
||||
check:function(card,event){
|
||||
if(_status.event.player.hp>1) return 0;
|
||||
return 10-get.value(card);
|
||||
|
@ -2711,7 +2711,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
viewAs:{name:'sha',nature:'fire'},
|
||||
viewAsFilter:function(player){
|
||||
return player.countCards('he',{suit:'diamond'})>=player.hp;
|
||||
return player.countCards('hes',{suit:'diamond'})>=player.hp;
|
||||
},
|
||||
filterCard:function(card){
|
||||
return get.suit(card)=='diamond';
|
||||
|
@ -2723,7 +2723,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
prompt:function(){
|
||||
return '将'+get.cnNumber(Math.max(1,_status.event.player.hp))+'张黑桃牌当作无懈可击使用';
|
||||
},
|
||||
position:'he',
|
||||
position:'hes',
|
||||
check:function(card,event){
|
||||
if(_status.event.player.hp>1) return 0;
|
||||
return 7-get.value(card);
|
||||
|
@ -2733,7 +2733,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
viewAs:{name:'wuxie'},
|
||||
viewAsFilter:function(player){
|
||||
return player.countCards('he',{suit:'spade'})>=player.hp;
|
||||
return player.countCards('hes',{suit:'spade'})>=player.hp;
|
||||
},
|
||||
filterCard:function(card){
|
||||
return get.suit(card)=='spade';
|
||||
|
@ -2745,7 +2745,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
prompt:function(){
|
||||
return '将'+get.cnNumber(Math.max(1,_status.event.player.hp))+'张梅花牌当作闪使用或打出';
|
||||
},
|
||||
position:'he',
|
||||
position:'hes',
|
||||
check:function(card,event){
|
||||
if(_status.event.player.hp>1) return 0;
|
||||
return 10-get.value(card);
|
||||
|
@ -2753,6 +2753,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
selectCard:function(){
|
||||
return Math.max(1,_status.event.player.hp);
|
||||
},
|
||||
viewAsFilter:function(player){
|
||||
return player.countCards('hes',{suit:'club'})>=player.hp;
|
||||
},
|
||||
viewAs:{name:'shan'},
|
||||
filterCard:function(card){
|
||||
return get.suit(card)=='club';
|
||||
|
@ -2807,7 +2810,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var map={sha:'diamond',tao:'heart'}
|
||||
for(var i=0;i<list.length;i++){
|
||||
var name=list[i];
|
||||
if(player.countCards('he',function(card){
|
||||
if(player.countCards('hes',function(card){
|
||||
return (name!='sha'||get.value(card)<5)&&get.suit(card,player)==map[name];
|
||||
})>0&&player.getUseValue({name:name,nature:name=='sha'?'fire':null})>0){
|
||||
var temp=get.order({name:name,nature:name=='sha'?'fire':null});
|
||||
|
@ -2826,8 +2829,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
selectCard:[1,2],
|
||||
//确保选择第一张牌后 重新检测第二张牌的合法性 避免选择两张花色不同的牌
|
||||
complexCard:true,
|
||||
//选牌范围:手牌区和装备区
|
||||
position:'he',
|
||||
//选牌范围:手牌区和装备区和木马
|
||||
position:'hes',
|
||||
//选牌合法性判断
|
||||
filterCard:function(card,player,event){
|
||||
//如果已经选了一张牌 那么第二张牌和第一张花色相同即可
|
||||
|
@ -2853,13 +2856,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
//获取当前时机的卡牌选择限制
|
||||
var filter=event.filterCard;
|
||||
//如果当前时机能够使用/打出火杀并且角色有方片 那么可以发动技能
|
||||
if(filter({name:'sha',nature:'fire'},player,event)&&player.countCards('he',{suit:'diamond'})) return true;
|
||||
if(filter({name:'sha',nature:'fire'},player,event)&&player.countCards('hes',{suit:'diamond'})) return true;
|
||||
//如果当前时机能够使用/打出闪并且角色有梅花 那么可以发动技能
|
||||
if(filter({name:'shan'},player,event)&&player.countCards('he',{suit:'club'})) return true;
|
||||
if(filter({name:'shan'},player,event)&&player.countCards('hes',{suit:'club'})) return true;
|
||||
//如果当前时机能够使用/打出桃并且角色有红桃 那么可以发动技能
|
||||
if(filter({name:'tao'},player,event)&&player.countCards('he',{suit:'heart'})) return true;
|
||||
if(filter({name:'tao'},player,event)&&player.countCards('hes',{suit:'heart'})) return true;
|
||||
//如果当前时机能够使用/打出无懈可击并且角色有黑桃 那么可以发动技能
|
||||
if(filter({name:'wuxie'},player,event)&&player.countCards('he',{suit:'spade'})) return true;
|
||||
if(filter({name:'wuxie'},player,event)&&player.countCards('hes',{suit:'spade'})) return true;
|
||||
return false;
|
||||
},
|
||||
ai:{
|
||||
|
@ -2873,7 +2876,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
case 'respondShan':name='club';break;
|
||||
case 'save':name='heart';break;
|
||||
}
|
||||
if(!player.countCards('he',{suit:name})) return false;
|
||||
if(!player.countCards('hes',{suit:name})) return false;
|
||||
},
|
||||
//AI牌序
|
||||
order:function(item,player){
|
||||
|
@ -2883,7 +2886,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var map={sha:'diamond',tao:'heart'}
|
||||
for(var i=0;i<list.length;i++){
|
||||
var name=list[i];
|
||||
if(player.countCards('he',function(card){
|
||||
if(player.countCards('hes',function(card){
|
||||
return (name!='sha'||get.value(card)<5)&&get.suit(card,player)==map[name];
|
||||
})>0&&player.getUseValue({name:name,nature:name=='sha'?'fire':null})>0){
|
||||
var temp=get.order({name:name,nature:name=='sha'?'fire':null});
|
||||
|
@ -2898,9 +2901,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
//让系统知道玩家“有无懈”“有桃”
|
||||
hiddenCard:function(player,name){
|
||||
if(name=='wuxie'&&_status.connectMode&&player.countCards('h')>0) return true;
|
||||
if(name=='wuxie') return player.countCards('he',{suit:'spade'})>0;
|
||||
if(name=='tao') return player.countCards('he',{suit:'heart'})>0;
|
||||
if(name=='wuxie'&&_status.connectMode&&player.countCards('hs')>0) return true;
|
||||
if(name=='wuxie') return player.countCards('hes',{suit:'spade'})>0;
|
||||
if(name=='tao') return player.countCards('hes',{suit:'heart'})>0;
|
||||
},
|
||||
group:['relonghun_num','relonghun_discard'],
|
||||
subSkill:{
|
||||
|
@ -2962,7 +2965,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var map={sha:'diamond',tao:'heart'}
|
||||
for(var i=0;i<list.length;i++){
|
||||
var name=list[i];
|
||||
if(player.countCards('h',function(card){
|
||||
if(player.countCards('hs',function(card){
|
||||
return (name!='sha'||get.value(card)<5)&&get.suit(card,player)==map[name];
|
||||
})>0&&player.getUseValue({name:name,nature:name=='sha'?'fire':null})>0){
|
||||
var temp=get.order({name:name,nature:name=='sha'?'fire':null});
|
||||
|
@ -2977,7 +2980,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
return 1;
|
||||
},
|
||||
position:'h',
|
||||
position:'hs',
|
||||
filterCard:function(card,player,event){
|
||||
event=event||_status.event;
|
||||
var filter=event._backup.filterCard;
|
||||
|
@ -2990,10 +2993,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
filter:function(event,player){
|
||||
var filter=event.filterCard;
|
||||
if(filter({name:'sha',nature:'fire'},player,event)&&player.countCards('h',{suit:'diamond'})) return true;
|
||||
if(filter({name:'shan'},player,event)&&player.countCards('h',{suit:'club'})) return true;
|
||||
if(filter({name:'tao'},player,event)&&player.countCards('h',{suit:'heart'})) return true;
|
||||
if(filter({name:'wuxie'},player,event)&&player.countCards('h',{suit:'spade'})) return true;
|
||||
if(filter({name:'sha',nature:'fire'},player,event)&&player.countCards('hs',{suit:'diamond'})) return true;
|
||||
if(filter({name:'shan'},player,event)&&player.countCards('hs',{suit:'club'})) return true;
|
||||
if(filter({name:'tao'},player,event)&&player.countCards('hs',{suit:'heart'})) return true;
|
||||
if(filter({name:'wuxie'},player,event)&&player.countCards('hs',{suit:'spade'})) return true;
|
||||
return false;
|
||||
},
|
||||
ai:{
|
||||
|
@ -3006,7 +3009,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
case 'respondShan':name='club';break;
|
||||
case 'save':name='heart';break;
|
||||
}
|
||||
if(!player.countCards('h',{suit:name})) return false;
|
||||
if(!player.countCards('hs',{suit:name})) return false;
|
||||
},
|
||||
order:function(item,player){
|
||||
if(player&&_status.event.type=='phase'){
|
||||
|
@ -3015,7 +3018,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var map={sha:'diamond',tao:'heart'}
|
||||
for(var i=0;i<list.length;i++){
|
||||
var name=list[i];
|
||||
if(player.countCards('h',function(card){
|
||||
if(player.countCards('hs',function(card){
|
||||
return (name!='sha'||get.value(card)<5)&&get.suit(card,player)==map[name];
|
||||
})>0&&player.getUseValue({name:name,nature:name=='sha'?'fire':null})>0){
|
||||
var temp=get.order({name:name,nature:name=='sha'?'fire':null});
|
||||
|
@ -3029,9 +3032,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
hiddenCard:function(player,name){
|
||||
if(name=='wuxie'&&_status.connectMode&&player.countCards('h')>0) return true;
|
||||
if(name=='wuxie') return player.countCards('h',{suit:'spade'})>0;
|
||||
if(name=='tao') return player.countCards('h',{suit:'heart'})>0;
|
||||
if(name=='wuxie'&&_status.connectMode&&player.countCards('hs')>0) return true;
|
||||
if(name=='wuxie') return player.countCards('hs',{suit:'spade'})>0;
|
||||
if(name=='tao') return player.countCards('hs',{suit:'heart'})>0;
|
||||
},
|
||||
},
|
||||
xinjuejing:{
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -82,7 +82,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
group:["old_guhuo_guess","old_guhuo_respond","old_guhuo_wuxie"],
|
||||
enable:"chooseToUse",
|
||||
filter:function (event,player){
|
||||
if(!player.countCards('h')) return false;
|
||||
if(!player.countCards('hs')) return false;
|
||||
var list=['sha','tao','shan','jiu','taoyuan','wugu','juedou','huogong','jiedao','tiesuo','guohe','shunshou','wuzhong','wanjian','nanman'];
|
||||
if(get.mode()=='guozhan'){
|
||||
list=list.concat(['xietianzi','shuiyanqijunx','lulitongxin','lianjunshengyan','chiling','diaohulishan','yuanjiao','huoshaolianying']);
|
||||
|
@ -120,6 +120,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return {
|
||||
filterCard:true,
|
||||
selectCard:1,
|
||||
position:'hs',
|
||||
viewAs:{name:links[0][2],nature:links[0][3]},
|
||||
}
|
||||
},
|
||||
|
@ -293,7 +294,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
enable:"chooseToUse",
|
||||
filterCard:true,
|
||||
viewAsFilter:function (player){
|
||||
return player.countCards('h')>0;
|
||||
return player.countCards('hs')>0;
|
||||
},
|
||||
viewAs:{
|
||||
name:"wuxie",
|
||||
|
@ -306,7 +307,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
threaten:1.2,
|
||||
},
|
||||
old_zuilun:{
|
||||
audio:'xinfu_zuilun',
|
||||
audio:'xinfu_zuilun',
|
||||
subSkill:{
|
||||
e:{},
|
||||
h:{},
|
||||
|
|
|
@ -249,6 +249,7 @@ window.noname_character_rank={
|
|||
'wolongfengchu',
|
||||
'yanghuiyu',
|
||||
'liubian',
|
||||
'nanhualaoxian',
|
||||
'key_misuzu',
|
||||
'key_sunohara',
|
||||
'key_umi',
|
||||
|
@ -436,6 +437,7 @@ window.noname_character_rank={
|
|||
'jin_simashi',
|
||||
'jin_wangyuanji',
|
||||
'duyu',
|
||||
'yj_ganning',
|
||||
'key_kyousuke',
|
||||
'key_yusa',
|
||||
'key_misa',
|
||||
|
@ -897,7 +899,6 @@ window.noname_character_rank={
|
|||
're_heqi',
|
||||
're_sp_zhugeliang',
|
||||
're_liushan',
|
||||
'yj_ganning',
|
||||
're_pangtong',
|
||||
'xin_yuanshao',
|
||||
'liuye',
|
||||
|
@ -1120,6 +1121,7 @@ window.noname_character_rank={
|
|||
'mini_lvmeng',
|
||||
'boss_zhaoyun',
|
||||
'yanghuiyu',
|
||||
'nanhualaoxian',
|
||||
'key_yuri',
|
||||
'key_yuzuru',
|
||||
'sp_key_kanade',
|
||||
|
|
|
@ -7,7 +7,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
refresh_standard:["re_caocao","re_simayi","re_guojia","re_lidian","re_zhangliao","re_xuzhu","re_xiahoudun","re_zhangfei","re_zhaoyun","re_guanyu","re_machao","re_xushu","re_zhouyu","re_lvmeng","re_ganning","re_luxun","re_daqiao","re_huanggai","re_lvbu","re_huatuo","re_liubei","re_diaochan","re_huangyueying","re_sunquan","re_sunshangxiang","re_zhenji","re_zhugeliang","re_huaxiong",'re_gongsunzan'],
|
||||
refresh_feng:['caoren','ol_xiahouyuan','re_huangzhong','ol_weiyan','ol_xiaoqiao','zhoutai','re_zhangjiao','xin_yuji'],
|
||||
refresh_huo:["ol_sp_zhugeliang","re_xunyu","re_dianwei","re_yanwen","ol_pangtong","ol_yuanshao","ol_pangde","re_taishici"],
|
||||
refresh_lin:['re_zhurong','re_menghuo','ol_sunjian','re_caopi','re_xuhuang','ol_dongzhuo'],
|
||||
refresh_lin:['re_zhurong','re_menghuo','ol_sunjian','re_caopi','re_xuhuang','ol_dongzhuo','ol_zhurong'],
|
||||
refresh_shan:['re_jiangwei','re_caiwenji','ol_liushan','re_zhangzhang','re_zuoci','re_sunce','ol_dengai'],
|
||||
refresh_yijiang1:['re_wuguotai','re_gaoshun','re_caozhi','yujin_yujin','re_masu','xin_xusheng','re_fazheng','xin_lingtong','re_zhangchunhua'],
|
||||
refresh_yijiang2:['old_madai','wangyi','guanzhang','xin_handang','re_zhonghui','re_liaohua','re_chengpu','re_caozhang','re_bulianshi','xin_liubiao'],
|
||||
|
@ -18,6 +18,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
connect:true,
|
||||
character:{
|
||||
ol_zhurong:['female','shu',4,['juxiang','lieren','changbiao'],['unseen']],
|
||||
re_zhangchunhua:['female','wei',3,['rejueqing','reshangshi']],
|
||||
re_gongsunyuan:['male','qun',4,['rehuaiyi']],
|
||||
re_caozhen:['male','wei',4,['residi']],
|
||||
|
@ -131,6 +132,78 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
re_xushu:['zhaoyun','sp_zhugeliang'],
|
||||
},
|
||||
skill:{
|
||||
//长标
|
||||
changbiao:{
|
||||
audio:2,
|
||||
mod:{
|
||||
targetInRange:function(card,player,target){
|
||||
if(card.changbiao) return true;
|
||||
},
|
||||
},
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
position:'hs',
|
||||
viewAs:{
|
||||
name:'sha',
|
||||
changbiao:true,
|
||||
},
|
||||
locked:false,
|
||||
filter:function(event,player){
|
||||
return player.countCards('hs')>0;
|
||||
},
|
||||
filterCard:true,
|
||||
selectCard:[1,Infinity],
|
||||
position:'hs',
|
||||
check:function(card){
|
||||
var player=_status.event.player;
|
||||
if(ui.selected.cards.length){
|
||||
var list=game.filterPlayer(function(current){
|
||||
return current!=player&&player.canUse('sha',current,false)&&get.effect(current,{name:'sha'},player,player)>0;
|
||||
}).sort(function(a,b){
|
||||
return get.effect(b,{name:'sha'},player,player)-get.effect(a,{name:'sha'},player,player);
|
||||
});
|
||||
if(!list.length) return 0;
|
||||
var target=list[0];
|
||||
if(target.mayHaveShan()&&!player.hasSkillTag('directHit_ai',true,{
|
||||
target:target,
|
||||
card:card,
|
||||
},true)) return 0;
|
||||
return 6.5-get.value(card);
|
||||
}
|
||||
return 6.3-get.value(card);
|
||||
},
|
||||
onuse:function(result,player){
|
||||
player.addTempSkill('changbiao_draw');
|
||||
},
|
||||
subSkill:{
|
||||
draw:{
|
||||
trigger:{player:'phaseUseEnd'},
|
||||
forced:true,
|
||||
charlotte:true,
|
||||
filter:function(event,player){
|
||||
return player.getHistory('sourceDamage',function(evxt){
|
||||
var evt=evxt.getParent();
|
||||
return evt&&evt.name=='sha'&&evt.skill=='changbiao'&&evt.getParent('phaseUse')==event;
|
||||
}).length>0;
|
||||
},
|
||||
content:function(){
|
||||
var num=0;
|
||||
player.getHistory('sourceDamage',function(evxt){
|
||||
var evt=evxt.getParent();
|
||||
if(evt&&evt.name=='sha'&&evt.skill=='changbiao'&&evt.getParent('phaseUse')==trigger) num+=evt.cards.length;
|
||||
});
|
||||
player.draw(num);
|
||||
},
|
||||
},
|
||||
},
|
||||
ai:{
|
||||
order:function(item,player){
|
||||
return get.order({name:'sha'},player)+0.3*(Math.min(player.getCardUsable('sha'),player.countCards('hs','sha')+player.hasCard(function(card){
|
||||
return card.name!='sha'&&get.value(card,player)<6.3;
|
||||
},'hs')?1:0)>1?-1:1);
|
||||
},
|
||||
},
|
||||
},
|
||||
//国钟会
|
||||
gzquanji:{
|
||||
audio:'quanji',
|
||||
|
@ -2294,11 +2367,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audio:'longdan_sha',
|
||||
audioname:['re_zhaoyun'],
|
||||
hiddenCard:function(player,name){
|
||||
if(name=='tao') return player.countCards('h','jiu')>0;
|
||||
if(name=='jiu') return player.countCards('h','tao')>0;
|
||||
if(name=='tao') return player.countCards('hs','jiu')>0;
|
||||
if(name=='jiu') return player.countCards('hs','tao')>0;
|
||||
return false;
|
||||
},
|
||||
enable:['chooseToUse','chooseToRespond'],
|
||||
position:'hs',
|
||||
prompt:'将杀当做闪,或将闪当做杀,或将桃当做酒,或将酒当做桃使用或打出',
|
||||
viewAs:function(cards,player){
|
||||
var name=false;
|
||||
|
@ -2320,7 +2394,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var map={sha:'shan',tao:'jiu',jiu:'tao'}
|
||||
for(var i=0;i<list.length;i++){
|
||||
var name=list[i];
|
||||
if(player.countCards('h',map[name])>(name=='jiu'?1:0)&&player.getUseValue({name:name})>0){
|
||||
if(player.countCards('hs',map[name])>(name=='jiu'?1:0)&&player.getUseValue({name:name})>0){
|
||||
var temp=get.order({name:name});
|
||||
if(temp>max){
|
||||
max=temp;
|
||||
|
@ -2345,10 +2419,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
filter:function(event,player){
|
||||
var filter=event.filterCard;
|
||||
if(filter({name:'sha'},player,event)&&player.countCards('h','shan')) return true;
|
||||
if(filter({name:'shan'},player,event)&&player.countCards('h','sha')) return true;
|
||||
if(filter({name:'tao'},player,event)&&player.countCards('h','jiu')) return true;
|
||||
if(filter({name:'jiu'},player,event)&&player.countCards('h','tao')) return true;
|
||||
if(filter({name:'sha'},player,event)&&player.countCards('hs','shan')) return true;
|
||||
if(filter({name:'shan'},player,event)&&player.countCards('hs','sha')) return true;
|
||||
if(filter({name:'tao'},player,event)&&player.countCards('hs','jiu')) return true;
|
||||
if(filter({name:'jiu'},player,event)&&player.countCards('hs','tao')) return true;
|
||||
return false;
|
||||
},
|
||||
ai:{
|
||||
|
@ -2360,7 +2434,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
case 'respondSha':name='shan';break;
|
||||
case 'respondShan':name='sha';break;
|
||||
}
|
||||
if(!player.countCards('h',name)) return false;
|
||||
if(!player.countCards('hs',name)) return false;
|
||||
},
|
||||
order:function(item,player){
|
||||
if(player&&_status.event.type=='phase'){
|
||||
|
@ -2369,7 +2443,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var map={sha:'shan',tao:'jiu',jiu:'tao'}
|
||||
for(var i=0;i<list.length;i++){
|
||||
var name=list[i];
|
||||
if(player.countCards('h',map[name])>(name=='jiu'?1:0)&&player.getUseValue({name:name})>0){
|
||||
if(player.countCards('hs',map[name])>(name=='jiu'?1:0)&&player.getUseValue({name:name})>0){
|
||||
var temp=get.order({name:name});
|
||||
if(temp>max) max=temp;
|
||||
}
|
||||
|
@ -4527,7 +4601,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return (lib.inpile.contains(name)&&player.countCards('h')>0&&!player.hasSkill('reguhuo_phase'));
|
||||
},
|
||||
filter:function(event,player){
|
||||
if(!player.countCards('h')||player.hasSkill('reguhuo_phase')) return false;
|
||||
if(!player.countCards('hs')||player.hasSkill('reguhuo_phase')) return false;
|
||||
for(var i of lib.inpile){
|
||||
if(i=='shan'||i=='wuxie') continue;
|
||||
var type=get.type(i);
|
||||
|
@ -4583,6 +4657,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
suit:'none',
|
||||
number:null,
|
||||
},
|
||||
position:'hs',
|
||||
ai1:function(card){
|
||||
var player=_status.event.player;
|
||||
var hasEnemy=game.hasPlayer(function(current){
|
||||
|
@ -4596,11 +4671,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return 6-get.value(card);
|
||||
},
|
||||
filterCard:true,
|
||||
position:'h',
|
||||
}
|
||||
},
|
||||
prompt:function(links){
|
||||
return '将一张牌当做'+(get.translation(links[0][3])||'')+get.translation(links[0][2])+'使用';
|
||||
return '将一张手牌当做'+(get.translation(links[0][3])||'')+get.translation(links[0][2])+'使用';
|
||||
},
|
||||
},
|
||||
ai:{
|
||||
|
@ -4608,7 +4682,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
respondShan:true,
|
||||
respondSha:true,
|
||||
skillTagFilter:function(player){
|
||||
if(!player.countCards('h')||player.hasSkill('reguhuo_phase')) return false;
|
||||
if(!player.countCards('hs')||player.hasSkill('reguhuo_phase')) return false;
|
||||
},
|
||||
order:10,
|
||||
result:{
|
||||
|
@ -4626,7 +4700,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
number:null,
|
||||
},
|
||||
viewAsFilter:function(player){
|
||||
return player.countCards('h')&&!player.hasSkill('reguhuo_phase');
|
||||
return player.countCards('hs')&&!player.hasSkill('reguhuo_phase');
|
||||
},
|
||||
check:function(card){
|
||||
var player=_status.event.player;
|
||||
|
@ -4642,7 +4716,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
prompt:'将一张牌当做【闪】使用或打出',
|
||||
filterCard:true,
|
||||
position:'h',
|
||||
position:'hs',
|
||||
ai:{
|
||||
order:4,
|
||||
},
|
||||
|
@ -4667,11 +4741,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return 6-get.value(card);
|
||||
},
|
||||
viewAsFilter:function(player){
|
||||
return player.countCards('h')&&!player.hasSkill('reguhuo_phase');
|
||||
return player.countCards('hs')&&!player.hasSkill('reguhuo_phase');
|
||||
},
|
||||
filterCard:true,
|
||||
prompt:'将一张牌当做【无懈可击】使用',
|
||||
position:'h',
|
||||
position:'hs',
|
||||
ai:{
|
||||
order:4,
|
||||
},
|
||||
|
@ -4967,13 +5041,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audio:2,
|
||||
trigger:{global:'judge'},
|
||||
filter:function(event,player){
|
||||
return player.countCards('he',{color:'black'})>0;
|
||||
return player.countCards('hes',{color:'black'})>0;
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.chooseCard(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+
|
||||
get.translation(trigger.player.judging[0])+','+get.prompt('xinguidao'),'he',function(card){
|
||||
get.translation(trigger.player.judging[0])+','+get.prompt('xinguidao'),'hes',function(card){
|
||||
if(get.color(card)!='black') return false;
|
||||
var player=_status.event.player;
|
||||
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
||||
|
@ -5038,17 +5112,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filterCard:function(card){
|
||||
return get.color(card)=='black';
|
||||
},
|
||||
position:'he',
|
||||
position:'hes',
|
||||
viewAs:{name:'shan'},
|
||||
viewAsFilter:function(player){
|
||||
if(!player.countCards('he',{color:'black'})) return false;
|
||||
if(!player.countCards('hes',{color:'black'})) return false;
|
||||
},
|
||||
prompt:'将一张黑色牌当闪打出',
|
||||
check:function(){return 1},
|
||||
ai:{
|
||||
respondShan:true,
|
||||
skillTagFilter:function(player){
|
||||
if(!player.countCards('he',{color:'black'})) return false;
|
||||
if(!player.countCards('hes',{color:'black'})) return false;
|
||||
},
|
||||
effect:{
|
||||
target:function(card,player,target,current){
|
||||
|
@ -5104,7 +5178,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
threaten:1.5,
|
||||
},
|
||||
rehuoji:{
|
||||
position:"he",
|
||||
position:"hes",
|
||||
audio:2,
|
||||
audioname:['ol_sp_zhugeliang','ol_pangtong'],
|
||||
enable:"chooseToUse",
|
||||
|
@ -5116,7 +5190,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
nature:"fire",
|
||||
},
|
||||
viewAsFilter:function (player){
|
||||
if(!player.countCards('he',{color:'red'})) return false;
|
||||
if(!player.countCards('hes',{color:'red'})) return false;
|
||||
},
|
||||
prompt:"将一张红色牌当火攻使用",
|
||||
check:function (card){
|
||||
|
@ -5133,13 +5207,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
rekanpo:{
|
||||
audio:2,
|
||||
audioname:['ol_sp_zhugeliang','ol_pangtong'],
|
||||
position:"he",
|
||||
position:"hes",
|
||||
enable:"chooseToUse",
|
||||
filterCard:function (card){
|
||||
return get.color(card)=='black';
|
||||
},
|
||||
viewAsFilter:function (player){
|
||||
return player.countCards('he',{color:'black'})>0;
|
||||
return player.countCards('hes',{color:'black'})>0;
|
||||
},
|
||||
viewAs:{
|
||||
name:"wuxie",
|
||||
|
@ -5614,16 +5688,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(get.zhu(player,'shouyue')) return true;
|
||||
return get.color(card)=='red';
|
||||
},
|
||||
position:"he",
|
||||
position:"hes",
|
||||
viewAs:{
|
||||
name:"sha",
|
||||
},
|
||||
viewAsFilter:function(player){
|
||||
if(get.zhu(player,'shouyue')){
|
||||
if(!player.countCards('he')) return false;
|
||||
if(!player.countCards('hes')) return false;
|
||||
}
|
||||
else{
|
||||
if(!player.countCards('he',{color:'red'})) return false;
|
||||
if(!player.countCards('hes',{color:'red'})) return false;
|
||||
}
|
||||
},
|
||||
prompt:"将一张红色牌当杀使用或打出",
|
||||
|
@ -5632,10 +5706,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
respondSha:true,
|
||||
skillTagFilter:function(player){
|
||||
if(get.zhu(player,'shouyue')){
|
||||
if(!player.countCards('he')) return false;
|
||||
if(!player.countCards('hes')) return false;
|
||||
}
|
||||
else{
|
||||
if(!player.countCards('he',{color:'red'})) return false;
|
||||
if(!player.countCards('hes',{color:'red'})) return false;
|
||||
}
|
||||
},
|
||||
},
|
||||
|
@ -6812,12 +6886,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
trigger:{global:'judge'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return player.countCards('he')>0;
|
||||
return player.countCards('hes')>0;
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.chooseCard(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+
|
||||
get.translation(trigger.player.judging[0])+','+get.prompt('reguicai'),'he',function(card){
|
||||
get.translation(trigger.player.judging[0])+','+get.prompt('reguicai'),'hes',function(card){
|
||||
var player=_status.event.player;
|
||||
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
||||
if(mod2!='unchanged') return mod2;
|
||||
|
@ -7931,14 +8005,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
enable:'phaseUse',
|
||||
usable:1,
|
||||
discard:false,
|
||||
lose:false,
|
||||
delay:false,
|
||||
filter:function(event,player){
|
||||
return player.countCards('he',{suit:'diamond'})>0;
|
||||
return player.countCards('hes',{suit:'diamond'})>0;
|
||||
},
|
||||
prepare:'throw',
|
||||
position:'he',
|
||||
position:'hes',
|
||||
filterCard:{suit:'diamond'},
|
||||
filterTarget:function(card,player,target){
|
||||
if(target.hasJudge('lebu')) return true;
|
||||
if(get.position(ui.selected.cards[0])!='s'&&lib.filter.cardDiscardable(ui.selected.cards[0],player,'reguose')&&target.hasJudge('lebu')) return true;
|
||||
if(player==target) return false;
|
||||
if(!game.checkMod(ui.selected.cards[0],player,'unchanged','cardEnabled2',player)) return false;
|
||||
return player.canUse({name:'lebu',cards:ui.selected.cards},target);
|
||||
|
@ -7948,6 +8023,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
if(target.hasJudge('lebu')){
|
||||
player.discard(cards);
|
||||
target.discard(target.getJudge('lebu'));
|
||||
}
|
||||
else{
|
||||
|
@ -8500,8 +8576,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return get.suit(card)=='spade';
|
||||
},
|
||||
viewAs:{name:'jiu'},
|
||||
position:'hs',
|
||||
viewAsFilter:function(player){
|
||||
if(!player.countCards('h',{suit:'spade'})) return false;
|
||||
if(!player.countCards('hs',{suit:'spade'})) return false;
|
||||
return true;
|
||||
},
|
||||
prompt:'将一张黑桃手牌当酒使用',
|
||||
|
@ -8509,11 +8586,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(player&&player==cardx.player) return true;
|
||||
if(_status.event.type=='dying') return 1;
|
||||
var player=_status.event.player;
|
||||
var shas=player.getCards('h',function(card){
|
||||
var shas=player.getCards('hs',function(card){
|
||||
return card!=cardx&&get.name(card,player)=='sha';
|
||||
});
|
||||
if(!shas.length) return -1;
|
||||
if(shas.length>1&&(player.getCardUsable('sha')>1||player.countCards('h','zhuge'))){
|
||||
if(shas.length>1&&(player.getCardUsable('sha')>1||player.countCards('hs','zhuge'))){
|
||||
return 0;
|
||||
}
|
||||
shas.sort(function(a,b){
|
||||
|
@ -9143,6 +9220,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
gzpaiyi:'排异',
|
||||
gzpaiyi_backup:'排异',
|
||||
gzpaiyi_info:'出牌阶段,你可以将移去一张“权”,然后选择一名角色并令其摸X张牌(X为“权”的数量),若其手牌数不小于你,则你对其造成1点伤害且本技能于此回合内失效。',
|
||||
ol_zhurong:'界祝融',
|
||||
changbiao:'长标',
|
||||
changbiao_info:'出牌阶段限一次,你可以将任意张手牌当做【杀】使用(无距离限制)。若你因此【杀】对目标角色造成过伤害,则你于出牌阶段结束时摸X张牌(X为此【杀】对应的实体牌数量)。',
|
||||
|
||||
refresh_standard:'界限突破·标',
|
||||
refresh_feng:'界限突破·风',
|
||||
|
|
|
@ -1127,10 +1127,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
subSkill:{
|
||||
"1":{
|
||||
trigger:{
|
||||
global:["loseAfter","addCardToStorage"],
|
||||
global:["loseAfter","addCardToStorage","loseAsyncAfter"],
|
||||
},
|
||||
filter:function(event,player){
|
||||
if(event.name=='lose') return event.toStorage==true;
|
||||
filter:function(event,player,name){
|
||||
if(name!='addCardToStorage') return event.toStorage==true;
|
||||
return true;
|
||||
},
|
||||
direct:true,
|
||||
|
@ -2507,13 +2507,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audioname:['ol_pangtong'],
|
||||
enable:'chooseToUse',
|
||||
filter:function(event,player){
|
||||
return player.countCards('he',{suit:'club'})>0;
|
||||
return player.countCards('hes',{suit:'club'})>0;
|
||||
},
|
||||
filterCard:{suit:'club'},
|
||||
viewAs:{name:'tiesuo'},
|
||||
prompt:'将一张梅花牌当铁锁连环使用',
|
||||
check:function(card){return 6-get.value(card)},
|
||||
position:'he',
|
||||
position:'hes',
|
||||
},
|
||||
xinlianhuan:{
|
||||
audio:2,
|
||||
|
@ -2530,7 +2530,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audioname:['ol_pangtong'],
|
||||
enable:'chooseToUse',
|
||||
filter:function(event,player){
|
||||
return player.countCards('h',{suit:'club'})>0;
|
||||
return player.countCards('hs',{suit:'club'})>0;
|
||||
},
|
||||
filterCard:{suit:'club'},
|
||||
viewAs:{name:'tiesuo'},
|
||||
|
@ -2552,6 +2552,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(!player.storage.reluanji) return true;
|
||||
return !player.storage.reluanji.contains(get.suit(card));
|
||||
},
|
||||
position:'hs',
|
||||
selectCard:2,
|
||||
check:function(card){
|
||||
var player=_status.event.player;
|
||||
|
@ -4423,9 +4424,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return get.color(card)=='black';
|
||||
},
|
||||
filter:function(event,player){
|
||||
return player.countCards('he',{type:['basic','equip'],color:'black'})
|
||||
return player.countCards('hes',{type:['basic','equip'],color:'black'})
|
||||
},
|
||||
position:'he',
|
||||
position:'hes',
|
||||
viewAs:{name:'bingliang'},
|
||||
prompt:'将一黑色的基本牌或装备牌当兵粮寸断使用',
|
||||
check:function(card){return 6-get.value(card)},
|
||||
|
@ -4757,7 +4758,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
viewAs:{name:'jiu'},
|
||||
viewAsFilter:function(player){
|
||||
if(!player.countCards('h',{suit:'spade'})) return false;
|
||||
if(!player.countCards('hs',{suit:'spade'})) return false;
|
||||
},
|
||||
prompt:'将一张黑桃手牌当酒使用',
|
||||
check:function(card){
|
||||
|
@ -4995,8 +4996,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
viewAs:{name:'huogong',nature:'fire'},
|
||||
viewAsFilter:function(player){
|
||||
if(!player.countCards('h',{color:'red'})) return false;
|
||||
if(!player.countCards('hs',{color:'red'})) return false;
|
||||
},
|
||||
position:'hs',
|
||||
prompt:'将一张红色牌当火攻使用',
|
||||
check:function(card){
|
||||
var player=_status.currentPhase;
|
||||
|
@ -5046,9 +5048,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return get.color(card)=='black';
|
||||
},
|
||||
viewAsFilter:function(player){
|
||||
return player.countCards('h',{color:'black'})>0;
|
||||
return player.countCards('hs',{color:'black'})>0;
|
||||
},
|
||||
viewAs:{name:'wuxie'},
|
||||
position:'hs',
|
||||
prompt:'将一张黑色手牌当无懈可击使用',
|
||||
check:function(card){
|
||||
var tri=_status.event.getTrigger();
|
||||
|
@ -5066,8 +5069,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audioname:['re_pangtong'],
|
||||
enable:'chooseToUse',
|
||||
filter:function(event,player){
|
||||
return player.countCards('h',{suit:'club'})>0;
|
||||
return player.countCards('hs',{suit:'club'})>0;
|
||||
},
|
||||
position:'hs',
|
||||
filterCard:function(card){
|
||||
return get.suit(card)=='club';
|
||||
},
|
||||
|
@ -5593,6 +5597,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return str;
|
||||
},
|
||||
viewAs:{name:'juedou'},
|
||||
position:'hs',
|
||||
onremove:true,
|
||||
filterCard:function(card,player){
|
||||
return get.color(card)!=player.storage.shuangxiong;
|
||||
|
@ -5609,12 +5614,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
luanji:{
|
||||
audio:2,
|
||||
enable:'phaseUse',
|
||||
position:'hs',
|
||||
viewAs:{name:'wanjian'},
|
||||
filterCard:function(card,player){
|
||||
if(ui.selected.cards.length){
|
||||
return get.suit(card)==get.suit(ui.selected.cards[0]);
|
||||
}
|
||||
var cards=player.getCards('h');
|
||||
var cards=player.getCards('hs');
|
||||
for(var i=0;i<cards.length;i++){
|
||||
if(card!=cards[i]){
|
||||
if(get.suit(card)==get.suit(cards[i])) return true;
|
||||
|
@ -6709,13 +6715,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audioname:['sp_zhangjiao'],
|
||||
trigger:{global:'judge'},
|
||||
filter:function(event,player){
|
||||
return player.countCards('he',{color:'black'})>0;
|
||||
return player.countCards('hes',{color:'black'})>0;
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.chooseCard(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+
|
||||
get.translation(trigger.player.judging[0])+','+get.prompt('guidao'),'he',function(card){
|
||||
get.translation(trigger.player.judging[0])+','+get.prompt('guidao'),'hes',function(card){
|
||||
if(get.color(card)!='black') return false;
|
||||
var player=_status.event.player;
|
||||
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
||||
|
@ -6767,7 +6773,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
usable:1,
|
||||
audio:2,
|
||||
filter:function(event,player){
|
||||
return player.countCards('h')>0
|
||||
return player.countCards('hs')>0
|
||||
},
|
||||
chooseButton:{
|
||||
dialog:function(){
|
||||
|
@ -6894,7 +6900,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
enable:"chooseToUse",
|
||||
filter:function(event,player){
|
||||
if(player.hasSkill('guhuo_phase'))return false;
|
||||
if(!player.countCards('h')) return false;
|
||||
if(!player.countCards('hs')) return false;
|
||||
var list=['sha','shan','tao','jiu','taoyuan','wugu','juedou','huogong','jiedao','tiesuo','guohe','shunshou','wuzhong','wanjian','nanman'];
|
||||
if(get.mode()=='guozhan'){
|
||||
list=list.concat(['xietianzi','shuiyanqijunx','lulitongxin','lianjunshengyan','chiling','diaohulishan','yuanjiao','huoshaolianying']);
|
||||
|
@ -6932,6 +6938,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return {
|
||||
filterCard:true,
|
||||
selectCard:1,
|
||||
position:'hs',
|
||||
viewAs:{name:links[0][2],nature:links[0][3]},
|
||||
}
|
||||
},
|
||||
|
@ -7123,7 +7130,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(event.responded) return false;
|
||||
if(!event.filterCard({name:'shan'})&&!event.filterCard({name:'sha'})) return false;
|
||||
if(!lib.filter.cardRespondable({name:'shan'},player,event)&&!lib.filter.cardRespondable({name:'sha'},player,event)) return false;
|
||||
if(!player.countCards('h')) return false;
|
||||
if(!player.countCards('hs')) return false;
|
||||
return true;
|
||||
},
|
||||
direct:true,
|
||||
|
@ -7131,7 +7138,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"step 0"
|
||||
if(trigger.filterCard({name:'shan'})&&lib.filter.cardRespondable({name:'shan'},player,trigger)) event.name='shan';
|
||||
else event.name='sha';
|
||||
player.chooseCard('是否发动【蛊惑】,将一张手牌当做'+get.translation(event.name)+'打出?');
|
||||
player.chooseCard('是否发动【蛊惑】,将一张手牌当做'+get.translation(event.name)+'打出?','hs');
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.addTempSkill('guhuo_phase');
|
||||
|
@ -7235,10 +7242,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
silent:true,
|
||||
popup:false,
|
||||
enable:"chooseToUse",
|
||||
position:'hs',
|
||||
filterCard:true,
|
||||
viewAsFilter:function(player){
|
||||
if(player.hasSkill('guhuo_phase'))return false;
|
||||
return player.countCards('h')>0;
|
||||
return player.countCards('hs')>0;
|
||||
},
|
||||
viewAs:{
|
||||
name:"wuxie",
|
||||
|
|
|
@ -1303,10 +1303,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(target.hp<=player.hp) return false;
|
||||
return lib.filter.filterTarget.apply(this,arguments);
|
||||
},
|
||||
position:'he',
|
||||
position:'hes',
|
||||
audio:'niluan',
|
||||
viewAsFilter:function(player){
|
||||
return player.countCards('he',lib.skill.spniluan.filterCard)>0&&game.hasPlayer(function(current){
|
||||
return player.countCards('hes',lib.skill.spniluan.filterCard)>0&&game.hasPlayer(function(current){
|
||||
return current.hp>player.hp&&player.canUse('sha',current);
|
||||
});
|
||||
},
|
||||
|
@ -1335,7 +1335,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
usable:1,
|
||||
viewAs:{name:'shunshou'},
|
||||
filterCard:{color:'red'},
|
||||
position:'he',
|
||||
position:'hes',
|
||||
check:function(card){
|
||||
return 7-get.value(card);
|
||||
},
|
||||
|
@ -1344,7 +1344,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return lib.filter.filterTarget.apply(this,arguments);
|
||||
},
|
||||
viewAsFilter:function(player){
|
||||
return player.countCards('he',lib.skill.spweiwu.filterCard)>0&&game.hasPlayer(function(current){
|
||||
return player.countCards('hes',lib.skill.spweiwu.filterCard)>0&&game.hasPlayer(function(current){
|
||||
return current.countCards('h')>player.countCards('h')&&player.canUse('shunshou',current);
|
||||
});
|
||||
},
|
||||
|
@ -1748,7 +1748,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
return event.xinjingong_list&&player.countCards('he',function(card){
|
||||
return event.xinjingong_list&&player.countCards('hes',function(card){
|
||||
return card.name=='sha'||get.type(card)=='equip';
|
||||
});
|
||||
},
|
||||
|
@ -1786,7 +1786,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audio:'jingong',
|
||||
filterCard:true,
|
||||
popname:true,
|
||||
position:'he',
|
||||
position:'hes',
|
||||
viewAs:{name:links[0][2]},
|
||||
check:function(card){
|
||||
return 6-get.value(card);
|
||||
|
@ -2096,13 +2096,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
splanggu_rewrite:{
|
||||
trigger:{player:'judge'},
|
||||
filter:function (event,player){
|
||||
return player.countCards('h')>0&&event.getParent().name=='splanggu';
|
||||
return player.countCards('hs')>0&&event.getParent().name=='splanggu';
|
||||
},
|
||||
direct:true,
|
||||
content:function (){
|
||||
"step 0"
|
||||
player.chooseCard('狼顾的判定结果为'+
|
||||
get.translation(trigger.player.judging[0])+',是否打出一张手牌进行代替?','h',function(card){
|
||||
get.translation(trigger.player.judging[0])+',是否打出一张手牌进行代替?','hs',function(card){
|
||||
var player=_status.event.player;
|
||||
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
||||
if(mod2!='unchanged') return mod2;
|
||||
|
@ -2727,7 +2727,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
niluanx:{
|
||||
viewAs:{name:'sha'},
|
||||
filterCard:{color:'black'},
|
||||
position:'he',
|
||||
position:'hes',
|
||||
check:function(card){return 5-get.value(card)},
|
||||
},
|
||||
cuorui:{
|
||||
|
@ -2857,13 +2857,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
global:"judge",
|
||||
},
|
||||
filter:function (event,player){
|
||||
return player.countCards('he')>0&&player.side==event.player.side;
|
||||
return player.countCards('hes')>0&&player.side==event.player.side;
|
||||
},
|
||||
direct:true,
|
||||
content:function (){
|
||||
"step 0"
|
||||
player.chooseCard(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+
|
||||
get.translation(trigger.player.judging[0])+','+get.prompt('huanshi_three'),'he',function(card){
|
||||
get.translation(trigger.player.judging[0])+','+get.prompt('huanshi_three'),'hes',function(card){
|
||||
var player=_status.event.player;
|
||||
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
||||
if(mod2!='unchanged') return mod2;
|
||||
|
@ -4607,7 +4607,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
return event.xinjingong_list&&player.countCards('he',function(card){
|
||||
return event.xinjingong_list&&player.countCards('hes',function(card){
|
||||
return card.name=='sha'||get.type(card)=='equip';
|
||||
});
|
||||
},
|
||||
|
@ -4645,7 +4645,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audio:'jingong',
|
||||
filterCard:true,
|
||||
popname:true,
|
||||
position:'he',
|
||||
position:'hes',
|
||||
viewAs:{name:links[0][2]},
|
||||
check:function(card){
|
||||
return 6-get.value(card);
|
||||
|
@ -6191,8 +6191,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
fanghun:{
|
||||
hiddenCard:function(player,name){
|
||||
if(!player.storage.fanghun||player.storage.fanghun<=0) return false;
|
||||
if(name=='tao') return player.countCards('h','jiu')>0;
|
||||
if(name=='jiu') return player.countCards('h','tao')>0;
|
||||
if(name=='tao') return player.countCards('hs','jiu')>0;
|
||||
if(name=='jiu') return player.countCards('hs','tao')>0;
|
||||
return false;
|
||||
},
|
||||
audio:2,
|
||||
|
@ -6242,6 +6242,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(name) return {name:name};
|
||||
return null;
|
||||
},
|
||||
position:'hs',
|
||||
check:function(card){
|
||||
var player=_status.event.player;
|
||||
if(_status.event.type=='phase'){
|
||||
|
@ -6251,7 +6252,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var map={sha:'shan',tao:'jiu',jiu:'tao'}
|
||||
for(var i=0;i<list.length;i++){
|
||||
var name=list[i];
|
||||
if(player.countCards('h',map[name])>(name=='jiu'?1:0)&&player.getUseValue({name:name})>0){
|
||||
if(player.countCards('hs',map[name])>(name=='jiu'?1:0)&&player.getUseValue({name:name})>0){
|
||||
var temp=get.order({name:name});
|
||||
if(temp>max){
|
||||
max=temp;
|
||||
|
@ -6277,10 +6278,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filter:function(event,player){
|
||||
if(!player.storage.fanghun||player.storage.fanghun<=0) return false;
|
||||
var filter=event.filterCard;
|
||||
if(filter({name:'sha'},player,event)&&player.countCards('h','shan')) return true;
|
||||
if(filter({name:'shan'},player,event)&&player.countCards('h','sha')) return true;
|
||||
if(filter({name:'tao'},player,event)&&player.countCards('h','jiu')) return true;
|
||||
if(filter({name:'jiu'},player, event)&&player.countCards('h','tao')) return true;
|
||||
if(filter({name:'sha'},player,event)&&player.countCards('hs','shan')) return true;
|
||||
if(filter({name:'shan'},player,event)&&player.countCards('hs','sha')) return true;
|
||||
if(filter({name:'tao'},player,event)&&player.countCards('hs','jiu')) return true;
|
||||
if(filter({name:'jiu'},player, event)&&player.countCards('hs','tao')) return true;
|
||||
return false;
|
||||
},
|
||||
onrespond:function(){return this.onuse.apply(this,arguments)},
|
||||
|
@ -6297,7 +6298,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
case 'respondSha':name='shan';break;
|
||||
case 'respondShan':name='sha';break;
|
||||
}
|
||||
if(!player.countCards('h',name)) return false;
|
||||
if(!player.countCards('hs',name)) return false;
|
||||
},
|
||||
order:function(item,player){
|
||||
if(player&&_status.event.type=='phase'){
|
||||
|
@ -6306,7 +6307,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var map={sha:'shan',tao:'jiu',jiu:'tao'}
|
||||
for(var i=0;i<list.length;i++){
|
||||
var name=list[i];
|
||||
if(player.countCards('h',map[name])>(name=='jiu'?1:0)&&player.getUseValue({name:name})>0){
|
||||
if(player.countCards('hs',map[name])>(name=='jiu'?1:0)&&player.getUseValue({name:name})>0){
|
||||
var temp=get.order({name:name});
|
||||
if(temp>max) max=temp;
|
||||
}
|
||||
|
@ -9909,23 +9910,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
usable:1,
|
||||
viewAs:{name:'tao'},
|
||||
viewAsFilter:function(player){
|
||||
return player!=_status.currentPhase&&player.countCards('he')>1;
|
||||
return player!=_status.currentPhase&&player.countCards('hes')>1;
|
||||
},
|
||||
selectCard:2,
|
||||
filterCard:true,
|
||||
position:'he',
|
||||
ai:{
|
||||
skillTagFilter:function(){
|
||||
return lib.skill.xisheng.viewAsFilter.apply(this,arguments)
|
||||
},
|
||||
},
|
||||
position:'hes',
|
||||
},
|
||||
shulv:{
|
||||
inherit:'zhiheng',
|
||||
prompt:'弃置一张牌并摸一张牌',
|
||||
selectCard:1,
|
||||
filter:function(event,player){
|
||||
return player.countCards('h')>player.hp;
|
||||
return player.countCards('hs')>player.hp;
|
||||
},
|
||||
},
|
||||
xiandeng:{
|
||||
|
@ -10158,7 +10154,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filter:function(event,player){
|
||||
return player.getHistory('useCard',function(evt){
|
||||
return evt.isPhaseUsing()&&['basic','trick'].contains(get.type(evt.card));
|
||||
}).length>0&&player.countCards('h')>0;
|
||||
}).length>0&&player.countCards('hs')>0;
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
|
@ -10168,7 +10164,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
})
|
||||
"step 1"
|
||||
event._result={};
|
||||
if(event.count&&event.history.length&&player.countCards('h')){
|
||||
if(event.count&&event.history.length&&player.countCards('hs')){
|
||||
event.count--;
|
||||
var card=event.history.shift().card;
|
||||
card={name:card.name,nature:card.nature};
|
||||
|
@ -10204,6 +10200,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return get.itemtype(card)=='card';
|
||||
},
|
||||
selectCard:1,
|
||||
position:'hs',
|
||||
popname:true,
|
||||
},
|
||||
chenqing2:{},
|
||||
|
@ -14140,7 +14137,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
chixin1:{
|
||||
enable:['chooseToRespond','chooseToUse'],
|
||||
filterCard:{suit:'diamond'},
|
||||
position:'he',
|
||||
position:'hes',
|
||||
viewAs:{name:'sha'},
|
||||
prompt:'将一张♦牌当杀使用或打出',
|
||||
check:function(card){return 5-get.value(card)},
|
||||
|
@ -14152,7 +14149,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
enable:['chooseToUse','chooseToRespond'],
|
||||
filterCard:{suit:'diamond'},
|
||||
viewAs:{name:'shan'},
|
||||
position:'he',
|
||||
position:'hes',
|
||||
prompt:'将一张♦牌当闪使用或打出',
|
||||
check:function(card){return 5-get.value(card)},
|
||||
ai:{
|
||||
|
@ -14705,8 +14702,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
usable:3,
|
||||
audio:2,
|
||||
enable:"chooseToUse",
|
||||
position:"he",
|
||||
filterCard:function (card){
|
||||
position:"hes",
|
||||
filterCard:function(card){
|
||||
return get.color(card)=='red';
|
||||
},
|
||||
viewAs:{
|
||||
|
@ -14718,7 +14715,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(!game.hasPlayer(function(current){
|
||||
return current.hasSkill('xinfu_jianjie');
|
||||
})) return false;
|
||||
if(!player.countCards('he',{color:'red'})) return false;
|
||||
if(!player.countCards('hes',{color:'red'})) return false;
|
||||
},
|
||||
prompt:"将一张红色牌当火攻使用",
|
||||
check:function (card){
|
||||
|
@ -14742,7 +14739,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return current.hasSkill('xinfu_jianjie');
|
||||
})) return false;
|
||||
if((player.getStat().skill.smh_lianhuan||0)+(player.getStat().skill.smh_lianhuan1||0)>=3) return false;
|
||||
return player.countCards('h',{suit:'club'})>0;
|
||||
return player.countCards('hs',{suit:'club'})>0;
|
||||
},
|
||||
filterCard:function (card){
|
||||
return get.suit(card)=='club';
|
||||
|
@ -14750,6 +14747,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
viewAs:{
|
||||
name:"tiesuo",
|
||||
},
|
||||
position:'hs',
|
||||
prompt:"将一张梅花牌当铁锁连环使用",
|
||||
check:function (card){return 6-get.value(card)},
|
||||
mark:true,
|
||||
|
@ -15485,10 +15483,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
enable:"chooseToUse",
|
||||
viewAsFilter:function(player){
|
||||
if(player==_status.currentPhase) return false;
|
||||
return player.hasMark('xinfu_falu_club')&&player.countCards('h')>0;
|
||||
return player.hasMark('xinfu_falu_club')&&player.countCards('hs')>0;
|
||||
},
|
||||
filterCard:true,
|
||||
position:"h",
|
||||
position:"hs",
|
||||
viewAs:{
|
||||
name:"tao",
|
||||
},
|
||||
|
|
|
@ -2145,11 +2145,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
pozhu:{
|
||||
enable:'phaseUse',
|
||||
viewAsFilter:function(player){
|
||||
return !player.hasSkill('pozhu3');
|
||||
return !player.hasSkill('pozhu3')&&player.countCards('hs')>0;
|
||||
},
|
||||
viewAs:{name:'chuqibuyi'},
|
||||
filterCard:true,
|
||||
position:'h',
|
||||
position:'hs',
|
||||
check:function(card){
|
||||
return 7-get.value(card);
|
||||
},
|
||||
|
@ -4559,7 +4559,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
group:'juanhui3',
|
||||
enable:'phaseUse',
|
||||
filter:function(event,player){
|
||||
return player.getStorage('juanhui3').length>0&&player.countCards('h')>0;
|
||||
return player.getStorage('juanhui3').length>0&&player.countCards('hs')>0;
|
||||
},
|
||||
chooseButton:{
|
||||
dialog:function(event,player){
|
||||
|
@ -4585,6 +4585,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audio:'juanhui',
|
||||
popname:true,
|
||||
filterCard:true,
|
||||
position:'hs',
|
||||
viewAs:{
|
||||
name:links[0][2],
|
||||
nature:links[0][3],
|
||||
|
@ -5876,12 +5877,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
enable:"phaseUse",
|
||||
filter:function(event,player){
|
||||
if(player.hasJudge('bingliang')) return false;
|
||||
return player.countCards('he',function(card){
|
||||
return player.countCards('hes',function(card){
|
||||
return get.color(card)=='black'&&get.type(card)=='basic';
|
||||
})>0;
|
||||
},
|
||||
viewAs:{name:'bingliang'},
|
||||
position:"he",
|
||||
position:"hes",
|
||||
filterCard:function(card,player,event){
|
||||
return get.color(card)=='black'&&get.type(card)=='basic'&&player.canAddJudge({name:'bingliang',cards:[card]});
|
||||
},
|
||||
|
@ -8715,7 +8716,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player:'useCardAfter',
|
||||
},
|
||||
filter:function(event,player){
|
||||
if(player.hasSkill('xinfu_sidaoy')||!player.countCards('h')) return false;
|
||||
if(player.hasSkill('xinfu_sidaoy')||!player.countCards('hs')) return false;
|
||||
if(!event.targets||!event.targets.length||!event.isPhaseUsing(player)) return false;
|
||||
var history=player.getHistory('useCard');
|
||||
var index=history.indexOf(event)-1;
|
||||
|
@ -8749,7 +8750,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filterCard:function(card){
|
||||
return get.itemtype(card)=='card';
|
||||
},
|
||||
position:"h",
|
||||
position:"hs",
|
||||
viewAs:{
|
||||
name:"shunshou",
|
||||
},
|
||||
|
|
|
@ -290,12 +290,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
trigger:{global:'judge'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return player.countCards(get.mode()=='guozhan'?'he':'h')>0;
|
||||
return player.countCards(get.mode()=='guozhan'?'hes':'hs')>0;
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.chooseCard(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+
|
||||
get.translation(trigger.player.judging[0])+','+get.prompt('guicai'),get.mode()=='guozhan'?'he':'h',function(card){
|
||||
get.translation(trigger.player.judging[0])+','+get.prompt('guicai'),get.mode()=='guozhan'?'hes':'hs',function(card){
|
||||
var player=_status.event.player;
|
||||
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
||||
if(mod2!='unchanged') return mod2;
|
||||
|
@ -725,14 +725,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
viewAs:{name:'shan'},
|
||||
viewAsFilter:function(player){
|
||||
if(!player.countCards('h',{color:'black'})) return false;
|
||||
if(!player.countCards('hs',{color:'black'})) return false;
|
||||
},
|
||||
position:'hs',
|
||||
prompt:'将一张黑色手牌当闪使用或打出',
|
||||
check:function(){return 1},
|
||||
ai:{
|
||||
respondShan:true,
|
||||
skillTagFilter:function(player){
|
||||
if(!player.countCards('h',{color:'black'})) return false;
|
||||
if(!player.countCards('hs',{color:'black'})) return false;
|
||||
},
|
||||
effect:{
|
||||
target:function(card,player,target,current){
|
||||
|
@ -941,14 +942,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(get.zhu(player,'shouyue')) return true;
|
||||
return get.color(card)=='red';
|
||||
},
|
||||
position:'he',
|
||||
position:'hes',
|
||||
viewAs:{name:'sha'},
|
||||
viewAsFilter:function(player){
|
||||
if(get.zhu(player,'shouyue')){
|
||||
if(!player.countCards('he')) return false;
|
||||
if(!player.countCards('hes')) return false;
|
||||
}
|
||||
else{
|
||||
if(!player.countCards('he',{color:'red'})) return false;
|
||||
if(!player.countCards('hes',{color:'red'})) return false;
|
||||
}
|
||||
},
|
||||
prompt:'将一张红色牌当杀使用或打出',
|
||||
|
@ -956,10 +957,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
ai:{
|
||||
skillTagFilter:function(player){
|
||||
if(get.zhu(player,'shouyue')){
|
||||
if(!player.countCards('he')) return false;
|
||||
if(!player.countCards('hes')) return false;
|
||||
}
|
||||
else{
|
||||
if(!player.countCards('he',{color:'red'})) return false;
|
||||
if(!player.countCards('hes',{color:'red'})) return false;
|
||||
}
|
||||
},
|
||||
respondSha:true,
|
||||
|
@ -1498,8 +1499,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filterCard:{name:'shan'},
|
||||
viewAs:{name:'sha'},
|
||||
viewAsFilter:function(player){
|
||||
if(!player.countCards('h','shan')) return false;
|
||||
if(!player.countCards('hs','shan')) return false;
|
||||
},
|
||||
position:'hs',
|
||||
prompt:'将一张闪当杀使用或打出',
|
||||
check:function(){return 1},
|
||||
ai:{
|
||||
|
@ -1510,7 +1512,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
respondSha:true,
|
||||
skillTagFilter:function(player){
|
||||
if(!player.countCards('h','shan')) return false;
|
||||
if(!player.countCards('hs','shan')) return false;
|
||||
},
|
||||
order:function(){
|
||||
return get.order({name:'sha'})+0.1;
|
||||
|
@ -1527,13 +1529,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
viewAs:{name:'shan'},
|
||||
prompt:'将一张杀当闪使用或打出',
|
||||
check:function(){return 1},
|
||||
position:'hs',
|
||||
viewAsFilter:function(player){
|
||||
if(!player.countCards('h','sha')) return false;
|
||||
if(!player.countCards('hs','sha')) return false;
|
||||
},
|
||||
ai:{
|
||||
respondShan:true,
|
||||
skillTagFilter:function(player){
|
||||
if(!player.countCards('h','sha')) return false;
|
||||
if(!player.countCards('hs','sha')) return false;
|
||||
},
|
||||
effect:{
|
||||
target:function(card,player,target,current){
|
||||
|
@ -1858,10 +1861,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filterCard:function(card){
|
||||
return get.color(card)=='black';
|
||||
},
|
||||
position:'he',
|
||||
position:'hes',
|
||||
viewAs:{name:'guohe'},
|
||||
viewAsFilter:function(player){
|
||||
if(!player.countCards('he',{color:'black'})) return false;
|
||||
if(!player.countCards('hes',{color:'black'})) return false;
|
||||
},
|
||||
prompt:'将一张黑色牌当过河拆桥使用',
|
||||
check:function(card){return 4-get.value(card)}
|
||||
|
@ -1974,13 +1977,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
guose:{
|
||||
audio:2,
|
||||
filter:function(event,player){
|
||||
return player.countCards('he',{suit:'diamond'})>0;
|
||||
return player.countCards('hes',{suit:'diamond'})>0;
|
||||
},
|
||||
enable:'chooseToUse',
|
||||
filterCard:function(card){
|
||||
return get.suit(card)=='diamond';
|
||||
},
|
||||
position:'he',
|
||||
position:'hes',
|
||||
viewAs:{name:'lebu'},
|
||||
prompt:'将一张方片牌当乐不思蜀使用',
|
||||
check:function(card){return 6-get.value(card)},
|
||||
|
@ -2362,12 +2365,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audioname:['re_huatuo'],
|
||||
enable:'chooseToUse',
|
||||
viewAsFilter:function(player){
|
||||
return player!=_status.currentPhase&&player.countCards('he',{color:'red'})>0;
|
||||
return player!=_status.currentPhase&&player.countCards('hes',{color:'red'})>0;
|
||||
},
|
||||
filterCard:function(card){
|
||||
return get.color(card)=='red';
|
||||
},
|
||||
position:'he',
|
||||
position:'hes',
|
||||
viewAs:{name:'tao'},
|
||||
prompt:'将一张红色牌当桃使用',
|
||||
check:function(card){return 15-get.value(card)},
|
||||
|
|
100
character/swd.js
100
character/swd.js
|
@ -26,7 +26,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
swd_quxian:['female','qun',3,['mojian','huanxia']],
|
||||
swd_xiyan:['male','qun',3,['jiefen','datong']],
|
||||
swd_cheyun:['female','wu',3,['cyxianjiang','cyqiaoxie','shengong']],
|
||||
swd_huanyuanzhi:['male','qun',3,['tianshu','lanzhi','mufeng']],
|
||||
swd_huanyuanzhi:['male','qun',3,['swdtianshu','lanzhi','mufeng']],
|
||||
swd_murongshi:['female','shu',4,['duanyi','guxing']],
|
||||
swd_jipeng:['male','wu',3,['reyingzi','guozao']],
|
||||
swd_qi:['male','qun',3,['yaotong','heihuo','pojian']],
|
||||
|
@ -7123,13 +7123,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
}
|
||||
},
|
||||
tianshu_old:{
|
||||
swdtianshu_old:{
|
||||
unique:true,
|
||||
trigger:{player:'phaseEnd'},
|
||||
direct:true,
|
||||
init:function(player){
|
||||
player.storage.tianshu=[];
|
||||
player.storage.tianshu2={};
|
||||
player.storage.swdtianshu=[];
|
||||
player.storage.swdtianshu2={};
|
||||
},
|
||||
intro:{
|
||||
content:function(storage){
|
||||
|
@ -7154,10 +7154,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseToDiscard('he',get.prompt('tianshu')).ai=function(card){
|
||||
player.chooseToDiscard('he',get.prompt('swdtianshu')).ai=function(card){
|
||||
if(get.position(card)=='h') return 5-get.useful(card);
|
||||
return 4-get.value(card);
|
||||
}.logSkill='tianshu';
|
||||
}.logSkill='swdtianshu';
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var list=[];
|
||||
|
@ -7176,7 +7176,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
event.finish();
|
||||
}
|
||||
'step 2'
|
||||
player.storage.tianshu_learn=result.links[0];
|
||||
player.storage.swdtianshu_learn=result.links[0];
|
||||
//
|
||||
// var target=trigger.targets[0];
|
||||
// var names=[];
|
||||
|
@ -7190,7 +7190,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
// if(info){
|
||||
// var skills=info[3];
|
||||
// for(var j=0;j<skills.length;j++){
|
||||
// if(player.storage.tianshu.contains(skills[j])) continue;
|
||||
// if(player.storage.swdtianshu.contains(skills[j])) continue;
|
||||
// if(lib.translate[skills[j]+'_info']&&lib.skill[skills[j]]&&
|
||||
// !lib.skill[skills[j]].unique&&!pss.contains(skills[j])){
|
||||
// list.add(skills[j]);
|
||||
|
@ -7199,22 +7199,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
// }
|
||||
// }
|
||||
// var skill=list.randomGet();
|
||||
// player.storage.tianshu.push(skill);
|
||||
// player.storage.tianshu2.push(target);
|
||||
// player.storage.swdtianshu.push(skill);
|
||||
// player.storage.swdtianshu2.push(target);
|
||||
// player.popup(skill);
|
||||
// player.syncStorage('tianshu');
|
||||
// player.syncStorage('swdtianshu');
|
||||
// player.updateMarks();
|
||||
// game.log(player,'学习了','【'+get.translation(skill)+'】');
|
||||
},
|
||||
group:'tianshu2',
|
||||
group:'swdtianshu2',
|
||||
ai:{
|
||||
threaten:2
|
||||
}
|
||||
},
|
||||
tianshu2:{
|
||||
swdtianshu2:{
|
||||
enable:'phaseUse',
|
||||
filter:function(event,player){
|
||||
return !player.hasSkill('tianshu3')&&player.storage.tianshu&&player.storage.tianshu.length>0;
|
||||
return !player.hasSkill('swdtianshu3')&&player.storage.swdtianshu&&player.storage.swdtianshu.length>0;
|
||||
},
|
||||
intro:{
|
||||
nocount:true
|
||||
|
@ -7222,9 +7222,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
delay:0,
|
||||
content:function(){
|
||||
'step 0'
|
||||
var list=player.storage.tianshu;
|
||||
if(player.additionalSkills.tianshu){
|
||||
player.removeSkill(player.additionalSkills.tianshu);
|
||||
var list=player.storage.swdtianshu;
|
||||
if(player.additionalSkills.swdtianshu){
|
||||
player.removeSkill(player.additionalSkills.swdtianshu);
|
||||
}
|
||||
event.skillai=function(list){
|
||||
return get.max(list,get.skillRank,'item');
|
||||
|
@ -7272,12 +7272,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var link=result;
|
||||
player.addSkill(link);
|
||||
player.skills.remove(link);
|
||||
player.additionalSkills.tianshu=link;
|
||||
player.additionalSkills.swdtianshu=link;
|
||||
player.popup(link);
|
||||
var target=player.storage.tianshu2[player.storage.tianshu.indexOf(link)];
|
||||
player.markSkillCharacter('tianshu2',target,get.translation(link),lib.translate[link+'_info']);
|
||||
var target=player.storage.swdtianshu2[player.storage.swdtianshu.indexOf(link)];
|
||||
player.markSkillCharacter('swdtianshu2',target,get.translation(link),lib.translate[link+'_info']);
|
||||
player.checkMarks();
|
||||
player.addSkill('tianshu3');
|
||||
player.addSkill('swdtianshu3');
|
||||
},
|
||||
ai:{
|
||||
order:10,
|
||||
|
@ -7288,17 +7288,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
}
|
||||
},
|
||||
tianshu3:{
|
||||
swdtianshu3:{
|
||||
trigger:{global:['useCardAfter','useSkillAfter','phaseAfter']},
|
||||
silent:true,
|
||||
filter:function(event){
|
||||
return event.skill!='tianshu2';
|
||||
return event.skill!='swdtianshu2';
|
||||
},
|
||||
content:function(){
|
||||
player.removeSkill('tianshu3');
|
||||
player.removeSkill('swdtianshu3');
|
||||
}
|
||||
},
|
||||
tianshu:{
|
||||
swdtianshu:{
|
||||
unique:true,
|
||||
enable:'phaseUse',
|
||||
filterCard:function(card){
|
||||
|
@ -7327,7 +7327,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return false;
|
||||
}
|
||||
},
|
||||
group:'tianshu_remove',
|
||||
group:'swdtianshu_remove',
|
||||
createDialog:function(player,target,onlylist){
|
||||
var names=[];
|
||||
var list=[];
|
||||
|
@ -7384,7 +7384,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return get.max(list,get.skillRank,'item');
|
||||
};
|
||||
if(event.isMine()){
|
||||
event.dialog=lib.skill.tianshu.createDialog(player,target);
|
||||
event.dialog=lib.skill.swdtianshu.createDialog(player,target);
|
||||
event.switchToAuto=function(){
|
||||
event._result=event.skillai(event.list);
|
||||
game.resume();
|
||||
|
@ -7393,7 +7393,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
game.pause();
|
||||
}
|
||||
else{
|
||||
event._result=event.skillai(lib.skill.tianshu.createDialog(player,target,true));
|
||||
event._result=event.skillai(lib.skill.swdtianshu.createDialog(player,target,true));
|
||||
}
|
||||
"step 1"
|
||||
_status.imchoosing=false;
|
||||
|
@ -7401,10 +7401,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
event.dialog.close();
|
||||
}
|
||||
var link=result;
|
||||
player.addAdditionalSkill('tianshu',link);
|
||||
player.addAdditionalSkill('swdtianshu',link);
|
||||
player.popup(link);
|
||||
player.markSkillCharacter('tianshu',target,get.translation(link),lib.translate[link+'_info']);
|
||||
player.storage.tianshu=target;
|
||||
player.markSkillCharacter('swdtianshu',target,get.translation(link),lib.translate[link+'_info']);
|
||||
player.storage.swdtianshu=target;
|
||||
player.checkMarks();
|
||||
game.log(player,'获得了技能','【'+get.translation(link)+'】');
|
||||
},
|
||||
|
@ -7418,35 +7418,35 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
}
|
||||
},
|
||||
tianshu_remove:{
|
||||
swdtianshu_remove:{
|
||||
trigger:{global:'dieAfter'},
|
||||
silent:true,
|
||||
filter:function(event,player){
|
||||
return event.player==player.storage.tianshu;
|
||||
return event.player==player.storage.swdtianshu;
|
||||
},
|
||||
content:function(){
|
||||
player.unmarkSkill('tianshu');
|
||||
player.removeAdditionalSkill('tianshu');
|
||||
delete player.storage.tianshu;
|
||||
player.unmarkSkill('swdtianshu');
|
||||
player.removeAdditionalSkill('swdtianshu');
|
||||
delete player.storage.swdtianshu;
|
||||
}
|
||||
},
|
||||
tianshu2_old:{
|
||||
swdtianshu2_old:{
|
||||
trigger:{player:'phaseBegin'},
|
||||
direct:true,
|
||||
priority:-9,
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.chooseTarget(get.prompt('tianshu'),lib.skill.tianshu.filterTarget).ai=function(target){
|
||||
player.chooseTarget(get.prompt('swdtianshu'),lib.skill.swdtianshu.filterTarget).ai=function(target){
|
||||
if(target.maxHp<5) return Math.random()*(5-target.maxHp);
|
||||
return -1;
|
||||
};
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.logSkill('tianshu',result.targets);
|
||||
player.logSkill('swdtianshu',result.targets);
|
||||
event.target=result.targets[0];
|
||||
if(event.isMine()){
|
||||
ui.auto.hide();
|
||||
event.dialog=lib.skill.tianshu.createDialog(player,result.targets[0]);
|
||||
event.dialog=lib.skill.swdtianshu.createDialog(player,result.targets[0]);
|
||||
game.pause();
|
||||
}
|
||||
else{
|
||||
|
@ -7482,8 +7482,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
event.finish();
|
||||
}
|
||||
"step 2"
|
||||
if(player.storage.tianshu){
|
||||
player.unmark(player.storage.tianshu+'_charactermark');
|
||||
if(player.storage.swdtianshu){
|
||||
player.unmark(player.storage.swdtianshu+'_charactermark');
|
||||
}
|
||||
ui.auto.show();
|
||||
if(event.dialog){
|
||||
|
@ -7493,7 +7493,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var target=event.target;
|
||||
player.addSkill(link);
|
||||
player.skills.remove(link);
|
||||
player.additionalSkills.tianshu=link;
|
||||
player.additionalSkills.swdtianshu=link;
|
||||
player.markCharacter(target.name,{
|
||||
name:get.translation(link),
|
||||
content:lib.translate[link+'_info']
|
||||
|
@ -7501,10 +7501,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
game.addVideo('markCharacter',player,{
|
||||
name:'get.translation(link)',
|
||||
content:lib.translate[link+'_info'],
|
||||
id:'tianshu',
|
||||
id:'swdtianshu',
|
||||
target:target.name
|
||||
});
|
||||
player.storage.tianshu=target.name;
|
||||
player.storage.swdtianshu=target.name;
|
||||
player.checkMarks();
|
||||
player.popup(link);
|
||||
},
|
||||
|
@ -10144,9 +10144,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
tanlin2:'探麟',
|
||||
pozhen:'破阵',
|
||||
yunchou:'运筹',
|
||||
tianshu:'天书',
|
||||
tianshu_bg:'书',
|
||||
tianshu2:'天书',
|
||||
swdtianshu:'天书',
|
||||
swdtianshu_bg:'书',
|
||||
swdtianshu2:'天书',
|
||||
xingdian:'星点',
|
||||
luomei:'落梅',
|
||||
yulin:'玉鳞',
|
||||
|
@ -10259,8 +10259,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
pozhen_info_alter:'每当你受到一次伤害,若你的手牌数小于伤害来源,你可以弃置其X张手牌。X为你与伤害来源的手牌数之差。',
|
||||
yunchou_info:'出牌阶段限一次,你可以弃置一张手牌,并弃置一名其他角色的一张手牌,若两张牌颜色相同,你摸一张牌,否则对方摸一张牌',
|
||||
yunchou_info_alter:'出牌阶段限一次,你可以弃置一张非基本手牌,并弃置一名其他角色的一张手牌,若两张牌颜色相同,你摸一张牌,否则对方摸一张牌',
|
||||
tianshu_old_info:'结束阶段,你可以弃置一张牌并从三名随机武将中选择一个,在2X回合后你将其所有技能加入你的天书列表,X为其技能数;在技能加入天书列表时,或于出牌阶段,你可以装备一项天书列表中的技能',
|
||||
tianshu_info:'出牌阶段,你可以弃置一张锦囊牌,然后获得一名其他角色的一项技能直到该角色死亡(替换以此法获得的前一个技能)',
|
||||
swdtianshu_old_info:'结束阶段,你可以弃置一张牌并从三名随机武将中选择一个,在2X回合后你将其所有技能加入你的天书列表,X为其技能数;在技能加入天书列表时,或于出牌阶段,你可以装备一项天书列表中的技能',
|
||||
swdtianshu_info:'出牌阶段,你可以弃置一张锦囊牌,然后获得一名其他角色的一项技能直到该角色死亡(替换以此法获得的前一个技能)',
|
||||
zaowu_info:'出牌阶段限一次,你可以将一张黑桃或红桃手牌当作封印之蛋使用',
|
||||
luomei_info:'每当你使用或打出一张梅花花色的牌,你可以摸一张牌',
|
||||
xingdian_info:'出牌阶段限一次,你可以弃置一张手牌,然后随机弃置两名敌人各一张牌',
|
||||
|
|
|
@ -3,7 +3,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return {
|
||||
name:'xianjian',
|
||||
character:{
|
||||
pal_lixiaoyao:['male','qun',4,['tianjian','yufeng']],
|
||||
pal_lixiaoyao:['male','qun',4,['tianjian','xjyufeng']],
|
||||
pal_zhaoliner:['female','wei',3,['huimeng','tianshe']],
|
||||
pal_linyueru:['female','wei',3,['guiyuan','qijian']],
|
||||
pal_anu:['female','wu',3,['lingdi','anwugu']],
|
||||
|
@ -229,13 +229,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
switch(player.countUsed()){
|
||||
case 2:skill='yanzhan';break;
|
||||
case 3:skill='tianjian';break;
|
||||
case 4:skill='yufeng';break;
|
||||
case 4:skill='xjyufeng';break;
|
||||
}
|
||||
if(skill&&!player.hasSkill(skill)){
|
||||
player.addTempSkill(skill);
|
||||
player.popup(skill);
|
||||
game.log(player,'获得了','【'+get.translation(skill)+'】');
|
||||
if(skill=='yufeng'){
|
||||
if(skill=='xjyufeng'){
|
||||
var nh=player.countCards('h');
|
||||
if(nh<2){
|
||||
player.draw(2-nh);
|
||||
|
@ -243,7 +243,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(!player.storage.counttrigger){
|
||||
player.storage.counttrigger={};
|
||||
}
|
||||
player.storage.counttrigger.yufeng=1;
|
||||
player.storage.counttrigger.xjyufeng=1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1838,7 +1838,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
},
|
||||
yufeng:{
|
||||
xjyufeng:{
|
||||
trigger:{player:'loseEnd'},
|
||||
forced:true,
|
||||
usable:2,
|
||||
|
@ -4368,8 +4368,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
tianjian:'天剑',
|
||||
tianjian_info:'出牌阶段限一次,你可以将一张杀当作万箭齐发使用,受到伤害的角色随机弃置一张牌',
|
||||
tianjian_info_alter:'出牌阶段限一次,你可以将一张杀当作万箭齐发使用',
|
||||
yufeng:'御风',
|
||||
yufeng_info:'锁定技,当你失去手牌后,若手牌数少于2,你将手牌数补至2(每回合最多发动两次)',
|
||||
xjyufeng:'御风',
|
||||
xjyufeng_info:'锁定技,当你失去手牌后,若手牌数少于2,你将手牌数补至2(每回合最多发动两次)',
|
||||
huimeng:'回梦',
|
||||
huimeng_info:'每当你回复一点体力,可以摸两张牌',
|
||||
tianshe:'天蛇',
|
||||
|
|
|
@ -1449,7 +1449,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
aiValue:function(player,card,num){
|
||||
if(card.name=='zhangba') return 15;
|
||||
if(player.getEquip('zhangba')&&player.countCards('h')>1&&['shan','tao'].contains(card.name)) return 0;
|
||||
if(player.getEquip('zhangba')&&player.countCards('hs')>1&&['shan','tao'].contains(card.name)) return 0;
|
||||
if(card.name=='shan'||card.name=='tao') return num/2;
|
||||
},
|
||||
},
|
||||
|
@ -1459,11 +1459,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
discard:false,
|
||||
filter:function (event,player){
|
||||
if(player.hasJudge('lebu')) return false;
|
||||
return player.countCards('he',{suit:'diamond'})>0;
|
||||
return player.countCards('hes',{suit:'diamond'})>0;
|
||||
},
|
||||
viewAs:{name:'lebu'},
|
||||
//prepare:"throw",
|
||||
position:"he",
|
||||
position:"hes",
|
||||
filterCard:function(card,player,event){
|
||||
return get.suit(card)=='diamond'&&player.canAddJudge({name:'lebu',cards:[card]});
|
||||
},
|
||||
|
@ -1473,7 +1473,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
check:function(card){
|
||||
var player=_status.event.player;
|
||||
if(!player.getEquip('zhangba')&&player.countCards('h','sha')<2){
|
||||
if(!player.getEquip('zhangba')&&player.countCards('hs','sha')<2){
|
||||
if(player.countCards('h',function(cardx){
|
||||
return cardx!=card&&cardx.name=='shan';
|
||||
})>0) return 0;
|
||||
|
|
|
@ -1117,7 +1117,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audio:'taoluan',
|
||||
enable:'chooseToUse',
|
||||
filter:function(event,player){
|
||||
return event.type!='wuxie'&&event.type!='respondShan'&&!player.hasSkill('xintaoluan3')&&player.countCards('he')>0&&!_status.dying.length;
|
||||
return event.type!='wuxie'&&event.type!='respondShan'&&!player.hasSkill('xintaoluan3')&&player.countCards('hes')>0&&!_status.dying.length;
|
||||
},
|
||||
init:function(player){
|
||||
if(!player.storage.xintaoluan) player.storage.xintaoluan=[];
|
||||
|
@ -1147,7 +1147,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
check:function(button){
|
||||
var player=_status.event.player;
|
||||
if(player.countCards('h',button.link[2])>0) return 0;
|
||||
if(player.countCards('hs',button.link[2])>0) return 0;
|
||||
if(button.link[2]=='wugu') return;
|
||||
var effect=player.getUseValue(button.link[2]);
|
||||
if(effect>0) return effect;
|
||||
|
@ -1162,7 +1162,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
check:function(card){
|
||||
return 6-get.value(card);
|
||||
},
|
||||
position:'he',
|
||||
position:'hes',
|
||||
viewAs:{name:links[0][2],nature:links[0][3]},
|
||||
onuse:function(result,player){
|
||||
var evt=_status.event.getParent('phase');
|
||||
|
@ -1257,7 +1257,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
prompt:'将一张牌当做闪使用',
|
||||
enable:'chooseToUse',
|
||||
filter:function(event,player){
|
||||
return player.countCards('he')&&!player.storage.xintaoluan.contains('shan')&&!player.hasSkill('xintaoluan3')&&!_status.dying.length;
|
||||
return player.countCards('hes')&&!player.storage.xintaoluan.contains('shan')&&!player.hasSkill('xintaoluan3')&&!_status.dying.length;
|
||||
},
|
||||
onuse:function(result,player){
|
||||
var evt=_status.event.getParent('phase');
|
||||
|
@ -1275,7 +1275,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.storage.xintaoluan.add('shan');
|
||||
},
|
||||
filterCard:true,
|
||||
position:'he',
|
||||
position:'hes',
|
||||
selectCard:1,
|
||||
viewAs:{name:'shan'},
|
||||
check:function(card){
|
||||
|
@ -1294,7 +1294,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
ai:{
|
||||
skillTagFilter:function(player){
|
||||
return player.countCards('he')&&!player.storage.xintaoluan.contains('shan')&&!player.hasSkill('xintaoluan3');
|
||||
return player.countCards('hes')&&!player.storage.xintaoluan.contains('shan')&&!player.hasSkill('xintaoluan3');
|
||||
},
|
||||
threaten:1.5,
|
||||
respondShan:true,
|
||||
|
@ -1305,10 +1305,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
enable:'chooseToUse',
|
||||
prompt:'将一张牌当做无懈可击使用',
|
||||
filter:function(event,player){
|
||||
return player.countCards('he')&&(!player.storage.xintaoluan.contains('wuxie'))&&!player.hasSkill('xintaoluan3')&&!_status.dying.length;
|
||||
return player.countCards('hes')&&(!player.storage.xintaoluan.contains('wuxie'))&&!player.hasSkill('xintaoluan3')&&!_status.dying.length;
|
||||
},
|
||||
viewAsFilter:function(player){
|
||||
return player.countCards('he')&&(!player.storage.xintaoluan.contains('wuxie'))&&!player.hasSkill('xintaoluan3')&&!_status.dying.length;
|
||||
return player.countCards('hes')&&(!player.storage.xintaoluan.contains('wuxie'))&&!player.hasSkill('xintaoluan3')&&!_status.dying.length;
|
||||
},
|
||||
onuse:function(result,player){
|
||||
var evt=_status.event.getParent('phase');
|
||||
|
@ -1326,7 +1326,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.storage.xintaoluan.add('wuxie');
|
||||
},
|
||||
filterCard:true,
|
||||
position:'he',
|
||||
position:'hes',
|
||||
selectCard:1,
|
||||
viewAs:{name:'wuxie'},
|
||||
check:function(card){
|
||||
|
@ -3754,10 +3754,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audio:2,
|
||||
enable:'chooseToUse',
|
||||
filter:function(event,player){
|
||||
return event.type!='wuxie'&&event.type!='respondShan'&&!player.hasSkill('taoluan3')&&player.countCards('he')>0;//&&!_status.dying.length;
|
||||
return event.type!='wuxie'&&event.type!='respondShan'&&!player.hasSkill('taoluan3')&&player.countCards('hes')>0;//&&!_status.dying.length;
|
||||
},
|
||||
hiddenCard:function(player,name){
|
||||
return (!player.storage.taoluan.contains(name)&&player.countCards('he')>0&&!player.hasSkill('taoluan3')&&lib.inpile.contains(name));
|
||||
return (!player.storage.taoluan.contains(name)&&player.countCards('hes')>0&&!player.hasSkill('taoluan3')&&lib.inpile.contains(name));
|
||||
},
|
||||
init:function(player){
|
||||
if(!player.storage.taoluan) player.storage.taoluan=[];
|
||||
|
@ -3787,7 +3787,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
check:function(button){
|
||||
var player=_status.event.player;
|
||||
if(player.countCards('h',button.link[2])>0) return 0;
|
||||
if(player.countCards('hs',button.link[2])>0) return 0;
|
||||
if(button.link[2]=='wugu') return 0;
|
||||
var effect=player.getUseValue(button.link[2]);
|
||||
if(effect>0) return effect;
|
||||
|
@ -3802,7 +3802,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
check:function(card){
|
||||
return 6-get.value(card);
|
||||
},
|
||||
position:'he',
|
||||
position:'hes',
|
||||
viewAs:{name:links[0][2],nature:links[0][3]},
|
||||
onuse:function(result,player){
|
||||
player.storage.taoluan.add(result.card.name);
|
||||
|
@ -3815,7 +3815,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
ai:{
|
||||
skillTagFilter:function(player){
|
||||
if(!player.countCards('he')||player.hasSkill('taoluan3')) return false;
|
||||
if(!player.countCards('hes')||player.hasSkill('taoluan3')) return false;
|
||||
if(!player.storage.taoluan.contains('tao')){}
|
||||
else if(player.isDying()&&!player.storage.taoluan.contains('jiu')){}
|
||||
else return false;
|
||||
|
@ -3855,9 +3855,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var player=_status.event.player;
|
||||
if(get.attitude(player,target)>0){
|
||||
if(get.attitude(target,player)>0){
|
||||
return target.countCards('h');
|
||||
return target.countCards('he');
|
||||
}
|
||||
return target.countCards('h')/2;
|
||||
return target.countCards('he')/2;
|
||||
}
|
||||
return 0;
|
||||
});
|
||||
|
@ -3892,18 +3892,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
prompt:'将一张牌当做闪使用',
|
||||
enable:'chooseToUse',
|
||||
filter:function(event,player){
|
||||
return !player.storage.taoluan.contains('shan')&&!player.hasSkill('taoluan3')&&player.countCards('he');//&&!_status.dying.length;
|
||||
return !player.storage.taoluan.contains('shan')&&!player.hasSkill('taoluan3')&&player.countCards('hes');//&&!_status.dying.length;
|
||||
},
|
||||
onuse:function(result,player){
|
||||
player.storage.taoluan.add('shan');
|
||||
},
|
||||
filterCard:true,
|
||||
position:'he',
|
||||
position:'hes',
|
||||
selectCard:1,
|
||||
viewAs:{name:'shan'},
|
||||
ai:{
|
||||
skillTagFilter:function(player){
|
||||
return player.countCards('he')&&!player.storage.taoluan.contains('shan')&&!player.hasSkill('taoluan3');
|
||||
return player.countCards('hes')&&!player.storage.taoluan.contains('shan')&&!player.hasSkill('taoluan3');
|
||||
},
|
||||
threaten:1.5,
|
||||
respondShan:true,
|
||||
|
@ -3914,13 +3914,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
enable:'chooseToUse',
|
||||
prompt:'将一张牌当做无懈可击使用',
|
||||
viewAsFilter:function(player){
|
||||
return !player.storage.taoluan.contains('wuxie')&&!player.hasSkill('taoluan3')&&player.countCards('he');
|
||||
return !player.storage.taoluan.contains('wuxie')&&!player.hasSkill('taoluan3')&&player.countCards('hes');
|
||||
},
|
||||
onuse:function(result,player){
|
||||
player.storage.taoluan.add('wuxie');
|
||||
},
|
||||
filterCard:true,
|
||||
position:'he',
|
||||
position:'hes',
|
||||
selectCard:1,
|
||||
viewAs:{name:'wuxie'},
|
||||
},
|
||||
|
@ -5184,8 +5184,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return get.color(card)=='black';
|
||||
},
|
||||
viewAsFilter:function(player){
|
||||
return player.countCards('h',{color:'black'})>0;
|
||||
return player.countCards('hs',{color:'black'})>0;
|
||||
},
|
||||
position:'hs',
|
||||
viewAs:{name:'wuxie'},
|
||||
prompt:'将一张黑色手牌当无懈可击使用',
|
||||
check:function(card){return 8-get.value(card)},
|
||||
|
@ -5198,8 +5199,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return get.color(card)=='red';
|
||||
},
|
||||
viewAs:{name:'shan'},
|
||||
position:'hs',
|
||||
viewAsFilter:function(player){
|
||||
if(!player.countCards('h',{color:'red'})) return false;
|
||||
if(!player.countCards('hs',{color:'red'})) return false;
|
||||
},
|
||||
audio:true,
|
||||
prompt:'将一张红色手牌当闪使用或打出',
|
||||
|
@ -7892,27 +7894,33 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
enable:['chooseToUse','chooseToRespond'],
|
||||
filterCard:true,
|
||||
selectCard:2,
|
||||
position:'h',
|
||||
position:'hs',
|
||||
audio:2,
|
||||
derivation:['new_rewusheng','olpaoxiao'],
|
||||
viewAs:{name:'sha'},
|
||||
prompt:'将两张手牌当杀使用或打出',
|
||||
viewAsFilter:function(player){
|
||||
return player.countCards('hs')>1;
|
||||
},
|
||||
check:function(card){
|
||||
if(_status.event.player.hasSkill('new_rewusheng')&&get.color(card)=='red') return 0;
|
||||
if(_status.event.name=='chooseToRespond'){
|
||||
if(card.name=='sha') return 0;
|
||||
return 6-get.useful(card);
|
||||
}
|
||||
if(_status.event.player.countCards('h')<4) return 6-get.useful(card);
|
||||
if(_status.event.player.countCards('hs')<4) return 6-get.useful(card);
|
||||
return 7-get.useful(card);
|
||||
},
|
||||
ai:{
|
||||
respondSha:true,
|
||||
skillTagFilter:function(player){
|
||||
if(player.countCards('hs')<2) return false;
|
||||
},
|
||||
order:function(item,player){
|
||||
if(player.hasSkill('new_rewusheng')&&player.hasSkill('olpaoxiao')){
|
||||
return 1;
|
||||
}
|
||||
if(player.countCards('h')<4){
|
||||
if(player.countCards('hs')<4){
|
||||
return 1;
|
||||
}
|
||||
return 4;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
window.noname_asset_list=[
|
||||
'v1.9.109.3.8',
|
||||
'v1.9.110',
|
||||
'audio/background/aozhan_chaoming.mp3',
|
||||
'audio/background/aozhan_online.mp3',
|
||||
'audio/background/aozhan_rewrite.mp3',
|
||||
|
@ -701,6 +701,8 @@ window.noname_asset_list=[
|
|||
'audio/die/sp_bianfuren.mp3',
|
||||
'audio/die/sp_duyu.mp3',
|
||||
'audio/die/zongyu.mp3',
|
||||
'audio/die/nanhualaoxian.mp3',
|
||||
'audio/die/simazhou.mp3',
|
||||
|
||||
'audio/skill/decadezishou1.mp3',
|
||||
'audio/skill/decadezishou2.mp3',
|
||||
|
@ -3087,6 +3089,14 @@ window.noname_asset_list=[
|
|||
'audio/skill/spyuejian2.mp3',
|
||||
'audio/skill/zyqiao1.mp3',
|
||||
'audio/skill/zyqiao2.mp3',
|
||||
'audio/skill/caiwang1.mp3',
|
||||
'audio/skill/caiwang2.mp3',
|
||||
'audio/skill/naxiang1.mp3',
|
||||
'audio/skill/naxiang2.mp3',
|
||||
'audio/skill/tianshu1.mp3',
|
||||
'audio/skill/tianshu2.mp3',
|
||||
'audio/skill/yufeng1.mp3',
|
||||
'audio/skill/yufeng2.mp3',
|
||||
|
||||
'audio/voice/male/0.mp3',
|
||||
'audio/voice/male/1.mp3',
|
||||
|
@ -3183,7 +3193,8 @@ window.noname_asset_list=[
|
|||
'image/card/kuwu.png',
|
||||
'image/card/jiuwei.png',
|
||||
'image/card/mianju.png',
|
||||
'image/card/shoulijian.png','image/card/rewrite_bagua.png',
|
||||
'image/card/shoulijian.png',
|
||||
'image/card/rewrite_bagua.png',
|
||||
'image/card/rewrite_baiyin.png',
|
||||
'image/card/rewrite_lanyinjia.png',
|
||||
'image/card/rewrite_renwang.png',
|
||||
|
@ -3893,6 +3904,7 @@ window.noname_asset_list=[
|
|||
'image/character/noname_machao.png',
|
||||
'image/character/noname_sunce.png',
|
||||
'image/character/simazhou.jpg',
|
||||
'image/character/nanhualaoxian.jpg',
|
||||
|
||||
'image/character/baiwuchang.jpg',
|
||||
'image/character/baosanniang.jpg',
|
||||
|
|
332
game/game.js
332
game/game.js
|
@ -5161,6 +5161,12 @@
|
|||
map.expand_dialog.hide();
|
||||
map.fouralign.hide();
|
||||
}
|
||||
if(config.versus_mode=='three'){
|
||||
map.edit_character_three.show();
|
||||
}
|
||||
else{
|
||||
map.edit_character_three.hide();
|
||||
}
|
||||
if(config.versus_mode=='three'||config.versus_mode=='one'){
|
||||
map.enable_all_three.show();
|
||||
map.enable_all_cards.show();
|
||||
|
@ -5425,6 +5431,113 @@
|
|||
},
|
||||
clear:true,
|
||||
},
|
||||
edit_character_three:{
|
||||
name:'编辑统率将池',
|
||||
clear:true,
|
||||
onclick:function(){
|
||||
if(get.mode()!='versus'){
|
||||
alert('请进入对决模式,然后再编辑将池');
|
||||
return;
|
||||
}
|
||||
var container=ui.create.div('.popup-container.editor');
|
||||
var editorpage=ui.create.div(container);
|
||||
var discardConfig=ui.create.div('.editbutton','取消',editorpage,function(){
|
||||
ui.window.classList.remove('shortcutpaused');
|
||||
ui.window.classList.remove('systempaused');
|
||||
container.delete(null);
|
||||
delete window.saveNonameInput;
|
||||
});
|
||||
var node=container;
|
||||
var map=get.config('character_three')||lib.choiceThree;
|
||||
var str='character=[\n ';
|
||||
for(var i=0;i<map.length;i++){
|
||||
str+='"'+map[i]+'",';
|
||||
if(i+1<map.length&&(i+1)%5==0) str+='\n ';
|
||||
}
|
||||
str+='\n];';
|
||||
node.code=str;
|
||||
ui.window.classList.add('shortcutpaused');
|
||||
ui.window.classList.add('systempaused');
|
||||
var saveInput=function(){
|
||||
var code;
|
||||
if(container.editor){
|
||||
code=container.editor.getValue();
|
||||
}
|
||||
else if(container.textarea){
|
||||
code=container.textarea.value;
|
||||
}
|
||||
try{
|
||||
var character=null;
|
||||
eval(code);
|
||||
if(!Array.isArray(character)){
|
||||
throw('err');
|
||||
}
|
||||
}
|
||||
catch(e){
|
||||
alert('代码语法有错误,请仔细检查('+e+')');
|
||||
return;
|
||||
}
|
||||
game.saveConfig('character_three',character,'versus');
|
||||
ui.window.classList.remove('shortcutpaused');
|
||||
ui.window.classList.remove('systempaused');
|
||||
container.delete();
|
||||
container.code=code;
|
||||
delete window.saveNonameInput;
|
||||
};
|
||||
window.saveNonameInput=saveInput;
|
||||
var saveConfig=ui.create.div('.editbutton','保存',editorpage,saveInput);
|
||||
var editor=ui.create.div(editorpage);
|
||||
if(node.aced){
|
||||
ui.window.appendChild(node);
|
||||
node.editor.setValue(node.code,1);
|
||||
}
|
||||
else if(lib.device=='ios'){
|
||||
ui.window.appendChild(node);
|
||||
if(!node.textarea){
|
||||
var textarea=document.createElement('textarea');
|
||||
editor.appendChild(textarea);
|
||||
node.textarea=textarea;
|
||||
lib.setScroll(textarea);
|
||||
}
|
||||
node.textarea.value=node.code;
|
||||
}
|
||||
else{
|
||||
var aceReady=function(){
|
||||
ui.window.appendChild(node);
|
||||
var mirror = window.CodeMirror(editor, {
|
||||
value:node.code,
|
||||
mode:"javascript",
|
||||
lineWrapping:!lib.config.touchscreen&&lib.config.mousewheel,
|
||||
lineNumbers:true,
|
||||
indentUnit:4,
|
||||
autoCloseBrackets:true,
|
||||
theme:'mdn-like'
|
||||
});
|
||||
lib.setScroll(editor.querySelector('.CodeMirror-scroll'));
|
||||
node.aced=true;
|
||||
node.editor=mirror;
|
||||
}
|
||||
if(!window.ace){
|
||||
lib.init.js(lib.assetURL+'game','codemirror',aceReady);
|
||||
lib.init.css(lib.assetURL+'layout/default','codemirror');
|
||||
}
|
||||
else{
|
||||
aceReady();
|
||||
}
|
||||
};
|
||||
},
|
||||
},
|
||||
reset_character_three:{
|
||||
name:'重置将池',
|
||||
intro:'将统率三军模式下的将池重置为默认将池',
|
||||
clear:true,
|
||||
onclick:function(){
|
||||
if(confirm('该操作不可撤销!是否清除统率三军模式的自定义将池,并将其重置为默认将池?')){
|
||||
game.saveConfig('character_three',null,'versus');
|
||||
alert('将池已重置');
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
},
|
||||
connect:{
|
||||
|
@ -14901,7 +15014,7 @@
|
|||
var sort;
|
||||
var frag1=document.createDocumentFragment();
|
||||
var frag2=document.createDocumentFragment();
|
||||
var hs=player.getCards('h');
|
||||
var hs=player.getCards('hs');
|
||||
for(var i=0;i<cards.length;i++){
|
||||
if(hs.contains(cards[i])){
|
||||
cards.splice(i--,1);
|
||||
|
@ -15061,19 +15174,15 @@
|
|||
}
|
||||
"step 1"
|
||||
event.gaintag_map={};
|
||||
var hs=[],es=[],js=[];
|
||||
var hs=[],es=[],js=[],ss=[];
|
||||
if(event.insert_card&&event.position==ui.cardPile) event.cards.reverse();
|
||||
var hej=player.getCards('hej');
|
||||
var hej=player.getCards('hejs');
|
||||
event.stockcards=cards.slice(0);
|
||||
for(var i=0;i<cards.length;i++){
|
||||
if(cards[i].gaintag&&cards[i].gaintag.length){
|
||||
event.gaintag_map[cards[i].cardid]=cards[i].gaintag.slice(0);
|
||||
cards[i].removeGaintag(true);
|
||||
}
|
||||
cards[i].style.transform+=' scale(0.2)';
|
||||
cards[i].classList.remove('glow');
|
||||
cards[i].recheck();
|
||||
|
||||
if(!hej.contains(cards[i])){
|
||||
cards.splice(i--,1);
|
||||
}
|
||||
|
@ -15087,14 +15196,25 @@
|
|||
js.push(cards[i]);
|
||||
}
|
||||
else if(cards[i].parentNode.classList.contains('handcards')){
|
||||
cards[i].original='h';
|
||||
hs.push(cards[i]);
|
||||
if(cards[i].classList.contains('glows')){
|
||||
cards[i].original='s';
|
||||
ss.push(cards[i]);
|
||||
}
|
||||
else{
|
||||
cards[i].original='h';
|
||||
hs.push(cards[i]);
|
||||
}
|
||||
}
|
||||
else{
|
||||
cards[i].original=null;
|
||||
}
|
||||
}
|
||||
|
||||
cards[i].style.transform+=' scale(0.2)';
|
||||
cards[i].classList.remove('glow');
|
||||
cards[i].classList.remove('glows');
|
||||
cards[i].recheck();
|
||||
|
||||
var info=lib.card[cards[i].name];
|
||||
if(info.destroy||cards[i]._destroy){
|
||||
cards[i].delete();
|
||||
|
@ -15122,12 +15242,14 @@
|
|||
else{
|
||||
cards[i].remove();
|
||||
}
|
||||
//if(ss.contains(cards[i])) cards.splice(i--,1);
|
||||
}
|
||||
if(player==game.me) ui.updatehl();
|
||||
ui.updatej(player);
|
||||
game.broadcast(function(player,cards,num){
|
||||
for(var i=0;i<cards.length;i++){
|
||||
cards[i].classList.remove('glow');
|
||||
cards[i].classList.remove('glows');
|
||||
cards[i].fix();
|
||||
cards[i].remove();
|
||||
}
|
||||
|
@ -15137,7 +15259,7 @@
|
|||
ui.updatej(player);
|
||||
_status.cardPileNum=num;
|
||||
},player,cards,ui.cardPile.childNodes.length);
|
||||
game.addVideo('lose',player,[get.cardsInfo(hs),get.cardsInfo(es),get.cardsInfo(js)]);
|
||||
game.addVideo('lose',player,[get.cardsInfo(hs),get.cardsInfo(es),get.cardsInfo(js),get.cardsInfo(ss)]);
|
||||
event.cards2=hs.concat(es);
|
||||
player.getHistory('lose').push(event);
|
||||
game.getGlobalHistory().cardMove.push(event);
|
||||
|
@ -15153,7 +15275,10 @@
|
|||
next.relatedEvent=evt;
|
||||
next.setContent('orderingDiscard');
|
||||
}
|
||||
if(!event.noOrdering) evt.orderingCards.addArray(cards);
|
||||
if(!event.noOrdering){
|
||||
evt.orderingCards.addArray(cards);
|
||||
evt.orderingCards.addArray(ss);
|
||||
}
|
||||
}
|
||||
else if(event.position==ui.cardPile){
|
||||
game.updateRoundNumber();
|
||||
|
@ -15161,6 +15286,7 @@
|
|||
event.hs=hs;
|
||||
event.es=es;
|
||||
event.js=js;
|
||||
event.ss=ss;
|
||||
"step 2"
|
||||
if(num<cards.length){
|
||||
if(event.es.contains(cards[num])){
|
||||
|
@ -15600,7 +15726,7 @@
|
|||
if(lib.character[player.name1]) _status.characterlist.add(player.name1);
|
||||
if(lib.character[player.name2]) _status.characterlist.add(player.name2);
|
||||
}
|
||||
event.cards=player.getCards('hej');
|
||||
event.cards=player.getCards('hejs');
|
||||
if(event.cards.length){
|
||||
player.discard(event.cards).forceDie=true;
|
||||
//player.$throw(event.cards,1000);
|
||||
|
@ -16131,6 +16257,21 @@
|
|||
},
|
||||
player:{
|
||||
//新函数
|
||||
loseToSpecial:function(cards,tag){
|
||||
var next=game.loseAsync({
|
||||
player:this,
|
||||
cards:cards,
|
||||
tag:tag,
|
||||
toStorage:true,
|
||||
});
|
||||
next.setContent(function(){
|
||||
"step 0"
|
||||
player.lose(cards,ui.special).set('getlx',false);
|
||||
"step 1"
|
||||
player.directgains(cards,null,event.tag)
|
||||
});
|
||||
return next;
|
||||
},
|
||||
addGaintag:function(cards,tag){
|
||||
game.addVideo('addGaintag',this,[get.cardsInfo(cards),tag]);
|
||||
game.broadcastAll(function(player,cards,tag){
|
||||
|
@ -16151,7 +16292,7 @@
|
|||
var player=this;
|
||||
if(player.hasSkillTag('save',true,target,true)) return true;
|
||||
for(var i in lib.card){
|
||||
if(lib.inpile.contains(i)||player.countCards('h',i)){
|
||||
if(lib.inpile.contains(i)||player.countCards('hs',i)){
|
||||
if(lib.card[i].savable&&lib.filter.cardSavable({name:i},player,target)&&(_status.connectMode||player.hasUsableCard(i))) return true;
|
||||
}
|
||||
}
|
||||
|
@ -16319,7 +16460,7 @@
|
|||
},
|
||||
hasUsableCard:function(name){
|
||||
var player=this;
|
||||
if(player.countCards('h',name)) return true;
|
||||
if(player.countCards('hs',name)) return true;
|
||||
var skills=player.getSkills(true).concat(lib.skill.global);
|
||||
game.expandSkills(skills);
|
||||
for(var i=0;i<skills.length;i++){
|
||||
|
@ -17214,10 +17355,11 @@
|
|||
name:this.name,
|
||||
name1:this.name1,
|
||||
name2:this.name2,
|
||||
handcards:this.getCards('h'),
|
||||
handcards:this.getCards('hs'),
|
||||
gaintag:[],
|
||||
equips:this.getCards('e'),
|
||||
judges:this.getCards('j'),
|
||||
specials:this.getCards('s'),
|
||||
disableJudge:this.storage._disableJudge,
|
||||
disableEquip:this.storage.disableEquip,
|
||||
views:[],
|
||||
|
@ -17694,12 +17836,24 @@
|
|||
for(i=0;i<arg1.length;i++){
|
||||
if(arg1[i]=='h'){
|
||||
for(j=0;j<this.node.handcards1.childElementCount;j++){
|
||||
if(!this.node.handcards1.childNodes[j].classList.contains('removing')){
|
||||
if(!this.node.handcards1.childNodes[j].classList.contains('removing')&&!this.node.handcards1.childNodes[j].classList.contains('glows')){
|
||||
cards.push(this.node.handcards1.childNodes[j]);
|
||||
}
|
||||
}
|
||||
for(j=0;j<this.node.handcards2.childElementCount;j++){
|
||||
if(!this.node.handcards2.childNodes[j].classList.contains('removing')){
|
||||
if(!this.node.handcards2.childNodes[j].classList.contains('removing')&&!this.node.handcards1.childNodes[j].classList.contains('glows')){
|
||||
cards.push(this.node.handcards2.childNodes[j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(arg1[i]=='s'){
|
||||
for(j=0;j<this.node.handcards1.childElementCount;j++){
|
||||
if(!this.node.handcards1.childNodes[j].classList.contains('removing')&&this.node.handcards1.childNodes[j].classList.contains('glows')){
|
||||
cards.push(this.node.handcards1.childNodes[j]);
|
||||
}
|
||||
}
|
||||
for(j=0;j<this.node.handcards2.childElementCount;j++){
|
||||
if(!this.node.handcards2.childNodes[j].classList.contains('removing')&&this.node.handcards1.childNodes[j].classList.contains('glows')){
|
||||
cards.push(this.node.handcards2.childNodes[j]);
|
||||
}
|
||||
}
|
||||
|
@ -18242,6 +18396,7 @@
|
|||
if(next.selectTarget==undefined){
|
||||
next.selectTarget=lib.filter.selectTarget;
|
||||
}
|
||||
next.position='hs';
|
||||
if(next.ai1==undefined) next.ai1=get.order;
|
||||
if(next.ai2==undefined) next.ai2=get.effect_use;
|
||||
next.setContent('chooseToUse');
|
||||
|
@ -18310,6 +18465,7 @@
|
|||
next.prompt=str;
|
||||
}
|
||||
}
|
||||
next.position='hs';
|
||||
next.setContent('chooseToRespond');
|
||||
next._args=Array.from(arguments);
|
||||
return next;
|
||||
|
@ -19461,7 +19617,7 @@
|
|||
}
|
||||
},
|
||||
directgain:function(cards,broadcast,gaintag){
|
||||
var hs=this.getCards('h');
|
||||
var hs=this.getCards('hs');
|
||||
for(var i=0;i<cards.length;i++){
|
||||
if(hs.contains(cards[i])){
|
||||
cards.splice(i--,1);
|
||||
|
@ -19491,6 +19647,51 @@
|
|||
},this,cards);
|
||||
return this;
|
||||
},
|
||||
directgains:function(cards,broadcast,gaintag){
|
||||
var hs=this.getCards('hs');
|
||||
for(var i=0;i<cards.length;i++){
|
||||
if(hs.contains(cards[i])){
|
||||
cards.splice(i--,1);
|
||||
}
|
||||
}
|
||||
var addLast=function(card,node){
|
||||
if(gaintag){
|
||||
for(var i=0;i<node.childNodes.length;i++){
|
||||
var add=node.childNodes[node.childNodes.length-i-1];
|
||||
if(!add.classList.contains('glows')) break;
|
||||
if(add.hasGaintag(gaintag)){
|
||||
node.insertBefore(card,add.nextSibling);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
node.appendChild(card);
|
||||
}
|
||||
for(var i=0;i<cards.length;i++){
|
||||
cards[i].fix();
|
||||
cards[i].remove();
|
||||
if(gaintag) cards[i].addGaintag(gaintag);
|
||||
cards[i].classList.add('glows');
|
||||
if(this==game.me){
|
||||
cards[i].classList.add('drawinghidden');
|
||||
}
|
||||
if(get.is.singleHandcard()){
|
||||
addLast(cards[i],this.node.handcards1);
|
||||
}
|
||||
else{
|
||||
addLast(cards[i],this.node.handcards2);
|
||||
}
|
||||
}
|
||||
if(this==game.me||_status.video) ui.updatehl();
|
||||
if(!_status.video){
|
||||
game.addVideo('directgains',this,get.cardsInfo(cards));
|
||||
this.update();
|
||||
}
|
||||
if(broadcast!==false) game.broadcast(function(player,cards,gaintag){
|
||||
player.directgains(cards,null,gaintag);
|
||||
},this,cards,gaintag);
|
||||
return this;
|
||||
},
|
||||
gainMultiple:function(targets,position){
|
||||
var next=game.createEvent('gainMultiple',false);
|
||||
next.setContent('gainMultiple');
|
||||
|
@ -19541,6 +19742,7 @@
|
|||
hs:[],
|
||||
es:[],
|
||||
js:[],
|
||||
ss:[],
|
||||
cards:[],
|
||||
cards2:[],
|
||||
};
|
||||
|
@ -19549,11 +19751,12 @@
|
|||
map.hs.addArray(evt.hs);
|
||||
map.es.addArray(evt.es);
|
||||
map.js.addArray(evt.js);
|
||||
map.ss.addArray(evt.ss);
|
||||
map.cards.addArray(evt.cards);
|
||||
map.cards2.addArray(evt.cards2);
|
||||
}
|
||||
});
|
||||
if(map.cards.length>0) return map;
|
||||
if(map.cards.length>0||map.ss.length>0) return map;
|
||||
};
|
||||
next.gaintag=[];
|
||||
return next;
|
||||
|
@ -19590,7 +19793,7 @@
|
|||
}
|
||||
}
|
||||
if(next.cards){
|
||||
var hej=this.getCards('hej');
|
||||
var hej=this.getCards('hejs');
|
||||
for(var i=0;i<next.cards.length;i++){
|
||||
if(!hej.contains(next.cards[i])){
|
||||
next.cards.splice(i--,1);
|
||||
|
@ -19973,6 +20176,7 @@
|
|||
hs:[],
|
||||
es:[],
|
||||
js:[],
|
||||
ss:[],
|
||||
cards:[],
|
||||
cards2:[],
|
||||
};
|
||||
|
@ -19981,11 +20185,12 @@
|
|||
map.hs.addArray(evt.hs);
|
||||
map.es.addArray(evt.es);
|
||||
map.js.addArray(evt.js);
|
||||
map.ss.addArray(evt.ss);
|
||||
map.cards.addArray(evt.cards);
|
||||
map.cards2.addArray(evt.cards2);
|
||||
}
|
||||
});
|
||||
if(map.cards.length>0) return map;
|
||||
if(map.cards.length>0||map.ss.length>0) return map;
|
||||
};
|
||||
return next;
|
||||
},
|
||||
|
@ -20004,6 +20209,7 @@
|
|||
hs:[],
|
||||
es:[],
|
||||
js:[],
|
||||
ss:[],
|
||||
cards:[],
|
||||
cards2:[],
|
||||
};
|
||||
|
@ -20012,11 +20218,12 @@
|
|||
map.hs.addArray(evt.hs);
|
||||
map.es.addArray(evt.es);
|
||||
map.js.addArray(evt.js);
|
||||
map.ss.addArray(evt.ss);
|
||||
map.cards.addArray(evt.cards);
|
||||
map.cards2.addArray(evt.cards2);
|
||||
}
|
||||
});
|
||||
if(map.cards.length>0) return map;
|
||||
if(map.cards.length>0||map.ss.length>0) return map;
|
||||
};
|
||||
return next;
|
||||
},
|
||||
|
@ -22086,7 +22293,7 @@
|
|||
return false;
|
||||
},
|
||||
hasWuxie:function(){
|
||||
if(this.countCards('h','wuxie')) return true;
|
||||
if(this.countCards('hs','wuxie')) return true;
|
||||
var skills=this.getSkills(true).concat(lib.skill.global);
|
||||
game.expandSkills(skills);
|
||||
for(var i=0;i<skills.length;i++){
|
||||
|
@ -22106,15 +22313,15 @@
|
|||
return false;
|
||||
},
|
||||
hasSha:function(respond,noauto){
|
||||
if(this.countCards('h','sha')) return true;
|
||||
if(this.countCards('h','hufu')) return true;
|
||||
if(!noauto&&this.countCards('h','yuchanqian')) return true;
|
||||
if(this.countCards('hs','sha')) return true;
|
||||
if(this.countCards('hs','hufu')) return true;
|
||||
if(!noauto&&this.countCards('hs','yuchanqian')) return true;
|
||||
if(this.hasSkillTag('respondSha',true,respond?'respond':'use',true)) return true;
|
||||
return false;
|
||||
},
|
||||
hasShan:function(){
|
||||
if(this.countCards('h','shan')) return true;
|
||||
if(this.countCards('h','hufu')) return true;
|
||||
if(this.countCards('hs','shan')) return true;
|
||||
if(this.countCards('hs','hufu')) return true;
|
||||
if(this.hasSkillTag('respondShan',true,null,true)) return true;
|
||||
return false;
|
||||
},
|
||||
|
@ -22131,12 +22338,6 @@
|
|||
}
|
||||
else{
|
||||
if(this.countCards(position,name)) return true;
|
||||
var mn=this.getEquip('muniu');
|
||||
if(mn&&mn.cards&&mn.cards.length){
|
||||
for(var i=0;i<mn.cards.length;i++){
|
||||
if(mn.cards[i].name==name) return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
@ -24156,6 +24357,7 @@
|
|||
node.classList.remove('selected');
|
||||
node.classList.remove('removing');
|
||||
node.classList.remove('drawinghidden');
|
||||
node.classList.remove('glows');
|
||||
node.node={
|
||||
name:node.querySelector('.name'),
|
||||
info:node.querySelector('.info'),
|
||||
|
@ -25707,23 +25909,20 @@
|
|||
},
|
||||
viewAs:{
|
||||
name:"sha",
|
||||
isCard:true,
|
||||
},
|
||||
viewAsFilter:function (player){
|
||||
if(!player.countCards('h','tao')) return false;
|
||||
if(!player.countCards('hs','tao')) return false;
|
||||
},
|
||||
position:'hs',
|
||||
prompt:"将一张桃当杀使用或打出",
|
||||
check:function (){return 1},
|
||||
ai:{
|
||||
effect:{
|
||||
target:function (card,player,target,current){
|
||||
if(get.tag(card,'respondSha')&¤t<0) return 0.6
|
||||
},
|
||||
},
|
||||
respondSha:true,
|
||||
skillTagFilter:function (player){
|
||||
if(!player.countCards('h','tao')) return false;
|
||||
skillTagFilter:function(player){
|
||||
if(!player.countCards('hs','tao')) return false;
|
||||
},
|
||||
order:function (){
|
||||
order:function(){
|
||||
return get.order({name:'sha'})-0.1;
|
||||
},
|
||||
},
|
||||
|
@ -25736,21 +25935,18 @@
|
|||
},
|
||||
viewAs:{
|
||||
name:"shan",
|
||||
isCard:true,
|
||||
},
|
||||
prompt:"将一张桃当闪打出",
|
||||
check:function (){return 1},
|
||||
viewAsFilter:function (player){
|
||||
if(!player.countCards('h','tao')) return false;
|
||||
if(!player.countCards('hs','tao')) return false;
|
||||
},
|
||||
position:'hs',
|
||||
ai:{
|
||||
respondShan:true,
|
||||
skillTagFilter:function (player){
|
||||
if(!player.countCards('h','tao')) return false;
|
||||
},
|
||||
effect:{
|
||||
target:function (card,player,target,current){
|
||||
if(get.tag(card,'respondShan')&¤t<0) return 0.6
|
||||
},
|
||||
skillTagFilter:function(player){
|
||||
if(!player.countCards('hs','tao')) return false;
|
||||
},
|
||||
},
|
||||
sub:true,
|
||||
|
@ -27224,6 +27420,9 @@
|
|||
for(var i=0;i<info.handcards.length;i++){
|
||||
info.handcards[i].addGaintag(info.gaintag[i]);
|
||||
}
|
||||
for(var i=0;i<info.specials.length;i++){
|
||||
info.specials[i].classList.add('glows');
|
||||
}
|
||||
for(var i=0;i<info.judges.length;i++){
|
||||
if(info.views[i]&&info.views[i]!=info.judges[i]){
|
||||
info.judges[i].classList.add('fakejudge');
|
||||
|
@ -27490,6 +27689,7 @@
|
|||
hs:[],
|
||||
es:[],
|
||||
js:[],
|
||||
ss:[],
|
||||
cards:[],
|
||||
cards2:[],
|
||||
};
|
||||
|
@ -27498,11 +27698,12 @@
|
|||
map.hs.addArray(evt.hs);
|
||||
map.es.addArray(evt.es);
|
||||
map.js.addArray(evt.js);
|
||||
map.ss.addArray(evt.ss);
|
||||
map.cards.addArray(evt.cards);
|
||||
map.cards2.addArray(evt.cards2);
|
||||
}
|
||||
});
|
||||
if(map.cards.length>0) return map;
|
||||
if(map.cards.length>0||map.ss.length>0) return map;
|
||||
};
|
||||
if(arg&&get.is.object(arg)){
|
||||
for(var i in arg) next[i]=arg[i];
|
||||
|
@ -29775,6 +29976,14 @@
|
|||
console.log(player);
|
||||
}
|
||||
},
|
||||
directgains:function(player,cards){
|
||||
if(player&&cards){
|
||||
player.directgains(get.infoCards(cards));
|
||||
}
|
||||
else{
|
||||
console.log(player);
|
||||
}
|
||||
},
|
||||
directequip:function(player,cards){
|
||||
if(player&&cards){
|
||||
player.directequip(get.infoCards(cards));
|
||||
|
@ -29911,8 +30120,8 @@
|
|||
},
|
||||
lose:function(player,info){
|
||||
if(player&&info){
|
||||
var hs=info[0],es=info[1],js=info[2];
|
||||
var phs=player.getCards('h'),pes=player.getCards('e'),pjs=player.getCards('j');
|
||||
var hs=info[0],es=info[1],js=info[2],ss=info[3];
|
||||
var phs=player.getCards('h'),pes=player.getCards('e'),pjs=player.getCards('j'),pss=player.getCards('s');
|
||||
var checkMatch=function(l1,l2){
|
||||
for(var i=0;i<l1.length;i++){
|
||||
for(var j=0;j<l2.length;j++){
|
||||
|
@ -29927,6 +30136,7 @@
|
|||
checkMatch(hs,phs);
|
||||
checkMatch(es,pes);
|
||||
checkMatch(js,pjs);
|
||||
checkMatch(ss,pss);
|
||||
ui.updatehl();
|
||||
}
|
||||
else{
|
||||
|
@ -32487,7 +32697,7 @@
|
|||
args[i]=arguments[i];
|
||||
}
|
||||
if((args.length==0||args.contains('card'))&&_status.event.player){
|
||||
var cards=_status.event.player.getCards('hej');
|
||||
var cards=_status.event.player.getCards('hejs');
|
||||
for(j=0;j<cards.length;j++){
|
||||
cards[j].classList.remove('selected');
|
||||
cards[j].classList.remove('selectable');
|
||||
|
@ -47057,7 +47267,7 @@
|
|||
|
||||
if(lib.config.popequip&&get.is.phoneLayout()&&
|
||||
arguments[0]!='popequip'&&ui.arena&&ui.arena.classList.contains('selecting')&&
|
||||
this.parentNode.classList.contains('popequip')){
|
||||
this.parentNode&&this.parentNode.classList.contains('popequip')){
|
||||
var rect=this.getBoundingClientRect();
|
||||
ui.click.touchpop();
|
||||
ui.click.intro.call(this.parentNode,{
|
||||
|
@ -50181,10 +50391,10 @@
|
|||
itemtype:function(obj){
|
||||
var i,j;
|
||||
if(typeof obj=='string'){
|
||||
if(obj.length<=3){
|
||||
if(obj.length<=4){
|
||||
var bool=true;
|
||||
for(i=0;i<obj.length;i++){
|
||||
if(/h|e|j/.test(obj[i])==false){
|
||||
if(/h|e|j|s/.test(obj[i])==false){
|
||||
bool=false;break;
|
||||
}
|
||||
}
|
||||
|
@ -50527,7 +50737,7 @@
|
|||
if(card.timeout&&card.destiny){
|
||||
if(card.destiny.classList.contains('equips')) return 'e';
|
||||
if(card.destiny.classList.contains('judges')) return 'j';
|
||||
if(card.destiny.classList.contains('handcards')) return 'h';
|
||||
if(card.destiny.classList.contains('handcards')) return card.classList.contains('glows')?'s':'h';
|
||||
if(card.destiny.id=='cardPile') return 'c';
|
||||
if(card.destiny.id=='discardPile') return 'd';
|
||||
if(card.destiny.id=='special') return 's';
|
||||
|
@ -50537,7 +50747,7 @@
|
|||
if(!card.parentNode) return;
|
||||
if(card.parentNode.classList.contains('equips')) return 'e';
|
||||
if(card.parentNode.classList.contains('judges')) return 'j';
|
||||
if(card.parentNode.classList.contains('handcards')) return 'h';
|
||||
if(card.parentNode.classList.contains('handcards')) return card.classList.contains('glows')?'s':'h';
|
||||
if(card.parentNode.id=='cardPile') return 'c';
|
||||
if(card.parentNode.id=='discardPile') return 'd';
|
||||
if(card.parentNode.id=='special') return 's';
|
||||
|
@ -50724,7 +50934,7 @@
|
|||
},
|
||||
selectableCards:function(sort){
|
||||
if(!_status.event.player) return[];
|
||||
var cards=_status.event.player.getCards('hej');
|
||||
var cards=_status.event.player.getCards('hejs');
|
||||
var selectable=[];
|
||||
for(var i=0;i<cards.length;i++){
|
||||
if(cards[i].classList.contains('selectable')&&
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
window.noname_update={
|
||||
version:'1.9.109.3.8',
|
||||
update:'1.9.109.3.7',
|
||||
version:'1.9.110',
|
||||
update:'1.9.109.3.8',
|
||||
changeLog:[
|
||||
'吉祥物小无',
|
||||
'司马伷、晋羊徽瑜',
|
||||
'bug修复',
|
||||
'木牛流马修改',
|
||||
'南华老仙',
|
||||
'!!!该版本不兼容现有的十周年UI!!!请关闭十周年UI后运行!!!',
|
||||
],
|
||||
files:[
|
||||
//'card/extra.js',
|
||||
'card/extra.js',
|
||||
//'card/gujian.js',
|
||||
//'card/guozhan.js',
|
||||
'card/guozhan.js',
|
||||
//'card/gwent.js',
|
||||
//'card/huanlekapai.js',
|
||||
//'card/mtg.js',
|
||||
//'card/sp.js',
|
||||
//'card/standard.js',
|
||||
'card/sp.js',
|
||||
'card/standard.js',
|
||||
//'card/swd.js',
|
||||
//'card/yunchou.js',
|
||||
//'card/yingbian.js',
|
||||
|
@ -28,35 +28,35 @@ window.noname_update={
|
|||
//'character/hearth.js',
|
||||
'character/mobile.js',
|
||||
//'character/mtg.js',
|
||||
//'character/old.js',
|
||||
'character/old.js',
|
||||
//'character/ow.js',
|
||||
'character/rank.js',
|
||||
//'character/refresh.js',
|
||||
//'character/shenhua.js',
|
||||
'character/refresh.js',
|
||||
'character/shenhua.js',
|
||||
'character/sp.js',
|
||||
'character/sp2.js',
|
||||
//'character/tw.js',
|
||||
//'character/standard.js',
|
||||
//'character/swd.js',
|
||||
//'character/xianjian.js',
|
||||
//'character/xinghuoliaoyuan.js',
|
||||
//'character/yijiang.js',
|
||||
'character/standard.js',
|
||||
'character/swd.js',
|
||||
'character/xianjian.js',
|
||||
'character/xinghuoliaoyuan.js',
|
||||
'character/yijiang.js',
|
||||
//'character/yxs.js',
|
||||
//'extension/boss/extension.js',
|
||||
//'layout/default/layout.css',
|
||||
'layout/default/layout.css',
|
||||
//'layout/default/menu.css',
|
||||
//'layout/nova/layout.css',
|
||||
//'mode/boss.js',
|
||||
//'mode/brawl.js',
|
||||
//'mode/chess.js',
|
||||
//'mode/doudizhu.js',
|
||||
'mode/doudizhu.js',
|
||||
'mode/guozhan.js',
|
||||
//'mode/identity.js',
|
||||
//'mode/single.js',
|
||||
//'mode/stone.js',
|
||||
//'mode/tafang.js',
|
||||
//'mode/versus.js',
|
||||
//'game/game.js',
|
||||
'mode/versus.js',
|
||||
'game/game.js',
|
||||
//'game/keyWords.js',
|
||||
//'game/NoSleep.js',
|
||||
//'game/config.js',
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 136 KiB |
Binary file not shown.
Before Width: | Height: | Size: 194 KiB After Width: | Height: | Size: 154 KiB |
|
@ -3424,7 +3424,7 @@ div:not(.handcards)>.card>.info>span,
|
|||
#window:not(.nopointer) .pointertable td>span,
|
||||
#window:not(.nopointer) .config>.toggle.onoff,
|
||||
#window:not(.nopointer) .pointerdialog .button:not(.unselectable),
|
||||
#window:not(.nopointer) .dialog.fullheight .buttons .button:not(.selectedx):not(.glow):not(.forbidden),
|
||||
#window:not(.nopointer) .dialog.fullheight .buttons .button:not(.selectedx):not(.glow):not(.glows):not(.forbidden),
|
||||
#window:not(.nopointer) #arena.selecting:not(.video) .player .equips>.card.selectable,
|
||||
#window:not(.nopointer) #arena.selecting #me .card.selectable,
|
||||
#window:not(.nopointer) #arena.selecting .button.selectable,
|
||||
|
@ -4483,6 +4483,7 @@ div[data-decoration="bronze"]::after{
|
|||
}*/
|
||||
.player.selectable:not(.selected)::before,
|
||||
.card.glow::before,
|
||||
.card.glows::before,
|
||||
.button.glow::before {
|
||||
opacity: 1;
|
||||
}
|
||||
|
@ -4503,6 +4504,9 @@ div[data-decoration="bronze"]::after{
|
|||
#me .card.glow::before {
|
||||
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px,rgb(0, 133, 255) 0 0 5px, rgba(0, 133, 255,1) 0 0 10px;
|
||||
}
|
||||
#me .card.glows::before {
|
||||
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px,rgb(255, 153, 51) 0 0 5px, rgba(255, 153, 51,1) 0 0 10px;
|
||||
}
|
||||
|
||||
#me>#handcards1:not(.scrollh),
|
||||
#me>#handcards2:not(.scrollh) {
|
||||
|
@ -4514,6 +4518,9 @@ div[data-decoration="bronze"]::after{
|
|||
#me>div:not(.scrollh)>.handcards>.card.selected{
|
||||
top:-20px;
|
||||
}*/
|
||||
.glows:not(.button):not(.card){
|
||||
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(255, 153, 51, 0.4) 0 0 5px, rgba(255, 153, 51, 0.5) 0 0 12px, rgba(255, 153, 51, 0.8) 0 0 15px !important;
|
||||
}
|
||||
.glow:not(.button):not(.card){
|
||||
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 133, 255, 0.4) 0 0 5px, rgba(0, 133, 255, 0.5) 0 0 12px, rgba(0, 133, 255, 0.8) 0 0 15px !important;
|
||||
}
|
||||
|
|
|
@ -1589,7 +1589,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
_gongshoujintui:{
|
||||
enable:'chooseToUse',
|
||||
filter:function(event,player){
|
||||
var cards=player.getCards('h');
|
||||
var cards=player.getCards('hs');
|
||||
for(var i of cards){
|
||||
var name=get.name(i,player);
|
||||
if(name=='gongshoujianbei'){
|
||||
|
@ -1620,11 +1620,11 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
chooseButton:{
|
||||
dialog:function(event,player){
|
||||
var list=[];
|
||||
if(player.countCards('h','gongshoujianbei')){
|
||||
if(player.countCards('hs','gongshoujianbei')){
|
||||
list.push(['锦囊','','wanjian']);
|
||||
list.push(['锦囊','','taoyuan']);
|
||||
}
|
||||
if(player.countCards('h','jintuiziru')){
|
||||
if(player.countCards('hs','jintuiziru')){
|
||||
list.push(['锦囊','','nanman']);
|
||||
list.push(['锦囊','','wugu']);
|
||||
}
|
||||
|
@ -1633,7 +1633,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
filter:function(button,player){
|
||||
var name=button.link[2];
|
||||
var rawname=((name=='wanjian'||name=='taoyuan')?'gongshoujianbei':'jintuiziru');
|
||||
var cards=player.getCards('h');
|
||||
var cards=player.getCards('hs');
|
||||
var evt=_status.event.getParent();
|
||||
for(var i of cards){
|
||||
if(get.name(i,player)==rawname&&evt.filterCard({
|
||||
|
|
|
@ -1078,7 +1078,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
gzbiluan:{
|
||||
mod:{
|
||||
globalTo:function(from,to,distance){
|
||||
return distance+to.countCards('e');
|
||||
return distance+Math.max(1,to.countCards('e'));
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -2754,9 +2754,10 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
name:"sha",
|
||||
},
|
||||
viewAsFilter:function(player){
|
||||
if(!player.countCards('h','shan')) return false;
|
||||
if(!player.countCards('hs','shan')) return false;
|
||||
},
|
||||
prompt:"将一张闪当杀使用或打出",
|
||||
position:'hs',
|
||||
check:function(){return 1},
|
||||
ai:{
|
||||
effect:{
|
||||
|
@ -2766,7 +2767,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
respondSha:true,
|
||||
skillTagFilter:function(player){
|
||||
if(!player.countCards('h','shan')) return false;
|
||||
if(!player.countCards('hs','shan')) return false;
|
||||
},
|
||||
order:function(){
|
||||
return get.order({name:'sha'})+0.1;
|
||||
|
@ -2783,15 +2784,16 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
viewAs:{
|
||||
name:"shan",
|
||||
},
|
||||
position:'hs',
|
||||
prompt:"将一张杀当闪使用或打出",
|
||||
check:function(){return 1},
|
||||
viewAsFilter:function(player){
|
||||
if(!player.countCards('h','sha')) return false;
|
||||
if(!player.countCards('hs','sha')) return false;
|
||||
},
|
||||
ai:{
|
||||
respondShan:true,
|
||||
skillTagFilter:function(player){
|
||||
if(!player.countCards('h','sha')) return false;
|
||||
if(!player.countCards('hs','sha')) return false;
|
||||
},
|
||||
effect:{
|
||||
target:function(card,player,target,current){
|
||||
|
@ -2908,9 +2910,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
filter:function(event,player){
|
||||
if(player.hasSkill('new_duanliang_off')) return false;
|
||||
return player.countCards('he',{type:['basic','equip'],color:'black'})
|
||||
return player.countCards('hes',{type:['basic','equip'],color:'black'})
|
||||
},
|
||||
position:"he",
|
||||
position:"hes",
|
||||
viewAs:{
|
||||
name:"bingliang",
|
||||
},
|
||||
|
@ -2978,6 +2980,12 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
return !player.storage.new_luanji.contains(get.suit(card));
|
||||
},
|
||||
selectCard:2,
|
||||
position:'hs',
|
||||
filter:function(event,player){
|
||||
return player.countCards('hs',function(card){
|
||||
return !player.storage.new_luanji||!player.storage.new_luanji.contains(get.suit(card));
|
||||
})>1;
|
||||
},
|
||||
check:function(card){
|
||||
var player=_status.event.player;
|
||||
var targets=game.filterPlayer(function(current){
|
||||
|
@ -3416,8 +3424,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
viewAs:{
|
||||
name:"sha",
|
||||
},
|
||||
position:'hs',
|
||||
viewAsFilter:function(player){
|
||||
if(!player.countCards('h','shan')) return false;
|
||||
if(!player.countCards('hs','shan')) return false;
|
||||
},
|
||||
prompt:"将一张闪当杀使用或打出",
|
||||
check:function(){return 1},
|
||||
|
@ -3429,7 +3438,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
respondSha:true,
|
||||
skillTagFilter:function(player){
|
||||
if(!player.countCards('h','shan')) return false;
|
||||
if(!player.countCards('hs','shan')) return false;
|
||||
},
|
||||
order:function(){
|
||||
return get.order({name:'sha'})+0.1;
|
||||
|
@ -3446,15 +3455,16 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
viewAs:{
|
||||
name:"shan",
|
||||
},
|
||||
position:'hs',
|
||||
prompt:"将一张杀当闪使用或打出",
|
||||
check:function(){return 1},
|
||||
viewAsFilter:function(player){
|
||||
if(!player.countCards('h','sha')) return false;
|
||||
if(!player.countCards('hs','sha')) return false;
|
||||
},
|
||||
ai:{
|
||||
respondShan:true,
|
||||
skillTagFilter:function(player){
|
||||
if(!player.countCards('h','sha')) return false;
|
||||
if(!player.countCards('hs','sha')) return false;
|
||||
},
|
||||
effect:{
|
||||
target:function(card,player,target,current){
|
||||
|
@ -4054,7 +4064,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
audio:'bmcanshi',
|
||||
enable:"phaseUse",
|
||||
filter:function(event,player){
|
||||
return player.countCards('h',{suit:'spade'})>0;
|
||||
return player.countCards('hs',{suit:'spade'})>0;
|
||||
},
|
||||
init:function(player){
|
||||
if(!player.storage.hmkguishu) player.storage.hmkguishu=0;
|
||||
|
@ -4079,7 +4089,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
return 3;
|
||||
}
|
||||
if(button.link=='zhibi'){
|
||||
if(player.countCards('h',{suit:'spade'})>2) return 1;
|
||||
if(player.countCards('hs',{suit:'spade'})>2) return 1;
|
||||
return 0;
|
||||
}
|
||||
},
|
||||
|
@ -4089,7 +4099,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
filterCard:function(card,player){
|
||||
return get.suit(card)=='spade';
|
||||
},
|
||||
position:"h",
|
||||
position:"hs",
|
||||
selectCard:1,
|
||||
popname:true,
|
||||
ai:function(card){
|
||||
|
@ -7004,8 +7014,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
viewAs:{name:'yiyi'},
|
||||
usable:4,
|
||||
filterCard:{color:'red'},
|
||||
position:'hs',
|
||||
viewAsFilter:function(player){
|
||||
return player.countCards('h',{color:'red'})>0;
|
||||
return player.countCards('hs',{color:'red'})>0;
|
||||
},
|
||||
check:function(card){
|
||||
return 5-get.value(card);
|
||||
|
@ -8311,7 +8322,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
gzmidao:'米道',
|
||||
gzmidao_info:'与你势力相同的其他角色的出牌阶段限一次。该角色使用基本牌或普通锦囊牌指定目标时,其可交给你一张手牌,然后你可改变此牌的花色和点数。',
|
||||
gzbiluan:'避乱',
|
||||
gzbiluan_info:'锁定技,其他角色计算至你的距离时+X(X为你装备区内的牌数)。',
|
||||
gzbiluan_info:'锁定技,其他角色计算至你的距离时+X(X为你装备区内的牌数且至少为1)。',
|
||||
gzlixia:'礼下',
|
||||
gzlixia_info:'与你势力不同的角色的准备阶段开始时,其可弃置你装备区内的一张牌,然后其选择一项:①弃置两张牌。②失去1点体力。③令你摸两张牌。',
|
||||
mffengshi:'锋势',
|
||||
|
|
|
@ -1944,13 +1944,14 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
lib.init.onfree();
|
||||
}
|
||||
else{
|
||||
var chara=(get.config('character_three')||lib.choiceThree);
|
||||
game.chooseCharacterDouble(function(i){
|
||||
if(get.config('enable_all_three')){
|
||||
if(lib.filter.characterDisabled(i)) return false;
|
||||
return !lib.filter.characterDisabled(i);
|
||||
}
|
||||
else{
|
||||
return lib.choiceThree.contains(i);
|
||||
return chara.contains(i);
|
||||
}
|
||||
},function(i){
|
||||
return i==1?'主帅':'前锋';
|
||||
|
|
Loading…
Reference in New Issue