This commit is contained in:
parent
c554b60b5e
commit
6d66d45551
|
@ -1600,13 +1600,13 @@ card.gujian={
|
|||
yuheng_plus_skill_info:'出牌阶段限一次,你可以失去一点体力,然后获得一名其他角色的手牌并展示,若为黑色牌,该角色也失去一点体力',
|
||||
yuheng_pro_skill_info:'出牌阶段,你可以失去一点体力,然后获得一名其他角色的手牌并展示,若为黑色牌,该角色也失去一点体力',
|
||||
shujinsan:'舒筋散',
|
||||
shujinsan_info:'对任意角色使用,目标可弃置任意张牌,并摸等量的牌',
|
||||
shujinsan_info:'出牌阶段对任意角色使用,目标可弃置任意张牌,并摸等量的牌',
|
||||
mutoumianju:'木头面具',
|
||||
mutoumianju_info:'你可以将一张手牌当作杀使用',
|
||||
mutoumianju_skill:'木杀',
|
||||
mutoumianju_skill_info:'你可以将一张手牌当作杀使用',
|
||||
heilonglinpian:'黑龙鳞片',
|
||||
heilonglinpian_info:'对自己使用,获得一点护甲,直到下一回合开始,你的防御距离+1',
|
||||
heilonglinpian_info:'出牌阶段对自己使用,获得一点护甲,直到下一回合开始,你的防御距离+1',
|
||||
|
||||
food:'食物',
|
||||
chunbing:'春饼',
|
||||
|
|
|
@ -140,10 +140,11 @@ window.characterRank={
|
|||
'hs_alleria',
|
||||
're_lusu',
|
||||
'hs_fuding',
|
||||
'zhugejin',
|
||||
'wangji',
|
||||
],
|
||||
am:[
|
||||
'old_wangyi',
|
||||
'zhugejin',
|
||||
'hs_totemic',
|
||||
'swd_duanmeng',
|
||||
'pal_wenhui',
|
||||
|
@ -231,6 +232,7 @@ window.characterRank={
|
|||
'dianwei',
|
||||
're_lidian',
|
||||
'wangyi',
|
||||
'swd_weida',
|
||||
],
|
||||
bp:[
|
||||
'lifeng',
|
||||
|
@ -354,8 +356,6 @@ window.characterRank={
|
|||
'jsp_guanyu',
|
||||
'wenpin',
|
||||
'sp_lvmeng',
|
||||
'wangji',
|
||||
'swd_weida',
|
||||
'swd_lilian',
|
||||
'hs_lreno',
|
||||
'hs_zhouzhuo',
|
||||
|
|
28
game/game.js
28
game/game.js
|
@ -3172,6 +3172,7 @@
|
|||
init:'combat',
|
||||
item:{
|
||||
combat:'自由',
|
||||
three:'统率',
|
||||
leader:'君主',
|
||||
},
|
||||
restart:true,
|
||||
|
@ -21577,7 +21578,7 @@
|
|||
if(!list){
|
||||
list=[];
|
||||
for(var i in lib.character){
|
||||
if(typeof func){
|
||||
if(typeof func=='function'){
|
||||
if(!func(i)) continue;
|
||||
}
|
||||
else{
|
||||
|
@ -35814,32 +35815,37 @@
|
|||
tr=document.createElement('tr');
|
||||
table.appendChild(tr);
|
||||
td=document.createElement('td');
|
||||
td.innerHTML='攻击';
|
||||
td.innerHTML='范围';
|
||||
tr.appendChild(td);
|
||||
td=document.createElement('td');
|
||||
td.innerHTML='进攻';
|
||||
tr.appendChild(td);
|
||||
td=document.createElement('td');
|
||||
td.innerHTML='防御';
|
||||
td.innerHTML='距离';
|
||||
tr.appendChild(td);
|
||||
td=document.createElement('td');
|
||||
td.innerHTML='手牌';
|
||||
tr.appendChild(td);
|
||||
td=document.createElement('td');
|
||||
td.innerHTML='轮数';
|
||||
tr.appendChild(td);
|
||||
|
||||
tr=document.createElement('tr');
|
||||
table.appendChild(tr);
|
||||
td=document.createElement('td');
|
||||
td.innerHTML=node.getAttackRange();
|
||||
td.innerHTML=get.numStr(node.getAttackRange());
|
||||
tr.appendChild(td);
|
||||
td=document.createElement('td');
|
||||
td.innerHTML=node.getGlobalFrom();
|
||||
tr.appendChild(td);
|
||||
td=document.createElement('td');
|
||||
td.innerHTML=node.getGlobalTo();
|
||||
if(node==game.me||!game.me){
|
||||
td.innerHTML='-';
|
||||
}
|
||||
else if(game.me){
|
||||
td.innerHTML=get.numStr(Math.max(1,game.me.distanceTo(node)));
|
||||
}
|
||||
tr.appendChild(td);
|
||||
td=document.createElement('td');
|
||||
td.innerHTML=node.num('h');
|
||||
tr.appendChild(td);
|
||||
td=document.createElement('td');
|
||||
td.innerHTML=node.stat.length-1;
|
||||
tr.appendChild(td);
|
||||
table.style.width='calc(100% - 20px)';
|
||||
table.style.marginLeft='10px';
|
||||
|
||||
|
|
|
@ -36,6 +36,7 @@ mode.boss={
|
|||
}
|
||||
}
|
||||
}
|
||||
lib.translate.restart='返回';
|
||||
lib.init.css(lib.assetURL+'layout/mode','boss');
|
||||
game.delay(0.1);
|
||||
"step 1"
|
||||
|
|
151
mode/chess.js
151
mode/chess.js
|
@ -79,6 +79,28 @@ mode.chess={
|
|||
game.leaderView();
|
||||
break;
|
||||
}
|
||||
case 'three':{
|
||||
if(lib.config.continue_name_chess){
|
||||
event._result={
|
||||
friend:lib.config.continue_name_versus_three.friend,
|
||||
enemy:lib.config.continue_name_versus_three.enemy,
|
||||
}
|
||||
_status.color=lib.config.continue_name_versus_three.color;
|
||||
game.saveConfig('continue_name_chess');
|
||||
}
|
||||
else{
|
||||
game.chooseCharacterDouble({
|
||||
update:function(i){
|
||||
switch(i){
|
||||
case 0:return '主帅';
|
||||
case 1:return '副帅';
|
||||
default:return '前锋';
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 'combat':{
|
||||
if(lib.storage.test){
|
||||
lib.config.game_speed='vfast';
|
||||
|
@ -98,6 +120,10 @@ mode.chess={
|
|||
}
|
||||
"step 2"
|
||||
ui.arena.classList.add('chess');
|
||||
if(_status.mode=='three'){
|
||||
_status.mylist=result.friend;
|
||||
_status.enemylist=result.enemy;
|
||||
}
|
||||
var mylistmap,enemylistmap;
|
||||
if(event.video){
|
||||
var videocontent;
|
||||
|
@ -129,7 +155,10 @@ mode.chess={
|
|||
var num=Math.round((_status.mylist.length+_status.enemylist.length)/2);
|
||||
var friend,enemy;
|
||||
var side;
|
||||
if(_status.mode=='leader'){
|
||||
if(_status.mode=='three'){
|
||||
side=!_status.color;
|
||||
}
|
||||
else if(_status.mode=='leader'){
|
||||
side=true;
|
||||
}
|
||||
else{
|
||||
|
@ -391,7 +420,7 @@ mode.chess={
|
|||
ui.create.me();
|
||||
ui.create.fakeme();
|
||||
|
||||
if(!event.video&&_status.mode=='combat'&&get.config('zhu')&&!_status.vsboss&&game.players.length>2){
|
||||
if(!event.video&&((_status.mode=='combat'&&get.config('zhu')&&!_status.vsboss&&game.players.length>2)||_status.mode=='three')){
|
||||
game.friendZhu=event.friendZhu;
|
||||
game.friendZhu.hp++;
|
||||
game.friendZhu.maxHp++;
|
||||
|
@ -409,7 +438,7 @@ mode.chess={
|
|||
}
|
||||
}
|
||||
|
||||
if(get.config('main_zhu')&&event.friendViceZhu){
|
||||
if((get.config('main_zhu')||_status.mode=='three')&&event.friendViceZhu){
|
||||
game.friendViceZhu=event.friendViceZhu;
|
||||
game.friendViceZhu.node.identity.firstChild.innerHTML='仕';
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
|
@ -480,7 +509,10 @@ mode.chess={
|
|||
event.trigger('gameStart');
|
||||
game.gameDraw(p);
|
||||
game.me.classList.add('current_action');
|
||||
if(_status.mode=='leader'){
|
||||
if(_status.mode=='three'){
|
||||
game.phaseLoopThree(_status.color?game.enemyZhu:game.friendZhu);
|
||||
}
|
||||
else if(_status.mode=='leader'){
|
||||
game.phaseLoopOrdered(p);
|
||||
}
|
||||
else if(get.config('seat_order')=='指定'){
|
||||
|
@ -1575,6 +1607,18 @@ mode.chess={
|
|||
}
|
||||
},
|
||||
controlOver:function(){
|
||||
if(_status.mode=='three'){
|
||||
ui.create.control('再战',function(){
|
||||
game.saveConfig('continue_name_chess',{
|
||||
friend:_status.friendBackup,
|
||||
enemy:_status.enemyBackup,
|
||||
color:_status.color
|
||||
});
|
||||
game.saveConfig('mode',lib.config.mode);
|
||||
localStorage.setItem(lib.configprefix+'directstart',true);
|
||||
game.reload();
|
||||
});
|
||||
}
|
||||
ui.create.control('返回',game.reload);
|
||||
if(_status.mode!='leader') return;
|
||||
if(_status.enterArena){
|
||||
|
@ -1611,6 +1655,105 @@ mode.chess={
|
|||
}
|
||||
}
|
||||
},
|
||||
phaseLoopThree:function(player){
|
||||
var next=game.createEvent('phaseLoop');
|
||||
next.player=player;
|
||||
next.swap=function(player){
|
||||
if(player.side==game.me.side){
|
||||
return game.enemyZhu;
|
||||
}
|
||||
else{
|
||||
return game.me;
|
||||
}
|
||||
},
|
||||
next.setContent(function(){
|
||||
'step 0'
|
||||
player.classList.add('acted');
|
||||
player.phase();
|
||||
'step 1'
|
||||
if(player!=game.friendZhu&&player!=game.enemyZhu){
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i].side==player.side&&game.players[i]!=game.friendZhu&&
|
||||
game.players[i]!=game.enemyZhu&&
|
||||
game.players[i]!=player&&!game.players[i].classList.contains('acted')){
|
||||
game.players[i].classList.add('acted');
|
||||
game.players[i].phase();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
'step 2'
|
||||
var target=event.swap(player);
|
||||
var swap=[],swap2=[];
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i].isOut()) continue;
|
||||
if(!game.players[i].classList.contains('acted')){
|
||||
if(game.players[i].side==target.side){
|
||||
swap.push(game.players[i]);
|
||||
}
|
||||
else{
|
||||
swap2.push(game.players[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(swap.length==0){
|
||||
if(swap2.length){
|
||||
target=event.swap(target);
|
||||
swap=swap2;
|
||||
}
|
||||
else{
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i].isOut()) continue;
|
||||
game.players[i].classList.remove('acted');
|
||||
}
|
||||
event.redo();
|
||||
game.delay();
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(swap.length==1){
|
||||
event.directresult=swap[0];
|
||||
}
|
||||
else{
|
||||
var rand=Math.random();
|
||||
var next=target.chooseTarget('选择行动的角色',true,function(card,player,target2){
|
||||
return target2.side==target.side&&!target2.classList.contains('acted');
|
||||
});
|
||||
next._triggered=null;
|
||||
next.includeOut=true;
|
||||
next.ai=function(target2){
|
||||
var num=0;
|
||||
if(target2.num('j')){
|
||||
num-=5;
|
||||
}
|
||||
if(target2!=game.friendZhu&&target2!=game.enemyZhu){
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i]!=game.friendZhu&&game.players[i]!=game.enemyZhu&&
|
||||
game.players[i]!=target2&&game.players[i].side==target2.side&&game.players[i].num('j')){
|
||||
num-=2;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(rand<1/3){
|
||||
num+=1/(target2.hp+1);
|
||||
}
|
||||
else if(rand<2/3){
|
||||
num+=target2.num('h')/5;
|
||||
}
|
||||
return num;
|
||||
}
|
||||
}
|
||||
'step 3'
|
||||
if(event.directresult){
|
||||
event.player=event.directresult;
|
||||
delete event.directresult;
|
||||
}
|
||||
else if(result.bool){
|
||||
event.player=result.targets[0];
|
||||
}
|
||||
event.goto(0);
|
||||
});
|
||||
},
|
||||
phaseLoopOrdered:function(player){
|
||||
var next=game.createEvent('phaseLoop');
|
||||
next.player=player;
|
||||
|
|
|
@ -2237,7 +2237,7 @@ mode.versus={
|
|||
else{
|
||||
return game.me;
|
||||
}
|
||||
},
|
||||
};
|
||||
next.setContent(function(){
|
||||
'step 0'
|
||||
player.classList.add('acted');
|
||||
|
@ -2299,8 +2299,8 @@ mode.versus={
|
|||
}
|
||||
if(target2.identity!='zhu'){
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i].identity!='zhu'&&game.players[i]!=target&&
|
||||
game.players[i].side==target.side){
|
||||
if(game.players[i].identity!='zhu'&&game.players[i]!=target2&&
|
||||
game.players[i].side==target2.side&&game.players[i].num('j')){
|
||||
num-=2;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue