This commit is contained in:
libccy 2015-09-22 11:53:35 +08:00
parent 507dcea9ea
commit e55ad39a76
10 changed files with 217 additions and 39 deletions

View File

@ -1,6 +1,2 @@
1.2.11
火攻bug
铁索结算问题
酒杀AI
新卡
牌堆修正
1.2.12
AI

View File

@ -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')<target.hp) return 1;
}
var nh=target.num('h');
if(nh<=1) return 1;
if(nh==2&&target.hp==target.maxHp) return 1;
return 0;
},
},
@ -485,9 +482,7 @@ card.hearth={
type:'trick',
enable:true,
selectTarget:-1,
filterTarget:function(card,player,target){
return target.num('he')>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:'传送门',

View File

@ -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,

View File

@ -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<player.skills.length;i++){
if(rand.contains(player.skills[i])) num++;
if(num>=3) return true;
}
return false;
},
content:function(){
var rand=['tuteng1','tuteng2','tuteng3','tuteng4'];
for(var i=0;i<rand.length;i++){
player.removeSkill(rand[i]);
}
player.storage.zuling=true;
}
},
tzhenji_old:{
trigger:{player:['useCard','respondEnd']},
filter:function(event){
@ -1334,6 +1355,7 @@ character.hearth={
s_tuteng:{
trigger:{player:'phaseBegin'},
forced:true,
unique:true,
content:function(){
var rand=['tuteng1','tuteng2','tuteng4',
'tuteng5','tuteng6','tuteng7'];
@ -1365,24 +1387,118 @@ character.hearth={
tuteng:{
enable:'phaseUse',
usable:1,
filter:function(event,player){
var rand=['tuteng1','tuteng2','tuteng3','tuteng4'];
for(var i=0;i<player.skills.length;i++){
rand.remove(player.skills[i]);
if(rand.length==0) return false;
unique:true,
direct:true,
check:function(){
return 0;
},
delay:0,
init:function(){
for(var i=1;i<=8;i++){
lib.translate['tuteng'+i+'_info']=lib.skill['tuteng'+i].intro.content;
}
return true;
},
position:'he',
content:function(){
'step 0'
var rand=['tuteng1','tuteng2','tuteng3','tuteng4'];
var rand2=[];
var randx=[];
var rand2x=[];
if(player.storage.tuteng_awake){
rand=rand.concat(['tuteng5','tuteng6','tuteng7','tuteng8']);
}
for(var i=0;i<player.skills.length;i++){
rand.remove(player.skills[i]);
if(rand.contains(player.skills[i])){
rand.remove(player.skills[i]);
rand2.push(player.skills[i]);
}
}
if(rand.length){
player.addSkill(rand.randomGet());
if(event.isMine()&&rand.length>1){
var dialog=ui.create.dialog();
for(var i=0;i<rand.length;i++){
randx[i]=['','',rand[i]];
}
for(var i=0;i<rand2.length;i++){
rand2x[i]=['','',rand2[i]];
}
dialog.add('选择一个图腾');
dialog.add([randx,'vcard']);
if(rand2.length>=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<dialog.buttons.length;i++){
var item=dialog.buttons[i]
if(i==4){
item.parentNode.insertBefore(document.createElement('br'),item);
}
item.style.zoom=0.7;
}
}
else{
if(player.hp<player.maxHp&&rand.contains('tuteng1')){
player.addSkill('tuteng1');
}
else{
player.addSkill(rand.randomGet());
}
if(rand2.length>=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<player.skills.length;i++){
if(rand.contains(player.skills[i])) num++;
if(num>=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;i<player.skills.length;i++){
if(tuteng.contains(player.skills[i])) return true;
}
return false;
},
content:function(){
var tuteng=['tuteng1','tuteng2','tuteng3','tuteng4'];
var tuteng=['tuteng1','tuteng2','tuteng3','tuteng4',
'tuteng5','tuteng6','tuteng7','tuteng8'];
var rand=[];
for(var i=0;i<player.skills.length;i++){
if(tuteng.contains(player.skills[i])){
@ -1432,6 +1550,7 @@ character.hearth={
},
tuteng1:{
mark:'image',
nopop:true,
intro:{
content:'回合结束阶段,你回复一点体力'
},
@ -1446,6 +1565,7 @@ character.hearth={
},
tuteng2:{
mark:'image',
nopop:true,
intro:{
content:'每当你造成一点伤害,你摸一张牌'
},
@ -1460,6 +1580,7 @@ character.hearth={
},
tuteng3:{
mark:'image',
nopop:true,
intro:{
content:'你受到的伤害-1'
},
@ -1474,6 +1595,7 @@ character.hearth={
},
tuteng4:{
mark:'image',
nopop:true,
intro:{
content:'你的锦囊牌造成的伤害+1'
},
@ -1488,6 +1610,7 @@ character.hearth={
},
tuteng5:{
mark:'image',
nopop:true,
intro:{
content:'回合结束阶段,你摸一张牌'
},
@ -1499,6 +1622,7 @@ character.hearth={
},
tuteng6:{
mark:'image',
nopop:true,
intro:{
content:'你的杀造成的伤害+1'
},
@ -1513,6 +1637,7 @@ character.hearth={
},
tuteng7:{
mark:'image',
nopop:true,
intro:{
content:'回合结束阶段,你令一名其他角色回复一点体力'
},
@ -1540,6 +1665,18 @@ character.hearth={
}
}
},
tuteng8:{
mark:'image',
nopop:true,
intro:{
content:'当计算你与其它角色的距离时,始终-1'
},
mod:{
globalFrom:function(from,to,distance){
return distance-1;
}
}
},
fenliu:{
enable:'phaseUse',
prompt:'流失1点体力并摸两张牌',
@ -1586,24 +1723,51 @@ character.hearth={
card:{
tuteng1:{
image:'card/tuteng1',
color:'white',
noname:true,
textShadow:'black 0 0 2px',
},
tuteng2:{
image:'card/tuteng2',
color:'white',
noname:true,
textShadow:'black 0 0 2px',
},
tuteng3:{
image:'card/tuteng3',
color:'white',
noname:true,
textShadow:'black 0 0 2px',
},
tuteng4:{
image:'card/tuteng4',
color:'white',
noname:true,
textShadow:'black 0 0 2px',
},
tuteng5:{
image:'card/tuteng5',
color:'white',
noname:true,
textShadow:'black 0 0 2px',
},
tuteng6:{
image:'card/tuteng6',
color:'white',
noname:true,
textShadow:'black 0 0 2px',
},
tuteng7:{
image:'card/tuteng7',
color:'white',
noname:true,
textShadow:'black 0 0 2px',
},
tuteng8:{
image:'card/tuteng8',
color:'white',
noname:true,
textShadow:'black 0 0 2px',
},
},
translate:{
@ -1711,7 +1875,9 @@ character.hearth={
jingxiang:'镜像',
jingxiang_info:'每当你需要打出卡牌时,你可以观看一名随机角色的手牌并将其视为你的手牌打出',
tuteng:'图腾',
tuteng_info:'出牌阶段限一次,你可以随机获得一个图腾,并令你本回合的手牌上限-1每当你受到一次伤害你随机失去一个图腾',
tuteng_info:'出牌阶段你可以获得一个基础图腾当你的图腾数量达到3时你解锁全部图腾每当你受到一次伤害你随机失去一个图腾',
zuling:'祖灵',
zuling_info:'觉醒技回合开始阶段若你拥有至少3个图腾你失去所有图腾并解锁强化图腾',
tuteng1:'治疗图腾',
tuteng2:'灼热图腾',
tuteng3:'石爪图腾',
@ -1719,6 +1885,7 @@ character.hearth={
tuteng5:'法力之潮图腾',
tuteng6:'火舌图腾',
tuteng7:'活力图腾',
tuteng8:'图腾魔像',
tzhenji:'震击',
tzhenji_info:'每当你因弃置而失去黑色牌可对一名角色造成1点雷电伤害并随机弃置其一张牌每回合限发动一次',
fenliu:'分流',

View File

@ -78,6 +78,7 @@ character.jiange={
"step 1"
if(event.targets.length){
event.targets.shift().damage('thunder');
event.redo();
}
}
},

View File

@ -2028,6 +2028,7 @@ character.swd={
}
player.draw();
player.useCard({name:'sha'},cards,targets,'jianji',false).animate=false;
player.line(targets,'fire');
"step 1"
if(event.added){
player.skills.remove('unequip');

View File

@ -2051,7 +2051,7 @@ character.yijiang={
player.getStat('skill').qice--;
for(var i in lib.card){
if(lib.card[i].mode&&lib.card[i].mode.contains(lib.config.mode)==false) continue;
if(lib.card[i].type=='trick') list.push(['','',i]);
if(lib.card[i].type=='trick') list.push(['锦囊','',i]);
}
var dialog=ui.create.dialog([list,'vcard']);
player.chooseButton(dialog,function(button){

View File

@ -4320,6 +4320,9 @@
if(this.node.background.innerHTML.length>1) 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<skills.length;i++){
if(lib.skill[skills[i]]&&lib.skill[skills[i]].nopop) continue;
if(lib.translate[skills[i]+'_info']){
translation=get.translation(skills[i]).slice(0,2);
if(!skills2.contains(skills[i])){
@ -10828,7 +10832,7 @@
if(typeof info.mark=='function'){
var stint=info.mark(uiintro,player.storage[node.skill],player);
if(stint){
if(stint.length<=10){
if(stint.length<=100){
uiintro.add('<div class="text center">'+stint+'</div>');
}
else{
@ -10842,7 +10846,7 @@
if(stint[0]=='$'){
uiintro.add('<div class="caption">'+stint.slice(1)+'</div>');
}
else if(stint.length<=10){
else if(stint.length<=100){
uiintro.add('<div class="text center">'+stint+'</div>');
}
else{
@ -10886,7 +10890,12 @@
}
}
else if(lib.translate[name+'_info']){
uiintro.add('<div class="text">'+lib.translate[name+'_info']+'</div>');
if(lib.translate[name+'_info'].length<=100){
uiintro.add('<div class="text center">'+lib.translate[name+'_info']+'</div>');
}
else{
uiintro.add('<div class="text">'+lib.translate[name+'_info']+'</div>');
}
}
uiintro.add(ui.create.div('.placeholder.slim'));
}

BIN
image/card/tuteng8.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -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;
}