|
@ -1,5 +1,6 @@
|
||||||
1.5.7
|
1.5.7
|
||||||
对决模式改进
|
|
||||||
屏蔽强将选项
|
屏蔽强将选项
|
||||||
卡牌、卡背、体力条样式
|
卡牌、卡背、体力条样式
|
||||||
新武将(张鲁、士燮、马云騄、兀突骨、sp蔡文姬)
|
徐盛、步练师修改
|
||||||
|
新武将(5个SP武将、补全一将成名)
|
||||||
|
安卓精简版(去掉配音、DIY武将及卡牌)
|
||||||
|
|
|
@ -534,7 +534,7 @@ card.hearth={
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
order:4,
|
order:4,
|
||||||
value:[6,3],
|
value:[8,3],
|
||||||
useful:[6,3],
|
useful:[6,3],
|
||||||
result:{
|
result:{
|
||||||
target:function(player,target){
|
target:function(player,target){
|
||||||
|
@ -543,7 +543,7 @@ card.hearth={
|
||||||
var num=target.maxHp-target.hp;
|
var num=target.maxHp-target.hp;
|
||||||
if(num<1) return 0;
|
if(num<1) return 0;
|
||||||
if(num==1) return 1;
|
if(num==1) return 1;
|
||||||
if(target.hp==2) return 2.5;
|
if(target.hp==1) return 2.5;
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,6 +95,7 @@ card.standard={
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
event.trigger('shaMiss');
|
event.trigger('shaMiss');
|
||||||
|
event.responded=result;
|
||||||
}
|
}
|
||||||
"step 2"
|
"step 2"
|
||||||
if(result.bool==false&&!event.unhurt){
|
if(result.bool==false&&!event.unhurt){
|
||||||
|
@ -1122,7 +1123,7 @@ card.standard={
|
||||||
player.removeSkill('jiu');
|
player.removeSkill('jiu');
|
||||||
event.jiu=true;
|
event.jiu=true;
|
||||||
}
|
}
|
||||||
player.chooseToUse('是否发动青龙偃月刀?',{name:'sha'},trigger.target,-1);
|
player.chooseToUse('是否发动青龙偃月刀?',{name:'sha'},trigger.target,-1).logSkill='qinglong';
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('qinglong');
|
player.logSkill('qinglong');
|
||||||
|
@ -1154,9 +1155,11 @@ card.standard={
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseToDiscard('是否发动贯石斧?',2,'he',function(card){
|
var next=player.chooseToDiscard('是否发动贯石斧?',2,'he',function(card){
|
||||||
return player.get('e',{subtype:'equip1'}).contains(card)==false;
|
return player.get('e',{subtype:'equip1'}).contains(card)==false;
|
||||||
}).ai=
|
});
|
||||||
|
next.logSkill='guanshi_skill';
|
||||||
|
next.ai=
|
||||||
function(card){
|
function(card){
|
||||||
if(ai.get.attitude(player,trigger.target)<0){
|
if(ai.get.attitude(player,trigger.target)<0){
|
||||||
if(player.skills.contains('jiu')||
|
if(player.skills.contains('jiu')||
|
||||||
|
@ -1170,7 +1173,6 @@ card.standard={
|
||||||
};
|
};
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('guanshi_skill');
|
|
||||||
trigger.untrigger();
|
trigger.untrigger();
|
||||||
trigger.trigger('shaHit');
|
trigger.trigger('shaHit');
|
||||||
trigger._result.bool=false;
|
trigger._result.bool=false;
|
||||||
|
@ -1218,6 +1220,7 @@ card.standard={
|
||||||
bagua_skill:{
|
bagua_skill:{
|
||||||
trigger:{player:'chooseToRespondBegin'},
|
trigger:{player:'chooseToRespondBegin'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
|
if(event.responded) return false;
|
||||||
if(!event.filterCard({name:'shan'})) return false;
|
if(!event.filterCard({name:'shan'})) return false;
|
||||||
if(event.parent.player.num('s','unequip')) return false;
|
if(event.parent.player.num('s','unequip')) return false;
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -183,7 +183,7 @@ character.fire={
|
||||||
event.finish();
|
event.finish();
|
||||||
}
|
}
|
||||||
"step 2"
|
"step 2"
|
||||||
if(result.bool){
|
if(result.bool&&result.targets&&result.targets.length){
|
||||||
result.targets[0].damage(target);
|
result.targets[0].damage(target);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -60,7 +60,9 @@ character.gujian={
|
||||||
direct:true,
|
direct:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseToDiscard('是否弃置一张黑色牌使伤害+1?',{color:'black'}).ai=function(card){
|
var next=player.chooseToDiscard('是否弃置一张黑色牌使伤害+1?',{color:'black'});
|
||||||
|
next.logSkill='zhongji';
|
||||||
|
next.ai=function(card){
|
||||||
if(ai.get.attitude(player,trigger.player)<0){
|
if(ai.get.attitude(player,trigger.player)<0){
|
||||||
return 7-ai.get.value(card);
|
return 7-ai.get.value(card);
|
||||||
}
|
}
|
||||||
|
@ -68,7 +70,6 @@ character.gujian={
|
||||||
}
|
}
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('zhongji');
|
|
||||||
trigger.num++;
|
trigger.num++;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -120,12 +121,13 @@ character.gujian={
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseToDiscard('是否发动【戏蝶】?',[1,Math.min(3,player.num('h')-player.hp)]).ai=function(card){
|
var next=player.chooseToDiscard('是否发动【戏蝶】?',[1,Math.min(3,player.num('h')-player.hp)]);
|
||||||
|
next.ai=function(card){
|
||||||
return 6-ai.get.value(card);
|
return 6-ai.get.value(card);
|
||||||
}
|
}
|
||||||
|
next.logSkill='xidie';
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('xidie');
|
|
||||||
player.storage.xidie=result.cards.length;
|
player.storage.xidie=result.cards.length;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -380,7 +382,9 @@ character.gujian={
|
||||||
priority:-5,
|
priority:-5,
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseToDiscard('是否对'+get.translation(trigger.player)+'发动【晴岚】?','he').ai=function(card){
|
var next=player.chooseToDiscard('是否对'+get.translation(trigger.player)+'发动【晴岚】?','he');
|
||||||
|
next.logSkill='qinglan';
|
||||||
|
next.ai=function(card){
|
||||||
if(trigger.num>1||!trigger.source){
|
if(trigger.num>1||!trigger.source){
|
||||||
if(ai.get.attitude(player,trigger.player)>0){
|
if(ai.get.attitude(player,trigger.player)>0){
|
||||||
return 9-ai.get.value(card);
|
return 9-ai.get.value(card);
|
||||||
|
@ -403,7 +407,6 @@ character.gujian={
|
||||||
}
|
}
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('qinglan');
|
|
||||||
trigger.untrigger();
|
trigger.untrigger();
|
||||||
trigger.finish();
|
trigger.finish();
|
||||||
if(trigger.source){
|
if(trigger.source){
|
||||||
|
@ -644,15 +647,16 @@ character.gujian={
|
||||||
for(var i=0;i<event.targets.length;i++){
|
for(var i=0;i<event.targets.length;i++){
|
||||||
num+=ai.get.effect(event.targets[i],{name:'sha'},player,player);
|
num+=ai.get.effect(event.targets[i],{name:'sha'},player,player);
|
||||||
}
|
}
|
||||||
player.chooseToDiscard(function(card){
|
var next=player.chooseToDiscard(function(card){
|
||||||
return get.type(card)!='basic';
|
return get.type(card)!='basic';
|
||||||
},'是否发动千军?').ai=function(card){
|
},'是否发动千军?');
|
||||||
|
next.logSkill=['qianjun',event.targets];
|
||||||
|
next.ai=function(card){
|
||||||
if(num<=0) return -1;
|
if(num<=0) return -1;
|
||||||
return 7-ai.get.value(card);
|
return 7-ai.get.value(card);
|
||||||
}
|
}
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('qianjun',targets);
|
|
||||||
for(var i=0;i<targets.length;i++){
|
for(var i=0;i<targets.length;i++){
|
||||||
trigger.targets.add(targets[i]);
|
trigger.targets.add(targets[i]);
|
||||||
// targets[i].classList.add('selected');
|
// targets[i].classList.add('selected');
|
||||||
|
|
|
@ -24,13 +24,14 @@ character.hearth={
|
||||||
hs_bchillmaw:['male','wei',6,['hanshuang','bingshi'],['fullskin']],
|
hs_bchillmaw:['male','wei',6,['hanshuang','bingshi'],['fullskin']],
|
||||||
hs_malorne:['male','wu',3,['enze','chongsheng'],['fullskin']],
|
hs_malorne:['male','wu',3,['enze','chongsheng'],['fullskin']],
|
||||||
hs_malygos:['male','wei',4,['malymowang'],['fullskin']],
|
hs_malygos:['male','wei',4,['malymowang'],['fullskin']],
|
||||||
hs_xuefashi:['male','wei',2,['liehun','xjumo'],['fullskin']],
|
hs_xuefashi:['male','wei',3,['liehun','xjumo'],['fullskin']],
|
||||||
// hs_loatheb:['male','wei',2,[],['fullskin']],
|
// hs_loatheb:['male','wei',2,[],['fullskin']],
|
||||||
// hs_trueheart:['male','wei',2,[],['fullskin']],
|
// hs_trueheart:['male','wei',2,[],['fullskin']],
|
||||||
// hs_sainaliusi:['male','wei',2,[],['fullskin']],
|
// hs_sainaliusi:['male','wei',2,[],['fullskin']],
|
||||||
// hs_lrhonin:['male','wei',2,[],['fullskin']],
|
// hs_lrhonin:['male','wei',2,[],['fullskin']],
|
||||||
// hs_bolvar:['male','wei',2,[],['fullskin']],
|
// hs_bolvar:['male','wei',2,[],['fullskin']],
|
||||||
// hs_fuding:['male','wei',2,[],['fullskin']],
|
// hs_fuding:['male','wei',2,[],['fullskin']],
|
||||||
|
hs_ysera:['female','wu',4,['chenshui'],['fullskin']],
|
||||||
|
|
||||||
hs_ronghejuren:['male','shu',8,[],['fullskin']],
|
hs_ronghejuren:['male','shu',8,[],['fullskin']],
|
||||||
hs_edwin:['male','qun',3,['lianzhan'],['fullskin']],
|
hs_edwin:['male','qun',3,['lianzhan'],['fullskin']],
|
||||||
|
@ -49,8 +50,21 @@ character.hearth={
|
||||||
hs_malfurion:['hs_malorne'],
|
hs_malfurion:['hs_malorne'],
|
||||||
},
|
},
|
||||||
skill:{
|
skill:{
|
||||||
|
chenshui:{
|
||||||
|
trigger:{player:'phaseEnd'},
|
||||||
|
frequent:true,
|
||||||
|
content:function(){
|
||||||
|
var list=['mengjing_feicuiyoulong','mengjing_huanxiaojiemei',
|
||||||
|
'mengjing_suxing','mengjing_mengye','mengjing_mengjing'];
|
||||||
|
player.gain(game.createCard(list.randomGet()));
|
||||||
|
player.$draw();
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
threaten:2
|
||||||
|
}
|
||||||
|
},
|
||||||
liehun:{
|
liehun:{
|
||||||
trigger:{player:'phaseUseBegin'},
|
trigger:{player:'phaseEnd'},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player.num('h',{type:'basic'})<player.num('h');
|
return player.num('h',{type:'basic'})<player.num('h');
|
||||||
|
@ -78,7 +92,7 @@ character.hearth={
|
||||||
mod:{
|
mod:{
|
||||||
maxHandcard:function(player,num){
|
maxHandcard:function(player,num){
|
||||||
return num+3;
|
return num+3;
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
malymowang:{
|
malymowang:{
|
||||||
|
@ -757,6 +771,22 @@ character.hearth={
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
mengjing_mengye:{
|
||||||
|
trigger:{player:'phaseEnd'},
|
||||||
|
forced:true,
|
||||||
|
priority:-1,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.num('he')>0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
player.discard(player.get('he'));
|
||||||
|
player.removeSkill('mengjing_mengye');
|
||||||
|
},
|
||||||
|
mark:'image',
|
||||||
|
intro:{
|
||||||
|
content:'回合结束阶段,弃置所有牌'
|
||||||
|
}
|
||||||
|
},
|
||||||
zhanhou:{
|
zhanhou:{
|
||||||
init:function(player){
|
init:function(player){
|
||||||
player.forcemin=true;
|
player.forcemin=true;
|
||||||
|
@ -778,11 +808,11 @@ character.hearth={
|
||||||
player:1
|
player:1
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mod:{
|
// mod:{
|
||||||
globalFrom:function(from,to,distance){
|
// globalFrom:function(from,to,distance){
|
||||||
return distance-from.hujia;
|
// return distance-from.hujia;
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
},
|
},
|
||||||
shijie:{
|
shijie:{
|
||||||
trigger:{player:'phaseEnd'},
|
trigger:{player:'phaseEnd'},
|
||||||
|
@ -1311,15 +1341,16 @@ character.hearth={
|
||||||
var val=ai.get.value(trigger.card);
|
var val=ai.get.value(trigger.card);
|
||||||
var suit=get.suit(trigger.card);
|
var suit=get.suit(trigger.card);
|
||||||
var eff=ai.get.effect(trigger.target,trigger.card,trigger.player,player);
|
var eff=ai.get.effect(trigger.target,trigger.card,trigger.player,player);
|
||||||
player.chooseToDiscard('是否对'+get.translation(trigger.player)+'使用的'+get.translation(trigger.card)+'发动【闷棍】?',function(card){
|
var next=player.chooseToDiscard('是否对'+get.translation(trigger.player)+'使用的'+get.translation(trigger.card)+'发动【闷棍】?',function(card){
|
||||||
return get.suit(card)==suit;
|
return get.suit(card)==suit;
|
||||||
}).ai=function(card){
|
});
|
||||||
|
next.logSkill=['mengun',trigger.player];
|
||||||
|
next.ai=function(card){
|
||||||
if(eff>=0) return 0;
|
if(eff>=0) return 0;
|
||||||
return Math.min(8,1+val)-ai.get.value(card);
|
return Math.min(8,1+val)-ai.get.value(card);
|
||||||
}
|
}
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('mengun',trigger.player);
|
|
||||||
game.log(get.translation(trigger.player)+'收回了'+get.translation(trigger.cards));
|
game.log(get.translation(trigger.player)+'收回了'+get.translation(trigger.cards));
|
||||||
trigger.untrigger();
|
trigger.untrigger();
|
||||||
trigger.finish();
|
trigger.finish();
|
||||||
|
@ -1385,10 +1416,11 @@ character.hearth={
|
||||||
direct:true,
|
direct:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseToDiscard('是否发动【激活】?').ai=ai.get.unuseful2;
|
var next=player.chooseToDiscard('是否发动【激活】?');
|
||||||
|
next.ai=ai.get.unuseful2;
|
||||||
|
next.logSkill='jihuo';
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('jihuo');
|
|
||||||
player.storage.jihuo=true;
|
player.storage.jihuo=true;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -1941,6 +1973,146 @@ character.hearth={
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
card:{
|
card:{
|
||||||
|
mengjing_feicuiyoulong:{
|
||||||
|
type:'mengjing',
|
||||||
|
image:'card/mengjing_feicuiyoulong',
|
||||||
|
color:'white',
|
||||||
|
opacity:1,
|
||||||
|
textShadow:'black 0 0 2px',
|
||||||
|
enable:true,
|
||||||
|
filterTarget:true,
|
||||||
|
content:function(){
|
||||||
|
target.damage(2);
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:5,
|
||||||
|
result:{
|
||||||
|
target:-2
|
||||||
|
},
|
||||||
|
tag:{
|
||||||
|
damage:2
|
||||||
|
},
|
||||||
|
useful:5,
|
||||||
|
value:10,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mengjing_suxing:{
|
||||||
|
type:'mengjing',
|
||||||
|
image:'card/mengjing_suxing',
|
||||||
|
color:'white',
|
||||||
|
opacity:1,
|
||||||
|
textShadow:'black 0 0 2px',
|
||||||
|
enable:true,
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
return player!=target;
|
||||||
|
},
|
||||||
|
selectTarget:-1,
|
||||||
|
content:function(){
|
||||||
|
target.loseHp();
|
||||||
|
var he=target.get('he');
|
||||||
|
if(he.length){
|
||||||
|
target.discard(he.randomGets(2));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
result:{
|
||||||
|
target:-1,
|
||||||
|
},
|
||||||
|
order:6,
|
||||||
|
useful:5,
|
||||||
|
value:10,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mengjing_mengye:{
|
||||||
|
type:'mengjing',
|
||||||
|
image:'card/mengjing_mengye',
|
||||||
|
color:'white',
|
||||||
|
opacity:1,
|
||||||
|
textShadow:'black 0 0 2px',
|
||||||
|
enable:true,
|
||||||
|
filterTarget:true,
|
||||||
|
content:function(){
|
||||||
|
target.draw();
|
||||||
|
target.addSkill('mengjing_mengye');
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:1,
|
||||||
|
useful:5,
|
||||||
|
value:10,
|
||||||
|
result:{
|
||||||
|
target:function(player,target){
|
||||||
|
if(target.skills.contains('mengjing_mengye')) return 0.5;
|
||||||
|
return -target.num('he');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mengjing_mengjing:{
|
||||||
|
type:'mengjing',
|
||||||
|
image:'card/mengjing_mengjing',
|
||||||
|
color:'white',
|
||||||
|
opacity:1,
|
||||||
|
textShadow:'black 0 0 2px',
|
||||||
|
enable:true,
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
return !target.num('j','lebu')||target.num('e')>0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
var es=target.get('e');
|
||||||
|
if(es.length){
|
||||||
|
target.gain(es,'gain2');
|
||||||
|
}
|
||||||
|
'step 1'
|
||||||
|
if(!target.num('j','lebu')){
|
||||||
|
target.addJudge(game.createCard('lebu'));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:2,
|
||||||
|
useful:5,
|
||||||
|
value:10,
|
||||||
|
result:{
|
||||||
|
target:function(player,target){
|
||||||
|
var num=target.hp-target.num('he')-2;
|
||||||
|
if(num>-1) return -1;
|
||||||
|
if(target.hp<3) num--;
|
||||||
|
if(target.hp<2) num--;
|
||||||
|
if(target.hp<1) num--;
|
||||||
|
return num;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mengjing_huanxiaojiemei:{
|
||||||
|
type:'mengjing',
|
||||||
|
image:'card/mengjing_huanxiaojiemei',
|
||||||
|
color:'white',
|
||||||
|
opacity:1,
|
||||||
|
textShadow:'black 0 0 2px',
|
||||||
|
enable:true,
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
return target.hp<target.maxHp;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
target.recover(target.maxHp-target.hp);
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:6,
|
||||||
|
value:10,
|
||||||
|
useful:[7,4],
|
||||||
|
result:{
|
||||||
|
target:function(player,target){
|
||||||
|
var eff=ai.get.recoverEffect(target,player,target);
|
||||||
|
if(eff<=0) return 0;
|
||||||
|
var num=target.maxHp-target.hp;
|
||||||
|
if(num<1) return 0;
|
||||||
|
if(target.hp==1) return num+0.5;
|
||||||
|
return num;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
tuteng1:{
|
tuteng1:{
|
||||||
image:'card/tuteng1',
|
image:'card/tuteng1',
|
||||||
color:'white',
|
color:'white',
|
||||||
|
@ -2016,6 +2188,7 @@ character.hearth={
|
||||||
hs_siwangzhiyi:'死亡之翼',
|
hs_siwangzhiyi:'死亡之翼',
|
||||||
hs_malygos:'玛里苟斯',
|
hs_malygos:'玛里苟斯',
|
||||||
hs_xuefashi:'血法师',
|
hs_xuefashi:'血法师',
|
||||||
|
hs_ysera:'伊瑟拉',
|
||||||
|
|
||||||
hs_ronghejuren:'熔核巨人',
|
hs_ronghejuren:'熔核巨人',
|
||||||
hs_edwin:'艾德温',
|
hs_edwin:'艾德温',
|
||||||
|
@ -2025,10 +2198,24 @@ character.hearth={
|
||||||
hs_totemic:'图腾师',
|
hs_totemic:'图腾师',
|
||||||
hs_bilanyoulong:'碧蓝幼龙',
|
hs_bilanyoulong:'碧蓝幼龙',
|
||||||
|
|
||||||
|
chenshui:'沉睡',
|
||||||
|
chenshui_info:'回合结束阶段,你可以将一张随机梦境牌加入你的手牌',
|
||||||
|
mengjing:'梦境',
|
||||||
|
mengjing_card_config:'梦境',
|
||||||
|
mengjing_feicuiyoulong:'翡翠幼龙',
|
||||||
|
mengjing_feicuiyoulong_info:'出牌阶段对任意一名角色使用,对目标造成2点伤害',
|
||||||
|
mengjing_huanxiaojiemei:'欢笑姐妹',
|
||||||
|
mengjing_huanxiaojiemei_info:'出牌阶段对一名已受伤角色使用,令目标恢复所有体力值',
|
||||||
|
mengjing_suxing:'苏醒',
|
||||||
|
mengjing_suxing_info:'令所有其他角色流失一点体力并随机弃置两张牌',
|
||||||
|
mengjing_mengye:'梦魇',
|
||||||
|
mengjing_mengye_info:'令一名角色摸1张牌,并在其下一个回合结束阶段弃置其所有牌',
|
||||||
|
mengjing_mengjing:'梦境',
|
||||||
|
mengjing_mengjing_info:'令一名角色将装备区内的所有牌收入手牌,并将一张乐不思蜀置于其判定区',
|
||||||
xjumo:'聚魔',
|
xjumo:'聚魔',
|
||||||
xjumo_info:'锁定技,你的手牌上限+3',
|
xjumo_info:'锁定技,你的手牌上限+2',
|
||||||
liehun:'裂魂',
|
liehun:'裂魂',
|
||||||
liehun_info:'锁定技,出牌阶段开始时,你获得手牌中所有非基本牌的复制',
|
liehun_info:'锁定技,回合结束阶段,你获得手牌中所有非基本牌的复制',
|
||||||
malymowang:'魔网',
|
malymowang:'魔网',
|
||||||
malymowang_info:'锁定技,你的锦囊牌造成的伤害+1;出牌阶段开始时,你观看随机3张锦囊牌,并将其中一张加入你的手牌',
|
malymowang_info:'锁定技,你的锦囊牌造成的伤害+1;出牌阶段开始时,你观看随机3张锦囊牌,并将其中一张加入你的手牌',
|
||||||
lingzhou:'灵咒',
|
lingzhou:'灵咒',
|
||||||
|
@ -2091,7 +2278,7 @@ character.hearth={
|
||||||
fengxian:'奉献',
|
fengxian:'奉献',
|
||||||
fengxian_info:'出牌阶段限一次,你可以令场上所有角色各弃置一张手牌',
|
fengxian_info:'出牌阶段限一次,你可以令场上所有角色各弃置一张手牌',
|
||||||
zhanhou:'战吼',
|
zhanhou:'战吼',
|
||||||
zhanhou_info:'锁定技,你没有装备区,你可以弃置一张装备牌并获得一点护甲值;每有一点护甲值,你与其他角色的距离-1',
|
zhanhou_info:'锁定技,你没有装备区,你可以弃置一张装备牌并获得一点护甲值',
|
||||||
anying:'暗影',
|
anying:'暗影',
|
||||||
anying_info:'限定技,出牌阶段,你可以弃置两张黑色牌,失去技能圣光,并获得技能心刺',
|
anying_info:'限定技,出牌阶段,你可以弃置两张黑色牌,失去技能圣光,并获得技能心刺',
|
||||||
shijie:'视界',
|
shijie:'视界',
|
||||||
|
|
|
@ -90,15 +90,16 @@ character.jiange={
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseToDiscard('he','是否弃置一张牌令'+get.translation(trigger.player)+'的摸牌数-1?').ai=function(card){
|
var next=player.chooseToDiscard('he','是否弃置一张牌令'+get.translation(trigger.player)+'的摸牌数-1?');
|
||||||
|
next.ai=function(card){
|
||||||
if(ai.get.attitude(player,trigger.player)<0){
|
if(ai.get.attitude(player,trigger.player)<0){
|
||||||
return 6-ai.get.value(card);
|
return 6-ai.get.value(card);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
next.logSkill=['jueji',trigger.player];
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('jueji',trigger.player);
|
|
||||||
trigger.num--;
|
trigger.num--;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -212,11 +212,12 @@ character.mountain={
|
||||||
event.finish();
|
event.finish();
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
player.chooseToDiscard('是否发动巧变路过判定阶段?').ai=ai.get.unuseful2;
|
var next=player.chooseToDiscard('是否发动巧变路过判定阶段?');
|
||||||
|
next.ai=ai.get.unuseful2;
|
||||||
|
next.logSkill='qiaobian';
|
||||||
}
|
}
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('qiaobian');
|
|
||||||
trigger.untrigger();
|
trigger.untrigger();
|
||||||
trigger.finish();
|
trigger.finish();
|
||||||
}
|
}
|
||||||
|
@ -421,7 +422,9 @@ character.mountain={
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
var discard=player.num('h')>player.hp;
|
var discard=player.num('h')>player.hp;
|
||||||
player.chooseToDiscard('是否发动巧变路过弃牌阶段?').ai=function(card){
|
var next=player.chooseToDiscard('是否发动巧变路过弃牌阶段?');
|
||||||
|
next.logSkill='qiaobian';
|
||||||
|
next.ai=function(card){
|
||||||
if(discard){
|
if(discard){
|
||||||
return 100-ai.get.useful(card);
|
return 100-ai.get.useful(card);
|
||||||
}
|
}
|
||||||
|
@ -431,7 +434,6 @@ character.mountain={
|
||||||
};
|
};
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('qiaobian');
|
|
||||||
trigger.untrigger();
|
trigger.untrigger();
|
||||||
trigger.finish();
|
trigger.finish();
|
||||||
}
|
}
|
||||||
|
@ -795,10 +797,11 @@ character.mountain={
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseToDiscard('he','是否发动悲歌?').ai=ai.get.unuseful2;
|
var next=player.chooseToDiscard('he','是否发动悲歌?');
|
||||||
|
next.ai=ai.get.unuseful2;
|
||||||
|
next.logSkill='beige';
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('beige');
|
|
||||||
trigger.player.judge();
|
trigger.player.judge();
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
|
|
@ -52,6 +52,7 @@ window.characterRank={
|
||||||
'hs_malygos',
|
'hs_malygos',
|
||||||
],
|
],
|
||||||
a:[
|
a:[
|
||||||
|
'hs_ysera',
|
||||||
'yxs_diaochan',
|
'yxs_diaochan',
|
||||||
'swd_wangsiyue',
|
'swd_wangsiyue',
|
||||||
'swd_lanyin',
|
'swd_lanyin',
|
||||||
|
@ -87,7 +88,7 @@ window.characterRank={
|
||||||
'zhoutai',
|
'zhoutai',
|
||||||
],
|
],
|
||||||
am:[
|
am:[
|
||||||
'hs_xuefashi',
|
'sp_caiwenji',
|
||||||
'manchong',
|
'manchong',
|
||||||
'swd_linyue',
|
'swd_linyue',
|
||||||
'swd_fuyan',
|
'swd_fuyan',
|
||||||
|
@ -141,9 +142,12 @@ window.characterRank={
|
||||||
'hs_siwangzhiyi',
|
'hs_siwangzhiyi',
|
||||||
'jg_huangyueying',
|
'jg_huangyueying',
|
||||||
'hs_bilanyoulong',
|
'hs_bilanyoulong',
|
||||||
|
'zhanglu',
|
||||||
],
|
],
|
||||||
bp:[
|
bp:[
|
||||||
|
'shixie',
|
||||||
'yxs_mozi',
|
'yxs_mozi',
|
||||||
|
'hs_xuefashi',
|
||||||
'xiahoushi',
|
'xiahoushi',
|
||||||
'zhangsong',
|
'zhangsong',
|
||||||
'zhuhuan',
|
'zhuhuan',
|
||||||
|
@ -170,6 +174,7 @@ window.characterRank={
|
||||||
'jiangwei',
|
'jiangwei',
|
||||||
'liubei',
|
'liubei',
|
||||||
'mateng',
|
'mateng',
|
||||||
|
'wutugu',
|
||||||
'swd_chunyuheng',
|
'swd_chunyuheng',
|
||||||
'hetaihou',
|
'hetaihou',
|
||||||
'hs_alleria',
|
'hs_alleria',
|
||||||
|
@ -206,6 +211,7 @@ window.characterRank={
|
||||||
'guyong',
|
'guyong',
|
||||||
'diy_xuhuang',
|
'diy_xuhuang',
|
||||||
'sunquan',
|
'sunquan',
|
||||||
|
'hs_jgarrosh',
|
||||||
],
|
],
|
||||||
b:[
|
b:[
|
||||||
'pal_linyueru',
|
'pal_linyueru',
|
||||||
|
@ -231,7 +237,6 @@ window.characterRank={
|
||||||
'sp_sunshangxiang',
|
'sp_sunshangxiang',
|
||||||
're_lidian',
|
're_lidian',
|
||||||
'jiangqing',
|
'jiangqing',
|
||||||
'hs_jgarrosh',
|
|
||||||
'hs_lrexxar',
|
'hs_lrexxar',
|
||||||
'mifuren',
|
'mifuren',
|
||||||
'diy_huangzhong',
|
'diy_huangzhong',
|
||||||
|
@ -269,6 +274,7 @@ window.characterRank={
|
||||||
'zhouyu',
|
'zhouyu',
|
||||||
'guanyinping',
|
'guanyinping',
|
||||||
'dingfeng',
|
'dingfeng',
|
||||||
|
'mayunlu',
|
||||||
'pangtong',
|
'pangtong',
|
||||||
'zhugeliangwolong',
|
'zhugeliangwolong',
|
||||||
'shen_guanyu',
|
'shen_guanyu',
|
||||||
|
|
|
@ -962,12 +962,8 @@ character.refresh={
|
||||||
!lib.filter.autoRespondSha.call({player:player});
|
!lib.filter.autoRespondSha.call({player:player});
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
player.chooseToUse({name:'sha'},'是否对'+get.translation(trigger.player)+'使用一张杀',
|
||||||
player.chooseToUse({name:'sha'},'是否对'+get.translation(trigger.player)+'使用一张杀',trigger.player);
|
trigger.player).logSkill='zhuhai';
|
||||||
"step 1"
|
|
||||||
if(result.bool){
|
|
||||||
player.logSkill('zhuhai');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
qianxin:{
|
qianxin:{
|
||||||
|
|
462
character/sp.js
|
@ -36,9 +36,381 @@ character.sp={
|
||||||
sp_caiwenji:['female','wei',3,['chenqing','mozhi'],['fullskin']],
|
sp_caiwenji:['female','wei',3,['chenqing','mozhi'],['fullskin']],
|
||||||
},
|
},
|
||||||
skill:{
|
skill:{
|
||||||
|
chenqing:{
|
||||||
|
trigger:{global:'dying'},
|
||||||
|
priority:6,
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.player.hp<=0&&!player.skills.contains('chenqing2');
|
||||||
|
},
|
||||||
|
direct:true,
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.chooseTarget('是否发动【陈情】?',function(card,player,target){
|
||||||
|
return target!=player&&target!=trigger.player;
|
||||||
|
}).ai=function(target){
|
||||||
|
if(ai.get.attitude(player,trigger.player)>0){
|
||||||
|
var att1=ai.get.attitude(target,player);
|
||||||
|
var att2=ai.get.attitude(target,trigger.player);
|
||||||
|
var att3=ai.get.attitude(player,target);
|
||||||
|
if(att3<0) return 0;
|
||||||
|
return att1/2+att2+att3;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
return ai.get.attitude(player,target);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'step 1'
|
||||||
|
if(result.bool){
|
||||||
|
player.addTempSkill('chenqing2',{player:'phaseBegin'});
|
||||||
|
event.target=result.targets[0];
|
||||||
|
event.target.draw(4);
|
||||||
|
player.logSkill('chenqing',event.target);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
event.finish();
|
||||||
|
}
|
||||||
|
'step 2'
|
||||||
|
var target=event.target;
|
||||||
|
var tosave=trigger.player;
|
||||||
|
var att=ai.get.attitude(target,tosave);
|
||||||
|
var hastao=target.num('h','tao');
|
||||||
|
target.chooseToDiscard(4,true).ai=function(card){
|
||||||
|
if(!hastao&&att>0){
|
||||||
|
var suit=get.suit(card);
|
||||||
|
for(var i=0;i<ui.selected.cards.length;i++){
|
||||||
|
if(get.suit(ui.selected.cards[i])==suit){
|
||||||
|
return -4-ai.get.value(card);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return -ai.get.value(card);
|
||||||
|
}
|
||||||
|
'step 3'
|
||||||
|
if(result.cards&&result.cards.length==4){
|
||||||
|
var suits=[];
|
||||||
|
for(var i=0;i<result.cards.length;i++){
|
||||||
|
suits.add(get.suit(result.cards[i]));
|
||||||
|
}
|
||||||
|
if(suits.length==4){
|
||||||
|
event.target.useCard({name:'tao'},trigger.player);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
skillTagFilter:function(player){
|
||||||
|
return !player.skills.contains('chenqing2');
|
||||||
|
},
|
||||||
|
expose:0.2,
|
||||||
|
threaten:1.5,
|
||||||
|
save:true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mozhi:{
|
||||||
|
intro:{
|
||||||
|
content:'cards'
|
||||||
|
},
|
||||||
|
init:function(player){
|
||||||
|
player.storage.mozhi=[];
|
||||||
|
},
|
||||||
|
trigger:{player:'phaseEnd'},
|
||||||
|
frequent:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.storage.mozhi.length>0&&player.num('h')>0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
if(player.storage.mozhi.length&&player.num('h')){
|
||||||
|
var card=player.storage.mozhi.shift();
|
||||||
|
card={name:card.name,nature:card.nature,suit:card.suit,number:card.number};
|
||||||
|
if(lib.filter.cardEnabled(card)){
|
||||||
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
if(player.canUse(card,game.players[i])){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(i<game.players.length){
|
||||||
|
lib.skill.mozhix.viewAs=card;
|
||||||
|
var next=player.chooseToUse();
|
||||||
|
if(event.isMine()){
|
||||||
|
next.openskilldialog='将一张手牌当'+get.translation(card)+'使用';
|
||||||
|
}
|
||||||
|
next.backup('mozhix');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
event.redo();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
group:['mozhi2','mozhi3']
|
||||||
|
},
|
||||||
|
mozhix:{
|
||||||
|
filterCard:true,
|
||||||
|
selectCard:1
|
||||||
|
},
|
||||||
|
mozhi2:{
|
||||||
|
trigger:{player:'phaseAfter'},
|
||||||
|
forced:true,
|
||||||
|
silent:true,
|
||||||
|
popup:false,
|
||||||
|
content:function(){
|
||||||
|
player.storage.mozhi.length=0;
|
||||||
|
player.unmarkSkill('mozhi');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mozhi3:{
|
||||||
|
trigger:{player:'useCard'},
|
||||||
|
forced:true,
|
||||||
|
silent:true,
|
||||||
|
popup:false,
|
||||||
|
filter:function(event,player){
|
||||||
|
if(_status.currentPhase!=player) return false;
|
||||||
|
if(event.parent.parent.name!='phaseUse') return false;
|
||||||
|
var type=get.type(event.card);
|
||||||
|
return player.storage.mozhi.length<2&&(type=='basic'||type=='trick');
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
player.storage.mozhi.add(trigger.card);
|
||||||
|
player.markSkill('mozhi');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
chenqing2:{},
|
||||||
|
ranshang:{
|
||||||
|
trigger:{player:'damageEnd'},
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.nature=='fire';
|
||||||
|
},
|
||||||
|
init:function(player){
|
||||||
|
player.storage.ranshang=0;
|
||||||
|
},
|
||||||
|
forced:true,
|
||||||
|
check:function(){
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
if(player.storage.ranshang){
|
||||||
|
player.storage.ranshang++;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
player.storage.ranshang=1;
|
||||||
|
player.markSkill('ranshang');
|
||||||
|
}
|
||||||
|
game.addVideo('storage',player,['ranshang',player.storage.ranshang]);
|
||||||
|
},
|
||||||
|
intro:{
|
||||||
|
content:'mark'
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
effect:{
|
||||||
|
target:function(card,player,target,current){
|
||||||
|
if(card.name=='sha'){
|
||||||
|
if(card.nature=='fire'||player.skills.contains('zhuque_skill')) return 2;
|
||||||
|
}
|
||||||
|
if(get.tag(card,'fireDamage')&¤t<0) return 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
group:'ranshang2'
|
||||||
|
},
|
||||||
|
ranshang2:{
|
||||||
|
trigger:{player:'phaseEnd'},
|
||||||
|
forced:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.storage.ranshang>0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
player.loseHp(player.storage.ranshang);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
hanyong:{
|
||||||
|
trigger:{player:'useCard'},
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.storage.hanyong>player.hp&&event.card&&
|
||||||
|
(event.card.name=='nanman'||event.card.name=='wanjian');
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
player.addTempSkill('hanyong3','useCardAfter');
|
||||||
|
},
|
||||||
|
init:function(player){
|
||||||
|
player.storage.hanyong=0;
|
||||||
|
},
|
||||||
|
group:'hanyong2'
|
||||||
|
},
|
||||||
|
hanyong2:{
|
||||||
|
trigger:{player:'phaseBegin'},
|
||||||
|
forced:true,
|
||||||
|
popup:false,
|
||||||
|
silent:true,
|
||||||
|
content:function(){
|
||||||
|
player.storage.hanyong++;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
hanyong3:{
|
||||||
|
trigger:{source:'damageBegin'},
|
||||||
|
forced:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.card&&(event.card.name=='nanman'||event.card.name=='wanjian');
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
trigger.num++;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
yishe:{
|
||||||
|
trigger:{player:'phaseEnd'},
|
||||||
|
init:function(player){
|
||||||
|
player.storage.yishe=[];
|
||||||
|
},
|
||||||
|
filter:function(event,player){
|
||||||
|
return !player.storage.yishe||!player.storage.yishe.length;
|
||||||
|
},
|
||||||
|
intro:{
|
||||||
|
content:'cards'
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.draw(2);
|
||||||
|
player.chooseCard(2,'he',true,'选择两张牌作为“米”');
|
||||||
|
'step 1'
|
||||||
|
player.markSkill('yishe');
|
||||||
|
player.storage.yishe=result.cards;
|
||||||
|
player.lose(result.cards,ui.special);
|
||||||
|
game.addVideo('storage',player,['yishe',get.cardsInfo(player.storage.yishe),'cards']);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
bushi:{
|
||||||
|
trigger:{player:'damageEnd',source:'damageEnd'},
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.storage.yishe&&player.storage.yishe.length&&event.player.isAlive();
|
||||||
|
},
|
||||||
|
direct:true,
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
trigger.player.chooseCardButton('选择获得一张“米”',player.storage.yishe);
|
||||||
|
'step 1'
|
||||||
|
if(result.bool){
|
||||||
|
player.logSkill('bushi');
|
||||||
|
trigger.player.gain(result.buttons[0].link,'gain2');
|
||||||
|
player.storage.yishe.remove(result.buttons[0].link);
|
||||||
|
game.addVideo('storage',player,['yishe',get.cardsInfo(player.storage.yishe),'cards']);
|
||||||
|
if(player.storage.yishe.length==0){
|
||||||
|
player.recover();
|
||||||
|
player.unmarkSkill('yishe');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
midao:{
|
||||||
|
unique:true,
|
||||||
|
trigger:{global:'judge'},
|
||||||
|
direct:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.storage.yishe&&player.storage.yishe.length&&event.player.isAlive();
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
"step 0"
|
||||||
|
var list=player.storage.yishe;
|
||||||
|
var dialog=ui.create.dialog(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+get.translation(trigger.player.judging)+
|
||||||
|
',是否发动【米道】?',list,'hidden');
|
||||||
|
player.chooseButton(dialog,function(button){
|
||||||
|
var card=button.link;
|
||||||
|
var trigger=_status.event.parent._trigger;
|
||||||
|
var player=_status.event.player;
|
||||||
|
var result=trigger.judge(card)-trigger.judge(trigger.player.judging);
|
||||||
|
var attitude=ai.get.attitude(player,trigger.player);
|
||||||
|
return result*attitude;
|
||||||
|
});
|
||||||
|
"step 1"
|
||||||
|
if(result.bool){
|
||||||
|
event.card=result.buttons[0].link;
|
||||||
|
player.$throw(event.card,1000);
|
||||||
|
player.storage.yishe.remove(result.buttons[0].link);
|
||||||
|
game.addVideo('storage',player,['yishe',get.cardsInfo(player.storage.yishe),'cards']);
|
||||||
|
if(player.storage.yishe.length==0){
|
||||||
|
player.recover();
|
||||||
|
player.unmarkSkill('yishe');
|
||||||
|
}
|
||||||
|
if(event.card.clone){
|
||||||
|
event.card.clone.classList.add('thrownhighlight');
|
||||||
|
game.addVideo('highlightnode',player,get.cardInfo(event.card));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"step 2"
|
||||||
|
if(event.card){
|
||||||
|
player.logSkill('midao',trigger.player);
|
||||||
|
ui.discardPile.appendChild(trigger.player.judging);
|
||||||
|
trigger.player.judging=event.card;
|
||||||
|
trigger.position.appendChild(event.card);
|
||||||
|
game.log(get.translation(trigger.player)+'的判定牌改为'+get.translation(event.card));
|
||||||
|
event.card.expired=true;
|
||||||
|
game.delay(2);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
tag:{
|
||||||
|
rejudge:0.6
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fengpo:{
|
||||||
|
trigger:{player:['shaBegin','juedouBegin']},
|
||||||
|
filter:function(event,player){
|
||||||
|
if(player.skills.contains('fengpo3')) return false;
|
||||||
|
return event.target&&event.targets&&event.targets.length==1;
|
||||||
|
},
|
||||||
|
direct:true,
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.addTempSkill('fengpo3','phaseAfter');
|
||||||
|
player.chooseControl('draw_card','加伤害','cancel',
|
||||||
|
ui.create.dialog('是否发动【凤魄】?','hidden'));
|
||||||
|
'step 1'
|
||||||
|
if(result.control&&result.control!='cancel'){
|
||||||
|
player.logSkill('fengpo');
|
||||||
|
var nd=trigger.target.num('h',{suit:'diamond'});
|
||||||
|
if(result.control=='draw_card'){
|
||||||
|
player.draw(nd);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
player.addTempSkill('fengpo2','useCardToAfter');
|
||||||
|
player.storage.fengpo=nd;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fengpo2:{
|
||||||
|
trigger:{source:'damageBegin'},
|
||||||
|
filter:function(event){
|
||||||
|
return event.card&&(event.card.name=='sha'||event.card.name=='juedou')&&
|
||||||
|
event.parent.name!='_lianhuan'&&event.parent.name!='_lianhuan2';
|
||||||
|
},
|
||||||
|
forced:true,
|
||||||
|
content:function(){
|
||||||
|
if(typeof player.storage.fengpo=='number'){
|
||||||
|
trigger.num+=player.storage.fengpo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fengpo3:{},
|
||||||
biluan:{
|
biluan:{
|
||||||
trigger:{player:'phaseDrawBefore'},
|
trigger:{player:'phaseDrawBefore'},
|
||||||
|
mark:true,
|
||||||
|
unique:true,
|
||||||
|
intro:{
|
||||||
|
content:function(storage){
|
||||||
|
if(storage>0){
|
||||||
|
return '防御距离+'+storage;
|
||||||
|
}
|
||||||
|
else if(storage<0){
|
||||||
|
return '防御距离'+storage;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
return '无距离变化';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
init:function(player){
|
||||||
|
player.storage.biluan=0;
|
||||||
|
},
|
||||||
check:function(event,player){
|
check:function(event,player){
|
||||||
|
if(player.num('h')>player.hp) return true;
|
||||||
|
if(player.num('j','lebu')) return true;
|
||||||
var ng=[];
|
var ng=[];
|
||||||
for(var i=0;i<game.players.length;i++){
|
for(var i=0;i<game.players.length;i++){
|
||||||
if(game.players[i].group!='unknown'){
|
if(game.players[i].group!='unknown'){
|
||||||
|
@ -49,26 +421,68 @@ character.sp={
|
||||||
if(ng<2) return false;
|
if(ng<2) return false;
|
||||||
var nai=0;
|
var nai=0;
|
||||||
for(var i=0;i<game.players.length;i++){
|
for(var i=0;i<game.players.length;i++){
|
||||||
var dist=get.distance(game.players[i],player,'attack');
|
if(game.players[i]!=player){
|
||||||
if(dist<=1&&dist+ng>1){
|
var dist=get.distance(game.players[i],player,'attack');
|
||||||
nai++;
|
if(dist<=1&&dist+ng>1){
|
||||||
|
nai++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log(nai);
|
|
||||||
return nai>=2;
|
return nai>=2;
|
||||||
},
|
},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
for(var i=0;i<game.players.length;i++){
|
for(var i=0;i<game.players.length;i++){
|
||||||
if(get.distance(game.players[i],player)<=1){
|
if(game.players[i]!=player&&
|
||||||
|
get.distance(game.players[i],player)<=1){
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
|
content:function(){
|
||||||
|
var ng=[];
|
||||||
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
if(game.players[i].group!='unknown'){
|
||||||
|
ng.add(game.players[i].group);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
player.$damagepop(ng.length,'unknownx');
|
||||||
|
player.storage.biluan+=ng.length;
|
||||||
|
game.addVideo('storage',player,['biluan',player.storage.biluan]);
|
||||||
|
trigger.untrigger();
|
||||||
|
trigger.finish();
|
||||||
|
},
|
||||||
|
mod:{
|
||||||
|
globalTo:function(from,to,distance){
|
||||||
|
if(typeof to.storage.biluan=='number'){
|
||||||
|
return distance+to.storage.biluan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
biluan2:{
|
lixia:{
|
||||||
mark:true,
|
trigger:{global:'phaseEnd'},
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.player!=player&&get.distance(event.player,player,'attack')>1;
|
||||||
|
},
|
||||||
|
forced:true,
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.chooseTarget(function(card,player,target){
|
||||||
|
return target==player||target==trigger.player;
|
||||||
|
},true,'礼下:选择一个目标摸一张牌').ai=function(target){
|
||||||
|
return target==player;
|
||||||
|
}.ai=function(target){
|
||||||
|
return player==target?1:0;
|
||||||
|
};
|
||||||
|
'step 1'
|
||||||
|
if(result.targets.length){
|
||||||
|
result.targets[0].draw();
|
||||||
|
player.line(result.targets[0],'green');
|
||||||
|
}
|
||||||
|
player.storage.biluan--;
|
||||||
|
game.addVideo('storage',player,['biluan',player.storage.biluan]);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
fuji:{
|
fuji:{
|
||||||
trigger:{global:'damageBegin'},
|
trigger:{global:'damageBegin'},
|
||||||
|
@ -386,8 +800,7 @@ character.sp={
|
||||||
if(cards.length){
|
if(cards.length){
|
||||||
var dialog;
|
var dialog;
|
||||||
if(event.isMine()){
|
if(event.isMine()){
|
||||||
dialog=ui.create.dialog('是否发动【'+get.translation(event.name)+'】?');
|
dialog=ui.create.dialog('是否发动【'+get.translation(event.name)+'】?','hidden');
|
||||||
dialog.style.opacity='none';
|
|
||||||
dialog.add(cards);
|
dialog.add(cards);
|
||||||
for(var i=0;i<dialog.buttons.length;i++){
|
for(var i=0;i<dialog.buttons.length;i++){
|
||||||
dialog.buttons[i].style.opacity=1;
|
dialog.buttons[i].style.opacity=1;
|
||||||
|
@ -401,14 +814,15 @@ character.sp={
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
maxval+=cards.length-1;
|
maxval+=cards.length-1;
|
||||||
player.chooseToDiscard('he',{suit:suits},dialog).ai=function(card){
|
var next=player.chooseToDiscard('he',{suit:suits},dialog);
|
||||||
|
next.ai=function(card){
|
||||||
return maxval-ai.get.value(card);
|
return maxval-ai.get.value(card);
|
||||||
};
|
};
|
||||||
|
next.logSkill='manjuan';
|
||||||
event.cards=cards;
|
event.cards=cards;
|
||||||
}
|
}
|
||||||
"step 2"
|
"step 2"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill(event.name);
|
|
||||||
game.log(get.translation(player)+'获得了'+get.translation(event.cards));
|
game.log(get.translation(player)+'获得了'+get.translation(event.cards));
|
||||||
player.gain(event.cards,'gain2');
|
player.gain(event.cards,'gain2');
|
||||||
}
|
}
|
||||||
|
@ -564,12 +978,13 @@ character.sp={
|
||||||
direct:true,
|
direct:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseToDiscard('协穆:是否弃置一张杀并摸两张牌?',{name:'sha'}).ai=function(card){
|
var next=player.chooseToDiscard('协穆:是否弃置一张杀并摸两张牌?',{name:'sha'});
|
||||||
|
next.ai=function(card){
|
||||||
return 9-ai.get.value(card);
|
return 9-ai.get.value(card);
|
||||||
};
|
};
|
||||||
|
next.logSkill='xiemu';
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('xiemu');
|
|
||||||
player.draw(2);
|
player.draw(2);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -922,9 +1337,11 @@ character.sp={
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseToDiscard('是否发动【名士】?',{color:'black'}).ai=function(card){
|
var next=player.chooseToDiscard('是否发动【名士】?',{color:'black'});
|
||||||
|
next.ai=function(card){
|
||||||
return 9-ai.get.value(card);
|
return 9-ai.get.value(card);
|
||||||
}
|
}
|
||||||
|
next.logSkill='mingshi';
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
trigger.num--;
|
trigger.num--;
|
||||||
|
@ -1100,16 +1517,17 @@ character.sp={
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
var nono=(Math.abs(ai.get.attitude(player,trigger.player))<3);
|
var nono=(Math.abs(ai.get.attitude(player,trigger.player))<3);
|
||||||
player.chooseToDiscard('是否对'+get.translation(trigger.player)+'发动【鸩毒】?').ai=function(card){
|
var next=player.chooseToDiscard('是否对'+get.translation(trigger.player)+'发动【鸩毒】?');
|
||||||
|
next.ai=function(card){
|
||||||
if(nono) return -1;
|
if(nono) return -1;
|
||||||
if(ai.get.damageEffect(trigger.player,player,player)>0){
|
if(ai.get.damageEffect(trigger.player,player,player)>0){
|
||||||
return 7-ai.get.useful(card);
|
return 7-ai.get.useful(card);
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
next.logSkill=['zhendu',trigger.player];
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('zhendu',trigger.player);
|
|
||||||
trigger.player.damage();
|
trigger.player.damage();
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -1448,16 +1866,17 @@ character.sp={
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
var nono=(Math.abs(ai.get.attitude(player,trigger.player))<3);
|
var nono=(Math.abs(ai.get.attitude(player,trigger.player))<3);
|
||||||
player.chooseToDiscard('是否发动【骁果】?',{type:'basic'}).ai=function(card){
|
var next=player.chooseToDiscard('是否发动【骁果】?',{type:'basic'});
|
||||||
|
next.ai=function(card){
|
||||||
if(nono) return 0;
|
if(nono) return 0;
|
||||||
if(ai.get.damageEffect(trigger.player,player,player)>0){
|
if(ai.get.damageEffect(trigger.player,player,player)>0){
|
||||||
return 8-ai.get.useful(card);
|
return 8-ai.get.useful(card);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
next.logSkill=['xiaoguo',trigger.player];
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('xiaoguo',trigger.player);
|
|
||||||
var nono=(ai.get.damageEffect(trigger.player,player,trigger.player)>=0);
|
var nono=(ai.get.damageEffect(trigger.player,player,trigger.player)>=0);
|
||||||
trigger.player.chooseToDiscard('he',{type:'equip'}).ai=function(card){
|
trigger.player.chooseToDiscard('he',{type:'equip'}).ai=function(card){
|
||||||
if(nono){
|
if(nono){
|
||||||
|
@ -2381,7 +2800,7 @@ character.sp={
|
||||||
if(current>0) return;
|
if(current>0) return;
|
||||||
if(target.num('h')==0) return 1.6;
|
if(target.num('h')==0) return 1.6;
|
||||||
if(target.num('h')==1) return 1.2;
|
if(target.num('h')==1) return 1.2;
|
||||||
if(target.num('h')==2) return [0.8,0.5,0,-0.5];
|
if(target.num('h')==2) return [0.8,0.2,0,-0.2];
|
||||||
return [0.4,0.7,0,-0.7];
|
return [0.4,0.7,0,-0.7];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2850,12 +3269,14 @@ character.sp={
|
||||||
zhanglu:'张鲁',
|
zhanglu:'张鲁',
|
||||||
wutugu:'兀突骨',
|
wutugu:'兀突骨',
|
||||||
mateng:'马腾',
|
mateng:'马腾',
|
||||||
|
sp_caiwenji:'蔡文姬',
|
||||||
|
|
||||||
biluan:'避乱',
|
biluan:'避乱',
|
||||||
biluan_info:'摸牌阶段开始时,若有其他角色与你距离不大于1,则你可以放弃摸牌。若如此做,其他角色与你距离+X(X为势力数)',
|
biluan_info:'摸牌阶段开始时,若有其他角色与你距离不大于1,则你可以放弃摸牌。若如此做,其他角色与你距离+X(X为势力数)',
|
||||||
lixia:'礼下',
|
lixia:'礼下',
|
||||||
lixia_info:'锁定技,其他角色结束阶段开始时,若你不在其攻击范围内,你摸一张牌或令其摸一张牌。若如此做,其他角色与你的距离-1',
|
lixia_info:'锁定技,其他角色结束阶段开始时,若你不在其攻击范围内,你摸一张牌或令其摸一张牌。若如此做,其他角色与你的距离-1',
|
||||||
yishe:'义舍',
|
yishe:'义舍',
|
||||||
|
yishe_bg:'米',
|
||||||
yishe_info:'结束阶段开始时,若你的武将牌上没有牌,你可以摸两张牌。若如此做,你将两张牌置于武将牌上,称为“米”;当“米”移至其他区域后,若你的武将牌上没有“米”,你回复1点体力',
|
yishe_info:'结束阶段开始时,若你的武将牌上没有牌,你可以摸两张牌。若如此做,你将两张牌置于武将牌上,称为“米”;当“米”移至其他区域后,若你的武将牌上没有“米”,你回复1点体力',
|
||||||
bushi:'布施',
|
bushi:'布施',
|
||||||
midao:'米道',
|
midao:'米道',
|
||||||
|
@ -2868,6 +3289,7 @@ character.sp={
|
||||||
mozhi:'默识',
|
mozhi:'默识',
|
||||||
mozhi_info:'结束阶段开始时,你可以将一张手牌当你本回合出牌阶段使用的第一张基本或非延时类锦囊牌使用。然后,你可以将一张手牌当你本回合出牌阶段使用的第二张基本或非延时类锦囊牌使用',
|
mozhi_info:'结束阶段开始时,你可以将一张手牌当你本回合出牌阶段使用的第一张基本或非延时类锦囊牌使用。然后,你可以将一张手牌当你本回合出牌阶段使用的第二张基本或非延时类锦囊牌使用',
|
||||||
ranshang:'燃殇',
|
ranshang:'燃殇',
|
||||||
|
ranshang2:'燃殇',
|
||||||
ranshang_info:'锁定技,当你受到1点火焰伤害后,你获得1枚“燃”标记;结束阶段开始时,你失去X点体力(X为“燃”标记的数量)',
|
ranshang_info:'锁定技,当你受到1点火焰伤害后,你获得1枚“燃”标记;结束阶段开始时,你失去X点体力(X为“燃”标记的数量)',
|
||||||
hanyong:'悍勇',
|
hanyong:'悍勇',
|
||||||
hanyong_info:'当你使用【南蛮入侵】或【万箭齐发】时,若你的体力值小于游戏轮数,你可以令此牌造成的伤害+1',
|
hanyong_info:'当你使用【南蛮入侵】或【万箭齐发】时,若你的体力值小于游戏轮数,你可以令此牌造成的伤害+1',
|
||||||
|
|
|
@ -46,6 +46,7 @@ character.standard={
|
||||||
unique:true,
|
unique:true,
|
||||||
trigger:{player:'chooseToRespondBegin'},
|
trigger:{player:'chooseToRespondBegin'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
|
if(event.responded) return false;
|
||||||
if(!player.isZhu) return false;
|
if(!player.isZhu) return false;
|
||||||
if(event.filterCard({name:'shan'})==false) return false;
|
if(event.filterCard({name:'shan'})==false) return false;
|
||||||
for(var i=0;i<game.players.length;i++){
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
@ -515,6 +516,7 @@ character.standard={
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{player:'chooseToRespondBegin'},
|
trigger:{player:'chooseToRespondBegin'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
|
if(event.responded) return false;
|
||||||
if(!player.isZhu) return false;
|
if(!player.isZhu) return false;
|
||||||
if(event.filterCard({name:'sha'})==false) return false;
|
if(event.filterCard({name:'sha'})==false) return false;
|
||||||
for(var i=0;i<game.players.length;i++){
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
|
103
character/swd.js
|
@ -331,7 +331,7 @@ character.swd={
|
||||||
var dialog=ui.create.dialog('聒噪:选择一个目标将手牌替换',cards,'hidden');
|
var dialog=ui.create.dialog('聒噪:选择一个目标将手牌替换',cards,'hidden');
|
||||||
dialog.classList.add('noselect');
|
dialog.classList.add('noselect');
|
||||||
var next=player.chooseTarget(true,dialog,function(card,player,target){
|
var next=player.chooseTarget(true,dialog,function(card,player,target){
|
||||||
return target.num('h')>0;
|
return target.num('h')>0&&get.distance(player,target)<=2;
|
||||||
}).ai=function(target){
|
}).ai=function(target){
|
||||||
var att=ai.get.attitude(player,target);
|
var att=ai.get.attitude(player,target);
|
||||||
var hs=target.get('h');
|
var hs=target.get('h');
|
||||||
|
@ -665,9 +665,11 @@ character.swd={
|
||||||
"step 0"
|
"step 0"
|
||||||
var yep=ai.get.attitude(player,trigger.player)<0&&
|
var yep=ai.get.attitude(player,trigger.player)<0&&
|
||||||
trigger.player.num('h')>2;
|
trigger.player.num('h')>2;
|
||||||
player.chooseToDiscard(function(card){
|
var next=player.chooseToDiscard(function(card){
|
||||||
return get.type(card)!='basic';
|
return get.type(card)!='basic';
|
||||||
},'是否对'+get.translation(trigger.player)+'发动【入梦】?','he').ai=function(card){
|
},'是否对'+get.translation(trigger.player)+'发动【入梦】?','he');
|
||||||
|
next.logSkill=['rumeng',trigger.player];
|
||||||
|
next.ai=function(card){
|
||||||
if(yep){
|
if(yep){
|
||||||
return 6-ai.get.value(card);
|
return 6-ai.get.value(card);
|
||||||
}
|
}
|
||||||
|
@ -675,7 +677,6 @@ character.swd={
|
||||||
}
|
}
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('rumeng',trigger.player);
|
|
||||||
trigger.player.chooseToDiscard({type:'basic'},'入梦:弃置一张基本牌或路过出牌及弃牌阶段').ai=function(card){
|
trigger.player.chooseToDiscard({type:'basic'},'入梦:弃置一张基本牌或路过出牌及弃牌阶段').ai=function(card){
|
||||||
return 5-ai.get.value(card);
|
return 5-ai.get.value(card);
|
||||||
}
|
}
|
||||||
|
@ -702,15 +703,16 @@ character.swd={
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseToDiscard('he','是否发动【连打】?').ai=function(card){
|
var next=player.chooseToDiscard('he','是否发动【连打】?');
|
||||||
|
next.ai=function(card){
|
||||||
if(ai.get.effect(trigger.target,{name:'sha'},player,player)>0){
|
if(ai.get.effect(trigger.target,{name:'sha'},player,player)>0){
|
||||||
return 7-ai.get.value(card);
|
return 7-ai.get.value(card);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
next.logSkill='lianda';
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('lianda');
|
|
||||||
player.addTempSkill('lianda2','phaseAfter');
|
player.addTempSkill('lianda2','phaseAfter');
|
||||||
player.useCard({name:'sha'},trigger.target);
|
player.useCard({name:'sha'},trigger.target);
|
||||||
}
|
}
|
||||||
|
@ -840,7 +842,9 @@ character.swd={
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
player.chooseToDiscard('he','是否发动【镇卫】?').ai=function(card){
|
var next=player.chooseToDiscard('he','是否发动【镇卫】?');
|
||||||
|
next.logSkill='hzhenwei',trigger.target;
|
||||||
|
next.ai=function(card){
|
||||||
if(save){
|
if(save){
|
||||||
return 7-ai.get.value(card);
|
return 7-ai.get.value(card);
|
||||||
}
|
}
|
||||||
|
@ -848,7 +852,6 @@ character.swd={
|
||||||
}
|
}
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('hzhenwei',trigger.target);
|
|
||||||
trigger.target=player;
|
trigger.target=player;
|
||||||
trigger.untrigger();
|
trigger.untrigger();
|
||||||
trigger.trigger('useCardToBefore');
|
trigger.trigger('useCardToBefore');
|
||||||
|
@ -1616,13 +1619,14 @@ character.swd={
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
var att=ai.get.attitude(player,trigger.player);
|
var att=ai.get.attitude(player,trigger.player);
|
||||||
player.chooseToDiscard('he','是否发动【碎岩】?').ai=function(card){
|
var next=player.chooseToDiscard('he','是否发动【碎岩】?');
|
||||||
|
next.ai=function(card){
|
||||||
if(att<0) return 7-ai.get.value(card);
|
if(att<0) return 7-ai.get.value(card);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
next.logSkill=['suiyan',trigger.player];
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('suiyan',trigger.player);
|
|
||||||
trigger.player.discard(trigger.player.get('e'));
|
trigger.player.discard(trigger.player.get('e'));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -2146,7 +2150,9 @@ character.swd={
|
||||||
str+='对'+get.translation(trigger.targets);
|
str+='对'+get.translation(trigger.targets);
|
||||||
}
|
}
|
||||||
str+='的'+get.translation(trigger.card)+'失效?'
|
str+='的'+get.translation(trigger.card)+'失效?'
|
||||||
player.chooseToDiscard('he',{type:'equip'},str).ai=function(card){
|
var next=player.chooseToDiscard('he',{type:'equip'},str);
|
||||||
|
next.logSkill='gongshen';
|
||||||
|
next.ai=function(card){
|
||||||
if(effect<0){
|
if(effect<0){
|
||||||
var val=9-ai.get.value(card);
|
var val=9-ai.get.value(card);
|
||||||
var nme=trigger.card.name;
|
var nme=trigger.card.name;
|
||||||
|
@ -2173,7 +2179,6 @@ character.swd={
|
||||||
game.delay();
|
game.delay();
|
||||||
trigger.untrigger();
|
trigger.untrigger();
|
||||||
trigger.finish();
|
trigger.finish();
|
||||||
player.logSkill('gongshen');
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
@ -3066,14 +3071,15 @@ character.swd={
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseToDiscard('是否弃置两张手牌将'+get.translation(trigger.card)+'反弹?',2).ai=function(card){
|
var next=player.chooseToDiscard('是否弃置两张手牌将'+get.translation(trigger.card)+'反弹?',2);
|
||||||
|
next.ai=function(card){
|
||||||
if(ai.get.effect(player,trigger.card)<0) return 4-ai.get.value(card);
|
if(ai.get.effect(player,trigger.card)<0) return 4-ai.get.value(card);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
next.logSkill='yihua';
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
// player.discard(result.cards);
|
// player.discard(result.cards);
|
||||||
player.logSkill('yihua');
|
|
||||||
trigger.target=trigger.player;
|
trigger.target=trigger.player;
|
||||||
trigger.player=player;
|
trigger.player=player;
|
||||||
trigger.untrigger();
|
trigger.untrigger();
|
||||||
|
@ -3312,10 +3318,9 @@ character.swd={
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseToUse({name:'sha'},'是否对'+get.translation(trigger.player)+'使用一张杀',trigger.player);
|
player.chooseToUse({name:'sha'},'是否对'+get.translation(trigger.player)+'使用一张杀',trigger.player).logSkill='rexue';
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('rexue');
|
|
||||||
player.draw();
|
player.draw();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3400,7 +3405,9 @@ character.swd={
|
||||||
"step 0"
|
"step 0"
|
||||||
var att=ai.get.attitude(player,trigger.player);
|
var att=ai.get.attitude(player,trigger.player);
|
||||||
var nh=player.num('h');
|
var nh=player.num('h');
|
||||||
player.chooseToDiscard('是否发动苏生?').ai=function(card){
|
var next=player.chooseToDiscard('是否发动苏生?');
|
||||||
|
next.logSkill='susheng';
|
||||||
|
next.ai=function(card){
|
||||||
if(att>3||(att>1&&nh>2)){
|
if(att>3||(att>1&&nh>2)){
|
||||||
return ai.get.unuseful2(card);
|
return ai.get.unuseful2(card);
|
||||||
}
|
}
|
||||||
|
@ -3414,7 +3421,6 @@ character.swd={
|
||||||
trigger.player.hp=1;
|
trigger.player.hp=1;
|
||||||
if(trigger.player.maxHp<1) trigger.player.maxHp=1;
|
if(trigger.player.maxHp<1) trigger.player.maxHp=1;
|
||||||
trigger.player.update();
|
trigger.player.update();
|
||||||
player.logSkill('susheng');
|
|
||||||
player.addTempSkill('susheng2','phaseAfter');
|
player.addTempSkill('susheng2','phaseAfter');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4268,9 +4274,11 @@ character.swd={
|
||||||
direct:true,
|
direct:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseToDiscard('he','是否发动【唤魂】?',function(card){
|
var next=player.chooseToDiscard('he','是否发动【唤魂】?',function(card){
|
||||||
return get.color(card)=='red';
|
return get.color(card)=='red';
|
||||||
}).ai=function(card){
|
});
|
||||||
|
next.logSkill=['huanhun',trigger.player];
|
||||||
|
next.ai=function(card){
|
||||||
if(ai.get.attitude(player,trigger.player)>0){
|
if(ai.get.attitude(player,trigger.player)>0){
|
||||||
return 8-ai.get.value(card);
|
return 8-ai.get.value(card);
|
||||||
}
|
}
|
||||||
|
@ -4278,7 +4286,6 @@ character.swd={
|
||||||
};
|
};
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('huanhun',trigger.player);
|
|
||||||
trigger.player.judge(function(card){
|
trigger.player.judge(function(card){
|
||||||
return get.color(card)=='red'?1:-1;
|
return get.color(card)=='red'?1:-1;
|
||||||
});
|
});
|
||||||
|
@ -4394,7 +4401,9 @@ character.swd={
|
||||||
direct:true,
|
direct:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseToDiscard('请选择发动代形的卡牌','he',[1,player.num('he')]).ai=function(card){
|
var next=player.chooseToDiscard('请选择发动代形的卡牌','he',[1,player.num('he')]);
|
||||||
|
next.logSkill='daixing';
|
||||||
|
next.ai=function(card){
|
||||||
if(ui.selected.cards.length>=2) return 0;
|
if(ui.selected.cards.length>=2) return 0;
|
||||||
if(ui.selected.cards.length==1){
|
if(ui.selected.cards.length==1){
|
||||||
if(player.num('h')>player.hp){
|
if(player.num('h')>player.hp){
|
||||||
|
@ -4408,7 +4417,6 @@ character.swd={
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.changeHujia(result.cards.length);
|
player.changeHujia(result.cards.length);
|
||||||
player.storage.daixing=result.cards.length;
|
player.storage.daixing=result.cards.length;
|
||||||
player.logSkill('daixing');
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
@ -5051,7 +5059,9 @@ character.swd={
|
||||||
var num=player.num('h')-trigger.source.num('h');
|
var num=player.num('h')-trigger.source.num('h');
|
||||||
event.num=num;
|
event.num=num;
|
||||||
if(num>0){
|
if(num>0){
|
||||||
player.chooseToDiscard(num,'是否弃置'+num+'张手牌,并对'+get.translation(trigger.source)+'造成一点伤害?').ai=function(card){
|
var next=player.chooseToDiscard(num,'是否弃置'+num+'张手牌,并对'+get.translation(trigger.source)+'造成一点伤害?');
|
||||||
|
next.logSkill=['pozhen',trigger.source];
|
||||||
|
next.ai=function(card){
|
||||||
if(ai.get.damageEffect(trigger.source,player,player)>0&&num<=2){
|
if(ai.get.damageEffect(trigger.source,player,player)>0&&num<=2){
|
||||||
return 6-ai.get.value(card);
|
return 6-ai.get.value(card);
|
||||||
}
|
}
|
||||||
|
@ -5068,11 +5078,11 @@ character.swd={
|
||||||
}
|
}
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('pozhen',trigger.source);
|
|
||||||
if(event.num>0){
|
if(event.num>0){
|
||||||
trigger.source.damage();
|
trigger.source.damage();
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
player.logSkill('pozhen',trigger.source);
|
||||||
var cards=trigger.source.get('h');
|
var cards=trigger.source.get('h');
|
||||||
cards.sort(lib.sort.random);
|
cards.sort(lib.sort.random);
|
||||||
trigger.source.discard(cards.slice(0,-event.num));
|
trigger.source.discard(cards.slice(0,-event.num));
|
||||||
|
@ -5605,9 +5615,11 @@ character.swd={
|
||||||
direct:true,
|
direct:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseToDiscard('he','是否弃置一张装备牌抵消伤害?',function(card,player){
|
var next=player.chooseToDiscard('he','是否弃置一张装备牌抵消伤害?',function(card,player){
|
||||||
return get.type(card)=='equip';
|
return get.type(card)=='equip';
|
||||||
}).ai=function(card){
|
});
|
||||||
|
next.logSkill='yulin';
|
||||||
|
next.ai=function(card){
|
||||||
if(player.hp==1||trigger.num>1){
|
if(player.hp==1||trigger.num>1){
|
||||||
return 9-ai.get.value(card);
|
return 9-ai.get.value(card);
|
||||||
}
|
}
|
||||||
|
@ -5618,7 +5630,6 @@ character.swd={
|
||||||
};
|
};
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('yulin');
|
|
||||||
game.delay();
|
game.delay();
|
||||||
trigger.untrigger();
|
trigger.untrigger();
|
||||||
trigger.finish();
|
trigger.finish();
|
||||||
|
@ -5792,9 +5803,11 @@ character.swd={
|
||||||
direct:true,
|
direct:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseToDiscard('朱羽:是否弃置一张红色手牌使其受到一点火焰伤害?',function(card){
|
var next=player.chooseToDiscard('朱羽:是否弃置一张红色手牌使其受到一点火焰伤害?',function(card){
|
||||||
return get.color(card)=='red';
|
return get.color(card)=='red';
|
||||||
}).ai=function(card){
|
});
|
||||||
|
next.logSkill=['zhuyu',trigger.player,'fire'];
|
||||||
|
next.ai=function(card){
|
||||||
if(trigger.player.hasSkillTag('nofire')) return 0;
|
if(trigger.player.hasSkillTag('nofire')) return 0;
|
||||||
if(ai.get.damageEffect(trigger.player,player,player,'fire')>0){
|
if(ai.get.damageEffect(trigger.player,player,player,'fire')>0){
|
||||||
return 9-ai.get.value(card);
|
return 9-ai.get.value(card);
|
||||||
|
@ -5803,7 +5816,6 @@ character.swd={
|
||||||
};
|
};
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('zhuyu',trigger.player,'fire');
|
|
||||||
trigger.player.damage('fire');
|
trigger.player.damage('fire');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5822,9 +5834,11 @@ character.swd={
|
||||||
direct:true,
|
direct:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseToDiscard('是否弃置一张黑色手牌使其横置或翻面?',function(card){
|
var next=player.chooseToDiscard('是否弃置一张黑色手牌使其横置或翻面?',function(card){
|
||||||
return get.color(card)=='black';
|
return get.color(card)=='black';
|
||||||
}).ai=function(card){
|
});
|
||||||
|
next.logSkill='ningshuang';
|
||||||
|
next.ai=function(card){
|
||||||
if(ai.get.attitude(player,trigger.player)<0){
|
if(ai.get.attitude(player,trigger.player)<0){
|
||||||
return 9-ai.get.value(card);
|
return 9-ai.get.value(card);
|
||||||
}
|
}
|
||||||
|
@ -5832,7 +5846,6 @@ character.swd={
|
||||||
};
|
};
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('ningshuang');
|
|
||||||
if(trigger.player.classList.contains('turnedover')){
|
if(trigger.player.classList.contains('turnedover')){
|
||||||
trigger.player.loseHp();
|
trigger.player.loseHp();
|
||||||
}
|
}
|
||||||
|
@ -6239,7 +6252,7 @@ character.swd={
|
||||||
list=list.concat(game.players[i].get('j'));
|
list=list.concat(game.players[i].get('j'));
|
||||||
}
|
}
|
||||||
var dialog=ui.create.dialog(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+get.translation(trigger.player.judging)+
|
var dialog=ui.create.dialog(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+get.translation(trigger.player.judging)+
|
||||||
',是否发动【天轮】?',list);
|
',是否发动【天轮】?',list,'hidden');
|
||||||
player.chooseButton(dialog,function(button){
|
player.chooseButton(dialog,function(button){
|
||||||
var card=button.link;
|
var card=button.link;
|
||||||
var trigger=_status.event.parent._trigger;
|
var trigger=_status.event.parent._trigger;
|
||||||
|
@ -6275,7 +6288,7 @@ character.swd={
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
longyin:{
|
hlongyin:{
|
||||||
enable:'phaseUse',
|
enable:'phaseUse',
|
||||||
usable:1,
|
usable:1,
|
||||||
filterCard:function(card,player){
|
filterCard:function(card,player){
|
||||||
|
@ -6875,16 +6888,17 @@ character.swd={
|
||||||
ai.get.attitude(player,trigger.source)<0&&
|
ai.get.attitude(player,trigger.source)<0&&
|
||||||
ai.get.damageEffect(trigger.player,trigger.source,player)<
|
ai.get.damageEffect(trigger.player,trigger.source,player)<
|
||||||
ai.get.damageEffect(trigger.source,trigger.player,player);
|
ai.get.damageEffect(trigger.source,trigger.player,player);
|
||||||
player.chooseToDiscard('是否将伤害来源('+get.translation(trigger.source)+
|
var next=player.chooseToDiscard('是否将伤害来源('+get.translation(trigger.source)+
|
||||||
')和目标('+get.translation(trigger.player)+')对调?','he').ai=function(card){
|
')和目标('+get.translation(trigger.player)+')对调?','he');
|
||||||
|
next.ai=function(card){
|
||||||
if(go){
|
if(go){
|
||||||
return 10-ai.get.value(card);
|
return 10-ai.get.value(card);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
};
|
};
|
||||||
|
next.logSkill='yinguo';
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('yinguo');
|
|
||||||
var target=trigger.player;
|
var target=trigger.player;
|
||||||
trigger.player=trigger.source;
|
trigger.player=trigger.source;
|
||||||
trigger.source=target;
|
trigger.source=target;
|
||||||
|
@ -7568,13 +7582,14 @@ character.swd={
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
var dis=trigger.target.num('h','shan')||trigger.target.num('e','bagua')||trigger.target.num('h')>2;
|
var dis=trigger.target.num('h','shan')||trigger.target.num('e','bagua')||trigger.target.num('h')>2;
|
||||||
player.chooseToDiscard('是否发动【狩猎】?').ai=function(card){
|
var next=player.chooseToDiscard('是否发动【狩猎】?');
|
||||||
|
next.ai=function(card){
|
||||||
if(dis) return 7-ai.get.value(card);
|
if(dis) return 7-ai.get.value(card);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
next.logSkill='shoulie';
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('shoulie');
|
|
||||||
trigger.directHit=true;
|
trigger.directHit=true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7817,7 +7832,7 @@ character.swd={
|
||||||
bingfeng2_info:'不能使用或打出手牌',
|
bingfeng2_info:'不能使用或打出手牌',
|
||||||
bingfeng_info:'限定技,出牌阶段,你可以指定至多三个目标与其一同翻面,且处于翻面状态时不能使用或打出手牌;若如此做,你失去技能玄咒并减少一点体力上限',
|
bingfeng_info:'限定技,出牌阶段,你可以指定至多三个目标与其一同翻面,且处于翻面状态时不能使用或打出手牌;若如此做,你失去技能玄咒并减少一点体力上限',
|
||||||
guozao:'聒噪',
|
guozao:'聒噪',
|
||||||
guozao_info:'锁定技,每当距离你1以内的角色受到一次伤害,若伤害来源不你,你须观看牌堆顶的三张牌,然后指定一名有手牌的角色将手牌与这些牌交换',
|
guozao_info:'锁定技,每当距离你1以内的角色受到一次伤害,若伤害来源不你,你须观看牌堆顶的三张牌,然后指定距离2以内的一名有手牌角色将手牌与这些牌交换',
|
||||||
heihuo:'黑火',
|
heihuo:'黑火',
|
||||||
heihuo_info:'出牌阶段,你可以弃置一张装备牌,令你的手牌数加倍;若你的手牌因此达到8张或更多,你立即受到3点火焰伤害且本回合内不能再次发动黑火',
|
heihuo_info:'出牌阶段,你可以弃置一张装备牌,令你的手牌数加倍;若你的手牌因此达到8张或更多,你立即受到3点火焰伤害且本回合内不能再次发动黑火',
|
||||||
yaotong:'妖瞳',
|
yaotong:'妖瞳',
|
||||||
|
@ -8097,7 +8112,7 @@ character.swd={
|
||||||
tianhuo:'天火',
|
tianhuo:'天火',
|
||||||
huanyin:'幻音',
|
huanyin:'幻音',
|
||||||
tianlun:'天轮',
|
tianlun:'天轮',
|
||||||
longyin:'龙吟',
|
hlongyin:'龙吟',
|
||||||
lanzhi:'兰芷',
|
lanzhi:'兰芷',
|
||||||
duanyi:'断意',
|
duanyi:'断意',
|
||||||
miesheng:'灭生',
|
miesheng:'灭生',
|
||||||
|
@ -8166,7 +8181,7 @@ character.swd={
|
||||||
duanyi_info:'出牌阶段限一次,你可以弃置两张杀,对一名角色造成一点伤害,然后其翻面并摸X张牌,X为其已损失的体力值',
|
duanyi_info:'出牌阶段限一次,你可以弃置两张杀,对一名角色造成一点伤害,然后其翻面并摸X张牌,X为其已损失的体力值',
|
||||||
guxing_info:'出牌阶段,你可以将最后至多X张手牌当杀使用,此杀无视距离且可以指定至多3个目标,每造成一次伤害,你摸一张牌,X为你已损失的体力值且至少为1。',
|
guxing_info:'出牌阶段,你可以将最后至多X张手牌当杀使用,此杀无视距离且可以指定至多3个目标,每造成一次伤害,你摸一张牌,X为你已损失的体力值且至少为1。',
|
||||||
tianlun_info:'任意一名角色的判定生效前,你可以弃置一张场上角色的判定牌代替之',
|
tianlun_info:'任意一名角色的判定生效前,你可以弃置一张场上角色的判定牌代替之',
|
||||||
longyin_info:'出牌阶段,你可以弃置任意张颜色相同且点数不同的牌,并获得逆时针座位距离与卡牌点数相同的角色区域内的一张牌。每阶段限一次',
|
hlongyin_info:'出牌阶段,你可以弃置任意张颜色相同且点数不同的牌,并获得逆时针座位距离与卡牌点数相同的角色区域内的一张牌。每阶段限一次',
|
||||||
lanzhi_info:'每当你即将造成伤害,可以防止此伤害,然后摸两张牌。每回合限发动一次。',
|
lanzhi_info:'每当你即将造成伤害,可以防止此伤害,然后摸两张牌。每回合限发动一次。',
|
||||||
tianhuo_info:'出牌阶段,你可以令所有角色弃置其判定区域内的牌,并受到没有来源的等量火焰伤害,每阶段限一次',
|
tianhuo_info:'出牌阶段,你可以令所有角色弃置其判定区域内的牌,并受到没有来源的等量火焰伤害,每阶段限一次',
|
||||||
huanyin_info:'锁定技,每当你成为其他角色的卡牌的目标时,你进行一次判定,若为黑桃则取消之,若为红桃你摸一张牌',
|
huanyin_info:'锁定技,每当你成为其他角色的卡牌的目标时,你进行一次判定,若为黑桃则取消之,若为红桃你摸一张牌',
|
||||||
|
|
|
@ -408,7 +408,9 @@ character.xianjian={
|
||||||
targets.push(game.players[i]);
|
targets.push(game.players[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
player.chooseToDiscard('是否对'+get.translation(targets)+'发动【忘忧】?','he').ai=function(card){
|
var next=player.chooseToDiscard('是否对'+get.translation(targets)+'发动【忘忧】?','he');
|
||||||
|
next.logSkill=['wangyou',event.targets];
|
||||||
|
next.ai=function(card){
|
||||||
if(num<=0) return 0;
|
if(num<=0) return 0;
|
||||||
switch(num){
|
switch(num){
|
||||||
case 1:return 5-ai.get.value(card);
|
case 1:return 5-ai.get.value(card);
|
||||||
|
@ -420,7 +422,6 @@ character.xianjian={
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
event.targets.sort(lib.sort.seat);
|
event.targets.sort(lib.sort.seat);
|
||||||
player.logSkill('wangyou',event.targets);
|
|
||||||
game.asyncDraw(event.targets);
|
game.asyncDraw(event.targets);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -760,7 +761,8 @@ character.xianjian={
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(num){
|
if(num){
|
||||||
player.chooseToDiscard(num,'是否发动【千方】?','he').ai=function(card){
|
var next=player.chooseToDiscard(num,'是否发动【千方】?','he');
|
||||||
|
next.ai=function(card){
|
||||||
if(ainum>=0){
|
if(ainum>=0){
|
||||||
switch(num){
|
switch(num){
|
||||||
case 1:return 8-ai.get.value(card);
|
case 1:return 8-ai.get.value(card);
|
||||||
|
@ -770,6 +772,8 @@ character.xianjian={
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
next.logSkill='qianfang';
|
||||||
|
event.logged=true;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
player.chooseBool('是否发动【千方】?').ai=function(){
|
player.chooseBool('是否发动【千方】?').ai=function(){
|
||||||
|
@ -781,7 +785,7 @@ character.xianjian={
|
||||||
player.storage.xuanning=0;
|
player.storage.xuanning=0;
|
||||||
player.unmarkSkill('xuanning');
|
player.unmarkSkill('xuanning');
|
||||||
player.addTempSkill('qianfang2','phaseAfter');
|
player.addTempSkill('qianfang2','phaseAfter');
|
||||||
player.logSkill('qianfang');
|
if(!event.logged) player.logSkill('qianfang');
|
||||||
player.useCard({name:'wanjian'},event.targets);
|
player.useCard({name:'wanjian'},event.targets);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -1223,7 +1227,9 @@ character.xianjian={
|
||||||
trigger:{target:'useCardToBefore'},
|
trigger:{target:'useCardToBefore'},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseToDiscard('是否弃置两张牌使'+get.translation(trigger.card)+'失效?','he',2).ai=function(card){
|
var next=player.chooseToDiscard('是否弃置两张牌使'+get.translation(trigger.card)+'失效?','he',2);
|
||||||
|
next.logSkill='xiaoyao';
|
||||||
|
next.ai=function(card){
|
||||||
if(ai.get.effect(player,trigger.card,trigger.player,player)<0){
|
if(ai.get.effect(player,trigger.card,trigger.player,player)<0){
|
||||||
if(get.tag(trigger.card,'respondSha')&&player.num('h','sha')) return 0;
|
if(get.tag(trigger.card,'respondSha')&&player.num('h','sha')) return 0;
|
||||||
if(get.tag(trigger.card,'respondShan')&&player.num('h','shan')) return 0;
|
if(get.tag(trigger.card,'respondShan')&&player.num('h','shan')) return 0;
|
||||||
|
@ -1235,7 +1241,6 @@ character.xianjian={
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
trigger.untrigger();
|
trigger.untrigger();
|
||||||
trigger.finish();
|
trigger.finish();
|
||||||
player.logSkill('xiaoyao');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
2014
character/yijiang.js
|
@ -658,12 +658,13 @@ character.yxs={
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseToDiscard('he','是否弃置一张黑色牌并收回'+get.translation(trigger.card)+'?',{color:'black'}).ai=function(card){
|
var next=player.chooseToDiscard('he','是否弃置一张黑色牌并收回'+get.translation(trigger.card)+'?',{color:'black'});
|
||||||
|
next.ai=function(card){
|
||||||
return ai.get.value(trigger.card)-ai.get.value(card);
|
return ai.get.value(trigger.card)-ai.get.value(card);
|
||||||
}
|
}
|
||||||
|
next.logSkill='jieyong';
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('jieyong');
|
|
||||||
player.gain(trigger.card,'gain2');
|
player.gain(trigger.card,'gain2');
|
||||||
player.addTempSkill('jieyong2',['phaseAfter','phaseBegin']);
|
player.addTempSkill('jieyong2',['phaseAfter','phaseBegin']);
|
||||||
}
|
}
|
||||||
|
@ -801,15 +802,16 @@ character.yxs={
|
||||||
"step 0"
|
"step 0"
|
||||||
var val=ai.get.value(trigger.card);
|
var val=ai.get.value(trigger.card);
|
||||||
var suit=get.suit(trigger.card);
|
var suit=get.suit(trigger.card);
|
||||||
player.chooseToDiscard('he','逐鹿:是否发动弃置一张'+get.translation(suit)+
|
var next=player.chooseToDiscard('he','逐鹿:是否发动弃置一张'+get.translation(suit)+
|
||||||
'牌并获得'+get.translation(trigger.card)+'?',{suit:suit}).ai=function(card){
|
'牌并获得'+get.translation(trigger.card)+'?',{suit:suit});
|
||||||
|
next.ai=function(card){
|
||||||
return val-ai.get.value(card);
|
return val-ai.get.value(card);
|
||||||
};
|
};
|
||||||
|
next.logSkill='zhulu';
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.gain(trigger.card,'gain2');
|
player.gain(trigger.card,'gain2');
|
||||||
player.addTempSkill('zhulu2','phaseAfter');
|
player.addTempSkill('zhulu2','phaseAfter');
|
||||||
player.logSkill('zhulu');
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
|
216
game/game.js
|
@ -239,6 +239,12 @@
|
||||||
else{
|
else{
|
||||||
ui.arena.classList.remove('mobile');
|
ui.arena.classList.remove('mobile');
|
||||||
}
|
}
|
||||||
|
if(lib.config.layout=='default'){
|
||||||
|
ui.arena.classList.add('oldlayout');
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
ui.arena.classList.remove('oldlayout');
|
||||||
|
}
|
||||||
if(lib.config.layout=='default'&&lib.config.hp_style=='official'){
|
if(lib.config.layout=='default'&&lib.config.hp_style=='official'){
|
||||||
ui.arena.classList.add('hpimage');
|
ui.arena.classList.add('hpimage');
|
||||||
}
|
}
|
||||||
|
@ -359,7 +365,7 @@
|
||||||
item:{
|
item:{
|
||||||
default:'无',
|
default:'无',
|
||||||
blur:'模糊',
|
blur:'模糊',
|
||||||
gray:'黑色',
|
gray:'黑白',
|
||||||
sepia:'怀旧',
|
sepia:'怀旧',
|
||||||
invert:'反色',
|
invert:'反色',
|
||||||
saturate:'饱和',
|
saturate:'饱和',
|
||||||
|
@ -1748,8 +1754,7 @@
|
||||||
help:{
|
help:{
|
||||||
'游戏选项':'<ul><li>控制台命令<br>开启后可用浏览器控制台控制游戏<li>自动确认<br>开启后当候选目标仅有1个时点击目标无需再点击确定<li>'+
|
'游戏选项':'<ul><li>控制台命令<br>开启后可用浏览器控制台控制游戏<li>自动确认<br>开启后当候选目标仅有1个时点击目标无需再点击确定<li>'+
|
||||||
'触屏模式<br>可消除iOS等设备上300ms的点击延迟,但开启后无法使用鼠标<li>滚轮控制手牌<br>开启后滚轮可控制手牌的左右滚动,建议Mac等具备横向滚动功能的设备关闭此选项'+
|
'触屏模式<br>可消除iOS等设备上300ms的点击延迟,但开启后无法使用鼠标<li>滚轮控制手牌<br>开启后滚轮可控制手牌的左右滚动,建议Mac等具备横向滚动功能的设备关闭此选项'+
|
||||||
'<li>隐藏非全身皮肤<br>在新版布局中,若角色没有全身皮肤将被隐藏<li>游戏玩法<br>为游戏增加不同玩法,开启后可在帮助中查看介绍'+
|
'<li>隐藏非全身皮肤<br>在新版布局中,若角色没有全身皮肤将被隐藏<li>游戏玩法<br>为游戏增加不同玩法,开启后可在帮助中查看介绍',
|
||||||
'<li>加强主公<br>反贼人数多于2时主公会额外增加一个技能(每个主公的额外技能固定,非常备主公增加天命)',
|
|
||||||
'游戏操作':'<ul><li>长按/鼠标悬停/右键单击(需在设置中开启)显示信息<li>触屏模式中双指点击切换暂停<li>移动布局中,点击顶部的左半边或右半边可显示按钮,双击顶部可令界面下移(方便标身份)<li>键盘快捷键<br>'+
|
'游戏操作':'<ul><li>长按/鼠标悬停/右键单击(需在设置中开启)显示信息<li>触屏模式中双指点击切换暂停<li>移动布局中,点击顶部的左半边或右半边可显示按钮,双击顶部可令界面下移(方便标身份)<li>键盘快捷键<br>'+
|
||||||
'<table><tr><td>a<td>切换托管<tr><td>c<td>打开设置<tr><td>w<td>切换不询问无懈<tr><td>▭<td>暂停</ul>',
|
'<table><tr><td>a<td>切换托管<tr><td>c<td>打开设置<tr><td>w<td>切换不询问无懈<tr><td>▭<td>暂停</ul>',
|
||||||
'游戏命令':'<div style="margin:10px">变量名</div><ul style="margin-top:0"><li>场上角色<br>game.players<li>阵亡角色<br>game.dead'+
|
'游戏命令':'<div style="margin:10px">变量名</div><ul style="margin-top:0"><li>场上角色<br>game.players<li>阵亡角色<br>game.dead'+
|
||||||
|
@ -1764,7 +1769,8 @@
|
||||||
'<li>使用卡牌<br>player.useCard(card,<br>targets)<li>死亡<br>player.die()<li>复活<br>player.revive(hp)</ul>'+
|
'<li>使用卡牌<br>player.useCard(card,<br>targets)<li>死亡<br>player.die()<li>复活<br>player.revive(hp)</ul>'+
|
||||||
'<div style="margin:10px">游戏操作</div><ul style="margin-top:0"><li>在命令输入框中输出结果<br>game.print(str)<li>游戏结束<br>game.over(bool)'+
|
'<div style="margin:10px">游戏操作</div><ul style="margin-top:0"><li>在命令输入框中输出结果<br>game.print(str)<li>游戏结束<br>game.over(bool)'+
|
||||||
'<li>角色资料<br>lib.character<li>卡牌资料<br>lib.card',
|
'<li>角色资料<br>lib.character<li>卡牌资料<br>lib.card',
|
||||||
'身份模式':'<div style="margin:10px">明忠</div><ul style="margin-top:0"><li>本模式需要8名玩家进行游戏,使用的身份牌为:1主公、2忠臣、4反贼和1内奸。游戏开始时,每名玩家随机获得一个身份,由系统随机选择一名忠臣身份的玩家亮出身份(将忠臣牌正面朝上放在面前),其他身份(包括主公)的玩家不亮出身份。<li>'+
|
'身份模式':'<div style="margin:10px">选项</div><ul style="margin-top:0"><li>加强主公<br>反贼人数多于2时主公会额外增加一个技能(每个主公的额外技能固定,非常备主公增加天命)</ul>'+
|
||||||
|
'<div style="margin:10px">明忠</div><ul style="margin-top:0"><li>本模式需要8名玩家进行游戏,使用的身份牌为:1主公、2忠臣、4反贼和1内奸。游戏开始时,每名玩家随机获得一个身份,由系统随机选择一名忠臣身份的玩家亮出身份(将忠臣牌正面朝上放在面前),其他身份(包括主公)的玩家不亮出身份。<li>'+
|
||||||
'首先由亮出身份的忠臣玩家随机获得六张武将牌,挑选一名角色,并将选好的武将牌展示给其他玩家。之后其余每名玩家随机获得三张武将牌,各自从其中挑选一张同时亮出<li>'+
|
'首先由亮出身份的忠臣玩家随机获得六张武将牌,挑选一名角色,并将选好的武将牌展示给其他玩家。之后其余每名玩家随机获得三张武将牌,各自从其中挑选一张同时亮出<li>'+
|
||||||
'亮出身份牌的忠臣增加1点体力上限。角色濒死和死亡的结算及胜利条件与普通身份局相同。',
|
'亮出身份牌的忠臣增加1点体力上限。角色濒死和死亡的结算及胜利条件与普通身份局相同。',
|
||||||
'战棋模式':
|
'战棋模式':
|
||||||
|
@ -1805,6 +1811,7 @@
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
node.addEventListener('mouseenter',ui.click.hoverpopped);
|
node.addEventListener('mouseenter',ui.click.hoverpopped);
|
||||||
|
// node.addEventListener('mouseleave',ui.click.hoverpopped_leave);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
placePoppedDialog:function(dialog,e){
|
placePoppedDialog:function(dialog,e){
|
||||||
|
@ -2203,6 +2210,9 @@
|
||||||
playerproto:{
|
playerproto:{
|
||||||
phase:function(){
|
phase:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
|
if(player.node.judges.childElementCount){
|
||||||
|
player.popup('判定阶段');
|
||||||
|
}
|
||||||
player.phaseJudge();
|
player.phaseJudge();
|
||||||
"step 1"
|
"step 1"
|
||||||
player.phaseDraw();
|
player.phaseDraw();
|
||||||
|
@ -2213,6 +2223,7 @@
|
||||||
game.delayx();
|
game.delayx();
|
||||||
}
|
}
|
||||||
"step 2"
|
"step 2"
|
||||||
|
if(!player.skipList.contains('phaseUse')) player.popup('出牌阶段');
|
||||||
player.phaseUse();
|
player.phaseUse();
|
||||||
"step 3"
|
"step 3"
|
||||||
player.phaseDiscard()
|
player.phaseDiscard()
|
||||||
|
@ -2255,7 +2266,7 @@
|
||||||
},
|
},
|
||||||
phaseUse:function(){
|
phaseUse:function(){
|
||||||
"step 0";
|
"step 0";
|
||||||
player.chooseToUse();
|
player.chooseToUse().modCancel='结束';
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
event.goto(0);
|
event.goto(0);
|
||||||
|
@ -2265,6 +2276,9 @@
|
||||||
"step 0"
|
"step 0"
|
||||||
event.num=player.num('h')-game.checkMod(player,player.hp,'maxHandcard',player.get('s'));
|
event.num=player.num('h')-game.checkMod(player,player.hp,'maxHandcard',player.get('s'));
|
||||||
if(event.num<=0) event.finish();
|
if(event.num<=0) event.finish();
|
||||||
|
else{
|
||||||
|
player.popup('弃牌阶段');
|
||||||
|
}
|
||||||
event.trigger('phaseDiscard');
|
event.trigger('phaseDiscard');
|
||||||
"step 1"
|
"step 1"
|
||||||
player.chooseToDiscard(num,true);
|
player.chooseToDiscard(num,true);
|
||||||
|
@ -2352,6 +2366,14 @@
|
||||||
event.skillDialog.close();
|
event.skillDialog.close();
|
||||||
}
|
}
|
||||||
if(event.result.bool){
|
if(event.result.bool){
|
||||||
|
if(event.logSkill){
|
||||||
|
if(typeof event.logSkill=='string'){
|
||||||
|
player.logSkill(event.logSkill);
|
||||||
|
}
|
||||||
|
else if(Array.isArray(event.logSkill)){
|
||||||
|
player.logSkill.apply(player,event.logSkill);
|
||||||
|
}
|
||||||
|
}
|
||||||
if(event.result.card||!event.result.skill){
|
if(event.result.card||!event.result.skill){
|
||||||
player.useCard(event.result.card,event.result.cards,event.result.targets,event.result.skill);
|
player.useCard(event.result.card,event.result.cards,event.result.targets,event.result.skill);
|
||||||
}
|
}
|
||||||
|
@ -2464,6 +2486,14 @@
|
||||||
if(event.promptdiscard){
|
if(event.promptdiscard){
|
||||||
event.promptdiscard.close();
|
event.promptdiscard.close();
|
||||||
}
|
}
|
||||||
|
if(event.logSkill&&event.result.bool){
|
||||||
|
if(typeof event.logSkill=='string'){
|
||||||
|
player.logSkill(event.logSkill);
|
||||||
|
}
|
||||||
|
else if(Array.isArray(event.logSkill)){
|
||||||
|
player.logSkill.apply(player,event.logSkill);
|
||||||
|
}
|
||||||
|
}
|
||||||
player.discard(event.result.cards);
|
player.discard(event.result.cards);
|
||||||
if(event.dialog) event.dialog.close();
|
if(event.dialog) event.dialog.close();
|
||||||
},
|
},
|
||||||
|
@ -3149,7 +3179,9 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(event.animate!=false||num>0){
|
if(event.animate!=false||num>0){
|
||||||
if(num==0)game.delayx();
|
if(num==0){
|
||||||
|
if(event.delayx!==false) game.delayx();
|
||||||
|
}
|
||||||
else game.delayx(0.5);
|
else game.delayx(0.5);
|
||||||
}
|
}
|
||||||
"step 3"
|
"step 3"
|
||||||
|
@ -3169,7 +3201,7 @@
|
||||||
}
|
}
|
||||||
"step 5"
|
"step 5"
|
||||||
if(document.getElementsByClassName('thrown').length){
|
if(document.getElementsByClassName('thrown').length){
|
||||||
game.delayx();
|
if(event.delayx!==false) game.delayx();
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
event.finish();
|
event.finish();
|
||||||
|
@ -4463,6 +4495,13 @@
|
||||||
return cards;
|
return cards;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
syncStorage:function(skill){
|
||||||
|
switch(get.itemtype(this.storage[skill])){
|
||||||
|
case 'cards':game.addVideo('storage',this,[skill,get.cardsInfo(this.storage[skill]),'cards']);break;
|
||||||
|
case 'card':game.addVideo('storage',this,[skill,get.cardInfo(this.storage[skill]),'cards']);break;
|
||||||
|
default:game.addVideo('storage',this,[skill,this.storage[skill]]);
|
||||||
|
}
|
||||||
|
},
|
||||||
playerfocus:function(time){
|
playerfocus:function(time){
|
||||||
time=time||1000;
|
time=time||1000;
|
||||||
this.classList.add('playerfocus');
|
this.classList.add('playerfocus');
|
||||||
|
@ -6035,7 +6074,7 @@
|
||||||
|
|
||||||
var dx=this.offsetLeft+this.offsetWidth/2-52-node.offsetLeft;
|
var dx=this.offsetLeft+this.offsetWidth/2-52-node.offsetLeft;
|
||||||
var dy=this.offsetTop+this.offsetHeight/2-52-node.offsetTop;
|
var dy=this.offsetTop+this.offsetHeight/2-52-node.offsetTop;
|
||||||
if(node.style.transform&&node.style.transform!='none'){
|
if(node.style.transform&&node.style.transform!='none'&&node.style.transform.indexOf('translate')==-1){
|
||||||
node.style.transform+=' translate('+dx+'px,'+dy+'px)';
|
node.style.transform+=' translate('+dx+'px,'+dy+'px)';
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -6220,7 +6259,7 @@
|
||||||
ny=ny[0]*ui.arena.offsetHeight/100+ny[1];
|
ny=ny[0]*ui.arena.offsetHeight/100+ny[1];
|
||||||
var dx=this.offsetLeft+this.offsetWidth/2-52-nx;
|
var dx=this.offsetLeft+this.offsetWidth/2-52-nx;
|
||||||
var dy=this.offsetTop+this.offsetHeight/2-52-ny;
|
var dy=this.offsetTop+this.offsetHeight/2-52-ny;
|
||||||
if(node.style.transform&&node.style.transform!='none'){
|
if(node.style.transform&&node.style.transform!='none'&&node.style.transform.indexOf('translate')==-1){
|
||||||
node.style.transform+=' translate('+dx+'px,'+dy+'px)';
|
node.style.transform+=' translate('+dx+'px,'+dy+'px)';
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -6264,7 +6303,7 @@
|
||||||
ny=ny[0]*ui.arena.offsetHeight/100+ny[1];
|
ny=ny[0]*ui.arena.offsetHeight/100+ny[1];
|
||||||
var dx=this.offsetLeft+this.offsetWidth/2-52-nx;
|
var dx=this.offsetLeft+this.offsetWidth/2-52-nx;
|
||||||
var dy=this.offsetTop+this.offsetHeight/2-52-ny;
|
var dy=this.offsetTop+this.offsetHeight/2-52-ny;
|
||||||
if(node.style.transform&&node.style.transform!='none'){
|
if(node.style.transform&&node.style.transform!='none'&&node.style.transform.indexOf('translate')==-1){
|
||||||
node.style.transform+=' translate('+dx+'px,'+dy+'px)';
|
node.style.transform+=' translate('+dx+'px,'+dy+'px)';
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -6358,7 +6397,7 @@
|
||||||
// node.dataset.position=player.dataset.position;
|
// node.dataset.position=player.dataset.position;
|
||||||
var dx=player.offsetLeft+player.offsetWidth/2-52-node.offsetLeft;
|
var dx=player.offsetLeft+player.offsetWidth/2-52-node.offsetLeft;
|
||||||
var dy=player.offsetTop+player.offsetHeight/2-52-node.offsetTop;
|
var dy=player.offsetTop+player.offsetHeight/2-52-node.offsetTop;
|
||||||
if(node.style.transform&&node.style.transform!='none'){
|
if(node.style.transform&&node.style.transform!='none'&&node.style.transform.indexOf('translate')==-1){
|
||||||
node.style.transform+=' translate('+dx+'px,'+dy+'px)';
|
node.style.transform+=' translate('+dx+'px,'+dy+'px)';
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -6708,21 +6747,26 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
var zoom1=0.9,zoom2=0.95;
|
||||||
|
if(arguments[1]=='phase'){
|
||||||
|
zoom1=1.05;
|
||||||
|
zoom2=1.05;
|
||||||
|
}
|
||||||
if(lib.isMobileMe(this)){
|
if(lib.isMobileMe(this)){
|
||||||
if(this.isLinked()){
|
if(this.isLinked()){
|
||||||
this.node.avatar.style.transform='scale(0.9) rotate(-90deg)';
|
this.node.avatar.style.transform='scale('+zoom1+') rotate(-90deg)';
|
||||||
this.node.avatar2.style.transform='scale(0.9) rotate(-90deg)';
|
this.node.avatar2.style.transform='scale('+zoom1+') rotate(-90deg)';
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
this.node.avatar.style.transform='scale(0.9)';
|
this.node.avatar.style.transform='scale('+zoom1+')';
|
||||||
this.node.avatar2.style.transform='scale(0.9)';
|
this.node.avatar2.style.transform='scale('+zoom1+')';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(this.isLinked()&&lib.isNewLayout()){
|
else if(this.isLinked()&&lib.isNewLayout()){
|
||||||
this.style.transform='scale(0.95) rotate(-90deg)';
|
this.style.transform='scale('+zoom2+') rotate(-90deg)';
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
this.style.transform='scale(0.95)';
|
this.style.transform='scale('+zoom2+')';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.queue();
|
this.queue();
|
||||||
|
@ -6867,7 +6911,7 @@
|
||||||
|
|
||||||
var dx=player.offsetLeft+player.offsetWidth/2-52-this.offsetLeft;
|
var dx=player.offsetLeft+player.offsetWidth/2-52-this.offsetLeft;
|
||||||
var dy=player.offsetTop+player.offsetHeight/2-52-this.offsetTop;
|
var dy=player.offsetTop+player.offsetHeight/2-52-this.offsetTop;
|
||||||
if(this.style.transform&&this.style.transform!='none'){
|
if(this.style.transform&&this.style.transform!='none'&&this.style.transform.indexOf('translate')==-1){
|
||||||
this.style.transform+=' translate('+dx+'px,'+dy+'px)';
|
this.style.transform+=' translate('+dx+'px,'+dy+'px)';
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -7552,7 +7596,9 @@
|
||||||
_status.currentPhase.classList.remove('glow_phase');
|
_status.currentPhase.classList.remove('glow_phase');
|
||||||
}
|
}
|
||||||
player.classList.add('glow_phase');
|
player.classList.add('glow_phase');
|
||||||
|
// player.animate('playerbright',500);
|
||||||
}
|
}
|
||||||
|
// player.$damage(null,'phase')
|
||||||
game.addVideo('phaseChange',player);
|
game.addVideo('phaseChange',player);
|
||||||
_status.currentPhase=player;
|
_status.currentPhase=player;
|
||||||
game.log();
|
game.log();
|
||||||
|
@ -8746,6 +8792,7 @@
|
||||||
for(var j=0;j<l2.length;j++){
|
for(var j=0;j<l2.length;j++){
|
||||||
if(l2[j].suit==l1[i][0]&&l2[j].number==l1[i][1]&&l2[j].name==l1[i][2]){
|
if(l2[j].suit==l1[i][0]&&l2[j].number==l1[i][1]&&l2[j].name==l1[i][2]){
|
||||||
l2[j].delete();
|
l2[j].delete();
|
||||||
|
l2.splice(j--,1);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9968,13 +10015,21 @@
|
||||||
else{
|
else{
|
||||||
ui.arena.classList.add('selecting');
|
ui.arena.classList.add('selecting');
|
||||||
_status.imchoosing=true;
|
_status.imchoosing=true;
|
||||||
if(!_status.noconfirm){
|
if(!_status.noconfirm&&!_status.event.noconfirm){
|
||||||
if(!_status.mousedown||_status.mouseleft){
|
if(!_status.mousedown||_status.mouseleft){
|
||||||
var str='';
|
var str='';
|
||||||
if(ok) str+='o';
|
if(ok) str+='o';
|
||||||
if(!event.forced&&get.noSelected()) str+='c';
|
if(!event.forced&&get.noSelected()) str+='c';
|
||||||
ui.create.confirm(str);
|
ui.create.confirm(str);
|
||||||
}
|
}
|
||||||
|
if(ui.confirm&&ui.confirm.lastChild.link=='cancel'){
|
||||||
|
if(_status.event.parent.name=='phaseUse'&&!_status.event.skill){
|
||||||
|
ui.confirm.lastChild.innerHTML='结束';
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
ui.confirm.lastChild.innerHTML='取消';
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10887,6 +10942,7 @@
|
||||||
groupSort=function(name){
|
groupSort=function(name){
|
||||||
if(lib.card[name[2]].type=='basic') return 0;
|
if(lib.card[name[2]].type=='basic') return 0;
|
||||||
if(lib.card[name[2]].type=='stonecard') return 0.5;
|
if(lib.card[name[2]].type=='stonecard') return 0.5;
|
||||||
|
if(lib.card[name[2]].type=='mengjing') return 0.3;
|
||||||
if(lib.card[name[2]].type=='stonecharacter') return 1;
|
if(lib.card[name[2]].type=='stonecharacter') return 1;
|
||||||
if(lib.card[name[2]].type=='chess') return 1.5;
|
if(lib.card[name[2]].type=='chess') return 1.5;
|
||||||
if(lib.card[name[2]].type=='trick') return 2;
|
if(lib.card[name[2]].type=='trick') return 2;
|
||||||
|
@ -11166,6 +11222,9 @@
|
||||||
if(lib.config.layout=='mobile'||lib.config.layout=='phone'){
|
if(lib.config.layout=='mobile'||lib.config.layout=='phone'){
|
||||||
ui.arena.classList.add('mobile');
|
ui.arena.classList.add('mobile');
|
||||||
}
|
}
|
||||||
|
if(lib.config.layout=='default'){
|
||||||
|
ui.arena.classList.add('oldlayout');
|
||||||
|
}
|
||||||
if(lib.config.layout=='default'&&lib.config.hp_style=='official'){
|
if(lib.config.layout=='default'&&lib.config.hp_style=='official'){
|
||||||
ui.arena.classList.add('hpimage');
|
ui.arena.classList.add('hpimage');
|
||||||
}
|
}
|
||||||
|
@ -12114,16 +12173,17 @@
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
var clickContainer=function(){
|
var clickContainer=function(){
|
||||||
if(this.animating){
|
// if(this.animating){
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
this.animating=true;
|
// this.animating=true;
|
||||||
menu.classList.add('zoomout');
|
// menu.classList.add('zoomout');
|
||||||
menu.classList.remove('zoomin');
|
// menu.classList.remove('zoomin');
|
||||||
setTimeout(function(){
|
// setTimeout(function(){
|
||||||
menuContainer.classList.add('hidden');
|
// menuContainer.classList.add('hidden');
|
||||||
menuContainer.animating=false;
|
// menuContainer.animating=false;
|
||||||
},300);
|
// },300);
|
||||||
|
menuContainer.classList.add('hidden');
|
||||||
|
|
||||||
game.resume2();
|
game.resume2();
|
||||||
if(game.onresume2){
|
if(game.onresume2){
|
||||||
|
@ -12225,13 +12285,13 @@
|
||||||
if(menuContainer.classList.contains('hidden')){
|
if(menuContainer.classList.contains('hidden')){
|
||||||
ui.config2.classList.add('pressdown2');
|
ui.config2.classList.add('pressdown2');
|
||||||
ui.arena.classList.add('menupaused');
|
ui.arena.classList.add('menupaused');
|
||||||
menu.classList.remove('zoomout');
|
// menu.classList.remove('zoomout');
|
||||||
menu.classList.add('zoomin');
|
// menu.classList.add('zoomin');
|
||||||
menuContainer.classList.remove('hidden');
|
menuContainer.classList.remove('hidden');
|
||||||
menuContainer.animating=true;
|
// menuContainer.animating=true;
|
||||||
setTimeout(function(){
|
// setTimeout(function(){
|
||||||
menuContainer.animating=false;
|
// menuContainer.animating=false;
|
||||||
},300);
|
// },300);
|
||||||
for(var i=0;i<menuUpdates.length;i++){
|
for(var i=0;i<menuUpdates.length;i++){
|
||||||
menuUpdates[i]();
|
menuUpdates[i]();
|
||||||
}
|
}
|
||||||
|
@ -12696,9 +12756,14 @@
|
||||||
this.classList.toggle('unselectable');
|
this.classList.toggle('unselectable');
|
||||||
if(this.classList.contains('unselectable')){
|
if(this.classList.contains('unselectable')){
|
||||||
lib.config.banned.add(this.link);
|
lib.config.banned.add(this.link);
|
||||||
|
this.node.hp._innerHTML=this.node.hp.innerHTML;
|
||||||
|
this.node.hp.innerHTML='已禁用';
|
||||||
|
this.node.hp.style.top='8px';
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
lib.config.banned.remove(this.link);
|
lib.config.banned.remove(this.link);
|
||||||
|
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);
|
||||||
};
|
};
|
||||||
|
@ -12706,8 +12771,12 @@
|
||||||
for(var i=0;i<buttons.length;i++){
|
for(var i=0;i<buttons.length;i++){
|
||||||
buttons[i].classList.add('noclick');
|
buttons[i].classList.add('noclick');
|
||||||
buttons[i].listen(banCharacter);
|
buttons[i].listen(banCharacter);
|
||||||
|
buttons[i].node.hp.style.transition='all 0s';
|
||||||
if(lib.config.banned.contains(buttons[i].link)){
|
if(lib.config.banned.contains(buttons[i].link)){
|
||||||
buttons[i].classList.add('unselectable');
|
buttons[i].classList.add('unselectable');
|
||||||
|
buttons[i].node.hp._innerHTML=buttons[i].node.hp.innerHTML;
|
||||||
|
buttons[i].node.hp.innerHTML='已禁用';
|
||||||
|
buttons[i].node.hp.style.top='8px';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
page.classList.add('menu-buttons');
|
page.classList.add('menu-buttons');
|
||||||
|
@ -12812,9 +12881,13 @@
|
||||||
this.classList.toggle('unselectable');
|
this.classList.toggle('unselectable');
|
||||||
if(this.classList.contains('unselectable')){
|
if(this.classList.contains('unselectable')){
|
||||||
lib.config.bannedcards.add(this.link[2]);
|
lib.config.bannedcards.add(this.link[2]);
|
||||||
|
this.node.info._innerHTML=this.node.info.innerHTML;
|
||||||
|
this.node.info.innerHTML='已禁用';
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
lib.config.bannedcards.remove(this.link[2]);
|
lib.config.bannedcards.remove(this.link[2]);
|
||||||
|
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);
|
||||||
};
|
};
|
||||||
|
@ -12824,6 +12897,8 @@
|
||||||
buttons[i].listen(banCard);
|
buttons[i].listen(banCard);
|
||||||
if(lib.config.bannedcards.contains(buttons[i].link[2])){
|
if(lib.config.bannedcards.contains(buttons[i].link[2])){
|
||||||
buttons[i].classList.add('unselectable');
|
buttons[i].classList.add('unselectable');
|
||||||
|
buttons[i].node.info._innerHTML=buttons[i].node.info.innerHTML;
|
||||||
|
buttons[i].node.info.innerHTML='已禁用';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
page.classList.add('menu-buttons');
|
page.classList.add('menu-buttons');
|
||||||
|
@ -13836,6 +13911,9 @@
|
||||||
if(!this._poppedfunc){
|
if(!this._poppedfunc){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// if(this._poppedalready){
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
if(lib.config.touchscreen){
|
if(lib.config.touchscreen){
|
||||||
_status.touchpopping=true;
|
_status.touchpopping=true;
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
|
@ -13848,6 +13926,7 @@
|
||||||
ui.currentpopped._uiintro.delete();
|
ui.currentpopped._uiintro.delete();
|
||||||
delete ui.currentpopped._uiintro;
|
delete ui.currentpopped._uiintro;
|
||||||
}
|
}
|
||||||
|
// this._poppedalready=true;
|
||||||
ui.currentpopped=this;
|
ui.currentpopped=this;
|
||||||
uiintro.classList.add('popped');
|
uiintro.classList.add('popped');
|
||||||
uiintro.classList.add('static');
|
uiintro.classList.add('static');
|
||||||
|
@ -13873,6 +13952,9 @@
|
||||||
uiintro.addEventListener('mouseleave',ui.click.leavehoverpopped);
|
uiintro.addEventListener('mouseleave',ui.click.leavehoverpopped);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
hoverpopped_leave:function(){
|
||||||
|
this._poppedalready=false;
|
||||||
|
},
|
||||||
leavehoverpopped:function(){
|
leavehoverpopped:function(){
|
||||||
if(_status.dragged) return;
|
if(_status.dragged) return;
|
||||||
this.delete();
|
this.delete();
|
||||||
|
@ -16127,6 +16209,7 @@
|
||||||
func=function(card){
|
func=function(card){
|
||||||
if(get.type(card)=='basic') return 2;
|
if(get.type(card)=='basic') return 2;
|
||||||
if(get.type(card)=='stonecard') return -0.5;
|
if(get.type(card)=='stonecard') return -0.5;
|
||||||
|
if(get.type(card)=='mengjing') return 0.5;
|
||||||
if(get.type(card)=='stonecharacter') return 1;
|
if(get.type(card)=='stonecharacter') return 1;
|
||||||
if(get.type(card)=='chess') return 1.5;
|
if(get.type(card)=='chess') return 1.5;
|
||||||
if(get.type(card)=='trick') return -1;
|
if(get.type(card)=='trick') return -1;
|
||||||
|
@ -16357,7 +16440,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// if(!simple)
|
// if(!simple)
|
||||||
if(false){
|
if(lib.config.touchscreen){
|
||||||
var storage=node.storage;
|
var storage=node.storage;
|
||||||
for(i in storage){
|
for(i in storage){
|
||||||
if(get.info(i)&&get.info(i).intro){
|
if(get.info(i)&&get.info(i).intro){
|
||||||
|
@ -16375,34 +16458,36 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
uiintro.add(ui.create.div('.placeholder'));
|
if(false){
|
||||||
var table,tr,td;
|
uiintro.add(ui.create.div('.placeholder'));
|
||||||
table=document.createElement('table');
|
var table,tr,td;
|
||||||
tr=document.createElement('tr');
|
table=document.createElement('table');
|
||||||
table.appendChild(tr);
|
tr=document.createElement('tr');
|
||||||
td=document.createElement('td');
|
table.appendChild(tr);
|
||||||
td.innerHTML='攻击范围';
|
td=document.createElement('td');
|
||||||
tr.appendChild(td);
|
td.innerHTML='攻击范围';
|
||||||
td=document.createElement('td');
|
tr.appendChild(td);
|
||||||
td.innerHTML='进攻距离';
|
td=document.createElement('td');
|
||||||
tr.appendChild(td);
|
td.innerHTML='进攻距离';
|
||||||
td=document.createElement('td');
|
tr.appendChild(td);
|
||||||
td.innerHTML='防御距离';
|
td=document.createElement('td');
|
||||||
tr.appendChild(td);
|
td.innerHTML='防御距离';
|
||||||
|
tr.appendChild(td);
|
||||||
|
|
||||||
tr=document.createElement('tr');
|
tr=document.createElement('tr');
|
||||||
table.appendChild(tr);
|
table.appendChild(tr);
|
||||||
td=document.createElement('td');
|
td=document.createElement('td');
|
||||||
td.innerHTML=get.attackRange(node);
|
td.innerHTML=get.attackRange(node);
|
||||||
tr.appendChild(td);
|
tr.appendChild(td);
|
||||||
td=document.createElement('td');
|
td=document.createElement('td');
|
||||||
td.innerHTML=get.globalFrom(node);
|
td.innerHTML=get.globalFrom(node);
|
||||||
tr.appendChild(td);
|
tr.appendChild(td);
|
||||||
td=document.createElement('td');
|
td=document.createElement('td');
|
||||||
td.innerHTML=get.globalTo(node);
|
td.innerHTML=get.globalTo(node);
|
||||||
tr.appendChild(td);
|
tr.appendChild(td);
|
||||||
|
|
||||||
uiintro.content.appendChild(table);
|
uiintro.content.appendChild(table);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
uiintro.add(ui.create.div('.placeholder.slim'));
|
uiintro.add(ui.create.div('.placeholder.slim'));
|
||||||
|
@ -17189,6 +17274,13 @@
|
||||||
window.lib=lib;
|
window.lib=lib;
|
||||||
window._status=_status;
|
window._status=_status;
|
||||||
},
|
},
|
||||||
|
rank:function(){
|
||||||
|
var list=lib.rank.s.concat(lib.rank.ap).concat(lib.rank.a).concat(lib.rank.am).
|
||||||
|
concat(lib.rank.bp).concat(lib.rank.b).concat(lib.rank.bm).concat(lib.rank.c).concat(lib.rank.d);
|
||||||
|
for(var i in lib.character){
|
||||||
|
if(i!='zuoci'&&!list.contains(i)) console.log(i);
|
||||||
|
}
|
||||||
|
},
|
||||||
h:function(player){
|
h:function(player){
|
||||||
console.log(get.translation(player.get('h')));
|
console.log(get.translation(player.get('h')));
|
||||||
},
|
},
|
||||||
|
|
After Width: | Height: | Size: 60 KiB |
After Width: | Height: | Size: 71 KiB |
After Width: | Height: | Size: 80 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 185 KiB |
After Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 181 KiB After Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 344 KiB After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 83 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 39 KiB |
|
@ -132,6 +132,10 @@ body>.background{z-index:-2}
|
||||||
animation:cardflip 0.3s ease-out;
|
animation:cardflip 0.3s ease-out;
|
||||||
-webkit-animation:cardflip 0.3s ease-out;
|
-webkit-animation:cardflip 0.3s ease-out;
|
||||||
}
|
}
|
||||||
|
.player.playerbright{
|
||||||
|
filter:brightness(1.2);
|
||||||
|
-webkit-filter:brightness(1.2);
|
||||||
|
}
|
||||||
.player.playerflip{
|
.player.playerflip{
|
||||||
animation:playerflip 0.3s ease-out;
|
animation:playerflip 0.3s ease-out;
|
||||||
-webkit-animation:playerflip 0.3s ease-out;
|
-webkit-animation:playerflip 0.3s ease-out;
|
||||||
|
@ -246,7 +250,7 @@ margin-bottom: 5px;
|
||||||
.button.character>.intro{top:71px;left:0;}
|
.button.character>.intro{top:71px;left:0;}
|
||||||
.button.character>.identity{top:-6px;left:72px;}
|
.button.character>.identity{top:-6px;left:72px;}
|
||||||
/*--------确认--------*/
|
/*--------确认--------*/
|
||||||
#control{text-align: center;z-index: 2;top: calc(200% / 3);left: calc(5% + 240px);width: calc(90% - 480px);pointer-events: none}
|
#control{text-align: center;z-index: 5;top: calc(200% / 3);left: calc(5% + 240px);width: calc(90% - 480px);pointer-events: none}
|
||||||
#control>*{pointer-events: auto;}
|
#control>*{pointer-events: auto;}
|
||||||
.control{padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;margin-left: 4px;margin-right: 4px;}
|
.control{padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;margin-left: 4px;margin-right: 4px;}
|
||||||
.control{font-size: 18px;white-space: nowrap;position: relative;overflow: hidden;opacity:0}
|
.control{font-size: 18px;white-space: nowrap;position: relative;overflow: hidden;opacity:0}
|
||||||
|
@ -642,6 +646,7 @@ div:hover>.intro{opacity: 1;}
|
||||||
.dialog.scroll1.scroll2{box-shadow:0 -10px 10px -9px rgba(0,0,0,0.1),0 -10px 0 -9px rgba(0,0,0,0.05),
|
.dialog.scroll1.scroll2{box-shadow:0 -10px 10px -9px rgba(0,0,0,0.1),0 -10px 0 -9px rgba(0,0,0,0.05),
|
||||||
0 10px 10px -9px rgba(0,0,0,0.1),0 10px 0 -9px rgba(0,0,0,0.05);}*/
|
0 10px 10px -9px rgba(0,0,0,0.1),0 10px 0 -9px rgba(0,0,0,0.05);}*/
|
||||||
.selected,.target{/*transform: scale(1.05);*/}
|
.selected,.target{/*transform: scale(1.05);*/}
|
||||||
|
/*.player.target{-webkit-filter:brightness(1.2)}*/
|
||||||
.target{transform: rotate(-3deg);}
|
.target{transform: rotate(-3deg);}
|
||||||
.target2{transform: rotate(3deg);}
|
.target2{transform: rotate(3deg);}
|
||||||
.content>.config.line2{
|
.content>.config.line2{
|
||||||
|
|
|
@ -72,22 +72,37 @@
|
||||||
left:calc(50% - 200px);
|
left:calc(50% - 200px);
|
||||||
top:calc(50% - 150px);
|
top:calc(50% - 150px);
|
||||||
}
|
}
|
||||||
.menu.main.slideup{
|
/*.menu.main.slideup{
|
||||||
animation:menuslideup 0.5s forwards;
|
animation:menuslideup 0.5s forwards;
|
||||||
-webkit-animation:menuslideup 0.5s forwards;
|
-webkit-animation:menuslideup 0.5s forwards;
|
||||||
}
|
}
|
||||||
.menu.main.slidedown{
|
.menu.main.slidedown{
|
||||||
animation:menuslidedown 0.5s forwards;
|
animation:menuslidedown 0.5s forwards;
|
||||||
-webkit-animation:menuslidedown 0.5s forwards;
|
-webkit-animation:menuslidedown 0.5s forwards;
|
||||||
|
}*/
|
||||||
|
.menu-container.hidden>.menu.main{
|
||||||
|
transform:scale(0.5);
|
||||||
|
transform-origin:2px -35px;
|
||||||
|
opacity:0;
|
||||||
}
|
}
|
||||||
.menu.main.zoomin{
|
.menu-container>.menu.main{
|
||||||
|
transition: all 0.3s;
|
||||||
|
transform-origin:2px -35px;
|
||||||
|
}
|
||||||
|
/*.menu.main.zoomin{
|
||||||
animation:menuzoomin 0.3s forwards;
|
animation:menuzoomin 0.3s forwards;
|
||||||
-webkit-animation:menuzoomin 0.3s forwards;
|
-webkit-animation:menuzoomin 0.3s forwards;
|
||||||
|
transform:scale(0.5);
|
||||||
|
transform-origin:2px -35px;
|
||||||
|
opacity:0;
|
||||||
}
|
}
|
||||||
.menu.main.zoomout{
|
.menu.main.zoomout{
|
||||||
animation:menuzoomout 0.3s forwards;
|
animation:menuzoomout 0.3s forwards;
|
||||||
-webkit-animation:menuzoomout 0.3s forwards;
|
-webkit-animation:menuzoomout 0.3s forwards;
|
||||||
}
|
transform:scale(0.5);
|
||||||
|
transform-origin:2px -35px;
|
||||||
|
opacity:0;
|
||||||
|
}*/
|
||||||
.menu.main{
|
.menu.main{
|
||||||
width: 400px;
|
width: 400px;
|
||||||
height:300px;
|
height:300px;
|
||||||
|
@ -223,7 +238,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.popup-container.hidden{
|
.popup-container.hidden{
|
||||||
display:none;
|
pointer-events:none;
|
||||||
}
|
}
|
||||||
.popup-container>.menu{
|
.popup-container>.menu{
|
||||||
position:absolute;
|
position:absolute;
|
||||||
|
|
|
@ -202,6 +202,9 @@
|
||||||
.player.linked{
|
.player.linked{
|
||||||
transform:rotate(-90deg);
|
transform:rotate(-90deg);
|
||||||
}
|
}
|
||||||
|
.player.linked.target{
|
||||||
|
transform:rotate(-93deg);
|
||||||
|
}
|
||||||
.player.acted.linked .identity{
|
.player.acted.linked .identity{
|
||||||
transform:rotate(270deg);
|
transform:rotate(270deg);
|
||||||
}
|
}
|
||||||
|
|