Merge pull request #965 from mengxinzxz/PR-Branch

左慈/界左慈添加新机制使用
This commit is contained in:
Spmario233 2024-02-17 16:09:33 +08:00 committed by GitHub
commit a261ce08d3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 71 additions and 43 deletions

View File

@ -774,7 +774,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
onlyOL_yijiang1:'OL专属·将1',
onlyOL_yijiang2:'OL专属·将2',
onlyOL_sb:'OL专属·上兵伐谋',
onlyOL_sb:'OL专属·武将',
},
};
});

View File

@ -10589,10 +10589,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var link=result.control;
player.storage.rehuashen.current2=link;
if(!player.additionalSkills.rehuashen||!player.additionalSkills.rehuashen.includes(link)){
player.addAdditionalSkill('rehuashen',link);
player.addAdditionalSkills('rehuashen',link);
player.flashAvatar('rehuashen',event.card);
game.log(player,'获得了技能','#g【'+get.translation(link)+'】');
player.popup(link);
player.syncStorage('rehuashen');
player.updateMarks('rehuashen');
// lib.skill.rehuashen.createAudio(event.card,link,'re_zuoci');
@ -10603,6 +10601,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
character:[],
map:{},
}
player.when('dieBegin').then(()=>{
const name=player.name?player.name:player.name1;
if(name){
const sex=get.character(name,0);
const group=get.character(name,1);
if(player.sex!=sex){
game.broadcastAll((player,sex)=>{
player.sex=sex;
},player,sex);
game.log(player,'将性别变为了','#y'+get.translation(sex)+'性');
}
if(player.group!=group) player.changeGroup(group);
}
});
},
banned:['lisu','sp_xiahoudun','xushao','jsrg_xushao','zhoutai','old_zhoutai','shixie','xin_zhoutai','dc_shixie','old_shixie'],
bannedType:['Charlotte','主公技','觉醒技','限定技','隐匿技','使命技'],

View File

@ -4180,6 +4180,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
owned:{}
};
}
player.when('dieBegin').then(()=>{
const name=player.name?player.name:player.name1;
if(name){
const sex=get.character(name,0);
const group=get.character(name,1);
if(player.sex!=sex){
game.broadcastAll((player,sex)=>{
player.sex=sex;
},player,sex);
game.log(player,'将性别变为了','#y'+get.translation(sex)+'性');
}
if(player.group!=group) player.changeGroup(group);
}
});
},
intro:{
content:function(storage,player){
@ -4455,10 +4469,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
player.storage.huashen.current2=skill;
if(!player.additionalSkills.huashen||!player.additionalSkills.huashen.includes(skill)){
player.addAdditionalSkill('huashen',skill);
player.addAdditionalSkills('huashen',skill);
player.flashAvatar('huashen',character);
game.log(player,'获得了技能','#g【'+get.translation(skill)+'】');
player.popup(skill);
player.syncStorage('huashen');
player.updateMarks('huashen');
// lib.skill.rehuashen.createAudio(character,skill,'zuoci');

View File

@ -7661,7 +7661,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},
check:function(button){
return 1/(1+game.countPlayer(function(current){
return current.identity==button.link;
return current.identity==lib.character[button.link][1];
}));
},
backup:function(links,player){
@ -7692,57 +7692,62 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},
ai:{
respondShan:true,
skillTagFilter:function(player){
skillTagFilter:function(player,tag,arg){
if(arg=='respond'||!lib.inpile.includes('shan')) return false;
var storage=player.storage.yigui;
if(!storage||!storage.character.length||storage.used.includes('shan')||!lib.inpile.includes('shan')) return false;
if(!storage||!storage.character.length||storage.used.includes('shan')) return false;
},
order:0.1,
result:{player:1},
},
},
yigui_gzwuxie:{
hiddenCard:function(player,name){
var storage=player.storage.yigui;
if(name!='wuxie'||!storage||!storage.character.length||storage.used.includes(name)||!lib.inpile.includes(name)) return false;
return true;
},
enable:'chooseToUse',
filter:function(event,player){
if(event.type!='wuxie'||!event.filterCard({name:'wuxie'},player,event)||!lib.inpile.includes('wuxie')) return false;
var storage=player.storage.yigui,target=event.getParent(2).player;
if(!storage||!target||!storage.character.length||storage.used.includes('wuxie')) return false;
var identity=target.identity;
hiddenWuxie(player,info){
if(!lib.inpile.includes('wuxie')) return false;
const storage=player.storage.yigui;
if(!storage||!storage.character||!storage.character.length||(storage.used&&storage.used.includes('wuxie'))) return false;
if(_status.connectMode) return true;
const target=info.target;
if(!target) return false;
const identity=target.identity;
return ['unknown','ye'].includes(identity)||storage.character.some(function(i){
if(lib.character[i][1]=='ye') return true;
var double=get.is.double(i,true);
var groups=(double?double:[lib.character[i][1]]);
return groups.includes(identity);
const double=get.is.double(i,true);
return (double?double:[lib.character[i][1]]).includes(identity);
});
},
enable:'chooseToUse',
filter(event,player){
if(event.type!='wuxie'||!lib.inpile.includes('wuxie')) return false;
const storage=player.storage.yigui;
if(!storage||!storage.character||!storage.character.length||(storage.used&&storage.used.includes('wuxie'))) return false;
const info=event.info_map,target=info.target,identity=target.identity;
return ['unknown','ye'].includes(identity)||storage.character.some(function(i){
if(lib.character[i][1]=='ye') return true;
const double=get.is.double(i,true);
return (double?double:[lib.character[i][1]]).includes(identity);
});
},
chooseButton:{
dialog:function(event,player){
var dialog=ui.create.dialog('役鬼','hidden');
dialog(event,player){
let dialog=ui.create.dialog('役鬼','hidden');
dialog.add([player.storage.yigui.character,'character']);
return dialog;
},
filter:function(button,player){
var evt=_status.event.getParent('chooseToUse');
var target=evt.getParent(2).player,identity=target.identity;
filter(button,player){
const evt=get.event().getParent('chooseToUse');
const info=evt.info_map,target=info.target,identity=target.identity;
if(['unknown','ye'].includes(identity)) return true;
if(lib.character[button.link][1]=='ye') return true;
var double=get.is.double(button.link,true);
var groups=(double?double:[lib.character[button.link][1]]);
return groups.includes(identity);
const double=get.is.double(button.link,true);
return (double?double:[lib.character[button.link][1]]).includes(identity);
},
check:function(button){
return 1/(1+game.countPlayer(function(current){
return current.identity==button.link;
}));
check(button){
return 1+Math.random();
},
backup:function(links,player){
var character=links[0];
var next={
character:character,
backup(links,player){
return {
character:links[0],
filterCard:()=>false,
selectCard:-1,
complexCard:true,
@ -7750,9 +7755,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
popname:true,
audio:'yigui',
viewAs:{name:'wuxie',isCard:true},
onuse:function(result,player){
onuse(result,player){
player.logSkill('yigui');
var character=lib.skill.yigui_gzwuxie_backup.character;
const character=lib.skill.yigui_gzwuxie_backup.character;
player.flashAvatar('yigui',character);
player.storage.yigui.character.remove(character);
_status.characterlist.add(character);
@ -7762,7 +7767,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
player.storage.yigui.used.add(result.card.name);
},
};
return next;
},
},
ai:{