1.9.0
|
@ -7,6 +7,7 @@ card.extra={
|
|||
type:"basic",
|
||||
enable:true,
|
||||
lianheng:true,
|
||||
logv:false,
|
||||
savable:function(card,player,dying){
|
||||
return dying==player;
|
||||
},
|
||||
|
@ -225,7 +226,7 @@ card.extra={
|
|||
target:function(player,target){
|
||||
if(target.isLinked()) return 1;
|
||||
if(ai.get.attitude(player,target)>=0) return -1;
|
||||
if(player.isMin()) return -1;
|
||||
// if(player.isMin()) return -1;
|
||||
if(ui.selected.targets.length) return -1;
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(ai.get.attitude(player,game.players[i])<=-1&&
|
||||
|
@ -366,6 +367,7 @@ card.extra={
|
|||
content:function(){
|
||||
trigger.num++;
|
||||
},
|
||||
temp:true,
|
||||
group:'jiu2'
|
||||
},
|
||||
jiu2:{
|
||||
|
|
16
card/sp.js
|
@ -348,7 +348,7 @@ card.sp={
|
|||
if(!muniu.cards) return false;
|
||||
lib.skill.muniu_skill.sync(muniu);
|
||||
for(var i=0;i<muniu.cards.length;i++){
|
||||
if(event.filterCard(muniu.cards[i])) return true;
|
||||
if(event.filterCard(muniu.cards[i],player,event)) return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
@ -358,9 +358,19 @@ card.sp={
|
|||
player.chooseButton(['木牛流马',player.get('e','5').cards]).set('filterButton',function(button){
|
||||
var evt=_status.event.getTrigger();
|
||||
if(evt&&evt.filterCard){
|
||||
return evt.filterCard(button.link,_status.event.player);
|
||||
return evt.filterCard(button.link,_status.event.player,evt);
|
||||
}
|
||||
return true;
|
||||
}).set('ai',function(button){
|
||||
var evt=_status.event.getTrigger();
|
||||
if(evt&&evt.ai){
|
||||
var tmp=_status.event;
|
||||
_status.event=evt;
|
||||
var result=evt.ai(button.link,_status.event.player,evt);
|
||||
_status.event=tmp;
|
||||
return result;
|
||||
}
|
||||
return 1;
|
||||
});
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
|
@ -396,7 +406,7 @@ card.sp={
|
|||
filter:function(button,player){
|
||||
var evt=_status.event.getParent();
|
||||
if(evt&&evt.filterCard){
|
||||
return evt.filterCard(button.link,player,_status.event.getParent());
|
||||
return evt.filterCard(button.link,player,evt);
|
||||
}
|
||||
return true;
|
||||
},
|
||||
|
|
|
@ -766,10 +766,13 @@ card.standard={
|
|||
}
|
||||
else{
|
||||
var next=event.turn.chooseToRespond({name:'sha'});
|
||||
next.ai=function(card){
|
||||
next.set('ai',function(card){
|
||||
var event=_status.event;
|
||||
var player=event.splayer;
|
||||
var target=event.starget;
|
||||
if(player.hasSkillTag('notricksource')) return 0;
|
||||
if(target.hasSkillTag('notrick')) return 0;
|
||||
if(event.turn==target){
|
||||
if(event.player==target){
|
||||
if(player.hasSkill('naman')) return -1;
|
||||
if(ai.get.attitude(target,player)<0){
|
||||
return ai.get.unuseful2(card)
|
||||
|
@ -783,7 +786,9 @@ card.standard={
|
|||
}
|
||||
return -1;
|
||||
}
|
||||
};
|
||||
});
|
||||
next.set('splayer',player);
|
||||
next.set('starget',target);
|
||||
next.autochoose=lib.filter.autoRespondSha;
|
||||
if(event.turn==target){
|
||||
next.source=player;
|
||||
|
|
|
@ -432,6 +432,7 @@ card.swd={
|
|||
var list=get.typeCard('hslingjian');
|
||||
var cards=[];
|
||||
var time=0;
|
||||
target.clearEquipTrigger();
|
||||
for(var i=0;i<es.length;i++){
|
||||
if(lib.inpile.contains(es[i].name)){
|
||||
var card=game.createCard(list.randomGet());
|
||||
|
@ -439,9 +440,16 @@ card.swd={
|
|||
time+=200;
|
||||
setTimeout((function(card,name){
|
||||
return function(){
|
||||
ui.discardPile.appendChild(game.createCard(card));
|
||||
card.init([card.suit,card.number,name,card.nature]);
|
||||
card.style.transform='scale(1.1)';
|
||||
card.classList.add('glow');
|
||||
var info=get.info(card);
|
||||
if(info.skills){
|
||||
for(var i=0;i<info.skills.length;i++){
|
||||
target.addSkillTrigger(info.skills[i]);
|
||||
}
|
||||
}
|
||||
setTimeout(function(){
|
||||
card.style.transform='';
|
||||
card.classList.remove('glow');
|
||||
|
@ -976,6 +984,7 @@ card.swd={
|
|||
},
|
||||
usable:1,
|
||||
selectTarget:-1,
|
||||
logv:false,
|
||||
modTarget:true,
|
||||
filterTarget:function(card,player,target){
|
||||
return target==player;
|
||||
|
@ -1395,6 +1404,7 @@ card.swd={
|
|||
},
|
||||
_zhuquezhizhang:{
|
||||
trigger:{player:'damageEnd'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return event.source&&event.source.isAlive()&&player.num('h','zhuquezhizhang')>0;
|
||||
},
|
||||
|
@ -2775,11 +2785,11 @@ card.swd={
|
|||
mujiaren_skill:{
|
||||
enable:'phaseUse',
|
||||
filter:function(event,player){
|
||||
return player.num('h',{type:'hslingjian'})>0;
|
||||
return player.num('h',{type:['trick','delay']})>0;
|
||||
},
|
||||
filterCard:{type:'hslingjian'},
|
||||
filterCard:{type:['trick','delay']},
|
||||
check:function(card){
|
||||
return 10-ai.get.value(card);
|
||||
return 5-ai.get.value(card);
|
||||
},
|
||||
viewAs:{name:'jiguanshu'}
|
||||
},
|
||||
|
@ -3002,7 +3012,7 @@ card.swd={
|
|||
},
|
||||
ai:{
|
||||
order:function(card,player){
|
||||
if(player.num('h',{type:'hslingjian'})) return 10;
|
||||
if(player.num('h',{type:'hslingjian'})) return 8.5;
|
||||
return 1;
|
||||
},
|
||||
result:{
|
||||
|
@ -3128,15 +3138,14 @@ card.swd={
|
|||
return att<=0;
|
||||
},
|
||||
filter:function(event,player){
|
||||
return !event.target.hasSkill('fengxueren2')&&!event.target.isTurnedOver();
|
||||
return !event.target.isTurnedOver();
|
||||
},
|
||||
content:function(){
|
||||
trigger.unhurt=true;
|
||||
trigger.target.turnOver();
|
||||
trigger.target.addTempSkill('fengxueren2',{player:'phaseBegin'});
|
||||
trigger.target.draw();
|
||||
}
|
||||
},
|
||||
fengxueren2:{},
|
||||
chilongya:{
|
||||
trigger:{source:'damageBegin'},
|
||||
forced:true,
|
||||
|
@ -3543,6 +3552,7 @@ card.swd={
|
|||
return att<=0;
|
||||
}
|
||||
if(event.target.hp==1) return att>0;
|
||||
if(event.target.hujia>0) return att<0;
|
||||
return false;
|
||||
},
|
||||
content:function(){
|
||||
|
@ -3564,6 +3574,7 @@ card.swd={
|
|||
return (event.card&&(event.card.name=='sha'));
|
||||
},
|
||||
forced:true,
|
||||
temp:true,
|
||||
content:function(){
|
||||
player.draw(2);
|
||||
player.removeSkill('tianxianjiu');
|
||||
|
@ -3705,8 +3716,8 @@ card.swd={
|
|||
lingjiandai_info:'出牌阶段对距离1以内的一名角色使用,目标获得3张随机零件',
|
||||
mujiaren:'木甲人',
|
||||
mujiaren_skill:'巧匠',
|
||||
mujiaren_skill_info:'你可以将零件牌当作机关鼠使用',
|
||||
mujiaren_info:'出牌阶段对距离1以内的一名角色使用,目标摸一张牌并获得技能巧匠(你可以将零件牌当作机关鼠使用)',
|
||||
mujiaren_skill_info:'你可以将锦囊牌当作机关鼠使用',
|
||||
mujiaren_info:'出牌阶段对距离1以内的一名角色使用,目标摸一张牌并获得技能巧匠(你可以将锦囊牌当作机关鼠使用)',
|
||||
hslingjian:'零件',
|
||||
hslingjian_xuanfengzhiren:'旋风之刃',
|
||||
hslingjian_xuanfengzhiren_info:'可用于煅造装备;随机弃置一名角色的一张牌',
|
||||
|
@ -3764,7 +3775,7 @@ card.swd={
|
|||
baihupifeng_info:'回合结束阶段,若你的体力值是全场最小的之一,你可以回复一点体力',
|
||||
fengxueren:'封雪刃',
|
||||
fengxueren_bg:'雪',
|
||||
fengxueren_info:'你使用杀击中目标后,若目标武将牌正面朝上,你可以防止伤害,然后令目标翻面,若如此做,该角色在下一回合开始前不受封雪刃效果影响',
|
||||
fengxueren_info:'你使用杀击中目标后,若目标武将牌正面朝上,你可以防止伤害,然后令目标摸一张牌并翻面',
|
||||
chilongya:'赤龙牙',
|
||||
chilongya_info:'锁定技,你的火属性伤害+1',
|
||||
daihuofenglun:'带火风轮',
|
||||
|
|
|
@ -1765,6 +1765,10 @@ character.boss={
|
|||
if(lib.config.animation&&!lib.config.low_performance){
|
||||
player.$fire();
|
||||
}
|
||||
if(!event.parent.parent.boss_minbao_logv){
|
||||
event.parent.parent.boss_minbao_logv=true;
|
||||
game.logv(trigger.player,'boss_minbao',game.players.slice(0),event.parent.parent);
|
||||
}
|
||||
}
|
||||
},
|
||||
boss_guihuo:{
|
||||
|
@ -1818,13 +1822,17 @@ character.boss={
|
|||
global:'boss_shanbeng2',
|
||||
trigger:{player:'dieBegin'},
|
||||
forced:true,
|
||||
logv:false,
|
||||
content:function(){
|
||||
var targets=[];
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i].num('e')){
|
||||
player.line(game.players[i],'green');
|
||||
targets.push(game.players[i]);
|
||||
}
|
||||
}
|
||||
game.delay();
|
||||
game.logv(player,'boss_shanbeng',targets,null,true);
|
||||
}
|
||||
},
|
||||
boss_shanbeng2:{
|
||||
|
|
|
@ -19,6 +19,9 @@ character.diy={
|
|||
re_huangyueying:['female','shu',3,['rejizhi','qicai']],
|
||||
old_zhonghui:['male','wei',3,['zzhenggong','zquanji','zbaijiang']],
|
||||
},
|
||||
perfectPair:{
|
||||
yuji:['zuoci']
|
||||
},
|
||||
skill:{
|
||||
zaiqix:{
|
||||
trigger:{player:'phaseDrawBefore'},
|
||||
|
|
|
@ -525,6 +525,7 @@ character.hearth={
|
|||
intro:{
|
||||
content:'下一次造成的伤害+1'
|
||||
},
|
||||
logv:false,
|
||||
trigger:{source:'damageBegin'},
|
||||
forced:true,
|
||||
content:function(){
|
||||
|
@ -1759,6 +1760,8 @@ character.hearth={
|
|||
},
|
||||
check:function(event,player){
|
||||
if(event.card.name=='tiesuo') return false;
|
||||
if(event.card.name=='jiu') return false;
|
||||
if(event.card.name=='tianxianjiu') return false;
|
||||
if(event.card.name=='toulianghuanzhu') return false;
|
||||
return true;
|
||||
},
|
||||
|
@ -2267,7 +2270,7 @@ character.hearth={
|
|||
},
|
||||
guozai:{
|
||||
enable:'phaseUse',
|
||||
usable:2,
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
return player.num('h')<4;
|
||||
},
|
||||
|
@ -2380,6 +2383,10 @@ character.hearth={
|
|||
if(lib.config.animation&&!lib.config.low_performance){
|
||||
player.$thunder();
|
||||
}
|
||||
if(!event.parent.parent.bingshi_logv){
|
||||
event.parent.parent.bingshi_logv=true;
|
||||
game.logv(trigger.player,'bingshi',game.players.slice(0),event.parent.parent);
|
||||
}
|
||||
}
|
||||
},
|
||||
huanwu:{
|
||||
|
@ -3222,10 +3229,13 @@ character.hearth={
|
|||
},
|
||||
xianzhi:{
|
||||
trigger:{global:'judgeBegin'},
|
||||
direct:true,
|
||||
frequent:true,
|
||||
filter:function(){
|
||||
return ui.cardPile.childNodes.length>1;
|
||||
},
|
||||
check:function(){
|
||||
return false;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var str='';
|
||||
|
@ -3243,7 +3253,6 @@ character.hearth={
|
|||
};
|
||||
'step 1'
|
||||
if(result.control=='调换顺序'){
|
||||
player.logSkill('xianzhi');
|
||||
var card=ui.cardPile.firstChild;
|
||||
ui.cardPile.removeChild(card);
|
||||
ui.cardPile.insertBefore(card,ui.cardPile.firstChild.nextSibling);
|
||||
|
@ -3363,6 +3372,9 @@ character.hearth={
|
|||
trigger.player.storage.mengun2=trigger.cards[0];
|
||||
game.addVideo('storage',player,['mengun2',get.cardInfo(trigger.cards[0]),'card']);
|
||||
trigger.player.addTempSkill('mengun2','phaseEnd');
|
||||
},
|
||||
ai:{
|
||||
expose:0.2
|
||||
}
|
||||
},
|
||||
mengun2:{
|
||||
|
@ -3852,7 +3864,7 @@ character.hearth={
|
|||
trigger:{source:'damageBegin'},
|
||||
forced:true,
|
||||
filter:function(event){
|
||||
return event.card&&get.type(event.card)=='trick'&&event.parent.name!='_lianhuan'&&event.parent.name!='_lianhuan2';
|
||||
return event.card&&get.type(event.card)=='trick'&&event.notLink();
|
||||
},
|
||||
content:function(){
|
||||
trigger.num++;
|
||||
|
@ -3879,7 +3891,7 @@ character.hearth={
|
|||
trigger:{source:'damageBegin'},
|
||||
forced:true,
|
||||
filter:function(event){
|
||||
return event.card&&event.card.name=='sha'&&event.parent.name!='_lianhuan'&&event.parent.name!='_lianhuan2';
|
||||
return event.card&&event.card.name=='sha'&&event.notLink();
|
||||
},
|
||||
content:function(){
|
||||
trigger.num++;
|
||||
|
@ -4689,7 +4701,7 @@ character.hearth={
|
|||
guozai:'过载',
|
||||
guozai2:'过载',
|
||||
guozai2_bg:'载',
|
||||
guozai_info:'出牌阶段限两次,你可将手牌补至四张,并于此阶段结束时弃置等量的牌',
|
||||
guozai_info:'出牌阶段限一次,你可将手牌补至四张,并于此阶段结束时弃置等量的牌',
|
||||
guozaix:'重载',
|
||||
guozaix2:'重载',
|
||||
guozaix2_bg:'载',
|
||||
|
|
268
character/ow.js
|
@ -17,15 +17,243 @@ character.ow={
|
|||
ow_maikelei:['male','shu',4,['shanguang','tiandan','shenqiang']],
|
||||
ow_kuangshu:['male','shu',3,['liudan','shoujia','shihuo']],
|
||||
|
||||
// ow_tuobiang:['male','shu',3,[]],
|
||||
ow_tuobiang:['male','shu',3,['paotai','maoding']],
|
||||
// ow_baolei:['female','shu',3,[]],
|
||||
// ow_banzang:['male','shu',4,[]],
|
||||
// ow_laiyinhate:['male','shu',4,[]],
|
||||
ow_banzang:['male','qun',4,['fengshi','yinbo']],
|
||||
ow_laiyinhate:['male','qun',4,['lzhongjia','mengji']],
|
||||
// ow_luba:['male','shu',4,[]],
|
||||
// ow_wensidun:['male','shu',4,[]],
|
||||
// ow_zhaliya:['female','shu',4,[]],
|
||||
// ow_zhaliya:['female','shu',4,['pingzhang','lichang']],
|
||||
},
|
||||
skill:{
|
||||
mengji:{
|
||||
trigger:{source:'damageBegin'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return !player.hujia&&event.card&&event.card.name=='sha'&&event.notLink();
|
||||
},
|
||||
content:function(){
|
||||
trigger.num++;
|
||||
}
|
||||
},
|
||||
lzhongjia:{
|
||||
init2:function(player){
|
||||
if(!player.storage.zhongjia){
|
||||
player.changeHujia(8);
|
||||
player.storage.zhongjia=true;
|
||||
}
|
||||
},
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
return player.hujia>0;
|
||||
},
|
||||
filterTarget:function(card,player,target){
|
||||
return !target.hujia;
|
||||
},
|
||||
filterCard:true,
|
||||
position:'he',
|
||||
check:function(card){
|
||||
var player=_status.event.player;
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i].hp==1&&ai.get.attitude(player,game.players[i])>2){
|
||||
return 7-ai.get.value(card);
|
||||
}
|
||||
}
|
||||
return 5-ai.get.value(card);
|
||||
},
|
||||
content:function(){
|
||||
player.changeHujia(-1);
|
||||
target.changeHujia();
|
||||
},
|
||||
ai:{
|
||||
order:5,
|
||||
expose:0.2,
|
||||
return:{
|
||||
target:function(player,target){
|
||||
return 1/Math.max(1,target.hp);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
maoding:{
|
||||
trigger:{player:'damageEnd',source:'damageEnd'},
|
||||
frequent:true,
|
||||
content:function(){
|
||||
player.gain(game.createCard(get.typeCard('hslingjian').randomGet()),'gain2');
|
||||
},
|
||||
group:'maoding2'
|
||||
},
|
||||
maoding2:{
|
||||
enable:'phaseUse',
|
||||
filter:function(event,player){
|
||||
return player.num('h',{type:'hslingjian'})>1;
|
||||
},
|
||||
filterCard:{type:'hslingjian'},
|
||||
filterTarget:true,
|
||||
selectCard:2,
|
||||
usable:1,
|
||||
content:function(){
|
||||
target.changeHujia();
|
||||
},
|
||||
ai:{
|
||||
order:9,
|
||||
result:{
|
||||
target:function(player,target){
|
||||
return 2/Math.max(1,Math.sqrt(target.hp));
|
||||
},
|
||||
},
|
||||
}
|
||||
},
|
||||
paotai:{
|
||||
enable:'phaseUse',
|
||||
intro:{
|
||||
content:function(storage){
|
||||
var num;
|
||||
switch(storage){
|
||||
case 1:num=30;break;
|
||||
case 2:num=60;break;
|
||||
case 3:num=100;break;
|
||||
}
|
||||
return '回合结束阶段,有'+num+'%机率对一名随机敌人造成一点火焰伤害';
|
||||
}
|
||||
},
|
||||
init:function(player){
|
||||
player.storage.paotai=0;
|
||||
},
|
||||
filter:function(event,player){
|
||||
return player.num('h','sha')>0&&player.storage.paotai<3;
|
||||
},
|
||||
filterCard:{name:'sha'},
|
||||
content:function(){
|
||||
player.storage.paotai++;
|
||||
player.markSkill('paotai');
|
||||
},
|
||||
ai:{
|
||||
order:5,
|
||||
threaten:1.5,
|
||||
result:{
|
||||
player:1
|
||||
}
|
||||
},
|
||||
group:['paotai2','paotai3']
|
||||
},
|
||||
paotai2:{
|
||||
trigger:{player:'phaseEnd'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
var num=0;
|
||||
switch(player.storage.paotai){
|
||||
case 1:num=30;break;
|
||||
case 2:num=60;break;
|
||||
case 3:num=100;break;
|
||||
}
|
||||
return 100*Math.random()<num;
|
||||
},
|
||||
content:function(){
|
||||
var targets=player.getEnemies();
|
||||
if(targets.length){
|
||||
var target=targets.randomGet();
|
||||
target.addExpose(0.3);
|
||||
player.addExpose(0.3);
|
||||
target.damage('fire');
|
||||
player.line(target,'fire');
|
||||
}
|
||||
}
|
||||
},
|
||||
paotai3:{
|
||||
trigger:{player:'damageEnd'},
|
||||
forced:true,
|
||||
popup:false,
|
||||
filter:function(event,player){
|
||||
return event.card&&event.card.name=='sha'&&player.storage.paotai>0;
|
||||
},
|
||||
content:function(){
|
||||
player.storage.paotai--;
|
||||
if(player.storage.paotai==0){
|
||||
player.unmarkSkill('paotai');
|
||||
}
|
||||
else{
|
||||
player.updateMarks();
|
||||
}
|
||||
}
|
||||
},
|
||||
fengshi:{
|
||||
trigger:{player:'shaBegin'},
|
||||
forced:true,
|
||||
check:function(event,player){
|
||||
return ai.get.attitude(player,event.target)<=0;
|
||||
},
|
||||
filter:function(event,player){
|
||||
return Math.random()<0.2*get.cardCount(true,player);
|
||||
},
|
||||
content:function(){
|
||||
trigger.directHit=true;
|
||||
},
|
||||
mod:{
|
||||
attackFrom:function(from,to,distance){
|
||||
return distance-get.cardCount(true,from);
|
||||
}
|
||||
},
|
||||
group:'fengshi2'
|
||||
},
|
||||
fengshi2:{
|
||||
trigger:{source:'damageBegin'},
|
||||
forced:true,
|
||||
check:function(event,player){
|
||||
return ai.get.attitude(player,event.target)<=0;
|
||||
},
|
||||
filter:function(event,player){
|
||||
return event.card&&event.card.name=='sha'&&Math.random()<0.2*get.cardCount(true,player);
|
||||
},
|
||||
content:function(){
|
||||
trigger.num++;
|
||||
}
|
||||
},
|
||||
yinbo:{
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filterCard:{suit:'spade'},
|
||||
position:'he',
|
||||
filter:function(event,player){
|
||||
return player.num('he',{suit:'spade'})>0;
|
||||
},
|
||||
check:function(){
|
||||
return 7-ai.get.value(card);
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var targets=player.getEnemies(function(target){
|
||||
return target.num('he')>0;
|
||||
});
|
||||
if(targets.length){
|
||||
event.targets=targets.randomGets(3);
|
||||
event.targets.sort(lib.sort.seat);
|
||||
player.line(event.targets,'green');
|
||||
if(lib.config.mode=='identity'||lib.config.mode=='guozhan'){
|
||||
for(var i=0;i<event.targets.length;i++){
|
||||
event.targets[i].addExpose(0.3);
|
||||
}
|
||||
}
|
||||
}
|
||||
'step 1'
|
||||
if(event.targets.length){
|
||||
var target=event.targets.shift();
|
||||
var he=target.get('he');
|
||||
if(he.length){
|
||||
target.discard(he.randomGet());
|
||||
}
|
||||
event.redo();
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
order:10,
|
||||
expose:0.3,
|
||||
result:{
|
||||
player:1
|
||||
}
|
||||
}
|
||||
},
|
||||
aqianghua:{
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
|
@ -341,8 +569,6 @@ character.ow={
|
|||
target.discard(he.randomGet());
|
||||
}
|
||||
'step 2'
|
||||
target.loseHp();
|
||||
'step 3'
|
||||
if(!target.isTurnedOver()){
|
||||
target.turnOver();
|
||||
}
|
||||
|
@ -748,6 +974,7 @@ character.ow={
|
|||
!target.previous.hasSkill('bingqiang2')&&!target.previous.hasSkill('bingqiang5');
|
||||
},
|
||||
check:function(card){
|
||||
if(ui.selected.cards.length) return 0;
|
||||
var player=_status.event.player;
|
||||
var max=0,min=0;
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
|
@ -1531,10 +1758,10 @@ character.ow={
|
|||
intro:{
|
||||
content:'受到的伤害+1,直到首次进入濒死状态'
|
||||
},
|
||||
trigger:{player:'damageBegin'},
|
||||
trigger:{player:'damageEnd'},
|
||||
forced:true,
|
||||
content:function(){
|
||||
trigger.num++;
|
||||
player.loseHp();
|
||||
},
|
||||
ai:{
|
||||
threaten:1.2
|
||||
|
@ -2090,9 +2317,9 @@ character.ow={
|
|||
guangshu_heart:{
|
||||
mark:true,
|
||||
intro:{
|
||||
content:'进入濒死状态时回复一点体力'
|
||||
content:'下次受到伤害时回复一点体力'
|
||||
},
|
||||
trigger:{player:'dying'},
|
||||
trigger:{player:'damageEnd'},
|
||||
priority:6,
|
||||
forced:true,
|
||||
content:function(){
|
||||
|
@ -2343,6 +2570,21 @@ character.ow={
|
|||
}
|
||||
},
|
||||
translate:{
|
||||
mengji:'猛击',
|
||||
mengji_info:'锁定技,当你没有护甲时,你的杀造成的伤害+1',
|
||||
lzhongjia:'重甲',
|
||||
lzhongjia_info:'游戏开始时,你获得8点护甲;出牌阶段限一次,你可以弃置一张牌并将一点护甲分给一名没有护甲的其他角色',
|
||||
paotai:'炮台',
|
||||
paotai2:'炮台',
|
||||
paotai_info:'出牌阶段,你可以弃置一张杀布置或升级一个炮台(最高3级);回合结束阶段,炮台有一定机率对一名随机敌人造成一点火焰伤害;每当你受到杀造成的伤害,炮台降低一级',
|
||||
maoding:'铆钉',
|
||||
maoding2:'铆钉',
|
||||
maoding_info:'每当你造成或受到一次伤害,你可以获得一个零件;出牌限阶段限一次,你可以弃置两张零件牌令一名角色获得一点护甲',
|
||||
fengshi:'风矢',
|
||||
fengshi2:'风矢',
|
||||
fengshi_info:'锁定技,在一合内每当你使用一张牌,你的攻击范围+1;你的杀增加20%的概率强制命中;你的杀造成伤害后增加20%的概率令伤害+1',
|
||||
yinbo:'音波',
|
||||
yinbo_info:'出牌阶段限一次,你可以弃置一张黑桃牌,然后随机弃置三名敌人各一张牌',
|
||||
liudan:'榴弹',
|
||||
liudan_info:'每当你使用一张杀,你可以令所有不是此杀目标的其他角色有50%概率成为此杀的额外目标',
|
||||
shoujia:'兽夹',
|
||||
|
@ -2380,7 +2622,7 @@ character.ow={
|
|||
shuangqiang:'霜枪',
|
||||
shuangqiang_info:'每当你对一名未翻面的角色造成伤害,你可以令伤害-1,然后令受伤害角色翻面',
|
||||
baoxue:'暴雪',
|
||||
baoxue_info:'限定技,出牌阶段,你可以展示并弃置你的所有黑色牌,然后令至多X名其他角色随机弃置一张牌、流失一点体力并将武将牌翻至背面,X为你的弃牌数',
|
||||
baoxue_info:'限定技,出牌阶段,你可以展示并弃置你的所有黑色牌,然后令至多X名其他角色随机弃置一张牌并将武将牌翻至背面,X为你的弃牌数',
|
||||
bingqiang:'冰墙',
|
||||
bingqiang2:'冰墙',
|
||||
bingqiang2_bg:'墙',
|
||||
|
@ -2418,7 +2660,7 @@ character.ow={
|
|||
luan:'乱',
|
||||
luan2:'乱',
|
||||
luan_old_info:'出牌阶段,你可以弃置一张黑桃手牌并指定一名角色,该角色自其下一回合开始每隔六回合失去一点体力,直到你死亡。同一时间只能对一人发动',
|
||||
luan_info:'出牌阶段,你可以弃置一张黑桃手牌并指定一名角色,该角色受到的伤害+1,直到你死亡或其首次进入濒死状态。同一时间只能对一人发动',
|
||||
luan_info:'出牌阶段,你可以弃置一张黑桃手牌并指定一名角色,该角色受到伤害后流失一点体力,直到你死亡或其首次进入濒死状态。同一时间只能对一人发动',
|
||||
sheng:'圣',
|
||||
sheng_info:'限定技,出牌阶段,你可以将你的武将牌翻面,然后令任意名角色回复一点体力,若如此做,你不能成为其他角色的卡牌目标直到下一回合开始',
|
||||
xiandan:'霰弹',
|
||||
|
@ -2440,7 +2682,7 @@ character.ow={
|
|||
guangshu_spade:'光塔',
|
||||
guangshu_club:'光井',
|
||||
guangshu_diamond:'光流',
|
||||
guangshu_info:'出牌阶段,你可以弃置一张牌,并指定一名角色,根据弃置牌的花色执行如下效果:♥该角色进入濒死状态时回复一点体力;♦︎该角色下次造成伤害时摸两张牌;♣该角色无法使用杀直到下一回合结束;♠该角色于下个回合结束阶段受到一点无来源的雷电伤害',
|
||||
guangshu_info:'出牌阶段,你可以弃置一张牌,并指定一名角色,根据弃置牌的花色执行如下效果:♥该角色下次受到伤害时回复一点体力;♦︎该角色下次造成伤害时摸两张牌;♣该角色无法使用杀直到下一回合结束;♠该角色于下个回合结束阶段受到一点无来源的雷电伤害',
|
||||
ziyu:'自愈',
|
||||
ziyu_info:'在一名角色的回合结束阶段,你可以回复一点体力或摸一张牌,每隔四回合发动一次',
|
||||
shouhu:'守护',
|
||||
|
|
|
@ -83,6 +83,10 @@ character.sp={
|
|||
daxiaoqiao:['zhouyu','sunce'],
|
||||
cuiyan:['caocao'],
|
||||
guansuo:['guanyu'],
|
||||
mateng:['machao','madai','mayunlu'],
|
||||
madai:['mayunlu'],
|
||||
chengpu:['zhouyu'],
|
||||
hanba:['swd_muyun'],
|
||||
},
|
||||
skill:{
|
||||
weidi:{
|
||||
|
|
|
@ -650,9 +650,9 @@ character.standard={
|
|||
}
|
||||
else if(event.current.group=='shu'){
|
||||
var next=event.current.chooseToRespond('是否替'+get.translation(player)+'对'+get.translation(target)+'使用一张杀',
|
||||
function(card){
|
||||
var evt=_status.event.getParent();
|
||||
return evt.player.canUse(card,evt.target)&&card.name=='sha';
|
||||
function(card,player,event){
|
||||
event=event||_status.event;
|
||||
return card.name=='sha'&&event.source.canUse(card,event.target);
|
||||
});
|
||||
next.set('ai',function(card){
|
||||
var event=_status.event;
|
||||
|
|
|
@ -16,7 +16,7 @@ character.swd={
|
|||
swd_duguningke:['female','qun',3,['lianji','touxi']],
|
||||
swd_guyue:['male','wei',3,['tiandao','qinyin','wangchen']],
|
||||
swd_tuobayuer:['female','shu',4,['liuhong','poyue','niepan']],
|
||||
swd_yuwentuo:['male','qun',4,['wushuang','xielei','kunlunjing']],
|
||||
swd_yuwentuo:['male','shu',4,['wushuang','xielei','kunlunjing']],
|
||||
swd_yuxiaoxue:['female','wei',3,['huanhun','daixing','yinyue']],
|
||||
|
||||
swd_jiliang:['male','wu',3,['yunchou','gongxin','qimou']],
|
||||
|
@ -401,6 +401,7 @@ character.swd={
|
|||
guozao:{
|
||||
trigger:{global:'damageEnd'},
|
||||
forced:true,
|
||||
logv:false,
|
||||
check:function(event,player){
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(ai.get.attitude(player,game.players[i])>2&&game.players[i].num('h')==1){
|
||||
|
@ -467,7 +468,7 @@ character.swd={
|
|||
"step 1"
|
||||
if(result.bool&&result.targets[0]){
|
||||
var target=result.targets[0];
|
||||
player.logSkill('guozao',target);
|
||||
player.logSkill('guozao',target,'green',true);
|
||||
var cards=target.get('h');
|
||||
target.lose(cards)._triggered=null;
|
||||
game.log(target,'弃置了',cards,',并获得三张牌');
|
||||
|
@ -1818,7 +1819,7 @@ character.swd={
|
|||
}
|
||||
var dialog=ui.create.dialog('极略:选择一张基本牌或锦囊牌牌使用',cards);
|
||||
var trigger=event.parent.parent;
|
||||
player.chooseButton(dialog,function(){return 1}).filterButton=function(button){
|
||||
player.chooseButton(dialog,function(card){if(card.name=='du') return 0;return 1}).filterButton=function(button){
|
||||
var type=get.type(button.link,'trick');
|
||||
return (type=='trick'||type=='basic')&&trigger.filterCard(button.link,player,trigger);
|
||||
};
|
||||
|
@ -2417,12 +2418,12 @@ character.swd={
|
|||
dangping2:{},
|
||||
duishi:{
|
||||
enable:'phaseUse',
|
||||
usable:2,
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
return player.num('h')>0&&!player.hasSkill('duishi3');
|
||||
return player.num('h')>0;
|
||||
},
|
||||
filterTarget:function(card,player,target){
|
||||
return player!=target&&target.num('h')&&!target.hasSkill('duishi2');
|
||||
return player!=target&&target.num('h')>0;
|
||||
},
|
||||
filterCard:true,
|
||||
check:function(card){return 8-ai.get.value(card)},
|
||||
|
@ -2430,22 +2431,19 @@ character.swd={
|
|||
"step 0"
|
||||
var suit=get.suit(cards[0]);
|
||||
target.chooseToDiscard({suit:suit},'h','弃置一张'+get.translation(suit)+
|
||||
'牌,或令'+get.translation(player)+'获得你的一张牌').ai=function(card){
|
||||
if(ai.get.attitude(target,player)>0){
|
||||
return -1;
|
||||
}
|
||||
return 11-ai.get.value(card);
|
||||
'牌并令'+get.translation(player)+'摸一张牌,或随机弃置两张牌').ai=function(card){
|
||||
return 8-ai.get.value(card);
|
||||
}
|
||||
|
||||
"step 1"
|
||||
if(!result.bool){
|
||||
player.addTempSkill('duishi3','phaseAfter');
|
||||
if(target.num('he')){
|
||||
player.gainPlayerCard(target,'he',true,ai.get.buttonValue);
|
||||
}
|
||||
if(result.bool){
|
||||
player.draw();
|
||||
}
|
||||
else{
|
||||
target.addTempSkill('duishi2','phaseAfter');
|
||||
var he=target.get('he');
|
||||
if(he.length){
|
||||
target.discard(he.randomGets(2));
|
||||
}
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
|
@ -3398,30 +3396,25 @@ character.swd={
|
|||
ui.window.hide();
|
||||
}
|
||||
},
|
||||
intro:{
|
||||
content:function(storage,player){
|
||||
if(true){
|
||||
return player.storage.kunlunjing3;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
kunlunjing1:{
|
||||
trigger:{player:['phaseBefore']},
|
||||
trigger:{player:'phaseBegin'},
|
||||
priority:10,
|
||||
filter:function(event,player){
|
||||
if(player.storage.kunlunjing2) return false;
|
||||
if(player.storage.kunlunjing) return true;
|
||||
return false;
|
||||
if(!player.storage.kunlunjing) return false;
|
||||
return player.hp<player.storage.kunlunjing2;
|
||||
},
|
||||
onremove:function(player){
|
||||
delete player.storage.kunlunjing;
|
||||
delete player.storage.kunlunjing2;
|
||||
},
|
||||
check:function(event,player){
|
||||
// if(event.name=='phase'&&player.hp<3) return false;
|
||||
var storage=event.player.storage.kunlunjing;
|
||||
var storage=player.storage.kunlunjing;
|
||||
var num=0;
|
||||
for(var i=0;i<storage.length;i++){
|
||||
if(game.players.contains(storage[i].player)){
|
||||
var att=ai.get.attitude(player,storage[i].player);
|
||||
var num2=storage[i].value-storage[i].player.num('he')+storage[i].player.num('j');
|
||||
// console.log(storage[i].player.name,storage[i].value,storage[i].player.num('he')-storage[i].player.num('j'))
|
||||
if(att>0){
|
||||
num+=num2;
|
||||
}
|
||||
|
@ -3430,15 +3423,12 @@ character.swd={
|
|||
}
|
||||
}
|
||||
}
|
||||
// return num>2;
|
||||
if(player.hp==2) return num>4;
|
||||
return num>Math.min(3,game.players.length);
|
||||
return num>Math.min(2,game.players.length/2);
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
game.delay(0.5);
|
||||
"step 1"
|
||||
event.player.storage.kunlunjing2=true;
|
||||
ui.window.style.transition='all 0.5s';
|
||||
ui.window.classList.add('zoomout3');
|
||||
ui.window.delete();
|
||||
|
@ -3470,19 +3460,31 @@ character.swd={
|
|||
player=storage[i].player;
|
||||
for(j=0;j<storage[i].handcards1.length;j++){
|
||||
if(storage[i].handcards1[j].parentNode==ui.discardPile||
|
||||
storage[i].handcards1[j].parentNode==ui.cardPile)
|
||||
player.node.handcards1.appendChild(storage[i].handcards1[j]);
|
||||
storage[i].handcards1[j].parentNode==ui.cardPile){
|
||||
player.node.handcards1.appendChild(storage[i].handcards1[j]);
|
||||
}
|
||||
else{
|
||||
player.node.handcards1.appendChild(game.createCard(storage[i].handcards1[j]));
|
||||
}
|
||||
}
|
||||
for(j=0;j<storage[i].handcards2.length;j++){
|
||||
if(storage[i].handcards2[j].parentNode==ui.discardPile||
|
||||
storage[i].handcards2[j].parentNode==ui.cardPile)
|
||||
player.node.handcards2.appendChild(storage[i].handcards2[j]);
|
||||
storage[i].handcards2[j].parentNode==ui.cardPile){
|
||||
player.node.handcards2.appendChild(storage[i].handcards2[j]);
|
||||
}
|
||||
else{
|
||||
player.node.handcards2.appendChild(game.createCard(storage[i].handcards2[j]));
|
||||
}
|
||||
}
|
||||
for(j=0;j<storage[i].equips.length;j++){
|
||||
if(storage[i].equips[j].parentNode==ui.discardPile||
|
||||
storage[i].equips[j].parentNode==ui.cardPile)
|
||||
storage[i].equips[j].style.transform='';
|
||||
player.node.equips.appendChild(storage[i].equips[j]);
|
||||
storage[i].equips[j].parentNode==ui.cardPile){
|
||||
storage[i].equips[j].style.transform='';
|
||||
player.$equip(storage[i].equips[j]);
|
||||
}
|
||||
else{
|
||||
player.$equip(game.createCard(storage[i].equips[j]));
|
||||
}
|
||||
}
|
||||
for(j=0;j<storage[i].judges.length;j++){
|
||||
if(storage[i].judges[j].parentNode==ui.discardPile||
|
||||
|
@ -3519,15 +3521,8 @@ character.swd={
|
|||
ui.window.style.transition='';
|
||||
game.resume();
|
||||
},500);
|
||||
event.player.storage.kunlunjing3='已发动';
|
||||
game.pause();
|
||||
'step 4'
|
||||
if(trigger.name=='phase'){
|
||||
var player=event.player;
|
||||
if(player.num('h')){
|
||||
player.chooseToDiscard('h',true);
|
||||
}
|
||||
}
|
||||
ui.updatehl();
|
||||
}
|
||||
},
|
||||
|
@ -3539,10 +3534,7 @@ character.swd={
|
|||
content:function(){
|
||||
var handcards1,handcards2,judges,equips,viewAs,i,j;
|
||||
player.storage.kunlunjing=[];
|
||||
player.storage.kunlunjing2=false;
|
||||
|
||||
var table=document.createElement('table');
|
||||
var tr,td,str,st;
|
||||
player.storage.kunlunjing2=player.hp;
|
||||
|
||||
for(i=0;i<game.players.length;i++){
|
||||
viewAs=[];
|
||||
|
@ -3565,35 +3557,6 @@ character.swd={
|
|||
for(j=0;j<game.players[i].node.equips.childNodes.length;j++)
|
||||
equips.push(game.players[i].node.equips.childNodes[j]);
|
||||
|
||||
tr=document.createElement('tr');
|
||||
tr.style.verticalAlign='top';
|
||||
table.appendChild(tr);
|
||||
td=document.createElement('td');
|
||||
td.innerHTML=get.translation(game.players[i]);
|
||||
tr.appendChild(td);
|
||||
td=document.createElement('td');
|
||||
td.innerHTML=(handcards1.length+handcards2.length);
|
||||
tr.appendChild(td);
|
||||
|
||||
str='';
|
||||
if(equips.length+judges.length){
|
||||
if(equips.length){
|
||||
str+=get.translation(equips);
|
||||
if(judges.length){
|
||||
str+='、';
|
||||
}
|
||||
}
|
||||
if(judges.length){
|
||||
str+=get.translation(judges,'viewAs');
|
||||
}
|
||||
}
|
||||
else{
|
||||
str='';
|
||||
}
|
||||
td=document.createElement('td');
|
||||
td.innerHTML=str;
|
||||
tr.appendChild(td);
|
||||
|
||||
player.storage.kunlunjing.push({
|
||||
player:game.players[i],
|
||||
handcards1:handcards1,
|
||||
|
@ -3604,9 +3567,6 @@ character.swd={
|
|||
value:handcards1.length+handcards2.length+equips.length-judges.length
|
||||
});
|
||||
}
|
||||
table.firstChild.firstChild.style.width='85px';
|
||||
table.firstChild.childNodes[1].style.width='48px';
|
||||
player.storage.kunlunjing3='未发动';
|
||||
}
|
||||
},
|
||||
oldliaoyuan:{
|
||||
|
@ -5765,13 +5725,13 @@ character.swd={
|
|||
filter:function(event,player){
|
||||
if(!event.player.isLinked()) return false;
|
||||
if(event.nature=='fire') return false;
|
||||
if(player.num('h',{color:'red'})) return true;
|
||||
if(player.num('he',{color:'red'})) return true;
|
||||
return false;
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
"step 0"
|
||||
var next=player.chooseToDiscard('朱羽:是否弃置一张红色手牌使其受到一点火焰伤害?',function(card){
|
||||
var next=player.chooseToDiscard('朱羽:是否弃置一张红色牌使其受到一点火焰伤害?','he',function(card){
|
||||
return get.color(card)=='red';
|
||||
});
|
||||
next.logSkill=['zhuyu',trigger.player,'fire'];
|
||||
|
@ -5795,13 +5755,13 @@ character.swd={
|
|||
if(!event.player) return false;
|
||||
if(event.player==player) return false;
|
||||
if(event.player.isLinked()&&event.player.isTurnedOver()) return false;
|
||||
if(player.num('h',{color:'black'})) return true;
|
||||
if(player.num('he',{color:'black'})) return true;
|
||||
return false;
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
"step 0"
|
||||
var next=player.chooseToDiscard('是否弃置一张黑色手牌使其横置或翻面?',function(card){
|
||||
var next=player.chooseToDiscard('是否弃置一张黑色牌使其横置或翻面?','he',function(card){
|
||||
return get.color(card)=='black';
|
||||
});
|
||||
next.logSkill='ningshuang';
|
||||
|
@ -6963,7 +6923,7 @@ character.swd={
|
|||
enable:'phaseUse',
|
||||
usable:1,
|
||||
intro:{
|
||||
content:''
|
||||
content:'濒死时回复一点体力并失去鬼眼'
|
||||
},
|
||||
mark:true,
|
||||
filterTarget:function(card,player,target){
|
||||
|
@ -7897,7 +7857,7 @@ character.swd={
|
|||
guisi:'归思',
|
||||
guisi_info:'每当你成为杀的目标,你可以交给对方一张手牌并取消之',
|
||||
duishi:'对诗',
|
||||
duishi_info:'出牌阶段,你可以弃置一张手牌,并指定一名有手牌的角色弃置一张与之花色相同的手牌,否则你获得其一张牌。若其弃置了手牌,你可对一名其他目标再发动一次',
|
||||
duishi_info:'出牌阶段限一次,你可以弃置一张手牌,并指定一名有手牌的角色选择一项:弃置一张与之花色相同的手牌并令你摸一张牌,或随机弃置两张牌',
|
||||
anlianying:'连营',
|
||||
anlianying_info:'每当你失去最后一张手牌,可摸两张牌',
|
||||
lianwu:'连舞',
|
||||
|
@ -8123,7 +8083,7 @@ character.swd={
|
|||
shengshou_info:'你可以将一张黑色手牌当作草药使用',
|
||||
susheng_info:'在任意一名角色即将死亡时,你可以弃置一张手牌防止其死亡,并将其体力回复至1,每回合限发动一次',
|
||||
zhanlu_info:'出牌阶段,你可以弃置一张黑桃牌令至多3名角色各回复一点体力',
|
||||
kunlunjing_info:'回合开始前,你可以令场上所有牌还原到你上一回合结束时的位置,然后弃置一张手牌',
|
||||
kunlunjing_info:'回合开始阶段,若你的体力值小于上回合结束时的体力值,你可以将场上所有牌还原到你上一回合结束时的位置',
|
||||
swd_xiuluo_info:'回合开始阶段,你可以弃一张手牌来弃置你判断区里的一张延时类锦囊(必须花色相同)',
|
||||
xianyin_info:'出牌阶段,你可以令所有判定区内有牌的角色弃置判定区内的牌,然后交给你一张手牌',
|
||||
qiaoxie_info:'每当你装备一张牌,可摸一张牌;每当你失去一张装备牌(不含替换),你可以弃置其他角色的一张牌',
|
||||
|
@ -8175,7 +8135,7 @@ character.swd={
|
|||
funiao_info:'出牌阶段,你可以交给一名角色一张手牌,然后观看其手牌,每个阶段对一名角色只能发动一次',
|
||||
xuehuang_info:'出牌阶段限一次,你可以弃置一张红色手牌令距离你一以内的所有角色受到一点火焰伤害',
|
||||
zhuyu_info:'每当有横置的角色即将受到非火焰伤害,你可以弃置一张红色牌使其额外受到一点火焰伤害',
|
||||
ningshuang_info:'每当你成为黑色牌的目标,你可以弃置一张黑色牌将其横置,并摸一张牌,若其已经模置则将其翻面',
|
||||
ningshuang_info:'每当你成为黑色牌的目标,你可以弃置一张黑色牌将其横置,并摸一张牌,若其已经模置则改为将其翻面',
|
||||
zaowu_old_info:'出牌阶段,你可以弃置三张不同类型的牌,创造任意两张牌并获得之',
|
||||
xielv_info:'弃牌阶段结束后,若你的所有手牌(至少两张)颜色均相同,你可以展示所有手牌,然后选择一项:1、回复一点体力;2、弃置场上所有与你手牌颜色不同的牌',
|
||||
},
|
||||
|
|
|
@ -12,7 +12,7 @@ character.xianjian={
|
|||
|
||||
pal_jingtian:['male','wu',3,['sajin','jubao']],
|
||||
pal_xuejian:['female','shu',3,['shuangren','shenmu','duci']],
|
||||
pal_longkui:['female','wei',3,['fenxing','diewu','lingyu']],
|
||||
pal_longkui:['female','qun',3,['fenxing','diewu','lingyu']],
|
||||
pal_zixuan:['female','wei',3,['shuiyun','wangyou','changnian']],
|
||||
pal_changqing:['male','wei',4,['luanjian','tianfu']],
|
||||
|
||||
|
@ -384,23 +384,23 @@ character.xianjian={
|
|||
unique:true,
|
||||
forceunique:true,
|
||||
filter:function(){
|
||||
return Math.random()<5;
|
||||
return Math.random()<0.5;
|
||||
},
|
||||
content:function(){
|
||||
var node;
|
||||
if(player.name=='pal_longkui'){
|
||||
node=player.node.avatar;
|
||||
}
|
||||
else if(player.name2=='pal_longkui'){
|
||||
if(player.name2=='pal_longkui'){
|
||||
node=player.node.avatar2;
|
||||
}
|
||||
else if(player.name=='pal_longkui'){
|
||||
node=player.node.avatar;
|
||||
}
|
||||
if(player.storage.fenxing){
|
||||
player.storage.fenxing=false;
|
||||
player.removeSkill('guijiang');
|
||||
player.removeSkill('diesha');
|
||||
player.addSkill('diewu');
|
||||
player.addSkill('lingyu');
|
||||
node.setBackground('pal_longkui','character');
|
||||
if(node) node.setBackground('pal_longkui','character');
|
||||
}
|
||||
else{
|
||||
player.storage.fenxing=true;
|
||||
|
@ -408,7 +408,7 @@ character.xianjian={
|
|||
player.removeSkill('lingyu');
|
||||
player.addSkill('guijiang');
|
||||
player.addSkill('diesha');
|
||||
node.setBackground('pal_longkuigui','character');
|
||||
if(node) node.setBackground('pal_longkuigui','character');
|
||||
}
|
||||
},
|
||||
},
|
||||
|
|
|
@ -92,6 +92,9 @@ character.yijiang={
|
|||
xiahoushi:['zhangfei'],
|
||||
zhoucang:['guanyu'],
|
||||
guanping:['guanyu'],
|
||||
sundeng:['sunquan'],
|
||||
liru:['dongzhuo'],
|
||||
liuchen:['liushan'],
|
||||
},
|
||||
skill:{
|
||||
taoluan:{
|
||||
|
|
|
@ -46,6 +46,7 @@ window.noname_source_list=[
|
|||
'layout/mode/boss.css',
|
||||
'layout/mode/chess.css',
|
||||
'layout/mode/stone.css',
|
||||
'layout/mode/tafang.css',
|
||||
'layout/newlayout/equip.css',
|
||||
'layout/newlayout/global.css',
|
||||
'layout/newlayout/layout.css',
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
window.noname_update={
|
||||
version:'1.8.21',
|
||||
version:'1.9.0',
|
||||
changeLog:[
|
||||
'bug增加'
|
||||
'增加乱斗模式',
|
||||
'显示时间选项',
|
||||
'历史记录栏',
|
||||
'更新源调整',
|
||||
],
|
||||
files:{
|
||||
global:[
|
||||
|
|
|
@ -50,14 +50,18 @@ table{table-layout: fixed;}
|
|||
#window.noclick_important .noclick_click_important div{pointer-events: auto !important}
|
||||
|
||||
#window.blur_ui #arena.paused,
|
||||
#window.blur_ui #arena.menupaused,
|
||||
#window.blur_ui #historybar.paused,
|
||||
#window.blur_ui #historybar.menupaused,
|
||||
#window.blur_ui #arena.unfocus,
|
||||
#window.blur_ui #arena.right,
|
||||
#window.blur_ui #arena.menupaused,
|
||||
#window.blur_ui.shortcutpaused>#arena{
|
||||
#window.blur_ui.shortcutpaused>#arena,
|
||||
#window.blur_ui.shortcutpaused>#historybar{
|
||||
filter:blur(3px);
|
||||
-webkit-filter:blur(3px);
|
||||
}
|
||||
#window.blur_ui #arena.menupaused{
|
||||
#window.blur_ui #arena.menupaused,
|
||||
#window.blur_ui #historybar.menupaused{
|
||||
opacity: 0.6;
|
||||
}
|
||||
#window.blur_ui #arena.thrownhighlight>.card.thrown:not(.thrownhighlight){
|
||||
|
@ -65,6 +69,18 @@ table{table-layout: fixed;}
|
|||
-webkit-filter:blur(2px);
|
||||
}
|
||||
|
||||
#time{
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 16px;
|
||||
text-align: center;
|
||||
pointer-events: none;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#shortcut{
|
||||
width:100%;
|
||||
height:100%;
|
||||
|
@ -283,8 +299,10 @@ table{table-layout: fixed;}
|
|||
#arena{width:90%;height: 90%;top: calc(5% + 10px);left: 5%;}
|
||||
#arena.right:not(.noleft){left:240px;opacity: 0.6;}
|
||||
#arena.left:not(.noleft){left:calc(10% - 240px);opacity: 0.6;}
|
||||
#window.leftbar #arena:not(.chess){left:calc(5% + 50px);width: calc(90% - 50px)}
|
||||
#window.rightbar #arena:not(.chess){width: calc(90% - 50px)}
|
||||
#arena.top{top:-100%;}
|
||||
#arena.paused,#arena.unfocus{opacity: 0.3 !important;}
|
||||
#arena.paused,#arena.unfocus,#historybar.paused{opacity: 0.3 !important;}
|
||||
#arena.paused2{opacity: 0.1 !important;}
|
||||
#arena>.poplayer,
|
||||
#window>.poplayer{
|
||||
|
@ -310,6 +328,98 @@ table{table-layout: fixed;}
|
|||
#arena.playerfocus #chess>div:not(.playerfocus):not(.removing){
|
||||
opacity: 0.3 !important;
|
||||
}
|
||||
#historybar{
|
||||
left: 2.5%;
|
||||
width: 50px;
|
||||
height: calc(90% - 20px);
|
||||
top: calc(5% + 25px);
|
||||
border-radius: 4px;
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
overflow: scroll;
|
||||
z-index: 2;
|
||||
transition-property: opacity,visibility;
|
||||
}
|
||||
#historybar.hidden{
|
||||
pointer-events: none;
|
||||
}
|
||||
#historybar>div{
|
||||
width: 42px;
|
||||
height: 42px;
|
||||
margin: 0;
|
||||
padding: 4px;
|
||||
display: block;
|
||||
position: relative;
|
||||
}
|
||||
#historybar>div:not(.nozoom){
|
||||
animation: history_start 0.5s;
|
||||
-webkit-animation: history_start 0.5s;
|
||||
}
|
||||
#historybar>div>.card{
|
||||
transform: scale(0.403846);
|
||||
transform-origin: top left;
|
||||
margin: 0;
|
||||
left: 4px;
|
||||
top: 4px;
|
||||
position: absolute;
|
||||
}
|
||||
#historybar>div>.avatar{
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
left: 4px;
|
||||
top: 4px;
|
||||
width: 42px;
|
||||
height: 42px;
|
||||
border-radius: 3.230768px;
|
||||
}
|
||||
#historybar>div>.avatar>div{
|
||||
position: absolute;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
left: 0;
|
||||
bottom: 2px;
|
||||
height: auto;
|
||||
font-family: 'xinwei';
|
||||
font-size: 18px;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
#historybar>div>.avatar>.avatarbg{
|
||||
bottom: 0;
|
||||
height: 100%;
|
||||
background-size: cover;
|
||||
}
|
||||
#historybar>div>.avatar2{
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
left: 28px;
|
||||
top: 28px;
|
||||
border-radius: 100%;
|
||||
font-family: 'xinwei';
|
||||
font-size: 20px;
|
||||
line-height: 20px;
|
||||
z-index: 1;
|
||||
}
|
||||
#window.rightbar #historybar,
|
||||
#window.rightbar2:not(.leftbar) #historybar{
|
||||
left: calc(97.5% - 50px);
|
||||
}
|
||||
#window.leftbar #historybar,
|
||||
#window.rightbar #historybar{
|
||||
opacity: 1;
|
||||
visibility: visible;
|
||||
}
|
||||
.dialog .button.character.cardbg>.avatar_name{
|
||||
font-family: 'xinwei';
|
||||
font-size: 20px;
|
||||
width: 100%;
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
top:44px;
|
||||
left:0;
|
||||
text-align: center;
|
||||
}
|
||||
.player:not(.treasure).playerfocus{
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
@ -342,6 +452,7 @@ table{table-layout: fixed;}
|
|||
border-radius:100%;*/
|
||||
z-index: 7;
|
||||
transition-property: opacity;
|
||||
overflow: hidden;
|
||||
}
|
||||
#roundmenu>div{
|
||||
width: 26px;
|
||||
|
@ -352,25 +463,153 @@ table{table-layout: fixed;}
|
|||
border-radius: 2px;
|
||||
box-shadow: black 0 0 2px;
|
||||
}
|
||||
#roundmenu>div:nth-of-type(even){
|
||||
#roundmenu.clock>div:nth-of-type(1){
|
||||
width: 2px;
|
||||
height: 2px;
|
||||
left: 24px;
|
||||
top: 2px;
|
||||
opacity: 1;
|
||||
}
|
||||
#roundmenu.clock>div:nth-of-type(2){
|
||||
width: 2px;
|
||||
height: 2px;
|
||||
left: 24px;
|
||||
top: 46px;
|
||||
opacity: 1;
|
||||
}
|
||||
#roundmenu.clock>div:nth-of-type(3){
|
||||
width: 2px;
|
||||
height: 2px;
|
||||
top: 24px;
|
||||
left: 2px;
|
||||
opacity: 1;
|
||||
}
|
||||
#roundmenu.clock>div:nth-of-type(4){
|
||||
width: 2px;
|
||||
height: 2px;
|
||||
top: 24px;
|
||||
left: 46px;
|
||||
opacity: 1;
|
||||
}
|
||||
#roundmenu.clock>div:nth-of-type(5){
|
||||
width: 2px;
|
||||
height: 2px;
|
||||
left: 24px;
|
||||
top: 2px;
|
||||
opacity: 0.4;
|
||||
transform: rotate(30deg);
|
||||
transform-origin: 1px 23px;
|
||||
}
|
||||
#roundmenu.clock>div:nth-of-type(9){
|
||||
width: 2px;
|
||||
height: 2px;
|
||||
left: 24px;
|
||||
top: 2px;
|
||||
opacity: 0.4;
|
||||
transform: rotate(60deg);
|
||||
transform-origin: 1px 23px;
|
||||
}
|
||||
#roundmenu.clock>div:nth-of-type(6){
|
||||
width: 2px;
|
||||
height: 2px;
|
||||
left: 24px;
|
||||
top: 46px;
|
||||
opacity: 0.4;
|
||||
transform: rotate(30deg);
|
||||
transform-origin: 1px -23px;
|
||||
}
|
||||
#roundmenu.clock>div:nth-of-type(10){
|
||||
width: 2px;
|
||||
height: 2px;
|
||||
left: 24px;
|
||||
top: 46px;
|
||||
opacity: 0.4;
|
||||
transform: rotate(60deg);
|
||||
transform-origin: 1px -23px;
|
||||
}
|
||||
#roundmenu.clock>div:nth-of-type(7){
|
||||
width: 2px;
|
||||
height: 2px;
|
||||
top: 24px;
|
||||
left: 2px;
|
||||
opacity: 0.4;
|
||||
transform: rotate(30deg);
|
||||
transform-origin: 23px 1px;
|
||||
}
|
||||
#roundmenu.clock>div:nth-of-type(11){
|
||||
width: 2px;
|
||||
height: 2px;
|
||||
top: 24px;
|
||||
left: 2px;
|
||||
opacity: 0.4;
|
||||
transform: rotate(60deg);
|
||||
transform-origin: 23px 1px;
|
||||
}
|
||||
#roundmenu.clock>div:nth-of-type(8){
|
||||
width: 2px;
|
||||
height: 2px;
|
||||
top: 24px;
|
||||
left: 46px;
|
||||
opacity: 0.4;
|
||||
transform: rotate(30deg);
|
||||
transform-origin: -23px 1px;
|
||||
}
|
||||
#roundmenu.clock>div:nth-of-type(12){
|
||||
width: 2px;
|
||||
height: 2px;
|
||||
top: 24px;
|
||||
left: 46px;
|
||||
opacity: 0.4;
|
||||
transform: rotate(60deg);
|
||||
transform-origin: -23px 1px;
|
||||
}
|
||||
#roundmenu.clock>div:nth-of-type(13){
|
||||
width: 22px;
|
||||
height: 2px;
|
||||
top: 24px;
|
||||
left: 24px;
|
||||
transform-origin: 1px 1px;
|
||||
border-radius: 4px 40px 40px 4px/4px 4px 4px 4px;
|
||||
}
|
||||
#roundmenu.clock>div:nth-of-type(14){
|
||||
width: 16px;
|
||||
height: 4px;
|
||||
top: 23px;
|
||||
left: 23px;
|
||||
transform-origin: 2px 2px;
|
||||
border-radius: 4px 23px 23px 4px/4px 4px 4px 4px;
|
||||
}
|
||||
|
||||
#roundmenu:not(.clock)>div:nth-of-type(even){
|
||||
width: 20px;
|
||||
left:18px;
|
||||
}
|
||||
#roundmenu>div:nth-of-type(odd){
|
||||
#roundmenu:not(.clock)>div:nth-of-type(odd){
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
#roundmenu>div:nth-of-type(1),
|
||||
#roundmenu>div:nth-of-type(2){
|
||||
#roundmenu:not(.clock)>div:nth-of-type(1),
|
||||
#roundmenu:not(.clock)>div:nth-of-type(2){
|
||||
top:14px;
|
||||
}
|
||||
#roundmenu>div:nth-of-type(3),
|
||||
#roundmenu>div:nth-of-type(4){
|
||||
#roundmenu:not(.clock)>div:nth-of-type(3),
|
||||
#roundmenu:not(.clock)>div:nth-of-type(4){
|
||||
top:23px;
|
||||
}
|
||||
#roundmenu>div:nth-of-type(5),
|
||||
#roundmenu>div:nth-of-type(6){
|
||||
#roundmenu:not(.clock)>div:nth-of-type(5),
|
||||
#roundmenu:not(.clock)>div:nth-of-type(6){
|
||||
top:32px;
|
||||
transform: none !important;
|
||||
}
|
||||
#roundmenu:not(.clock)>div:nth-of-type(7),
|
||||
#roundmenu:not(.clock)>div:nth-of-type(8),
|
||||
#roundmenu:not(.clock)>div:nth-of-type(9),
|
||||
#roundmenu:not(.clock)>div:nth-of-type(10),
|
||||
#roundmenu:not(.clock)>div:nth-of-type(11),
|
||||
#roundmenu:not(.clock)>div:nth-of-type(12),
|
||||
#roundmenu:not(.clock)>div:nth-of-type(13),
|
||||
#roundmenu:not(.clock)>div:nth-of-type(14){
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.linexy{
|
||||
|
@ -732,6 +971,7 @@ margin-bottom: 5px;
|
|||
.caption>.text.textlink:hover{text-decoration: underline;}
|
||||
.caption>div>div{font-size: 16px;position: relative;width: calc(100% - 70px);vertical-align: top;margin: 0;padding: 0;}
|
||||
.skill{left: 0 !important;width: 70px !important;}
|
||||
.skill>.card{transform: scale(0.56);transform-origin: top left;margin-left: 2px;margin-top: 6px;margin-bottom: -52px}
|
||||
.caption>.ctext{text-align:center;font-size:16px;}
|
||||
.button.character,.button.card{width: 90px;height: 90px;position: relative;margin: 6px;}
|
||||
.button.card{font-size: 14px;}
|
||||
|
@ -792,7 +1032,7 @@ margin-bottom: 5px;
|
|||
-webkit-animation:replaceenemy 0.5s
|
||||
}
|
||||
.player>div{z-index: 2;}
|
||||
.player.dead,.player.likedead{z-index: 1;
|
||||
.player.dead,.player.likedead,.grayscale1{z-index: 1;
|
||||
filter:grayscale(1);
|
||||
-webkit-filter:grayscale(1);
|
||||
}
|
||||
|
@ -1553,6 +1793,10 @@ span[data-color="unknownm"]{
|
|||
text-align:center;
|
||||
line-height: 18px;
|
||||
}
|
||||
.cardbg,.button.character.cardbg{
|
||||
color:rgb(74, 29, 1);
|
||||
text-shadow: none;
|
||||
}
|
||||
.card.fullskin>.name.long{
|
||||
top:5px;
|
||||
}
|
||||
|
@ -1729,6 +1973,9 @@ span[data-color="unknownm"]{
|
|||
.browntext{
|
||||
color: rgb(195,161,223);
|
||||
}
|
||||
.legendtext{
|
||||
color: rgb(233, 131, 255);
|
||||
}
|
||||
#window>canvas.fun{
|
||||
position: absolute;
|
||||
left: 0;
|
||||
|
@ -1969,6 +2216,8 @@ div:hover>.wunature{
|
|||
@-webkit-keyframes drawing2{0% {opacity: 0}50%{opacity: 1}100%{opacity: 0}}
|
||||
@keyframes card_start{from {opacity: 0;transform:scale(0);}}
|
||||
@-webkit-keyframes card_start{from {opacity: 0;transform:scale(0);}}
|
||||
@keyframes history_start{from {opacity: 0;margin-bottom: -50px}}
|
||||
@-webkit-keyframes history_start{from {opacity: 0;margin-bottom: -50px}}
|
||||
@keyframes card_start2{from {opacity: 0;transform:scale(0);margin-left: -52px;margin-right: -52px;}}
|
||||
@-webkit-keyframes card_start2{from {opacity: 0;transform:scale(0);margin-left: -52px;margin-right: -52px;}}
|
||||
@keyframes card_judgestart{from {opacity: 0;transform:scale(0) rotateY(-180deg) perspective(600px);}}
|
||||
|
@ -1993,13 +2242,3 @@ div:hover>.wunature{
|
|||
@-webkit-keyframes flip{from{transform:perspective(1000px) rotateY(0);}to{transform:perspective(1000px) rotateY(360deg);}}
|
||||
/*--------其它--------*/
|
||||
::-webkit-scrollbar{display: none;}
|
||||
@media screen and (min-height: 800px) and (orientation:landscape) {
|
||||
#arena{height: 720px;top: calc(50% - 350px);}
|
||||
}
|
||||
@media screen and (min-width: 1280px) {
|
||||
#arena{width: 1152px;left: calc(50% - 576px);}
|
||||
}
|
||||
@media screen and (min-width: 1600px) {
|
||||
#arena.right:not(.noleft){left: calc(50% - 576px);}
|
||||
#arena.left:not(.noleft){left: calc(50% - 576px);}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,21 @@
|
|||
height: calc(95% + 20px);
|
||||
left: 3%;
|
||||
}
|
||||
#window.leftbar #arena:not(.chess){
|
||||
left: calc(3% + 50px);
|
||||
width: calc(94% - 50px);
|
||||
}
|
||||
#window.rightbar #arena:not(.chess){
|
||||
width: calc(94% - 50px);
|
||||
}
|
||||
#historybar{
|
||||
left: 1.5%;
|
||||
height: calc(95% - 160px);
|
||||
}
|
||||
#window.rightbar #historybar,
|
||||
#window.rightbar2:not(.leftbar) #historybar{
|
||||
left: calc(98.5% - 50px);
|
||||
}
|
||||
#control{
|
||||
width: calc(5000% / 47 - 240px);
|
||||
left:calc(-150% / 47 + 120px);
|
||||
|
@ -29,6 +44,20 @@
|
|||
border-radius:0 !important;
|
||||
height:120px;
|
||||
}
|
||||
#window.leftbar #arena:not(.chess)>#me,
|
||||
#window.leftbar #arena:not(.chess)>#mebg,
|
||||
#window.leftbar #arena:not(.chess)>#autonode,
|
||||
#window.leftbar #arena:not(.chess) .player[data-position='0']{
|
||||
width: calc(5000% / 47 + 2500px / 47);
|
||||
left:calc(-150% / 47 - 50px - 75px / 47);
|
||||
}
|
||||
#window.rightbar #arena:not(.chess)>#me,
|
||||
#window.rightbar #arena:not(.chess)>#mebg,
|
||||
#window.rightbar #arena:not(.chess)>#autonode,
|
||||
#window.rightbar #arena:not(.chess) .player[data-position='0']{
|
||||
width: calc(5000% / 47 + 2500px / 47);
|
||||
left:calc(-150% / 47 - 75px / 47);
|
||||
}
|
||||
#arena:not(.chess) #handcards1{
|
||||
height:120px;
|
||||
padding:0;
|
||||
|
@ -226,16 +255,3 @@
|
|||
left:0;
|
||||
background-size:cover;
|
||||
}
|
||||
|
||||
@media screen and (min-height: 800px) and (orientation:landscape) {
|
||||
/*#arena{height: 780px;top: calc(50% - 350px);}
|
||||
#arena:not(.chess)>#me,
|
||||
#arena:not(.chess)>#mebg{
|
||||
bottom:30px;
|
||||
}
|
||||
#arena:not(.chess) .player[data-position='0']{
|
||||
top: calc(100% - 150px);
|
||||
}*/
|
||||
|
||||
#arena{height: calc(95% + 20px);top: calc(5% + 10px);}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,229 @@
|
|||
.storyscene{
|
||||
height: 500px;
|
||||
top:calc(50% - 250px);
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
overflow-x: scroll;
|
||||
overflow-y: hidden;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.storyscene.removing{
|
||||
pointer-events: none;
|
||||
transform: translateY(500px);
|
||||
}
|
||||
.storyscene.lockscroll{
|
||||
overflow-x: hidden;
|
||||
}
|
||||
.storyscene>.scene{
|
||||
width: 350px;
|
||||
height: 420px;
|
||||
position: relative;
|
||||
left: 0;
|
||||
top:40px;
|
||||
margin-left: -40px;
|
||||
margin-right: -40px;
|
||||
z-index: 1;
|
||||
border-radius: 16px !important;
|
||||
overflow: hidden;
|
||||
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0, 0.45) 0 3px 10px;
|
||||
}
|
||||
.storyscene>.scene>.background.player{
|
||||
border-radius: 0 !important;
|
||||
box-shadow: none !important;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
z-index: 1;
|
||||
}
|
||||
.storyscene>.scene.unselectable{
|
||||
opacity: 1 !important;
|
||||
box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px, rgba(0, 0, 0, 0.225) 0 3px 10px;
|
||||
}
|
||||
.storyscene>.scene.unselectable>.background{
|
||||
opacity: 0.3;
|
||||
}
|
||||
.storyscene>.scene.unselectable>.name{
|
||||
opacity: 0.6;
|
||||
}
|
||||
.storyscene>.scene.unselectable>div:not(.mask).background{
|
||||
/*opacity: 0.25;*/
|
||||
}
|
||||
.storyscene>.scene>.mask{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
z-index: 3;
|
||||
}
|
||||
.storyscene>.scene>.mask>div{
|
||||
width: 100%;
|
||||
height: 240px;
|
||||
top:calc(50% - 120px);
|
||||
position: absolute;
|
||||
left: 0;
|
||||
text-align: center;
|
||||
font-size: 80px;
|
||||
line-height: 80px;
|
||||
font-family: 'xinwei';
|
||||
opacity: 0.8;
|
||||
}
|
||||
.storyscene>.scene:not(.unselectable)>.mask{
|
||||
display: none;
|
||||
}.storyscene>.scene.unselectable>.name{
|
||||
/*display: none;*/
|
||||
}
|
||||
.storyscene>.scene.flipped{
|
||||
z-index: 2;
|
||||
border-radius: 12px !important;
|
||||
}
|
||||
.storyscene>.scene.flipped>div:not(.menu){
|
||||
display: none !important;
|
||||
}
|
||||
.storyscene>.scene:not(.flipped)>.menu{
|
||||
display: none;
|
||||
}
|
||||
.storyscene>.scene:first-child{
|
||||
margin-left: 50px;
|
||||
}
|
||||
.storyscene>.scene:last-child{
|
||||
margin-right: 50px;
|
||||
}
|
||||
.storyscene>.scene>.name{
|
||||
font-size: 48px;
|
||||
left: 25px;
|
||||
/*top: auto;*/
|
||||
top: 28px;
|
||||
/*transform: rotateY(-180deg);*/
|
||||
border-radius: 16px !important;
|
||||
z-index: 2;
|
||||
font-family: 'xinwei'
|
||||
}
|
||||
.storyscene>.scene>.menu{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
box-shadow: none;
|
||||
overflow: scroll;
|
||||
}
|
||||
.storyscene>.scene>.background>.avatar{
|
||||
width: calc(100% - 26px);
|
||||
height: calc(100% - 26px);
|
||||
left: 13px;
|
||||
top: 13px;
|
||||
z-index: 2;
|
||||
}
|
||||
.storyscene>.scene>.menu{
|
||||
transform: rotateY(-180deg);
|
||||
}
|
||||
.storyscene>.scene.startscene{
|
||||
-webkit-animation: scene_start 0.5s;
|
||||
}
|
||||
.scene>.menu>.menubutton.enter{
|
||||
position: absolute;
|
||||
top:auto;
|
||||
bottom: 10px;
|
||||
width: 70px;
|
||||
left: calc(50% - 35px);
|
||||
}
|
||||
.scene>.menu>.conversation{
|
||||
display: table;
|
||||
position: absolute;
|
||||
left: 16px;
|
||||
top: 0;
|
||||
width: calc(100% - 32px);
|
||||
height: 100%;
|
||||
font-size: 24px;
|
||||
font-family: 'xinwei';
|
||||
white-space: normal;
|
||||
text-align: left;
|
||||
}
|
||||
.scene>.menu>.conversation.center{
|
||||
text-align: center;
|
||||
font-size: 30px;
|
||||
}
|
||||
.scene>.menu>.avatarconversation{
|
||||
position: relative;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100px;
|
||||
left: 0;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.scene>.menu>.avatarconversation:last-child{
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.scene>.menu>.avatarconversation>div{
|
||||
height: 100%;
|
||||
top:0;
|
||||
}
|
||||
.scene>.menu>.avatarconversation>.avatar{
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
left: 10px;
|
||||
background-size: cover;
|
||||
}
|
||||
.scene>.menu>.avatarconversation.swap>.avatar{
|
||||
left: auto;
|
||||
right: 10px;
|
||||
}
|
||||
.scene>.menu>.avatarconversation>div:not(.avatar){
|
||||
width: calc(100% - 120px);
|
||||
left: 120px;
|
||||
top: 5px;
|
||||
height: calc(100% - 5px);
|
||||
text-align: left;
|
||||
white-space: normal;
|
||||
line-height: 18px;
|
||||
}
|
||||
.scene>.menu>.avatarconversation.swap>div:not(.avatar){
|
||||
left: auto;
|
||||
right: 120px;
|
||||
text-align: right;
|
||||
}
|
||||
.scene>.menu>.conversation>div{
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
}
|
||||
#create-player{
|
||||
width: 400px;
|
||||
height: 300px;
|
||||
left: calc(50% - 200px);
|
||||
top: calc(50% - 150px);
|
||||
position: absolute;
|
||||
-webkit-animation:dialog_start2 0.5s;
|
||||
}
|
||||
#create-player>div{
|
||||
position: absolute;
|
||||
}
|
||||
#create-player>.caption{
|
||||
width: 100%;
|
||||
height: 24px;
|
||||
line-height: 24px;
|
||||
left: 0;
|
||||
top: 0;
|
||||
font-family: 'xinwei';
|
||||
font-size: 24px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@-webkit-keyframes scene_start{
|
||||
from{
|
||||
opacity: 0;
|
||||
transform:scale(0.5);
|
||||
margin-left: -175px;
|
||||
margin-right: -175px;
|
||||
}
|
||||
to{
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
margin-left: 16px;
|
||||
margin-right: 16px;
|
||||
}
|
||||
}
|
|
@ -6,6 +6,9 @@
|
|||
width:130px;
|
||||
height:160px;
|
||||
}
|
||||
#historybar{
|
||||
height: calc(90% - 25px);
|
||||
}
|
||||
#window>.player:not(.minskin)>.avatar,#arena.slim_player .player:not(.minskin):not(.fakeme) .avatar{
|
||||
width: 136px;
|
||||
height: 166px;
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
@import "../mobile/layout.css";
|
||||
#arena{
|
||||
width: 94%;
|
||||
height: calc(97% + 30px);
|
||||
left: 3%;
|
||||
top:3%
|
||||
}
|
||||
#arena.mobile>#control{
|
||||
|
@ -17,6 +15,13 @@
|
|||
font-size: 30px;
|
||||
line-height: 34px;
|
||||
}
|
||||
#historybar{
|
||||
top:14px;
|
||||
height: calc(100% - 150px);
|
||||
}
|
||||
#time{
|
||||
visibility: hidden;
|
||||
}
|
||||
#system{
|
||||
z-index: 31 !important;
|
||||
}
|
||||
|
|
480
mode/brawl.js
|
@ -69,6 +69,7 @@ mode.brawl={
|
|||
showcase.style.width='100%';
|
||||
showcase.style.display='block'
|
||||
showcase.action=info.showcase;
|
||||
showcase.link=name;
|
||||
if(info.fullshow){
|
||||
node.nodes=[showcase];
|
||||
showcase.style.height='100%';
|
||||
|
@ -130,7 +131,7 @@ mode.brawl={
|
|||
start.style.fontSize='72px';
|
||||
start.style.zIndex=3;
|
||||
start.style.transition='all 0s';
|
||||
game.addScene=function(name){
|
||||
game.addScene=function(name,clear){
|
||||
var scene=lib.storage.scene[name];
|
||||
var brawl={
|
||||
name:name,
|
||||
|
@ -142,7 +143,9 @@ mode.brawl={
|
|||
}
|
||||
brawl.content.scene=scene;
|
||||
lib.brawl['scene_'+name]=brawl;
|
||||
createNode('scene_'+name);
|
||||
var node=createNode('scene_'+name);
|
||||
if(clear) game.addSceneClear();
|
||||
clickCapt.call(node);
|
||||
};
|
||||
game.removeScene=function(name){
|
||||
delete lib.storage.scene[name];
|
||||
|
@ -157,8 +160,19 @@ mode.brawl={
|
|||
}
|
||||
}
|
||||
}
|
||||
var sceneNode;
|
||||
for(var i in lib.brawl){
|
||||
createNode(i);
|
||||
if(i=='scene'){
|
||||
sceneNode=createNode(i);
|
||||
}
|
||||
else{
|
||||
createNode(i);
|
||||
}
|
||||
}
|
||||
if(sceneNode){
|
||||
game.switchScene=function(){
|
||||
clickCapt.call(sceneNode);
|
||||
}
|
||||
}
|
||||
for(var i in lib.storage.scene){
|
||||
game.addScene(i);
|
||||
|
@ -370,7 +384,8 @@ mode.brawl={
|
|||
var player;
|
||||
if(init){
|
||||
player=ui.create.player(null,true);
|
||||
player.init('boss_lvbu2');
|
||||
player.node.avatar.show();
|
||||
player.node.avatar.setBackground('boss_lvbu2','character');
|
||||
player.style.left='calc(50% - 75px)';
|
||||
player.style.top='20px';
|
||||
player.node.count.remove();
|
||||
|
@ -386,9 +401,21 @@ mode.brawl={
|
|||
var num2=0;
|
||||
this.showcaseinterval=setInterval(function(){
|
||||
var dx,dy
|
||||
if(num2%3==0){
|
||||
player.animate('target');
|
||||
player.animate('zoomin');
|
||||
if(num2%5==0){
|
||||
// player.animate('target');
|
||||
// player.animate('zoomin');
|
||||
player.classList.add('zoomin3');
|
||||
player.hide();
|
||||
setTimeout(function(){
|
||||
player.style.transitionProperty='none';
|
||||
player.classList.remove('zoomin3');
|
||||
player.classList.add('zoomout2');
|
||||
setTimeout(function(){
|
||||
player.style.transitionProperty='';
|
||||
player.classList.remove('zoomout2');
|
||||
player.show();
|
||||
},500);
|
||||
},700);
|
||||
}
|
||||
num2++;
|
||||
switch(num++){
|
||||
|
@ -861,7 +888,7 @@ mode.brawl={
|
|||
// }
|
||||
// }
|
||||
scene:{
|
||||
name:'自创场景',
|
||||
name:'创建场景',
|
||||
mode:'identity',
|
||||
intro:'<div style="position:relative;display:block;margin-bottom:5px">场景名称:<input name="scenename" type="text" style="width:120px"></div><div style="position:relative;display:block">场景说明:<input name="sceneintro" type="text" style="width:120px"></div>',
|
||||
content:{
|
||||
|
@ -871,12 +898,131 @@ mode.brawl={
|
|||
fullshow:true,
|
||||
template:{
|
||||
init:function(){
|
||||
game.saveConfig('player_number',_status.brawl.scene.players.length,'identity');
|
||||
game.saveConfig('double_character',false,'identity');
|
||||
_status.brawl.playerNumber=_status.brawl.scene.players.length;
|
||||
},
|
||||
showcase:function(init){
|
||||
if(init){
|
||||
var name=lib.brawl[this.link].name;
|
||||
var scene=lib.storage.scene[name];
|
||||
ui.create.node('button','编辑场景',this,function(){
|
||||
_status.sceneToLoad=scene;
|
||||
game.switchScene();
|
||||
});
|
||||
ui.create.node('button','删除场景',this,function(){
|
||||
if(confirm('确定删除'+name+'?')){
|
||||
game.removeScene(name);
|
||||
}
|
||||
},{marginLeft:'6px'});
|
||||
ui.create.node('button','导出扩展',this,function(){
|
||||
var str='{name:"'+name+'",content:function(){\nif(lib.config.mode=="brawl"){\n'+
|
||||
'if(!lib.storage.scene) lib.storage.scene={};\n'+
|
||||
'if(!lib.storage.scene["'+name+'"]) lib.storage.scene["'+name+'"]='+get.stringify(scene)+
|
||||
'\n}}\n}';
|
||||
var extension={'extension.js':'game.import("extension",'+str+')'};
|
||||
game.importExtension(extension,null,name);
|
||||
},{marginLeft:'6px'});
|
||||
}
|
||||
},
|
||||
content:{
|
||||
submode:'normal',
|
||||
noAddSetting:true,
|
||||
identityShown:true,
|
||||
orderedPile:true,
|
||||
cardPile:function(list){
|
||||
list.randomSort();
|
||||
var scene=_status.brawl.scene;
|
||||
var inpile=[];
|
||||
for(var i=0;i<list.length;i++){
|
||||
if(lib.card[list[i][2]]){
|
||||
if(lib.config.bannedcards.contains(list[i][2])) continue;
|
||||
if(game.bannedcards&&game.bannedcards.contains(list[i][2])) continue;
|
||||
inpile.add(list[i][2]);
|
||||
}
|
||||
}
|
||||
var parseInfo=function(info){
|
||||
var info2=[];
|
||||
if(info[1]=='random'){
|
||||
info2.push(['club','spade','heart','diamond'].randomGet());
|
||||
}
|
||||
else{
|
||||
info2.push(info[1]);
|
||||
}
|
||||
if(info[2]=='random'){
|
||||
info2.push(Math.ceil(Math.random()*13));
|
||||
}
|
||||
else{
|
||||
info2.push(info[2]);
|
||||
}
|
||||
if(info[0]=='random'){
|
||||
info2.push(inpile.randomGet());
|
||||
}
|
||||
else{
|
||||
info2.push(info[0]);
|
||||
}
|
||||
return info2;
|
||||
}
|
||||
if(scene.replacepile){
|
||||
list.length=0;
|
||||
}
|
||||
for(var i=scene.cardPileTop.length-1;i>=0;i--){
|
||||
list.unshift(parseInfo(scene.cardPileTop[i]));
|
||||
}
|
||||
for(var i=0;i<scene.cardPileBottom.length;i++){
|
||||
list.push(parseInfo(scene.cardPileBottom[i]));
|
||||
}
|
||||
for(var i=0;i<scene.discardPile.length;i++){
|
||||
ui.create.card(ui.discardPile).init(parseInfo(scene.discardPile[i]));
|
||||
}
|
||||
return list;
|
||||
},
|
||||
gameStart:function(){
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
game.players[i].node.marks.show();
|
||||
game.players[i].node.name.show();
|
||||
game.players[i].node.name2.show();
|
||||
var info=game.players[i].brawlinfo;
|
||||
if(info.maxHp){
|
||||
game.players[i].maxHp=info.maxHp;
|
||||
if(game.players[i].hp>game.players[i].maxHp){
|
||||
game.players[i].hp=game.players[i].maxHp;
|
||||
}
|
||||
}
|
||||
if(info.hp){
|
||||
game.players[i].hp=info.hp;
|
||||
if(game.players[i].hp>game.players[i].maxHp){
|
||||
game.players[i].maxHp=game.players[i].hp;
|
||||
}
|
||||
}
|
||||
game.players[i].update();
|
||||
}
|
||||
var scene=_status.brawl.scene;
|
||||
var over=function(str){
|
||||
switch(str){
|
||||
case 'win':game.over(true);break;
|
||||
case 'lose':game.over(false);break;
|
||||
case 'tie':game.over('平局');break;
|
||||
}
|
||||
}
|
||||
if(scene.turns){
|
||||
var turns=scene.turns[0];
|
||||
lib.onphase.push(function(){
|
||||
turns--;
|
||||
if(turns<0){
|
||||
over(scene.turns[1]);
|
||||
}
|
||||
});
|
||||
}
|
||||
if(scene.washes){
|
||||
var washes=scene.washes[0];
|
||||
lib.onwash.push(function(){
|
||||
washes--;
|
||||
if(washes<=0){
|
||||
over(scene.washes[1]);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
chooseCharacterBefore:function(){
|
||||
var scene=_status.brawl.scene;
|
||||
var playercontrol=[];
|
||||
|
@ -892,17 +1038,17 @@ mode.brawl={
|
|||
maxpos=scene.players.length;
|
||||
}
|
||||
var posmap=[];
|
||||
for(var i=0;i<maxpos;i++){
|
||||
posmap[i]=i;
|
||||
for(var i=1;i<=maxpos;i++){
|
||||
posmap.push(i);
|
||||
}
|
||||
for(var i=0;i<scene.players.length;i++){
|
||||
if(scene.players[i].pos){
|
||||
posmap.remove(scene.players[i].pos);
|
||||
if(scene.players[i].position){
|
||||
posmap.remove(scene.players[i].position);
|
||||
}
|
||||
}
|
||||
for(var i=0;i<scene.players.length;i++){
|
||||
if(!scene.players[i].pos){
|
||||
scene.players[i].pos=posmap.randomRemove();
|
||||
if(!scene.players[i].position){
|
||||
scene.players[i].position=posmap.randomRemove();
|
||||
}
|
||||
}
|
||||
if(playercontrol.length){
|
||||
|
@ -922,21 +1068,130 @@ mode.brawl={
|
|||
return getpos(a)-getpos(b);
|
||||
});
|
||||
var target=game.me;
|
||||
var createCard=function(info){
|
||||
var info2=[];
|
||||
if(info[1]=='random'){
|
||||
info2.push(['club','spade','heart','diamond'].randomGet());
|
||||
}
|
||||
else{
|
||||
info2.push(info[1]);
|
||||
}
|
||||
if(info[2]=='random'){
|
||||
info2.push(Math.ceil(Math.random()*13));
|
||||
}
|
||||
else{
|
||||
info2.push(info[2]);
|
||||
}
|
||||
if(info[0]=='random'){
|
||||
info2.push(lib.inpile.randomGet());
|
||||
}
|
||||
else{
|
||||
info2.push(info[0]);
|
||||
}
|
||||
return ui.create.card().init(info2);
|
||||
}
|
||||
_status.firstAct=game.me;
|
||||
for(var i=0;i<scene.players.length;i++){
|
||||
target.brawlinfo=scene.players[i];
|
||||
target.identity=scene.players[i].identity;
|
||||
target.setIdentity(scene.players[i].identity);
|
||||
var info=scene.players[i];
|
||||
target.brawlinfo=info;
|
||||
target.identity=info.identity;
|
||||
target.setIdentity(info.identity);
|
||||
target.node.marks.hide();
|
||||
if(info.name2!='none'&&info.name2!='random'){
|
||||
if(info.name=='random'){
|
||||
target.init(info.name2,info.name2);
|
||||
target.node.name.hide();
|
||||
target.node.avatar.hide();
|
||||
}
|
||||
else{
|
||||
target.init(info.name,info.name2);
|
||||
}
|
||||
}
|
||||
else{
|
||||
if(info.name!='random'){
|
||||
if(info.name2=='random'){
|
||||
target.init(info.name,info.name);
|
||||
target.node.name2.hide();
|
||||
target.node.avatar2.hide();
|
||||
}
|
||||
else{
|
||||
target.init(info.name);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(info.linked) target.classList.add('linked');
|
||||
if(info.turnedover) target.classList.add('turnedover');
|
||||
if(info.position<_status.firstAct.brawlinfo.position) _status.firstAct=target;
|
||||
var hs=[];
|
||||
for(var j=0;j<info.handcards.length;j++){
|
||||
hs.push(createCard(info.handcards[j]));
|
||||
}
|
||||
if(hs.length){
|
||||
target.directgain(hs);
|
||||
}
|
||||
for(var j=0;j<info.equips.length;j++){
|
||||
target.$equip(createCard(info.equips[j]));
|
||||
}
|
||||
for(var j=0;j<info.judges.length;j++){
|
||||
target.node.judges.appendChild(createCard(info.judges[j]));
|
||||
}
|
||||
target=target.next;
|
||||
}
|
||||
},
|
||||
chooseCharacterAi:function(player){
|
||||
if(player.brawlinfo&&player.brawlinfo.name!='random'){
|
||||
player.init(player.brawlinfo.name)
|
||||
chooseCharacterAi:function(player,list,list2){
|
||||
var info=player.brawlinfo;
|
||||
if(info.name2!='none'){
|
||||
if(info.name=='random'&&info.name2=='random'){
|
||||
list=list.slice(0);
|
||||
player.init(list.randomRemove(),list.randomRemove());
|
||||
}
|
||||
else if(info.name=='random'){
|
||||
player.init(list.randomGet(),info.name2);
|
||||
}
|
||||
else if(info.name2=='random'){
|
||||
player.init(info.name,list.randomGet());
|
||||
}
|
||||
}
|
||||
else{
|
||||
return false;
|
||||
if(info.name=='random'){
|
||||
player.init(list.randomGet());
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
chooseCharacter:function(list){
|
||||
var info=game.me.brawlinfo;
|
||||
var event=_status.event;
|
||||
if(info.name2=='none'){
|
||||
if(info.name!='random'){
|
||||
event.chosen=[info.name];
|
||||
}
|
||||
}
|
||||
else{
|
||||
if(info.name2=='random'&&info.name=='random'){
|
||||
_status.brawl.doubleCharacter=true;
|
||||
}
|
||||
else if(info.name=='random'){
|
||||
game.me.init(info.name2,info.name2);
|
||||
game.me.node.avatar.hide();
|
||||
game.me.node.name.hide();
|
||||
_status.brawl.chooseCharacterStr='选择主将';
|
||||
event.modchosen=[info.name,info.name2];
|
||||
}
|
||||
else if(info.name2=='random'){
|
||||
game.me.init(info.name,info.name);
|
||||
game.me.node.avatar2.hide();
|
||||
game.me.node.name2.hide();
|
||||
_status.brawl.chooseCharacterStr='选择副将';
|
||||
event.modchosen=[info.name,info.name2];
|
||||
}
|
||||
else{
|
||||
event.chosen=[info.name,info.name2];
|
||||
}
|
||||
}
|
||||
if(game.me.identity=='zhu') return false;
|
||||
return 'nozhu';
|
||||
},
|
||||
noGameDraw:true,
|
||||
}
|
||||
},
|
||||
showcase:function(init){
|
||||
|
@ -971,7 +1226,7 @@ mode.brawl={
|
|||
editPile.disabled=true;
|
||||
// editCode.disabled=true;
|
||||
saveButton.disabled=true;
|
||||
exportButton.disabled=true;
|
||||
// exportButton.disabled=true;
|
||||
line7.style.display='none';
|
||||
line2.style.display='block';
|
||||
line2_t.style.display='block';
|
||||
|
@ -987,12 +1242,12 @@ mode.brawl={
|
|||
if(line6_e.childElementCount) capt_e.style.display='block';
|
||||
if(line6_j.childElementCount) capt_j.style.display='block';
|
||||
},style);
|
||||
var editPile=ui.create.node('button','设置状态',line1,function(){
|
||||
var editPile=ui.create.node('button','场景选项',line1,function(){
|
||||
resetCharacter();
|
||||
addCharacter.disabled=true;
|
||||
// editCode.disabled=true;
|
||||
saveButton.disabled=true;
|
||||
exportButton.disabled=true;
|
||||
// exportButton.disabled=true;
|
||||
line7.style.display='none';
|
||||
line8.style.display='block';
|
||||
capt8.style.display='block';
|
||||
|
@ -1032,13 +1287,13 @@ mode.brawl={
|
|||
alert('请添加至少两名角色');
|
||||
return;
|
||||
}
|
||||
if(!_status.currentScene){
|
||||
if(lib.storage.scene[scenename.value]){
|
||||
if(lib.storage.scene[scenename.value]){
|
||||
if(_status.currentScene!=scenename.value){
|
||||
if(!confirm('场景名与现有场景重复,是否覆盖?')){
|
||||
return;
|
||||
}
|
||||
game.removeScene(scenename.value);
|
||||
}
|
||||
game.removeScene(scenename.value);
|
||||
}
|
||||
for(var i=0;i<line6_t.childElementCount;i++){
|
||||
scene.cardPileTop.push(line6_t.childNodes[i].info);
|
||||
|
@ -1050,7 +1305,7 @@ mode.brawl={
|
|||
scene.discardPile.push(line6_d.childNodes[i].info);
|
||||
}
|
||||
if(replacepile.checked){
|
||||
scene.replacePile=true;
|
||||
scene.replacepile=true;
|
||||
}
|
||||
if(turnsresult.value!='none'){
|
||||
scene.turns=[parseInt(turns.value),turnsresult.value]
|
||||
|
@ -1060,10 +1315,7 @@ mode.brawl={
|
|||
}
|
||||
lib.storage.scene[scene.name]=scene;
|
||||
game.save('scene',lib.storage.scene);
|
||||
game.addScene(scene.name);
|
||||
},style);
|
||||
var exportButton=ui.create.node('button','导出扩展',line1,function(){
|
||||
console.log(1);
|
||||
game.addScene(scene.name,true);
|
||||
},style);
|
||||
|
||||
|
||||
|
@ -1180,7 +1432,8 @@ mode.brawl={
|
|||
cardpileaddnumber.style.marginRight='3px';
|
||||
cardpileaddnumber.style.width='85px';
|
||||
|
||||
var fakecard=function(name,suit,number){
|
||||
var fakecard=function(info,position,capt){
|
||||
var name=info[0],suit=info[1],number=info[2];
|
||||
var card=ui.create.card(null,'noclick',true);
|
||||
card.style.zoom=0.6;
|
||||
number=parseInt(cardpileaddnumber.value);
|
||||
|
@ -1194,19 +1447,21 @@ mode.brawl={
|
|||
number2='?';
|
||||
}
|
||||
card.init([suit2,number2,name2]);
|
||||
card.info=[name,suit,number];
|
||||
card.info=info;
|
||||
if(name=='random'){
|
||||
card.node.name.innerHTML=get.verticalStr('随机卡牌');
|
||||
}
|
||||
if(position&&capt){
|
||||
card.listen(function(){
|
||||
this.remove();
|
||||
if(!position.childElementCount) capt.style.display='none';
|
||||
});
|
||||
position.appendChild(card);
|
||||
}
|
||||
return card;
|
||||
};
|
||||
var cc_h=ui.create.node('button','加入手牌区',line5,function(){
|
||||
var card=fakecard(cardpileaddname.value,cardpileaddsuit.value,cardpileaddnumber.value);
|
||||
card.listen(function(){
|
||||
this.remove();
|
||||
if(!line6_h.childElementCount) capt_h.style.display='none';
|
||||
});
|
||||
line6_h.appendChild(card);
|
||||
fakecard([cardpileaddname.value,cardpileaddsuit.value,cardpileaddnumber.value],line6_h,capt_h);
|
||||
capt_h.style.display='block';
|
||||
});
|
||||
var cc_e=ui.create.node('button','加入装备区',line5,function(){
|
||||
|
@ -1217,12 +1472,7 @@ mode.brawl={
|
|||
line6_e.childNodes[i].remove();break;
|
||||
}
|
||||
}
|
||||
var card=fakecard(cardpileaddname.value,cardpileaddsuit.value,cardpileaddnumber.value);
|
||||
card.listen(function(){
|
||||
this.remove();
|
||||
if(!line6_e.childElementCount) capt_e.style.display='none';
|
||||
});
|
||||
line6_e.appendChild(card);
|
||||
fakecard([cardpileaddname.value,cardpileaddsuit.value,cardpileaddnumber.value],line6_e,capt_e);
|
||||
capt_e.style.display='block';
|
||||
});
|
||||
var cc_j=ui.create.node('button','加入判定区',line5,function(){
|
||||
|
@ -1232,12 +1482,7 @@ mode.brawl={
|
|||
line6_j.childNodes[i].remove();break;
|
||||
}
|
||||
}
|
||||
var card=fakecard(cardpileaddname.value,cardpileaddsuit.value,cardpileaddnumber.value);
|
||||
card.listen(function(){
|
||||
this.remove();
|
||||
if(!line6_j.childElementCount) capt_j.style.display='none';
|
||||
});
|
||||
line6_j.appendChild(card);
|
||||
fakecard([cardpileaddname.value,cardpileaddsuit.value,cardpileaddnumber.value],line6_j,capt_j);
|
||||
capt_j.style.display='block';
|
||||
});
|
||||
cc_h.style.marginLeft='3px';
|
||||
|
@ -1264,30 +1509,15 @@ mode.brawl={
|
|||
var line10=ui.create.div(style2,this);
|
||||
line10.style.display='none';
|
||||
var ac_h=ui.create.node('button','加入牌堆顶',line10,function(){
|
||||
var card=fakecard(cardpileaddname.value,cardpileaddsuit.value,cardpileaddnumber.value);
|
||||
card.listen(function(){
|
||||
this.remove();
|
||||
if(!line6_t.childElementCount) capt_t.style.display='none';
|
||||
});
|
||||
line6_t.appendChild(card);
|
||||
fakecard([cardpileaddname.value,cardpileaddsuit.value,cardpileaddnumber.value],line6_t,capt_t);
|
||||
capt_t.style.display='block';
|
||||
});
|
||||
var ac_e=ui.create.node('button','加入牌堆底',line10,function(){
|
||||
var card=fakecard(cardpileaddname.value,cardpileaddsuit.value,cardpileaddnumber.value);
|
||||
card.listen(function(){
|
||||
this.remove();
|
||||
if(!line6_b.childElementCount) capt_b.style.display='none';
|
||||
});
|
||||
line6_b.appendChild(card);
|
||||
fakecard([cardpileaddname.value,cardpileaddsuit.value,cardpileaddnumber.value],line6_b,capt_b);
|
||||
capt_b.style.display='block';
|
||||
});
|
||||
var ac_j=ui.create.node('button','加入弃牌堆',line10,function(){
|
||||
var card=fakecard(cardpileaddname.value,cardpileaddsuit.value,cardpileaddnumber.value);
|
||||
card.listen(function(){
|
||||
this.remove();
|
||||
if(!line6_d.childElementCount) capt_d.style.display='none';
|
||||
});
|
||||
line6_d.appendChild(card);
|
||||
fakecard([cardpileaddname.value,cardpileaddsuit.value,cardpileaddnumber.value],line6_d,capt_d);
|
||||
capt_d.style.display='block';
|
||||
});
|
||||
ac_h.style.marginLeft='3px';
|
||||
|
@ -1324,7 +1554,7 @@ mode.brawl={
|
|||
editPile.disabled=false;
|
||||
// editCode.disabled=false;
|
||||
saveButton.disabled=false;
|
||||
exportButton.disabled=false;
|
||||
// exportButton.disabled=false;
|
||||
line7.style.display='block';
|
||||
line2.style.display='none';
|
||||
line2_t.style.display='none';
|
||||
|
@ -1369,14 +1599,14 @@ mode.brawl={
|
|||
}
|
||||
player.init(name,name3);
|
||||
if(info.name2=='random'){
|
||||
player.node.name2.innerHTML=get.verticalStr('随机副将');
|
||||
player.node.name2.innerHTML=get.verticalStr('自选副将');
|
||||
}
|
||||
}
|
||||
else{
|
||||
player.init(name);
|
||||
}
|
||||
if(info.name=='random'){
|
||||
player.node.name.innerHTML=get.verticalStr('随机主将');
|
||||
player.node.name.innerHTML=get.verticalStr('自选主将');
|
||||
}
|
||||
if(info.maxHp){
|
||||
player.maxHp=info.maxHp;
|
||||
|
@ -1388,10 +1618,10 @@ mode.brawl={
|
|||
player.node.handcards1.appendChild(ui.create.card());
|
||||
}
|
||||
for(var i=0;i<info.equips.length;i++){
|
||||
player.$equip(fakecard.apply(this,info.equips[i]));
|
||||
player.$equip(fakecard(info.equips[i]));
|
||||
}
|
||||
for(var i=0;i<info.judges.length;i++){
|
||||
player.node.judges.appendChild(fakecard.apply(this,info.judges[i]));
|
||||
player.node.judges.appendChild(fakecard(info.judges[i]));
|
||||
}
|
||||
player.setIdentity(info.identity);
|
||||
var pos=info.position;
|
||||
|
@ -1416,6 +1646,21 @@ mode.brawl={
|
|||
player.style.top=0;
|
||||
player.style.margin='-18px';
|
||||
player.node.marks.remove();
|
||||
|
||||
|
||||
line7.appendChild(player);
|
||||
player.listen(function(){
|
||||
if(confirm('是否删除此角色?')){
|
||||
this.remove();
|
||||
if(line7.childElementCount<8){
|
||||
addCharacter.disabled=false;
|
||||
}
|
||||
}
|
||||
});
|
||||
if(line7.childElementCount>=8){
|
||||
addCharacter.disabled=true;
|
||||
}
|
||||
|
||||
return player;
|
||||
};
|
||||
ui.create.div('.menubutton.large','确定',line4,style3,function(){
|
||||
|
@ -1444,27 +1689,15 @@ mode.brawl={
|
|||
}
|
||||
}
|
||||
for(var i=0;i<line6_h.childElementCount;i++){
|
||||
info.handcards.push([line6_h.childNodes[i].name,line6_h.childNodes[i].suit,line6_h.childNodes[i].number]);
|
||||
info.handcards.push(line6_h.childNodes[i].info);
|
||||
}
|
||||
for(var i=0;i<line6_e.childElementCount;i++){
|
||||
info.equips.push([line6_e.childNodes[i].name,line6_e.childNodes[i].suit,line6_e.childNodes[i].number]);
|
||||
info.equips.push(line6_e.childNodes[i].info);
|
||||
}
|
||||
for(var i=0;i<line6_j.childElementCount;i++){
|
||||
info.judges.push([line6_j.childNodes[i].name,line6_j.childNodes[i].suit,line6_j.childNodes[i].number]);
|
||||
}
|
||||
var player=createCharacter(info);
|
||||
line7.appendChild(player);
|
||||
player.listen(function(){
|
||||
if(confirm('是否删除此角色?')){
|
||||
this.remove();
|
||||
if(line7.childElementCount<8){
|
||||
addCharacter.disabled=false;
|
||||
}
|
||||
}
|
||||
});
|
||||
if(line7.childElementCount>=8){
|
||||
addCharacter.disabled=true;
|
||||
info.judges.push(line6_j.childNodes[i].info);
|
||||
}
|
||||
createCharacter(info);
|
||||
resetCharacter();
|
||||
});
|
||||
ui.create.div('.menubutton.large','取消',line4,style3,resetCharacter);
|
||||
|
@ -1478,7 +1711,7 @@ mode.brawl={
|
|||
line8.style.display='none';
|
||||
line8.style.marginTop='10px';
|
||||
line8.style.marginBottom='10px';
|
||||
var turnslist=[['1','一'],['2','二'],['3','三'],['4','四'],['5','五'],['6','六'],['7','七'],['8','八'],['9','九'],['10','十']];
|
||||
var turnslist=[['1','一'],['2','两'],['3','三'],['4','四'],['5','五'],['6','六'],['7','七'],['8','八'],['9','九'],['10','十']];
|
||||
var results=[['none','无'],['win','胜利'],['lose','失败'],['tie','平局']];
|
||||
var turns=ui.create.selectlist(turnslist,'1',line8);
|
||||
ui.create.node('span','个回合后',line8,style);
|
||||
|
@ -1493,7 +1726,7 @@ mode.brawl={
|
|||
var line9=ui.create.div(style2,this);
|
||||
line9.style.display='none';
|
||||
line9.style.marginTop='20px';
|
||||
var resetStatus=function(){
|
||||
var resetStatus=function(all){
|
||||
if(line7.childElementCount>=8){
|
||||
addCharacter.disabled=true;
|
||||
}
|
||||
|
@ -1502,7 +1735,7 @@ mode.brawl={
|
|||
}
|
||||
// editCode.disabled=false;
|
||||
saveButton.disabled=false;
|
||||
exportButton.disabled=false;
|
||||
// exportButton.disabled=false;
|
||||
cardpileaddname.value='random';
|
||||
cardpileaddsuit.value='random';
|
||||
cardpileaddnumber.value='random';
|
||||
|
@ -1523,9 +1756,64 @@ mode.brawl={
|
|||
capt_t.style.display='none';
|
||||
capt_b.style.display='none';
|
||||
capt_d.style.display='none';
|
||||
|
||||
if(all===true){
|
||||
replacepile.checked=false;
|
||||
turns.value='1';
|
||||
turnsresult.value='none';
|
||||
washes.value='1';
|
||||
washesresult.value='none';
|
||||
line6_t.innerHTML='';
|
||||
line6_b.innerHTML='';
|
||||
line6_d.innerHTML='';
|
||||
}
|
||||
}
|
||||
|
||||
ui.create.div('.menubutton.large','确定',line9,style3,resetStatus);
|
||||
|
||||
game.addSceneClear=function(){
|
||||
resetCharacter();
|
||||
resetStatus(true);
|
||||
scenename.value='';
|
||||
sceneintro.value='';
|
||||
line7.innerHTML='';
|
||||
delete _status.currentScene;
|
||||
};
|
||||
game.loadScene=function(scene){
|
||||
resetCharacter();
|
||||
resetStatus(true);
|
||||
scenename.value=scene.name;
|
||||
sceneintro.value=scene.intro;
|
||||
_status.currentScene=scene.name;
|
||||
line7.innerHTML='';
|
||||
if(scene.replacepile) replacepile.checked=true;
|
||||
if(scene.turns){
|
||||
turns.value=scene.turns[0].toString();
|
||||
turnsresult.value=scene.turns[1];
|
||||
}
|
||||
if(scene.washes){
|
||||
washes.value=scene.washes[0].toString();
|
||||
washesresult.value=scene.washes[1];
|
||||
}
|
||||
for(var i=0;i<scene.cardPileTop.length;i++){
|
||||
fakecard(scene.cardPileTop[i],line6_t,capt_t);
|
||||
}
|
||||
for(var i=0;i<scene.cardPileBottom.length;i++){
|
||||
fakecard(scene.cardPileBottom[i],line6_b,capt_b);
|
||||
}
|
||||
for(var i=0;i<scene.discardPile.length;i++){
|
||||
fakecard(scene.discardPile[i],line6_d,capt_d);
|
||||
}
|
||||
|
||||
for(var i=0;i<scene.players.length;i++){
|
||||
createCharacter(scene.players[i]);
|
||||
}
|
||||
};
|
||||
}
|
||||
if(_status.sceneToLoad){
|
||||
var scene=_status.sceneToLoad;
|
||||
delete _status.sceneToLoad;
|
||||
game.loadScene(scene);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,9 @@ mode.chess={
|
|||
start:function(){
|
||||
"step 0"
|
||||
_status.mode=get.config('chess_mode');
|
||||
if(lib.storage.test){
|
||||
_status.mode='combat';
|
||||
}
|
||||
if(_status.mode=='combat'){
|
||||
_status.first_less=true;
|
||||
}
|
||||
|
|
|
@ -88,9 +88,9 @@ mode.guozhan={
|
|||
for(var i=0;i<game.players.length;i++){
|
||||
game.players[i].name='unknown'+get.distance(player,game.players[i],'absolute');
|
||||
game.players[i].node.name_seat=ui.create.div('.name.name_seat',get.verticalStr(lib.translate[game.players[i].name]),game.players[i]);
|
||||
if(game.players[i]==game.me){
|
||||
lib.translate[game.players[i].name]+='(你)';
|
||||
}
|
||||
// if(game.players[i]==game.me){
|
||||
// lib.translate[game.players[i].name]+='(你)';
|
||||
// }
|
||||
}
|
||||
},player);
|
||||
|
||||
|
@ -836,11 +836,11 @@ mode.guozhan={
|
|||
if(info.mode.unseen) this.classList.add('unseen');
|
||||
if(info.mode.unseen2) this.classList.add('unseen2');
|
||||
if(!info.name) return;
|
||||
if(info.name.indexOf('unknown')==0){
|
||||
if(this==game.me){
|
||||
lib.translate[info.name]+='(你)';
|
||||
}
|
||||
}
|
||||
// if(info.name.indexOf('unknown')==0){
|
||||
// if(this==game.me){
|
||||
// lib.translate[info.name]+='(你)';
|
||||
// }
|
||||
// }
|
||||
this.init(info.name1,info.name2,false);
|
||||
this.name1=info.name1;
|
||||
this.name=info.name;
|
||||
|
|
|
@ -346,7 +346,7 @@ mode.identity={
|
|||
}
|
||||
var name=[
|
||||
str,
|
||||
get.cnNumber(parseInt(get.config('player_number')))+'人'+
|
||||
get.cnNumber(get.playerNumber())+'人'+
|
||||
get.translation(lib.config.mode)+' - '+lib.translate[game.me.identity+'2']
|
||||
];
|
||||
return name;
|
||||
|
@ -565,7 +565,7 @@ mode.identity={
|
|||
else{
|
||||
identityList=lib.config.mode_config.identity.identity[game.players.length-2].slice(0);
|
||||
if(get.config('double_nei')){
|
||||
switch(get.config('player_number')){
|
||||
switch(get.playerNumber()){
|
||||
case '8':
|
||||
identityList.remove('fan');
|
||||
identityList.push('nei');
|
||||
|
@ -652,6 +652,7 @@ mode.identity={
|
|||
this.classList.add('thundertext');
|
||||
}
|
||||
num=get.config('choice_'+link);
|
||||
if(event.zhongmode) num=3;
|
||||
_status.event.parent.swapnodialog=function(dialog,list){
|
||||
var buttons=ui.create.div('.buttons');
|
||||
var node=dialog.buttons[0].parentNode;
|
||||
|
@ -686,7 +687,7 @@ mode.identity={
|
|||
dialog.add('选择座位');
|
||||
var seats=document.createElement('table');
|
||||
seats.style.margin='0 auto';
|
||||
seats.style.maxWidth=(60*(parseInt(get.config('player_number'))-1))+'px';
|
||||
seats.style.maxWidth=(60*get.playerNumber()-1)+'px';
|
||||
var tr=document.createElement('tr');
|
||||
seats.appendChild(tr);
|
||||
for(var i=2;i<=game.players.length;i++){
|
||||
|
@ -804,6 +805,9 @@ mode.identity={
|
|||
event.list.remove(game.zhu.name2);
|
||||
if(_status.brawl&&_status.brawl.chooseCharacter){
|
||||
list=_status.brawl.chooseCharacter(event.list,num);
|
||||
if(list===false||list==='nozhu'){
|
||||
list=event.list.slice(0,num);
|
||||
}
|
||||
}
|
||||
else{
|
||||
list=event.list.slice(0,num);
|
||||
|
@ -812,6 +816,17 @@ mode.identity={
|
|||
else{
|
||||
if(_status.brawl&&_status.brawl.chooseCharacter){
|
||||
list=_status.brawl.chooseCharacter(list2,list3,num);
|
||||
if(list===false){
|
||||
if(event.zhongmode){
|
||||
list=list3.slice(0,6);
|
||||
}
|
||||
else{
|
||||
list=list2.concat(list3.slice(0,num));
|
||||
}
|
||||
}
|
||||
else if(list==='nozhu'){
|
||||
list=event.list.slice(0,num);
|
||||
}
|
||||
}
|
||||
else{
|
||||
if(event.zhongmode){
|
||||
|
@ -830,16 +845,20 @@ mode.identity={
|
|||
delete event.swapnodialog;
|
||||
}
|
||||
else{
|
||||
dialog=ui.create.dialog('选择角色','hidden',[list,'character']);
|
||||
var str='选择角色';
|
||||
if(_status.brawl&&_status.brawl.chooseCharacterStr){
|
||||
str=_status.brawl.chooseCharacterStr;
|
||||
}
|
||||
dialog=ui.create.dialog(str,'hidden',[list,'character']);
|
||||
if(!_status.brawl||!_status.brawl.noAddSetting){
|
||||
if(get.config('change_identity')){
|
||||
addSetting(dialog);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!event.chosen.length){
|
||||
game.me.chooseButton(dialog,true).selectButton=function(){
|
||||
if(_status.brawl&&_status.brawl.doubleCharacter) return 2;
|
||||
return get.config('double_character')?2:1
|
||||
};
|
||||
}
|
||||
|
@ -854,11 +873,41 @@ mode.identity={
|
|||
}
|
||||
if(game.zhu!=game.me){
|
||||
event.list.randomSort();
|
||||
list=event.list.slice(0,num);
|
||||
if(_status.brawl&&_status.brawl.chooseCharacter){
|
||||
list=_status.brawl.chooseCharacter(event.list,num);
|
||||
if(list===false||list==='nozhu'){
|
||||
list=event.list.slice(0,num);
|
||||
}
|
||||
}
|
||||
else{
|
||||
list=event.list.slice(0,num);
|
||||
}
|
||||
}
|
||||
else{
|
||||
list3.randomSort();
|
||||
list=list2.concat(list3.slice(0,num));
|
||||
if(_status.brawl&&_status.brawl.chooseCharacter){
|
||||
list=_status.brawl.chooseCharacter(list2,list3,num);
|
||||
if(list===false){
|
||||
if(event.zhongmode){
|
||||
list=list3.slice(0,6);
|
||||
}
|
||||
else{
|
||||
list=list2.concat(list3.slice(0,num));
|
||||
}
|
||||
}
|
||||
else if(list==='nozhu'){
|
||||
event.list.randomSort();
|
||||
list=event.list.slice(0,num);
|
||||
}
|
||||
}
|
||||
else{
|
||||
if(event.zhongmode){
|
||||
list=list3.slice(0,6);
|
||||
}
|
||||
else{
|
||||
list=list2.concat(list3.slice(0,num));
|
||||
}
|
||||
}
|
||||
}
|
||||
var buttons=ui.create.div('.buttons');
|
||||
var node=_status.event.dialog.buttons[0].parentNode;
|
||||
|
@ -923,6 +972,11 @@ mode.identity={
|
|||
if(event.chosen.length){
|
||||
game.me.init(event.chosen[0],event.chosen[1]);
|
||||
}
|
||||
else if(event.modchosen){
|
||||
if(event.modchosen[0]=='random') event.modchosen[0]=result.buttons[0].link;
|
||||
else event.modchosen[1]=result.buttons[0].link;
|
||||
game.me.init(event.modchosen[0],event.modchosen[1]);
|
||||
}
|
||||
else if(result.buttons.length==2){
|
||||
game.me.init(result.buttons[0].link,result.buttons[1].link)
|
||||
}
|
||||
|
|
|
@ -1268,7 +1268,7 @@ mode.stone={
|
|||
careerList:['mage','shaman','druid','paladin','rogue','priest','hunter','warrior','warlock'],
|
||||
game:{
|
||||
reserveDead:true,
|
||||
bannedcards:['lebu','guiyoujie','xietianzi','lingjiandai','jiguanshu','sifeizhenmian','mujiaren'],
|
||||
bannedcards:['lebu','guiyoujie','xietianzi','lingjiandai','jiguanshu','sifeizhenmian','mujiaren','fengxueren','chuansongmen'],
|
||||
onwash:function(){
|
||||
if(_status.mode!='deck') return;
|
||||
var list=[];
|
||||
|
@ -4210,7 +4210,6 @@ mode.stone={
|
|||
spell_yexingchengzhang:{
|
||||
type:'stonecard',
|
||||
fullimage:true,
|
||||
chongzhu:true,
|
||||
enable:function(event,player){
|
||||
return !player.hasSkill('druid_yexingchengzhang')&&!player.isMin();
|
||||
},
|
||||
|
@ -10185,13 +10184,13 @@ mode.stone={
|
|||
'<li>每有一个友方随从死亡,获得10点怒气值,主将死亡获得20点怒气值'+
|
||||
'<li>回合结束阶段,若己方随从数少于对方会获得10X点怒气值,X为随从数之差'+
|
||||
'<li>怒气值达到100时不再增加。回合开始阶段,若怒气值己满,可消耗全部怒气值和4点行动值并召唤一名传说随从</ul>'+
|
||||
'<div style="margin:10px">战斗</div><ul style="margin-top:0"><li>游戏流程类似1v1,场上有两名主将进行对抗,主将的体力上限+1'+
|
||||
'<li>游戏牌堆移除了乐不思蜀等跳过出牌阶段的卡牌'+
|
||||
'<li>主将出牌阶段的出牌数量(行动值)有上限,从1开始递增,后手的首个回合有一点额外行动值,装备牌不计入出牌上限<li>游戏每进行一轮,主将的出牌上限+1,超过6时减至3并重新累加'+
|
||||
'<div style="margin:10px">战斗</div><ul style="margin-top:0"><li>场上有两名主将进行对抗,主将的体力上限+1'+
|
||||
'<li>游戏牌堆移除了乐不思蜀等跳过出牌阶段以及包含翻面功能的卡牌'+
|
||||
'<li>主将出牌阶段的出牌数量(行动值)有上限,从1开始递增,后手的首个回合有一点额外行动值,装备牌不计入出牌上限<li>游戏每进行一轮,主将的出牌上限+1,直到增加至6'+
|
||||
'<li>使用随从牌可召唤一个随从,随从出场时背面朝上。每一方在场的随从数不能超过4<li>随从于摸牌阶段摸牌基数为1,随从的法术和随从牌均视为闪,装备牌均视为杀<li>'+
|
||||
'随从与其他所有角色相互距离基数为1<li>'+
|
||||
'主将杀死对方随从后获得一个额外的行动值并从牌库中获得一张牌,杀死己方随从无惩罚,随从杀死随从无效果'+
|
||||
'<li>主将可重铸随从牌,但回合内总的重铸次数不能超过3,随从不能重铸任何牌(包括铁索等默认可以重铸的牌);若重铸的牌为随从牌或法术牌,则摸牌改为获得一张随机法术牌'+
|
||||
'<li>主将在随从满员时可重铸随从牌,但回合内总的重铸次数不能超过3;若重铸的牌为随从牌或法术牌,则摸牌改为获得一张随机法术牌'+
|
||||
'<li>嘲讽:若一方阵营中有嘲讽角色,则同阵营的无嘲讽角色不以能成为杀目标'+
|
||||
'<li>行动顺序为先主将后随从。主将或随从死亡后立即移出游戏,主将死亡后替补登场,替补登场时摸3+X张牌,X为对方存活的随从数,无替补时游戏结束'
|
||||
}
|
||||
|
|
206
mode/tafang.js
|
@ -4,6 +4,7 @@ mode.tafang={
|
|||
start:function(){
|
||||
"step 0"
|
||||
lib.init.css(lib.assetURL+'layout/mode','chess');
|
||||
lib.init.css(lib.assetURL+'layout/mode','tafang');
|
||||
game.loadMode('chess');
|
||||
"step 1"
|
||||
for(var i in result.element){
|
||||
|
@ -37,6 +38,13 @@ mode.tafang={
|
|||
}
|
||||
}
|
||||
}
|
||||
// if(!localStorage.getItem(lib.configprefix+'playback')){
|
||||
// game.loadMap();
|
||||
// }
|
||||
"step 2"
|
||||
var result='basic_medium';
|
||||
_status.map=lib.tafang.map[result];
|
||||
_status.mapname=result;
|
||||
ui.chesssheet=document.createElement('style');
|
||||
document.head.appendChild(ui.chesssheet);
|
||||
var playback=localStorage.getItem(lib.configprefix+'playback');
|
||||
|
@ -84,36 +92,20 @@ mode.tafang={
|
|||
}
|
||||
_status.mylist=[];
|
||||
_status.enemylist=[];
|
||||
"step 2"
|
||||
"step 3"
|
||||
ui.arena.classList.add('chess');
|
||||
var mylistmap,enemylistmap;
|
||||
if(event.video){
|
||||
var videocontent;
|
||||
for(var ii=0;ii<event.video.length;ii++){
|
||||
if(event.video[ii].type=='init'){
|
||||
videocontent=event.video[ii].content;
|
||||
_status.mapname=event.video[ii].content;
|
||||
break;
|
||||
}
|
||||
}
|
||||
mylistmap=[];
|
||||
enemylistmap=[];
|
||||
for(var i=0;i<videocontent.length;i++){
|
||||
if(videocontent[i].lord){
|
||||
_status.lord=videocontent[i].name;
|
||||
}
|
||||
if(videocontent[i].identity=='friend'){
|
||||
_status.mylist.push(videocontent[i].name);
|
||||
mylistmap.push(videocontent[i].position);
|
||||
}
|
||||
else{
|
||||
_status.enemylist.push(videocontent[i].name);
|
||||
enemylistmap.push(videocontent[i].position);
|
||||
}
|
||||
}
|
||||
_status.map=lib.tafang.map[_status.mapname];
|
||||
game.playerMap=lib.posmap;
|
||||
}
|
||||
ui.chesswidth=parseInt(get.config('tafang_size'));
|
||||
ui.chessheight=11;
|
||||
ui.chesswidth=_status.map.size[0];
|
||||
ui.chessheight=_status.map.size[1];
|
||||
ui.chess.style.height=148*ui.chessheight+'px';
|
||||
ui.chess.style.width=148*ui.chesswidth+'px';
|
||||
if(!lib.config.touchscreen){
|
||||
|
@ -255,7 +247,7 @@ mode.tafang={
|
|||
lib.setScroll(ui.chessinfo);
|
||||
|
||||
game.arrangePlayers();
|
||||
"step 3"
|
||||
"step 4"
|
||||
ui.control.style.display='';
|
||||
if(event.video){
|
||||
game.playVideoContent(event.video);
|
||||
|
@ -263,7 +255,7 @@ mode.tafang={
|
|||
return;
|
||||
}
|
||||
_status.videoInited=true;
|
||||
game.addVideo('init',null,[]);
|
||||
game.addVideo('init',null,_status.mapname);
|
||||
if(game.friendZhu){
|
||||
game.addVideo('identityText',game.friendZhu,'将');
|
||||
game.addVideo('identityText',game.enemyZhu,'帅');
|
||||
|
@ -347,6 +339,23 @@ mode.tafang={
|
|||
},
|
||||
},
|
||||
},
|
||||
tafang:{
|
||||
map:{
|
||||
basic_small:{
|
||||
name:'小型战场',
|
||||
size:[6,11],
|
||||
obstacle:[]
|
||||
},
|
||||
basic_medium:{
|
||||
name:'中型战场',
|
||||
size:[9,11],
|
||||
},
|
||||
basic_large:{
|
||||
name:'大型战场',
|
||||
size:[12,11],
|
||||
},
|
||||
}
|
||||
},
|
||||
game:{
|
||||
minskin:true,
|
||||
singleHandcard:true,
|
||||
|
@ -806,6 +815,150 @@ mode.tafang={
|
|||
}
|
||||
});
|
||||
},
|
||||
loadMap:function(){
|
||||
var next=game.createEvent('loadMap');
|
||||
next.setContent(function(){
|
||||
if(!lib.storage.map){
|
||||
lib.storage.map=['basic_small','basic_medium','basic_large'];
|
||||
}
|
||||
if(!lib.storage.newmap){
|
||||
lib.storage.newmap=[];
|
||||
}
|
||||
var sceneview=ui.create.div('.storyscene');
|
||||
if(!lib.config.touchscreen&&lib.config.mousewheel){
|
||||
sceneview._scrollspeed=30;
|
||||
sceneview._scrollnum=10;
|
||||
sceneview.onmousewheel=function(){
|
||||
if(!this.classList.contains('lockscroll')){
|
||||
ui.click.mousewheel.apply(this,arguments);
|
||||
}
|
||||
};
|
||||
}
|
||||
lib.setScroll(sceneview);
|
||||
var switchScene=function(){
|
||||
event.result=this.link;
|
||||
sceneview.delete();
|
||||
setTimeout(game.resume,300);
|
||||
}
|
||||
var clickScene=function(e){
|
||||
if(this.classList.contains('unselectable')) return;
|
||||
if(this._clicking) return;
|
||||
if(e&&e.stopPropagation) e.stopPropagation();
|
||||
if(this.classList.contains('flipped')){
|
||||
return;
|
||||
}
|
||||
if(this.classList.contains('glow3')){
|
||||
this.classList.remove('glow3');
|
||||
lib.storage.newmap.remove(this.name);
|
||||
game.save('newmap',lib.storage.newmap);
|
||||
}
|
||||
var sceneNode=this.parentNode;
|
||||
var current=document.querySelector('.flipped.scene');
|
||||
if(current){
|
||||
restoreScene(current,true);
|
||||
}
|
||||
this.content.innerHTML='';
|
||||
ui.create.div('.menubutton.large.enter','进入',this.content,switchScene).link=this.name;
|
||||
sceneNode.classList.add('lockscroll');
|
||||
var node=this;
|
||||
node._clicking=true;
|
||||
setTimeout(function(){
|
||||
node._clicking=false;
|
||||
},700);
|
||||
sceneNode.dx=ui.window.offsetWidth/2-(-sceneNode.scrollLeft+this.offsetLeft+this.offsetWidth/2);
|
||||
if(Math.abs(sceneNode.dx)<20){
|
||||
sceneNode.dx=0;
|
||||
}
|
||||
if(!sceneNode.sceneInterval&&sceneNode.dx){
|
||||
sceneNode.sceneInterval=setInterval(function(){
|
||||
var dx=sceneNode.dx;
|
||||
if(Math.abs(dx)<=2){
|
||||
sceneNode.scrollLeft-=dx;
|
||||
clearInterval(sceneNode.sceneInterval);
|
||||
delete sceneNode.sceneInterval;
|
||||
}
|
||||
else{
|
||||
var ddx=dx/Math.sqrt(Math.abs(dx))*1.5;
|
||||
sceneNode.scrollLeft-=ddx;
|
||||
sceneNode.dx-=ddx;
|
||||
}
|
||||
},16);
|
||||
}
|
||||
node.style.transition='all ease-in 0.2s';
|
||||
node.style.transform='perspective(1600px) rotateY(90deg) scale(0.75)';
|
||||
var onEnd=function(){
|
||||
node.removeEventListener('webkitTransitionEnd',onEnd);
|
||||
node.classList.add('flipped');
|
||||
sceneNode.classList.add('lockscroll');
|
||||
node.style.transition='all ease-out 0.4s';
|
||||
node.style.transform='perspective(1600px) rotateY(180deg) scale(1)'
|
||||
};
|
||||
node.addEventListener('webkitTransitionEnd',onEnd);
|
||||
}
|
||||
ui.click.scene=clickScene;
|
||||
var restoreScene=function(node,forced){
|
||||
if(node._clicking&&!forced) return;
|
||||
if(node.transformInterval){
|
||||
clearInterval(node.transformInterval);
|
||||
delete node.transformInterval;
|
||||
}
|
||||
var sceneNode=node.parentNode;
|
||||
node._clicking=true;
|
||||
setTimeout(function(){
|
||||
node._clicking=false;
|
||||
},700);
|
||||
node.style.transition='all ease-in 0.2s';
|
||||
node.style.transform='perspective(1600px) rotateY(90deg) scale(0.75)';
|
||||
var onEnd=function(){
|
||||
node.removeEventListener('webkitTransitionEnd',onEnd);
|
||||
node.classList.remove('flipped');
|
||||
if(!sceneNode.querySelector('.flipped')){
|
||||
sceneNode.classList.remove('lockscroll');
|
||||
}
|
||||
node.style.transition='all ease-out 0.4s';
|
||||
node.style.transform='perspective(1600px) rotateY(0deg) scale(0.7)'
|
||||
};
|
||||
node.addEventListener('webkitTransitionEnd',onEnd);
|
||||
}
|
||||
ui.click.scene2=restoreScene;
|
||||
var createScene=function(name){
|
||||
var scene=lib.tafang.map[name];
|
||||
var node=ui.create.div('.scene',clickScene);
|
||||
node.style.transform='perspective(1600px) rotateY(0deg) scale(0.7)';
|
||||
node.name=name;
|
||||
node.bgnode=ui.create.div('.background.player',node);
|
||||
node.info=scene;
|
||||
ui.create.div('.avatar.menu',node.bgnode);
|
||||
node.namenode=ui.create.div('.name',node,(scene.name));
|
||||
if(lib.storage.map.contains(name)){
|
||||
if(lib.storage.newmap.contains(name)){
|
||||
node.classList.add('glow3');
|
||||
}
|
||||
node.namenode.dataset.nature='soilm';
|
||||
}
|
||||
else{
|
||||
node.classList.add('unselectable');
|
||||
node.namenode.innerHTML=('未开启');
|
||||
}
|
||||
var content=ui.create.div('.menu',node);
|
||||
lib.setScroll(content);
|
||||
node.content=content;
|
||||
sceneview.appendChild(node);
|
||||
return node;
|
||||
}
|
||||
event.custom.add.window=function(){
|
||||
var current=document.querySelector('.flipped.scene');
|
||||
if(current){
|
||||
restoreScene(current);
|
||||
}
|
||||
}
|
||||
for(var i in lib.tafang.map){
|
||||
createScene(i);
|
||||
}
|
||||
ui.window.appendChild(sceneview.animate('start'));
|
||||
game.pause();
|
||||
});
|
||||
},
|
||||
},
|
||||
skill:{
|
||||
chess_mech_weixingxianjing_skill:{
|
||||
|
@ -979,7 +1132,10 @@ mode.tafang={
|
|||
var target=list.randomGet();
|
||||
player.line(target,'fire');
|
||||
target.damage('fire','nosource');
|
||||
target.moveUp();
|
||||
var he=target.get('he');
|
||||
if(he.length){
|
||||
target.discard(he.randomGet());
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -1009,7 +1165,7 @@ mode.tafang={
|
|||
chess_mech_jiguanren_skill_info:'每一轮弃置3格以内的所有敌方角色各1~2张牌',
|
||||
chess_mech_gongchengche:'攻城车',
|
||||
chess_mech_gongchengche_skill:'攻坚',
|
||||
chess_mech_gongchengche_skill_info:'每一轮对距离2格以内的一名随机敌方角色造成1点火焰伤害,并将目标击退1格',
|
||||
chess_mech_gongchengche_skill_info:'每一轮对距离2格以内的一名随机敌方角色造成1点火焰伤害,并随机弃置其一张牌',
|
||||
chess_mech_guangmingquan:'光明泉',
|
||||
chess_mech_guangmingquan_skill:'圣疗',
|
||||
chess_mech_guangmingquan_skill_info:'每一轮令距离2格以内的所有友方角色各回复一点体力',
|
||||
|
|
|
@ -6,6 +6,9 @@ mode.versus={
|
|||
if(_status.brawl&&_status.brawl.submode){
|
||||
_status.mode=_status.brawl.submode;
|
||||
}
|
||||
if(lib.storage.test){
|
||||
_status.mode='standard';
|
||||
}
|
||||
"step 1"
|
||||
var playback=localStorage.getItem(lib.configprefix+'playback');
|
||||
if(playback){
|
||||
|
|
Before Width: | Height: | Size: 250 B After Width: | Height: | Size: 250 B |
|
@ -5,7 +5,7 @@ html{
|
|||
}
|
||||
#system>div>div,#mebg,.control,.player,.card,.avatar,.avatar2,.button,#window>.dialog.popped,
|
||||
.player.unseen .equips:not(*:empty),.menu,#splash>div,
|
||||
#arena.mobile:not(.chess) .player[data-position='0'] .equips,.playerbg{
|
||||
#arena.mobile:not(.chess) .player[data-position='0'] .equips,.playerbg,.menubg,.mebg{
|
||||
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0, 0.2) 0 3px 10px;
|
||||
background-image: linear-gradient(#4b4b4b, #464646);
|
||||
border-radius: 8px;
|
||||
|
@ -70,7 +70,10 @@ body[data-background_color_music='blue'] #arena.mobile:not(.chess) .player[data-
|
|||
.card{
|
||||
color:white;
|
||||
}
|
||||
.card:not(*:empty){
|
||||
.cardbg{
|
||||
background-size: initial !important;
|
||||
}
|
||||
.card:not(*:empty),.cardbg{
|
||||
color:rgb(77, 60, 51);
|
||||
text-shadow:none;
|
||||
background: url('wood3.png');
|
||||
|
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 250 B After Width: | Height: | Size: 250 B |
|
@ -16,7 +16,7 @@ body{
|
|||
}
|
||||
#system>div>div,#mebg,.control,.player,.card,.avatar,.avatar2,.button,#window>.dialog.popped,
|
||||
.player.unseen .equips:not(*:empty),.menu,.menubutton,#splash>div,
|
||||
#arena.mobile:not(.chess) .player[data-position='0'] .equips,.playerbg{
|
||||
#arena.mobile:not(.chess) .player[data-position='0'] .equips,.playerbg,.menubg,.mebg{
|
||||
box-shadow: rgba(0, 0, 0, 0.4) 0 0 0 1px, rgba(0, 0, 0, 0.2) 0 3px 10px;
|
||||
background-image: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4));
|
||||
border-radius: 8px;
|
||||
|
@ -72,11 +72,13 @@ body{
|
|||
#arena:not(.chess) .player[data-position='0']>.equips>.equip5 {
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.cardbg{
|
||||
background-size: 100% 100% !important;
|
||||
}
|
||||
.card{
|
||||
color:white;
|
||||
}
|
||||
.card:not(*:empty){
|
||||
.card:not(*:empty),.cardbg{
|
||||
color:rgb(77, 60, 51);
|
||||
text-shadow:none;
|
||||
background: url('card.png');
|
||||
|
@ -116,7 +118,7 @@ body{
|
|||
}
|
||||
|
||||
.menupaused{
|
||||
opacity: 0.3;
|
||||
opacity: 0.3 !important;
|
||||
}
|
||||
|
||||
.fire{
|
||||
|
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
|
@ -1,8 +1,8 @@
|
|||
.card:empty,.card.infohidden{
|
||||
background: url('image/feicheng.png');
|
||||
background-size: cover;
|
||||
}
|
||||
.card.infohidden:not(.infoflip){
|
||||
background: url('image/feicheng2.png');
|
||||
background-size: cover;
|
||||
}
|
||||
.card:empty,.card.infohidden{
|
||||
background: url('image/feicheng.png');
|
||||
background-size: cover;
|
||||
}
|
||||
.card.infohidden:not(.infoflip){
|
||||
background: url('image/feicheng2.png');
|
||||
background-size: cover;
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
.card:empty,.card.infohidden{
|
||||
background: url('image/liusha.png');
|
||||
background-size: cover;
|
||||
}
|
||||
.card.infohidden:not(.infoflip){
|
||||
background: url('image/liusha2.png');
|
||||
background-size: cover;
|
||||
}
|
||||
.card:empty,.card.infohidden{
|
||||
background: url('image/liusha.png');
|
||||
background-size: cover;
|
||||
}
|
||||
.card.infohidden:not(.infoflip){
|
||||
background: url('image/liusha2.png');
|
||||
background-size: cover;
|
||||
}
|
||||
|
|
Before Width: | Height: | Size: 250 B After Width: | Height: | Size: 250 B |
|
@ -4,7 +4,7 @@ html{
|
|||
background: url('grid.png'),linear-gradient(#6c7989, #434b55) fixed;
|
||||
}
|
||||
#system>div>div,#mebg,.control,.player,.card,.avatar,.avatar2,.button,.dialog>.bar,.menu,#splash>div,
|
||||
#arena.mobile:not(.chess) .player[data-position='0'] .equips,.playerbg{
|
||||
#arena.mobile:not(.chess) .player[data-position='0'] .equips,.playerbg,.menubg,.mebg{
|
||||
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0, 0.45) 0 3px 10px;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
@ -32,11 +32,14 @@ html{
|
|||
.menu.main>.menu-tab>.disabled{
|
||||
color: rgba(77, 60, 51,0.5);
|
||||
}
|
||||
#window>.dialog.popped,.menu{
|
||||
#window>.dialog.popped,.menu,.menubg{
|
||||
background:url('wood2.png');
|
||||
color:rgba(77, 60, 51,0.8);
|
||||
text-shadow:none;
|
||||
}
|
||||
.cardbg{
|
||||
background-size: initial !important;
|
||||
}
|
||||
#splash>div{
|
||||
background:url('wood2.png');
|
||||
}
|
||||
|
@ -62,13 +65,23 @@ html{
|
|||
.popup.thunder{
|
||||
color: rgb(117,186,255);
|
||||
}
|
||||
.control .thundertext{
|
||||
.control .thundertext,.thundertext.thunderauto,
|
||||
.dialog.popped .bluetext{
|
||||
color: rgba(29, 63, 137, 1);
|
||||
}
|
||||
.control .controlthundertext{
|
||||
color: rgb(62, 41, 30);
|
||||
}
|
||||
.player,.card,.dialog>.bar,
|
||||
.dialog.popped .yellowtext{
|
||||
color:#631515;
|
||||
}
|
||||
.dialog.popped .greentext{
|
||||
color:#00312d;
|
||||
}
|
||||
.legendtext.legendauto{
|
||||
color: rgba(106, 27, 154, 1);
|
||||
}
|
||||
.player,.card,.dialog>.bar,.cardbg,
|
||||
#arena.mobile:not(.chess) .player[data-position='0'] .equips,.playerbg{
|
||||
background: url('wood.jpg');
|
||||
}
|
||||
|
@ -102,7 +115,7 @@ html{
|
|||
text-shadow:none;
|
||||
border-radius:4px;
|
||||
}
|
||||
#roundmenu>div{
|
||||
#roundmenu>div:not(.clock){
|
||||
background:rgba(77, 60, 51,0.8);
|
||||
box-shadow:none;
|
||||
}
|
||||
|
@ -112,7 +125,7 @@ html{
|
|||
.judges>div,.marks>div{
|
||||
border-radius:4px;
|
||||
}
|
||||
#mebg,.menubutton,.menubutton.highlight,.menubutton.active{
|
||||
#mebg,.menubutton,.menubutton.highlight,.menubutton.active,.mebg{
|
||||
background: url('wood.png');
|
||||
}
|
||||
.menubutton.large{
|
||||
|
@ -153,7 +166,7 @@ html{
|
|||
.card.equip4>.range{
|
||||
text-shadow: white 0 0 2px;
|
||||
}
|
||||
.card{
|
||||
.card,.menubg,.cardbg,.button.character.cardbg{
|
||||
color:rgb(77, 60, 51);
|
||||
text-shadow:none;
|
||||
}
|
||||
|
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |