国战诸多武将bug修复

①修复南华老仙【经合】获得的【雷击】非国战版本的bug
②调整彭羕【达命】技能效果为新版(视为用【桃】改为直接回血)
③修复周夷【逐寇】摸牌没有上限的bug
④修复孙綝【凶虐】缺少免伤对象判定的bug
⑤修复石苞【擢升】,法正【眩惑】无法播放对应技能配音的bug
This commit is contained in:
mengxinzxz 2023-07-31 00:59:48 +08:00 committed by GitHub
parent 1820d55d03
commit 590e9afc82
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 32 additions and 25 deletions

View File

@ -3358,7 +3358,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}, },
frequent:true, frequent:true,
content:function(){ content:function(){
player.draw(player.getHistory('useCard').length); player.draw(Math.min(player.getHistory('useCard').length,5));
}, },
}, },
gzduannian:{ gzduannian:{
@ -3540,7 +3540,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
target:1, target:1,
}, },
}, },
derivation:['releiji','nhyinbing','nhhuoqi','nhguizhu','nhxianshou','nhlundao','nhguanyue','nhyanzheng'], derivation:['leiji','nhyinbing','nhhuoqi','nhguizhu','nhxianshou','nhlundao','nhguanyue','nhyanzheng'],
subSkill:{ subSkill:{
clear:{ clear:{
onremove:function(player){ onremove:function(player){
@ -3748,24 +3748,29 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
audio:'gzxiongnve', audio:'gzxiongnve',
mark:true, mark:true,
intro:{ intro:{
content:'受到的伤害-1', content:'其他角色对你造成伤害时,此伤害-1',
}, },
trigger:{player:'damageBegin3'}, trigger:{player:'damageBegin3'},
filter:function(event,player){
return event.source&&event.source!=player;
},
forced:true, forced:true,
logTarget:'source',
content:function(){ content:function(){
trigger.num--; trigger.num--;
}, },
ai:{ ai:{
effect:{ effect:{
target:function(card,player,target){ target:function(card,player,target){
if(target==player) return;
if(player.hasSkillTag('jueqing',false,target)) return; if(player.hasSkillTag('jueqing',false,target)) return;
var num=get.tag(card,'damage'); var num=get.tag(card,'damage');
if(num){ if(num){
if(num>1) return 0.5; if(num>1) return 0.5;
return 0; return 0;
} }
} },
} },
}, },
}, },
end:{ end:{
@ -4122,7 +4127,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}, },
goon:function(){ goon:function(){
var target=trigger.player; var target=trigger.player;
if(player.canUse('tao',target)&&get.effect(target,{name:'tao',isCard:true},player,player)>0) return true; if(get.recoverEffect(target,player,player)>0) return true;
var card={name:'sha',nature:'thunder',isCard:true}; var card={name:'sha',nature:'thunder',isCard:true};
if(game.hasPlayer(function(current){ if(game.hasPlayer(function(current){
return current!=player&&current!=target&&target.canUse(card,current,false)&&get.effect(current,card,target,player)>0; return current!=player&&current!=target&&target.canUse(card,current,false)&&get.effect(current,card,target,player)>0;
@ -4139,7 +4144,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
return current!=target&&current.isFriendOf(target)&&current.isLinked(); return current!=target&&current.isFriendOf(target)&&current.isLinked();
}))?3:1)*(-get.attitude(target,player,player)+1); }))?3:1)*(-get.attitude(target,player,player)+1);
}, },
}).setHiddenSkill(event.name); }).setHiddenSkill('daming');
'step 1' 'step 1'
if(result.bool){ if(result.bool){
var target=result.targets[0]; var target=result.targets[0];
@ -4178,28 +4183,22 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
if(num>0) player.draw(num); if(num>0) player.draw(num);
'step 4' 'step 4'
if(trigger.player.isIn()){ if(trigger.player.isIn()){
var target=trigger.player,tao=(lib.filter.cardEnabled({name:'tao',isCard:true},player,'forceEnable')&&lib.filter.targetEnabled2({name:'tao',isCard:true},player,target)),sha=game.filterPlayer(function(current){ var target=trigger.player,sha=game.filterPlayer(function(current){
return current!=target&&current!=player&&target.canUse({name:'sha',nature:'thunder',isCard:true},current,false); return current!=target&&current!=player&&target.canUse({name:'sha',nature:'thunder',isCard:true},current,false);
}); });
if(sha.length){ if(sha.length){
var next=player.chooseTarget('请选择'+get.translation(target)+'使用雷【杀】的目标',function(card,player,target){ var next=player.chooseTarget('请选择'+get.translation(target)+'使用雷【杀】的目标',function(card,player,target){
return _status.event.list.contains(target); return _status.event.list.contains(target);
}); });
if(tao){ next.set('prompt2','或点「取消」令其回复1点体力');
next.set('prompt2','或点「取消」并视为对其使用【桃】'); next.set('goon',get.recoverEffect(target,player,player));
next.set('goon',get.effect(target,{name:'tao',isCard:true},player,player));
}
else{
next.set('forced',true);
next.set('goon',0);
}
next.set('list',sha); next.set('list',sha);
next.set('ai',function(target){ next.set('ai',function(target){
var player=_status.event.player; var player=_status.event.player;
return get.effect(target,{name:'sha',nature:'thunder',isCard:true},_status.event.getTrigger().player,player)-_status.event.goon; return get.effect(target,{name:'sha',nature:'thunder',isCard:true},_status.event.getTrigger().player,player)-_status.event.goon;
}); });
} }
else if(tao) event._result={bool:false}; else if(target.isDamaged()) event._result={bool:false};
else event.finish(); else event.finish();
} }
else event.finish(); else event.finish();
@ -4213,7 +4212,10 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
} }
trigger.player.useCard({name:'sha',nature:'thunder',isCard:true},target,false).animate=false; trigger.player.useCard({name:'sha',nature:'thunder',isCard:true},target,false).animate=false;
} }
else player.useCard({name:'tao',isCard:true},trigger.player); else{
player.line(trigger.player);
trigger.player.recover();
}
}, },
}, },
xiaoni:{ xiaoni:{
@ -5199,6 +5201,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}, },
}, },
gzzhuosheng:{ gzzhuosheng:{
audio:'zhuosheng',
trigger:{global:'damageEnd'}, trigger:{global:'damageEnd'},
logTarget:'player', logTarget:'player',
filter:function(event,player){ filter:function(event,player){
@ -5232,6 +5235,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
if(get.itemtype(card)=='card'&&card.hasGaintag('gzzhuosheng2')&&get.type(card)=='basic') return num-0.1; if(get.itemtype(card)=='card'&&card.hasGaintag('gzzhuosheng2')&&get.type(card)=='basic') return num-0.1;
}, },
}, },
audio:'zhuosheng',
trigger:{player:'useCard2'}, trigger:{player:'useCard2'},
direct:true, direct:true,
filterx:function(event,player){ filterx:function(event,player){
@ -5289,7 +5293,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
group:['gzzhuosheng2_equip','gzzhuosheng2_silent'], group:['gzzhuosheng2_equip','gzzhuosheng2_silent'],
subSkill:{ subSkill:{
equip:{ equip:{
audio:'gzzhuosheng2', audio:'zhuosheng',
trigger:{player:'useCard'}, trigger:{player:'useCard'},
filter:function(event,player){ filter:function(event,player){
return get.type(event.card)=='equip'&&lib.skill.gzzhuosheng2.filterx(event,player); return get.type(event.card)=='equip'&&lib.skill.gzzhuosheng2.filterx(event,player);
@ -8086,6 +8090,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
} }
}, },
gzxuanhuo:{ gzxuanhuo:{
audio:'rexuanhuo',
global:'gzxuanhuo_others', global:'gzxuanhuo_others',
derivation:['fz_new_rewusheng','fz_gzpaoxiao','fz_new_longdan','fz_new_tieji','fz_liegong','fz_xinkuanggu'], derivation:['fz_new_rewusheng','fz_gzpaoxiao','fz_new_longdan','fz_new_tieji','fz_liegong','fz_xinkuanggu'],
ai:{ ai:{
@ -8098,6 +8103,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}, },
subSkill:{ subSkill:{
others:{ others:{
audio:'rexuanhuo',
forceaudio:true,
enable:'phaseUse', enable:'phaseUse',
usable:1, usable:1,
filter:function(event,player){ filter:function(event,player){
@ -8293,7 +8300,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}, },
gzenyuan:{ gzenyuan:{
locked:true, locked:true,
audio:['enyuan',2], audio:'reenyuan',
group:['gzenyuan_gain','gzenyuan_damage'], group:['gzenyuan_gain','gzenyuan_damage'],
preHidden:true, preHidden:true,
ai:{ ai:{
@ -8308,6 +8315,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}, },
subSkill:{ subSkill:{
gain:{ gain:{
audio:'reenyuan',
trigger:{target:'useCardToTargeted'}, trigger:{target:'useCardToTargeted'},
forced:true, forced:true,
filter:function(event,player){ filter:function(event,player){
@ -8315,9 +8323,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}, },
logTarget:'player', logTarget:'player',
content:function(){trigger.player.draw()}, content:function(){trigger.player.draw()},
audio:'enyuan1',
}, },
damage:{ damage:{
audio:'reenyuan',
trigger:{player:'damageEnd'}, trigger:{player:'damageEnd'},
forced:true, forced:true,
filter:function(event,player){ filter:function(event,player){
@ -8336,7 +8344,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
} }
else trigger.source.loseHp(); else trigger.source.loseHp();
}, },
audio:'enyuan2',
}, },
} }
}, },
@ -13465,7 +13472,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
event.result2=result; event.result2=result;
if(chosen.length){ if(chosen.length){
for(var i=0;i<chosen.length;i++){ for(var i=0;i<chosen.length;i++){
var name1=chosenCharacter[0],name2=chosenCharacter[1],str,choice; var name1=chosenCharacter[i][0],name2=chosenCharacter[i][1],str,choice;
if(get.is.double(name1,true)){ if(get.is.double(name1,true)){
str='请选择你代表的势力'; str='请选择你代表的势力';
choice=get.is.double(name2,true).filter(group=>get.is.double(name1,true).contains(group)); choice=get.is.double(name2,true).filter(group=>get.is.double(name1,true).contains(group));
@ -13710,7 +13717,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
gzzhukou:'逐寇', gzzhukou:'逐寇',
gzzhukou_info:'当你于一名角色的出牌阶段第一次造成伤害后你可以摸X张牌X为本回合你已使用的牌数且至多为5。', gzzhukou_info:'当你于一名角色的出牌阶段第一次造成伤害后你可以摸X张牌X为本回合你已使用的牌数且至多为5。',
gzduannian:'断念', gzduannian:'断念',
gzduannian_info:'出牌阶段结束时,若你有手牌你可以弃置所有手牌,然后将手牌摸至体力上限。', gzduannian_info:'出牌阶段结束时,若你有手牌你可以弃置所有手牌,然后将手牌摸至体力上限。',
gzlianyou:'莲佑', gzlianyou:'莲佑',
gzlianyou_info:'你死亡时,可以选择一名其他角色。该角色获得技能“兴火”。', gzlianyou_info:'你死亡时,可以选择一名其他角色。该角色获得技能“兴火”。',
gzxinghuo:'兴火', gzxinghuo:'兴火',
@ -13734,7 +13741,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
gzfangyuan:'方圆', gzfangyuan:'方圆',
gzfangyuan_info:'阵法技,若你在一个围攻关系中:①是围攻角色,则所有围攻角色的手牌上限+1且被围攻角色手牌上限-1②是被围攻角色则结束阶段开始时你视为对一名围攻角色使用【杀】。', gzfangyuan_info:'阵法技,若你在一个围攻关系中:①是围攻角色,则所有围攻角色的手牌上限+1且被围攻角色手牌上限-1②是被围攻角色则结束阶段开始时你视为对一名围攻角色使用【杀】。',
daming:'达命', daming:'达命',
daming_info:'一名己方角色A的出牌阶段开始时你可弃置一张锦囊牌横置一名角色并摸X张牌X为拥有横置角色的势力数。然后你选择一项视为对A使用一张【桃】②令A视为对由你选择的另一名角色使用一张雷【杀】。', daming_info:'一名己方角色A的出牌阶段开始时你可弃置一张锦囊牌横置一名角色并摸X张牌X为拥有横置角色的势力数。然后你选择一项令A回复1点体力②令A视为对由你选择的另一名角色使用一张雷【杀】。',
xiaoni:'嚣逆', xiaoni:'嚣逆',
xiaoni_info:'锁定技,当你使用牌时,或成为其他角色使用牌的目标后,若场上存在其他己方角色且这些角色的手牌数均不大于你,则目标角色/你不可响应此牌。', xiaoni_info:'锁定技,当你使用牌时,或成为其他角色使用牌的目标后,若场上存在其他己方角色且这些角色的手牌数均不大于你,则目标角色/你不可响应此牌。',
gztongduo:'统度', gztongduo:'统度',