Merge pull request #561 from copcap/dev-zhuan-bugfix

转包武将bug修复2
This commit is contained in:
Spmario233 2023-10-22 12:28:12 +08:00 committed by GitHub
commit f4e5f5e4af
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 45 additions and 27 deletions

View File

@ -284,29 +284,29 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
getInclusion:function(str,checkCard,player){
var list=[];
var names=Object.keys(lib.card);
for(var name of names){
var type=get.type(name);
let list=[];
const names=Object.keys(lib.card);
for(const name of names){
let type=get.type(name);
if(!['basic','trick'].includes(type)) continue;
if(player&&player.getStorage('jsrgzhenfeng_effect').includes(type)) continue;
var reg=`${get.translation(name)}`;
const reg=`${get.translation(name)}`;
if(name=='sha'){
if(str.includes(reg)){
if(checkCard) return checkCard.name==name;
if(checkCard&&checkCard.name==name) return true;
list.push([type,'',name]);
}
for(var nature of lib.inpile_nature){
var reg1=`${get.translation(nature)+get.translation(name)}`,reg2=`${get.translation(nature)}${get.translation(name)}`;
for(let nature of lib.inpile_nature){
const reg1=`${get.translation(nature)+get.translation(name)}`,reg2=`${get.translation(nature)}${get.translation(name)}`;
if(str.includes(reg1)||str.includes(reg2)){
if(checkCard) return checkCard.name==name&&checkCard.nature==nature;
if(checkCard&&checkCard.name==name&&checkCard.nature==nature) return true;
list.push([type,'',name,nature]);
}
}
}
else{
if(!str.includes(reg)) continue;
if(checkCard) return checkCard.name==name;
if(checkCard&&checkCard.name==name) return true;
list.push([type,'',name]);
}
}
@ -720,7 +720,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
content:function*(event,map){
var player=map.player,trigger=map.trigger;
var count=Math.ceil(game.countPlayer()/2);
var result=yield player.chooseTarget(get.prompt('jsrgfuni'),`选择至多${get.cnNumber(count)}名角色令这些角色获得共计${get.cnNumber(count)}张【影】`,[1,count]).set('ai',target=>{
var result=yield player.chooseTarget(`伏匿:请选择至多${get.cnNumber(count)}名角色`,`令这些角色获得共计${get.cnNumber(count)}张【影】`,true,[1,count]).set('ai',target=>{
return get.attitude(get.player(),target);
});
if(result.bool){
@ -877,12 +877,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return player.countCards('hes')&&game.hasPlayer(current=>player.canUse({
name:'sha',
storage:{jsrgchuanxin:true},
},current,false));
},current));
},
direct:true,
content:function(){
var next=player.chooseToUse();
next.set('openskilldialog',`###${get.prompt('olsuji')}###将一张牌当【杀】使用,且当一名角色受到此【杀】伤害时,此伤害+XX为其本回合回复过的体力值`);
next.set('openskilldialog',`###${get.prompt('jsrgchuanxin')}###将一张牌当【杀】使用,且当一名角色受到此【杀】伤害时,此伤害+XX为其本回合回复过的体力值`);
next.set('norestore',true);
next.set('_backupevent','jsrgchuanxin_backup');
next.set('addCount',false);
@ -926,7 +926,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
forced:true,
charlotte:true,
conetnt:function(){
content:function(){
var num=game.getGlobalHistory('changeHp',evt=>{
return evt.getParent().name=='recover'&&evt.player==trigger.player;
}).map(evt=>evt.num).reduce((p,c)=>p+c);
@ -959,11 +959,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return ui.create.dialog('摧锋',[list,'vcard']);
},
filter:function(button,player){
return _status.event.getParent().filterCard({name:button.link[2],nature:button.link[3],isCard:true},player,_status.event.getParent());
return _status.event.getParent().filterCard({name:button.link[2],nature:button.link[3],isCard:true,storage:{jsrgcuifeng:true},},player,_status.event.getParent());
},
check:function(button){
var player=_status.event.player;
var effect=player.getUseValue(button.link[2]);
var effect=player.getUseValue({name:button.link[2],nature:button.link[3],storage:{jsrgcuifeng:true}});
if(effect>0) return effect;
return 0;
},
@ -973,21 +973,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){
selectCard:-1,
filterCard:()=>false,
popname:true,
viewAs:{name:links[0][2],nature:links[0][3],isCard:true},
viewAs:{
name:links[0][2],
nature:links[0][3],
isCard:true,
storage:{jsrgcuifeng:true},
},
precontent:function(){
player.logSkill('jsrgcuifeng');
player.awakenSkill('jsrgcuifeng');
delete event.result.skill;
player.when('phaseEnd').assign({card:event.result.card}).then(()=>{
var num=0,card=get.info(event.name).card;
if(!player.storage.jsrgcuifeng_check) player.when('phaseEnd').then(()=>{
var num=0;
player.checkHistory('sourceDamage',evt=>{
if(evt.card==card) num+=evt.num;
if(evt.card.storage.jsrgcuifeng) num+=evt.num;
});
if(num==0||num>1){
player.restoreSkill('jsrgcuifeng');
game.log(player,'重置了','#g【摧锋】');
}
}
delete player.storage.jsrgcuifeng_check;
}).translation('摧锋');
player.setStorage('jsrgcuifeng_check',true);
}
}
},
@ -995,6 +1002,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return '请选择'+(get.translation(links[0][3])||'')+get.translation(links[0][2])+'的目标';
}
},
mod:{
targetInRange:card=>{
if(card.storage&&card.storage.jsrgcuifeng) return true;
},
},
ai:{
order:1.9,
result:{
@ -1031,15 +1043,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
selectCard:-1,
filterCard:()=>false,
popname:true,
viewAs:{name:links[0][2],isCard:true},
viewAs:{
name:links[0][2],
isCard:true,
storage:{jsrgdengnan:true},
},
precontent:function(){
player.logSkill('jsrgdengnan');
player.awakenSkill('jsrgdengnan');
delete event.result.skill;
player.when('phaseEnd').assign({card:event.result.card}).then(()=>{
var targets=[],card=get.info(event.name).card;
if(!player.storage.jsrgdengnan_check) player.when('phaseEnd').then(()=>{
var targets=[];
player.checkHistory('useCard',evt=>{
if(evt.card==card) targets.addArray(evt.targets);
if(evt.card.storage.jsrgdengnan) targets.addArray(evt.targets);
});
if(targets.every(current=>{
return current.hasHistory('damage');
@ -1047,7 +1063,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.restoreSkill('jsrgdengnan');
game.log(player,'重置了','#g【登难】');
}
delete player.storage.jsrgdengnan_check;
}).translation('登难');
player.setStorage('jsrgdengnan_check',true);
}
}
},
@ -6128,7 +6146,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
jsrg_zhangren:'转张任',
jsrg_zhangren_prefix:'转',
jsrgfuni:'伏匿',
jsrgfuni_info:'锁定技。①你的攻击范围终值为0。②一轮游戏开始时可以令任意名角色获得共计X张【影】X为存活角色数的一半向上取整。③当有牌进入弃牌堆后若其中有【影】你于本回合使用牌无距离限制且不能被响应。',
jsrgfuni_info:'锁定技。①你的攻击范围终值为0。②一轮游戏开始时令任意名角色获得共计X张【影】X为存活角色数的一半向上取整。③当有牌进入弃牌堆后若其中有【影】你于本回合使用牌无距离限制且不能被响应。',
jsrgchuanxin:'穿心',
jsrgchuanxin_info:'一名角色的结束阶段,你可以将一张牌当【杀】使用。当一名角色受到渠道为此【杀】的伤害时,此伤害+YY为其本回合回复过的体力值。',
jsrg_huangzhong:'转黄忠',

View File

@ -4150,7 +4150,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
beige:{
audio:2,
audioname:['re_caiwenji'],
audioname:['re_caiwenji','ol_caiwenji'],
trigger:{global:'damageEnd'},
filter:function(event,player){
return (event.card&&event.card.name=='sha'&&event.source&&

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 90 KiB