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,
source2:event.source2
});
if(nevt.isMine()&&!trigger.multitarget){
if(event.current.isUnderControl(true)&&!_status.auto&&!trigger.multitarget){
if(trigger.targets.length>1&&!ui.tempnowuxie){
ui.tempnowuxie=ui.create.control('不无懈'+get.translation(trigger.card.name),ui.click.tempnowuxie);
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_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_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']],
@ -1422,14 +1422,14 @@ character.boss={
boss_shanbeng_info:'锁定技,当你死亡时,你令所有其他角色弃置其装备区内的所有牌',
boss_zhuoguiquxie:'捉鬼驱邪',
boss_bianshen:'变身',
boss_bianshen:'出场',
boss_bianshen_info:'游戏开始时,你随机变身为魑、魅、魍、魉中的一个',
boss_bianshen2:'变身',
boss_bianshen2_info:'你死亡后随机变身为牛头、马面中的一个',
boss_bianshen3:'变身',
boss_bianshen3_info:'你死亡后随机变身为白无常、黑无常中的一个',
boss_bianshen4:'变身',
boss_bianshen4_info:'你死亡后随机变身为罗刹、夜叉中的一个',
boss_bianshen2:'后援',
boss_bianshen2_info:'你死亡后,随机召唤牛头、马面中的一个',
boss_bianshen3:'后援',
boss_bianshen3_info:'你死亡后,随机召唤白无常、黑无常中的一个',
boss_bianshen4:'后援',
boss_bianshen4_info:'你死亡后,随机召唤罗刹、夜叉中的一个',
zhanjiang:'斩将',
zhanjiang_info:'准备阶段开始时,如果其他角色的装备区内有【青釭剑】,你可以获得之',

View File

@ -516,7 +516,7 @@ character.diy={
trigger:{source:'damageBegin'},
forced:true,
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(){
trigger.num++;
@ -672,7 +672,6 @@ character.diy={
diy_hanlong:'韩龙',
diy_luxun:'陆伯言',
diy_yuji:'于吉',
diy_zhouyu:'神周瑜',
diy_zhouyu:'周公瑾',
diy_lukang:'陆抗',
diy_caiwenji:'蔡昭姬',

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -6,7 +6,7 @@ mode.boss={
if(this!=game.boss){
this.storage.boss_chongzheng=0;
}
if(game.bossinfo.checkResult&&game.bossinfo.checkResult()===false){
if(game.bossinfo.checkResult&&game.bossinfo.checkResult(this)===false){
return;
}
if(this==game.boss||game.players.length==1){
@ -206,6 +206,19 @@ mode.boss={
game.save('current',target.name);
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"
game.bossinfo=lib.boss.global;
for(var i in lib.boss[event.current.name]){
@ -313,6 +326,26 @@ mode.boss={
return uiintro;
},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.refresh(boss);
@ -607,8 +640,8 @@ mode.boss={
boss:{
boss_zhuoguiquxie:{
chongzheng:99,
checkResult:function(){
if(game.boss.name!='boss_yecha'&&game.boss.name!='boss_luocha'){
checkResult:function(player){
if(player==game.boss&&game.boss.name!='boss_yecha'&&game.boss.name!='boss_luocha'){
return false;
}
}
@ -655,6 +688,7 @@ mode.boss={
priority:100,
popup:false,
filter:function(event,player){
if(!get.config('single_control')) return false;
if(event.autochoose&&event.autochoose()) return false;
return player.isUnderControl();
},

View File

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

View File

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

View File

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