This commit is contained in:
libccy 2016-01-07 17:29:44 +08:00
parent 146c769201
commit 1bbba6d478
16 changed files with 435 additions and 194 deletions

View File

@ -1411,7 +1411,7 @@ card.standard={
source:event.source, source:event.source,
source2:event.source2 source2:event.source2
}); });
if(nevt.isMine()&&!trigger.multitarget){ if(event.current.isUnderControl(true)&&!_status.auto&&!trigger.multitarget){
if(trigger.targets.length>1&&!ui.tempnowuxie){ if(trigger.targets.length>1&&!ui.tempnowuxie){
ui.tempnowuxie=ui.create.control('不无懈'+get.translation(trigger.card.name),ui.click.tempnowuxie); ui.tempnowuxie=ui.create.control('不无懈'+get.translation(trigger.card.name),ui.click.tempnowuxie);
ui.tempnowuxie._origin=trigger.parent; ui.tempnowuxie._origin=trigger.parent;

View File

@ -11,7 +11,7 @@ character.boss={
boss_zhaoyun:['male','shu',1,['boss_juejing','longhun','zhanjiang'],['boss','bossallowed'],'qun'], boss_zhaoyun:['male','shu',1,['boss_juejing','longhun','zhanjiang'],['boss','bossallowed'],'qun'],
boss_zhouyu:['male','wu',6,['huoshen','boss_honglian','boss_xianyin'],['boss','bossallowed'],'zhu'], boss_zhouyu:['male','wu',6,['huoshen','boss_honglian','boss_xianyin'],['boss','bossallowed'],'zhu'],
boss_zhuoguiquxie:['male','qun',0,['boss_bianshen'],['boss','bossallowed']], boss_zhuoguiquxie:['male','qun',0,['boss_bianshen'],['boss','bossallowed'],'shu'],
boss_baiwuchang:['male','qun',9,['boss_baolian','boss_qiangzheng','boss_zuijiu','juece','boss_bianshen4'],['hiddenboss','bossallowed']], boss_baiwuchang:['male','qun',9,['boss_baolian','boss_qiangzheng','boss_zuijiu','juece','boss_bianshen4'],['hiddenboss','bossallowed']],
boss_heiwuchang:['male','qun',9,['boss_guiji','boss_taiping','boss_suoming','boss_xixing','boss_bianshen4'],['hiddenboss','bossallowed']], boss_heiwuchang:['male','qun',9,['boss_guiji','boss_taiping','boss_suoming','boss_xixing','boss_bianshen4'],['hiddenboss','bossallowed']],
boss_luocha:['male','qun',12,['boss_modao','boss_yushou','yizhong','boss_moyany'],['hiddenboss','bossallowed']], boss_luocha:['male','qun',12,['boss_modao','boss_yushou','yizhong','boss_moyany'],['hiddenboss','bossallowed']],
@ -1422,14 +1422,14 @@ character.boss={
boss_shanbeng_info:'锁定技,当你死亡时,你令所有其他角色弃置其装备区内的所有牌', boss_shanbeng_info:'锁定技,当你死亡时,你令所有其他角色弃置其装备区内的所有牌',
boss_zhuoguiquxie:'捉鬼驱邪', boss_zhuoguiquxie:'捉鬼驱邪',
boss_bianshen:'变身', boss_bianshen:'出场',
boss_bianshen_info:'游戏开始时,你随机变身为魑、魅、魍、魉中的一个', boss_bianshen_info:'游戏开始时,你随机变身为魑、魅、魍、魉中的一个',
boss_bianshen2:'变身', boss_bianshen2:'后援',
boss_bianshen2_info:'你死亡后随机变身为牛头、马面中的一个', boss_bianshen2_info:'你死亡后,随机召唤牛头、马面中的一个',
boss_bianshen3:'变身', boss_bianshen3:'后援',
boss_bianshen3_info:'你死亡后随机变身为白无常、黑无常中的一个', boss_bianshen3_info:'你死亡后,随机召唤白无常、黑无常中的一个',
boss_bianshen4:'变身', boss_bianshen4:'后援',
boss_bianshen4_info:'你死亡后随机变身为罗刹、夜叉中的一个', boss_bianshen4_info:'你死亡后,随机召唤罗刹、夜叉中的一个',
zhanjiang:'斩将', zhanjiang:'斩将',
zhanjiang_info:'准备阶段开始时,如果其他角色的装备区内有【青釭剑】,你可以获得之', zhanjiang_info:'准备阶段开始时,如果其他角色的装备区内有【青釭剑】,你可以获得之',

View File

@ -516,7 +516,7 @@ character.diy={
trigger:{source:'damageBegin'}, trigger:{source:'damageBegin'},
forced:true, forced:true,
filter:function(event,player){ filter:function(event,player){
return event.card&&event.card.name=='sha'&&event.player.hp==event.player.maxHp; return event.card&&event.card.name=='sha'&&event.player.hp==event.player.maxHp&&event.notLink();
}, },
content:function(){ content:function(){
trigger.num++; trigger.num++;
@ -672,7 +672,6 @@ character.diy={
diy_hanlong:'韩龙', diy_hanlong:'韩龙',
diy_luxun:'陆伯言', diy_luxun:'陆伯言',
diy_yuji:'于吉', diy_yuji:'于吉',
diy_zhouyu:'神周瑜',
diy_zhouyu:'周公瑾', diy_zhouyu:'周公瑾',
diy_lukang:'陆抗', diy_lukang:'陆抗',
diy_caiwenji:'蔡昭姬', diy_caiwenji:'蔡昭姬',

View File

@ -472,6 +472,7 @@ character.gujian={
event.target=result.targets[0]; event.target=result.targets[0];
player.logSkill('xuelu',event.target,'fire'); player.logSkill('xuelu',event.target,'fire');
event.num=Math.ceil((player.maxHp-player.hp)/2); event.num=Math.ceil((player.maxHp-player.hp)/2);
if(event.num>2) event.num=2;
player.discard(result.cards); player.discard(result.cards);
} }
else{ else{
@ -1051,7 +1052,7 @@ character.gujian={
yuehua:'月华', yuehua:'月华',
yuehua_info:'每当你于回合外使用、打出或弃置红色牌,你可以摸一张牌', yuehua_info:'每当你于回合外使用、打出或弃置红色牌,你可以摸一张牌',
xuelu:'血戮', xuelu:'血戮',
xuelu_info:'回合结束阶段你可以弃置一张红色牌并对一名其他角色造成X点火焰伤害X为你已损失体力值的一半向上取整', xuelu_info:'回合结束阶段你可以弃置一张红色牌并对一名其他角色造成X点火焰伤害X为你已损失体力值的一半向上取整且不超过2',
fanshi:'反噬', fanshi:'反噬',
fanshi_info:'锁定技,若你于回合内造成过伤害,你于弃牌阶段结束时流失一点体力并摸一张牌', fanshi_info:'锁定技,若你于回合内造成过伤害,你于弃牌阶段结束时流失一点体力并摸一张牌',
shahun:'煞魂', shahun:'煞魂',

View File

@ -53,6 +53,9 @@ character.sp={
maliang:['masu'], maliang:['masu'],
lingcao:['lingtong'], lingcao:['lingtong'],
lingju:['diaochan','lvbu'], lingju:['diaochan','lvbu'],
jiangqing:['zhoutai'],
dingfeng:['xusheng'],
caohong:['caoren'],
}, },
skill:{ skill:{
danji:{ danji:{
@ -521,7 +524,8 @@ character.sp={
return att1/2+att2+att3; return att1/2+att2+att3;
} }
else{ else{
return ai.get.attitude(player,target); return 0;
// return ai.get.attitude(player,target);
} }
} }
'step 1' 'step 1'
@ -1786,13 +1790,18 @@ character.sp={
event.card=result.cards[0]; event.card=result.cards[0];
if(get.type(event.card)!='equip') event.finish(); if(get.type(event.card)!='equip') event.finish();
"step 2" "step 2"
trigger.target.chooseBool('是否装备'+get.translation(event.card)+'').ai=function(){ if(!trigger.target.isMin()){
var current=trigger.target.get('e',{subtype:get.subtype(event.card)}); trigger.target.chooseBool('是否装备'+get.translation(event.card)+'').ai=function(){
if(current&&current.length){ var current=trigger.target.get('e',{subtype:get.subtype(event.card)});
return ai.get.equipValue(event.card)>ai.get.equipValue(current[0]); if(current&&current.length){
} return ai.get.equipValue(event.card)>ai.get.equipValue(current[0]);
return true; }
}; return true;
};
}
else{
event.finish();
}
"step 3" "step 3"
if(result.bool){ if(result.bool){
trigger.target.equip(event.card); trigger.target.equip(event.card);

View File

@ -7,7 +7,7 @@ character.swd={
swd_septem:['male','qun',4,['jiying','liaoyuan','yishan']], swd_septem:['male','qun',4,['jiying','liaoyuan','yishan']],
swd_kama:['female','qun',3,['yueren','shangshi']], swd_kama:['female','qun',3,['yueren','shangshi']],
// swd_miles:['male','qun',4,['aojian','miles_xueyi','mohua2']], // swd_miles:['male','qun',4,['aojian','miles_xueyi','mohua2']],
swd_nicole:['female','wu',3,['minjing','lingwu','huanjian']], swd_nicole:['female','wu',3,['huanjian','lingwu','minjing']],
swd_wangsiyue:['female','wei',3,['duishi','biyue']], swd_wangsiyue:['female','wei',3,['duishi','biyue']],
// swd_weida:['female','qun',3,['yueren','zhenlie']], // swd_weida:['female','qun',3,['yueren','zhenlie']],
swd_xuanyuanjianxian:['male','qun',4,['pozhou','huajian']], swd_xuanyuanjianxian:['male','qun',4,['pozhou','huajian']],
@ -3173,7 +3173,6 @@ character.swd={
} }
}, },
miejing:{ miejing:{
forbid:['infinity'],
init:function(player){ init:function(player){
player.storage.miejing=false; player.storage.miejing=false;
}, },
@ -3185,30 +3184,28 @@ character.swd={
intro:{ intro:{
content:'limited' content:'limited'
}, },
mark:true,
line:'thunder',
filterTarget:function(card,player,target){
return player!=target;
},
selectTarget:-1,
content:function(){ content:function(){
"step 0" "step 0"
var cards=player.get('hej'); if(target==targets[0]){
for(var i=0;i<cards.length;i++){ var cards=player.get('hej');
if(get.color(cards[i])!='black'){ for(var i=0;i<cards.length;i++){
cards.splice(i,1);i--; if(get.color(cards[i])!='black'){
cards.splice(i,1);i--;
}
} }
cards.sort(lib.sort.random);
player.discard(cards);
player.storage.miejing=true;
player.unmarkSkill('miejing');
} }
cards.sort(lib.sort.random);
player.discard(cards);
event.num=0;
event.players=game.players.slice(0);
player.storage.miejing=true;
"step 1" "step 1"
var i=event.num; target.damage('thunder');
if(event.num<event.players.length){
if(event.players[event.num]!=player){
event.players[i].damage('thunder','nosource');
}
event.num++;
event.redo();
}
//player.maxHp=1;
//player.update();
} }
}, },
// zhanlu:{ // zhanlu:{
@ -3303,13 +3300,14 @@ character.swd={
return get.color(card)=='black'; return get.color(card)=='black';
}, },
viewAs:{name:'dujian'}, viewAs:{name:'dujian'},
position:'he',
viewAsFilter:function(player){ viewAsFilter:function(player){
if(!player.num('h',{color:'black'})) return false; if(!player.num('he',{color:'black'})) return false;
}, },
prompt:'将一张黑色牌当作毒箭使用', prompt:'将一张黑色牌当作毒箭使用',
check:function(card){return 5-ai.get.value(card)}, check:function(card){return 5-ai.get.value(card)},
ai:{ ai:{
threaten:1.6 threaten:1.1
} }
}, },
benlei:{ benlei:{
@ -4458,7 +4456,7 @@ character.swd={
trigger:{player:'phaseAfter'}, trigger:{player:'phaseAfter'},
frequent:true, frequent:true,
filter:function(event,player){ filter:function(event,player){
return get.cardCount(true,player)>=3; return get.cardCount(true,player)>=3&&event.parent.name!='lingwu';
}, },
content:function(){ content:function(){
player.phase(); player.phase();
@ -4467,7 +4465,8 @@ character.swd={
order:-10, order:-10,
result:{ result:{
target:2 target:2
} },
threaten:1.5
} }
}, },
xianjiang:{ xianjiang:{
@ -7879,7 +7878,7 @@ character.swd={
benlei2:'奔雷', benlei2:'奔雷',
benlei_info:'你可以将三张牌当惊雷闪使用;每当你造成一次雷属性伤害,你回复一点体力', benlei_info:'你可以将三张牌当惊雷闪使用;每当你造成一次雷属性伤害,你回复一点体力',
lingwu:'灵舞', lingwu:'灵舞',
lingwu_info:'回合结束后若你在本回合内使用了至少3张牌你可以进行一个额外的回合', lingwu_info:'回合结束后若你在本回合内使用了至少3张牌你可以进行一个额外的回合(不可重复发动)',
miejing:'灭境', miejing:'灭境',
miejing_info:'限制技,你可以弃置所有黑色牌,然后令所有其他角色受到一点雷电伤害', miejing_info:'限制技,你可以弃置所有黑色牌,然后令所有其他角色受到一点雷电伤害',
lingxin:'灵心', lingxin:'灵心',
@ -8082,7 +8081,7 @@ character.swd={
shengshou:'圣手', shengshou:'圣手',
huanjian:'幻箭', huanjian:'幻箭',
yuhuo:'浴火', yuhuo:'浴火',
huanjian_info:'你可以将一张黑色牌当作毒箭使用', huanjian_info:'你可以将一张黑色牌当作毒箭使用',
shengshou_info:'你可以将一张黑色手牌当作草药使用', shengshou_info:'你可以将一张黑色手牌当作草药使用',
susheng_info:'在任意一名角色即将死亡时你可以弃置一张手牌防止其死亡并将其体力回复至1每回合限发动一次', susheng_info:'在任意一名角色即将死亡时你可以弃置一张手牌防止其死亡并将其体力回复至1每回合限发动一次',
zhanlu_info:'出牌阶段,你可以弃置一张黑桃牌令至多3名角色各回复一点体力', zhanlu_info:'出牌阶段,你可以弃置一张黑桃牌令至多3名角色各回复一点体力',

View File

@ -120,7 +120,7 @@ character.xiake={
trigger:{player:'useCard'}, trigger:{player:'useCard'},
frequent:true, frequent:true,
filter:function(event,player){ filter:function(event,player){
return _status.currentPhase==player&&get.cardCount(true,player)==2; return _status.currentPhase==player&&get.cardCount(true,player)==3;
}, },
content:function(){ content:function(){
var card=get.cardPile('chuansongmen'); var card=get.cardPile('chuansongmen');
@ -148,7 +148,7 @@ character.xiake={
rouquan_info:'你可以重铸装备区内的牌;当你没有武器牌时,你的杀可以指定任意个目标', rouquan_info:'你可以重铸装备区内的牌;当你没有武器牌时,你的杀可以指定任意个目标',
zuijian:'醉剑', zuijian:'醉剑',
zuijian_info:'出牌阶段,你可以将一张手牌或装备牌当酒使用;当你使用酒后,你的攻击范围+1', zuijian_info:'出牌阶段,你可以将一张手牌或装备牌当酒使用;当你使用酒后,你的攻击范围+1',
zitong:'通', zitong:'',
zitong_info:'当你于自己的回合内使用第张牌时,你可以将一张传送门置于你的手牌', zitong_info:'当你于自己的回合内使用第张牌时,你可以将一张传送门置于你的手牌',
}, },
} }

View File

@ -314,13 +314,6 @@ window.config={
current_mode:{}, current_mode:{},
forbid:[ forbid:[
['huashen'], ['huashen'],
['lingwu'],
// ['lingwu','jilve'],
// ['lingwu','yongsi'],
// ['lingwu','shangshi'],
// ['jizhi','zhiheng'],
// ['xiaoji','zhiheng'],
// ['relianying','zhiheng'],
['lianying','rende'], ['lianying','rende'],
['lianying','yinguo'], ['lianying','yinguo'],
['lianying','qingjian'], ['lianying','qingjian'],

View File

@ -16,10 +16,13 @@
dieClose:[] dieClose:[]
}; };
var lib={ var lib={
version:1.75, version:1.76,
changeLog:[ changeLog:[
'挑战模式修复,增加捉鬼驱邪', '捉鬼bug修复',
'完善炉石模式' '配音支持引用文件名',
'挑战模式可关闭单人控制',
'不同模式可单独设置禁将、禁卡',
'炉石模式平衡调整'
], ],
configprefix:'noname_0.9_', configprefix:'noname_0.9_',
updates:[], updates:[],
@ -1432,6 +1435,10 @@
map.enhance_zhu.hide(); map.enhance_zhu.hide();
map.double_nei.hide(); map.double_nei.hide();
map.auto_identity.hide(); map.auto_identity.hide();
map.choice_zhu.hide();
map.choice_zhong.hide();
map.choice_nei.hide();
map.choice_fan.hide();
} }
else{ else{
map.player_number.show(); map.player_number.show();
@ -1443,6 +1450,10 @@
else{ else{
map.double_nei.hide(); map.double_nei.hide();
} }
map.choice_zhu.show();
map.choice_zhong.show();
map.choice_nei.show();
map.choice_fan.show();
} }
}, },
identity_mode:{ identity_mode:{
@ -1952,6 +1963,22 @@
}, },
frequent:true, frequent:true,
}, },
single_control:{
name:'单人控制',
init:true,
frequent:true,
onclick:function(bool){
game.saveConfig('single_control',bool,this._link.config.mode);
if(ui.single_swap&&game.me!=game.boss){
if(bool){
ui.single_swap.style.display='none';
}
else{
ui.single_swap.style.display='';
}
}
},
},
ban_weak:{ ban_weak:{
name:'屏蔽弱将', name:'屏蔽弱将',
init:false, init:false,
@ -2399,20 +2426,20 @@
'<div style="margin:10px">职业技能</div><ul style="margin-top:0"><li>祭司:召唤一个随机图腾'+ '<div style="margin:10px">职业技能</div><ul style="margin-top:0"><li>祭司:召唤一个随机图腾'+
'<li>法师:对一名随从造成一点火焰伤害'+ '<li>法师:对一名随从造成一点火焰伤害'+
'<li>牧师:回复一点体力'+ '<li>牧师:回复一点体力'+
'<li>战士:获得一点护甲'+ '<li>战士:获得一点护甲不能超过5点'+
'<li>术士:牌库中摸两张牌'+ '<li>术士:牌库中摸两张牌'+
'<li>潜行者:装备一把武器和一个随机非武器装备'+ '<li>潜行者:装备一把武器和一个随机非武器装备'+
'<li>圣骑士:召唤一名士兵'+ '<li>圣骑士:召唤一名士兵'+
'<li>猎人:对敌方主将造成一点伤害'+ '<li>猎人:对敌方主将造成一点伤害'+
'<li>德鲁伊:视为使用一张不计入出杀次数的杀</ul>'+ '<li>德鲁伊:视为使用一张不计入出杀次数的杀</ul>'+
'<div style="margin:10px">战斗</div><ul style="margin-top:0"><li>游戏流程类似1v1场上有两名主将进行对抗'+ '<div style="margin:10px">战斗</div><ul style="margin-top:0"><li>游戏流程类似1v1场上有两名主将进行对抗,主将的体力上限+2'+
'<li>主将出牌阶段的出牌数量行动值有上限先手为2后手为3装备牌不计入出牌上限<li>游戏每进行一轮,主将的出牌上限+1超过6时减至2并重新累加'+ '<li>主将出牌阶段的出牌数量行动值有上限先手为2后手为3装备牌不计入出牌上限<li>游戏每进行一轮,主将的出牌上限+1超过6时减至2并重新累加'+
'<li>使用随从牌可召唤一个随从随从出场时背面朝上。每一方在场的随从数不能超过4<li>随从于摸牌阶段摸牌基数为1随从的随从牌均视为闪装备牌均视为杀<li>'+ '<li>使用随从牌可召唤一个随从随从出场时背面朝上。每一方在场的随从数不能超过4<li>随从于摸牌阶段摸牌基数为1随从的随从牌均视为闪装备牌均视为杀<li>'+
'随从与其他所有角色相互距离基数为1<li>'+ '随从与其他所有角色相互距离基数为1<li>'+
'主将杀死对方随从后获得一个额外的行动值并摸两张牌,杀死己方随从无惩罚,随从杀死随从无效果'+ '主将杀死对方随从后获得一个额外的行动值并摸两张牌,杀死己方随从无惩罚,随从杀死随从无效果'+
'<li>主将可重铸随从牌但回合内总的重铸次数不能超过3随从不能重铸任何牌包括铁索等默认可以重铸的牌'+ '<li>主将可重铸随从牌但回合内总的重铸次数不能超过3随从不能重铸任何牌包括铁索等默认可以重铸的牌'+
'<li>嘲讽:若一方阵营中有嘲讽角色,则同阵营的无嘲讽角色不以能成为杀或决斗的目标'+ '<li>嘲讽:若一方阵营中有嘲讽角色,则同阵营的无嘲讽角色不以能成为杀或决斗的目标'+
'<li>行动顺序为先主将后随从。主将或随从死亡后立即移出游戏,主将死亡后替补登场,替补登场时摸2+X张牌X为对方存活的随从数无替补时游戏结束' '<li>行动顺序为先主将后随从。主将或随从死亡后立即移出游戏,主将死亡后替补登场,替补登场时摸3+X张牌X为对方存活的随从数无替补时游戏结束'
}, },
setPopped:function(node,func,width,height){ setPopped:function(node,func,width,height){
node._poppedfunc=func; node._poppedfunc=func;
@ -4139,6 +4166,10 @@
audioinfo=lib.skill[audioinfo].audio; audioinfo=lib.skill[audioinfo].audio;
} }
} }
else if(Array.isArray(audioinfo)){
audioname=audioinfo[0];
audioinfo=audioinfo[1];
}
if(typeof audioinfo=='number'){ if(typeof audioinfo=='number'){
game.playAudio('skill',audioname+Math.ceil(audioinfo*Math.random())); game.playAudio('skill',audioname+Math.ceil(audioinfo*Math.random()));
} }
@ -4316,10 +4347,27 @@
if(lib.config.background_audio){ if(lib.config.background_audio){
game.playAudio('effect','draw'); game.playAudio('effect','draw');
} }
if(event.log!=false){ if(event.drawDeck){
game.log(player,'摸了'+get.cnNumber(num)+'张牌'); num-=event.drawDeck;
}
if(event.log!=false){
if(num>0){
game.log(player,'摸了'+get.cnNumber(num)+'张牌');
}
if(event.drawDeck){
game.log(player,'从牌库中获得了'+get.cnNumber(event.drawDeck)+'张牌');
}
}
var cards;
if(num>0){
cards=get.cards(num);
}
else{
cards=[];
}
if(event.drawDeck){
cards=cards.concat(player.getDeckCards(event.drawDeck));
} }
var cards=get.cards(num);
if(event.animate!=false){ if(event.animate!=false){
player.gain(cards,'draw'); player.gain(cards,'draw');
} }
@ -6210,6 +6258,9 @@
else if(typeof arguments[i]=='boolean'){ else if(typeof arguments[i]=='boolean'){
next.animate=arguments[i]; next.animate=arguments[i];
} }
else if(typeof arguments[i]=='object'&&arguments[i].drawDeck){
next.drawDeck=arguments[i].drawDeck;
}
} }
if(next.num==undefined) next.num=1; if(next.num==undefined) next.num=1;
if(next.num<=0) _status.event.next.remove(next); if(next.num<=0) _status.event.next.remove(next);
@ -6649,6 +6700,10 @@
audioinfo=lib.skill[audioinfo].audio; audioinfo=lib.skill[audioinfo].audio;
} }
} }
else if(Array.isArray(audioinfo)){
audioname=audioinfo[0];
audioinfo=audioinfo[1];
}
if(typeof audioinfo==='number'){ if(typeof audioinfo==='number'){
game.playAudio('skill',audioname+Math.ceil(audioinfo*Math.random())); game.playAudio('skill',audioname+Math.ceil(audioinfo*Math.random()));
} }
@ -7041,14 +7096,17 @@
isIn:function(){ isIn:function(){
return this.classList.contains('dead')==false&&this.classList.contains('out')==false&&!this.removed; return this.classList.contains('dead')==false&&this.classList.contains('out')==false&&!this.removed;
}, },
isUnderControl:function(){ isUnderControl:function(self){
if(this===game.me) return false; if(!self&&this===game.me) return false;
if(this.isMad()) return false; if(this.isMad()) return false;
if(lib.config.mode=='versus'){ if(lib.config.mode=='versus'){
return ui.autoreplace&&ui.autoreplace.classList.contains('on')&& return ui.autoreplace&&ui.autoreplace.classList.contains('on')&&
this.side==game.me.side; this.side==game.me.side;
} }
else if(lib.config.mode=='chess'||lib.config.mode=='boss'){ else if(lib.config.mode=='boss'){
return this.side==game.me.side&&get.config('single_control');
}
else if(lib.config.mode=='chess'){
return this.side==game.me.side; return this.side==game.me.side;
} }
return false; return false;
@ -8388,6 +8446,9 @@
isMine:function(){ isMine:function(){
return (this.player&&this.player==game.me&&!_status.auto&&!this.player.isMad()); return (this.player&&this.player==game.me&&!_status.auto&&!this.player.isMad());
}, },
notLink:function(){
return this.parent.name!='_lianhuan'&&this.parent.name!='_lianhuan2';
},
trigger:function(name){ trigger:function(name){
if(_status.video) return; if(_status.video) return;
var event=this; var event=this;
@ -11347,6 +11408,16 @@
if(ui.wuxie) ui.wuxie.hide(); if(ui.wuxie) ui.wuxie.hide();
if(lib.storage.test){ if(lib.storage.test){
if(lib.config.test_game){
switch(lib.config.mode){
case 'identity':game.saveConfig('mode','guozhan');break;
case 'guozhan':game.saveConfig('mode','versus');break;
case 'versus':game.saveConfig('mode','boss');break;
case 'boss':game.saveConfig('mode','chess');break;
case 'chess':game.saveConfig('mode','stone');break;
case 'stone':game.saveConfig('mode','identity');break;
}
}
setTimeout(game.reload,500); setTimeout(game.reload,500);
} }
if(game.controlOver){ if(game.controlOver){
@ -12755,10 +12826,10 @@
node.classList.remove('thundertext'); node.classList.remove('thundertext');
for(var i=0;i<dialog.buttons.length;i++){ for(var i=0;i<dialog.buttons.length;i++){
if(dialog.currentcapt&&dialog.buttons[i].capt!=dialog.currentcapt){ if(dialog.currentcapt&&dialog.buttons[i].capt!=dialog.currentcapt){
dialog.buttons[i].style.display='none'; dialog.buttons[i].classList.add('nodisplay');
} }
else{ else{
dialog.buttons[i].style.display=''; dialog.buttons[i].classList.remove('nodisplay');
} }
} }
} }
@ -12772,10 +12843,10 @@
for(var i=0;i<dialog.buttons.length;i++){ for(var i=0;i<dialog.buttons.length;i++){
if(dialog.buttons[i].group!=link|| if(dialog.buttons[i].group!=link||
(dialog.currentcapt&&dialog.buttons[i].capt!=dialog.currentcapt)){ (dialog.currentcapt&&dialog.buttons[i].capt!=dialog.currentcapt)){
dialog.buttons[i].style.display='none'; dialog.buttons[i].classList.add('nodisplay');
} }
else{ else{
dialog.buttons[i].style.display=''; dialog.buttons[i].classList.remove('nodisplay');
} }
} }
} }
@ -13291,6 +13362,10 @@
},1000); },1000);
} }
if(lib.config.test_game){
lib.storage.test=true;
}
ui.window.addEventListener(lib.config.touchscreen?'touchend':'click',ui.click.window); ui.window.addEventListener(lib.config.touchscreen?'touchend':'click',ui.click.window);
ui.system=ui.create.div("#system.",ui.window); ui.system=ui.create.div("#system.",ui.window);
ui.arena=ui.create.div('#arena',ui.window); ui.arena=ui.create.div('#arena',ui.window);
@ -14260,7 +14335,7 @@
this.node.hp.innerHTML=this.node.hp._innerHTML; this.node.hp.innerHTML=this.node.hp._innerHTML;
this.node.hp.style.top=''; this.node.hp.style.top='';
} }
game.saveConfig('banned',lib.config.banned); game.saveConfig('banned',lib.config.banned,true);
}; };
var buttons=ui.create.buttons(list,'character',page); var buttons=ui.create.buttons(list,'character',page);
for(var i=0;i<buttons.length;i++){ for(var i=0;i<buttons.length;i++){
@ -14318,7 +14393,7 @@
game.deleteDB('image','character:'+pack.character[i]); game.deleteDB('image','character:'+pack.character[i]);
lib.config.banned.remove(pack.character[i]) lib.config.banned.remove(pack.character[i])
} }
game.saveConfig('banned',lib.config.banned); game.saveConfig('banned',lib.config.banned,true);
for(var i=0;i<pack.skill.length;i++){ for(var i=0;i<pack.skill.length;i++){
game.deleteDB('skill',pack.skill[i]); game.deleteDB('skill',pack.skill[i]);
} }
@ -15089,7 +15164,7 @@
this.node.info.innerHTML=this.node.info._innerHTML; this.node.info.innerHTML=this.node.info._innerHTML;
this.node.info.style.top=''; this.node.info.style.top='';
} }
game.saveConfig('bannedcards',lib.config.bannedcards); game.saveConfig('bannedcards',lib.config.bannedcards,true);
}; };
var buttons=ui.create.buttons(list,'vcard',page); var buttons=ui.create.buttons(list,'vcard',page);
for(var i=0;i<buttons.length;i++){ for(var i=0;i<buttons.length;i++){
@ -20803,6 +20878,14 @@
window.lib=lib; window.lib=lib;
window._status=_status; window._status=_status;
}, },
aa:function(){
game.saveConfig('test_game',!lib.config.test_game);
game.reload();
},
a:function(){
game.save('test',!lib.storage.test);
game.reload();
},
u:function(){ u:function(){
var card={name:'sha'},source=game.me.next; var card={name:'sha'},source=game.me.next;
for(var i=0;i<arguments.length;i++){ for(var i=0;i<arguments.length;i++){
@ -21193,6 +21276,8 @@
} }
lib.config.current_mode=mode[lib.config.mode].config||[]; lib.config.current_mode=mode[lib.config.mode].config||[];
lib.config.mode_choice=mode[lib.config.mode].config; lib.config.mode_choice=mode[lib.config.mode].config;
lib.config.banned=get.config('banned')||[];
lib.config.bannedcards=get.config('bannedcards')||[];
lib.rank=window.characterRank; lib.rank=window.characterRank;
delete window.characterRank; delete window.characterRank;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -167,9 +167,12 @@ table{table-layout: fixed;}
#arena.playerfocus #chess>div:not(.playerfocus):not(.removing){ #arena.playerfocus #chess>div:not(.playerfocus):not(.removing){
opacity: 0.3 !important; opacity: 0.3 !important;
} }
.player.playerfocus{ .player:not(.treasure).playerfocus{
transform: scale(1.1); transform: scale(1.1);
} }
.player.linked:not(.treasure).playerfocus{
transform: scale(1.1) rotate(-90deg);
}
#arena #me>div>div>.card{ #arena #me>div>div>.card{
position: absolute; position: absolute;
left:8px; left:8px;

View File

@ -35,6 +35,9 @@
#arena .player.linked>.name{ #arena .player.linked>.name{
transform: rotate(90deg) translate(120px,-96px); transform: rotate(90deg) translate(120px,-96px);
} }
#arena .player.linked>.name.name2{
transform: rotate(90deg) translate(98px,-31px);
}
.player>.identity.menubutton.round{ .player>.identity.menubutton.round{
padding: 0; padding: 0;
@ -195,12 +198,18 @@
left: auto; left: auto;
right: 240px; right: 240px;
width: calc(100% - 280px); width: calc(100% - 280px);
opacity: 0; /*opacity: 0;*/
animation: none; animation: none;
-webkit-animation:none; -webkit-animation:none;
/*transform: scale(0.8);*/
/*pointer-events: none;*/
/*-webkit-animation:dialog_start2 0.5s;*/
transition: all 0.5s;
}
#deck-builder:not(.shown)>.dialog.fixed{
opacity: 0;
transform: scale(0.8); transform: scale(0.8);
pointer-events: none; pointer-events: none;
transition: all 0.5s;
} }
#deck-builder>.dialog.fixed.shown{ #deck-builder>.dialog.fixed.shown{
opacity: 1; opacity: 1;

View File

@ -6,7 +6,7 @@ mode.boss={
if(this!=game.boss){ if(this!=game.boss){
this.storage.boss_chongzheng=0; this.storage.boss_chongzheng=0;
} }
if(game.bossinfo.checkResult&&game.bossinfo.checkResult()===false){ if(game.bossinfo.checkResult&&game.bossinfo.checkResult(this)===false){
return; return;
} }
if(this==game.boss||game.players.length==1){ if(this==game.boss||game.players.length==1){
@ -206,6 +206,19 @@ mode.boss={
game.save('current',target.name); game.save('current',target.name);
target.classList.add('highlight'); target.classList.add('highlight');
}); });
if(lib.storage.test){
event.current.classList.remove('highlight');
if(event.current.nextSibling&&event.current.nextSibling.classList.contains('player')){
event.current=event.current.nextSibling;
}
else{
event.current=event.current.parentNode.childNodes[1];
}
lib.config.game_speed='vfast';
_status.auto=true;
ui.auto.classList.add('glow');
game.save('current',event.current.name);
}
"step 3" "step 3"
game.bossinfo=lib.boss.global; game.bossinfo=lib.boss.global;
for(var i in lib.boss[event.current.name]){ for(var i in lib.boss[event.current.name]){
@ -313,6 +326,26 @@ mode.boss={
return uiintro; return uiintro;
},180); },180);
ui.single_swap=ui.create.system('换人',function(){
var players=get.players(game.me);
players.remove(game.boss);
if(players.length>1){
if(ui.auto.classList.contains('hidden')){
game.me.popup('请稍后换人');
return;
}
if(_status.event.isMine()){
ui.click.auto();
setTimeout(function(){
ui.click.auto();
},500);
}
game.modeSwapPlayer(players[1]);
}
},true);
if(get.config('single_control')||game.me==game.boss){
ui.single_swap.style.display='none';
}
ui.arena.appendChild(boss); ui.arena.appendChild(boss);
ui.refresh(boss); ui.refresh(boss);
@ -607,8 +640,8 @@ mode.boss={
boss:{ boss:{
boss_zhuoguiquxie:{ boss_zhuoguiquxie:{
chongzheng:99, chongzheng:99,
checkResult:function(){ checkResult:function(player){
if(game.boss.name!='boss_yecha'&&game.boss.name!='boss_luocha'){ if(player==game.boss&&game.boss.name!='boss_yecha'&&game.boss.name!='boss_luocha'){
return false; return false;
} }
} }
@ -655,6 +688,7 @@ mode.boss={
priority:100, priority:100,
popup:false, popup:false,
filter:function(event,player){ filter:function(event,player){
if(!get.config('single_control')) return false;
if(event.autochoose&&event.autochoose()) return false; if(event.autochoose&&event.autochoose()) return false;
return player.isUnderControl(); return player.isUnderControl();
}, },

View File

@ -5362,7 +5362,7 @@ mode.chess={
treasure_dubiaoxianjing:'毒镖陷阱', treasure_dubiaoxianjing:'毒镖陷阱',
treasure_jiqishi:'集气石', treasure_jiqishi:'集气石',
treasure_shenmidiaoxiang:'神秘雕像', treasure_shenmidiaoxiang:'神秘雕像',
treasure_shenpanxianjing:'审判之', treasure_shenpanxianjing:'审判之',
treasure_shiyuansu:'石元素', treasure_shiyuansu:'石元素',
treasure_wuyashenxiang:'乌鸦神像', treasure_wuyashenxiang:'乌鸦神像',

View File

@ -70,6 +70,22 @@ mode.stone={
player.updateActCount(); player.updateActCount();
} }
}, },
drawDeck:function(num,log){
if(!num){
num=1;
}
if(log==false){
this.directgain(this.getDeckCards(num));
}
else if(log==true){
this.directgain(this.getDeckCards(num));
game.log(this,'从牌库中获得了'+get.cnNumber(num)+'张牌');
}
else{
this.gain(this.getDeckCards(num),'draw');
game.log(this,'从牌库中获得了'+get.cnNumber(num)+'张牌');
}
},
updateActCount:function(used,countx,current){ updateActCount:function(used,countx,current){
if(_status.video){ if(_status.video){
this.actcount=countx||2; this.actcount=countx||2;
@ -255,6 +271,8 @@ mode.stone={
else{ else{
player.init(_status.mylist.shift()); player.init(_status.mylist.shift());
} }
player.maxHp++;
player.hp++;
if(_status.mode=='deck'){ if(_status.mode=='deck'){
get.deck(player,_status.deck.shift()); get.deck(player,_status.deck.shift());
} }
@ -271,14 +289,16 @@ mode.stone={
game.swapControl(player); game.swapControl(player);
game.arrangePlayers(); game.arrangePlayers();
if(_status.mode=='deck'){ if(_status.mode=='deck'){
player.draw(2,false);
var nd=game.enemy.countFellow(); var nd=game.enemy.countFellow();
if(nd){ if(nd){
player.directgain(player.getDeckCards(nd)); player.draw(3+nd,{drawDeck:nd},false);
}
else{
player.draw(3,false);
} }
} }
else{ else{
player.draw(2+game.enemy.countFellow(),false); player.draw(3+game.enemy.countFellow(),false);
} }
game.resume(); game.resume();
game.updateStatusCount(); game.updateStatusCount();
@ -309,6 +329,8 @@ mode.stone={
else{ else{
player.init(_status.enemylist.shift()); player.init(_status.enemylist.shift());
} }
player.maxHp++;
player.hp++;
if(_status.mode=='deck'){ if(_status.mode=='deck'){
get.deck(player,'random'); get.deck(player,'random');
} }
@ -323,14 +345,25 @@ mode.stone={
actcount:player.actcount, actcount:player.actcount,
}); });
game.arrangePlayers(); game.arrangePlayers();
player.draw(2+game.me.countFellow(),false); if(_status.mode=='deck'){
var nd=game.me.countFellow();
if(nd){
player.draw(3+nd,{drawDeck:nd},false);
}
else{
player.draw(3,false);
}
}
else{
player.draw(3+game.me.countFellow(),false);
}
game.resume(); game.resume();
game.updateStatusCount(); game.updateStatusCount();
},lib.config.duration); },lib.config.duration);
} }
} }
if(source&&source.side!=this.side&&!source.isMin()){ if(source&&source.side!=this.side&&!source.isMin()){
source.draw(2); source.draw(2,{drawDeck:1});
if(source.getActCount()>0){ if(source.getActCount()>0){
source.actused--; source.actused--;
} }
@ -372,13 +405,13 @@ mode.stone={
stone_kuangyedoushi:['male','wu',3,['druid_nuhuo'],['minskin','stone'],[4,2,'druid']], stone_kuangyedoushi:['male','wu',3,['druid_nuhuo'],['minskin','stone'],[4,2,'druid']],
stone_conglinshouwei:['male','wu',3,['druid_huwei'],['minskin','stone'],[4,2,'druid']], stone_conglinshouwei:['male','wu',3,['druid_huwei'],['minskin','stone'],[4,2,'druid']],
stone_baohuzhishu:['male','qun',6,['chaofeng'],['minskin','stone'],[6,4,'druid']], stone_baohuzhishu:['male','qun',6,['chaofeng'],['minskin','stone'],[6,4,'druid']],
stone_liebao:['male','wei',3,['stone_jixing'],['minskin','stone'],[3,3,'druid']], stone_liebao:['male','wei',3,['stone_chongfeng'],['minskin','stone'],[3,3,'druid']],
stone_zongxiong:['male','shu',4,['chaofeng'],['minskin','stone'],[4,2,'druid']], stone_zongxiong:['male','shu',4,['chaofeng'],['minskin','stone'],[4,2,'druid']],
stone_baoqishi:['female','wei',2,['druid_chengzhang'],['minskin','stone'],[2,2,'druid']], stone_baoqishi:['female','wei',2,['druid_chengzhang'],['minskin','stone'],[2,2,'druid']],
stone_caoyuanshi:['male','qun',5,['hunter_nuhou'],['minskin','stone'],[5,2,'hunter']], stone_caoyuanshi:['male','qun',5,['hunter_nuhou'],['minskin','stone'],[5,2,'hunter']],
stone_leiouke:['male','shu',3,['hunter_zhanhuo'],['minskin','stone'],[3,1,'hunter']], stone_leiouke:['male','shu',3,['hunter_zhanhuo'],['minskin','stone'],[3,1,'hunter']],
stone_huofu:['male','qun',2,['stone_jixing'],['minskin','stone'],[3,4,'hunter']], stone_huofu:['male','qun',2,['stone_chongfeng'],['minskin','stone'],[3,4,'hunter']],
stone_misha:['male','shu',3,['chaofeng'],['minskin','stone'],[3,3,'hunter']], stone_misha:['male','shu',3,['chaofeng'],['minskin','stone'],[3,3,'hunter']],
stone_jiewangzhu:['male','wu',1,['hunter_jiewang'],['minskin','stone'],[1,2,'hunter']], stone_jiewangzhu:['male','wu',1,['hunter_jiewang'],['minskin','stone'],[1,2,'hunter']],
stone_xunshoushi:['male','qun',2,['hunter_xunshou'],['minskin','stone'],[4,3,'hunter']], stone_xunshoushi:['male','qun',2,['hunter_xunshou'],['minskin','stone'],[4,3,'hunter']],
@ -401,16 +434,16 @@ mode.stone={
stone_xiaoguishouling:['male','qun',3,['warlock_zhaogui'],['minskin','stone'],[3,1,'warlock']], stone_xiaoguishouling:['male','qun',3,['warlock_zhaogui'],['minskin','stone'],[3,1,'warlock']],
stone_xiaogui:['male','qun',1,[],['minskin','stone','stonehidden'],[1,1]], stone_xiaogui:['male','qun',1,[],['minskin','stone','stonehidden'],[1,1]],
stone_kongjuzhanma:['male','qun',1,['warlock_yongsheng'],['minskin','stone'],[3,1,'warlock']], stone_kongjuzhanma:['male','qun',1,['warlock_yongsheng'],['minskin','stone'],[3,1,'warlock']],
stone_morishouwei:['male','qun',4,['warlock_zaihuo'],['minskin','stone'],[4,4,'warlock']], stone_morishouwei:['male','qun',5,['warlock_zaihuo'],['minskin','stone'],[4,4,'warlock']],
stone_xukongxingzhe:['male','qun',2,['chaofeng'],['minskin','stone'],[1,1,'warlock']], stone_xukongxingzhe:['male','qun',2,['chaofeng'],['minskin','stone'],[1,1,'warlock']],
stone_diyuhuo:['male','qun',4,['warlock_yuhuo'],['minskin','stone'],[5,4,'warlock']], stone_diyuhuo:['male','qun',4,['warlock_yuhuo'],['minskin','stone'],[5,4,'warlock']],
stone_zhihuiguan:['female','qun',2,['warrior_tongling'],['minskin','stone'],[2,1,'warrior']], stone_zhihuiguan:['female','qun',2,['warrior_tongling'],['minskin','stone'],[2,2,'warrior']],
stone_kuangzhanshi:['male','qun',3,['warrior_baoluan'],['minskin','stone'],[3,0,'warrior']], stone_kuangzhanshi:['male','qun',2,['warrior_baoluan'],['minskin','stone'],[3,1,'warrior']],
stone_zhujiashi:['male','qun',2,['warrior_zhujia'],['minskin','stone'],[2,1,'warrior']], stone_zhujiashi:['male','qun',2,['warrior_zhujia'],['minskin','stone'],[2,1,'warrior']],
stone_jiangong:['male','qun',2,['warrior_jiangong'],['minskin','stone'],[2,1,'warrior']], stone_jiangong:['male','qun',2,['warrior_jiangong'],['minskin','stone'],[2,2,'warrior']],
stone_chidunshinv:['female','qun',4,['warrior_tidun'],['minskin','stone'],[5,4,'warrior']], stone_chidunshinv:['female','qun',4,['warrior_tidun'],['minskin','stone'],[5,4,'warrior']],
stone_yuanhou:['male','qun',4,['chaofeng'],['minskin','stone'],[4,2,'warrior']], stone_yuanhou:['male','qun',2,['chaofeng'],['minskin','stone'],[2,3,'warrior']],
stone_daomufeizei:['male','qun',3,['rogue_xunbao'],['minskin','stone'],[4,3,'rogue']], stone_daomufeizei:['male','qun',3,['rogue_xunbao'],['minskin','stone'],[4,3,'rogue']],
stone_qiezei:['male','qun',2,['rogue_touqie'],['minskin','stone'],[2,2,'rogue']], stone_qiezei:['male','qun',2,['rogue_touqie'],['minskin','stone'],[2,2,'rogue']],
@ -431,7 +464,7 @@ mode.stone={
stone_zhucangzhe:['male','wei',1,['stone_zhucangzhe1'],['minskin','stone'],[1,2]], stone_zhucangzhe:['male','wei',1,['stone_zhucangzhe1'],['minskin','stone'],[1,2]],
stone_huoqiangshou:['male','wei',3,['stone_huoqiangshou1'],['minskin','stone'],[3,1]], stone_huoqiangshou:['male','wei',3,['stone_huoqiangshou1'],['minskin','stone'],[3,1]],
stone_lansaizhanshi:['male','shu',1,['stone_jixing'],['minskin','stone'],[1,2]], stone_lansaizhanshi:['male','shu',1,['stone_chongfeng'],['minskin','stone'],[1,2]],
stone_kutongsiseng:['male','shu',1,['stone_kutongsiseng1'],['minskin','stone'],[1,2]], stone_kutongsiseng:['male','shu',1,['stone_kutongsiseng1'],['minskin','stone'],[1,2]],
stone_yuanguanying:['male','shu',3,['stone_yuanguanying1'],['minskin','stone'],[3,1]], stone_yuanguanying:['male','shu',3,['stone_yuanguanying1'],['minskin','stone'],[3,1]],
@ -443,13 +476,13 @@ mode.stone={
stone_hanguangzhizhe:['male','qun',2,['stone_hanguangzhizhe1'],['minskin','stone'],[2,2]], stone_hanguangzhizhe:['male','qun',2,['stone_hanguangzhizhe1'],['minskin','stone'],[2,2]],
stone_aihaozhihun:['male','qun',3,['stone_aihaozhihun1'],['minskin','stone'],[3,1]], stone_aihaozhihun:['male','qun',3,['stone_aihaozhihun1'],['minskin','stone'],[3,1]],
stone_fennuxiaoji:['male','qun',1,['stone_fennuxiaoji1'],['minskin','stone'],[1,1]], stone_fennuxiaoji:['male','qun',1,['stone_fennuxiaoji1'],['minskin','stone'],[1,2]],
stone_juxingchanchu:['male','qun',2,['stone_juxingchanchu1'],['minskin','stone'],[2,1]], stone_juxingchanchu:['male','qun',2,['stone_juxingchanchu1'],['minskin','stone'],[2,1]],
stone_wuyi:['male','qun',1,['jijiu'],['minskin','stone'],[2,2]], stone_wuyi:['male','qun',1,['jijiu'],['minskin','stone'],[2,2]],
stone_langren:['male','qun',1,['stone_qianxing'],['minskin','stone'],[1,2]], stone_langren:['male','qun',1,['stone_qianxing'],['minskin','stone'],[1,2]],
stone_shishigui:['male','qun',2,['stone_shishigui1'],['minskin','stone'],[2,1]], stone_shishigui:['male','qun',2,['stone_shishigui1'],['minskin','stone'],[2,1]],
stone_fatiaozhuru:['female','qun',1,['stone_fatiaozhuru1'],['minskin','stone'],[1,1]], stone_fatiaozhuru:['female','qun',1,['stone_fatiaozhuru1'],['minskin','stone'],[1,2]],
stone_mingguangjisi:['female','wu',2,['shushen'],['minskin','stone'],[2,1]], stone_mingguangjisi:['female','wu',2,['shushen'],['minskin','stone'],[2,1]],
stone_nianqingjisi:['female','wei',2,['stone_zhufu'],['minskin','stone'],[2,1]], stone_nianqingjisi:['female','wei',2,['stone_zhufu'],['minskin','stone'],[2,1]],
stone_aomishouwei:['female','qun',1,['biyue'],['minskin','stone'],[2,2]], stone_aomishouwei:['female','qun',1,['biyue'],['minskin','stone'],[2,2]],
@ -457,11 +490,11 @@ mode.stone={
stone_zhiyuzhe:['female','qun',3,['stone_zhiyu'],['minskin','stone'],[3,1]], stone_zhiyuzhe:['female','qun',3,['stone_zhiyu'],['minskin','stone'],[3,1]],
stone_mafengzhuru:['female','qun',1,['stone_mafengzhuru1'],['minskin','stone'],[1,2]], stone_mafengzhuru:['female','qun',1,['stone_mafengzhuru1'],['minskin','stone'],[1,2]],
stone_shumiao:['none','wu',1,[],['minskin','stone','stonehidden'],[1,2]], stone_shumiao:['none','wu',1,[],['minskin','stone','stonehidden'],[1,1]],
stone_shuren:['none','wu',2,['stone_jixing','stone_zibao'],['minskin','stone','stonehidden'],[2,2]], stone_shuren:['none','wu',2,['stone_chongfeng','stone_zibao'],['minskin','stone','stonehidden'],[2,2]],
stone_youlinglang:['none','qun',2,['chaofeng'],['minskin','stone','stonehidden'],[2,2]], stone_youlinglang:['none','qun',2,['chaofeng'],['minskin','stone','stonehidden'],[2,2]],
stone_shengguanghuwei:['female','qun',2,['priest_shengguang'],['minskin','stone','stonehidden'],[1,1]], stone_shengguanghuwei:['female','qun',2,['priest_shengguang'],['minskin','stone','stonehidden'],[1,1]],
stone_liegou:['none','qun',1,['stone_jixing'],['minskin','stone','stonehidden'],[1,2]], stone_liegou:['none','qun',1,['stone_chongfeng'],['minskin','stone','stonehidden'],[1,2]],
stone_mianyang:['none','qun',1,['mage_mianyang'],['minskin','stone','stonehidden'],[1,0]], stone_mianyang:['none','qun',1,['mage_mianyang'],['minskin','stone','stonehidden'],[1,0]],
stone_qingwa:['none','wu',1,['shaman_qingwa'],['minskin','stone','stonehidden'],[1,0]], stone_qingwa:['none','wu',1,['shaman_qingwa'],['minskin','stone','stonehidden'],[1,0]],
@ -491,14 +524,7 @@ mode.stone={
}, },
modPhaseDraw:function(player,num){ modPhaseDraw:function(player,num){
if(_status.mode=='deck'&&!player.isMin()){ if(_status.mode=='deck'&&!player.isMin()){
if(num>1){ player.draw(num,{drawDeck:1});
player.draw(num-1,false);
}
if(num>0){
player.directgain(player.getDeckCards(),'draw');
}
player.$draw(num);
game.delay();
} }
else{ else{
player.draw(num); player.draw(num);
@ -689,6 +715,7 @@ mode.stone={
},500); },500);
ui.arena.style.top=''; ui.arena.style.top='';
ui.arena.style.transform=''; ui.arena.style.transform='';
ui.arena.style.opacity='';
ui.system.style.opacity=''; ui.system.style.opacity='';
ui.auto.show(); ui.auto.show();
ui.pause.show(); ui.pause.show();
@ -778,6 +805,13 @@ mode.stone={
var sel = window.getSelection(); var sel = window.getSelection();
sel.removeAllRanges(); sel.removeAllRanges();
}; };
rename.onkeydown=function(e){
if(e.keyCode==13){
e.preventDefault();
e.stopPropagation();
rename.blur();
}
};
var removeLine=function() { var removeLine=function() {
rename.innerHTML=rename.innerHTML.replace(/\n|<br>/g,''); rename.innerHTML=rename.innerHTML.replace(/\n|<br>/g,'');
}; };
@ -817,11 +851,11 @@ mode.stone={
} }
} }
for(var i=0;i<lib.careerList.length;i++){ for(var i=0;i<lib.careerList.length;i++){
result['职业法术_link:'+lib.careerList[i]]=careerspell[lib.careerList[i]]; result['法术·'+get.translation(lib.careerList[i])+'_link:'+lib.careerList[i]]=careerspell[lib.careerList[i]];
result['职业随从_link:'+lib.careerList[i]]=career[lib.careerList[i]]; result['随从·'+get.translation(lib.careerList[i])+'_link:'+lib.careerList[i]]=career[lib.careerList[i]];
} }
result['中立法术']=ns; result['法术·中立']=ns;
result['中立随从']=nl; result['随从·中立']=nl;
return result; return result;
}}); }});
for(var i=0;i<cardDialog.buttons.length;i++){ for(var i=0;i<cardDialog.buttons.length;i++){
@ -844,6 +878,15 @@ mode.stone={
} }
} }
var updateCardDialog=function(button){ var updateCardDialog=function(button){
if(!deckContainer.classList.contains('shown')){
for(var i=0;i<cardDialog.buttons.length;i++){
cardDialog.buttons[i].classList.remove('unselectable');
}
for(var i=0;i<cardDialog.content.childElementCount;i++){
cardDialog.content.childNodes[i].classList.remove('nodisplay');
}
return;
}
if(deckContainer.childElementCount>=30){ if(deckContainer.childElementCount>=30){
for(var i=0;i<cardDialog.buttons.length;i++){ for(var i=0;i<cardDialog.buttons.length;i++){
cardDialog.buttons[i].classList.add('unselectable'); cardDialog.buttons[i].classList.add('unselectable');
@ -896,6 +939,7 @@ mode.stone={
updateCardDialog(); updateCardDialog();
}; };
var clickButton=function(){ var clickButton=function(){
if(!deckContainer.classList.contains('shown')) return;
if(!this.classList.contains('unselectable')){ if(!this.classList.contains('unselectable')){
var card=ui.create.card(null,'noclick').init(this.link).listen(clickCard); var card=ui.create.card(null,'noclick').init(this.link).listen(clickCard);
deckContainer.insertBefore(card,deckContainer.firstChild); deckContainer.insertBefore(card,deckContainer.firstChild);
@ -968,6 +1012,11 @@ mode.stone={
for(var i=0;i<deckContainer.childElementCount;i++){ for(var i=0;i<deckContainer.childElementCount;i++){
editing.content.deck.push(deckContainer.childNodes[i].name); editing.content.deck.push(deckContainer.childNodes[i].name);
} }
editing.content.deck.sort(function(a,b){
if(a>b) return 1;
if(a<b) return -1;
return 0;
});
if(editing.origin){ if(editing.origin){
for(var i=0;i<listContainer.childElementCount;i++){ for(var i=0;i<listContainer.childElementCount;i++){
if(listContainer.childNodes[i].name==editing.origin){ if(listContainer.childNodes[i].name==editing.origin){
@ -989,6 +1038,7 @@ mode.stone={
game.save('deckList',lib.storage.deckList); game.save('deckList',lib.storage.deckList);
listContainer.style.transform=''; listContainer.style.transform='';
deckContainer.classList.remove('shown'); deckContainer.classList.remove('shown');
updateCardDialog();
} }
e.stopPropagation(); e.stopPropagation();
}); });
@ -1003,12 +1053,14 @@ mode.stone={
}()); }());
ui.deckcontrol=ui.create.system('卡组管理',function(){ ui.deckcontrol=ui.create.system('卡组管理',function(){
if(lib.config.low_performance){ // if(lib.config.low_performance){
ui.arena.style.transform='translateY('+ui.window.offsetHeight+'px)'; // ui.arena.style.transform='translateY('+ui.window.offsetHeight+'px)';
} // }
else{ // else{
ui.arena.style.top='100%'; // ui.arena.style.top='100%';
} // }
// ui.arena.style.transform='scale(0.6)';
ui.arena.style.opacity=0;
ui.system.style.opacity=0; ui.system.style.opacity=0;
ui.window.appendChild(ui.deckBuilder); ui.window.appendChild(ui.deckBuilder);
if(ui.deckBuilder.timeout){ if(ui.deckBuilder.timeout){
@ -1051,6 +1103,11 @@ mode.stone={
game.players[i].classList.add('noidentity'); game.players[i].classList.add('noidentity');
} }
game.enemy=game.me.next; game.enemy=game.me.next;
if(lib.storage.test){
lib.config.game_speed='vfast';
_status.auto=true;
ui.auto.classList.add('glow');
}
game.chooseCharacter(); game.chooseCharacter();
"step 3" "step 3"
if(_status.mode=='deck'){ if(_status.mode=='deck'){
@ -1112,9 +1169,9 @@ mode.stone={
event.trigger('gameStart'); event.trigger('gameStart');
if(_status.mode=='deck'){ if(_status.mode=='deck'){
game.gameDraw(game.me,2); game.gameDraw(game.me,3);
game.me.directgain(game.me.getDeckCards(2)); game.me.drawDeck(1,false);
game.me.next.directgain(game.me.next.getDeckCards(2)); game.me.next.drawDeck(1,false);
} }
else{ else{
game.gameDraw(game.me); game.gameDraw(game.me);
@ -1334,6 +1391,12 @@ mode.stone={
game.me.init(_status.mylist.shift()); game.me.init(_status.mylist.shift());
game.enemy.init(_status.enemylist.shift()); game.enemy.init(_status.enemylist.shift());
} }
game.me.maxHp++;
game.me.hp++;
game.me.update();
game.enemy.maxHp++;
game.enemy.hp++;
game.enemy.update();
if(_status.mode=='deck'){ if(_status.mode=='deck'){
get.deck(game.me,_status.deck.shift()); get.deck(game.me,_status.deck.shift());
get.deck(game.enemy,'random'); get.deck(game.enemy,'random');
@ -1347,6 +1410,7 @@ mode.stone={
if(name=='random'||name.indexOf('random:')==0){ if(name=='random'||name.indexOf('random:')==0){
if(name=='random'){ if(name=='random'){
career=lib.careerList.randomGet(); career=lib.careerList.randomGet();
name=name+':'+career;
} }
else{ else{
career=name.slice(7); career=name.slice(7);
@ -1508,7 +1572,7 @@ mode.stone={
}, },
spell_naluzhiguang:{ spell_naluzhiguang:{
type:'stonecard', type:'stonecard',
stoneact:2, stoneact:1,
career:'priest', career:'priest',
enable:true, enable:true,
fullimage:true, fullimage:true,
@ -1587,14 +1651,14 @@ mode.stone={
spell_nuxi:{ spell_nuxi:{
type:'stonecard', type:'stonecard',
stoneact:2, stoneact:3,
career:'warrior', career:'warrior',
enable:true, enable:true,
fullimage:true, fullimage:true,
filterTarget:true, filterTarget:true,
content:function(){ content:function(){
target.damage(); target.damage();
player.changeHujia(); player.changeHujia(2);
}, },
ai:{ ai:{
order:7, order:7,
@ -1610,7 +1674,7 @@ mode.stone={
}, },
spell_dunpaimengji:{ spell_dunpaimengji:{
type:'stonecard', type:'stonecard',
stoneact:1, stoneact:2,
career:'warrior', career:'warrior',
enable:function(event,player){ enable:function(event,player){
return player.hujia>0; return player.hujia>0;
@ -1798,7 +1862,7 @@ mode.stone={
}, },
spell_guanmenfanggou:{ spell_guanmenfanggou:{
type:'stonecard', type:'stonecard',
stoneact:2, stoneact:3,
career:'hunter', career:'hunter',
enable:function(event,player){ enable:function(event,player){
return player.getEnemy().countFellow()>0; return player.getEnemy().countFellow()>0;
@ -1840,7 +1904,8 @@ mode.stone={
selectTarget:-1, selectTarget:-1,
content:function(){ content:function(){
var list=['stone_misha','stone_leiouke','stone_huofu', var list=['stone_misha','stone_leiouke','stone_huofu',
'stone_caoyuanshi','stone_qingwa','stone_mianyang','stone_jiewangzhu']; 'stone_caoyuanshi','stone_qingwa','stone_mianyang','stone_jiewangzhu',
'stone_fennuxiaoji','stone_juxingchanchu','stone_yanjingshe'];
player.addFellowAuto(list.randomGet()); player.addFellowAuto(list.randomGet());
}, },
ai:{ ai:{
@ -2042,6 +2107,7 @@ mode.stone={
useful:5, useful:5,
result:{ result:{
player:function(player,target){ player:function(player,target){
if(player==target) return -10;
var list=[]; var list=[];
var maxHp=0; var maxHp=0;
for(var i=0;i<game.players.length;i++){ for(var i=0;i<game.players.length;i++){
@ -2121,20 +2187,21 @@ mode.stone={
spell_yexingchengzhang:{ spell_yexingchengzhang:{
type:'stonecard', type:'stonecard',
fullimage:true, fullimage:true,
enable:true, chongzhu:true,
stoneact:0, enable:function(event,player){
return !player.skills.contains('druid_yexingchengzhang');
},
stoneact:2,
career:'druid', career:'druid',
filterTarget:function(card,player,target){ filterTarget:function(card,player,target){
return target==player; return target==player;
}, },
selectTarget:-1, selectTarget:-1,
content:function(){ content:function(){
player.actused--; player.addSkill('druid_yexingchengzhang');
player.updateActCount();
player.draw();
}, },
ai:{ ai:{
order:9, order:2,
value:5, value:5,
useful:5, useful:5,
result:{ result:{
@ -2404,7 +2471,7 @@ mode.stone={
target.damage(); target.damage();
}, },
contentAfter:function(){ contentAfter:function(){
player.gain(player.getDeckCards(),'draw'); player.drawDeck();
}, },
ai:{ ai:{
order:8, order:8,
@ -2548,11 +2615,13 @@ mode.stone={
spell_fuchouzhinu:{ spell_fuchouzhinu:{
type:'stonecard', type:'stonecard',
fullimage:true, fullimage:true,
enable:true, enable:function(event,player){
stoneact:5, return player.getEnemy().countFellow()>0;
},
stoneact:4,
career:'paladin', career:'paladin',
filterTarget:function(card,player,target){ filterTarget:function(card,player,target){
return target.side!=player.side; return target.side!=player.side&&target.isMin();
}, },
selectTarget:-1, selectTarget:-1,
multitarget:true, multitarget:true,
@ -2622,7 +2691,7 @@ mode.stone={
target.draw(2); target.draw(2);
}, },
ai:{ ai:{
order:5, order:4,
value:5, value:5,
useful:5, useful:5,
result:{ result:{
@ -2672,7 +2741,7 @@ mode.stone={
filterTarget:true, filterTarget:true,
content:function(){ content:function(){
target.damage(); target.damage();
player.gain(player.getDeckCards(),'draw'); player.drawDeck();
}, },
ai:{ ai:{
order:8, order:8,
@ -2744,7 +2813,7 @@ mode.stone={
type:'stonecard', type:'stonecard',
fullimage:true, fullimage:true,
enable:true, enable:true,
stoneact:2, stoneact:1,
career:'shaman', career:'shaman',
filterTarget:function(card,player,target){ filterTarget:function(card,player,target){
return target.isMin(); return target.isMin();
@ -2755,7 +2824,7 @@ mode.stone={
target.noPhaseDelay=true; target.noPhaseDelay=true;
}, },
ai:{ ai:{
order:5, order:7,
value:5, value:5,
useful:5, useful:5,
result:{ result:{
@ -2953,7 +3022,7 @@ mode.stone={
type:'stonecard', type:'stonecard',
fullimage:true, fullimage:true,
enable:true, enable:true,
stoneact:2, stoneact:1,
career:'mage', career:'mage',
filterTarget:function(card,player,target){ filterTarget:function(card,player,target){
return target.isMin(); return target.isMin();
@ -2963,7 +3032,7 @@ mode.stone={
target.init('stone_mianyang'); target.init('stone_mianyang');
}, },
ai:{ ai:{
order:5, order:7,
value:5, value:5,
useful:5, useful:5,
result:{ result:{
@ -2984,7 +3053,7 @@ mode.stone={
}, },
selectTarget:-1, selectTarget:-1,
content:function(){ content:function(){
player.gain(player.getDeckCards(2),'draw'); player.drawDeck(2);
}, },
ai:{ ai:{
order:0.5, order:0.5,
@ -3048,7 +3117,7 @@ mode.stone={
return 1-target.hp-target.num('h')/2; return 1-target.hp-target.num('h')/2;
} }
}, },
order:5 order:7
} }
}, },
spell_morizaihuo:{ spell_morizaihuo:{
@ -3096,7 +3165,7 @@ mode.stone={
target.loseMaxHp(target.maxHp-1); target.loseMaxHp(target.maxHp-1);
}, },
ai:{ ai:{
order:9, order:9.1,
result:{ result:{
target:function(player,target){ target:function(player,target){
if(target.hp>1) return -1; if(target.hp>1) return -1;
@ -3123,7 +3192,7 @@ mode.stone={
player.addFellow(target); player.addFellow(target);
}, },
ai:{ ai:{
order:9, order:9.5,
result:{ result:{
target:function(player,target){ target:function(player,target){
return -target.hp; return -target.hp;
@ -3149,7 +3218,7 @@ mode.stone={
target.addSkill('spell_anyingkuangluan_die'); target.addSkill('spell_anyingkuangluan_die');
}, },
ai:{ ai:{
order:9, order:9.5,
result:{ result:{
target:function(player,target){ target:function(player,target){
return -target.hp; return -target.hp;
@ -3235,9 +3304,7 @@ mode.stone={
fullimage:true, fullimage:true,
enable:true, enable:true,
stoneact:2, stoneact:2,
filterTarget:function(card,player,target){ filterTarget:true,
return target.isMin();
},
selectTarget:-1, selectTarget:-1,
multitarget:true, multitarget:true,
multiline:true, multiline:true,
@ -3287,26 +3354,32 @@ mode.stone={
spell_yanmie:{ spell_yanmie:{
type:'stonecard', type:'stonecard',
fullimage:true, fullimage:true,
enable:function(event,player){ enable:true,
return player.getEnemy().num('he')>0; stoneact:3,
},
stoneact:5,
selectTarget:-1, selectTarget:-1,
filterTarget:function(card,player,target){ filterTarget:function(card,player,target){
return target==player.getEnemy(); return target==player.getEnemy();
}, },
content:function(){ content:function(){
'step 0' "step 0"
target.chooseControl('discard_card','失去体力').ai=function(){ var targets=[player,target];
if(target.hp>=2&&(target.num('h','tao')||target.hp>=5)&&target.num('h')>2) return '失去体力'; event.cards=[targets[0].get('e'),targets[1].get('e')];
return 'discard_card'; targets[0].lose(event.cards[0],ui.special);
targets[1].lose(event.cards[1],ui.special);
if(event.cards[0].length) targets[0].$give(event.cards[0],targets[1]);
if(event.cards[1].length) targets[1].$give(event.cards[1],targets[0]);
"step 1"
var targets=[player,target];
for(var i=0;i<event.cards[1].length;i++){
targets[0].equip(event.cards[1][i]);
} }
'step 1' for(var i=0;i<event.cards[0].length;i++){
if(result.control=='discard_card'){ targets[1].equip(event.cards[0][i]);
target.discard(target.get('he'));
} }
else{ "step 2"
target.loseHp(2); var dh=target.num('h')-player.num('h');
if(dh>0){
player.draw(dh);
} }
}, },
ai:{ ai:{
@ -3314,7 +3387,13 @@ mode.stone={
value:5, value:5,
useful:5, useful:5,
result:{ result:{
target:-2 target:function(player,target){
var ne1=target.num('e'),ne2=player.num('e');
var nh1=target.num('h'),nh2=player.num('h');
if(nh1<nh2) nh1=nh2;
if(ne2-ne1<nh1-nh2+ne1-ne2) return -1;
return 0;
}
} }
} }
}, },
@ -3395,7 +3474,7 @@ mode.stone={
trigger:{source:'damageBegin'}, trigger:{source:'damageBegin'},
forced:true, forced:true,
filter:function(event,player){ filter:function(event,player){
return player.getLeader().skills.contains('spell_yemanpaoxiao'); return player.getLeader().skills.contains('spell_yemanpaoxiao')&&event.notLink();
}, },
content:function(){ content:function(){
trigger.num++; trigger.num++;
@ -3525,8 +3604,7 @@ mode.stone={
return event.player.isMin(); return event.player.isMin();
}, },
content:function(){ content:function(){
var target=player.getLeader(); player.getLeader().drawDeck();
target.gain(target.getDeckCards(),'draw');
} }
}, },
priest_shengguang:{ priest_shengguang:{
@ -3634,8 +3712,7 @@ mode.stone={
forced:true, forced:true,
unique:true, unique:true,
content:function(){ content:function(){
var target=player.getLeader(); player.getLeader().drawDeck();
target.gain(target.getDeckCards(),'draw');
} }
}, },
rogue_zhaomu:{ rogue_zhaomu:{
@ -4117,7 +4194,7 @@ mode.stone={
player.removeSkill('hunter_nuhou2'); player.removeSkill('hunter_nuhou2');
} }
}, },
stone_jixing:{ stone_chongfeng:{
trigger:{source:'fellow'}, trigger:{source:'fellow'},
forced:true, forced:true,
unique:true, unique:true,
@ -4191,6 +4268,19 @@ mode.stone={
} }
} }
}, },
druid_yexingchengzhang:{
trigger:{player:'phaseUseBegin'},
forced:true,
mark:true,
intro:{
content:'下个出牌阶段开始时获得三点额外行动值',
},
content:function(){
player.actused-=3;
player.updateActCount();
player.removeSkill('druid_yexingchengzhang');
}
},
druid_chengzhang:{ druid_chengzhang:{
trigger:{source:'fellow'}, trigger:{source:'fellow'},
forced:true, forced:true,
@ -4272,7 +4362,7 @@ mode.stone={
return event.player.career&&player.side==event.player.side; return event.player.career&&player.side==event.player.side;
}, },
content:function(){ content:function(){
trigger.player.gain(trigger.player.getDeckCards(),'draw'); trigger.player.drawDeck();
trigger.player.recover(); trigger.player.recover();
} }
}, },
@ -4307,7 +4397,7 @@ mode.stone={
trigger:{global:'damageBegin'}, trigger:{global:'damageBegin'},
forced:true, forced:true,
filter:function(event,player){ filter:function(event,player){
return event.source&&event.source!=player&&player.side==event.source.side; return event.source&&event.source!=player&&player.side==event.source.side&&event.notLink();
}, },
content:function(){ content:function(){
trigger.num++ trigger.num++
@ -4386,14 +4476,14 @@ mode.stone={
enable:'phaseUse', enable:'phaseUse',
filter:function(event,player){ filter:function(event,player){
if(player.career!='warlock') return false; if(player.career!='warlock') return false;
if(player.getActCount()+2>=player.actcount) return false; if(player.getActCount()+2>player.actcount) return false;
return true; return true;
}, },
usable:1, usable:1,
content:function(){ content:function(){
player.actused+=2; player.actused+=2;
player.updateActCount(); player.updateActCount();
player.gain(player.getDeckCards(2),'draw'); player.drawDeck(2);
event.parent.career='warlock'; event.parent.career='warlock';
}, },
ai:{ ai:{
@ -4433,6 +4523,7 @@ mode.stone={
_warrior_skill:{ _warrior_skill:{
enable:'phaseUse', enable:'phaseUse',
filter:function(event,player){ filter:function(event,player){
if(player.hujia>=5) return false;
if(player.career!='warrior') return false; if(player.career!='warrior') return false;
if(player.getActCount()+2>player.actcount) return false; if(player.getActCount()+2>player.actcount) return false;
return true; return true;
@ -4570,6 +4661,9 @@ mode.stone={
} }
'step 1' 'step 1'
game.delay(); game.delay();
},
ai:{
threaten:2
} }
}, },
shaman_fali:{ shaman_fali:{
@ -5254,7 +5348,7 @@ mode.stone={
priest_shengguang_info:'每当一名随从获得治疗,摸一张牌', priest_shengguang_info:'每当一名随从获得治疗,摸一张牌',
spell_nuxi:'怒袭', spell_nuxi:'怒袭',
spell_nuxi_info:'造成一点伤害,获得点护甲', spell_nuxi_info:'造成一点伤害,获得点护甲',
spell_dunpaimengji:'盾牌猛击', spell_dunpaimengji:'盾牌猛击',
spell_dunpaimengji_info:'对一名随从造成等同于你护甲值的伤害', spell_dunpaimengji_info:'对一名随从造成等同于你护甲值的伤害',
spell_zhansha:'斩杀', spell_zhansha:'斩杀',
@ -5272,7 +5366,7 @@ mode.stone={
spell_kuaisusheji_info:'造成一点伤害,摸一张牌', spell_kuaisusheji_info:'造成一点伤害,摸一张牌',
spell_guanmenfanggou:'关门放狗', spell_guanmenfanggou:'关门放狗',
spell_guanmenfanggou_info:'每有一名敌方随从,便召唤一只猎狗', spell_guanmenfanggou_info:'每有一名敌方随从,便召唤一只猎狗',
spell_zhaohuanchongwu:'召唤宠物', spell_zhaohuanchongwu:'动物伙伴',
spell_zhaohuanchongwu_info:'随机召唤一只野兽', spell_zhaohuanchongwu_info:'随机召唤一只野兽',
spell_zidanshangtang:'子弹上膛', spell_zidanshangtang:'子弹上膛',
spell_zidanshangtang_info:'随机获得一张猎人职业法术牌,并获得技能【上膛】直到回合结束', spell_zidanshangtang_info:'随机获得一张猎人职业法术牌,并获得技能【上膛】直到回合结束',
@ -5304,13 +5398,18 @@ mode.stone={
spell_hengsao:'横扫', spell_hengsao:'横扫',
spell_hengsao_info:'对一名敌方角色造成两点伤害,然后对其他敌方角色造成一点伤害', spell_hengsao_info:'对一名敌方角色造成两点伤害,然后对其他敌方角色造成一点伤害',
spell_yexingchengzhang:'野性成长', spell_yexingchengzhang:'野性成长',
spell_yexingchengzhang_info:'获得一点行动值,摸一张牌', spell_yexingchengzhang_info:'下个出牌阶段开始时获得三点额外行动值',
spell_ziranzhili:'自然之力', spell_ziranzhili:'自然之力',
spell_ziranzhili_info:'召唤三个树人,树人在其回合结束后死亡', spell_ziranzhili_info:'召唤三个树人,树人在其回合结束后死亡',
spell_yemanpaoxiao:'野蛮咆哮', spell_yemanpaoxiao:'野蛮咆哮',
spell_yemanpaoxiao_bg:'咆',
spell_yemanpaoxiao2:'咆哮', spell_yemanpaoxiao2:'咆哮',
spell_yemanpaoxiao_info:'所有友方角色造成的伤害+1直到你的下个回合开始', spell_yemanpaoxiao_info:'所有友方角色造成的伤害+1直到你的下个回合开始',
druid_yexingchengzhang:'成长',
druid_yexingchengzhang_bg:'长',
druid_yexingchengzhang_info:'下个出牌阶段开始时获得三点额外行动值',
stone_shumiao:'树苗', stone_shumiao:'树苗',
stone_shuren:'树人', stone_shuren:'树人',
stone_zibao:'自爆', stone_zibao:'自爆',
@ -5327,12 +5426,12 @@ mode.stone={
spell_cisha:'刺杀', spell_cisha:'刺杀',
spell_cisha_info:'杀死一名随从', spell_cisha_info:'杀死一名随从',
spell_modaoyou:'磨刀油', spell_modaoyou:'磨刀油',
spell_modaoyou_info:'令你下一次剑刃乱舞造成的伤害+1令一名随机友方角色摸两张牌', spell_modaoyou_info:'令你下一次剑刃乱舞造成的伤害+1令一名随机友方随从摸两张牌',
spell_fengxian:'奉献', spell_fengxian:'奉献',
spell_fengxian_info:'对所有敌方角色造成一点伤害', spell_fengxian_info:'对所有敌方角色造成一点伤害',
spell_fuchouzhinu:'复仇之怒', spell_fuchouzhinu:'复仇之怒',
spell_fuchouzhinu_info:'造成5点伤害随机分配到所有敌上', spell_fuchouzhinu_info:'造成5点伤害随机分配到所有敌方随从上',
spell_shengliaoshu:'圣疗术', spell_shengliaoshu:'圣疗术',
spell_shengliaoshu_info:'恢复两点体力,摸两张牌', spell_shengliaoshu_info:'恢复两点体力,摸两张牌',
spell_fennuzhichui:'愤怒之锤', spell_fennuzhichui:'愤怒之锤',
@ -5520,8 +5619,8 @@ mode.stone={
stone_liebao:'猎豹', stone_liebao:'猎豹',
stone_zongxiong:'棕熊', stone_zongxiong:'棕熊',
stone_jixing:'疾行', stone_chongfeng:'冲锋',
stone_jixing_info:'你出场时,立即将武将牌翻至正面', stone_chongfeng_info:'你出场时,立即将武将牌翻至正面',
druid_nuhuo:'怒火', druid_nuhuo:'怒火',
druid_nuhuo_info:'每当己方主将使用一次职业技能,便对一名随机敌人造成一点伤害', druid_nuhuo_info:'每当己方主将使用一次职业技能,便对一名随机敌人造成一点伤害',
druid_chengzhang:'成长', druid_chengzhang:'成长',
@ -5566,7 +5665,7 @@ mode.stone={
_priest_skill:'治疗', _priest_skill:'治疗',
_priest_skill_info:'回复一点体力', _priest_skill_info:'回复一点体力',
_warrior_skill:'战甲', _warrior_skill:'战甲',
_warrior_skill_info:'获得一点护甲', _warrior_skill_info:'获得一点护甲不能超过5点',
_warlock_skill:'作法', _warlock_skill:'作法',
_warlock_skill_info:'从牌库中获得两张牌', _warlock_skill_info:'从牌库中获得两张牌',
_rogue_skill:'出鞘', _rogue_skill:'出鞘',
@ -5657,7 +5756,7 @@ mode.stone={
stone_fatiaozhuru1:'发条', stone_fatiaozhuru1:'发条',
stone_fatiaozhuru1_info:'回合结束阶段,若你没有手牌,你摸两张牌', stone_fatiaozhuru1_info:'回合结束阶段,若你没有手牌,你摸两张牌',
stonesha:'冲锋', stonesha:'进攻',
stonesha_info:'锁定技,你的装备牌均视为杀', stonesha_info:'锁定技,你的装备牌均视为杀',
stoneshan:'格挡', stoneshan:'格挡',
stoneshan_info:'锁定技,你的随从牌均视为闪', stoneshan_info:'锁定技,你的随从牌均视为闪',
@ -5682,13 +5781,13 @@ mode.stone={
spell_wangzhezhufu:'王者祝福', spell_wangzhezhufu:'王者祝福',
spell_wangzhezhufu_info:'令一名随从增加两点体力上限不能超过5回复两点体力并摸两张牌', spell_wangzhezhufu_info:'令一名随从增加两点体力上限不能超过5回复两点体力并摸两张牌',
spell_diyulieyan:'地狱烈焰', spell_diyulieyan:'地狱烈焰',
spell_diyulieyan_info:'令场上所有随从失去一点体力', spell_diyulieyan_info:'所有角色失去一点体力',
spell_chenmo:'沉默', spell_chenmo:'沉默',
spell_chenmo_info:'弃置一名随从的所有牌并令其体力上限减至1', spell_chenmo_info:'弃置一名随从的所有牌并令其体力上限减至1',
spell_zhiliaoshui:'治疗水', spell_zhiliaoshui:'治疗水',
spell_zhiliaoshui_info:'出牌阶段对自己使用,恢复两点体力值;或于濒死阶段对一名角色使用,令目标恢复一点体力', spell_zhiliaoshui_info:'出牌阶段对自己使用,恢复两点体力值;或于濒死阶段对一名角色使用,令目标恢复一点体力',
spell_yanmie:'湮灭', spell_yanmie:'黑暗契约',
spell_yanmie_info:'令敌方主将选择一项:弃置所有牌或失去两点体力', spell_yanmie_info:'交换你与敌方主将的装备区,并摸若干张牌直到你的手牌数与敌方主将相等',
spell_xiaoshi:'消失', spell_xiaoshi:'消失',
spell_xiaoshi_info:'令敌方主将将所有装备区内的牌收入手牌,并弃置其若干张手牌,直到其手牌数与你相等', spell_xiaoshi_info:'令敌方主将将所有装备区内的牌收入手牌,并弃置其若干张手牌,直到其手牌数与你相等',

View File

@ -87,7 +87,7 @@ mode.versus={
ui.create.cards(); ui.create.cards();
game.finishCards(); game.finishCards();
ui.auto.hide(); // ui.auto.hide();
ui.wuxie.hide(); ui.wuxie.hide();
game.delay(); game.delay();
"step 2" "step 2"
@ -284,6 +284,7 @@ mode.versus={
_status.list=list; _status.list=list;
var choice=(lib.storage.choice=='∞')?list.length:lib.storage.choice; var choice=(lib.storage.choice=='∞')?list.length:lib.storage.choice;
event.dialog=ui.create.dialog('选择角色',[list.slice(0,choice),'character']); event.dialog=ui.create.dialog('选择角色',[list.slice(0,choice),'character']);
event.dialog.classList.add('fixed');
// for(var i=0;i<event.dialog.buttons.length;i++){ // for(var i=0;i<event.dialog.buttons.length;i++){
// event.dialog.buttons[i].style.transform='scale(0.95)'; // event.dialog.buttons[i].style.transform='scale(0.95)';
// } // }
@ -308,9 +309,17 @@ mode.versus={
} }
if(!ui.cheat&&get.config('change_choice')) if(!ui.cheat&&get.config('change_choice'))
ui.create.cheat(); ui.create.cheat();
event.fill=ui.create.control('补全',function(){ if(lib.storage.test){
lib.config.game_speed='vfast';
_status.auto=true;
ui.auto.classList.add('glow');
setTimeout(function(){
event.switchToAuto();
},500);
}
event.switchToAuto=function(){
delete _status.choosefinished; delete _status.choosefinished;
arguments[1].parentNode.close(); event.fill.close();
var buttons=_status.event.dialog.buttons.slice(0); var buttons=_status.event.dialog.buttons.slice(0);
buttons.randomSort(); buttons.randomSort();
for(var i=0;i<buttons.length;i++){ for(var i=0;i<buttons.length;i++){
@ -336,7 +345,8 @@ mode.versus={
dialog.close(); dialog.close();
if(ui.confirm) ui.confirm.close(); if(ui.confirm) ui.confirm.close();
game.resume(); game.resume();
}); };
event.fill=ui.create.control('补全',event.switchToAuto);
event.custom.replace.button=function(button){ event.custom.replace.button=function(button){
if(_status.choose_enemy){ if(_status.choose_enemy){
if(button.classList.contains('glow')||button.classList.contains('selectedx')||_status.choosefinished) return; if(button.classList.contains('glow')||button.classList.contains('selectedx')||_status.choosefinished) return;
@ -479,7 +489,7 @@ mode.versus={
_status.totalCount=_status.friend.length; _status.totalCount=_status.friend.length;
_status.coinCoeff=get.coinCoeff(_status.friend); _status.coinCoeff=get.coinCoeff(_status.friend);
ui.auto.show(); // ui.auto.show();
ui.wuxie.show(); ui.wuxie.show();
ui.control.style.display='none'; ui.control.style.display='none';
setTimeout(function(){ setTimeout(function(){