v1.9.95.4

This commit is contained in:
Spmario233 2019-11-22 13:25:14 +08:00 committed by GitHub
parent f44ca17166
commit 44f9b3b013
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 100 additions and 65 deletions

View File

@ -1,5 +1,5 @@
window.noname_asset_list=[ window.noname_asset_list=[
'1.9.95.2', '1.9.95.4',
'audio/background/aozhan_chaoming.mp3', 'audio/background/aozhan_chaoming.mp3',
'audio/background/aozhan_online.mp3', 'audio/background/aozhan_online.mp3',
'audio/background/aozhan_rewrite.mp3', 'audio/background/aozhan_rewrite.mp3',
@ -2349,6 +2349,7 @@ window.noname_asset_list=[
'image/character/niujin.jpg', 'image/character/niujin.jpg',
'image/character/old_fuhuanghou.jpg', 'image/character/old_fuhuanghou.jpg',
'image/character/old_caochong.jpg', 'image/character/old_caochong.jpg',
'image/character/key_kagari.jpg',
'image/character/baiwuchang.jpg', 'image/character/baiwuchang.jpg',
'image/character/baosanniang.jpg', 'image/character/baosanniang.jpg',

View File

@ -6834,7 +6834,7 @@
} }
if(pack.music){ if(pack.music){
if(lib.device||typeof window.require=='function'){ if(lib.device||typeof window.require=='function'){
lib.configMenu.audio.config.background_music.item.music_custom='自定'; lib.configMenu.audio.config.background_music.item.music_custom='自定义音乐';
} }
lib.config.all.background_music=['music_default']; lib.config.all.background_music=['music_default'];
for(i in pack.music){ for(i in pack.music){
@ -6847,7 +6847,7 @@
lib.configMenu.audio.config.background_music.item[i]=lib.config.customBackgroundMusic[i]; lib.configMenu.audio.config.background_music.item[i]=lib.config.customBackgroundMusic[i];
} }
} }
lib.configMenu.audio.config.background_music.item.music_random='随机'; lib.configMenu.audio.config.background_music.item.music_random='随机播放';
lib.configMenu.audio.config.background_music.item.music_off='关闭'; lib.configMenu.audio.config.background_music.item.music_off='关闭';
} }
if(pack.theme){ if(pack.theme){
@ -9816,6 +9816,12 @@
cards[i].discard(); cards[i].discard();
} }
}, },
cardsGotoSpecial:function(){
for(var i=0;i<cards.length;i++){
cards[i].goto(ui.special);
}
if(event.notrigger!==true) event.trigger('addCardToStorage');
},
chooseToEnable:function(){ chooseToEnable:function(){
'step 0' 'step 0'
var list=[]; var list=[];
@ -10897,8 +10903,10 @@
}, },
phase:function(){ phase:function(){
"step 0" "step 0"
player.phaseJudge(); player.phaseZhunbei();
"step 1" "step 1"
player.phaseJudge();
"step 2"
player.phaseDraw(); player.phaseDraw();
if(!player.noPhaseDelay){ if(!player.noPhaseDelay){
if(player==game.me){ if(player==game.me){
@ -10908,9 +10916,9 @@
game.delayx(); game.delayx();
} }
} }
"step 2"
player.phaseUse();
"step 3" "step 3"
player.phaseUse();
"step 4"
game.broadcastAll(function(){ game.broadcastAll(function(){
if(ui.tempnowuxie){ if(ui.tempnowuxie){
ui.tempnowuxie.close(); ui.tempnowuxie.close();
@ -10921,6 +10929,8 @@
if(!player.noPhaseDelay) game.delayx(); if(!player.noPhaseDelay) game.delayx();
delete player.using; delete player.using;
delete player._noSkill; delete player._noSkill;
"step 5"
player.phaseJieshu();
}, },
phaseJudge:function(){ phaseJudge:function(){
"step 0" "step 0"
@ -13157,11 +13167,13 @@
} }
if(!get.info(card,false).noForceDie) event.forceDie=true; if(!get.info(card,false).noForceDie) event.forceDie=true;
var next=player.lose(cards,'visible').set('type','use'); var next=player.lose(cards,'visible').set('type','use');
var directDiscard=[];
for(var i=0;i<cards.length;i++){ for(var i=0;i<cards.length;i++){
if(!next.cards.contains(cards[i])){ if(!next.cards.contains(cards[i])){
cards[i].discard(); directDiscard.push(cards[i]);
} }
} }
if(directDiscard.length) game.cardsDiscard(directDiscard);
player.using=cards; player.using=cards;
var cardaudio=true; var cardaudio=true;
if(event.skill){ if(event.skill){
@ -13267,6 +13279,8 @@
} }
event.excluded=[]; event.excluded=[];
event.directHit=[]; event.directHit=[];
event.customArgs={default:{}};
event.baseDamage=get.info(card,false).baseDamage||1;
event.trigger('useCard1'); event.trigger('useCard1');
"step 1" "step 1"
event.trigger('useCard2'); event.trigger('useCard2');
@ -13479,6 +13493,7 @@
next.skill=event.skill; next.skill=event.skill;
next.multitarget=info.multitarget; next.multitarget=info.multitarget;
next.preResult=event.preResult; next.preResult=event.preResult;
next.baseDamage=event.baseDamage;
if(event.forceDie) next.forceDie=true; if(event.forceDie) next.forceDie=true;
if(event.addedTargets){ if(event.addedTargets){
next.addedTargets=event.addedTargets; next.addedTargets=event.addedTargets;
@ -13489,6 +13504,11 @@
event.targetDelay=false; event.targetDelay=false;
} }
next.target=targets[num]; next.target=targets[num];
if(next.target&&event.customArgs[next.target.playerid]){
var customArgs=event.customArgs[next.target.playerid];
for(var i in customArgs) next[i]=customArgs[i];
}
for(var i in event.customArgs.default) next[i]=event.customArgs.default[i];
if(next.target&&event.directHit.contains(next.target)) next.directHit=true; if(next.target&&event.directHit.contains(next.target)) next.directHit=true;
if(next.target&&!info.multitarget){ if(next.target&&!info.multitarget){
if(num==0&&targets.length>1){ if(num==0&&targets.length>1){
@ -13570,6 +13590,8 @@
else{ else{
var losecard=player.lose(cards,ui.special); var losecard=player.lose(cards,ui.special);
if(info.visible) losecard.visible=true; if(info.visible) losecard.visible=true;
if(info.loseTo) losecard.position=ui[info.loseTo];
if(losecard.position==ui.special&&info.toStorage) losecard.toStorage=true;
} }
} }
if(!info.prepare&&info.viewAs){ if(!info.prepare&&info.viewAs){
@ -14961,9 +14983,18 @@
game.addVideo('judge2',null,event.videoId); game.addVideo('judge2',null,event.videoId);
ui.arena.classList.remove('thrownhighlight'); ui.arena.classList.remove('thrownhighlight');
game.log(player,'的判定结果为',event.result.card); game.log(player,'的判定结果为',event.result.card);
if(!get.owner(event.result.card)){ if(event.callback){
if(event.position==ui.discardPile) game.cardsDiscard(event.result.card); var next=game.createEvent('judgeCallback',false);
else event.position.appendChild(event.result.card); next.player=player;
next.card=event.result.card;
next.judgeResult=get.copy(event.result);
next.setContent(event.callback);
}
else{
if(!get.owner(event.result.card)){
if(event.position==ui.discardPile) game.cardsDiscard(event.result.card);
else event.position.appendChild(event.result.card);
}
} }
}, },
turnOver:function(){ turnOver:function(){
@ -16624,6 +16655,12 @@
} }
return next; return next;
}, },
phaseZhunbei:function(){
var next=game.createEvent('phaseZhunbei');
next.player=this;
next.setContent('emptyEvent');
return next;
},
phaseJudge:function(){ phaseJudge:function(){
var next=game.createEvent('phaseJudge'); var next=game.createEvent('phaseJudge');
next.player=this; next.player=this;
@ -16649,6 +16686,12 @@
next.setContent('phaseDiscard'); next.setContent('phaseDiscard');
return next; return next;
}, },
phaseJieshu:function(){
var next=game.createEvent('phaseJieshu');
next.player=this;
next.setContent('emptyEvent');
return next;
},
chooseToUse:function(use){ chooseToUse:function(use){
var next=game.createEvent('chooseToUse'); var next=game.createEvent('chooseToUse');
next.player=this; next.player=this;
@ -17929,28 +17972,8 @@
return next; return next;
}, },
give:function(cards,target,visible){ give:function(cards,target,visible){
var shown=[],hidden=[];
if(get.itemtype(cards)=='card'){
cards=[cards];
}
if(visible){
shown.addArray(cards);
}
else{
var hs=this.getCards('h');
for(var i=0;i<cards.length;i++){
if(hs.contains(cards[i])){
hidden.push(cards[i]);
}
else{
shown.push(cards[i]);
}
}
}
if(shown.length) this.$give(shown,target);
if(hidden.length) this.$giveAuto(hidden,target);
var next=target.gain(cards,this); var next=target.gain(cards,this);
if(visible) next.visible=true; next.animate=visible?'give':'giveAuto';
}, },
lose:function(){ lose:function(){
var next=game.createEvent('lose'); var next=game.createEvent('lose');
@ -24099,6 +24122,7 @@
}, },
prepare:function(cards,player){ prepare:function(cards,player){
player.$throw(cards,1000); player.$throw(cards,1000);
game.log(player,'将',cards,'置入了弃牌堆');
}, },
check:function(card){ check:function(card){
// if(get.type(card)=='stonecharacter'&&_status.event.player.countCards('h',{type:'stonecharacter'})<=1){ // if(get.type(card)=='stonecharacter'&&_status.event.player.countCards('h',{type:'stonecharacter'})<=1){
@ -24107,6 +24131,7 @@
return 1; return 1;
}, },
discard:false, discard:false,
loseTo:'discardPile',
delay:0.5, delay:0.5,
content:function(){ content:function(){
"step 0" "step 0"
@ -24145,8 +24170,6 @@
else{ else{
player.draw(); player.draw();
} }
"step 1"
game.cardsDiscard(cards);
}, },
ai:{ ai:{
basic:{ basic:{
@ -25199,6 +25222,15 @@
next.setContent('cardsDiscard'); next.setContent('cardsDiscard');
return next; return next;
}, },
cardsGotoSpecial:function(cards,bool){
var type=get.itemtype(cards);
if(type!='cards'&&type!='card') return;
var next=game.createEvent('cardsDiscard');
next.cards=type=='cards'?cards:[cards];
if(bool===false) next.notrigger=true;
next.setContent('cardsGotoSpecial');
return next;
},
online:false, online:false,
onlineID:null, onlineID:null,
onlineKey:null, onlineKey:null,
@ -33717,6 +33749,7 @@
} }
var link=(game.writeFile?'cdv_':'custom_')+name; var link=(game.writeFile?'cdv_':'custom_')+name;
if(lib.config.customBackgroundMusic[link]){ if(lib.config.customBackgroundMusic[link]){
if(!confirm('已经存在文件名称相同的背景音乐,是否仍然要继续导入?')){_status.music_importing=false;return};
for(var i=1;i<1000;i++){ for(var i=1;i<1000;i++){
if(!lib.config.customBackgroundMusic[link+'_'+i]){ if(!lib.config.customBackgroundMusic[link+'_'+i]){
link=link+'_'+i;break; link=link+'_'+i;break;
@ -37135,7 +37168,7 @@
editnode.classList.add('disabled'); editnode.classList.add('disabled');
delnode.innerHTML='取消'; delnode.innerHTML='取消';
delete delnode.button; delete delnode.button;
container.code='skill={\n \n}\n\n\/*\n示例\nskill={\n trigger:{player:"phaseEnd"},\n frequent:true,\n content:function(){\n player.draw()\n }\n}\n此例为闭月代码\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/'; container.code='skill={\n \n}\n\n\/*\n示例\nskill={\n trigger:{player:"phaseJieshuBegin"},\n frequent:true,\n content:function(){\n player.draw()\n }\n}\n此例为闭月代码\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/';
if(page.fromchar=='add'){ if(page.fromchar=='add'){
page.fromchar=true; page.fromchar=true;
} }
@ -37236,7 +37269,7 @@
}; };
var saveConfig=ui.create.div('.editbutton','保存',editorpage,saveInput); var saveConfig=ui.create.div('.editbutton','保存',editorpage,saveInput);
var editor=ui.create.div(editorpage); var editor=ui.create.div(editorpage);
container.code='skill={\n \n}\n\n\/*\n示例\nskill={\n trigger:{player:"phaseEnd"},\n frequent:true,\n content:function(){\n player.draw()\n }\n}\n此例为闭月代码\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/'; container.code='skill={\n \n}\n\n\/*\n示例\nskill={\n trigger:{player:"phaseJieshuBegin"},\n frequent:true,\n content:function(){\n player.draw()\n }\n}\n此例为闭月代码\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/';
var citebutton=document.createElement('button'); var citebutton=document.createElement('button');
citebutton.innerHTML='引用代码'; citebutton.innerHTML='引用代码';

View File

@ -23,16 +23,16 @@ window.noname_package={
card:{ card:{
standard:'标准', standard:'标准',
extra:'军争', extra:'军争',
sp:'SP', sp:'SP',
guozhan:'国战', guozhan:'国战',
huanlekapai:'欢乐卡牌', zhenfa:'阵法',
yunchou:'运筹帷幄', yunchou:'运筹帷幄',
swd:'轩辕剑',
gujian:'古剑奇谭',
hearth:'炉石传说', hearth:'炉石传说',
gujian:'古剑奇谭',
zhenfa:'阵法',
swd:'轩辕剑',
gwent:'昆特牌', gwent:'昆特牌',
mtg:'万智牌', mtg:'万智牌',
huanlekapai:'欢乐卡牌',
}, },
play:{ play:{
boss:'诸神降临', boss:'诸神降临',
@ -101,10 +101,10 @@ window.noname_package={
xinsha_bg:'新杀', xinsha_bg:'新杀',
}, },
music:{ music:{
music_phliosophy:'罚抄', music_phliosophy:'Philosophy of ours',
music_diaochan:'貂蝉', music_diaochan:'貂蝉',
music_shezhan:'舌战', music_shezhan:'舌战群儒',
music_danji:'单骑', music_danji:'千里走单骑',
music_jifeng:'祭风', music_jifeng:'祭风',
music_jilve:'极略', music_jilve:'极略',
}, },

View File

@ -1,37 +1,38 @@
window.noname_update={ window.noname_update={
version:'1.9.95.3.3', version:'1.9.95.4',
update:'1.9.95.3.2', update:'1.9.95.3.3',
changeLog:[ changeLog:[
'欢乐卡牌', '欢乐卡牌',
'修复BUG', '修复BUG',
], ],
files:[ files:[
//'card/extra.js', 'card/extra.js',
'card/huanlekapai.js', //'card/huanlekapai.js',
//'card/sp.js', 'card/sp.js',
//'card/standard.js', 'card/standard.js',
//'card/swd.js', //'card/swd.js',
//'card/guozhan.js', 'card/guozhan.js',
//'character/diy.js', 'character/diy.js',
//'character/extra.js', 'character/extra.js',
//'character/mobile.js', 'character/mobile.js',
//'character/old.js', 'character/old.js',
//'character/refresh.js', 'character/refresh.js',
//'character/shenhua.js', 'character/shenhua.js',
//'character/sp.js', 'character/sp.js',
//'character/tw.js', //'character/tw.js',
//'character/standard.js', 'character/standard.js',
//'character/xinghuoliaoyuan.js', 'character/xinghuoliaoyuan.js',
//'character/yijiang.js', 'character/yijiang.js',
'mode/identity.js',
//'mode/doudizhu.js', //'mode/doudizhu.js',
//'mode/guozhan.js', 'mode/guozhan.js',
//'mode/single.js', //'mode/single.js',
//'mode/versus.js', //'mode/versus.js',
//'mode/boss.js', 'mode/boss.js',
//'game/game.js', //'game/game.js',
'game/config.js', //'game/config.js',
'game/package.js', //'game/package.js',
'game/asset.js', //'game/asset.js',
//'game/source.js', //'game/source.js',
] ]
}; };