diff --git a/CHANGELOG.MD b/CHANGELOG.MD index 3f4f6f879..ed18f9907 100644 --- a/CHANGELOG.MD +++ b/CHANGELOG.MD @@ -1,6 +1,2 @@ -1.2.11 -火攻bug -铁索结算问题 -酒杀AI -新卡 -牌堆修正 +1.2.12 +AI diff --git a/card/hearth.js b/card/hearth.js index 558824b5d..b166c34b6 100644 --- a/card/hearth.js +++ b/card/hearth.js @@ -389,7 +389,7 @@ card.hearth={ filterTarget:function(card,player,target){return player==target}, content:function(){ target.gainMaxHp(); - target.loseHp(); + target.discard(target.get('h')); }, ai:{ basic:{ @@ -399,12 +399,9 @@ card.hearth={ order:1, result:{ target:function(player,target){ - if(target.hp==target.maxHp){ - if(target.num('h','tao')) return 1; - if(target.num('h','caoyao')) return 1; - if(target.num('h','zhiliaobo')) return 1; - if(target.num('h')0; - }, + filterTarget:true, content:function(){ "step 0" target.chooseToDiscard([1,2],'he').ai=function(card){ @@ -525,6 +520,7 @@ card.hearth={ if(target==player) nh--; if(nh==2) return -2.5; if(nh==1) return -3; + if(nh==0) return -4; return -2; }, }, @@ -558,9 +554,9 @@ card.hearth={ zhiliaobo:'治疗波', zhiliaobo_info:'对一名受伤角色使用,令其回复一点体力,若其仍处于受伤状态,则进行一次判定,若结果为红色则再回复一点体力', yuansuhuimie:'元素毁灭', - yuansuhuimie_info:'对所有有手牌的角色使用,令目标弃置1~2张牌,并受到2-X点雷电伤害,X为其弃置的手牌数', + yuansuhuimie_info:'对所有角色使用,令目标弃置1~2张牌,并受到2-X点雷电伤害,X为其弃置的手牌数', xingjiegoutong:'星界沟通', - xingjiegoutong_info:'增加一点体力上限,然后流失一点体力', + xingjiegoutong_info:'增加一点体力上限,弃置你的所有手牌', tanshezhiren:'弹射之刃', tanshezhiren_info:'弃置一名随机角色的手牌,重复此过程直到有一名角色失去最后一张手牌', chuansongmen:'传送门', diff --git a/card/qimou.js b/card/qimou.js index 638484595..c420f2ab8 100755 --- a/card/qimou.js +++ b/card/qimou.js @@ -205,7 +205,10 @@ card.qimou={ ai:{ order:9, result:{ - target:-1 + target:function(player,target){ + if(target.num('e')) return -1; + return 0; + } }, tag:{ multitarget:1, diff --git a/character/hearth.js b/character/hearth.js index 3daf1ed9b..9e40f965b 100755 --- a/character/hearth.js +++ b/character/hearth.js @@ -8,7 +8,7 @@ character.hearth={ hs_malfurion:['male','wu',4,['jihuo'],['fullskin']], hs_guldan:['male','qun',3,['fenliu','hongxi'],['fullskin']], hs_anduin:['male','qun',3,['shengguang','shijie','anying'],['fullskin']], - hs_sthrall:['male','wu',4,['tuteng','tzhenji'],['fullskin']], + hs_sthrall:['male','wu',4,['tuteng','guozai'],['fullskin']], hs_waleera:['female','qun',3,['jianren','mengun','wlianji'],['fullskin']], hs_medivh:['male','wei',3,['jingxiang','moying','mdzhoufu'],['fullskin']], @@ -28,7 +28,7 @@ character.hearth={ hs_wujiyuansu:['male','qun',3,['wujiwuji'],['fullskin']], hs_mijiaojisi:['female','qun',3,['kuixin'],['fullskin']], hs_huzhixiannv:['female','wu',3,['jingmeng','qingliu'],['fullskin']], - hs_tgolem:['male','qun',4,['guozai'],['fullskin']], + // hs_tgolem:['male','qun',4,['guozai'],['fullskin']], hs_totemic:['male','wu',3,['s_tuteng'],['fullskin']], }, perfectPair:{ @@ -1211,11 +1211,11 @@ character.hearth={ game.delay(0.5); var target=result.targets[0]; player.logSkill('tzhenji',target,'thunder'); - target.damage('thunder'); var cs=target.get('he'); if(cs.length){ target.discard(cs.randomGet()); } + target.damage('thunder'); player.addTempSkill('tzhenji2','phaseAfter'); } }, @@ -1232,6 +1232,27 @@ character.hearth={ } }, tzhenji2:{}, + zuling:{ + trigger:{player:'phaseBegin'}, + forced:true, + filter:function(event,player){ + if(player.storage.zuling) return false; + var rand=['tuteng1','tuteng2','tuteng3','tuteng4']; + var num=0; + for(var i=0;i=3) return true; + } + return false; + }, + content:function(){ + var rand=['tuteng1','tuteng2','tuteng3','tuteng4']; + for(var i=0;i1){ + var dialog=ui.create.dialog(); + for(var i=0;i=3){ + dialog.add('替换一个已有图腾'); + dialog.add([rand2x,'vcard']); + player.chooseButton(dialog,2,true).filterButton=function(button){ + if(ui.selected.buttons.length){ + var current=ui.selected.buttons[0].name; + if(rand.contains(current)){ + return rand2.contains(button.name); + } + else{ + return rand.contains(button.name); + } + } + return true; + }; + } + else{ + player.chooseButton(dialog,true); + } + for(var i=0;i=3){ + player.removeSkill(rand2.randomGet()); + } + game.delay(); + event.finish(); + } + } + else{ + event.finish(); + } + 'step 1' + if(result.buttons.length==1){ + player.addSkill(result.buttons[0].name); + } + else if(result.buttons.length==2){ + var skill1=result.buttons[0].name; + var skill2=result.buttons[1].name; + if(player.skills.contains(skill1)){ + player.removeSkill(skill1); + player.addSkill(skill2); + } + else{ + player.removeSkill(skill2); + player.addSkill(skill1); + } + } + player.addSkill(event.choice); + if(!player.storage.tuteng_awake){ + var rand=['tuteng1','tuteng2','tuteng3','tuteng4', + 'tuteng5','tuteng6','tuteng7','tuteng8']; + var num=0; + for(var i=0;i=3){ + player.storage.tuteng_awake=true; + player.popup('图腾已解锁'); + break; + } + } } - player.addTempSkill('tuteng_h','phaseAfter'); }, ai:{ order:11, @@ -1391,7 +1507,7 @@ character.hearth={ }, effect:function(card,player){ if(get.tag(card,'damage')){ - if(player.skills.contains('jueqing')) return [1,1]; + if(player.skills.contains('jueqing')) return; return 1.2; } }, @@ -1411,14 +1527,16 @@ character.hearth={ forced:true, popup:false, filter:function(event,player){ - var tuteng=['tuteng1','tuteng2','tuteng3','tuteng4']; + var tuteng=['tuteng1','tuteng2','tuteng3','tuteng4', + 'tuteng5','tuteng6','tuteng7','tuteng8']; for(var i=0;i1) this.node.background.classList.add('tight'); else this.node.background.classList.remove('tight'); } + if(lib.card[card[2]].noname){ + this.node.name.style.display='none'; + } if(lib.card[card[2]].color){ this.style.color=lib.card[card[2]].color; } @@ -10739,6 +10742,7 @@ var skills=node.skills; var skills2=game.filterSkills(node.skills,node); for(i=0;i'+stint+''); } else{ @@ -10842,7 +10846,7 @@ if(stint[0]=='$'){ uiintro.add('
'+stint.slice(1)+'
'); } - else if(stint.length<=10){ + else if(stint.length<=100){ uiintro.add('
'+stint+'
'); } else{ @@ -10886,7 +10890,12 @@ } } else if(lib.translate[name+'_info']){ - uiintro.add('
'+lib.translate[name+'_info']+'
'); + if(lib.translate[name+'_info'].length<=100){ + uiintro.add('
'+lib.translate[name+'_info']+'
'); + } + else{ + uiintro.add('
'+lib.translate[name+'_info']+'
'); + } } uiintro.add(ui.create.div('.placeholder.slim')); } diff --git a/image/card/tuteng8.jpg b/image/card/tuteng8.jpg new file mode 100644 index 000000000..161ae59ee Binary files /dev/null and b/image/card/tuteng8.jpg differ diff --git a/theme/music/style.css b/theme/music/style.css index 65f533ec6..f008a7917 100755 --- a/theme/music/style.css +++ b/theme/music/style.css @@ -27,6 +27,11 @@ html{ text-shadow:none; background: url('wood3.png'); } +.marks>.card:not(.fullskin){ + color: white; + text-shadow: black 0 0 2px; + background: linear-gradient(#4b4b4b, #464646); +} #me>div>.card,#arena>.card:not(*:empty){ box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0, 0.45) 0 3px 10px; }