Merge pull request #660 from mengxinzxz/PR-Branch

技能效果调整+small bugfix
This commit is contained in:
Spmario233 2023-11-22 22:58:43 +08:00 committed by GitHub
commit c5dd53b389
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 15 additions and 98 deletions

BIN
audio/die/clan_zhongyu.mp3 Normal file

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.

View File

@ -204,8 +204,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
event.target=target; event.target=target;
var list=[]; var list=[];
for(var name of lib.inpile){ for(var name of lib.inpile){
if(name!='sha'&&get.type(name)!='trick') continue;
if(trigger.card.name=='sha'&&get.type(name)!='trick') continue; if(trigger.card.name=='sha'&&get.type(name)!='trick') continue;
if(name=='sha'&&get.type(trigger.card.name)!='trick') continue; if(name=='sha'&&get.type(trigger.card)!='trick') continue;
if(!player.canUse(get.autoViewAs({name:name},[]),target)) continue; if(!player.canUse(get.autoViewAs({name:name},[]),target)) continue;
list.push([get.translation(get.type(name)),'',name]); list.push([get.translation(get.type(name)),'',name]);
} }

View File

@ -20,6 +20,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
connect:true, connect:true,
character:{ character:{
ol_lingtong:['male','wu',4,['olxuanfeng'],['die_audio:re_lingtong','unseen']],
re_xushu:['male','shu',4,['zhuhai','qianxin']], re_xushu:['male','shu',4,['zhuhai','qianxin']],
re_lidian:['male','wei',3,['xunxun','xinwangxi']], re_lidian:['male','wei',3,['xunxun','xinwangxi']],
re_zhongyao:['male','wei',3,['rehuomo','zuoding'],['clan:颍川钟氏']], re_zhongyao:['male','wei',3,['rehuomo','zuoding'],['clan:颍川钟氏']],
@ -175,7 +176,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audioname:['boss_lvbu3'], audioname:['boss_lvbu3'],
audioname2:{ audioname2:{
lingtong:'xuanfeng', lingtong:'xuanfeng',
ol_lingtong:'rexuanfeng', ol_lingtong:'xuanfeng_re_lingtong',
}, },
trigger:{ trigger:{
player:['loseAfter'], player:['loseAfter'],
@ -221,6 +222,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
noe:true noe:true
}, },
}, },
xuanfeng_re_lingtong:{audio:2},
ollianhuan:{ ollianhuan:{
audio:'xinlianhuan', audio:'xinlianhuan',
audioname:['ol_pangtong'], audioname:['ol_pangtong'],
@ -10667,12 +10669,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
derivation:'rechanyuan', derivation:'rechanyuan',
enable:['chooseToUse','chooseToRespond'], enable:['chooseToUse','chooseToRespond'],
hiddenCard:function(player,name){ hiddenCard:function(player,name){
return (lib.inpile.contains(name)&&player.countCards('h')>0&&!player.hasSkill('reguhuo_phase')); return lib.inpile.contains(name)&&player.countCards('h')>0&&!player.hasSkill('reguhuo_phase');
}, },
filter:function(event,player){ filter:function(event,player){
if(!player.countCards('hs')||player.hasSkill('reguhuo_phase')) return false; if(!player.countCards('hs')||player.hasSkill('reguhuo_phase')) return false;
for(var i of lib.inpile){ for(var i of lib.inpile){
if(i=='shan'||i=='wuxie') continue;
var type=get.type(i); var type=get.type(i);
if((type=='basic'||type=='trick')&&event.filterCard({name:i},player,event)) return true; if((type=='basic'||type=='trick')&&event.filterCard({name:i},player,event)) return true;
if(i=='sha'){ if(i=='sha'){
@ -10687,7 +10688,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
dialog:function(){ dialog:function(){
var list=[]; var list=[];
for(var i of lib.inpile){ for(var i of lib.inpile){
if(i=='shan'||i=='wuxie') continue;
var type=get.type(i); var type=get.type(i);
if(type=='basic'||type=='trick') list.push([type,'',i]); if(type=='basic'||type=='trick') list.push([type,'',i]);
if(i=='sha'){ if(i=='sha'){
@ -10779,96 +10779,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
threaten:1.3, threaten:1.3,
}, },
group:['reguhuo_shan','reguhuo_wuxie'],
},
reguhuo_shan:{
enable:['chooseToUse','chooseToRespond'],
viewAs:{
name:'shan',
suit:'none',
number:null,
},
filterCard:function(card,player,target){
var result=true;
var suit=card.suit,number=card.number;
card.suit='none';card.number=null;
var mod=game.checkMod(card,player,'unchanged','cardEnabled2',player);
if(mod!='unchanged') result=mod;
card.suit=suit;card.number=number;
return result;
},
position:'hs',
ignoreMod:true,
viewAsFilter:function(player){
return player.countCards('hs')&&!player.hasSkill('reguhuo_phase');
},
check:function(card){
var player=_status.event.player;
var hasEnemy=game.hasPlayer(function(current){
return current!=player&&!current.hasSkill('rechanyuan')&&(get.realAttitude||get.attitude)(current,player)<0;
});
var cardx='shan';
if(hasEnemy){
if(card.name==cardx) return 10;
return 0;
}
return 6-get.value(card);
},
precontent:function(){
player.logSkill('reguhuo');
player.addTempSkill('reguhuo_guess');
var card=event.result.cards[0];
event.result.card.suit=get.suit(card);
event.result.card.number=get.number(card);
},
prompt:'将一张牌当做【闪】使用或打出',
ai:{
order:4,
},
},
reguhuo_wuxie:{
enable:'chooseToUse',
viewAs:{
name:'wuxie',
suit:'none',
number:null,
},
filterCard:function(card,player,target){
var result=true;
var suit=card.suit,number=card.number;
card.suit='none';card.number=null;
var mod=game.checkMod(card,player,'unchanged','cardEnabled2',player);
if(mod!='unchanged') result=mod;
card.suit=suit;card.number=number;
return result;
},
ignoreMod:true,
check:function(card){
var player=_status.event.player;
var hasEnemy=game.hasPlayer(function(current){
return current!=player&&!current.hasSkill('rechanyuan')&&(get.realAttitude||get.attitude)(current,player)<0;
});
var cardx='wuxie';
if(hasEnemy){
if(card.name==cardx) return 10;
return 0;
}
return 6-get.value(card);
},
precontent:function(){
player.logSkill('reguhuo');
player.addTempSkill('reguhuo_guess');
var card=event.result.cards[0];
event.result.card.suit=get.suit(card);
event.result.card.number=get.number(card);
},
viewAsFilter:function(player){
return player.countCards('hs')&&!player.hasSkill('reguhuo_phase');
},
prompt:'将一张牌当做【无懈可击】使用',
ai:{
order:4,
},
}, },
reguhuo_guess:{ reguhuo_guess:{
trigger:{ trigger:{
@ -14948,9 +14858,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
reguhuo_guess_info:"", reguhuo_guess_info:"",
rechanyuan:"缠怨", rechanyuan:"缠怨",
rechanyuan_info:"锁定技你不能于〖蛊惑〗的结算流程中进行质疑。当你的体力值不大于1时你的其他技能失效。", rechanyuan_info:"锁定技你不能于〖蛊惑〗的结算流程中进行质疑。当你的体力值不大于1时你的其他技能失效。",
reguhuo_sha:"蛊惑",
reguhuo_shan:"蛊惑",
reguhuo_wuxie:"蛊惑",
reguhuo_ally:'信任', reguhuo_ally:'信任',
reguhuo_betray:'质疑', reguhuo_betray:'质疑',
reguhuo_ally_bg:'真', reguhuo_ally_bg:'真',

View File

@ -36185,6 +36185,12 @@ new Promise(resolve=>{
['星',{ ['星',{
color:'#ffd700', color:'#ffd700',
nature:'glodenmm', nature:'glodenmm',
}],
['OL界',{
/**
* @returns {string}
*/
getSpan:()=>`${get.prefixSpan('OL')}${get.prefixSpan('界')}`
}] }]
]), ]),
groupnature:{ groupnature:{

View File

@ -215,6 +215,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
for(var i=0;i<game.players.length;i++){ for(var i=0;i<game.players.length;i++){
game.players[i].getId(); game.players[i].getId();
} }
if(_status.brawl&&_status.brawl.chooseCharacterBefore){
_status.brawl.chooseCharacterBefore();
}
game.chooseCharacter(); game.chooseCharacter();
} }
"step 3" "step 3"