Skip to content

Commit 4298361

Browse files
authored
Merge pull request #476 from libccy/PR-Branch
v1.10.3.1
2 parents cb642c5 + 96d7a74 commit 4298361

File tree

5 files changed

+137
-182
lines changed

5 files changed

+137
-182
lines changed

character/extra.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -590,8 +590,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
590590
skillAnimation:true,
591591
animationColor:'orange',
592592
filter:function(event,player){
593-
return true;
594-
//return player.getStorage('dctuoyu').length==3;
593+
return player.getStorage('dctuoyu').length==3;
595594
},
596595
content:function(){
597596
'step 0'

character/mobile.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14881,7 +14881,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
1488114881
zhaotongzhaoguang:"手杀赵统赵广",
1488214882
zhaotongzhaoguang_prefix:'手杀',
1488314883
re_liru:'手杀李儒',
14884-
re_liru_prefix:'李儒',
14884+
re_liru_prefix:'手杀',
1488514885
re_chenqun:'手杀陈群',
1488614886
re_chenqun_prefix:'手杀',
1488714887
old_yuanshu:'手杀袁术',

game/asset.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
window.noname_asset_list=[
2-
'v1.10.2.1',
2+
'v1.10.3.1',
33
/*audio start*/
44
'audio/background/aozhan_chaoming.mp3',
55
'audio/background/aozhan_online.mp3',
@@ -724,6 +724,7 @@ window.noname_asset_list=[
724724
'audio/die/re_taishici.mp3',
725725
'audio/die/re_taoqian.mp3',
726726
'audio/die/re_weiyan.mp3',
727+
'audio/die/re_wenpin.mp3',
727728
'audio/die/re_wuguotai.mp3',
728729
'audio/die/re_wuyi.mp3',
729730
'audio/die/re_xiahoudun.mp3',
@@ -753,6 +754,7 @@ window.noname_asset_list=[
753754
'audio/die/re_zhaoyun.mp3',
754755
'audio/die/re_zhenji.mp3',
755756
'audio/die/re_zhonghui.mp3',
757+
'audio/die/re_zhongyao.mp3',
756758
'audio/die/re_zhoucang.mp3',
757759
'audio/die/re_zhouyu.mp3',
758760
'audio/die/re_zhugeliang.mp3',
@@ -2679,6 +2681,8 @@ window.noname_asset_list=[
26792681
'audio/skill/huoji2.mp3',
26802682
'audio/skill/huomo_huzhao1.mp3',
26812683
'audio/skill/huomo_huzhao2.mp3',
2684+
'audio/skill/huomo_re_zhongyao1.mp3',
2685+
'audio/skill/huomo_re_zhongyao2.mp3',
26822686
'audio/skill/huomo1.mp3',
26832687
'audio/skill/huomo2.mp3',
26842688
'audio/skill/huoshou1_re_menghuo1.mp3',
@@ -5734,6 +5738,8 @@ window.noname_asset_list=[
57345738
'audio/skill/zhenshan2.mp3',
57355739
'audio/skill/zhente1.mp3',
57365740
'audio/skill/zhente2.mp3',
5741+
'audio/skill/zhenwei_re_wenpin1.mp3',
5742+
'audio/skill/zhenwei_re_wenpin2.mp3',
57375743
'audio/skill/zhenwei1.mp3',
57385744
'audio/skill/zhenwei2.mp3',
57395745
'audio/skill/zhiba2_re_sunben1.mp3',
@@ -5888,6 +5894,8 @@ window.noname_asset_list=[
58885894
'audio/skill/zuixiang.mp3',
58895895
'audio/skill/zunwei1.mp3',
58905896
'audio/skill/zunwei2.mp3',
5897+
'audio/skill/zuoding_re_zhongyao1.mp3',
5898+
'audio/skill/zuoding_re_zhongyao2.mp3',
58915899
'audio/skill/zuoding1.mp3',
58925900
'audio/skill/zuoding2.mp3',
58935901
'audio/skill/zuoxing1.mp3',

game/game.js

Lines changed: 124 additions & 133 deletions
Original file line numberDiff line numberDiff line change
@@ -26111,60 +26111,72 @@
2611126111
return list;
2611226112
},
2611326113
addSkillTrigger:function(skill,hidden,triggeronly){
26114-
let skills=game.expandSkills([skill]);
26115-
for(let skill of skills){
26116-
let info=lib.skill[skill];
26117-
if(!info){
26118-
console.trace(`Cannot find skill: ${skill}\nPlease check if game.expandSkills is overwritten`);
26119-
continue;
26114+
var info=lib.skill[skill];
26115+
if(!info) return;
26116+
if(typeof info.group=='string'){
26117+
this.addSkillTrigger(info.group,hidden);
26118+
}
26119+
else if(Array.isArray(info.group)){
26120+
for(var i=0;i<info.group.length;i++){
26121+
this.addSkillTrigger(info.group[i],hidden);
2612026122
}
26121-
if(!triggeronly){
26122-
if(info.global&&(!hidden||info.globalSilent)){
26123-
if(typeof info.global=='string'){
26124-
game.addGlobalSkill(info.global,this);
26125-
}
26126-
else{
26127-
for(let j=0;j<info.global.length;j++){
26128-
game.addGlobalSkill(info.global[j],this);
26129-
}
26123+
}
26124+
if(!triggeronly){
26125+
if(info.global&&(!hidden||info.globalSilent)){
26126+
if(typeof info.global=='string'){
26127+
game.addGlobalSkill(info.global,this);
26128+
}
26129+
else{
26130+
for(var j=0;j<info.global.length;j++){
26131+
game.addGlobalSkill(info.global[j],this);
2613026132
}
2613126133
}
26132-
if(this.initedSkills.contains(skill)) return this;
26133-
this.initedSkills.push(skill);
26134-
if(info.init&&!_status.video) info.init(this,skill);
2613526134
}
26136-
if(info.trigger&&this.playerid){
26137-
let playerid=this.playerid;
26138-
let setTrigger=function(i,evt){
26139-
if(i=='global'){
26140-
if(!lib.hook.globaltrigger[evt]){
26141-
lib.hook.globaltrigger[evt]={};
26142-
}
26143-
if(!lib.hook.globaltrigger[evt][playerid]){
26144-
lib.hook.globaltrigger[evt][playerid]=[];
26145-
}
26146-
lib.hook.globaltrigger[evt][playerid].add(skill);
26135+
if(this.initedSkills.contains(skill)) return this;
26136+
this.initedSkills.push(skill);
26137+
if(info.init&&!_status.video){
26138+
info.init(this,skill);
26139+
}
26140+
}
26141+
if(info.trigger&&this.playerid){
26142+
var playerid=this.playerid;
26143+
var setTrigger=function(i,evt){
26144+
if(i=='global'){
26145+
if(!lib.hook.globaltrigger[evt]){
26146+
lib.hook.globaltrigger[evt]={};
2614726147
}
26148-
else{
26149-
let name=playerid+'_'+i+'_'+evt;
26150-
if(!lib.hook[name]) lib.hook[name]=[];
26151-
lib.hook[name].add(skill);
26148+
if(!lib.hook.globaltrigger[evt][playerid]){
26149+
lib.hook.globaltrigger[evt][playerid]=[];
2615226150
}
26153-
lib.hookmap[evt]=true;
26151+
lib.hook.globaltrigger[evt][playerid].add(skill);
2615426152
}
26155-
for(let i in info.trigger){
26156-
if(typeof info.trigger[i]=='string') setTrigger(i,info.trigger[i]);
26157-
else if(Array.isArray(info.trigger[i])){
26158-
for(let trigger of info.trigger[i]) setTrigger(i,trigger);
26153+
else{
26154+
var name=playerid+'_'+i+'_'+evt;
26155+
if(!lib.hook[name]){
26156+
lib.hook[name]=[];
2615926157
}
26158+
lib.hook[name].add(skill);
2616026159
}
26160+
lib.hookmap[evt]=true;
2616126161
}
26162-
if(info.hookTrigger){
26163-
if(!this._hookTrigger) this._hookTrigger=[];
26164-
this._hookTrigger.add(skill);
26162+
for(var i in info.trigger){
26163+
if(typeof info.trigger[i]=='string'){
26164+
setTrigger(i,info.trigger[i]);
26165+
}
26166+
else if(Array.isArray(info.trigger[i])){
26167+
for(var j=0;j<info.trigger[i].length;j++){
26168+
setTrigger(i,info.trigger[i][j]);
26169+
}
26170+
}
26171+
}
26172+
}
26173+
if(info.hookTrigger){
26174+
if(!this._hookTrigger){
26175+
this._hookTrigger=[];
2616526176
}
26166-
if(_status.event&&_status.event.addTrigger) _status.event.addTrigger(skill,this);
26177+
this._hookTrigger.add(skill);
2616726178
}
26179+
if(_status.event&&_status.event.addTrigger) _status.event.addTrigger(skill,this);
2616826180
return this;
2616926181
},
2617026182
addSkillLog:function(skill){
@@ -26462,49 +26474,59 @@
2646226474
return this;
2646326475
},
2646426476
removeSkillTrigger:function(skill,triggeronly){
26465-
let skills=game.expandSkills([skill]);
26466-
for(let skill of skills){
26467-
let info=lib.skill[skill];
26468-
if(!info){
26469-
console.trace(`Cannot find skill: ${skill}\nPlease check if game.expandSkills is overwritten`);
26470-
continue;
26477+
var info=lib.skill[skill];
26478+
if(!info) return;
26479+
if(typeof info.group=='string'){
26480+
this.removeSkillTrigger(info.group);
26481+
}
26482+
else if(Array.isArray(info.group)){
26483+
for(var i=0;i<info.group.length;i++){
26484+
this.removeSkillTrigger(info.group[i]);
2647126485
}
26472-
if(!triggeronly) this.initedSkills.remove(skill);
26473-
if(info.trigger){
26474-
let playerid=this.playerid;
26475-
let removeTrigger=function(i,evt){
26476-
if(i=='global'){
26477-
for(let j in lib.hook.globaltrigger){
26478-
if(lib.hook.globaltrigger[j][playerid]){
26479-
lib.hook.globaltrigger[j][playerid].remove(skill);
26480-
if(lib.hook.globaltrigger[j][playerid].length==0){
26481-
delete lib.hook.globaltrigger[j][playerid];
26482-
}
26483-
if(get.is.empty(lib.hook.globaltrigger[j])){
26484-
delete lib.hook.globaltrigger[j];
26485-
}
26486+
}
26487+
if(!triggeronly) this.initedSkills.remove(skill);
26488+
if(info.trigger){
26489+
var playerid=this.playerid;
26490+
var removeTrigger=function(i,evt){
26491+
if(i=='global'){
26492+
for(var j in lib.hook.globaltrigger){
26493+
if(lib.hook.globaltrigger[j][playerid]){
26494+
lib.hook.globaltrigger[j][playerid].remove(skill);
26495+
if(lib.hook.globaltrigger[j][playerid].length==0){
26496+
delete lib.hook.globaltrigger[j][playerid];
26497+
}
26498+
if(get.is.empty(lib.hook.globaltrigger[j])){
26499+
delete lib.hook.globaltrigger[j];
2648626500
}
2648726501
}
2648826502
}
26489-
else{
26490-
let name=playerid+'_'+i+'_'+evt;
26491-
if(lib.hook[name]){
26492-
lib.hook[name].remove(skill);
26493-
if(lib.hook[name].length==0) delete lib.hook[name];
26503+
}
26504+
else{
26505+
var name=playerid+'_'+i+'_'+evt;
26506+
if(lib.hook[name]){
26507+
lib.hook[name].remove(skill);
26508+
if(lib.hook[name].length==0){
26509+
delete lib.hook[name];
2649426510
}
2649526511
}
2649626512
}
26497-
for(let i in info.trigger){
26498-
if(typeof info.trigger[i]=='string') removeTrigger(i,info.trigger[i]);
26499-
else if(Array.isArray(info.trigger[i])){
26500-
for(let trigger of info.trigger[i]) removeTrigger(i,trigger);
26513+
}
26514+
for(var i in info.trigger){
26515+
if(typeof info.trigger[i]=='string'){
26516+
removeTrigger(i,info.trigger[i]);
26517+
}
26518+
else if(Array.isArray(info.trigger[i])){
26519+
for(var j=0;j<info.trigger[i].length;j++){
26520+
removeTrigger(i,info.trigger[i][j]);
2650126521
}
2650226522
}
2650326523
}
26504-
if(info.hookTrigger){
26505-
if(this._hookTrigger){
26506-
this._hookTrigger.remove(skill);
26507-
if(!this._hookTrigger.length) delete this._hookTrigger;
26524+
}
26525+
if(info.hookTrigger){
26526+
if(this._hookTrigger){
26527+
this._hookTrigger.remove(skill);
26528+
if(!this._hookTrigger.length){
26529+
delete this._hookTrigger;
2650826530
}
2650926531
}
2651026532
}
@@ -40250,7 +40272,7 @@
4025040272
if(drawDeck&&drawDeck.drawDeck) players[0].draw(num2,drawDeck);
4025140273
else players[0].draw(num2);
4025240274
},
40253-
finishSkill:(i,history)=>{
40275+
finishSkill:(i,sub)=>{
4025440276
const mode=get.mode(),info=lib.skill[i],iInfo=`${i}_info`;
4025540277
if(info.alter){
4025640278
lib.translate[`${iInfo}_origin`]=lib.translate[iInfo];
@@ -40293,25 +40315,14 @@
4029340315
});
4029440316
}
4029540317
if(info.inherit){
40296-
var inheritHistory=[];
40297-
while(true){
40298-
if(!info.inherit) break;
40299-
if(inheritHistory.includes(info.inherit)){
40300-
console.trace(`Inherit Error: ${info.inherit} in ${i}'s inherit forms a deadlock`);
40301-
break;
40302-
}
40303-
inheritHistory.push(info.inherit);
40304-
40305-
const inheritInfo=lib.skill[info.inherit];
40306-
if(inheritInfo) Object.keys(inheritInfo).forEach(value=>{
40307-
if(info[value]!=undefined) return;
40308-
if(value=='audio'&&(typeof info[value]=='number'||typeof info[value]=='boolean')) info[value]=info.inherit;
40309-
else info[value]=inheritInfo[value];
40310-
});
40311-
if(lib.translate[i]==undefined) lib.translate[i]=lib.translate[info.inherit];
40312-
if(lib.translate[`${i}_info`]==undefined) lib.translate[`${i}_info`]=lib.translate[`${info.inherit}_info`];
40313-
if(!inheritInfo||!inheritInfo.inherit) info.inherit=void 0;
40314-
}
40318+
const skill=lib.skill[info.inherit];
40319+
if(skill) Object.keys(skill).forEach(value=>{
40320+
if(info[value]!=undefined) return;
40321+
if(value=='audio'&&(typeof info[value]=='number'||typeof info[value]=='boolean')) info[value]=info.inherit;
40322+
else info[value]=skill[value];
40323+
});
40324+
if(lib.translate[i]==undefined) lib.translate[i]=lib.translate[info.inherit];
40325+
if(lib.translate[iInfo]==undefined) lib.translate[iInfo]=lib.translate[`${info.inherit}_info`];
4031540326
}
4031640327
if(info.limited){
4031740328
if(info.mark===undefined) info.mark=true;
@@ -40320,26 +40331,16 @@
4032040331
if(info.skillAnimation===undefined) info.skillAnimation=true;
4032140332
if(info.init===undefined) info.init=(player,skill)=>player.storage[skill]=false;
4032240333
}
40323-
if(info.subSkill){
40324-
let subSkillHistory=Array.isArray(history)?history:[];
40325-
for(let value in info.subSkill){
40326-
if(subSkillHistory.includes(value)){
40327-
console.trace(`SubSkill Error: ${value} in ${i} forms a deadlock`);
40328-
continue;
40329-
}
40330-
let history=subSkillHistory.slice(0);
40331-
history.push(value);
40332-
40333-
const iValue=`${i}_${value}`;
40334-
lib.skill[iValue]=info.subSkill[value];
40335-
lib.skill[iValue].sub=true;
40336-
if(info.subSkill[value].name) lib.translate[iValue]=info.subSkill[value].name;
40337-
else lib.translate[iValue]=lib.translate[iValue]||lib.translate[i];
40338-
if(info.subSkill[value].description) lib.translate[`${iValue}_info`]=info.subSkill[value].description;
40339-
if(info.subSkill[value].marktext) lib.translate[`${iValue}_bg`]=info.subSkill[value].marktext;
40340-
game.finishSkill(iValue,history);
40341-
}
40342-
}
40334+
if(info.subSkill&&!sub) Object.keys(info.subSkill).forEach(value=>{
40335+
const iValue=`${i}_${value}`;
40336+
lib.skill[iValue]=info.subSkill[value];
40337+
lib.skill[iValue].sub=true;
40338+
if(info.subSkill[value].name) lib.translate[iValue]=info.subSkill[value].name;
40339+
else lib.translate[iValue]=lib.translate[iValue]||lib.translate[i];
40340+
if(info.subSkill[value].description) lib.translate[`${iValue}_info`]=info.subSkill[value].description;
40341+
if(info.subSkill[value].marktext) lib.translate[`${iValue}_bg`]=info.subSkill[value].marktext;
40342+
game.finishSkill(iValue,true);
40343+
});
4034340344
if(info.round){
4034440345
const k=`${i}_roundcount`;
4034540346
if(typeof info.group=='string') info.group=[info.group,k];
@@ -41237,25 +41238,15 @@
4123741238
if(!player.storage.skill_blocker||!player.storage.skill_blocker.length) return out;
4123841239
return out.filter(value=>exclude&&exclude.includes(value)||!get.is.blocked(value,player));
4123941240
},
41240-
expandSkills:(skill,oldHistory)=>{
41241-
let history=[];
41242-
if(oldHistory) history.addArray(oldHistory);
41243-
if(Array.isArray(skill)){
41244-
return skill.reduce((previous,current)=>previous.addArray(game.expandSkills(current,history)),[]);
41245-
}
41246-
41247-
let info=get.info(skill);
41248-
if(!info){
41249-
console.trace(`Cannot find skill: ${skill}`);
41250-
return history;
41251-
}
41252-
history.add(skill);
41253-
if(info.group){
41254-
let group=Array.isArray(info.group)?info.group:[info.group];
41255-
history.addArray(game.expandSkills([].addArray(group.filter(skill=>!history.includes(skill))),history));
41241+
expandSkills:skills=>skills.addArray(skills.reduce((previousValue,currentValue)=>{
41242+
const info=get.info(currentValue);
41243+
if(info){
41244+
if(Array.isArray(info.group)) previousValue.push(...info.group);
41245+
else if(info.group) previousValue.push(info.group);
4125641246
}
41257-
return history;
41258-
},
41247+
else console.log(currentValue);
41248+
return previousValue;
41249+
},[])),
4125941250
css:style=>Object.keys(style).forEach(value=>{
4126041251
let uiStyle=ui.style[value];
4126141252
if(!uiStyle){

0 commit comments

Comments
 (0)