|
@ -1,6 +1,2 @@
|
||||||
1.4.1
|
1.4.2
|
||||||
game.print命令(在命令输入框中输出结果)
|
富含bug的录像功能
|
||||||
修正触屏问题
|
|
||||||
修正技能bug
|
|
||||||
新布局
|
|
||||||
素材(by @tanyuanjkl)
|
|
||||||
|
|
|
@ -19,6 +19,7 @@ card.extra={
|
||||||
target.addTempSkill('jiu','phaseAfter');
|
target.addTempSkill('jiu','phaseAfter');
|
||||||
if(card.clone&&card.clone.parentNode==ui.arena){
|
if(card.clone&&card.clone.parentNode==ui.arena){
|
||||||
card.clone.moveTo(target).delete();
|
card.clone.moveTo(target).delete();
|
||||||
|
game.addVideo('gain2',target,get.cardsInfo([card]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -88,6 +89,8 @@ card.extra={
|
||||||
};
|
};
|
||||||
"step 1"
|
"step 1"
|
||||||
event.dialog=ui.create.dialog(get.translation(target.name)+'展示的手牌',result.cards);
|
event.dialog=ui.create.dialog(get.translation(target.name)+'展示的手牌',result.cards);
|
||||||
|
event.videoId=lib.status.videoId++;
|
||||||
|
game.addVideo('cardDialog',null,[get.translation(target.name)+'展示的手牌',get.cardsInfo(result.cards),event.videoId]);
|
||||||
event.card2=result.cards[0];
|
event.card2=result.cards[0];
|
||||||
game.log(get.translation(target.name)+'展示了'+get.translation(event.card2));
|
game.log(get.translation(target.name)+'展示了'+get.translation(event.card2));
|
||||||
player.chooseToDiscard(function(card){
|
player.chooseToDiscard(function(card){
|
||||||
|
@ -106,6 +109,7 @@ card.extra={
|
||||||
else{
|
else{
|
||||||
target.addTempSkill('huogong2','phaseBegin');
|
target.addTempSkill('huogong2','phaseBegin');
|
||||||
}
|
}
|
||||||
|
game.addVideo('cardDialog',null,event.videoId);
|
||||||
event.dialog.close();
|
event.dialog.close();
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
|
|
@ -180,6 +180,8 @@ card.hearth={
|
||||||
"step 1"
|
"step 1"
|
||||||
event.dialog=ui.create.dialog(get.translation(target.name)+'展示的手牌',result.cards);
|
event.dialog=ui.create.dialog(get.translation(target.name)+'展示的手牌',result.cards);
|
||||||
event.card2=result.cards[0];
|
event.card2=result.cards[0];
|
||||||
|
event.videoId=lib.status.videoId++;
|
||||||
|
game.addVideo('cardDialog',null,[get.translation(target.name)+'展示的手牌',get.cardsInfo(result.cards),event.videoId]);
|
||||||
game.log(get.translation(target.name)+'展示了'+get.translation(event.card2));
|
game.log(get.translation(target.name)+'展示了'+get.translation(event.card2));
|
||||||
player.chooseToDiscard(function(card){
|
player.chooseToDiscard(function(card){
|
||||||
return get.suit(card)==get.suit(_status.event.parent.card2);
|
return get.suit(card)==get.suit(_status.event.parent.card2);
|
||||||
|
@ -197,6 +199,7 @@ card.hearth={
|
||||||
else{
|
else{
|
||||||
target.addTempSkill('shandianjian2','phaseBegin');
|
target.addTempSkill('shandianjian2','phaseBegin');
|
||||||
}
|
}
|
||||||
|
game.addVideo('cardDialog',null,event.videoId);
|
||||||
event.dialog.close();
|
event.dialog.close();
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
@ -396,6 +399,7 @@ card.hearth={
|
||||||
event.current=targets.randomGet();
|
event.current=targets.randomGet();
|
||||||
}
|
}
|
||||||
if(!targets.length) event.finish();
|
if(!targets.length) event.finish();
|
||||||
|
event.num=0;
|
||||||
'step 1'
|
'step 1'
|
||||||
var current;
|
var current;
|
||||||
if(targets.length>1){
|
if(targets.length>1){
|
||||||
|
@ -411,7 +415,10 @@ card.hearth={
|
||||||
}
|
}
|
||||||
if(hs.length>1){
|
if(hs.length>1){
|
||||||
event.current=current;
|
event.current=current;
|
||||||
event.redo();
|
event.num++;
|
||||||
|
if(event.num<10){
|
||||||
|
event.redo();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
@ -620,7 +627,7 @@ card.hearth={
|
||||||
xingjiegoutong:'星界沟通',
|
xingjiegoutong:'星界沟通',
|
||||||
xingjiegoutong_info:'增加一点体力上限并回复一点体力,弃置你的所有手牌',
|
xingjiegoutong_info:'增加一点体力上限并回复一点体力,弃置你的所有手牌',
|
||||||
tanshezhiren:'弹射之刃',
|
tanshezhiren:'弹射之刃',
|
||||||
tanshezhiren_info:'弃置一名随机角色的手牌,重复此过程直到有一名角色失去最后一张手牌',
|
tanshezhiren_info:'弃置一名随机角色的手牌,重复此过程直到有一名角色失去最后一张手牌(最多重复10次)',
|
||||||
chuansongmen:'传送门',
|
chuansongmen:'传送门',
|
||||||
chuansongmen_info:'摸一张牌,若你能立即使用之,则将此牌回手(每回合最多使用3次)',
|
chuansongmen_info:'摸一张牌,若你能立即使用之,则将此牌回手(每回合最多使用3次)',
|
||||||
dunpaigedang:'盾牌格挡',
|
dunpaigedang:'盾牌格挡',
|
||||||
|
|
|
@ -168,10 +168,12 @@ card.qimou={
|
||||||
player.gain([result.player,result.target]);
|
player.gain([result.player,result.target]);
|
||||||
result.player.clone.moveTo(player).delete();
|
result.player.clone.moveTo(player).delete();
|
||||||
result.target.clone.moveTo(player).delete();
|
result.target.clone.moveTo(player).delete();
|
||||||
|
game.addVideo('gain2',player,get.cardsInfo([result.player,result.target]));
|
||||||
}
|
}
|
||||||
else if(!result.cancelled){
|
else if(!result.cancelled){
|
||||||
result.player.clone.delete();
|
result.player.clone.delete();
|
||||||
result.target.clone.delete();
|
result.target.clone.delete();
|
||||||
|
game.addVideo('deletenode',player,get.cardsInfo([result.player,result.target]));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
|
|
@ -424,18 +424,36 @@ card.standard={
|
||||||
game.delay();
|
game.delay();
|
||||||
"step 1"
|
"step 1"
|
||||||
ui.clear();
|
ui.clear();
|
||||||
ui.create.dialog('五谷丰登',get.cards(game.players.length),true).id='wugu';
|
var cards=get.cards(game.players.length);
|
||||||
|
var dialog=ui.create.dialog('五谷丰登',cards,true);
|
||||||
|
dialog.videoId=lib.status.videoId++;
|
||||||
|
game.addVideo('cardDialog',null,['五谷丰登',get.cardsInfo(cards),dialog.videoId]);
|
||||||
|
event.parent.preResult=dialog.videoId;
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
target.chooseButton(true,function(button){
|
for(var i=0;i<ui.dialogs.length;i++){
|
||||||
return ai.get.value(button.link,_status.event.player);
|
if(ui.dialogs[i].videoId==event.preResult){
|
||||||
});
|
event.dialog=ui.dialogs[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!event.dialog){
|
||||||
|
event.finish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(event.dialog.buttons.length>1){
|
||||||
|
var next=target.chooseButton(event.dialog,true,function(button){
|
||||||
|
return ai.get.value(button.link,_status.event.player);
|
||||||
|
});
|
||||||
|
next.closeDialog=false;
|
||||||
|
next.dialog.style.display='';
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
event.directButton=event.dialog.buttons[0];
|
||||||
|
}
|
||||||
"step 1"
|
"step 1"
|
||||||
var dialog;
|
var dialog=event.dialog;
|
||||||
if(ui.dialog.id=='wugu') dialog=ui.dialog;
|
var button=event.directButton||result.buttons[0];
|
||||||
else dialog=document.getElementById('wugu');
|
|
||||||
var button=result.buttons[0];
|
|
||||||
if(button.link){
|
if(button.link){
|
||||||
target.gain(button.link);
|
target.gain(button.link);
|
||||||
target.$gain2(button.link);
|
target.$gain2(button.link);
|
||||||
|
@ -444,12 +462,18 @@ card.standard={
|
||||||
button.getElementsByClassName('info')[0].innerHTML=get.translation(target.name);
|
button.getElementsByClassName('info')[0].innerHTML=get.translation(target.name);
|
||||||
dialog.content.firstChild.innerHTML=
|
dialog.content.firstChild.innerHTML=
|
||||||
get.translation(target)+'选择了'+get.translation(button.link);
|
get.translation(target)+'选择了'+get.translation(button.link);
|
||||||
|
game.addVideo('dialogCapt',null,[dialog.videoId,dialog.content.firstChild.innerHTML]);
|
||||||
game.log(get.translation(target)+'选择了'+get.translation(button.link));
|
game.log(get.translation(target)+'选择了'+get.translation(button.link));
|
||||||
game.delay();
|
game.delay();
|
||||||
},
|
},
|
||||||
contentAfter:function(){
|
contentAfter:function(){
|
||||||
if(ui.dialog.id=='wugu') ui.dialog.close();
|
for(var i=0;i<ui.dialogs.length;i++){
|
||||||
else document.getElementById('wugu').close();
|
if(ui.dialogs[i].videoId==event.preResult){
|
||||||
|
ui.dialogs[i].close();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
game.addVideo('cardDialog',null,event.preResult);
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
wuxie:function(){
|
wuxie:function(){
|
||||||
|
|
|
@ -262,6 +262,7 @@ card.swd={
|
||||||
target.addTempSkill('tianxianjiu',['phaseAfter','shaAfter']);
|
target.addTempSkill('tianxianjiu',['phaseAfter','shaAfter']);
|
||||||
if(card.clone&&card.clone.parentNode==ui.arena){
|
if(card.clone&&card.clone.parentNode==ui.arena){
|
||||||
card.clone.moveTo(target).delete();
|
card.clone.moveTo(target).delete();
|
||||||
|
game.addVideo('gain2',target,get.cardsInfo([card]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -245,6 +245,7 @@ card.yibao={
|
||||||
"step 0"
|
"step 0"
|
||||||
target.chooseToDiscard('he',[1,2]).ai=function(card){
|
target.chooseToDiscard('he',[1,2]).ai=function(card){
|
||||||
if(target.hasSkillTag('nofire')) return 0;
|
if(target.hasSkillTag('nofire')) return 0;
|
||||||
|
if(ai.get.damageEffect(target,player,target,'fire')>=0) return 0;
|
||||||
if(target.hasSkillTag('maixie')&&target.hp>1&&ui.selected.cards.length){
|
if(target.hasSkillTag('maixie')&&target.hp>1&&ui.selected.cards.length){
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -323,6 +324,7 @@ card.yibao={
|
||||||
clone.style.transition='all 0.5s';
|
clone.style.transition='all 0.5s';
|
||||||
clone.style.webkitTransform='scale(1.2)';
|
clone.style.webkitTransform='scale(1.2)';
|
||||||
clone.delete();
|
clone.delete();
|
||||||
|
game.addVideo('deletenode',player,get.cardsInfo([clone]));
|
||||||
}
|
}
|
||||||
target.loseHp();
|
target.loseHp();
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,9 +39,11 @@ character.extra={
|
||||||
},
|
},
|
||||||
init:function(player){
|
init:function(player){
|
||||||
player.storage.baonu=2;
|
player.storage.baonu=2;
|
||||||
|
game.addVideo('storage',player,['baonu',player.storage.baonu]);
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.storage.baonu+=trigger.num;
|
player.storage.baonu+=trigger.num;
|
||||||
|
game.addVideo('storage',player,['baonu',player.storage.baonu]);
|
||||||
},
|
},
|
||||||
intro:{
|
intro:{
|
||||||
content:'mark'
|
content:'mark'
|
||||||
|
@ -142,9 +144,11 @@ character.extra={
|
||||||
},
|
},
|
||||||
init:function(player){
|
init:function(player){
|
||||||
player.storage.renjie=0;
|
player.storage.renjie=0;
|
||||||
|
game.addVideo('storage',player,['renjie',player.storage.renjie]);
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.storage.renjie+=trigger.num;
|
player.storage.renjie+=trigger.num;
|
||||||
|
game.addVideo('storage',player,['renjie',player.storage.renjie]);
|
||||||
},
|
},
|
||||||
intro:{
|
intro:{
|
||||||
content:'mark'
|
content:'mark'
|
||||||
|
@ -186,6 +190,7 @@ character.extra={
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.storage.renjie+=trigger.cards.length;
|
player.storage.renjie+=trigger.cards.length;
|
||||||
|
game.addVideo('storage',player,['renjie',player.storage.renjie]);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
sbaiyin:{
|
sbaiyin:{
|
||||||
|
@ -239,7 +244,10 @@ character.extra={
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('jilue_guicai');
|
player.logSkill('jilue_guicai');
|
||||||
player.storage.renjie--;
|
player.storage.renjie--;
|
||||||
if(trigger.player.judging.clone) trigger.player.judging.clone.delete();
|
if(trigger.player.judging.clone){
|
||||||
|
trigger.player.judging.clone.delete();
|
||||||
|
game.addVideo('deletenode',player,get.cardsInfo([trigger.player.judging.clone]));
|
||||||
|
}
|
||||||
ui.discardPile.appendChild(trigger.player.judging);
|
ui.discardPile.appendChild(trigger.player.judging);
|
||||||
trigger.player.judging=result.cards[0];
|
trigger.player.judging=result.cards[0];
|
||||||
trigger.position.appendChild(result.cards[0]);
|
trigger.position.appendChild(result.cards[0]);
|
||||||
|
@ -504,12 +512,16 @@ character.extra={
|
||||||
"step 0"
|
"step 0"
|
||||||
player.gain(get.cards(7))._triggered=null;
|
player.gain(get.cards(7))._triggered=null;
|
||||||
"step 1"
|
"step 1"
|
||||||
|
if(player==game.me){
|
||||||
|
game.addVideo('delay',null);
|
||||||
|
}
|
||||||
player.chooseCard('选择七张牌作为星',7,true).ai=function(card){
|
player.chooseCard('选择七张牌作为星',7,true).ai=function(card){
|
||||||
return ai.get.value(card);
|
return ai.get.value(card);
|
||||||
};
|
};
|
||||||
"step 2"
|
"step 2"
|
||||||
player.lose(result.cards,ui.special)._triggered=null;
|
player.lose(result.cards,ui.special)._triggered=null;
|
||||||
player.storage.qixing=result.cards;
|
player.storage.qixing=result.cards;
|
||||||
|
game.addVideo('storage',player,['qixing',get.cardsInfo(player.storage.qixing),'cards']);
|
||||||
},
|
},
|
||||||
mark:true,
|
mark:true,
|
||||||
intro:{
|
intro:{
|
||||||
|
@ -550,6 +562,7 @@ character.extra={
|
||||||
player.logSkill('qixing');
|
player.logSkill('qixing');
|
||||||
player.lose(result.cards,ui.special)._triggered=null;
|
player.lose(result.cards,ui.special)._triggered=null;
|
||||||
player.storage.qixing=player.storage.qixing.concat(result.cards);
|
player.storage.qixing=player.storage.qixing.concat(result.cards);
|
||||||
|
game.addVideo('storage',player,['qixing',get.cardsInfo(player.storage.qixing),'cards']);
|
||||||
event.num=result.cards.length;
|
event.num=result.cards.length;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -570,6 +583,7 @@ character.extra={
|
||||||
for(var i=0;i<result.links.length;i++){
|
for(var i=0;i<result.links.length;i++){
|
||||||
player.storage.qixing.remove(result.links[i]);
|
player.storage.qixing.remove(result.links[i]);
|
||||||
}
|
}
|
||||||
|
game.addVideo('storage',player,['qixing',get.cardsInfo(player.storage.qixing),'cards']);
|
||||||
if(player==game.me&&_status.auto){
|
if(player==game.me&&_status.auto){
|
||||||
game.delay(0.5);
|
game.delay(0.5);
|
||||||
}
|
}
|
||||||
|
@ -619,6 +633,7 @@ character.extra={
|
||||||
if(player.storage.qixing.length==0){
|
if(player.storage.qixing.length==0){
|
||||||
player.unmarkSkill('qixing');
|
player.unmarkSkill('qixing');
|
||||||
}
|
}
|
||||||
|
game.addVideo('storage',player,['qixing',get.cardsInfo(player.storage.qixing),'cards']);
|
||||||
player.discard(result.links);
|
player.discard(result.links);
|
||||||
},
|
},
|
||||||
group:'dawu3'
|
group:'dawu3'
|
||||||
|
@ -699,6 +714,7 @@ character.extra={
|
||||||
if(player.storage.qixing.length==0){
|
if(player.storage.qixing.length==0){
|
||||||
player.unmarkSkill('qixing');
|
player.unmarkSkill('qixing');
|
||||||
}
|
}
|
||||||
|
game.addVideo('storage',player,['qixing',get.cardsInfo(player.storage.qixing),'cards']);
|
||||||
player.discard(result.links);
|
player.discard(result.links);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -527,6 +527,7 @@ character.gujian={
|
||||||
player.addSkill('juejing');
|
player.addSkill('juejing');
|
||||||
player.storage.shahun=3;
|
player.storage.shahun=3;
|
||||||
player.markSkill('shahun');
|
player.markSkill('shahun');
|
||||||
|
game.addVideo('storage',player,['shahun',player.storage.shahun]);
|
||||||
},
|
},
|
||||||
group:'shahun2',
|
group:'shahun2',
|
||||||
intro:{
|
intro:{
|
||||||
|
@ -552,6 +553,7 @@ character.gujian={
|
||||||
content:function(){
|
content:function(){
|
||||||
if(player.storage.shahun>1){
|
if(player.storage.shahun>1){
|
||||||
player.storage.shahun--;
|
player.storage.shahun--;
|
||||||
|
game.addVideo('storage',player,['shahun',player.storage.shahun]);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
player.die();
|
player.die();
|
||||||
|
@ -680,6 +682,7 @@ character.gujian={
|
||||||
content:function(){
|
content:function(){
|
||||||
player.storage.xuanning=3;
|
player.storage.xuanning=3;
|
||||||
player.markSkill('xuanning');
|
player.markSkill('xuanning');
|
||||||
|
game.addVideo('storage',player,['xuanning',player.storage.xuanning]);
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
result:{
|
result:{
|
||||||
|
@ -710,6 +713,7 @@ character.gujian={
|
||||||
if(!player.storage.xuanning){
|
if(!player.storage.xuanning){
|
||||||
player.unmarkSkill('xuanning');
|
player.unmarkSkill('xuanning');
|
||||||
}
|
}
|
||||||
|
game.addVideo('storage',player,['xuanning',player.storage.xuanning]);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
liuguang:{
|
liuguang:{
|
||||||
|
@ -735,6 +739,7 @@ character.gujian={
|
||||||
event.targets=result.targets.slice(0);
|
event.targets=result.targets.slice(0);
|
||||||
event.targets.sort(lib.sort.seat);
|
event.targets.sort(lib.sort.seat);
|
||||||
player.logSkill('liuguang',result.targets);
|
player.logSkill('liuguang',result.targets);
|
||||||
|
game.addVideo('storage',player,['xuanning',player.storage.xuanning]);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
event.finish();
|
event.finish();
|
||||||
|
@ -780,6 +785,7 @@ character.gujian={
|
||||||
content:function(){
|
content:function(){
|
||||||
player.storage.yangming2=2;
|
player.storage.yangming2=2;
|
||||||
player.addSkill('yangming2');
|
player.addSkill('yangming2');
|
||||||
|
game.addVideo('storage',player,['yangming2',player.storage.yangming2]);
|
||||||
},
|
},
|
||||||
check:function(card){
|
check:function(card){
|
||||||
return 6-ai.get.value(card);
|
return 6-ai.get.value(card);
|
||||||
|
@ -798,6 +804,7 @@ character.gujian={
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.storage.yangming2--;
|
player.storage.yangming2--;
|
||||||
|
game.addVideo('storage',player,['yangming2',player.storage.yangming2]);
|
||||||
if(player.storage.yangming2>0){
|
if(player.storage.yangming2>0){
|
||||||
event.finish();
|
event.finish();
|
||||||
}
|
}
|
||||||
|
@ -839,6 +846,7 @@ character.gujian={
|
||||||
forbid:['infinity'],
|
forbid:['infinity'],
|
||||||
init:function(player){
|
init:function(player){
|
||||||
player.storage.zhaolu=Math.min(5,game.players.length);
|
player.storage.zhaolu=Math.min(5,game.players.length);
|
||||||
|
game.addVideo('storage',player,['zhaolu',player.storage.zhaolu]);
|
||||||
},
|
},
|
||||||
trigger:{player:['phaseEnd','damageEnd'],global:'dieAfter'},
|
trigger:{player:['phaseEnd','damageEnd'],global:'dieAfter'},
|
||||||
forced:true,
|
forced:true,
|
||||||
|
@ -852,6 +860,7 @@ character.gujian={
|
||||||
player.loseMaxHp(true);
|
player.loseMaxHp(true);
|
||||||
player.storage.zhaolu=Math.min(5,game.players.length);
|
player.storage.zhaolu=Math.min(5,game.players.length);
|
||||||
}
|
}
|
||||||
|
game.addVideo('storage',player,['zhaolu',player.storage.zhaolu]);
|
||||||
},
|
},
|
||||||
intro:{
|
intro:{
|
||||||
content:'turn'
|
content:'turn'
|
||||||
|
@ -875,6 +884,7 @@ character.gujian={
|
||||||
intro:{
|
intro:{
|
||||||
content:'limited'
|
content:'limited'
|
||||||
},
|
},
|
||||||
|
// mark:true,
|
||||||
line:'fire',
|
line:'fire',
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
return player!=target;
|
return player!=target;
|
||||||
|
@ -885,6 +895,7 @@ character.gujian={
|
||||||
player.storage.jiehuo2=player.maxHp;
|
player.storage.jiehuo2=player.maxHp;
|
||||||
player.addSkill('jiehuo2');
|
player.addSkill('jiehuo2');
|
||||||
}
|
}
|
||||||
|
player.storage.jiehuo=true;
|
||||||
target.damage(Math.min(target.hp,player.storage.jiehuo2),'fire');
|
target.damage(Math.min(target.hp,player.storage.jiehuo2),'fire');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -72,6 +72,7 @@ character.hearth={
|
||||||
mark:true,
|
mark:true,
|
||||||
init:function(player){
|
init:function(player){
|
||||||
player.storage.chongsheng=0;
|
player.storage.chongsheng=0;
|
||||||
|
game.addVideo('storage',player,['chongsheng',player.storage.chongsheng]);
|
||||||
},
|
},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(event.type!='dying') return false;
|
if(event.type!='dying') return false;
|
||||||
|
@ -88,6 +89,7 @@ character.hearth={
|
||||||
}
|
}
|
||||||
if(player.classList.contains('linked')) player.link();
|
if(player.classList.contains('linked')) player.link();
|
||||||
if(player.classList.contains('turnedover')) player.turnOver();
|
if(player.classList.contains('turnedover')) player.turnOver();
|
||||||
|
game.addVideo('storage',player,['chongsheng',player.storage.chongsheng]);
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
skillTagFilter:function(player){
|
skillTagFilter:function(player){
|
||||||
|
@ -104,7 +106,7 @@ character.hearth={
|
||||||
},
|
},
|
||||||
intro:{
|
intro:{
|
||||||
content:function(storage){
|
content:function(storage){
|
||||||
return '剩余'+get.cnNumber(3-storage)+'次';
|
return '剩余'+get.cnNumber(2-storage)+'次';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -122,6 +124,7 @@ character.hearth={
|
||||||
player.draw(num);
|
player.draw(num);
|
||||||
player.addSkill('guozai2');
|
player.addSkill('guozai2');
|
||||||
player.storage.guozai2+=num;
|
player.storage.guozai2+=num;
|
||||||
|
game.addVideo('storage',player,['guozai2',player.storage.guozai2]);
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
order:1,
|
order:1,
|
||||||
|
@ -174,7 +177,7 @@ character.hearth={
|
||||||
trigger:{global:'dieAfter'},
|
trigger:{global:'dieAfter'},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return event.player.skills.contains('bingshi');
|
return event.player.skills.contains('bingshi')&&event.player.isDead();
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
trigger.player.line(player,'thunder');
|
trigger.player.line(player,'thunder');
|
||||||
|
@ -198,6 +201,11 @@ character.hearth={
|
||||||
name:'唤雾',
|
name:'唤雾',
|
||||||
content:'已发动'
|
content:'已发动'
|
||||||
});
|
});
|
||||||
|
game.addVideo('mark',target,{
|
||||||
|
name:'唤雾',
|
||||||
|
content:'已发动',
|
||||||
|
id:'huanwu'
|
||||||
|
});
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
threaten:1.2,
|
threaten:1.2,
|
||||||
|
@ -805,6 +813,7 @@ character.hearth={
|
||||||
content:function(){
|
content:function(){
|
||||||
player.storage.bingjia=cards[0];
|
player.storage.bingjia=cards[0];
|
||||||
player.addSkill('bingjia2');
|
player.addSkill('bingjia2');
|
||||||
|
game.addVideo('storage',player,['bingjia',get.cardInfo(cards[0]),'card']);
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
order:1,
|
order:1,
|
||||||
|
@ -828,6 +837,7 @@ character.hearth={
|
||||||
delete player.storage.bingjia;
|
delete player.storage.bingjia;
|
||||||
player.changeHujia();
|
player.changeHujia();
|
||||||
player.removeSkill('bingjia2');
|
player.removeSkill('bingjia2');
|
||||||
|
game.addVideo('storage',player,['bingjia',null]);
|
||||||
},
|
},
|
||||||
intro:{
|
intro:{
|
||||||
mark:function(dialog,content,player){
|
mark:function(dialog,content,player){
|
||||||
|
@ -913,6 +923,7 @@ character.hearth={
|
||||||
target.storage.mdzhoufu2=cards[0];
|
target.storage.mdzhoufu2=cards[0];
|
||||||
target.addSkill('mdzhoufu2');
|
target.addSkill('mdzhoufu2');
|
||||||
target.storage.mdzhoufu3=player;
|
target.storage.mdzhoufu3=player;
|
||||||
|
game.addVideo('storage',target,['mdzhoufu2',get.cardInfo(cards[0]),'card']);
|
||||||
ui.special.appendChild(cards[0]);
|
ui.special.appendChild(cards[0]);
|
||||||
},
|
},
|
||||||
check:function(card){
|
check:function(card){
|
||||||
|
@ -1132,6 +1143,7 @@ character.hearth={
|
||||||
trigger.player.$gain2(trigger.cards);
|
trigger.player.$gain2(trigger.cards);
|
||||||
trigger.player.gain(trigger.cards);
|
trigger.player.gain(trigger.cards);
|
||||||
trigger.player.storage.mengun2=trigger.cards[0];
|
trigger.player.storage.mengun2=trigger.cards[0];
|
||||||
|
game.addVideo('storage',player,['mengun2',get.cardInfo(trigger.cards[0]),'card']);
|
||||||
trigger.player.addTempSkill('mengun2','phaseEnd');
|
trigger.player.addTempSkill('mengun2','phaseEnd');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1865,7 +1877,7 @@ character.hearth={
|
||||||
zhongjia:'重甲',
|
zhongjia:'重甲',
|
||||||
zhongjia_info:'锁定技,每当你受到一次伤害,你获得一点护甲值;当你的体力值大于1时,你的护甲不为你抵挡伤害',
|
zhongjia_info:'锁定技,每当你受到一次伤害,你获得一点护甲值;当你的体力值大于1时,你的护甲不为你抵挡伤害',
|
||||||
dunji:'盾击',
|
dunji:'盾击',
|
||||||
dunji_info:'出牌阶段限,你可以失去你的所有护甲,并对等量的其他角色各造成一点伤害',
|
dunji_info:'出牌阶段,你可以失去你的所有护甲,并对等量的其他角色各造成一点伤害',
|
||||||
qiaodong:'巧动',
|
qiaodong:'巧动',
|
||||||
qiaodong_info:'你可以将一张装备牌当作闪使用或打出',
|
qiaodong_info:'你可以将一张装备牌当作闪使用或打出',
|
||||||
fengxian:'奉献',
|
fengxian:'奉献',
|
||||||
|
|
|
@ -411,7 +411,7 @@ character.jiange={
|
||||||
event.cards2.push(event.cards[i]);
|
event.cards2.push(event.cards[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(!event.isMine()){
|
if(!event.isMine()||event.cards2.length==0){
|
||||||
player.showCards(event.cards);
|
player.showCards(event.cards);
|
||||||
}
|
}
|
||||||
"step 1"
|
"step 1"
|
||||||
|
|
|
@ -145,6 +145,12 @@ character.mountain={
|
||||||
name:'放权',
|
name:'放权',
|
||||||
content:'进行一个额外的回合'
|
content:'进行一个额外的回合'
|
||||||
});
|
});
|
||||||
|
game.addVideo('markCharacter',target,{
|
||||||
|
name:'放权',
|
||||||
|
content:'进行一个额外的回合',
|
||||||
|
id:'fangquan',
|
||||||
|
target:player.dataset.position
|
||||||
|
});
|
||||||
target.phase();
|
target.phase();
|
||||||
target.addSkill('fangquan3');
|
target.addSkill('fangquan3');
|
||||||
player.removeSkill('fangquan2');
|
player.removeSkill('fangquan2');
|
||||||
|
@ -159,6 +165,7 @@ character.mountain={
|
||||||
if(player.marks.fangquan){
|
if(player.marks.fangquan){
|
||||||
player.marks.fangquan.delete();
|
player.marks.fangquan.delete();
|
||||||
delete player.marks.fangquan;
|
delete player.marks.fangquan;
|
||||||
|
game.addVideo('unmark',player,'fangquan');
|
||||||
}
|
}
|
||||||
player.removeSkill('fangquan3');
|
player.removeSkill('fangquan3');
|
||||||
}
|
}
|
||||||
|
@ -452,7 +459,9 @@ character.mountain={
|
||||||
result.card.goto(ui.special);
|
result.card.goto(ui.special);
|
||||||
player.storage.tuntian.push(result.card);
|
player.storage.tuntian.push(result.card);
|
||||||
result.node.moveTo(player).delete();
|
result.node.moveTo(player).delete();
|
||||||
|
game.addVideo('gain2',player,get.cardsInfo([result.node]));
|
||||||
player.markSkill('tuntian');
|
player.markSkill('tuntian');
|
||||||
|
game.addVideo('storage',player,['tuntian',get.cardsInfo(player.storage.tuntian),'cards']);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
init:function(player){
|
init:function(player){
|
||||||
|
@ -519,6 +528,7 @@ character.mountain={
|
||||||
var card=result.buttons[0].link;
|
var card=result.buttons[0].link;
|
||||||
event.card=card;
|
event.card=card;
|
||||||
player.storage.tuntian.remove(card);
|
player.storage.tuntian.remove(card);
|
||||||
|
game.addVideo('storage',player,['tuntian',get.cardsInfo(player.storage.tuntian),'cards']);
|
||||||
if(!player.storage.tuntian.length){
|
if(!player.storage.tuntian.length){
|
||||||
player.unmarkSkill('tuntian');
|
player.unmarkSkill('tuntian');
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,6 @@ window.characterRank={
|
||||||
'swd_septem',
|
'swd_septem',
|
||||||
'hs_sthrall',
|
'hs_sthrall',
|
||||||
'hs_malorne',
|
'hs_malorne',
|
||||||
'swd_yuwentuo',
|
|
||||||
'swd_duguningke',
|
'swd_duguningke',
|
||||||
'swd_guyue',
|
'swd_guyue',
|
||||||
'swd_murongshi',
|
'swd_murongshi',
|
||||||
|
@ -18,6 +17,7 @@ window.characterRank={
|
||||||
],
|
],
|
||||||
ap:[
|
ap:[
|
||||||
'swd_xuanyuanjianxian',
|
'swd_xuanyuanjianxian',
|
||||||
|
'swd_yuwentuo',
|
||||||
'pal_xuanxiao',
|
'pal_xuanxiao',
|
||||||
'xk_fujianhan',
|
'xk_fujianhan',
|
||||||
'swd_cheyun',
|
'swd_cheyun',
|
||||||
|
|
|
@ -119,7 +119,10 @@ character.refresh={
|
||||||
"step 2"
|
"step 2"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('reguicai');
|
player.logSkill('reguicai');
|
||||||
if(trigger.player.judging.clone) trigger.player.judging.clone.delete();
|
if(trigger.player.judging.clone){
|
||||||
|
trigger.player.judging.clone.delete();
|
||||||
|
game.addVideo('deletenode',player,get.cardsInfo([trigger.player.judging.clone]));
|
||||||
|
}
|
||||||
ui.discardPile.appendChild(trigger.player.judging);
|
ui.discardPile.appendChild(trigger.player.judging);
|
||||||
trigger.player.judging=result.cards[0];
|
trigger.player.judging=result.cards[0];
|
||||||
game.delay(2);
|
game.delay(2);
|
||||||
|
@ -393,6 +396,7 @@ character.refresh={
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.storage.reqianxun2=player.storage.reqianxun2.concat(player.get('h'));
|
player.storage.reqianxun2=player.storage.reqianxun2.concat(player.get('h'));
|
||||||
|
game.addVideo('storage',player,['reqianxun2',get.cardsInfo(player.storage.reqianxun2),'cards']);
|
||||||
player.lose(player.get('h'),ui.special);
|
player.lose(player.get('h'),ui.special);
|
||||||
player.addSkill('reqianxun2');
|
player.addSkill('reqianxun2');
|
||||||
},
|
},
|
||||||
|
@ -409,6 +413,7 @@ character.refresh={
|
||||||
player.gain(player.storage.reqianxun2);
|
player.gain(player.storage.reqianxun2);
|
||||||
player.removeSkill('reqianxun2');
|
player.removeSkill('reqianxun2');
|
||||||
player.storage.reqianxun2=[];
|
player.storage.reqianxun2=[];
|
||||||
|
game.addVideo('storage',player,['reqianxun2',get.cardsInfo(player.storage.reqianxun2),'cards']);
|
||||||
},
|
},
|
||||||
mark:true,
|
mark:true,
|
||||||
intro:{
|
intro:{
|
||||||
|
@ -496,6 +501,7 @@ character.refresh={
|
||||||
silent:true,
|
silent:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
player.storage.retishen2=player.hp;
|
player.storage.retishen2=player.hp;
|
||||||
|
game.addVideo('storage',player,['retishen2',player.storage.retishen2]);
|
||||||
},
|
},
|
||||||
intro:{
|
intro:{
|
||||||
content:function(storage,player){
|
content:function(storage,player){
|
||||||
|
@ -515,6 +521,7 @@ character.refresh={
|
||||||
"step 0"
|
"step 0"
|
||||||
event.card=get.cards()[0];
|
event.card=get.cards()[0];
|
||||||
event.node=event.card.copy('thrown','center',ui.arena).animate('start');
|
event.node=event.card.copy('thrown','center',ui.arena).animate('start');
|
||||||
|
game.addVideo('centernode',null,get.cardInfo(event.card));
|
||||||
if(get.type(event.card,'trick')==get.type(trigger.card,'trick')){
|
if(get.type(event.card,'trick')==get.type(trigger.card,'trick')){
|
||||||
player.chooseTarget('选择获得此牌的角色').ai=function(target){
|
player.chooseTarget('选择获得此牌的角色').ai=function(target){
|
||||||
var att=ai.get.attitude(player,target);
|
var att=ai.get.attitude(player,target);
|
||||||
|
@ -539,15 +546,18 @@ character.refresh={
|
||||||
game.log(get.translation(player)+'展示并弃掉了'+get.translation(event.card));
|
game.log(get.translation(player)+'展示并弃掉了'+get.translation(event.card));
|
||||||
ui.discardPile.appendChild(event.card);
|
ui.discardPile.appendChild(event.card);
|
||||||
}
|
}
|
||||||
|
game.addVideo('deletenode',player,[get.cardInfo(event.node)]);
|
||||||
}
|
}
|
||||||
else if(result.targets){
|
else if(result.targets){
|
||||||
result.targets[0].gain(event.card);
|
result.targets[0].gain(event.card);
|
||||||
event.node.moveTo(result.targets[0]);
|
event.node.moveTo(result.targets[0]);
|
||||||
game.log(get.translation(result.targets[0])+'获得了'+get.translation(event.card));
|
game.log(get.translation(result.targets[0])+'获得了'+get.translation(event.card));
|
||||||
|
game.addVideo('gain2',result.targets[0],[get.cardInfo(event.node)]);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
game.log(get.translation(player)+'展示并弃掉了'+get.translation(event.card));
|
game.log(get.translation(player)+'展示并弃掉了'+get.translation(event.card));
|
||||||
ui.discardPile.appendChild(event.card);
|
ui.discardPile.appendChild(event.card);
|
||||||
|
game.addVideo('deletenode',player,[get.cardInfo(event.node)]);
|
||||||
}
|
}
|
||||||
event.node.delete();
|
event.node.delete();
|
||||||
},
|
},
|
||||||
|
@ -636,6 +646,7 @@ character.refresh={
|
||||||
result.targets[0].storage.reyiji2=result.cards;
|
result.targets[0].storage.reyiji2=result.cards;
|
||||||
}
|
}
|
||||||
player.$give(result.cards.length,result.targets[0]);
|
player.$give(result.cards.length,result.targets[0]);
|
||||||
|
game.addVideo('storage',result.targets[0],['reyiji2',get.cardsInfo(result.targets[0].storage.reyiji2),'cards']);
|
||||||
if(num==1){
|
if(num==1){
|
||||||
event.temp=result.targets[0];
|
event.temp=result.targets[0];
|
||||||
event.num++;
|
event.num++;
|
||||||
|
|
|
@ -394,6 +394,7 @@ character.sp={
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.storage.zuixiang=get.cards(3);
|
player.storage.zuixiang=get.cards(3);
|
||||||
|
game.addVideo('storage',player,['zuixiang',get.cardsInfo(player.storage.zuixiang),'cards']);
|
||||||
player.showCards(player.storage.zuixiang);
|
player.showCards(player.storage.zuixiang);
|
||||||
"step 1"
|
"step 1"
|
||||||
var cards=player.storage.zuixiang;
|
var cards=player.storage.zuixiang;
|
||||||
|
@ -402,6 +403,7 @@ character.sp={
|
||||||
cards[2].number==cards[1].number){
|
cards[2].number==cards[1].number){
|
||||||
player.gain(player.storage.zuixiang,'draw2');
|
player.gain(player.storage.zuixiang,'draw2');
|
||||||
player.storage.zuixiang=[];
|
player.storage.zuixiang=[];
|
||||||
|
player.unmarkSkill('zuixiang');
|
||||||
delete player.storage.zuixiang2;
|
delete player.storage.zuixiang2;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -447,7 +449,7 @@ character.sp={
|
||||||
zuixiang2:{
|
zuixiang2:{
|
||||||
unique:true,
|
unique:true,
|
||||||
trigger:{player:'phaseBegin'},
|
trigger:{player:'phaseBegin'},
|
||||||
priority:10,
|
priority:9.5,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(player.storage.zuixiang&&player.storage.zuixiang.length) return true;
|
if(player.storage.zuixiang&&player.storage.zuixiang.length) return true;
|
||||||
return false;
|
return false;
|
||||||
|
@ -465,6 +467,7 @@ character.sp={
|
||||||
ui.discardPile.appendChild(player.storage.zuixiang[i]);
|
ui.discardPile.appendChild(player.storage.zuixiang[i]);
|
||||||
}
|
}
|
||||||
player.storage.zuixiang=get.cards(3);
|
player.storage.zuixiang=get.cards(3);
|
||||||
|
game.addVideo('storage',player,['zuixiang',get.cardsInfo(player.storage.zuixiang),'cards']);
|
||||||
player.showCards(player.storage.zuixiang);
|
player.showCards(player.storage.zuixiang);
|
||||||
}
|
}
|
||||||
"step 1"
|
"step 1"
|
||||||
|
@ -615,6 +618,7 @@ character.sp={
|
||||||
target.addSkill('zhoufu2');
|
target.addSkill('zhoufu2');
|
||||||
target.storage.zhoufu3=player;
|
target.storage.zhoufu3=player;
|
||||||
ui.special.appendChild(cards[0]);
|
ui.special.appendChild(cards[0]);
|
||||||
|
game.addVideo('storage',target,['zhoufu2',get.cardInfo(cards[0]),'card']);
|
||||||
},
|
},
|
||||||
check:function(card){
|
check:function(card){
|
||||||
return 3-ai.get.value(card)
|
return 3-ai.get.value(card)
|
||||||
|
@ -661,7 +665,7 @@ character.sp={
|
||||||
trigger:{player:'phaseEnd'},
|
trigger:{player:'phaseEnd'},
|
||||||
forced:true,
|
forced:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
player.unmark(player.storage.zhoufu2);
|
player.unmark(player.storage.zhoufu2.name);
|
||||||
if(player.storage.zhoufu3.isAlive()){
|
if(player.storage.zhoufu3.isAlive()){
|
||||||
player.storage.zhoufu3.gain(player.storage.zhoufu2);
|
player.storage.zhoufu3.gain(player.storage.zhoufu2);
|
||||||
player.$give(player.storage.zhoufu2,player.storage.zhoufu3);
|
player.$give(player.storage.zhoufu2,player.storage.zhoufu3);
|
||||||
|
@ -1289,6 +1293,12 @@ character.sp={
|
||||||
name:'存嗣',
|
name:'存嗣',
|
||||||
content:'$<div><div class="skill">【勇决】</div><div>每当其他角色于回合内使用一张杀,若目标不是你,你可以获得之(每回合最多能以此法获得一张杀)</div></div>'
|
content:'$<div><div class="skill">【勇决】</div><div>每当其他角色于回合内使用一张杀,若目标不是你,你可以获得之(每回合最多能以此法获得一张杀)</div></div>'
|
||||||
})
|
})
|
||||||
|
game.addVideo('markCharacter',target,{
|
||||||
|
name:'存嗣',
|
||||||
|
content:'$<div><div class="skill">【勇决】</div><div>每当其他角色于回合内使用一张杀,若目标不是你,你可以获得之(每回合最多能以此法获得一张杀)',
|
||||||
|
id:'yongjue',
|
||||||
|
target:player.dataset.position
|
||||||
|
});
|
||||||
"step 1"
|
"step 1"
|
||||||
player.turnOver();
|
player.turnOver();
|
||||||
player.removeSkill('guixiu');
|
player.removeSkill('guixiu');
|
||||||
|
@ -2003,7 +2013,10 @@ character.sp={
|
||||||
}
|
}
|
||||||
"step 2"
|
"step 2"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
if(trigger.player.judging.clone) trigger.player.judging.clone.delete();
|
if(trigger.player.judging.clone){
|
||||||
|
trigger.player.judging.clone.delete();
|
||||||
|
game.addVideo('deletenode',player,get.cardsInfo([trigger.player.judging.clone]));
|
||||||
|
}
|
||||||
ui.discardPile.appendChild(trigger.player.judging);
|
ui.discardPile.appendChild(trigger.player.judging);
|
||||||
trigger.player.judging=event.card;
|
trigger.player.judging=event.card;
|
||||||
game.delay(2);
|
game.delay(2);
|
||||||
|
@ -2246,6 +2259,11 @@ character.sp={
|
||||||
name:'颂词',
|
name:'颂词',
|
||||||
content:'已发动'
|
content:'已发动'
|
||||||
});
|
});
|
||||||
|
game.addVideo('mark',target,{
|
||||||
|
name:'颂词',
|
||||||
|
content:'已发动',
|
||||||
|
id:'songci'
|
||||||
|
});
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
order:7,
|
order:7,
|
||||||
|
|
|
@ -169,7 +169,10 @@ character.standard={
|
||||||
"step 2"
|
"step 2"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('guicai');
|
player.logSkill('guicai');
|
||||||
if(trigger.player.judging.clone) trigger.player.judging.clone.delete();
|
if(trigger.player.judging.clone){
|
||||||
|
trigger.player.judging.clone.delete();
|
||||||
|
game.addVideo('deletenode',player,get.cardsInfo([trigger.player.judging.clone]));
|
||||||
|
}
|
||||||
ui.discardPile.appendChild(trigger.player.judging);
|
ui.discardPile.appendChild(trigger.player.judging);
|
||||||
trigger.player.judging=result.cards[0];
|
trigger.player.judging=result.cards[0];
|
||||||
trigger.position.appendChild(result.cards[0]);
|
trigger.position.appendChild(result.cards[0]);
|
||||||
|
|
160
character/swd.js
|
@ -1422,6 +1422,7 @@ character.swd={
|
||||||
player.addTempSkill('hutian4','phaseAfter');
|
player.addTempSkill('hutian4','phaseAfter');
|
||||||
target.addSkill('hutian2');
|
target.addSkill('hutian2');
|
||||||
target.storage.hutian2=result.cards;
|
target.storage.hutian2=result.cards;
|
||||||
|
game.addVideo('storage',target,['hutian2',get.cardsInfo(result.cards),'cards']);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
event.finish();
|
event.finish();
|
||||||
|
@ -1561,6 +1562,12 @@ character.swd={
|
||||||
}
|
}
|
||||||
player.additionalSkills.huanxing=list;
|
player.additionalSkills.huanxing=list;
|
||||||
player.markCharacter(name,null,true,true);
|
player.markCharacter(name,null,true,true);
|
||||||
|
game.addVideo('markCharacter',player,{
|
||||||
|
name:'幻形',
|
||||||
|
content:'',
|
||||||
|
id:'huanxing',
|
||||||
|
target:name
|
||||||
|
});
|
||||||
player.storage.huanxing=name;
|
player.storage.huanxing=name;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1790,6 +1797,7 @@ character.swd={
|
||||||
if(player.storage.pozhou){
|
if(player.storage.pozhou){
|
||||||
player.markSkill('pozhou');
|
player.markSkill('pozhou');
|
||||||
}
|
}
|
||||||
|
game.addVideo('storage',player,['pozhou',player.storage.pozhou]);
|
||||||
},
|
},
|
||||||
intro:{
|
intro:{
|
||||||
content:'mark'
|
content:'mark'
|
||||||
|
@ -3408,6 +3416,42 @@ character.swd={
|
||||||
kunlunjing:{
|
kunlunjing:{
|
||||||
unique:true,
|
unique:true,
|
||||||
group:['kunlunjing1','kunlunjing2'],
|
group:['kunlunjing1','kunlunjing2'],
|
||||||
|
video:function(player,data){
|
||||||
|
if(data){
|
||||||
|
for(var i in data){
|
||||||
|
var current=game.playerMap[i];
|
||||||
|
current.node.handcards1.innerHTML='';
|
||||||
|
current.node.handcards2.innerHTML='';
|
||||||
|
current.node.equips.innerHTML='';
|
||||||
|
current.node.judges.innerHTML='';
|
||||||
|
current.directgain(get.infoCards(data[i].h));
|
||||||
|
var es=get.infoCards(data[i].e);
|
||||||
|
for(var j=0;j<es.length;j++){
|
||||||
|
current.$equip(es[j]);
|
||||||
|
}
|
||||||
|
var js=get.infoCards(data[i].j);
|
||||||
|
for(var j=0;j<js.length;j++){
|
||||||
|
player.node.judges.appendChild(js[j]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ui.window.classList.remove('zoomout3');
|
||||||
|
ui.window.classList.add('zoomin3');
|
||||||
|
document.body.appendChild(ui.window);
|
||||||
|
setTimeout(function(){
|
||||||
|
ui.window.show();
|
||||||
|
ui.window.classList.remove('zoomin3');
|
||||||
|
setTimeout(function(){
|
||||||
|
ui.window.style.transition='';
|
||||||
|
},500);
|
||||||
|
},100);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
ui.window.style.transition='all 0.5s';
|
||||||
|
ui.window.classList.add('zoomout3');
|
||||||
|
ui.window.delete();
|
||||||
|
ui.window.hide();
|
||||||
|
}
|
||||||
|
},
|
||||||
intro:{
|
intro:{
|
||||||
content:function(storage,player){
|
content:function(storage,player){
|
||||||
if(true){
|
if(true){
|
||||||
|
@ -3461,7 +3505,7 @@ character.swd={
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
check:function(event,player){
|
check:function(event,player){
|
||||||
if(event.name=='phase'&&player.hp<3) return false;
|
// if(event.name=='phase'&&player.hp<3) return false;
|
||||||
var storage=event.player.storage.kunlunjing;
|
var storage=event.player.storage.kunlunjing;
|
||||||
var num=0;
|
var num=0;
|
||||||
for(var i=0;i<storage.length;i++){
|
for(var i=0;i<storage.length;i++){
|
||||||
|
@ -3477,6 +3521,8 @@ character.swd={
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// return num>2;
|
||||||
|
if(player.hp==2) return num>4;
|
||||||
return num>Math.min(3,game.players.length);
|
return num>Math.min(3,game.players.length);
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
|
@ -3484,10 +3530,12 @@ character.swd={
|
||||||
game.delay(0.5);
|
game.delay(0.5);
|
||||||
"step 1"
|
"step 1"
|
||||||
event.player.storage.kunlunjing2=true;
|
event.player.storage.kunlunjing2=true;
|
||||||
ui.arena.classList.add('zoomout3');
|
ui.window.style.transition='all 0.5s';
|
||||||
ui.arena.delete();
|
ui.window.classList.add('zoomout3');
|
||||||
ui.arena.hide();
|
ui.window.delete();
|
||||||
|
ui.window.hide();
|
||||||
game.delay(0,500);
|
game.delay(0,500);
|
||||||
|
game.addVideo('skill',event.player,'kunlunjing');
|
||||||
"step 2"
|
"step 2"
|
||||||
var storage=event.player.storage.kunlunjing;
|
var storage=event.player.storage.kunlunjing;
|
||||||
var player,frag;
|
var player,frag;
|
||||||
|
@ -3537,15 +3585,35 @@ character.swd={
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
game.delay(0,100);
|
game.delay(0,100);
|
||||||
ui.arena.classList.remove('zoomout3');
|
ui.window.classList.remove('zoomout3');
|
||||||
ui.arena.classList.add('zoomin3');
|
ui.window.classList.add('zoomin3');
|
||||||
ui.window.appendChild(ui.arena);
|
document.body.appendChild(ui.window);
|
||||||
|
var data={};
|
||||||
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
data[game.players[i].dataset.position]={
|
||||||
|
h:get.cardsInfo(game.players[i].get('h')),
|
||||||
|
e:get.cardsInfo(game.players[i].get('e')),
|
||||||
|
j:get.cardsInfo(game.players[i].get('j'))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
game.addVideo('skill',event.player,['kunlunjing',data]);
|
||||||
"step 3"
|
"step 3"
|
||||||
ui.arena.show();
|
ui.window.show();
|
||||||
ui.arena.classList.remove('zoomin3');
|
ui.window.classList.remove('zoomin3');
|
||||||
|
setTimeout(function(){
|
||||||
|
ui.window.style.transition='';
|
||||||
|
game.resume();
|
||||||
|
},500);
|
||||||
event.player.storage.kunlunjing3='已发动';
|
event.player.storage.kunlunjing3='已发动';
|
||||||
|
game.pause();
|
||||||
|
'step 4'
|
||||||
if(trigger.name=='phase'){
|
if(trigger.name=='phase'){
|
||||||
event.player.loseHp();
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
if(game.players[i].hp<event.player.hp){
|
||||||
|
event.player.loseHp();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -4042,6 +4110,7 @@ character.swd={
|
||||||
},
|
},
|
||||||
init:function(player){
|
init:function(player){
|
||||||
player.storage.yishan=[];
|
player.storage.yishan=[];
|
||||||
|
game.addVideo('storage',player,['yishan',get.cardsInfo(player.storage.yishan),'cards']);
|
||||||
},
|
},
|
||||||
mark:true,
|
mark:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
|
@ -4119,6 +4188,7 @@ character.swd={
|
||||||
for(var i=0;i<trigger.cards.length;i++){
|
for(var i=0;i<trigger.cards.length;i++){
|
||||||
player.storage.yishan.unshift(trigger.cards[i]);
|
player.storage.yishan.unshift(trigger.cards[i]);
|
||||||
}
|
}
|
||||||
|
game.addVideo('storage',player,['yishan',get.cardsInfo(player.storage.yishan),'cards']);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
guanhu:{
|
guanhu:{
|
||||||
|
@ -4786,6 +4856,7 @@ character.swd={
|
||||||
player.chooseCardTarget({
|
player.chooseCardTarget({
|
||||||
prompt:'是否发动【挟雷】?',
|
prompt:'是否发动【挟雷】?',
|
||||||
filterCard:true,
|
filterCard:true,
|
||||||
|
position:'he',
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
if(player==target) return false;
|
if(player==target) return false;
|
||||||
if(trigger.name=='respond'){
|
if(trigger.name=='respond'){
|
||||||
|
@ -4814,6 +4885,53 @@ character.swd={
|
||||||
threaten:1.6
|
threaten:1.6
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
jingjie:{
|
||||||
|
enable:'phaseUse',
|
||||||
|
init:function(player){
|
||||||
|
player.storage.jingjie=false;
|
||||||
|
},
|
||||||
|
mark:true,
|
||||||
|
intro:{
|
||||||
|
content:'limited',
|
||||||
|
},
|
||||||
|
filter:function(event,player){
|
||||||
|
return !player.storage.jingjie;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.storage.jingjie=true;
|
||||||
|
player.unmarkSkill('jingjie');
|
||||||
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
game.players[i].discard(game.players[i].get('hej'))._triggered=null;
|
||||||
|
}
|
||||||
|
'step 1'
|
||||||
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
game.players[i].directgain(get.cards(2));
|
||||||
|
game.players[i].$draw(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
threaten:1.3,
|
||||||
|
order:1,
|
||||||
|
result:{
|
||||||
|
player:function(player){
|
||||||
|
var num=0;
|
||||||
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
var att=ai.get.attitude(player,game.players[i]);
|
||||||
|
if(att>0){
|
||||||
|
num-=game.players[i].num('he')-2;
|
||||||
|
}
|
||||||
|
else if(att<0){
|
||||||
|
num+=game.players[i].num('he')-2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(player.hp==1) return num-1;
|
||||||
|
return num-game.players.length/2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
ningjian:{
|
ningjian:{
|
||||||
group:['ningjian1','ningjian2'],
|
group:['ningjian1','ningjian2'],
|
||||||
ai:{
|
ai:{
|
||||||
|
@ -5292,6 +5410,12 @@ character.swd={
|
||||||
name:get.translation(link),
|
name:get.translation(link),
|
||||||
content:lib.translate[link+'_info']
|
content:lib.translate[link+'_info']
|
||||||
});
|
});
|
||||||
|
game.addVideo('markCharacter',player,{
|
||||||
|
name:'get.translation(link)',
|
||||||
|
content:lib.translate[link+'_info'],
|
||||||
|
id:'tianshu',
|
||||||
|
target:target.name
|
||||||
|
});
|
||||||
player.storage.tianshu=target.name;
|
player.storage.tianshu=target.name;
|
||||||
player.checkMarks();
|
player.checkMarks();
|
||||||
player.addTempSkill('tianshu_ai','phaseAfter');
|
player.addTempSkill('tianshu_ai','phaseAfter');
|
||||||
|
@ -5389,6 +5513,12 @@ character.swd={
|
||||||
name:get.translation(link),
|
name:get.translation(link),
|
||||||
content:lib.translate[link+'_info']
|
content:lib.translate[link+'_info']
|
||||||
});
|
});
|
||||||
|
game.addVideo('markCharacter',player,{
|
||||||
|
name:'get.translation(link)',
|
||||||
|
content:lib.translate[link+'_info'],
|
||||||
|
id:'tianshu',
|
||||||
|
target:target.name
|
||||||
|
});
|
||||||
player.storage.tianshu=target.name;
|
player.storage.tianshu=target.name;
|
||||||
player.checkMarks();
|
player.checkMarks();
|
||||||
player.popup(link);
|
player.popup(link);
|
||||||
|
@ -7003,6 +7133,7 @@ character.swd={
|
||||||
"step 1"
|
"step 1"
|
||||||
ui.auto.show();
|
ui.auto.show();
|
||||||
player.storage.mailun=event.choice;
|
player.storage.mailun=event.choice;
|
||||||
|
game.addVideo('storage',player,['mailun',player.storage.mailun]);
|
||||||
if(event.choice){
|
if(event.choice){
|
||||||
player.logSkill('mailun');
|
player.logSkill('mailun');
|
||||||
player.markSkill('mailun');
|
player.markSkill('mailun');
|
||||||
|
@ -7314,12 +7445,14 @@ character.swd={
|
||||||
discard:false,
|
discard:false,
|
||||||
prepare:function(cards,player,targets){
|
prepare:function(cards,player,targets){
|
||||||
player.$give(cards,targets[0]);
|
player.$give(cards,targets[0]);
|
||||||
|
player.line(targets[0],'green');
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
game.delay();
|
game.delay();
|
||||||
"step 1"
|
"step 1"
|
||||||
target.storage.zhenjiu2=cards[0];
|
target.storage.zhenjiu2=cards[0];
|
||||||
|
game.addVideo('storage',target,['zhenjiu2',get.cardInfo(target.storage.zhenjiu2),'card']);
|
||||||
target.addSkill('zhenjiu2');
|
target.addSkill('zhenjiu2');
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
@ -7364,6 +7497,7 @@ character.swd={
|
||||||
discard:false,
|
discard:false,
|
||||||
prepare:function(cards,player,targets){
|
prepare:function(cards,player,targets){
|
||||||
player.$give(cards,targets[0]);
|
player.$give(cards,targets[0]);
|
||||||
|
player.line(targets[0],'green');
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
|
@ -7371,6 +7505,7 @@ character.swd={
|
||||||
"step 1"
|
"step 1"
|
||||||
target.storage.mazui2=cards[0];
|
target.storage.mazui2=cards[0];
|
||||||
target.addSkill('mazui2');
|
target.addSkill('mazui2');
|
||||||
|
game.addVideo('storage',target,['mazui2',get.cardInfo(target.storage.mazui2),'card']);
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
expose:0.2,
|
expose:0.2,
|
||||||
|
@ -7644,6 +7779,9 @@ character.swd={
|
||||||
swd_lanmoshen:'蓝魔神',
|
swd_lanmoshen:'蓝魔神',
|
||||||
swd_wushi:'巫师',
|
swd_wushi:'巫师',
|
||||||
|
|
||||||
|
jingjie:'镜界',
|
||||||
|
jingjie_info:'回合开始阶段,你可以流失一点体力,并',
|
||||||
|
jingjie_old_info:'限定技,出牌阶段,你可以令所有角色弃置所有牌,然后摸两张牌(不触发任何技能)',
|
||||||
kongmo:'恐魔',
|
kongmo:'恐魔',
|
||||||
kongmo_info:'锁定技,你使用基本牌或非延时锦囊牌后将额外结算一次卡牌效果',
|
kongmo_info:'锁定技,你使用基本牌或非延时锦囊牌后将额外结算一次卡牌效果',
|
||||||
miaobi:'妙笔',
|
miaobi:'妙笔',
|
||||||
|
@ -7992,7 +8130,7 @@ character.swd={
|
||||||
shengshou_info:'你可以将一张黑色手牌当作草药使用',
|
shengshou_info:'你可以将一张黑色手牌当作草药使用',
|
||||||
susheng_info:'在任意一名角色即将死亡时,你可以弃置一张手牌防止其死亡,并将其体力回复至1,每回合限发动一次',
|
susheng_info:'在任意一名角色即将死亡时,你可以弃置一张手牌防止其死亡,并将其体力回复至1,每回合限发动一次',
|
||||||
zhanlu_info:'出牌阶段,你可以弃置一张黑桃牌令至多3名角色各回复一点体力',
|
zhanlu_info:'出牌阶段,你可以弃置一张黑桃牌令至多3名角色各回复一点体力',
|
||||||
kunlunjing_info:'回合开始前,你可以令场上所有牌还原到你上一回合结束时的位置,然后流失一点体力',
|
kunlunjing_info:'回合开始前,你可以令场上所有牌还原到你上一回合结束时的位置,此时有其他角色的体力值比你少,你流失一点体力',
|
||||||
swd_xiuluo_info:'回合开始阶段,你可以弃一张手牌来弃置你判断区里的一张延时类锦囊(必须花色相同)',
|
swd_xiuluo_info:'回合开始阶段,你可以弃一张手牌来弃置你判断区里的一张延时类锦囊(必须花色相同)',
|
||||||
xianyin_info:'出牌阶段,你可以令所有判定区内有牌的角色弃置判定区内的牌,然后交给你一张手牌',
|
xianyin_info:'出牌阶段,你可以令所有判定区内有牌的角色弃置判定区内的牌,然后交给你一张手牌',
|
||||||
qiaoxie_info:'每当你装备一张牌,可摸一张牌,每当你失去一张装备牌(不含替换),你可以弃置其他角色的一张牌',
|
qiaoxie_info:'每当你装备一张牌,可摸一张牌,每当你失去一张装备牌(不含替换),你可以弃置其他角色的一张牌',
|
||||||
|
|
|
@ -221,16 +221,15 @@ character.wind={
|
||||||
event.card=get.cards()[0];
|
event.card=get.cards()[0];
|
||||||
if(player.storage.buqu==undefined) player.storage.buqu=[];
|
if(player.storage.buqu==undefined) player.storage.buqu=[];
|
||||||
player.storage.buqu.push(event.card);
|
player.storage.buqu.push(event.card);
|
||||||
event.dialog=ui.create.dialog('不屈',player.storage.buqu);
|
game.addVideo('storage',player,['buqu',get.cardsInfo(player.storage.buqu),'cards']);
|
||||||
var str=get.translation(player)+'的不屈牌为'+player.storage.buqu[0].number;
|
var str=get.translation(player)+'的不屈牌为'+player.storage.buqu[0].number;
|
||||||
for(var i=1;i<player.storage.buqu.length;i++){
|
for(var i=1;i<player.storage.buqu.length;i++){
|
||||||
str+='、'+player.storage.buqu[i].number;
|
str+='、'+player.storage.buqu[i].number;
|
||||||
}
|
}
|
||||||
|
player.showCards(player.storage.buqu,'不屈')
|
||||||
game.log(str);
|
game.log(str);
|
||||||
game.delay(2);
|
|
||||||
player.markSkill('buqu');
|
player.markSkill('buqu');
|
||||||
"step 1"
|
"step 1"
|
||||||
event.dialog.close();
|
|
||||||
for(var i=0;i<player.storage.buqu.length-1;i++){
|
for(var i=0;i<player.storage.buqu.length-1;i++){
|
||||||
if(get.number(event.card)&&get.number(event.card)==get.number(player.storage.buqu[i])) return;
|
if(get.number(event.card)&&get.number(event.card)==get.number(player.storage.buqu[i])) return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -215,6 +215,7 @@ character.xianjian={
|
||||||
content:function(){
|
content:function(){
|
||||||
target.storage.tianfu2=cards[0];
|
target.storage.tianfu2=cards[0];
|
||||||
target.storage.tianfu3=player;
|
target.storage.tianfu3=player;
|
||||||
|
game.addVideo('storage',target,['tianfu2',get.cardInfo(cards[0]),'card']);
|
||||||
target.addSkill('tianfu2');
|
target.addSkill('tianfu2');
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
@ -304,11 +305,13 @@ character.xianjian={
|
||||||
var clone=result.cards[0].clone;
|
var clone=result.cards[0].clone;
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
clone.moveTo(player,'flip').delete();
|
clone.moveTo(player,'flip').delete();
|
||||||
|
game.addVideo('gain2',player,get.cardsInfo([clone]));
|
||||||
},500);
|
},500);
|
||||||
player.logSkill('shuiyun');
|
player.logSkill('shuiyun');
|
||||||
player.storage.shuiyun.push(result.cards[0]);
|
player.storage.shuiyun.push(result.cards[0]);
|
||||||
player.lose(result.cards,ui.special);
|
player.lose(result.cards,ui.special);
|
||||||
player.markSkill('shuiyun');
|
player.markSkill('shuiyun');
|
||||||
|
game.addVideo('storage',player,['shuiyun',get.cardsInfo(player.storage.shuiyun),'cards']);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
intro:{
|
intro:{
|
||||||
|
@ -369,6 +372,7 @@ character.xianjian={
|
||||||
trigger.player.draw();
|
trigger.player.draw();
|
||||||
}
|
}
|
||||||
player.logSkill('shuiyun5',trigger.player,'thunder');
|
player.logSkill('shuiyun5',trigger.player,'thunder');
|
||||||
|
game.addVideo('storage',player,['shuiyun',get.cardsInfo(player.storage.shuiyun),'cards']);
|
||||||
}
|
}
|
||||||
"step 2"
|
"step 2"
|
||||||
if(trigger.player!=player){
|
if(trigger.player!=player){
|
||||||
|
@ -472,6 +476,12 @@ character.xianjian={
|
||||||
name:'长念',
|
name:'长念',
|
||||||
content:'$<div><div class="skill">【追思】</div><div>锁定技,回合结束阶段,你摸一张牌</div></div>'
|
content:'$<div><div class="skill">【追思】</div><div>锁定技,回合结束阶段,你摸一张牌</div></div>'
|
||||||
});
|
});
|
||||||
|
game.addVideo('markCharacter',target,{
|
||||||
|
name:'长念',
|
||||||
|
content:'$<div><div class="skill">【追思】</div><div>锁定技,回合结束阶段,你摸一张牌</div></div>',
|
||||||
|
id:'changnian',
|
||||||
|
target:player.dataset.position
|
||||||
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
@ -617,10 +627,13 @@ character.xianjian={
|
||||||
if(player.storage.shuangren){
|
if(player.storage.shuangren){
|
||||||
player.unmark(player.storage.shuangren,'shuangren');
|
player.unmark(player.storage.shuangren,'shuangren');
|
||||||
player.discard(player.storage.shuangren);
|
player.discard(player.storage.shuangren);
|
||||||
|
game.addVideo('unmarkId',player,[get.cardInfo(player.storage.shuangren),'shuangren']);
|
||||||
}
|
}
|
||||||
if(card.clone){
|
if(card.clone){
|
||||||
card.clone.moveTo(player,'flip').delete();
|
card.clone.moveTo(player,'flip').delete();
|
||||||
|
game.addVideo('gain2',player,get.cardsInfo([card.clone]));
|
||||||
player.mark(card,'shuangren');
|
player.mark(card,'shuangren');
|
||||||
|
game.addVideo('markId',player,[get.cardInfo(card),'shuangren']);
|
||||||
}
|
}
|
||||||
ui.special.appendChild(card);
|
ui.special.appendChild(card);
|
||||||
player.storage.shuangren=card;
|
player.storage.shuangren=card;
|
||||||
|
@ -1103,6 +1116,7 @@ character.xianjian={
|
||||||
var card=get.cards()[0];
|
var card=get.cards()[0];
|
||||||
target.$draw(card);
|
target.$draw(card);
|
||||||
target.storage.zhimeng2=card;
|
target.storage.zhimeng2=card;
|
||||||
|
game.addVideo('storage',target,['zhimeng2',get.cardInfo(card),'card']);
|
||||||
target.addSkill('zhimeng2');
|
target.addSkill('zhimeng2');
|
||||||
event.finish();
|
event.finish();
|
||||||
player.logSkill('zhimeng',target);
|
player.logSkill('zhimeng',target);
|
||||||
|
|
|
@ -465,6 +465,7 @@ character.yijiang={
|
||||||
result.targets[0].storage.qianxi2=event.color;
|
result.targets[0].storage.qianxi2=event.color;
|
||||||
result.targets[0].addSkill('qianxi2');
|
result.targets[0].addSkill('qianxi2');
|
||||||
player.line(result.targets,'green');
|
player.line(result.targets,'green');
|
||||||
|
game.addVideo('storage',result.targets[0],['qianxi2',event.color]);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -734,6 +735,7 @@ character.yijiang={
|
||||||
var card=target.get('h').randomGet();
|
var card=target.get('h').randomGet();
|
||||||
player.showCards(card);
|
player.showCards(card);
|
||||||
player.storage.qiangzhi=get.type(card,'trick');
|
player.storage.qiangzhi=get.type(card,'trick');
|
||||||
|
game.addVideo('storage',player,['qiangzhi',player.storage.qiangzhi]);
|
||||||
player.markSkill('qiangzhi');
|
player.markSkill('qiangzhi');
|
||||||
},
|
},
|
||||||
intro:{
|
intro:{
|
||||||
|
@ -938,6 +940,7 @@ character.yijiang={
|
||||||
if(result.cards&&result.cards.length){
|
if(result.cards&&result.cards.length){
|
||||||
player.lose(result.cards,ui.special);
|
player.lose(result.cards,ui.special);
|
||||||
player.storage.quanji=player.storage.quanji.concat(result.cards);
|
player.storage.quanji=player.storage.quanji.concat(result.cards);
|
||||||
|
game.addVideo('storage',player,['quanji',get.cardsInfo(player.storage.quanji),'cards']);
|
||||||
game.log(get.translation(player)+'将'+get.translation(result.cards)+'置于武将牌上作为“权”');
|
game.log(get.translation(player)+'将'+get.translation(result.cards)+'置于武将牌上作为“权”');
|
||||||
player.markSkill('quanji');
|
player.markSkill('quanji');
|
||||||
}
|
}
|
||||||
|
@ -1016,6 +1019,7 @@ character.yijiang={
|
||||||
if(!player.storage.quanji.length){
|
if(!player.storage.quanji.length){
|
||||||
player.unmarkSkill('quanji');
|
player.unmarkSkill('quanji');
|
||||||
}
|
}
|
||||||
|
game.addVideo('storage',player,['quanji',get.cardsInfo(player.storage.quanji),'cards']);
|
||||||
"step 2"
|
"step 2"
|
||||||
target.draw(2);
|
target.draw(2);
|
||||||
"step 3"
|
"step 3"
|
||||||
|
@ -2675,20 +2679,28 @@ character.yijiang={
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
if(trigger.player!=player) event.card=trigger.player.get('h').randomGet();
|
if(trigger.player!=player){
|
||||||
else{
|
event.card=trigger.player.get('h').randomGet();
|
||||||
event.card=trigger.player.get('h',function(card){
|
}
|
||||||
return get.type(card)!='basic';
|
else{
|
||||||
}).randomGet();
|
player.chooseCard(true,'选择展示一张手牌').ai=function(card){
|
||||||
|
if(get.type(card)!='basic'){
|
||||||
|
return 10-ai.get.value(card);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
event.selfSelect=true;
|
||||||
}
|
}
|
||||||
event.dialog=ui.create.dialog(get.translation(player)+'展示的手牌',[event.card]);
|
|
||||||
game.delay(2);
|
|
||||||
"step 1"
|
"step 1"
|
||||||
|
if(event.selfSelect){
|
||||||
|
event.card=result.cards[0];
|
||||||
|
}
|
||||||
|
player.showCards([event.card],get.translation(player)+'展示的手牌');
|
||||||
|
"step 2"
|
||||||
if(get.type(event.card)!='basic'){
|
if(get.type(event.card)!='basic'){
|
||||||
trigger.player.recover();
|
trigger.player.recover();
|
||||||
trigger.player.discard(event.card);
|
trigger.player.discard(event.card);
|
||||||
}
|
}
|
||||||
event.dialog.close();
|
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
threaten:1.4
|
threaten:1.4
|
||||||
|
@ -2742,6 +2754,8 @@ character.yijiang={
|
||||||
event.dialog=ui.create.dialog('称象',event.cards);
|
event.dialog=ui.create.dialog('称象',event.cards);
|
||||||
game.delay(2);
|
game.delay(2);
|
||||||
}
|
}
|
||||||
|
game.addVideo('showCards',player,['称象',get.cardsInfo(event.cards)]);
|
||||||
|
game.addVideo('delay',null,2);
|
||||||
"step 1"
|
"step 1"
|
||||||
if(event.dialog) event.dialog.close();
|
if(event.dialog) event.dialog.close();
|
||||||
var dialog=ui.create.dialog('称象:选择任意张点数小于13的牌',event.cards);
|
var dialog=ui.create.dialog('称象:选择任意张点数小于13的牌',event.cards);
|
||||||
|
@ -2917,6 +2931,7 @@ character.yijiang={
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.markSkill('xiansi');
|
player.markSkill('xiansi');
|
||||||
player.storage.xiansi=player.storage.xiansi.concat(result.links);
|
player.storage.xiansi=player.storage.xiansi.concat(result.links);
|
||||||
|
game.addVideo('storage',player,['xiansi',get.cardsInfo(player.storage.xiansi),'cards']);
|
||||||
event.current.lose(result.links,ui.special);
|
event.current.lose(result.links,ui.special);
|
||||||
event.current.$give(result.links,player);
|
event.current.$give(result.links,player);
|
||||||
event.goto(2);
|
event.goto(2);
|
||||||
|
@ -2977,6 +2992,7 @@ character.yijiang={
|
||||||
for(var i=0;i<result.links.length;i++){
|
for(var i=0;i<result.links.length;i++){
|
||||||
event.target.storage.xiansi.remove(result.links[i]);
|
event.target.storage.xiansi.remove(result.links[i]);
|
||||||
}
|
}
|
||||||
|
game.addVideo('storage',event.target,['xiansi',get.cardsInfo(event.target.storage.xiansi),'cards']);
|
||||||
if(!event.target.storage.xiansi.length){
|
if(!event.target.storage.xiansi.length){
|
||||||
event.target.unmarkSkill('xiansi');
|
event.target.unmarkSkill('xiansi');
|
||||||
}
|
}
|
||||||
|
@ -3162,6 +3178,7 @@ character.yijiang={
|
||||||
player.storage.zyexin.push(card);
|
player.storage.zyexin.push(card);
|
||||||
player.$draw(card);
|
player.$draw(card);
|
||||||
player.markSkill('zyexin');
|
player.markSkill('zyexin');
|
||||||
|
game.addVideo('storage',player,['zyexin',get.cardsInfo(player.storage.zyexin),'cards']);
|
||||||
},
|
},
|
||||||
group:'zyexin2'
|
group:'zyexin2'
|
||||||
},
|
},
|
||||||
|
@ -3191,6 +3208,7 @@ character.yijiang={
|
||||||
for(var i=0;i<result.links.length;i++){
|
for(var i=0;i<result.links.length;i++){
|
||||||
player.storage.zyexin.remove(result.links[i]);
|
player.storage.zyexin.remove(result.links[i]);
|
||||||
}
|
}
|
||||||
|
game.addVideo('storage',player,['zyexin',get.cardsInfo(player.storage.zyexin),'cards']);
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
order:5,
|
order:5,
|
||||||
|
@ -3262,6 +3280,7 @@ character.yijiang={
|
||||||
"step 2"
|
"step 2"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.storage.zyexin.remove(event.card);
|
player.storage.zyexin.remove(event.card);
|
||||||
|
game.addVideo('storage',player,['zyexin',get.cardsInfo(player.storage.zyexin),'cards']);
|
||||||
game.delay();
|
game.delay();
|
||||||
if(get.type(event.card)=='equip'){
|
if(get.type(event.card)=='equip'){
|
||||||
player.$give(event.card,result.targets[0]);
|
player.$give(event.card,result.targets[0]);
|
||||||
|
|
|
@ -240,6 +240,7 @@ window.config={
|
||||||
modeconfig:false,
|
modeconfig:false,
|
||||||
gameconfig:false,
|
gameconfig:false,
|
||||||
appearence:false,
|
appearence:false,
|
||||||
|
video:'20',
|
||||||
|
|
||||||
intro:'i',
|
intro:'i',
|
||||||
right_click:'pause',
|
right_click:'pause',
|
||||||
|
|
1252
game/game.js
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 181 KiB |
After Width: | Height: | Size: 78 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 344 KiB |
After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 79 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 9.0 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 27 KiB |
|
@ -465,22 +465,22 @@ margin-bottom: 5px;
|
||||||
.flash{-webkit-animation:flash 1s;}
|
.flash{-webkit-animation:flash 1s;}
|
||||||
.flip{-webkit-animation:flip 1s;}
|
.flip{-webkit-animation:flip 1s;}
|
||||||
/*--------样式--------*/
|
/*--------样式--------*/
|
||||||
#arena.selecting .player[data-position='0'] .card:not(.selectable)>.background,
|
#arena.selecting:not(.video) .player[data-position='0'] .card:not(.selectable)>.background,
|
||||||
#arena.selecting .player[data-position='0'] .card:not(.selectable)>.image,
|
#arena.selecting:not(.video) .player[data-position='0'] .card:not(.selectable)>.image,
|
||||||
#arena.selecting .player[data-position='0'] .card:not(.selectable)>.name,
|
#arena.selecting:not(.video) .player[data-position='0'] .card:not(.selectable)>.name,
|
||||||
#arena.selecting .player[data-position='0'] .card:not(.selectable)>.name2,
|
#arena.selecting:not(.video) .player[data-position='0'] .card:not(.selectable)>.name2,
|
||||||
#arena.selecting .player[data-position='0'] .card:not(.selectable)>.info,
|
#arena.selecting:not(.video) .player[data-position='0'] .card:not(.selectable)>.info,
|
||||||
#arena.selecting #me .card:not(.selectable)>.background,
|
#arena.selecting:not(.video) #me .card:not(.selectable)>.background,
|
||||||
#arena.selecting #me .card:not(.selectable)>.image,
|
#arena.selecting:not(.video) #me .card:not(.selectable)>.image,
|
||||||
#arena.selecting #me .card:not(.selectable)>.name,
|
#arena.selecting:not(.video) #me .card:not(.selectable)>.name,
|
||||||
#arena.selecting #me .card:not(.selectable)>.name2,
|
#arena.selecting:not(.video) #me .card:not(.selectable)>.name2,
|
||||||
#arena.selecting #me .card:not(.selectable)>.info,
|
#arena.selecting:not(.video) #me .card:not(.selectable)>.info,
|
||||||
#arena.selecting #me .card:not(.selectable)>.addinfo,
|
#arena.selecting:not(.video) #me .card:not(.selectable)>.addinfo,
|
||||||
#arena.selecting .dialog:not(.noselect) .button:not(.selectable):not(.noclick),
|
#arena.selecting:not(.video) .dialog:not(.noselect) .button:not(.selectable):not(.noclick),
|
||||||
.dead,.likedead{opacity: 0.6;}
|
.dead,.likedead{opacity: 0.6;}
|
||||||
.unselectable:not(.selected):not(.removing){opacity: 0.6 !important}
|
.unselectable:not(.selected):not(.removing){opacity: 0.6 !important}
|
||||||
.mark>.background{opacity: 1 !important;}
|
.mark>.background{opacity: 1 !important;}
|
||||||
#arena.selecting #me .card:not(.selectable){
|
#arena.selecting:not(.video) #me .card:not(.selectable){
|
||||||
opacity:0.8
|
opacity:0.8
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -557,6 +557,9 @@ div:hover>.intro{opacity: 1;}
|
||||||
border-style:solid;
|
border-style:solid;
|
||||||
border-color:transparent;
|
border-color:transparent;
|
||||||
}
|
}
|
||||||
|
.underlinenode.slim{
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
.on>.underline,.underlinenode.on{
|
.on>.underline,.underlinenode.on{
|
||||||
border-color:rgb(0, 133, 255);
|
border-color:rgb(0, 133, 255);
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,6 +38,14 @@
|
||||||
.menu-cheat>.selecting{
|
.menu-cheat>.selecting{
|
||||||
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(255, 0, 0, 0.8) 0 0 5px, rgba(255, 0, 0, 0.8) 0 0 5px !important
|
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(255, 0, 0, 0.8) 0 0 5px, rgba(255, 0, 0, 0.8) 0 0 5px !important
|
||||||
}
|
}
|
||||||
|
.menu-cheat.config>.menubutton{
|
||||||
|
height:16px;
|
||||||
|
line-height: 16px;
|
||||||
|
transform: translateY(-10px);
|
||||||
|
}
|
||||||
|
.menu-cheat.config{
|
||||||
|
transition-property: opacity;
|
||||||
|
}
|
||||||
.menu-buttons>.toggle{
|
.menu-buttons>.toggle{
|
||||||
position:relative;
|
position:relative;
|
||||||
margin-bottom: 10px !important;
|
margin-bottom: 10px !important;
|
||||||
|
@ -375,3 +383,54 @@
|
||||||
background-image: linear-gradient(rgba(47,101,150,1), rgba(43, 90, 132,1));
|
background-image: linear-gradient(rgba(47,101,150,1), rgba(43, 90, 132,1));
|
||||||
box-shadow: rgba(0,0,0,0.2) 0 0 0 1px;
|
box-shadow: rgba(0,0,0,0.2) 0 0 0 1px;
|
||||||
}
|
}
|
||||||
|
.videonode.menubutton{
|
||||||
|
width: calc(100% - 50px);
|
||||||
|
height: 70px;
|
||||||
|
margin-bottom: 6px;
|
||||||
|
margin-left: -10px;
|
||||||
|
margin-top: 6px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.videonode.menubutton>div{
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
.videonode.menubutton>.videoavatar{
|
||||||
|
width: 56px;
|
||||||
|
height: 56px;
|
||||||
|
top:7px;
|
||||||
|
left:7px;
|
||||||
|
background-size: cover;
|
||||||
|
}
|
||||||
|
.videonode.menubutton>.videoavatar2{
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
top:43px;
|
||||||
|
left:3px;
|
||||||
|
background-size: cover;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
.videonode.menubutton>.caption{
|
||||||
|
display: inline-block;
|
||||||
|
left: 84px;
|
||||||
|
top: 6px;
|
||||||
|
padding-top: 0;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
.videonode.menubutton>.text{
|
||||||
|
font-size: 14px;
|
||||||
|
left: 85px;
|
||||||
|
top: 35px;
|
||||||
|
line-height: 20px;
|
||||||
|
text-align: left;
|
||||||
|
font-family:'STHeiti','SimHei','Microsoft JhengHei','Microsoft YaHei','WenQuanYi Micro Hei',Helvetica,Arial,sans-serif
|
||||||
|
}
|
||||||
|
.videonode.menubutton>.victory{
|
||||||
|
font-family: 'huangcao';
|
||||||
|
font-size: 25px;
|
||||||
|
text-shadow: black 0 0 1px,rgba(255, 203, 0,1) 0 0 2px,rgba(255, 203, 0,1) 0 0 5px,rgba(255, 203, 0,1) 0 0 5px,
|
||||||
|
rgba(255, 203, 0,1) 0 0 5px,black 0 0 1px;
|
||||||
|
color:white;
|
||||||
|
position: absolute;
|
||||||
|
left: 48px;
|
||||||
|
top: 48px;
|
||||||
|
}
|
||||||
|
|
|
@ -8,10 +8,10 @@
|
||||||
left: 3%;
|
left: 3%;
|
||||||
}
|
}
|
||||||
#control{
|
#control{
|
||||||
width: 100%;
|
width: calc(5000% / 47 - 240px);
|
||||||
|
left:calc(-150% / 47 + 120px);
|
||||||
bottom:150px;
|
bottom:150px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
left:0;
|
|
||||||
}
|
}
|
||||||
/*#control>div{
|
/*#control>div{
|
||||||
height: 40px;
|
height: 40px;
|
||||||
|
@ -42,11 +42,15 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
#arena:not(.chess) .player[data-position='0']>.equips>div{
|
#arena:not(.chess) .player[data-position='0']>.equips>div{
|
||||||
width: 42px;
|
width: 45px;
|
||||||
height: 42px;
|
height: 45px;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
border-radius: 4px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
}
|
}
|
||||||
|
#arena:not(.chess) .player[data-position='0']>.equips>.equip5{
|
||||||
|
border-radius: 45px;
|
||||||
|
}
|
||||||
#arena:not(.chess) .player[data-position='0']{
|
#arena:not(.chess) .player[data-position='0']{
|
||||||
width: calc(5000% / 47);
|
width: calc(5000% / 47);
|
||||||
left:calc(-150% / 47);
|
left:calc(-150% / 47);
|
||||||
|
@ -59,6 +63,7 @@
|
||||||
box-shadow: none !important;
|
box-shadow: none !important;
|
||||||
}
|
}
|
||||||
#arena:not(.chess) .player[data-position='0']:not(.minskin)>.avatar,
|
#arena:not(.chess) .player[data-position='0']:not(.minskin)>.avatar,
|
||||||
|
#arena:not(.chess) .player[data-position='0']:not(.minskin)>.avatar2,
|
||||||
#arena:not(.chess) .player[data-position='0']:not(.minskin)>.equips{
|
#arena:not(.chess) .player[data-position='0']:not(.minskin)>.equips{
|
||||||
width:120px;
|
width:120px;
|
||||||
height:120px;
|
height:120px;
|
||||||
|
@ -147,9 +152,16 @@
|
||||||
#arena:not(.chess) .player[data-position='0'].linked{
|
#arena:not(.chess) .player[data-position='0'].linked{
|
||||||
transform: none;
|
transform: none;
|
||||||
}
|
}
|
||||||
#arena:not(.chess) .player[data-position='0'].linked .avatar{
|
#arena:not(.chess) .player[data-position='0'].linked .avatar,
|
||||||
|
#arena:not(.chess) .player[data-position='0'].linked .avatar2{
|
||||||
transform: rotate(-90deg);
|
transform: rotate(-90deg);
|
||||||
}
|
}
|
||||||
|
#arena:not(.chess) .player[data-position='0'].fullskin2 .avatar{
|
||||||
|
transform-origin: right center;
|
||||||
|
}
|
||||||
|
#arena:not(.chess) .player[data-position='0'].fullskin2 .avatar2{
|
||||||
|
transform-origin: left center;
|
||||||
|
}
|
||||||
|
|
||||||
.dialog{
|
.dialog{
|
||||||
height:calc(100% - 370px);
|
height:calc(100% - 370px);
|
||||||
|
|
52
mode/boss.js
|
@ -22,10 +22,43 @@ mode.boss={
|
||||||
game.over(!game.boss.isAlive());
|
game.over(!game.boss.isAlive());
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
getVideoName:function(){
|
||||||
|
var str=get.translation(game.me.name);
|
||||||
|
if(game.me.name2){
|
||||||
|
str+='/'+get.translation(game.me.name2);
|
||||||
|
}
|
||||||
|
var str2='挑战';
|
||||||
|
if(game.me!=game.boss){
|
||||||
|
str2+=' - '+get.translation(game.boss);
|
||||||
|
}
|
||||||
|
var name=[str,str2];
|
||||||
|
return name;
|
||||||
|
},
|
||||||
start:function(){
|
start:function(){
|
||||||
var next=game.createEvent('game',false);
|
var next=game.createEvent('game',false);
|
||||||
next.content=function(){
|
next.content=function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
|
var playback=localStorage.getItem(lib.configprefix+'playback');
|
||||||
|
if(playback){
|
||||||
|
ui.create.arena();
|
||||||
|
ui.create.me();
|
||||||
|
ui.arena.style.display='none';
|
||||||
|
ui.system.style.display='none';
|
||||||
|
_status.playback=playback;
|
||||||
|
localStorage.removeItem(lib.configprefix+'playback');
|
||||||
|
var store=lib.db.transaction(['video'],'readwrite').objectStore('video');
|
||||||
|
store.get(parseInt(playback)).onsuccess=function(e){
|
||||||
|
if(e.target.result){
|
||||||
|
game.playVideoContent(e.target.result.video);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
alert('播放失败:找不到录像');
|
||||||
|
game.reload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
event.finish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
for(var i in lib.skill){
|
for(var i in lib.skill){
|
||||||
if(lib.skill[i].changeSeat){
|
if(lib.skill[i].changeSeat){
|
||||||
lib.skill[i]={};
|
lib.skill[i]={};
|
||||||
|
@ -158,9 +191,11 @@ mode.boss={
|
||||||
boss.style.left=(rect.left-ui.arena.offsetLeft)+'px';
|
boss.style.left=(rect.left-ui.arena.offsetLeft)+'px';
|
||||||
boss.style.top=(rect.top-ui.arena.offsetTop)+'px';
|
boss.style.top=(rect.top-ui.arena.offsetTop)+'px';
|
||||||
boss.setIdentity('zhu');
|
boss.setIdentity('zhu');
|
||||||
|
boss.identity='zhu';
|
||||||
for(var i=0;i<result.links.length;i++){
|
for(var i=0;i<result.links.length;i++){
|
||||||
var player=ui.create.player(ui.arena).init(result.links[i]).animate('start');
|
var player=ui.create.player(ui.arena).init(result.links[i]).animate('start');
|
||||||
player.setIdentity('cai');
|
player.setIdentity('cai');
|
||||||
|
player.identity='cai';
|
||||||
player.side=false;
|
player.side=false;
|
||||||
game.players.push(player);
|
game.players.push(player);
|
||||||
if(result.boss){
|
if(result.boss){
|
||||||
|
@ -257,6 +292,20 @@ mode.boss={
|
||||||
for(var i=0;i<game.players.length;i++){
|
for(var i=0;i<game.players.length;i++){
|
||||||
ui.create.div('.action',game.players[i].node.avatar).innerHTML='行动';
|
ui.create.div('.action',game.players[i].node.avatar).innerHTML='行动';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var players=get.players(lib.sort.position);
|
||||||
|
var info=[];
|
||||||
|
for(var i=0;i<players.length;i++){
|
||||||
|
info.push({
|
||||||
|
name:players[i].name,
|
||||||
|
identity:players[i].identity,
|
||||||
|
position:players[i].dataset.position
|
||||||
|
});
|
||||||
|
}
|
||||||
|
_status.videoInited=true,
|
||||||
|
info.boss=(game.me==game.boss);
|
||||||
|
game.addVideo('init',null,info);
|
||||||
|
|
||||||
"step 3"
|
"step 3"
|
||||||
game.gameDraw(game.boss);
|
game.gameDraw(game.boss);
|
||||||
game.bossPhaseLoop();
|
game.bossPhaseLoop();
|
||||||
|
@ -328,6 +377,7 @@ mode.boss={
|
||||||
},
|
},
|
||||||
onSwapControl:function(){
|
onSwapControl:function(){
|
||||||
if(game.me==game.boss) return;
|
if(game.me==game.boss) return;
|
||||||
|
game.addVideo('onSwapControl');
|
||||||
var name=game.me.name;
|
var name=game.me.name;
|
||||||
if(ui.fakeme&&ui.fakeme.current!=name){
|
if(ui.fakeme&&ui.fakeme.current!=name){
|
||||||
ui.fakeme.current=name;
|
ui.fakeme.current=name;
|
||||||
|
@ -1421,7 +1471,7 @@ mode.boss={
|
||||||
boss_zhangjiao:'天公将军',
|
boss_zhangjiao:'天公将军',
|
||||||
boss_zuoci:'迷之仙人',
|
boss_zuoci:'迷之仙人',
|
||||||
boss_yuji:'琅琊道士',
|
boss_yuji:'琅琊道士',
|
||||||
boss_liubei:'昭烈皇帝',
|
boss_liubei:'蜀汉烈帝',
|
||||||
boss_caiwenji:'异乡孤女',
|
boss_caiwenji:'异乡孤女',
|
||||||
boss_huatuo:'药坛圣手',
|
boss_huatuo:'药坛圣手',
|
||||||
boss_luxun:'蹁跹君子',
|
boss_luxun:'蹁跹君子',
|
||||||
|
|
193
mode/chess.js
|
@ -24,6 +24,10 @@ mode.chess={
|
||||||
this.style.transition='all 0.5s';
|
this.style.transition='all 0.5s';
|
||||||
this.style.webkitTransform='rotate(180deg)';
|
this.style.webkitTransform='rotate(180deg)';
|
||||||
}
|
}
|
||||||
|
else{
|
||||||
|
this.style.transition='all 0.5s';
|
||||||
|
this.style.webkitTransform='';
|
||||||
|
}
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -62,6 +66,7 @@ mode.chess={
|
||||||
return this.moveTo(x+xy[0],y+xy[1]);
|
return this.moveTo(x+xy[0],y+xy[1]);
|
||||||
},
|
},
|
||||||
moveTo:function(x,y){
|
moveTo:function(x,y){
|
||||||
|
game.addVideo('moveTo',this,[x,y]);
|
||||||
if(x>=ui.chesswidth){
|
if(x>=ui.chesswidth){
|
||||||
x=ui.chesswidth-1;
|
x=ui.chesswidth-1;
|
||||||
}
|
}
|
||||||
|
@ -79,6 +84,7 @@ mode.chess={
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
chessFocus:function(){
|
chessFocus:function(){
|
||||||
|
game.addVideo('chessFocus',this);
|
||||||
if(ui.chess._chessdrag) return;
|
if(ui.chess._chessdrag) return;
|
||||||
if(_status.chessscrolling) return;
|
if(_status.chessscrolling) return;
|
||||||
var player=this;
|
var player=this;
|
||||||
|
@ -194,6 +200,20 @@ mode.chess={
|
||||||
game.over(game.me.side==game.players[0].side);
|
game.over(game.me.side==game.players[0].side);
|
||||||
},
|
},
|
||||||
$draw:function(num){
|
$draw:function(num){
|
||||||
|
var cards;
|
||||||
|
if(get.itemtype(num)=='cards'){
|
||||||
|
cards=num;
|
||||||
|
}
|
||||||
|
else if(get.itemtype(num)=='card'){
|
||||||
|
cards=[num];
|
||||||
|
}
|
||||||
|
if(cards){
|
||||||
|
game.addVideo('chessgainmod',this,get.cardsInfo(num));
|
||||||
|
}
|
||||||
|
else if(!num||typeof num=='number'){
|
||||||
|
game.addVideo('chessgainmod',this,num);
|
||||||
|
}
|
||||||
|
|
||||||
return this.$gainmod(num);
|
return this.$gainmod(num);
|
||||||
},
|
},
|
||||||
$drawx:function(num){
|
$drawx:function(num){
|
||||||
|
@ -265,18 +285,29 @@ mode.chess={
|
||||||
var that=this;
|
var that=this;
|
||||||
if(num&&num>1){
|
if(num&&num>1){
|
||||||
if(cards){
|
if(cards){
|
||||||
that.$gain(cards)
|
that.$gain(cards,null,false)
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
that.$gain(num-1)
|
that.$gain(num-1,null,false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
$throw:function(card,time){
|
$throw:function(card,time,init){
|
||||||
|
if(init!==false){
|
||||||
|
if(get.itemtype(card)!='cards'){
|
||||||
|
if(get.itemtype(card)=='card'){
|
||||||
|
card=[card];
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
game.addVideo('throw',this,[get.cardsInfo(card),time]);
|
||||||
|
}
|
||||||
this.chessFocus();
|
this.chessFocus();
|
||||||
if(get.itemtype(card)=='cards'){
|
if(get.itemtype(card)=='cards'){
|
||||||
for(var i=0;i<card.length;i++){
|
for(var i=0;i<card.length;i++){
|
||||||
this.$throw(card[i],time);
|
this.$throw(card[i],time,false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -350,6 +381,7 @@ mode.chess={
|
||||||
return node;
|
return node;
|
||||||
},
|
},
|
||||||
$phaseJudge:function(card){
|
$phaseJudge:function(card){
|
||||||
|
game.addVideo('phaseJudge',this,get.cardInfo(card));
|
||||||
var clone=card.copy('thrown',this.parentNode).animate('judgestart');
|
var clone=card.copy('thrown',this.parentNode).animate('judgestart');
|
||||||
var player=this;
|
var player=this;
|
||||||
clone.style.opacity=0.6;
|
clone.style.opacity=0.6;
|
||||||
|
@ -522,7 +554,14 @@ mode.chess={
|
||||||
game:{
|
game:{
|
||||||
minskin:true,
|
minskin:true,
|
||||||
singleHandcard:true,
|
singleHandcard:true,
|
||||||
addChessPlayer:function(name,enemy,num){
|
getVideoName:function(){
|
||||||
|
var name=[
|
||||||
|
get.translation(game.me.name),
|
||||||
|
'战棋'+get.translation(get.config('chess_mode'))+' - '+_status.friendCount+'v'+_status.enemyCount
|
||||||
|
];
|
||||||
|
return name;
|
||||||
|
},
|
||||||
|
addChessPlayer:function(name,enemy,num,pos){
|
||||||
if(typeof num!='number'){
|
if(typeof num!='number'){
|
||||||
num=4;
|
num=4;
|
||||||
}
|
}
|
||||||
|
@ -539,24 +578,35 @@ mode.chess={
|
||||||
if(enemy){
|
if(enemy){
|
||||||
player.side=!game.me.side;
|
player.side=!game.me.side;
|
||||||
player.setIdentity('enemy');
|
player.setIdentity('enemy');
|
||||||
|
player.identity='enemy';
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
player.side=game.me.side;
|
player.side=game.me.side;
|
||||||
player.setIdentity('friend');
|
player.setIdentity('friend');
|
||||||
|
player.identity='friend';
|
||||||
}
|
}
|
||||||
player.node.identity.dataset.color=get.translation(player.side+'Color');
|
player.node.identity.dataset.color=get.translation(player.side+'Color');
|
||||||
game.players.push(player);
|
game.players.push(player);
|
||||||
ui.chess.appendChild(player);
|
ui.chess.appendChild(player);
|
||||||
player.dataset.position=grids.randomGet();
|
if(_status.video){
|
||||||
|
player.dataset.position=pos;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
player.dataset.position=grids.randomGet();
|
||||||
|
}
|
||||||
lib.posmap[player.dataset.position]=player;
|
lib.posmap[player.dataset.position]=player;
|
||||||
|
game.addVideo('addChessPlayer',null,[name,enemy,num,player.dataset.position]);
|
||||||
if(num){
|
if(num){
|
||||||
player.directgain(get.cards(num));
|
player.directgain(get.cards(num));
|
||||||
}
|
}
|
||||||
game.arrangePlayers();
|
game.arrangePlayers();
|
||||||
|
|
||||||
|
|
||||||
return player;
|
return player;
|
||||||
},
|
},
|
||||||
addOverDialog:function(dialog,result){
|
addOverDialog:function(dialog,result){
|
||||||
dialog.classList.add('center');
|
dialog.classList.add('center');
|
||||||
|
if(get.config('chess_mode')!='leader') return;
|
||||||
if(result=='战斗胜利'){
|
if(result=='战斗胜利'){
|
||||||
_status.victory=true;
|
_status.victory=true;
|
||||||
if(!_status.enterArena){
|
if(!_status.enterArena){
|
||||||
|
@ -580,6 +630,8 @@ mode.chess={
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
controlOver:function(){
|
controlOver:function(){
|
||||||
|
ui.create.control(get.config('chess_mode')=='leader'?'返回':'重新开始',game.reload);
|
||||||
|
if(get.config('chess_mode')!='leader') return;
|
||||||
if(_status.enterArena){
|
if(_status.enterArena){
|
||||||
game.data.arena.acted.length=0;
|
game.data.arena.acted.length=0;
|
||||||
if(_status.victory){
|
if(_status.victory){
|
||||||
|
@ -613,7 +665,6 @@ mode.chess={
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ui.create.control('返回',game.reload);
|
|
||||||
},
|
},
|
||||||
phaseLoopOrdered:function(player){
|
phaseLoopOrdered:function(player){
|
||||||
var next=game.createEvent('phaseLoop');
|
var next=game.createEvent('phaseLoop');
|
||||||
|
@ -676,6 +727,13 @@ mode.chess={
|
||||||
if(player.side==game.me.side){
|
if(player.side==game.me.side){
|
||||||
player=game.me;
|
player=game.me;
|
||||||
}
|
}
|
||||||
|
if(player.isDead()){
|
||||||
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
if(game.players[i].side==player.side){
|
||||||
|
player=game.players[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
for(var i=0;i<game.players.length;i++){
|
for(var i=0;i<game.players.length;i++){
|
||||||
if(game.players[i].side==player.side){
|
if(game.players[i].side==player.side){
|
||||||
if(!game.players[i].classList.contains('acted')){
|
if(!game.players[i].classList.contains('acted')){
|
||||||
|
@ -815,6 +873,7 @@ mode.chess={
|
||||||
game.finishCards();
|
game.finishCards();
|
||||||
if(get.config('chess_character')){
|
if(get.config('chess_character')){
|
||||||
for(var i in lib.chess_character){
|
for(var i in lib.chess_character){
|
||||||
|
if(i.indexOf('leader_')==0) continue;
|
||||||
lib.character[i]=lib.chess_character[i];
|
lib.character[i]=lib.chess_character[i];
|
||||||
if(!lib.character[i][4]){
|
if(!lib.character[i][4]){
|
||||||
lib.character[i][4]=[];
|
lib.character[i][4]=[];
|
||||||
|
@ -830,22 +889,69 @@ mode.chess={
|
||||||
ui.chess.appendChild(ui.canvas2);
|
ui.chess.appendChild(ui.canvas2);
|
||||||
ui.ctx2=ui.canvas2.getContext('2d');
|
ui.ctx2=ui.canvas2.getContext('2d');
|
||||||
game.me=ui.create.player();
|
game.me=ui.create.player();
|
||||||
switch(get.config('chess_mode')){
|
var playback=localStorage.getItem(lib.configprefix+'playback');
|
||||||
case 'leader':{
|
if(playback){
|
||||||
game.leaderView();
|
game.pause();
|
||||||
break;
|
ui.system.style.display='none';
|
||||||
|
_status.playback=playback;
|
||||||
|
localStorage.removeItem(lib.configprefix+'playback');
|
||||||
|
var store=lib.db.transaction(['video'],'readwrite').objectStore('video');
|
||||||
|
store.get(parseInt(playback)).onsuccess=function(e){
|
||||||
|
if(e.target.result){
|
||||||
|
event.video=e.target.result.video;
|
||||||
|
game.resume();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
alert('播放失败:找不到录像');
|
||||||
|
game.reload();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
case 'combat':{
|
}
|
||||||
game.chooseCharacter();
|
else{
|
||||||
break;
|
switch(get.config('chess_mode')){
|
||||||
}
|
case 'leader':{
|
||||||
default:{
|
game.leaderView();
|
||||||
game.chooseCharacter();
|
break;
|
||||||
|
}
|
||||||
|
case 'combat':{
|
||||||
|
if(lib.storage.test){
|
||||||
|
_status.auto=true;
|
||||||
|
setTimeout(function(){
|
||||||
|
console.log(get.translation(game.players));
|
||||||
|
ui.updateh(true);
|
||||||
|
},500);
|
||||||
|
ui.auto.classList.add('glow');
|
||||||
|
}
|
||||||
|
game.chooseCharacter();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:{
|
||||||
|
game.chooseCharacter();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"step 1"
|
"step 1"
|
||||||
ui.arena.classList.add('chess');
|
ui.arena.classList.add('chess');
|
||||||
var num=Math.round((_status.mylist.length+_status.enemylist.length)/2);
|
var mylistmap,enemylistmap;
|
||||||
|
if(event.video){
|
||||||
|
var videocontent=event.video[0].content;
|
||||||
|
_status.mylist=[];
|
||||||
|
_status.enemylist=[];
|
||||||
|
mylistmap=[];
|
||||||
|
enemylistmap=[];
|
||||||
|
for(var i=0;i<videocontent.length;i++){
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
game.playerMap=lib.posmap;
|
||||||
|
}
|
||||||
|
var num=Math.round((_status.mylist.length+_status.enemylist.length)/2);
|
||||||
var friend,enemy;
|
var friend,enemy;
|
||||||
var side;
|
var side;
|
||||||
if(get.config('chess_mode')=='leader'){
|
if(get.config('chess_mode')=='leader'){
|
||||||
|
@ -948,28 +1054,40 @@ mode.chess={
|
||||||
friend.init(_status.mylist.shift());
|
friend.init(_status.mylist.shift());
|
||||||
friend.side=side;
|
friend.side=side;
|
||||||
friend.setIdentity('friend');
|
friend.setIdentity('friend');
|
||||||
|
friend.identity='friend';
|
||||||
friend.node.identity.dataset.color=get.translation(side+'Color');
|
friend.node.identity.dataset.color=get.translation(side+'Color');
|
||||||
game.players.push(friend);
|
game.players.push(friend);
|
||||||
ui.chess.appendChild(friend);
|
ui.chess.appendChild(friend);
|
||||||
friend.dataset.position=grids.randomRemove();
|
if(event.video){
|
||||||
|
friend.dataset.position=mylistmap.shift();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
friend.dataset.position=grids.randomRemove();
|
||||||
|
if(_status.enterArena&&game.data.arena.acted.contains(friend.name)){
|
||||||
|
friend.hp--;
|
||||||
|
friend.update();
|
||||||
|
}
|
||||||
|
if(_status.enterArena){
|
||||||
|
friend.addSkill('arenaAdd');
|
||||||
|
}
|
||||||
|
}
|
||||||
lib.posmap[friend.dataset.position]=friend;
|
lib.posmap[friend.dataset.position]=friend;
|
||||||
if(_status.enterArena&&game.data.arena.acted.contains(friend.name)){
|
|
||||||
friend.hp--;
|
|
||||||
friend.update();
|
|
||||||
}
|
|
||||||
if(_status.enterArena){
|
|
||||||
friend.addSkill('arenaAdd');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
while(_status.enemylist.length){
|
while(_status.enemylist.length){
|
||||||
enemy=ui.create.player().animate('start');
|
enemy=ui.create.player().animate('start');
|
||||||
enemy.init(_status.enemylist.shift());
|
enemy.init(_status.enemylist.shift());
|
||||||
enemy.side=!side;
|
enemy.side=!side;
|
||||||
enemy.setIdentity('enemy');
|
enemy.setIdentity('enemy');
|
||||||
|
enemy.identity='enemy';
|
||||||
enemy.node.identity.dataset.color=get.translation(!side+'Color');
|
enemy.node.identity.dataset.color=get.translation(!side+'Color');
|
||||||
game.players.push(enemy);
|
game.players.push(enemy);
|
||||||
ui.chess.appendChild(enemy);
|
ui.chess.appendChild(enemy);
|
||||||
enemy.dataset.position=grids.randomRemove();
|
if(event.video){
|
||||||
|
enemy.dataset.position=enemylistmap.shift();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
enemy.dataset.position=grids.randomRemove();
|
||||||
|
}
|
||||||
lib.posmap[enemy.dataset.position]=enemy;
|
lib.posmap[enemy.dataset.position]=enemy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1017,6 +1135,11 @@ mode.chess={
|
||||||
game.arrangePlayers();
|
game.arrangePlayers();
|
||||||
"step 2"
|
"step 2"
|
||||||
ui.control.style.display='';
|
ui.control.style.display='';
|
||||||
|
if(event.video){
|
||||||
|
game.playVideoContent(event.video);
|
||||||
|
game.setChessInfo(game.me);
|
||||||
|
return;
|
||||||
|
}
|
||||||
var p;
|
var p;
|
||||||
for(var i=0;i<game.players.length;i++){
|
for(var i=0;i<game.players.length;i++){
|
||||||
if(_status.lord){
|
if(_status.lord){
|
||||||
|
@ -1034,6 +1157,19 @@ mode.chess={
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var players=get.players(lib.sort.position);
|
||||||
|
var info=[];
|
||||||
|
for(var i=0;i<players.length;i++){
|
||||||
|
info.push({
|
||||||
|
name:players[i].name,
|
||||||
|
identity:players[i].identity,
|
||||||
|
position:players[i].dataset.position
|
||||||
|
});
|
||||||
|
}
|
||||||
|
_status.videoInited=true,
|
||||||
|
game.addVideo('init',null,info);
|
||||||
|
|
||||||
event.trigger('gameStart');
|
event.trigger('gameStart');
|
||||||
game.gameDraw(p);
|
game.gameDraw(p);
|
||||||
if(get.config('chess_mode')=='leader'){
|
if(get.config('chess_mode')=='leader'){
|
||||||
|
@ -2755,8 +2891,10 @@ mode.chess={
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
modeSwapPlayer:function(player){
|
modeSwapPlayer:function(player){
|
||||||
|
var content=[game.me.dataset.position,player.dataset.position];
|
||||||
game.me.node.avatar.classList.remove('glow2');
|
game.me.node.avatar.classList.remove('glow2');
|
||||||
player.node.avatar.classList.add('glow2');
|
player.node.avatar.classList.add('glow2');
|
||||||
|
game.addVideo('chessSwap',null,content);
|
||||||
game.swapControl(player);
|
game.swapControl(player);
|
||||||
player.chessFocus();
|
player.chessFocus();
|
||||||
ui.create.fakeme();
|
ui.create.fakeme();
|
||||||
|
@ -3861,6 +3999,7 @@ mode.chess={
|
||||||
playergrid:function(){
|
playergrid:function(){
|
||||||
if(!_status.paused) return;
|
if(!_status.paused) return;
|
||||||
delete lib.posmap[this.link.dataset.position];
|
delete lib.posmap[this.link.dataset.position];
|
||||||
|
game.addVideo('moveTox',this.link,this.dataset.position);
|
||||||
this.link.dataset.position=this.dataset.position;
|
this.link.dataset.position=this.dataset.position;
|
||||||
lib.posmap[this.link.dataset.position]=this.link;
|
lib.posmap[this.link.dataset.position]=this.link;
|
||||||
if(ui.movegrids){
|
if(ui.movegrids){
|
||||||
|
|
|
@ -1,12 +1,44 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
mode.guozhan={
|
mode.guozhan={
|
||||||
game:{
|
game:{
|
||||||
|
getVideoName:function(){
|
||||||
|
var str=get.translation(game.me.name1)+'/'+get.translation(game.me.name2);
|
||||||
|
var str2=get.cnNumber(parseInt(get.config('player_number')))+'人'+
|
||||||
|
get.translation(lib.config.mode);
|
||||||
|
if(game.me.identity=='ye'){
|
||||||
|
str2+=' - 野心家';
|
||||||
|
}
|
||||||
|
var name=[str,str2];
|
||||||
|
return name;
|
||||||
|
},
|
||||||
start:function(){
|
start:function(){
|
||||||
var next=game.createEvent('game',false);
|
var next=game.createEvent('game',false);
|
||||||
next.content=function(){
|
next.content=function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
game.prepareArena();
|
var playback=localStorage.getItem(lib.configprefix+'playback');
|
||||||
game.delay();
|
if(playback){
|
||||||
|
ui.create.arena();
|
||||||
|
ui.create.me();
|
||||||
|
ui.arena.style.display='none';
|
||||||
|
ui.system.style.display='none';
|
||||||
|
_status.playback=playback;
|
||||||
|
localStorage.removeItem(lib.configprefix+'playback');
|
||||||
|
var store=lib.db.transaction(['video'],'readwrite').objectStore('video');
|
||||||
|
store.get(parseInt(playback)).onsuccess=function(e){
|
||||||
|
if(e.target.result){
|
||||||
|
game.playVideoContent(e.target.result.video);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
alert('播放失败:找不到录像');
|
||||||
|
game.reload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
event.finish();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
game.prepareArena();
|
||||||
|
game.delay();
|
||||||
|
}
|
||||||
"step 1"
|
"step 1"
|
||||||
if(lib.storage.test){
|
if(lib.storage.test){
|
||||||
_status.auto=true;
|
_status.auto=true;
|
||||||
|
@ -37,6 +69,7 @@ mode.guozhan={
|
||||||
player=game.players[Math.floor(Math.random()*game.players.length)];
|
player=game.players[Math.floor(Math.random()*game.players.length)];
|
||||||
}
|
}
|
||||||
event.trigger('gameStart');
|
event.trigger('gameStart');
|
||||||
|
|
||||||
game.gameDraw(player);
|
game.gameDraw(player);
|
||||||
if(get.config('ai_identity')){
|
if(get.config('ai_identity')){
|
||||||
game.showIdentity(true);
|
game.showIdentity(true);
|
||||||
|
@ -53,6 +86,20 @@ mode.guozhan={
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
game.phaseLoop(player);
|
game.phaseLoop(player);
|
||||||
|
|
||||||
|
|
||||||
|
var players=get.players(lib.sort.position);
|
||||||
|
var info=[];
|
||||||
|
for(var i=0;i<players.length;i++){
|
||||||
|
info.push({
|
||||||
|
name:game.players[i].name,
|
||||||
|
translate:lib.translate[game.players[i].name],
|
||||||
|
name1:players[i].name1,
|
||||||
|
name2:players[i].name2,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
_status.videoInited=true,
|
||||||
|
game.addVideo('init',null,info);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
showIdentity:function(started){
|
showIdentity:function(started){
|
||||||
|
@ -369,6 +416,7 @@ mode.guozhan={
|
||||||
if(!this.classList.contains('unseen')&&!this.classList.contains('unseen2')){
|
if(!this.classList.contains('unseen')&&!this.classList.contains('unseen2')){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
game.addVideo('showCharacter',this,num);
|
||||||
if(this.identity=='unknown'){
|
if(this.identity=='unknown'){
|
||||||
this.group=lib.character[this.name1][1];
|
this.group=lib.character[this.name1][1];
|
||||||
// this.node.identity.style.backgroundColor=get.translation(this.group+'Color');
|
// this.node.identity.style.backgroundColor=get.translation(this.group+'Color');
|
||||||
|
|
|
@ -1,16 +1,49 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
mode.identity={
|
mode.identity={
|
||||||
game:{
|
game:{
|
||||||
|
getVideoName:function(){
|
||||||
|
var str=get.translation(game.me.name);
|
||||||
|
if(game.me.name2){
|
||||||
|
str+='/'+get.translation(game.me.name2);
|
||||||
|
}
|
||||||
|
var name=[
|
||||||
|
str,
|
||||||
|
get.cnNumber(parseInt(get.config('player_number')))+'人'+
|
||||||
|
get.translation(lib.config.mode)+' - '+lib.translate[game.me.identity+'2']
|
||||||
|
];
|
||||||
|
return name;
|
||||||
|
},
|
||||||
start:function(){
|
start:function(){
|
||||||
var next=game.createEvent('game',false);
|
var next=game.createEvent('game',false);
|
||||||
next.content=function(){
|
next.content=function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
game.prepareArena();
|
var playback=localStorage.getItem(lib.configprefix+'playback');
|
||||||
game.delay();
|
if(playback){
|
||||||
|
ui.create.arena();
|
||||||
|
ui.create.me();
|
||||||
|
ui.arena.style.display='none';
|
||||||
|
ui.system.style.display='none';
|
||||||
|
_status.playback=playback;
|
||||||
|
localStorage.removeItem(lib.configprefix+'playback');
|
||||||
|
var store=lib.db.transaction(['video'],'readwrite').objectStore('video');
|
||||||
|
store.get(parseInt(playback)).onsuccess=function(e){
|
||||||
|
if(e.target.result){
|
||||||
|
game.playVideoContent(e.target.result.video);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
alert('播放失败:找不到录像');
|
||||||
|
game.reload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
event.finish();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
game.prepareArena();
|
||||||
|
game.delay();
|
||||||
|
}
|
||||||
"step 1"
|
"step 1"
|
||||||
if(lib.storage.test){
|
if(lib.storage.test){
|
||||||
_status.auto=true;
|
_status.auto=true;
|
||||||
// ui.auto.innerHTML='手动';
|
|
||||||
ui.auto.classList.add('glow');
|
ui.auto.classList.add('glow');
|
||||||
}
|
}
|
||||||
game.chooseCharacter();
|
game.chooseCharacter();
|
||||||
|
@ -54,6 +87,19 @@ mode.identity={
|
||||||
}
|
}
|
||||||
lib.config.ai_guess=true;
|
lib.config.ai_guess=true;
|
||||||
event.trigger('gameStart');
|
event.trigger('gameStart');
|
||||||
|
|
||||||
|
var players=get.players(lib.sort.position);
|
||||||
|
var info=[];
|
||||||
|
for(var i=0;i<players.length;i++){
|
||||||
|
info.push({
|
||||||
|
name:players[i].name,
|
||||||
|
name2:players[i].name2,
|
||||||
|
identity:players[i].identity
|
||||||
|
});
|
||||||
|
}
|
||||||
|
_status.videoInited=true,
|
||||||
|
game.addVideo('init',null,info);
|
||||||
|
|
||||||
game.gameDraw(game.zhu);
|
game.gameDraw(game.zhu);
|
||||||
game.phaseLoop(game.zhu);
|
game.phaseLoop(game.zhu);
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,13 @@ mode.stone={
|
||||||
player.updateActCount();
|
player.updateActCount();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
updateActCount:function(used){
|
updateActCount:function(used,countx,current){
|
||||||
|
if(_status.video){
|
||||||
|
this.actcount=countx||2;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
game.addVideo('updateActCount',this,[used,this.actcount,this.getActCount()]);
|
||||||
|
}
|
||||||
for(var i=0;i<10;i++){
|
for(var i=0;i<10;i++){
|
||||||
if(this.actcount>this.node.actcount.childElementCount){
|
if(this.actcount>this.node.actcount.childElementCount){
|
||||||
ui.create.div(this.node.actcount);
|
ui.create.div(this.node.actcount);
|
||||||
|
@ -30,7 +36,13 @@ mode.stone={
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(used!==false){
|
if(used!==false){
|
||||||
var count=this.actcount-this.getActCount();
|
var count;
|
||||||
|
if(_status.video){
|
||||||
|
count=this.actcount-(current||0);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
count=this.actcount-this.getActCount();
|
||||||
|
}
|
||||||
for(var i=0;i<this.actcount;i++){
|
for(var i=0;i<this.actcount;i++){
|
||||||
if(i<count){
|
if(i<count){
|
||||||
this.node.actcount.childNodes[i].classList.remove('lost');
|
this.node.actcount.childNodes[i].classList.remove('lost');
|
||||||
|
@ -82,6 +94,7 @@ mode.stone={
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.actcharacterlist[i]=fellow;
|
this.actcharacterlist[i]=fellow;
|
||||||
|
game.addVideo('stonePosition',null,[fellow.dataset.position,i+4+(this==game.me?0:4)]);
|
||||||
fellow.dataset.position=i+4+(this==game.me?0:4);
|
fellow.dataset.position=i+4+(this==game.me?0:4);
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
|
@ -121,6 +134,14 @@ mode.stone={
|
||||||
}
|
}
|
||||||
game.players.push(player);
|
game.players.push(player);
|
||||||
ui.arena.appendChild(player);
|
ui.arena.appendChild(player);
|
||||||
|
|
||||||
|
game.addVideo('stoneSwap',null,{
|
||||||
|
name:player.name,
|
||||||
|
name2:player.name2,
|
||||||
|
position:player.dataset.position,
|
||||||
|
actcount:player.actcount,
|
||||||
|
me:true
|
||||||
|
});
|
||||||
game.swapControl(player);
|
game.swapControl(player);
|
||||||
game.arrangePlayers();
|
game.arrangePlayers();
|
||||||
player.draw(2+game.enemy.countFellow(),false);
|
player.draw(2+game.enemy.countFellow(),false);
|
||||||
|
@ -156,6 +177,13 @@ mode.stone={
|
||||||
game.players.push(player);
|
game.players.push(player);
|
||||||
game.enemy=player;
|
game.enemy=player;
|
||||||
ui.arena.appendChild(player);
|
ui.arena.appendChild(player);
|
||||||
|
|
||||||
|
game.addVideo('stoneSwap',null,{
|
||||||
|
name:player.name,
|
||||||
|
name2:player.name2,
|
||||||
|
position:player.dataset.position,
|
||||||
|
actcount:player.actcount,
|
||||||
|
});
|
||||||
game.arrangePlayers();
|
game.arrangePlayers();
|
||||||
player.draw(2+game.me.countFellow(),false);
|
player.draw(2+game.me.countFellow(),false);
|
||||||
game.resume();
|
game.resume();
|
||||||
|
@ -181,6 +209,16 @@ mode.stone={
|
||||||
},
|
},
|
||||||
game:{
|
game:{
|
||||||
reserveDead:true,
|
reserveDead:true,
|
||||||
|
getVideoName:function(){
|
||||||
|
var str=get.translation(game.me.name);
|
||||||
|
if(game.me.name2){
|
||||||
|
str+='/'+get.translation(game.me.name2);
|
||||||
|
}
|
||||||
|
var name=[
|
||||||
|
str,'炉石 - '+get.config('battle_number')+'人'
|
||||||
|
];
|
||||||
|
return name;
|
||||||
|
},
|
||||||
updateStatusCount:function(){
|
updateStatusCount:function(){
|
||||||
_status.friendCount.innerHTML='我方兵力:'+get.cnNumber(1+_status.mylist.length/(_status.double_character?2:1),true);
|
_status.friendCount.innerHTML='我方兵力:'+get.cnNumber(1+_status.mylist.length/(_status.double_character?2:1),true);
|
||||||
_status.enemyCount.innerHTML='敌方兵力:'+get.cnNumber(1+_status.enemylist.length/(_status.double_character?2:1),true);
|
_status.enemyCount.innerHTML='敌方兵力:'+get.cnNumber(1+_status.enemylist.length/(_status.double_character?2:1),true);
|
||||||
|
@ -293,9 +331,32 @@ mode.stone={
|
||||||
"step 0"
|
"step 0"
|
||||||
lib.init.css('layout/mode/','stone');
|
lib.init.css('layout/mode/','stone');
|
||||||
game.initStone();
|
game.initStone();
|
||||||
game.prepareArena(2);
|
|
||||||
|
var playback=localStorage.getItem(lib.configprefix+'playback');
|
||||||
|
if(playback){
|
||||||
|
ui.create.arena();
|
||||||
|
ui.create.me();
|
||||||
|
ui.arena.style.display='none';
|
||||||
|
ui.system.style.display='none';
|
||||||
|
_status.playback=playback;
|
||||||
|
localStorage.removeItem(lib.configprefix+'playback');
|
||||||
|
var store=lib.db.transaction(['video'],'readwrite').objectStore('video');
|
||||||
|
store.get(parseInt(playback)).onsuccess=function(e){
|
||||||
|
if(e.target.result){
|
||||||
|
game.playVideoContent(e.target.result.video);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
alert('播放失败:找不到录像');
|
||||||
|
game.reload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
event.finish();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
game.prepareArena(2);
|
||||||
|
game.delay();
|
||||||
|
}
|
||||||
ui.arena.classList.add('stone');
|
ui.arena.classList.add('stone');
|
||||||
game.delay();
|
|
||||||
"step 1"
|
"step 1"
|
||||||
for(var i=0;i<game.players.length;i++){
|
for(var i=0;i<game.players.length;i++){
|
||||||
game.players[i].classList.add('noidentity');
|
game.players[i].classList.add('noidentity');
|
||||||
|
@ -335,6 +396,19 @@ mode.stone={
|
||||||
|
|
||||||
game.me.side=Math.random()<0.5;
|
game.me.side=Math.random()<0.5;
|
||||||
game.enemy.side=!game.me.side;
|
game.enemy.side=!game.me.side;
|
||||||
|
|
||||||
|
var players=get.players(lib.sort.position);
|
||||||
|
var info=[];
|
||||||
|
for(var i=0;i<players.length;i++){
|
||||||
|
info.push({
|
||||||
|
name:players[i].name,
|
||||||
|
name2:players[i].name2,
|
||||||
|
count:players[i].actcount
|
||||||
|
});
|
||||||
|
}
|
||||||
|
_status.videoInited=true,
|
||||||
|
game.addVideo('init',null,info);
|
||||||
|
|
||||||
game.gameDraw(game.me,2);
|
game.gameDraw(game.me,2);
|
||||||
if(game.me.side){
|
if(game.me.side){
|
||||||
game.stoneLoop(game.me);
|
game.stoneLoop(game.me);
|
||||||
|
|
|
@ -1,13 +1,45 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
mode.versus={
|
mode.versus={
|
||||||
game:{
|
game:{
|
||||||
|
getVideoName:function(){
|
||||||
|
var str=get.translation(game.me.name);
|
||||||
|
if(game.me.name2){
|
||||||
|
str+='/'+get.translation(game.me.name2);
|
||||||
|
}
|
||||||
|
var name=[
|
||||||
|
str,'对决 - '+lib.storage.number+'v'+lib.storage.number
|
||||||
|
];
|
||||||
|
return name;
|
||||||
|
},
|
||||||
start:function(){
|
start:function(){
|
||||||
var next=game.createEvent('game',false);
|
var next=game.createEvent('game',false);
|
||||||
next.content=function(){
|
next.content=function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
|
var playback=localStorage.getItem(lib.configprefix+'playback');
|
||||||
|
if(playback){
|
||||||
|
ui.create.arena();
|
||||||
|
ui.create.me();
|
||||||
|
ui.arena.style.display='none';
|
||||||
|
ui.system.style.display='none';
|
||||||
|
_status.playback=playback;
|
||||||
|
localStorage.removeItem(lib.configprefix+'playback');
|
||||||
|
var store=lib.db.transaction(['video'],'readwrite').objectStore('video');
|
||||||
|
store.get(parseInt(playback)).onsuccess=function(e){
|
||||||
|
if(e.target.result){
|
||||||
|
game.playVideoContent(e.target.result.video);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
alert('播放失败:找不到录像');
|
||||||
|
game.reload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
event.finish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
if(lib.storage.choice==undefined) game.save('choice',20);
|
if(lib.storage.choice==undefined) game.save('choice',20);
|
||||||
if(lib.storage.zhu==undefined) game.save('zhu',true);
|
if(lib.storage.zhu==undefined) game.save('zhu',true);
|
||||||
if(lib.storage.noreplace_end==undefined) game.save('noreplace_end',true);
|
if(lib.storage.noreplace_end==undefined) game.save('noreplace_end',true);
|
||||||
|
if(lib.storage.die_stop==undefined) game.save('die_stop',true);
|
||||||
if(lib.storage.autoreplaceinnerhtml==undefined) game.save('autoreplaceinnerhtml',true);
|
if(lib.storage.autoreplaceinnerhtml==undefined) game.save('autoreplaceinnerhtml',true);
|
||||||
if(lib.storage.only_zhu==undefined) game.save('only_zhu',true);
|
if(lib.storage.only_zhu==undefined) game.save('only_zhu',true);
|
||||||
if(lib.storage.single_control==undefined) game.save('single_control',true);
|
if(lib.storage.single_control==undefined) game.save('single_control',true);
|
||||||
|
@ -465,10 +497,24 @@ mode.versus={
|
||||||
}
|
}
|
||||||
_status.friend.splice(0,num);
|
_status.friend.splice(0,num);
|
||||||
_status.enemy.splice(0,num);
|
_status.enemy.splice(0,num);
|
||||||
if(lib.storage.single_control&&lib.storage.control_all){
|
if(lib.storage.single_control&&lib.storage.control_all&&game.players.length>=4){
|
||||||
ui.fakemebg.show();
|
ui.fakemebg.show();
|
||||||
game.onSwapControl();
|
game.onSwapControl();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var players=get.players(lib.sort.position);
|
||||||
|
var info=[];
|
||||||
|
for(var i=0;i<players.length;i++){
|
||||||
|
info.push({
|
||||||
|
name:players[i].name,
|
||||||
|
name2:players[i].name2,
|
||||||
|
identity:players[i].node.identity.firstChild.innerHTML,
|
||||||
|
color:players[i].node.identity.dataset.color
|
||||||
|
});
|
||||||
|
}
|
||||||
|
_status.videoInited=true,
|
||||||
|
info.bool=(lib.storage.single_control&&lib.storage.control_all&&game.players.length>=4);
|
||||||
|
game.addVideo('init',null,info);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
versusPhaseLoop:function(player){
|
versusPhaseLoop:function(player){
|
||||||
|
@ -575,6 +621,7 @@ mode.versus={
|
||||||
name:source.name,
|
name:source.name,
|
||||||
stat:source.stat
|
stat:source.stat
|
||||||
});
|
});
|
||||||
|
game.addVideo('reinit',source,[event.character,get.translation(source.side+'Color')]);
|
||||||
source.uninit();
|
source.uninit();
|
||||||
source.init(event.character);
|
source.init(event.character);
|
||||||
source.node.identity.dataset.color=get.translation(source.side+'Color');
|
source.node.identity.dataset.color=get.translation(source.side+'Color');
|
||||||
|
@ -824,6 +871,7 @@ mode.versus={
|
||||||
game.save('autoreplaceinnerhtml',this.classList.contains('on'));
|
game.save('autoreplaceinnerhtml',this.classList.contains('on'));
|
||||||
},
|
},
|
||||||
onSwapControl:function(){
|
onSwapControl:function(){
|
||||||
|
game.addVideo('onSwapControl');
|
||||||
var name=game.me.name;
|
var name=game.me.name;
|
||||||
if(ui.fakeme&&ui.fakeme.current!=name){
|
if(ui.fakeme&&ui.fakeme.current!=name){
|
||||||
ui.fakeme.current=name;
|
ui.fakeme.current=name;
|
||||||
|
|