This commit is contained in:
libccy 2016-01-12 21:18:47 +08:00
parent 0548dbae7c
commit 4ff88bc495
13 changed files with 591 additions and 118 deletions

View File

@ -1224,6 +1224,6 @@ character.extra={
shenfen:'神愤', shenfen:'神愤',
shenfen_info:'限定技出牌阶段你可以弃置6枚暴怒标记对场上所有其他角色造成一点伤害然后令其弃置4张牌', shenfen_info:'限定技出牌阶段你可以弃置6枚暴怒标记对场上所有其他角色造成一点伤害然后令其弃置4张牌',
wuqian:'无前', wuqian:'无前',
wuqian_info:'出牌阶段,你可以弃置两枚暴怒标记并获得技能【无双】', wuqian_info:'出牌阶段,你可以弃置两枚暴怒标记并获得技能【无双】直到回合结束',
}, },
} }

View File

@ -2,18 +2,18 @@
character.hearth={ character.hearth={
character:{ character:{
hs_jaina:['female','wei',3,['huopu','bianxing','bingjia']], hs_jaina:['female','wei',3,['huopu','bianxing','bingjia']],
hs_lrexxar:['male','qun',4,['shoulie','gongji']], hs_lrexxar:['male','shu',4,['shoulie','gongji']],
hs_wuther:['male','qun',4,['fengxian','jieming']], hs_wuther:['male','qun',4,['fengxian','jieming']],
hs_jgarrosh:['male','qun',4,['zhanhou','qiangxi']], hs_jgarrosh:['male','shu',4,['zhanhou','qiangxi']],
hs_malfurion:['male','wu',4,['jihuo']], hs_malfurion:['male','wu',4,['jihuo']],
hs_guldan:['male','qun',3,['fenliu','hongxi']], hs_guldan:['male','wei',3,['fenliu','hongxi']],
hs_anduin:['male','qun',3,['shengguang','shijie','anying']], hs_anduin:['male','qun',3,['shengguang','shijie','anying']],
hs_sthrall:['male','wu',4,['tuteng','guozai','zuling']], hs_sthrall:['male','wu',4,['tuteng','guozai','zuling']],
hs_waleera:['female','qun',3,['jianren','mengun','wlianji']], hs_waleera:['female','shu',3,['jianren','mengun','wlianji']],
hs_medivh:['male','wei',3,['jingxiang','moying','mdzhoufu']], hs_medivh:['male','wei',3,['jingxiang','moying','mdzhoufu']],
hs_alleria:['male','wu',3,['fengxing','qiaodong','liegong']], hs_alleria:['male','wu',3,['fengxing','qiaodong','liegong']],
hs_magni:['male','qun',4,['zhongjia','dunji']], hs_magni:['male','shu',4,['zhongjia','dunji']],
hs_neptulon:['male','wu',4,['liechao','qingliu']], hs_neptulon:['male','wu',4,['liechao','qingliu']],
hs_wvelen:['male','qun',3,['shengyan','xianzhi']], hs_wvelen:['male','qun',3,['shengyan','xianzhi']],
@ -38,13 +38,13 @@ character.hearth={
hs_zhishigushu:['male','shu',4,['jiaohui']], hs_zhishigushu:['male','shu',4,['jiaohui']],
hs_zhanzhenggushu:['male','wei',6,['biri']], hs_zhanzhenggushu:['male','wei',6,['biri']],
hs_ronghejuren:['male','shu',8,['ronghuo']], hs_ronghejuren:['male','shu',8,['ronghuo']],
hs_shanlingjuren:['male','qun',8,['luoshi']], hs_shanlingjuren:['male','wu',8,['luoshi']],
hs_edwin:['male','qun',3,['lianzhan']], hs_edwin:['male','wu',3,['lianzhan']],
hs_mijiaojisi:['female','qun',3,['kuixin']], hs_mijiaojisi:['female','wu',3,['kuixin']],
hs_huzhixiannv:['female','wu',3,['jingmeng','qingliu']], hs_huzhixiannv:['female','wu',3,['jingmeng','qingliu']],
hs_tgolem:['male','qun',4,['xinwuyan','guozai']], hs_tgolem:['male','wu',4,['xinwuyan','guozai']],
hs_totemic:['male','wu',3,['s_tuteng']], hs_totemic:['male','wu',3,['s_tuteng']],
hs_xsylvanas:['female','qun',3,['busi','xshixin','xmojian']], hs_xsylvanas:['female','wei',3,['busi','xshixin','xmojian']],
hs_siwangzhiyi:['male','qun',12,['mieshi']], hs_siwangzhiyi:['male','qun',12,['mieshi']],
hs_bilanyoulong:['male','wei',4,['lingzhou']], hs_bilanyoulong:['male','wei',4,['lingzhou']],
hs_jinglinglong:['male','wu',3,['mianyi']], hs_jinglinglong:['male','wu',3,['mianyi']],

View File

@ -46,7 +46,7 @@ character.mountain={
} }
}, },
zhiji:{ zhiji:{
skillAnimation:'true', skillAnimation:true,
audio:2, audio:2,
unique:true, unique:true,
trigger:{player:'phaseBegin'}, trigger:{player:'phaseBegin'},

View File

@ -22,19 +22,19 @@ character.yxs={
yxs_luobinhan:['male','wu',4,['xiadao','lzhangyi']], yxs_luobinhan:['male','wu',4,['xiadao','lzhangyi']],
yxs_chengjisihan:['male','qun',4,['mashu','qianglue']], yxs_chengjisihan:['male','qun',4,['mashu','qianglue']],
yxs_mingchenghuanghou:['female','shu',3,['tiewan','chajue']], yxs_mingchenghuanghou:['female','shu',3,['tiewan','chajue']],
yxs_wangzhaojun:['female','qun',3,['heqin','luoyan']], yxs_wangzhaojun:['female','wei',3,['heqin','luoyan']],
yxs_luocheng:['male','wu',4,['hanqiang','biaoqi']], yxs_luocheng:['male','wu',4,['hanqiang','biaoqi']],
yxs_direnjie:['male','wei',3,['shentan','kanpo']], yxs_direnjie:['male','wei',3,['shentan','kanpo']],
yxs_sunwu:['male','wu',3,['bingsheng','taolue']], yxs_sunwu:['male','wu',3,['bingsheng','taolue']],
yxs_chengyaojin:['male','qun',4,['sanbanfu']], yxs_chengyaojin:['male','shu',4,['sanbanfu']],
yxs_yuji:['female','qun',3,['sheshen','changnian']], yxs_yuji:['female','shu',3,['sheshen','changnian']],
yxs_xiangyu:['male','qun',4,['wushuang','ciqiu']], yxs_xiangyu:['male','shu',4,['wushuang','ciqiu']],
yxs_yingzheng:['male','qun',4,['jianxiong','batu']], yxs_yingzheng:['male','qun',4,['jianxiong','batu']],
yxs_yuefei:['male','qun',4,['longdan','wumu']], yxs_yuefei:['male','qun',4,['longdan','wumu']],
yxs_fuermosi:['male','qun',3,['yanyi','jiean']], yxs_fuermosi:['male','wei',3,['yanyi','jiean']],
yxs_guiguzi:['male','qun',3,['baihe','yinyang','xiushen']], yxs_guiguzi:['male','qun',3,['baihe','yinyang','xiushen']],
yxs_xiaoqiao:['female','wu',3,['chujia','zhijie']], yxs_xiaoqiao:['female','wu',3,['chujia','zhijie']],
yxs_luzhishen:['male','qun',4,['dili','kuangchan']], yxs_luzhishen:['male','wei',4,['dili','kuangchan']],
}, },
skill:{ skill:{
zhijie:{ zhijie:{

View File

@ -18,10 +18,12 @@
var lib={ var lib={
version:1.76, version:1.76,
changeLog:[ changeLog:[
'捉鬼bug修复', 'bug修复(捉鬼、导出武将)',
'配音支持引用文件名', '配音支持引用文件名',
'挑战模式可关闭单人控制', '挑战模式可关闭单人控制',
'不同模式可单独设置禁将、禁卡', '不同模式可单独设置禁将、禁卡',
'自定义技能禁配',
'战棋对战选项',
'炉石模式平衡调整' '炉石模式平衡调整'
], ],
configprefix:'noname_0.9_', configprefix:'noname_0.9_',
@ -2019,16 +2021,16 @@
map.chess_character.show(); map.chess_character.show();
} }
if(config.chess_mode=='combat'){ if(config.chess_mode=='combat'){
map.battle_number.show(); // map.battle_number.show();
map.chess_ordered.show(); // map.chess_ordered.show();
map.free_choose.show(); map.free_choose.show();
map.change_choice.show(); map.change_choice.show();
} }
else{ else{
map.battle_number.hide(); // map.battle_number.hide();
map.chess_ordered.hide(); // map.chess_ordered.hide();
map.free_choose.hide(); map.free_choose.hide();
map.change_choice.hide(); map.change_choice.hide();
} }
if(config.chess_mode=='tafang'){ if(config.chess_mode=='tafang'){
map.chess_treasure.hide(); map.chess_treasure.hide();
@ -2120,25 +2122,25 @@
clear:true, clear:true,
frequent:true, frequent:true,
}, },
battle_number:{ // battle_number:{
name:'对战人数', // name:'对战人数',
init:'3', // init:'3',
frequent:true, // frequent:true,
item:{ // item:{
'2':'2v2', // '2':'2v2',
'3':'3v3', // '3':'3v3',
'4':'4v4', // '4':'4v4',
'6':'6v6', // '6':'6v6',
'8':'8v8', // '8':'8v8',
}, // },
onclick:function(num){ // onclick:function(num){
game.saveConfig('battle_number',num,this._link.config.mode); // game.saveConfig('battle_number',num,this._link.config.mode);
if(!_status.event.parent.showConfig&&!_status.event.showConfig) return; // if(!_status.event.parent.showConfig&&!_status.event.showConfig) return;
if(_status.event.parent.changeDialog){ // if(_status.event.parent.changeDialog){
_status.event.parent.changeDialog(); // _status.event.parent.changeDialog();
} // }
}, // },
}, // },
chess_treasure:{ chess_treasure:{
name:'战场机关', name:'战场机关',
init:'0.2', init:'0.2',
@ -2172,11 +2174,11 @@
init:true, init:true,
// frequent:true, // frequent:true,
}, },
chess_ordered:{ // chess_ordered:{
name:'交替行动', // name:'交替行动',
init:true, // init:true,
// frequent:true, // // frequent:true,
}, // },
chess_character:{ chess_character:{
name:'战棋武将', name:'战棋武将',
init:true, init:true,
@ -2403,6 +2405,8 @@
'每人在出牌阶段有一次移动的机会可移动的最大距离为2<li>'+ '每人在出牌阶段有一次移动的机会可移动的最大距离为2<li>'+
'任何卡牌或技能无法指定位置相隔8个格以上的角色为目标<li>'+ '任何卡牌或技能无法指定位置相隔8个格以上的角色为目标<li>'+
'杀死对方阵营的角色可摸一张牌,杀死本方阵营无惩罚<li>'+ '杀死对方阵营的角色可摸一张牌,杀死本方阵营无惩罚<li>'+
'若开启主将,双方各选择一名角色成为主将。主将体力上限加一,主将死亡后,若有副将,副将代替之成为主将,否则游戏结束<li>'+
'开启无尽模式后,任何一方有角色死亡都将选择一名新角色重新加入战场,直到点击左上角的结束游戏按钮手动结束游戏。结束游戏时,杀敌更多的一方获胜<li>'+
'开启交替行动时双方无论存活角色角色多少都将轮流进行行动。在一方所有角色行动完毕进行下一轮行动时若其人数比另一方少另一方可指定至多X名角色名摸一张牌X为人数之差<li>'+ '开启交替行动时双方无论存活角色角色多少都将轮流进行行动。在一方所有角色行动完毕进行下一轮行动时若其人数比另一方少另一方可指定至多X名角色名摸一张牌X为人数之差<li>'+
'开启战场机关后每个回合结束时有一定机率出现一个机关该机关不参与战斗并有一个影响周围或全体角色的效果。机关在出现后的5〜10个回合内消失<li>'+ '开启战场机关后每个回合结束时有一定机率出现一个机关该机关不参与战斗并有一个影响周围或全体角色的效果。机关在出现后的5〜10个回合内消失<li>'+
'开启击退效果后,当一名角色对距离两格以内且在同一直线上的目标造成伤害后,受伤害角色将沿反方向移动一格<li>'+ '开启击退效果后,当一名角色对距离两格以内且在同一直线上的目标造成伤害后,受伤害角色将沿反方向移动一格<li>'+
@ -3158,7 +3162,12 @@
game.modPhaseDraw(player,event.num); game.modPhaseDraw(player,event.num);
} }
else{ else{
player.draw(event.num); if(get.config('first_less')&&game.phaseNumber==1&&_status.first_less){
event.num--;
}
if(event.num>0){
player.draw(event.num);
}
} }
}, },
phaseUse:function(){ phaseUse:function(){
@ -7107,6 +7116,7 @@
return this.side==game.me.side&&get.config('single_control'); return this.side==game.me.side&&get.config('single_control');
} }
else if(lib.config.mode=='chess'){ else if(lib.config.mode=='chess'){
if(_status.mode=='combat'&&!get.config('single_control')) return false;
return this.side==game.me.side; return this.side==game.me.side;
} }
return false; return false;
@ -7843,7 +7853,9 @@
that['$'+type](1200); that['$'+type](1200);
} }
} }
that.$fullscreenpop(name,color); if(name){
that.$fullscreenpop(name,color);
}
},300); },300);
}, },
$fire:function(){ $fire:function(){
@ -9437,7 +9449,10 @@
}; };
for(var i=0;i<lib.customCharacters.length;i++){ for(var i=0;i<lib.customCharacters.length;i++){
var name=lib.customCharacters[i]; var name=lib.customCharacters[i];
if(lib.checkCharacterName(name)) continue; if(lib.checkCharacterName(name)){
imageLoaded++;
continue;
}
if(list&&!list.contains(name)){ if(list&&!list.contains(name)){
imageLoaded++; imageLoaded++;
continue; continue;
@ -9751,6 +9766,14 @@
console.log(player); console.log(player);
} }
}, },
identityText:function(player,str){
if(player&&str){
player.node.identity.firstChild.innerHTML=str;
}
else{
console.log(player);
}
},
chessSwap:function(content){ chessSwap:function(content){
var me=game.playerMap[content[0]]; var me=game.playerMap[content[0]];
var player=game.playerMap[content[1]]; var player=game.playerMap[content[1]];
@ -11163,6 +11186,9 @@
else{ else{
added=10; added=10;
} }
if(lib.config.mode=='chess'&&_status.mode=='combat'&&get.config('additional_player')){
added=2;
}
_status.coin+=added*coeff; _status.coin+=added*coeff;
if(_status.coinCoeff){ if(_status.coinCoeff){
_status.coin*=_status.coinCoeff; _status.coin*=_status.coinCoeff;
@ -12146,7 +12172,7 @@
"step 3" "step 3"
if(event.bool){ if(event.bool){
if(game.changeCoin){ if(game.changeCoin){
game.changeCoin(-10); game.changeCoin(-3);
} }
game.me.lose(game.me.get('h'))._triggered=null; game.me.lose(game.me.get('h'))._triggered=null;
} }
@ -12590,7 +12616,60 @@
return player2; return player2;
}, },
arrangePlayers:function(){ arrangePlayers:function(){
game.players.sort(lib.sort.position); if(lib.config.mode=='chess'&&game.me){
var friendCount=0;
var enemyCount=0;
var rand=Math.random()<0.5;
for(var i=0;i<game.players.length;i++){
if(game.players[i].side==game.me.side){
if(rand){
if(game.players[i]==game.friendZhu){
game.players[i]._sortCount=-2;
}
else{
game.players[i]._sortCount=2*friendCount;
}
}
else{
if(game.players[i]==game.friendZhu){
game.players[i]._sortCount=-1;
}
else{
game.players[i]._sortCount=2*friendCount+1;
}
}
friendCount++;
}
else{
if(rand){
if(game.players[i]==game.enemyZhu){
game.players[i]._sortCount=-1;
}
else{
game.players[i]._sortCount=2*enemyCount+1;
}
}
else{
if(game.players[i]==game.enemyZhu){
game.players[i]._sortCount=-2;
}
else{
game.players[i]._sortCount=2*enemyCount;
}
}
enemyCount++;
}
}
game.players.sort(function(a,b){
return a._sortCount-b._sortCount;
});
for(var i=0;i<game.players.length;i++){
delete game.players[i]._sortCount;
}
}
else{
game.players.sort(lib.sort.position);
}
var players=game.players.concat(game.dead); var players=game.players.concat(game.dead);
players.sort(lib.sort.position); players.sort(lib.sort.position);
for(var i=0;i<players.length;i++){ for(var i=0;i<players.length;i++){
@ -15551,7 +15630,7 @@
var currentrow3=null; var currentrow3=null;
var clickrow3=function(){ var clickrow3=function(){
if(game.changeCoin){ if(game.changeCoin){
game.changeCoin(-20); game.changeCoin(-10);
} }
game.swapPlayer(this.link); game.swapPlayer(this.link);
}; };

View File

@ -171,6 +171,12 @@ mode.boss={
} }
} }
} }
if(!list.length){
alert('挑战模式不可隐藏boss武将包请在选项其它中选择“重置隐藏扩展包”');
event.finish();
_status.over=true;
return;
}
if(!event.current){ if(!event.current){
event.current=bosslist.childNodes[1]; event.current=bosslist.childNodes[1];
event.current.classList.add('highlight'); event.current.classList.add('highlight');
@ -274,7 +280,7 @@ mode.boss={
game.onSwapControl(); game.onSwapControl();
// ui.fakemebg.show(); // ui.fakemebg.show();
lib.setPopped(ui.create.system('查看手牌',null,true),function(){ lib.setPopped(ui.create.system('手牌',null,true),function(){
var uiintro=ui.create.dialog('hidden'); var uiintro=ui.create.dialog('hidden');
var players=game.players.concat(game.dead); var players=game.players.concat(game.dead);
@ -283,7 +289,7 @@ mode.boss={
uiintro.add(get.translation(players[i])); uiintro.add(get.translation(players[i]));
var cards=players[i].get('h'); var cards=players[i].get('h');
if(cards.length){ if(cards.length){
uiintro.add(cards,true); uiintro.addSmall(cards,true);
} }
else{ else{
uiintro.add('(无)'); uiintro.add('(无)');
@ -292,7 +298,7 @@ mode.boss={
} }
return uiintro; return uiintro;
}); },220);
} }
lib.setPopped(ui.create.system('重整',null,true),function(){ lib.setPopped(ui.create.system('重整',null,true),function(){
var uiintro=ui.create.dialog('hidden'); var uiintro=ui.create.dialog('hidden');
@ -524,7 +530,7 @@ mode.boss={
return; return;
} }
if(game.changeCoin){ if(game.changeCoin){
game.changeCoin(-10); game.changeCoin(-3);
} }
list.randomSort(); list.randomSort();
_status.event.dialog.close(); _status.event.dialog.close();
@ -568,7 +574,7 @@ mode.boss={
} }
else{ else{
if(game.changeCoin){ if(game.changeCoin){
game.changeCoin(-50); game.changeCoin(-10);
} }
ui.cheat2x=ui.create.groupControl(_status.event.parent.dialogxx); ui.cheat2x=ui.create.groupControl(_status.event.parent.dialogxx);
this.backup=_status.event.dialog; this.backup=_status.event.dialog;

View File

@ -312,6 +312,12 @@ mode.chess={
if(_status.enemies){ if(_status.enemies){
_status.enemies.remove(this); _status.enemies.remove(this);
} }
if(ui.friendDied&&player.side==game.me.side){
ui.friendDied.innerHTML='阵亡: '+get.cnNumber(++_status.friendDied,true);
}
if(ui.enemyDied&&player.side!=game.me.side){
ui.enemyDied.innerHTML='杀敌: '+get.cnNumber(++_status.enemyDied,true);
}
delete lib.posmap[player.dataset.position]; delete lib.posmap[player.dataset.position];
setTimeout(function(){ setTimeout(function(){
player.delete(); player.delete();
@ -323,12 +329,106 @@ mode.chess={
break; break;
} }
} }
if(player==game.friendZhu){
if(game.friendViceZhu&&game.friendViceZhu.isAlive()){
game.friendZhu=game.friendViceZhu;
delete game.friendViceZhu;
game.friendZhu.node.identity.lastChild.innerHTML='将';
game.addVideo('identityText',game.friendZhu,'将');
}
else{
game.over(false);
return;
}
}
else if(player==game.enemyZhu){
if(game.enemyViceZhu&&game.enemyViceZhu.isAlive()){
game.enemyZhu=game.enemyViceZhu;
delete game.enemyViceZhu;
game.enemyZhu.node.identity.lastChild.innerHTML='帅';
game.addVideo('identityText',game.enemyZhu,'帅');
}
else{
game.over(true);
return;
}
}
if(player==game.me){
for(var i=0;i<game.players.length;i++){
if(game.players[i].side==player.side){
game.modeSwapPlayer(game.players[i]);
}
}
}
var notend=false;
for(var i=1;i<game.players.length;i++){ for(var i=1;i<game.players.length;i++){
if(game.players[i].side!=game.players[0].side){ if(game.players[i].side!=game.players[0].side){
if(source&&source.side!=player.side){ if(source&&game.players.contains(source)){
source.draw(); if(_status.mode=='combat'){
if(source.side!=player.side){
source.draw(get.config('reward'));
}
else{
switch(get.config('punish')){
case '弃牌':
var he=source.get('he');
if(he.length){
source.discard(he);
}
break;
case '摸牌':
source.draw(get.config('reward'));
break;
}
}
}
else if(source.side!=player.side){
source.draw();
}
}
if(_status.mode!='combat'||_status.vsboss){
return;
}
else{
notend=true;
break;
}
}
}
if(_status.mode=='combat'&&!_status.vsboss){
if(player.side==game.me.side){
if(get.config('additional_player')&&_status.additionallist.length){
game.replaceChessPlayer();
return;
}
else if(_status.replacelist.length){
game.replaceChessPlayer(_status.replacelist.randomRemove());
return;
}
else if(get.config('noreplace_end')){
game.over(player.side!=game.me.side);
return;
}
else if(notend){
return;
}
}
else{
if(get.config('additional_player')&&_status.additionallist.length){
game.replaceChessPlayer(null,true);
return;
}
else if(_status.enemyreplacelist.length){
game.replaceChessPlayer(_status.enemyreplacelist.randomRemove(),true);
return;
}
else if(get.config('noreplace_end')){
game.over(player.side!=game.me.side);
return;
}
else if(notend){
return;
} }
return;
} }
} }
if(_status.mode=='tafang'){ if(_status.mode=='tafang'){
@ -546,6 +646,73 @@ mode.chess={
} }
}, },
playerproto:{ playerproto:{
finishGame:function(){
'step 0'
while(ui.controls.length){
ui.controls[0].close();
}
while(ui.dialogs.length){
ui.dialogs[0].close();
}
'step 1'
if(_status.friendDied<_status.enemyDied){
game.over(true);
}
else if(_status.friendDied<_status.enemyDied){
game.over(false);
}
else{
game.over();
}
},
replaceChessPlayer:function(){
'step 0'
if(get.config('additional_player')){
if(!event.enemy&&!_status.auto){
event.dialog=ui.create.dialog('选择替补角色',[_status.additionallist.randomGets(parseInt(get.config('choice_number'))),'character']);
event.filterButton=function(){return true;};
event.player=game.me;
event.forced=true;
event.custom.replace.confirm=function(){
event.playername=ui.selected.buttons[0].link;
event.dialog.close();
_status.additionallist.remove(event.playername);
if(ui.confirm) ui.confirm.close();
game.resume();
}
game.check();
game.pause();
}
else{
event.playername=_status.additionallist.randomRemove();
}
}
else if(!event.enemy&&get.config('seat_order')=='交替'&&!_status.auto&&_status.replacelist.length){
_status.replacelist.add(event.playername);
event.dialog=ui.create.dialog('选择替补角色',[_status.replacelist,'character']);
event.filterButton=function(){return true;};
event.player=game.me;
event.forced=true;
event.custom.replace.confirm=function(){
event.playername=ui.selected.buttons[0].link;
event.dialog.close();
_status.replacelist.remove(event.playername);
if(ui.confirm) ui.confirm.close();
game.resume();
}
game.check();
game.pause();
}
else{
game.delay();
}
'step 1'
var player=game.addChessPlayer(event.playername,event.enemy);
game.log(player,'加入游戏');
player.chessFocus();
player.playerfocus(1000);
game.delay(2);
},
chooseToMove:function(){ chooseToMove:function(){
"step 0" "step 0"
if(!player.movable(0,1)&&!player.movable(0,-1)&& if(!player.movable(0,1)&&!player.movable(0,-1)&&
@ -768,6 +935,12 @@ mode.chess={
return player; return player;
}, },
replaceChessPlayer:function(name,enemy){
var next=game.createEvent('replaceChessPlayer');
next.playername=name;
next.enemy=enemy;
next.content=lib.element.playerproto.replaceChessPlayer;
},
removeTreasure:function(player){ removeTreasure:function(player){
game.addVideo('removeTreasure',null,player.dataset.position); game.addVideo('removeTreasure',null,player.dataset.position);
player.delete(); player.delete();
@ -810,6 +983,9 @@ mode.chess={
} }
}, },
addOverDialog:function(dialog,result){ addOverDialog:function(dialog,result){
if(ui.finishGame){
ui.finishGame.remove();
}
dialog.classList.add('center'); dialog.classList.add('center');
if(_status.mode!='leader') return; if(_status.mode!='leader') return;
if(result=='战斗胜利'){ if(result=='战斗胜利'){
@ -1540,6 +1716,9 @@ mode.chess={
game.pause(); game.pause();
} }
_status.mode=get.config('chess_mode'); _status.mode=get.config('chess_mode');
if(_status.mode=='combat'){
_status.first_less=true;
}
"step 1" "step 1"
for(var i in lib.skill){ for(var i in lib.skill){
if(lib.skill[i].changeSeat){ if(lib.skill[i].changeSeat){
@ -1643,7 +1822,13 @@ mode.chess={
ui.arena.classList.add('chess'); ui.arena.classList.add('chess');
var mylistmap,enemylistmap; var mylistmap,enemylistmap;
if(event.video){ if(event.video){
var videocontent=event.video[0].content; var videocontent;
for(var ii=0;ii<event.video.length;ii++){
if(event.video[ii].type=='init'){
videocontent=event.video[ii].content;
break;
}
}
_status.mylist=[]; _status.mylist=[];
_status.enemylist=[]; _status.enemylist=[];
mylistmap=[]; mylistmap=[];
@ -1813,6 +1998,12 @@ mode.chess={
_status.friendCount=_status.mylist.length; _status.friendCount=_status.mylist.length;
while(_status.mylist.length){ while(_status.mylist.length){
friend=ui.create.player().animate('start'); friend=ui.create.player().animate('start');
if(!event.friendZhu){
event.friendZhu=friend;
}
else if(!event.friendViceZhu){
event.friendViceZhu=friend;
}
friend.init(_status.mylist.shift()); friend.init(_status.mylist.shift());
friend.side=side; friend.side=side;
friend.setIdentity('friend'); friend.setIdentity('friend');
@ -1853,7 +2044,7 @@ mode.chess={
lib.posmap[enemy.dataset.position]=enemy; lib.posmap[enemy.dataset.position]=enemy;
} }
lib.setPopped(ui.create.system('查看手牌',null,true),function(){ lib.setPopped(ui.create.system('手牌',null,true),function(){
var uiintro=ui.create.dialog('hidden'); var uiintro=ui.create.dialog('hidden');
var added=false; var added=false;
for(var i=0;i<game.players.length;i++){ for(var i=0;i<game.players.length;i++){
@ -1862,7 +2053,7 @@ mode.chess={
uiintro.add(get.translation(game.players[i])); uiintro.add(get.translation(game.players[i]));
var cards=game.players[i].get('h'); var cards=game.players[i].get('h');
if(cards.length){ if(cards.length){
uiintro.add(cards,true); uiintro.addSmall(cards,true);
} }
else{ else{
uiintro.add('(无)'); uiintro.add('(无)');
@ -1874,22 +2065,106 @@ mode.chess={
} }
return uiintro; return uiintro;
}); },220);
// ui.create.system('显示距离',function(){ if(!event.video&&_status.mode=='combat'&&!_status.vsboss&&(_status.replacelist.length||get.config('additional_player'))){
// if(!game.me.isAlive()) return; _status.enemyDied=0;
// for(var i=0;i<game.players.length;i++){ _status.friendDied=0;
// if(game.players[i]!=game.me){ ui.enemyDied=ui.create.system('杀敌: '+get.cnNumber(0),null,true);
// var dist=get.distance(game.me,game.players[i],'pure'); ui.friendDied=ui.create.system('阵亡: '+get.cnNumber(0),null,true);
// var dist2=get.distance(game.me,game.players[i]); if(!get.config('additional_player')){
// var nature=dist>7?'thunder':''; lib.setPopped(ui.friendDied,function(){
// game.players[i].popup('距离:'+dist2+'/'+dist,nature); if(_status.replacelist.length){
// } var uiintro=ui.create.dialog('hidden');
// }
// },true); uiintro.add('未上场');
uiintro.add([_status.replacelist,'character']);
return uiintro;
}
});
}
}
if(!event.video&&_status.mode=='combat'&&!get.config('single_control')&&!_status.boss){
ui.single_swap=ui.create.system('换人',function(){
var bool=false;
for(var i=0;i<game.players.length;i++){
if(game.players[i].side==game.me.side&&game.players[i]!=game.me){
bool=true;
break;
}
}
if(bool){
if(ui.auto.classList.contains('hidden')){
game.me.popup('请稍后换人');
return;
}
if(_status.event.isMine()){
ui.click.auto();
setTimeout(function(){
ui.click.auto();
},500);
}
var player=game.me;
for(var i=0;i<game.players.length;i++){
player=player.next;
if(player.side==game.me.side){
game.modeSwapPlayer(player);
return;
}
}
}
},true);
}
if(!event.video&&_status.mode=='combat'&&!_status.vsboss&&get.config('additional_player')){
ui.finishGame=ui.create.system('结束游戏',function(){
ui.finishGame.remove();
var next=game.createEvent('finish_game');
next.content=lib.element.playerproto.finishGame;
if(_status.paused){
if(_status.event.next.length>1){
_status.event.next.length=0;
_status.event.next.push(next);
}
game.uncheck();
game.resume();
}
});
}
ui.create.me(); ui.create.me();
ui.create.fakeme(); ui.create.fakeme();
if(!event.video&&_status.mode=='combat'&&get.config('zhu')){
game.friendZhu=event.friendZhu;
game.friendZhu.hp++;
game.friendZhu.maxHp++;
game.friendZhu.update();
game.friendZhu.node.identity.firstChild.innerHTML='将';
for(var i=0;i<game.players.length;i++){
if(game.players[i].side!=game.me.side){
game.enemyZhu=game.players[i];
game.players[i].hp++;
game.players[i].maxHp++;
game.players[i].update();
game.players[i].node.identity.firstChild.innerHTML='帅';
break;
}
}
if(get.config('main_zhu')){
game.friendViceZhu=event.friendViceZhu;
game.friendViceZhu.node.identity.firstChild.innerHTML='仕';
for(var i=0;i<game.players.length;i++){
if(game.players[i].side!=game.me.side&&game.players[i]!=game.enemyZhu){
game.enemyViceZhu=game.players[i];
game.players[i].node.identity.firstChild.innerHTML='士';
break;
}
}
}
}
ui.chessinfo=ui.create.div('.fakeme.player',ui.me,function(e){ ui.chessinfo=ui.create.div('.fakeme.player',ui.me,function(e){
e.stopPropagation(); e.stopPropagation();
}); });
@ -1931,8 +2206,16 @@ mode.chess={
lord:players[i].name==_status.lord lord:players[i].name==_status.lord
}); });
} }
_status.videoInited=true, _status.videoInited=true;
game.addVideo('init',null,info); game.addVideo('init',null,info);
if(game.friendZhu){
game.addVideo('identityText',game.friendZhu,'将');
game.addVideo('identityText',game.enemyZhu,'帅');
if(game.friendViceZhu){
game.addVideo('identityText',game.friendViceZhu,'仕');
game.addVideo('identityText',game.enemyViceZhu,'士');
}
}
if(event.obs){ if(event.obs){
game.addVideo('initobs',null,event.obs); game.addVideo('initobs',null,event.obs);
} }
@ -1984,7 +2267,7 @@ mode.chess={
if(_status.mode=='leader'){ if(_status.mode=='leader'){
game.phaseLoopOrdered(p); game.phaseLoopOrdered(p);
} }
else if(get.config('chess_ordered')){ else if(get.config('seat_order')=='交替'){
game.phaseLoopOrdered(p); game.phaseLoopOrdered(p);
} }
else{ else{
@ -2607,6 +2890,7 @@ mode.chess={
else{ else{
_status.mylist=_status.mylist.concat(game.data.character.randomGets(_status.lord?2:3)); _status.mylist=_status.mylist.concat(game.data.character.randomGets(_status.lord?2:3));
} }
var difficulty;
if(selected.challenge.length){ if(selected.challenge.length){
_status.challenge=selected.challenge[0].link; _status.challenge=selected.challenge[0].link;
_status.enemylist.push(_status.challenge); _status.enemylist.push(_status.challenge);
@ -2642,7 +2926,7 @@ mode.chess={
} }
} }
else{ else{
var number,difficulty,list; var number,list;
if(selected.difficulty.length){ if(selected.difficulty.length){
difficulty=selected.difficulty[0].link[2]; difficulty=selected.difficulty[0].link[2];
} }
@ -3564,16 +3848,58 @@ mode.chess={
bossbuttons[i].classList.add('noclick'); bossbuttons[i].classList.add('noclick');
bossbuttons[i].listen(clickBoss); bossbuttons[i].listen(clickBoss);
} }
if(get.config('reward')==undefined) game.saveConfig('reward',1,true);
if(get.config('punish')==undefined) game.saveConfig('punish','无',true);
if(get.config('battle_number')==undefined) game.saveConfig('battle_number',3,true);
if(get.config('replace_number')==undefined) game.saveConfig('replace_number',0,true);
if(get.config('single_control')==undefined) game.saveConfig('single_control',true,true);
if(get.config('first_less')==undefined) game.saveConfig('first_less',true,true);
var dialog=ui.create.dialog('选择出场角色','hidden'); var dialog=ui.create.dialog('选择出场角色','hidden');
dialog.classList.add('fullwidth'); dialog.classList.add('fullwidth');
dialog.classList.add('fullheight'); dialog.classList.add('fullheight');
dialog.classList.add('fixed'); dialog.classList.add('fixed');
dialog.add('0/'+get.config('battle_number')); dialog.add('0/0');
dialog.add([list.slice(0,parseInt(get.config('battle_number'))*4+5),'character']); dialog.add([list.slice(0,parseInt(get.config('battle_number'))*4+parseInt(get.config('replace_number'))+5),'character']);
if(bossbuttons.length){ if(bossbuttons.length){
dialog.add('挑战魔王'); dialog.add('挑战魔王');
dialog.add(bosses); dialog.add(bosses);
} }
event.addConfig=function(dialog){
dialog.add('选项');
dialog.choice={};
dialog.choice.zhu=dialog.add(ui.create.switcher('zhu',get.config('zhu'))).querySelector('.toggle');
dialog.choice.main_zhu=dialog.add(ui.create.switcher('main_zhu',get.config('main_zhu'))).querySelector('.toggle');
if(get.config('zhu')){
dialog.choice.main_zhu.parentNode.classList.remove('disabled');
}
else{
dialog.choice.main_zhu.parentNode.classList.add('disabled');
}
dialog.choice.noreplace_end=dialog.add(ui.create.switcher('noreplace_end',get.config('noreplace_end'))).querySelector('.toggle');
dialog.choice.additional_player=dialog.add(ui.create.switcher('additional_player',get.config('additional_player'))).querySelector('.toggle');
dialog.choice.single_control=dialog.add(ui.create.switcher('single_control',get.config('single_control'))).querySelector('.toggle');
dialog.choice.first_less=dialog.add(ui.create.switcher('first_less',get.config('first_less'))).querySelector('.toggle');
// dialog.attack_move=dialog.add(ui.create.switcher('attack_move',get.config('attack_move'))).querySelector('.toggle');
// this.dialog.versus_single_control=this.dialog.add(ui.create.switcher('versus_single_control',lib.storage.single_control)).querySelector('.toggle');
// this.dialog.versus_first_less=this.dialog.add(ui.create.switcher('versus_first_less',lib.storage.first_less)).querySelector('.toggle');
dialog.choice.reward=dialog.add(ui.create.switcher('reward',[0,1,2,3,4],get.config('reward'))).querySelector('.toggle');
dialog.choice.punish=dialog.add(ui.create.switcher('punish',['弃牌','无','摸牌'],get.config('punish'))).querySelector('.toggle');
dialog.choice.seat_order=dialog.add(ui.create.switcher('seat_order',['交替','随机'],get.config('seat_order'))).querySelector('.toggle');
dialog.choice.battle_number=dialog.add(ui.create.switcher('battle_number',[2,3,4,6,8],get.config('battle_number'))).querySelector('.toggle');
dialog.choice.replace_number=dialog.add(ui.create.switcher('replace_number',[0,1,2,3,5,7,9,17],get.config('replace_number'))).querySelector('.toggle');
dialog.choice.choice_number=dialog.add(ui.create.switcher('choice_number',[3,6,9],get.config('choice_number'))).querySelector('.toggle');
if(get.config('additional_player')){
dialog.choice.replace_number.parentNode.classList.add('disabled');
dialog.choice.choice_number.parentNode.classList.remove('disabled');
}
else{
dialog.choice.replace_number.parentNode.classList.remove('disabled');
dialog.choice.choice_number.parentNode.classList.add('disabled');
}
};
event.addConfig(dialog);
for(var i=0;i<bosses.childNodes.length;i++){ for(var i=0;i<bosses.childNodes.length;i++){
bosses.childNodes[i].classList.add('squarebutton'); bosses.childNodes[i].classList.add('squarebutton');
} }
@ -3595,7 +3921,10 @@ mode.chess={
if(bossnum){ if(bossnum){
return 3*bossnum; return 3*bossnum;
} }
return parseInt(get.config('battle_number')); if(get.config('additional_player')){
return parseInt(get.config('battle_number'));
}
return parseInt(get.config('battle_number'))+parseInt(get.config('replace_number'));
}; };
next.custom.add.button=addToButton; next.custom.add.button=addToButton;
next.custom.add.window=function(clicked){ next.custom.add.window=function(clicked){
@ -3613,6 +3942,39 @@ mode.chess={
delete event.asboss; delete event.asboss;
} }
} }
var dialog=_status.event.dialog;
if(dialog.choice){
for(var i in dialog.choice){
game.saveConfig(i,dialog.choice[i].link,true);
}
if(get.config('zhu')){
dialog.choice.main_zhu.parentNode.classList.remove('disabled');
}
else{
dialog.choice.main_zhu.parentNode.classList.add('disabled');
}
if(get.config('additional_player')){
dialog.choice.replace_number.parentNode.classList.add('disabled');
dialog.choice.choice_number.parentNode.classList.remove('disabled');
}
else{
dialog.choice.replace_number.parentNode.classList.remove('disabled');
dialog.choice.choice_number.parentNode.classList.add('disabled');
}
var num=parseInt(get.config('battle_number'))*4+parseInt(get.config('replace_number'))+5;
if(dialog.buttons.length>num){
for(var i=num;i<dialog.buttons.length;i++){
dialog.buttons[i].remove();
}
dialog.buttons.splice(num);
}
else if(dialog.buttons.length<num){
for(var i=dialog.buttons.length;i<num;i++){
dialog.buttons.push(ui.create.button(list[i],'character',dialog.buttons[0].parentNode).animate('zoom'))
}
game.check();
}
}
addToButton(); addToButton();
} }
event.changeDialog=function(){ event.changeDialog=function(){
@ -3620,7 +3982,7 @@ mode.chess={
return; return;
} }
if(game.changeCoin){ if(game.changeCoin){
game.changeCoin(-10); game.changeCoin(-3);
} }
list.randomSort(); list.randomSort();
_status.event.dialog.close(); _status.event.dialog.close();
@ -3630,11 +3992,12 @@ mode.chess={
dialog.classList.add('fullheight'); dialog.classList.add('fullheight');
dialog.classList.add('fixed'); dialog.classList.add('fixed');
dialog.add('0/'+_status.event.selectButton()); dialog.add('0/'+_status.event.selectButton());
dialog.add([list.slice(0,parseInt(get.config('battle_number'))*4+5),'character']); dialog.add([list.slice(0,parseInt(get.config('battle_number'))*4+parseInt(get.config('replace_number'))+5),'character']);
if(bossbuttons.length){ if(bossbuttons.length){
dialog.add('挑战魔王'); dialog.add('挑战魔王');
dialog.add(bosses); dialog.add(bosses);
} }
event.addConfig(dialog);
dialog.open(); dialog.open();
game.uncheck(); game.uncheck();
game.check(); game.check();
@ -3670,7 +4033,7 @@ mode.chess={
} }
else{ else{
if(game.changeCoin){ if(game.changeCoin){
game.changeCoin(-50); game.changeCoin(-10);
} }
ui.cheat2x=ui.create.groupControl(_status.event.parent.dialogxx); ui.cheat2x=ui.create.groupControl(_status.event.parent.dialogxx);
this.backup=_status.event.dialog; this.backup=_status.event.dialog;
@ -3713,8 +4076,13 @@ mode.chess={
ui.control.style.transition=''; ui.control.style.transition='';
if(_status.mode=='combat'){
_status.mylist=result.links.slice(0); _status.mylist=result.links.slice(0,parseInt(get.config('battle_number')));
_status.replacelist=result.links.slice(parseInt(get.config('battle_number')));
}
else{
_status.mylist=result.links.slice(0);
}
if(ui.coin){ if(ui.coin){
_status.coinCoeff=get.coinCoeff(_status.mylist); _status.coinCoeff=get.coinCoeff(_status.mylist);
} }
@ -3723,6 +4091,7 @@ mode.chess={
} }
var glows=event.bosses.querySelectorAll('.glow'); var glows=event.bosses.querySelectorAll('.glow');
if(glows.length){ if(glows.length){
_status.vsboss=true;
_status.enemylist=[]; _status.enemylist=[];
for(var i=0;i<glows.length;i++){ for(var i=0;i<glows.length;i++){
_status.enemylist.push(glows[i].link); _status.enemylist.push(glows[i].link);
@ -3738,7 +4107,13 @@ mode.chess={
} }
else{ else{
event.list.randomSort(); event.list.randomSort();
_status.enemylist=event.list.slice(0,result.links.length); _status.enemylist=event.list.splice(0,_status.mylist.length);
if(_status.mode=='combat'&&_status.replacelist){
_status.enemyreplacelist=event.list.splice(0,_status.replacelist.length);
}
}
if(_status.mode=='combat'&&get.config('additional_player')){
_status.additionallist=event.list;
} }
} }
}, },
@ -5144,6 +5519,7 @@ mode.chess={
popup:false, popup:false,
filter:function(event,player){ filter:function(event,player){
if(event.autochoose&&event.autochoose()) return false; if(event.autochoose&&event.autochoose()) return false;
if(_status.mode=='combat'&&!get.config('single_control')) return false;
return player.isUnderControl(); return player.isUnderControl();
}, },
content:function(){ content:function(){
@ -5285,6 +5661,19 @@ mode.chess={
} }
}, },
translate:{ translate:{
zhu_config:'启用主将',
main_zhu_config:'启用副将',
noreplace_end_config:'无替补时结束',
reward_config:'杀敌摸牌',
punish_config:'杀死队友',
seat_order_config:'行动顺序',
battle_number_config:'对战人数',
replace_number_config:'替补人数',
first_less_config:'先手少摸牌',
single_control_config:'单人控制',
additional_player_config:'无尽模式',
choice_number_config:'无尽模式候选',
friend:'友', friend:'友',
enemy:'敌', enemy:'敌',
neutral:'中', neutral:'中',

View File

@ -348,7 +348,7 @@ mode.guozhan={
} }
else{ else{
if(game.changeCoin){ if(game.changeCoin){
game.changeCoin(-50); game.changeCoin(-10);
} }
ui.cheat2x=ui.create.groupControl(_status.event.parent.dialogxx); ui.cheat2x=ui.create.groupControl(_status.event.parent.dialogxx);
this.backup=_status.event.dialog; this.backup=_status.event.dialog;
@ -371,7 +371,7 @@ mode.guozhan={
return; return;
} }
if(game.changeCoin){ if(game.changeCoin){
game.changeCoin(-10); game.changeCoin(-3);
} }
event.list=event.list.concat(list); event.list=event.list.concat(list);
event.list.randomSort(); event.list.randomSort();

View File

@ -625,7 +625,7 @@ mode.identity={
return; return;
} }
if(game.changeCoin){ if(game.changeCoin){
game.changeCoin(-10); game.changeCoin(-3);
} }
if(game.zhu!=game.me){ if(game.zhu!=game.me){
event.list=event.list.concat(list); event.list=event.list.concat(list);
@ -669,7 +669,7 @@ mode.identity={
} }
else{ else{
if(game.changeCoin){ if(game.changeCoin){
game.changeCoin(-50); game.changeCoin(-10);
} }
ui.cheat2x=ui.create.groupControl(_status.event.parent.dialogxx); ui.cheat2x=ui.create.groupControl(_status.event.parent.dialogxx);
this.backup=_status.event.dialog; this.backup=_status.event.dialog;

View File

@ -1228,7 +1228,7 @@ mode.stone={
return; return;
} }
if(game.changeCoin){ if(game.changeCoin){
game.changeCoin(-10); game.changeCoin(-3);
} }
list.randomSort(); list.randomSort();
_status.event.dialog.close(); _status.event.dialog.close();
@ -1266,7 +1266,7 @@ mode.stone={
} }
else{ else{
if(game.changeCoin){ if(game.changeCoin){
game.changeCoin(-50); game.changeCoin(-10);
} }
ui.cheat2x=ui.create.groupControl(_status.event.parent.dialogxx); ui.cheat2x=ui.create.groupControl(_status.event.parent.dialogxx);
this.backup=_status.event.dialog; this.backup=_status.event.dialog;

View File

@ -67,7 +67,7 @@ mode.versus={
if(lib.storage.choice==undefined) game.save('choice',20); if(lib.storage.choice==undefined) game.save('choice',20);
if(lib.storage.zhu==undefined) game.save('zhu',true); if(lib.storage.zhu==undefined) game.save('zhu',true);
if(lib.storage.noreplace_end==undefined) game.save('noreplace_end',true); if(lib.storage.noreplace_end==undefined) game.save('noreplace_end',true);
if(lib.storage.first_less==undefined) game.save('first_less',true); if(get.config('first_less')==undefined) game.saveConfig('first_less',true,true);
if(lib.storage.autoreplaceinnerhtml==undefined) game.save('autoreplaceinnerhtml',true); if(lib.storage.autoreplaceinnerhtml==undefined) game.save('autoreplaceinnerhtml',true);
// if(lib.storage.only_zhu==undefined) game.save('only_zhu',true); // if(lib.storage.only_zhu==undefined) game.save('only_zhu',true);
if(lib.storage.single_control==undefined) game.save('single_control',true); if(lib.storage.single_control==undefined) game.save('single_control',true);
@ -129,10 +129,8 @@ mode.versus={
firstAct=game.players[Math.floor(Math.random()*game.players.length)]; firstAct=game.players[Math.floor(Math.random()*game.players.length)];
} }
} }
game.gameDraw(firstAct,function(player){ game.gameDraw(firstAct,4);
if(player==firstAct) return 3; _status.first_less=true;
return 4;
});
_status.round=0; _status.round=0;
if(lib.storage.single_control){ if(lib.storage.single_control){
lib.skill.global.push('versus_swap'); lib.skill.global.push('versus_swap');
@ -148,11 +146,11 @@ mode.versus={
// lib.setPopped(ui.versusreplace,game.versusHoverReplace); // lib.setPopped(ui.versusreplace,game.versusHoverReplace);
if(game.players.length>2){ if(game.players.length>2){
ui.versushs=ui.create.system('手牌',null,true); ui.versushs=ui.create.system('手牌',null,true);
lib.setPopped(ui.versushs,game.versusHoverHandcards); lib.setPopped(ui.versushs,game.versusHoverHandcards,220);
} }
} }
_status.friendCount=ui.create.system('友军: '+get.cnNumber(_status.friend.length,true),null,true); _status.enemyCount=ui.create.system('杀敌: '+get.cnNumber(0,true),null,true);
_status.enemyCount=ui.create.system('敌军: '+get.cnNumber(_status.friend.length,true),null,true); _status.friendCount=ui.create.system('阵亡: '+get.cnNumber(0,true),null,true);
// _status.friendCount=ui.create.system('友方',null,true); // _status.friendCount=ui.create.system('友方',null,true);
// _status.enemyCount=ui.create.system('敌方',null,true); // _status.enemyCount=ui.create.system('敌方',null,true);
@ -196,7 +194,7 @@ mode.versus={
this.dialog.versus_assign_enemy=this.dialog.add(ui.create.switcher('versus_assign_enemy',lib.storage.assign_enemy)).querySelector('.toggle'); this.dialog.versus_assign_enemy=this.dialog.add(ui.create.switcher('versus_assign_enemy',lib.storage.assign_enemy)).querySelector('.toggle');
this.dialog.versus_single_control=this.dialog.add(ui.create.switcher('versus_single_control',lib.storage.single_control)).querySelector('.toggle'); this.dialog.versus_single_control=this.dialog.add(ui.create.switcher('versus_single_control',lib.storage.single_control)).querySelector('.toggle');
// this.dialog.versus_control_all=this.dialog.add(ui.create.switcher('versus_control_all',lib.storage.control_all)).querySelector('.toggle'); // this.dialog.versus_control_all=this.dialog.add(ui.create.switcher('versus_control_all',lib.storage.control_all)).querySelector('.toggle');
this.dialog.versus_first_less=this.dialog.add(ui.create.switcher('versus_first_less',lib.storage.first_less)).querySelector('.toggle'); this.dialog.versus_first_less=this.dialog.add(ui.create.switcher('versus_first_less',get.config('first_less'))).querySelector('.toggle');
this.dialog.versus_reward=this.dialog.add(ui.create.switcher('versus_reward',[0,1,2,3,4],lib.storage.versus_reward)).querySelector('.toggle'); this.dialog.versus_reward=this.dialog.add(ui.create.switcher('versus_reward',[0,1,2,3,4],lib.storage.versus_reward)).querySelector('.toggle');
this.dialog.versus_punish=this.dialog.add(ui.create.switcher('versus_punish',['弃牌','无','摸牌'],lib.storage.versus_punish)).querySelector('.toggle'); this.dialog.versus_punish=this.dialog.add(ui.create.switcher('versus_punish',['弃牌','无','摸牌'],lib.storage.versus_punish)).querySelector('.toggle');
this.dialog.versus_seat_order=this.dialog.add(ui.create.switcher('seat_order',['对阵','交叉','随机'],lib.storage.seat_order)).querySelector('.toggle'); this.dialog.versus_seat_order=this.dialog.add(ui.create.switcher('seat_order',['对阵','交叉','随机'],lib.storage.seat_order)).querySelector('.toggle');
@ -448,7 +446,7 @@ mode.versus={
// dialog.versus_control_all.parentNode.classList.add('disabled'); // dialog.versus_control_all.parentNode.classList.add('disabled');
// } // }
// game.save('control_all',dialog.versus_control_all.link); // game.save('control_all',dialog.versus_control_all.link);
game.save('first_less',dialog.versus_first_less.link); game.saveConfig('first_less',dialog.versus_first_less.link,true);
game.save('number',dialog.versus_number.link); game.save('number',dialog.versus_number.link);
game.save('versus_reward',dialog.versus_reward.link); game.save('versus_reward',dialog.versus_reward.link);
game.save('versus_punish',dialog.versus_punish.link); game.save('versus_punish',dialog.versus_punish.link);
@ -920,7 +918,7 @@ mode.versus={
uiintro.add(get.translation(game.players[i])); uiintro.add(get.translation(game.players[i]));
var cards=game.players[i].get('h'); var cards=game.players[i].get('h');
if(cards.length){ if(cards.length){
uiintro.add(cards,true); uiintro.addSmall(cards,true);
} }
else{ else{
uiintro.add('(无)'); uiintro.add('(无)');
@ -1188,11 +1186,11 @@ mode.versus={
this.dieSpeak(); this.dieSpeak();
if(this.side==game.me.side){ if(this.side==game.me.side){
_status.friendDied.push(this.name); _status.friendDied.push(this.name);
_status.friendCount.innerHTML='友军: '+get.cnNumber(Math.max(0,_status.friend.length-1),true); _status.friendCount.innerHTML='阵亡: '+get.cnNumber(_status.friendDied.length,true);
} }
else{ else{
_status.enemyDied.push(this.name); _status.enemyDied.push(this.name);
_status.enemyCount.innerHTML=': '+get.cnNumber(Math.max(0,_status.enemy.length-1),true); _status.enemyCount.innerHTML='敌: '+get.cnNumber(_status.enemyDied.length,true);
} }
var list=(this.side==game.me.side)?_status.friend:_status.enemy; var list=(this.side==game.me.side)?_status.friend:_status.enemy;

View File

@ -53,10 +53,11 @@ play.character={
target.$gain2(card); target.$gain2(card);
var skills=lib.character[name][3]; var skills=lib.character[name][3];
var list=[]; var list=[];
var targetskills=target.get('s');
for(var j=0;j<skills.length;j++){ for(var j=0;j<skills.length;j++){
if(lib.translate[skills[j]+'_info']&&lib.skill[skills[j]]&& if(lib.translate[skills[j]+'_info']&&lib.skill[skills[j]]&&
!lib.skill[skills[j]].unique&& !lib.skill[skills[j]].unique&&
!target.skills.contains(skills[j])){ !targetskills.contains(skills[j])){
list.push(skills[j]); list.push(skills[j]);
} }
} }

View File

@ -117,11 +117,11 @@ play.coin={
list:{ list:{
firework:{ firework:{
name:'烟花', name:'烟花',
cost:80, cost:50,
}, },
snow:{ snow:{
name:'下雪', name:'下雪',
cost:50, cost:20,
size:'large', size:'large',
control:function(){ control:function(){
var size=ui.create.div('.menubutton'); var size=ui.create.div('.menubutton');
@ -137,11 +137,11 @@ play.coin={
}, },
star:{ star:{
name:'星云', name:'星云',
cost:20 cost:10
}, },
blink:{ blink:{
name:'闪烁', name:'闪烁',
cost:20 cost:10
} }
}, },
blink:function(){ blink:function(){
@ -1348,8 +1348,8 @@ play.coin={
'富甲天下':'<ul><li>每完成一次对局,可获得一定数量的金币'+ '富甲天下':'<ul><li>每完成一次对局,可获得一定数量的金币'+
'<li>战斗胜利可额外获得20金币每杀死一个敌人可获得10金币托管无效'+ '<li>战斗胜利可额外获得20金币每杀死一个敌人可获得10金币托管无效'+
'<li>使用的武将越强,获得的金币数越少'+ '<li>使用的武将越强,获得的金币数越少'+
'<li>执行以下操作时,将扣除金币:<ul><li>作弊20金币<li>换将卡:10金币<li>'+ '<li>执行以下操作时,将扣除金币:<ul><li>作弊20金币<li>换将卡:3金币<li>'+
'自由选将:50金币<li>手气卡10金币<li>换人20金币</ul>'+ '自由选将:10金币<li>手气卡3金币<li>换人10金币</ul>'+
'<li>金币可用于购买烟花等游戏特效(点击右上角的金币按钮)' '<li>金币可用于购买烟花等游戏特效(点击右上角的金币按钮)'
} }
} }