沮授【渐营】添加花色点数显示,刘徽【割圆】markcount显示优化

This commit is contained in:
mengxinzxz 2023-10-21 17:14:30 +08:00 committed by GitHub
parent efafeb1655
commit 9d871db8c6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 165 additions and 3 deletions

View File

@ -4385,7 +4385,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xinjianying:{ xinjianying:{
audio:2, audio:2,
subfrequent:['draw'], subfrequent:['draw'],
group:['xinjianying_draw'],
enable:'phaseUse', enable:'phaseUse',
usable:1, usable:1,
filter:function(event,player){ filter:function(event,player){
@ -4433,8 +4432,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
backup:function(links,player){ backup:function(links,player){
var next={ var next={
audio:'jianying', audio:'xinjianying',
audioname:['xin_jushou'],
filterCard:true, filterCard:true,
popname:true, popname:true,
position:'he', position:'he',
@ -4460,6 +4458,31 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
result:{player:7}, result:{player:7},
}, },
group:['xinjianying_draw','jianying_mark'],
init:function(player){
if(player.isPhaseUsing()){
var evt=_status.event.getParent('phaseUse');
var history=player.getHistory('useCard',function(evt2){
return evt2.getParent('phaseUse')==evt;
});
if(history.length){
var trigger=history[history.length-1];
player.storage.jianying_mark=trigger.card;
player.markSkill('jianying_mark');
game.broadcastAll(function(player,suit){
if(player.marks.jianying_mark) player.marks.jianying_mark.firstChild.innerHTML=get.translation(suit);
},player,get.suit(trigger.card,player));
player.when('phaseUseAfter').then(()=>{
player.unmarkSkill('jianying_mark');
delete player.storage.jianying_mark;
});
}
}
},
onremove:function(player){
player.unmarkSkill('jianying_mark');
delete player.storage.jianying_mark;
},
subSkill:{ subSkill:{
draw:{inherit:'jianying',audio:'xinjianying'}, draw:{inherit:'jianying',audio:'xinjianying'},
}, },

View File

@ -3269,6 +3269,60 @@ game.import('character',function(lib,game,ui,get,ai,_status){
content:function(){ content:function(){
player.draw(); player.draw();
}, },
group:'dcjianying_mark',
init:function(player){
var history=player.getAllHistory('useCard');
if(history.length){
var trigger=history[history.length-1];
if(get.suit(trigger.card,player)=='none'||typeof get.number(trigger.card,player)!='number') return;
player.storage.dcjianying_mark=trigger.card;
player.markSkill('dcjianying_mark');
game.broadcastAll(function(player,suit){
if(player.marks.dcjianying_mark) player.marks.dcjianying_mark.firstChild.innerHTML=get.translation(suit);
},player,get.suit(trigger.card,player));
}
},
onremove:function(player){
player.unmarkSkill('dcjianying_mark');
delete player.storage.dcjianying_mark;
},
subSkill:{
mark:{
charlotte:true,
trigger:{player:'useCard1'},
forced:true,
popup:false,
firstDo:true,
content:function(){
if(get.suit(trigger.card,player)=='none'||typeof get.number(trigger.card,player)!='number') player.unmarkSkill('dcjianying_mark');
else{
player.storage.dcjianying_mark=trigger.card;
player.markSkill('dcjianying_mark');
game.broadcastAll(function(player,suit){
if(player.marks.dcjianying_mark) player.marks.dcjianying_mark.firstChild.innerHTML=get.translation(suit);
},player,get.suit(trigger.card,player));
}
},
intro:{
markcount:function(card,player){
var num=get.number(card,player);
var list=[1,11,12,13];
if(list.contains(num)) return ['A','J','Q','K'][list.indexOf(num)];
return parseFloat(num);
},
content:function(card,player){
var suit=get.suit(card,player);
var num=get.number(card,player);
var str='<li>上一张牌的花色:'+get.translation(suit);
str+='<br><li>上一张牌的点数:';
var list=[1,11,12,13];
if(list.contains(num)) str+=['A(1)','J(11)','Q(12)','K(13)'][list.indexOf(num)];
else str+=parseFloat(num);
return str;
},
},
},
},
}, },
//十周年步练师 //十周年步练师
dcanxu:{ dcanxu:{

View File

@ -7188,6 +7188,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var number=get.number(card,false); var number=get.number(card,false);
game.log(player,'将','#y'+get.strNumber(number),'记录为','#g“圆环之弧”'); game.log(player,'将','#y'+get.strNumber(number),'记录为','#g“圆环之弧”');
player.markAuto('dcgeyuan_homura',[number]); player.markAuto('dcgeyuan_homura',[number]);
player.markSkill('dcgeyuan');
if(player.getStorage('dcgeyuan').length>player.getStorage('dcgeyuan_homura').length){ if(player.getStorage('dcgeyuan').length>player.getStorage('dcgeyuan_homura').length){
if(cards.length>0) event.redo(); if(cards.length>0) event.redo();
else event.finish() else event.finish()
@ -7235,6 +7236,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var num1=list[0],num2=list[list.length-1]; var num1=list[0],num2=list[list.length-1];
player.storage.dcgeyuan_homura=[]; player.storage.dcgeyuan_homura=[];
game.log(player,'清空了','#g“圆环之弧”'); game.log(player,'清空了','#g“圆环之弧”');
player.markSkill('dcgeyuan');
if(player.getStorage('dcgeyuan').length>3){ if(player.getStorage('dcgeyuan').length>3){
player.unmarkAuto('dcgeyuan',[num1,num2]); player.unmarkAuto('dcgeyuan',[num1,num2]);
game.log(player,'从','#g“圆环之理”','中移除了','#y'+get.strNumber(num1),'和','#y'+get.strNumber(num2)); game.log(player,'从','#g“圆环之理”','中移除了','#y'+get.strNumber(num1),'和','#y'+get.strNumber(num2));
@ -7308,6 +7310,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
intro:{ intro:{
name:'圆环之理', name:'圆环之理',
markcount:function(storage,player){
if(!player.getStorage('dcgeyuan_homura').length) return 0;
var list=[1,2,3,4,5,6,7,8,9,10,11,12,13].filter(i=>lib.skill.dcgeyuan.filterNumber(player,i));
if(!list.length) return 0;
list=list.map(num=>{
var list=[1,11,12,13];
if(list.contains(num)) return ['A','J','Q','K'][list.indexOf(num)];
return parseFloat(num);
});
return list.reduce((str,num)=>{
return str+num;
},'');
},
mark:function(dialog,storage,player){ mark:function(dialog,storage,player){
dialog.content.style['overflow-x']='visible'; dialog.content.style['overflow-x']='visible';
var list=storage; var list=storage;

View File

@ -13627,6 +13627,76 @@ game.import('character',function(lib,game,ui,get,ai,_status){
content:function(){ content:function(){
player.draw(); player.draw();
}, },
group:'jianying_mark',
init:function(player){
if(player.isPhaseUsing()){
var evt=_status.event.getParent('phaseUse');
var history=player.getHistory('useCard',function(evt2){
return evt2.getParent('phaseUse')==evt;
});
if(history.length){
var trigger=history[history.length-1];
if(get.suit(trigger.card,player)=='none'||typeof get.number(trigger.card,player)!='number') return;
player.storage.jianying_mark=trigger.card;
player.markSkill('jianying_mark');
game.broadcastAll(function(player,suit){
if(player.marks.jianying_mark) player.marks.jianying_mark.firstChild.innerHTML=get.translation(suit);
},player,get.suit(trigger.card,player));
player.when('phaseUseAfter').then(()=>{
player.unmarkSkill('jianying_mark');
delete player.storage.jianying_mark;
});
}
}
},
onremove:function(player){
player.unmarkSkill('jianying_mark');
delete player.storage.jianying_mark;
},
subSkill:{
mark:{
charlotte:true,
trigger:{player:'useCard1'},
filter:function(event,player){
return player.isPhaseUsing();
},
forced:true,
popup:false,
firstDo:true,
content:function(){
if(get.suit(trigger.card,player)=='none'||typeof get.number(trigger.card,player)!='number') player.unmarkSkill('jianying_mark');
else{
player.storage.jianying_mark=trigger.card;
player.markSkill('jianying_mark');
game.broadcastAll(function(player,suit){
if(player.marks.jianying_mark) player.marks.jianying_mark.firstChild.innerHTML=get.translation(suit);
},player,get.suit(trigger.card,player));
player.when('phaseUseAfter').then(()=>{
player.unmarkSkill('jianying_mark');
delete player.storage.jianying_mark;
});
}
},
intro:{
markcount:function(card,player){
var num=get.number(card,player);
var list=[1,11,12,13];
if(list.contains(num)) return ['A','J','Q','K'][list.indexOf(num)];
return parseFloat(num);
},
content:function(card,player){
var suit=get.suit(card,player);
var num=get.number(card,player);
var str='<li>上一张牌的花色:'+get.translation(suit);
str+='<br><li>上一张牌的点数:';
var list=[1,11,12,13];
if(list.contains(num)) str+=['A(1)','J(11)','Q(12)','K(13)'][list.indexOf(num)];
else str+=parseFloat(num);
return str;
},
},
},
},
}, },
zzhenggong:{ zzhenggong:{
trigger:{player:'damageEnd'}, trigger:{player:'damageEnd'},