This commit is contained in:
libccy 2017-01-19 21:00:41 +08:00
parent 6e38aa258d
commit fbe7a8c422
8 changed files with 400 additions and 119 deletions

View File

@ -633,7 +633,8 @@ card.standard={
}, },
basic:{ basic:{
order:9, order:9,
useful:[5,1] useful:[5,1],
value:5
}, },
result:{ result:{
target:function(player,target){ target:function(player,target){
@ -693,7 +694,8 @@ card.standard={
}, },
basic:{ basic:{
order:9, order:9,
useful:1 useful:1,
value:5
}, },
result:{ result:{
target:function(player,target){ target:function(player,target){

View File

@ -1548,7 +1548,8 @@ card.swd={
}, },
basic:{ basic:{
order:9, order:9,
useful:[5,1] useful:[5,1],
value:5
}, },
result:{ result:{
target:function(player,target){ target:function(player,target){
@ -1609,7 +1610,8 @@ card.swd={
}, },
basic:{ basic:{
order:9, order:9,
useful:1 useful:1,
value:5
}, },
result:{ result:{
target:function(player,target){ target:function(player,target){
@ -1861,6 +1863,7 @@ card.swd={
content:function(){ content:function(){
'step 0' 'step 0'
player.addSkill('shuchui2'); player.addSkill('shuchui2');
player.storage.shuchui2=0;
event.num=0; event.num=0;
'step 1' 'step 1'
var card=player.get('h','sha')[0]; var card=player.get('h','sha')[0];
@ -1868,15 +1871,20 @@ card.swd={
player.useCard(card,target); player.useCard(card,target);
} }
else{ else{
if(player.storage.shuchui2){
player.draw(player.storage.shuchui2);
}
player.removeSkill('shuchui2'); player.removeSkill('shuchui2');
event.finish(); event.finish();
} }
'step 2' 'step 2'
event.num++; if(event.num++<2&&target.isAlive()){
if(event.num<3&&target.isAlive()){
event.goto(1); event.goto(1);
} }
else{ else{
if(player.storage.shuchui2){
player.draw(player.storage.shuchui2);
}
player.removeSkill('shuchui2'); player.removeSkill('shuchui2');
} }
}, },
@ -1893,11 +1901,14 @@ card.swd={
trigger:{source:'damageEnd'}, trigger:{source:'damageEnd'},
forced:true, forced:true,
popup:false, popup:false,
onremove:function(player){
delete player.storage.shuchui2;
},
filter:function(event,player){ filter:function(event,player){
return event.card&&event.card.name=='sha'; return event.card&&event.card.name=='sha';
}, },
content:function(){ content:function(){
player.draw(); player.storage.shuchui2++;
} }
}, },
xuejibingbao:{ xuejibingbao:{
@ -4281,7 +4292,7 @@ card.swd={
fengyinzhidan:'封印之蛋', fengyinzhidan:'封印之蛋',
fengyinzhidan_info:'随机使用三张非延时锦囊牌(随机指定目标)', fengyinzhidan_info:'随机使用三张非延时锦囊牌(随机指定目标)',
shuchui:'鼠槌', shuchui:'鼠槌',
shuchui_info:'出牌阶段限一次,你可以指定一名攻击范围内的角色,依次将手牌中的所有杀对该角色使用,杀每造成一次伤害你摸一张牌最多使用3张杀', shuchui_info:'出牌阶段限一次,你可以指定一名攻击范围内的角色,依次将手牌中的至多3张杀对该角色使用,杀每造成一次伤害你摸一张牌',
zhiluxiaohu:'指路小狐', zhiluxiaohu:'指路小狐',
zhiluxiaohu_info:'出牌阶段对自己使用,视为对一名随机敌方角色使用一张杀,然后摸一张牌', zhiluxiaohu_info:'出牌阶段对自己使用,视为对一名随机敌方角色使用一张杀,然后摸一张牌',
xuejibingbao:'雪肌冰鲍', xuejibingbao:'雪肌冰鲍',

View File

@ -170,7 +170,7 @@ character.ow={
forced:true, forced:true,
popup:false, popup:false,
filter:function(event,player){ filter:function(event,player){
return event.card&&event.card.name=='sha'&&player.storage.paotai>0; return player.storage.paotai>0;
}, },
content:function(){ content:function(){
player.storage.paotai--; player.storage.paotai--;
@ -1785,7 +1785,7 @@ character.ow={
luan2:{ luan2:{
mark:true, mark:true,
intro:{ intro:{
content:'受到的伤害+1,直到首次进入濒死状态' content:'受到的伤害后流失一点体力,直到首次进入濒死状态'
}, },
trigger:{player:'damageEnd'}, trigger:{player:'damageEnd'},
forced:true, forced:true,
@ -2604,7 +2604,7 @@ character.ow={
zhongdun_info:'游戏开始时,你获得等同于游戏人数护甲;出牌阶段限一次,你可以弃置一张牌并将一点护甲分给一名没有护甲的其他角色', zhongdun_info:'游戏开始时,你获得等同于游戏人数护甲;出牌阶段限一次,你可以弃置一张牌并将一点护甲分给一名没有护甲的其他角色',
paotai:'炮台', paotai:'炮台',
paotai2:'炮台', paotai2:'炮台',
paotai_info:'出牌阶段你可以弃置一张杀布置或升级一个炮台最高3级回合结束阶段炮台有一定机率对一名随机敌人造成一点火焰伤害每当你受到杀造成的伤害,炮台降低一级', paotai_info:'出牌阶段你可以弃置一张杀布置或升级一个炮台最高3级回合结束阶段炮台有一定机率对一名随机敌人造成一点火焰伤害每当你受到一次伤害,炮台降低一级',
maoding:'铆钉', maoding:'铆钉',
maoding2:'铆钉', maoding2:'铆钉',
maoding_info:'每当你造成或受到一次伤害,你可以获得一个零件;出牌限阶段限一次,你可以弃置两张零件牌令一名没有护甲的角色获得一点护甲', maoding_info:'每当你造成或受到一次伤害,你可以获得一个零件;出牌限阶段限一次,你可以弃置两张零件牌令一名没有护甲的角色获得一点护甲',

View File

@ -18,6 +18,7 @@ window.characterRank={
'pal_liumengli', 'pal_liumengli',
], ],
ap:[ ap:[
'pal_xiahoujinxuan',
'swd_huiyan', 'swd_huiyan',
'hs_medivh', 'hs_medivh',
'ow_dva', 'ow_dva',
@ -134,6 +135,7 @@ window.characterRank={
'pal_wangpengxu', 'pal_wangpengxu',
'yxs_luobinhan', 'yxs_luobinhan',
'hs_alleria', 'hs_alleria',
'pal_wenhui',
], ],
am:[ am:[
'swd_duanmeng', 'swd_duanmeng',

View File

@ -426,7 +426,6 @@ character.sp={
skillAnimation:true, skillAnimation:true,
unique:true, unique:true,
enable:'phaseUse', enable:'phaseUse',
mark:true,
zhuSkill:true, zhuSkill:true,
filter:function(event,player){ filter:function(event,player){
if(!player.hasZhuSkill('shichou'))return false; if(!player.hasZhuSkill('shichou'))return false;
@ -435,7 +434,10 @@ character.sp={
}, },
selectCard:2, selectCard:2,
init:function(player){ init:function(player){
player.storage.shichou=false; if(player.hasZhuSkill('shichou')){
player.markSkill('shichou');
player.storage.shichou=false;
}
}, },
filterTarget:function(card,player,target){ filterTarget:function(card,player,target){
return target.group=='shu'&&target!=player; return target.group=='shu'&&target!=player;
@ -2735,6 +2737,7 @@ character.sp={
trigger:{player:'phaseDiscardBegin'}, trigger:{player:'phaseDiscardBegin'},
direct:true, direct:true,
filter:function(event,player){ filter:function(event,player){
if(!player.storage.xingwu_color) return false;
var length=player.storage.xingwu_color.length; var length=player.storage.xingwu_color.length;
if(length==0) return false; if(length==0) return false;
var hs=player.get('h'); var hs=player.get('h');

View File

@ -16,7 +16,7 @@ character.xianjian={
pal_changqing:['male','wei',4,['luanjian','tianfu']], pal_changqing:['male','wei',4,['luanjian','tianfu']],
pal_nangonghuang:['male','wei',3,['zhaoyao','sheling','zhangmu']], pal_nangonghuang:['male','wei',3,['zhaoyao','sheling','zhangmu']],
// pal_wenhui:['female','shu',4,[]], pal_wenhui:['female','shu',4,['huxi','longxiang']],
pal_wangpengxu:['female','shu',3,['duxinshu','feixu']], pal_wangpengxu:['female','shu',3,['duxinshu','feixu']],
pal_xingxuan:['male','wei',3,['feizhua','leiyu','lingxue']], pal_xingxuan:['male','wei',3,['feizhua','leiyu','lingxue']],
// pal_leiyuange:['male','wei',3,[]], // pal_leiyuange:['male','wei',3,[]],
@ -32,82 +32,313 @@ character.xianjian={
// pal_longyou:['male','wei',4,[]], // pal_longyou:['male','wei',4,[]],
// pal_xiaoman:['male','wei',4,[]], // pal_xiaoman:['male','wei',4,[]],
// pal_xiahoujinxuan:['male','shu',3,['lingyan','danqing']], pal_xiahoujinxuan:['male','shu',3,['xuanmo','lingyan','danqing']],
// pal_muchanglan:['male','wei',4,[]], // pal_muchanglan:['male','wei',4,[]],
// pal_xia:['male','wei',4,[]], // pal_xia:['male','wei',4,[]],
// pal_jiangcheng:['male','wei',4,[]], // pal_jiangcheng:['male','wei',4,[]],
}, },
skill:{ skill:{
lingyan:{ longxiang:{
trigger:{player:'useCard'}, trigger:{player:'shaBegin'},
filter:function(event,player){ filter:function(event,player){
console.log(event.card.name); return event.target.num('h')>player.num('h');
return lib.skill.lingyan.filterx(event.card)&&event.target==player; },
check:function(event,player){
return ai.get.attitude(player,event.target)<0;
},
logTarget:'target',
content:function(){
var hs=trigger.target.get('h');
trigger.target.discard(hs.randomGets(hs.length-player.num('h')));
}
},
huxi:{
enable:'chooseToUse',
viewAs:{name:'sha'},
precontent:function(){
'step 0'
player.loseHp();
'step 1'
player.changeHujia();
},
filterCard:function(){return false},
selectCard:-1,
prompt:'失去一点体力并获得一点护甲,视为使用一张杀',
ai:{
order:function(){
var player=_status.event.player;
if(player.hp<=2) return 0;
return 2;
},
skillTagFilter:function(player,tag,arg){
if(arg!='use') return false;
},
respondSha:true,
}
},
xuanmo:{
enable:'phaseUse',
usable:1,
filterCard:function(card){
var type=get.type(card,'trick');
return type=='basic'||type=='equip'||type=='trick';
},
check:function(card){
return 8-ai.get.value(card);
},
filter:function(event,player){
return player.num('h')>0;
},
discard:false,
prepare:'throw',
content:function(){
game.log(player,'将',cards,'置于牌堆顶');
ui.cardPile.insertBefore(cards[0],ui.cardPile.firstChild);
var list=get.inpile(get.type(cards[0],'trick'),'trick').randomGets(2);
for(var i=0;i<list.length;i++){
list[i]=game.createCard(list[i]);
}
player.gain(list,'draw');
},
ai:{
order:5,
result:{
player:1
}
}
},
danqing:{
trigger:{player:'useCardAfter'},
init:function(player){
player.storage.danqing=[];
},
mark:true,
direct:true,
intro:{
content:function(storage){
if(!storage.length){
return '未使用或打出过有花色的牌';
}
else{
var str='已使用过'+get.translation(storage[0]+'2');
for(var i=1;i<storage.length;i++){
str+='、'+get.translation(storage[i]+'2');
}
str+='牌';
return str;
}
}
},
// filter:function(event,player){
// return player.storage.danqing.length==4;
// },
content:function(){
'step 0'
player.storage.danqing.length=0;
player.updateMarks();
player.chooseTarget(get.prompt('danqing'),[1,4]).ai=function(target){
return ai.get.attitude(player,target);
}
'step 1'
if(result.bool){
player.logSkill('danqing',result.targets);
var effs=['draw','hujia','equip'];
if(lib.skill.hslingjian_yinshen){
effs.add('stealth');
}
for(var i=0;i<result.targets.length;i++){
var eff=effs.randomRemove();
var current=result.targets[i];
switch(eff){
case 'draw':current.draw();break;
case 'hujia':current.changeHujia();break;
case 'equip':
var card=game.createCard(get.inpile('equip').randomGet());
current.equip(card);
current.$draw(card);
break;
case 'stealth':current.addTempSkill('hslingjian_yinshen',{player:'phaseBegin'});break;
}
}
if(effs.contains('draw')){
game.delay();
}
}
else{
event.finish();
}
},
group:'danqing_count'
},
danqing_count:{
trigger:{player:'useCard'},
forced:true,
popup:false,
silent:true,
content:function(){
var suit=get.suit(trigger.card);
if(suit){
player.storage.danqing.add(suit);
player.updateMarks();
}
}
},
danqing_old:{
content:function(){
'step 0'
player.storage.danqing.length=0;
player.updateMarks();
event.targets=[];
'step 1'
player.chooseTarget('令一名角色摸一张牌',function(card,player,target){
return !event.targets.contains(target);
}).ai=function(target){
var att=ai.get.attitude(player,target);
if(att>0){
return att+1/Math.sqrt(1+target.num('h'));
}
return 0;
};
'step 2'
if(result.bool){
player.line(result.targets[0],'green');
result.targets[0].draw();
event.targets.push(result.targets[0]);
if(event.targets.length==game.players.length){
event.finish();
}
else{
player.chooseTarget('令一名角色获得一点护甲',function(card,player,target){
return !event.targets.contains(target);
}).ai=function(target){
var att=ai.get.attitude(player,target);
if(att>0){
return att+1/Math.sqrt(1+target.hp);
}
return 0;
};
}
}
else{
event.finish();
}
'step 3'
if(result.bool){
player.line(result.targets[0],'green');
result.targets[0].changeHujia();
game.delay();
event.targets.push(result.targets[0]);
if(event.targets.length==game.players.length){
event.finish();
}
else{
player.chooseTarget('令一名角色装备一件随机装备',function(card,player,target){
return !event.targets.contains(target);
}).ai=function(target){
var att=ai.get.attitude(player,target);
if(att>0&&!target.get('e','5')){
return att;
}
return 0;
};
}
}
else{
event.finish();
}
'step 4'
if(result.bool){
player.line(result.targets[0],'green');
game.delay();
var list=[];
for(var i=0;i<lib.inpile.length;i++){
if(lib.card[lib.inpile[i]].type=='equip'){
list.push(lib.inpile[i]);
}
}
var card=game.createCard(list.randomGet());
result.targets[0].equip(card);
result.targets[0].$draw(card);
event.targets.push(result.targets[0]);
if(event.targets.length==game.players.length||!lib.skill.hslingjian_yinshen){
event.finish();
}
else{
player.chooseTarget('令一名角色获得潜行',function(card,player,target){
return !event.targets.contains(target);
}).ai=function(target){
var att=ai.get.attitude(player,target);
if(att>0){
return att+1/Math.sqrt(1+target.hp);
}
return 0;
};
}
}
else{
event.finish();
}
'step 5'
if(result.bool){
player.line(result.targets[0],'green');
game.delay();
result.targets[0].addTempSkill('hslingjian_yinshen',{player:'phaseBegin'});
}
}
},
lingyan:{
trigger:{player:'useCardToBegin'},
filter:function(event,player){
if(player.num('e')==5) return false;
return lib.skill.lingyan.filterx(event.card,player)&&event.target==player;
}, },
direct:true, direct:true,
filterx:function(card){ filterx:function(card,player){
if(!lib.inpile.contains(card.name)) return false; if(!lib.inpile.contains(card.name)) return false;
var info=get.info(card); var info=get.info(card);
if(info.type!='equip') return false; if(info.type!='equip') return false;
if(info.nomod) return false; if(info.nomod) return false;
if(!info.subtype) return false;
if(!player.get('e',info.subtype[5])) return false;
return true; return true;
}, },
group:'lingyan_lose',
content:function(){ content:function(){
'step 0' 'step 0'
var list=['equip1','equip2','equip3','equip4','equip5','cancelx']; var list=['equip1','equip2','equip3','equip4','equip5'];
var list2=[]; for(var i=0;i<list.length;i++){
var subtype=get.subtype(trigger.card); if(player.get('e',list[i][5])){
list.remove(subtype); list.splice(i--,1);
for(var i=0;i<4;i++){
if(!player.get('e',subtype[5])){
list2.push(list[i]);
} }
} }
list.push('cancel2');
player.chooseControl(list,function(){ player.chooseControl(list,function(){
if(!player.get('e',subtype[5])) return 'cancelx'; return list.randomGet();
return list2.randomGet(); }).prompt='灵砚:是否改变'+get.translation(trigger.card.name)+'的装备类型?';
}).prompt=get.prompt('灵砚:是否改变装备牌的位置?');
'step 1' 'step 1'
if(result.control!='cancelx'){ if(result.control&&result.control!='cancel2'){
player.logSkill('lingyan'); player.logSkill('lingyan');
var name=trigger.card.name+'_lingyan_'+result.control; var name=trigger.card.name+'_lingyan_'+result.control;
if(!lib.card[name]){ if(!lib.card[name]){
lib.card[name]=get.copy(get.info(trigger.card)); lib.card[name]=get.copy(get.info(trigger.card));
lib.card[name].subtype=result.control; lib.card[name].subtype=result.control;
lib.card[name].vanish=true;
lib.card[name].epic=true; lib.card[name].epic=true;
lib.card[name].cardimage=trigger.card.name;
lib.translate[name]=lib.translate[trigger.card.name]; lib.translate[name]=lib.translate[trigger.card.name];
lib.translate[name+'_info']=lib.translate[trigger.card.name+'_info']; lib.translate[name+'_info']=lib.translate[trigger.card.name+'_info'];
} }
trigger.card.storage.lingyan=trigger.card.name;
trigger.card.init([trigger.card.suit,trigger.card.number,name,trigger.card.nature]); trigger.card.init([trigger.card.suit,trigger.card.number,name,trigger.card.nature]);
} }
}, },
ai:{ ai:{
effect:{ effect:{
target:function(card,player,target,current){ target:function(card,player,target,current){
if(lib.skill.lingyan.filterx(card)&&target.num('e')<5){ if(target==player&&lib.skill.lingyan.filterx(card,target)&&target.num('e')<5){
return [1,3]; return [1,3];
} }
} }
} }
} }
}, },
lingyan_lose:{
trigger:{player:'loseEnd'},
forced:true,
popup:false,
silent:true,
content:function(){
for(var i=0;i<trigger.cards.length;i++){
var card=trigger.cards[i];
if(card.storage.lingyan){
card.init([card.suit,card.number,card.storage.lingyan,card.nature]);
}
}
}
},
sheling:{ sheling:{
trigger:{global:['useCardAfter','respondAfter','discardAfter']}, trigger:{global:['useCardAfter','respondAfter','discardAfter']},
filter:function(event,player){ filter:function(event,player){
@ -247,9 +478,23 @@ character.xianjian={
}, },
leiyu:{ leiyu:{
trigger:{player:'phaseEnd'}, trigger:{player:'phaseEnd'},
check:function(event,player){ direct:true,
if(player.hp==1) return 0; filter:function(event,player){
var num=0; if(player.storage.leiyu){
for(var i=0;i<player.storage.leiyu.length;i++){
if(player.storage.leiyu[i].isAlive()) return true;
}
}
return false;
},
content:function(){
'step 0'
for(var i=0;i<player.storage.leiyu.length;i++){
if(player.storage.leiyu[i].isDead()){
player.storage.leiyu.splice(i--,1);
}
}
var num=0;
var num2=0; var num2=0;
for(var i=0;i<player.storage.leiyu.length;i++){ for(var i=0;i<player.storage.leiyu.length;i++){
if(player.storage.leiyu[i].isDead()) continue; if(player.storage.leiyu[i].isDead()) continue;
@ -262,40 +507,21 @@ character.xianjian={
num2--; num2--;
} }
} }
return num>0&&num2>=2; var next=player.chooseToDiscard(get.prompt('leiyu',player.storage.leiyu),{color:'black'});
}, next.ai=function(){
prompt:function(event,player){ if(num>0&&num2>=2){
for(var i=0;i<player.storage.leiyu.length;i++){ return 7-ai.get.value(card);
if(player.storage.leiyu[i].isDead()){
player.storage.leiyu.splice(i--,1);
} }
} return 0;
return get.prompt('leiyu',player.storage.leiyu); };
}, next.logSkill=['leiyu',player.storage.leiyu];
filter:function(event,player){
if(player.storage.leiyu){
for(var i=0;i<player.storage.leiyu.length;i++){
if(player.storage.leiyu[i].isAlive()) return true;
}
}
return false;
},
content:function(){
'step 0'
player.loseHp();
'step 1' 'step 1'
for(var i=0;i<player.storage.leiyu.length;i++){ if(result.bool){
if(player.storage.leiyu[i].isDead()){ player.storage.leiyu.sort(lib.sort.seat);
player.storage.leiyu.splice(i--,1); player.useCard({name:'jingleishan',nature:'thunder'},player.storage.leiyu).animate=false;
}
} }
player.storage.leiyu2=true;
player.storage.leiyu.sort(lib.sort.seat);
player.useCard({name:'jingleishan',nature:'thunder'},player.storage.leiyu);
'step 1'
delete player.storage.leiyu2;
}, },
group:['leiyu2','leiyu3','leiyu4'], group:['leiyu2','leiyu4'],
ai:{ ai:{
threaten:1.3 threaten:1.3
} }
@ -1995,16 +2221,22 @@ character.xianjian={
pal_changqing:'长卿', pal_changqing:'长卿',
pal_xuanxiao:'玄霄', pal_xuanxiao:'玄霄',
longxiang:'龙翔',
longxiang_info:'当你使用杀指定目标后,你可以弃置目标若干张手牌直到其手牌数与你相同',
huxi:'虎袭',
huxi_info:'你可以失去一点体力并获得一点护甲,视为使用一张杀',
xuanmo:'玄墨',
xuanmo_info:'出牌阶段限一次,你可以将一张手牌置于牌堆顶并随机获得两张与之类别相同的牌',
lingyan:'灵砚', lingyan:'灵砚',
lingyan_info:'你可以将装备牌装备至装备区的任意位置', lingyan_info:'在你使用一张装备牌时,若你的装备区的对应位置已有装备,你可以选择装备区内的一个空余位置,将此牌的装备类型永久改变至与此位置对应',
danqing:'丹青', danqing:'丹青',
danqing_info:'当你累计使用或打出了4张花色不同的牌后你可以依次将以下4种效果分配给4名不同的角色1. 摸两张牌2. 获得一点护甲3. 装备一件宝物4. 获得潜行直到下一回合开始', danqing_info:'当你累计使用了4张花色不同的牌后你可以依次将以下4种效果分配给至多4名不同的角色1、摸一张牌2、获得一点护甲3、装备一件随机装备4、获得潜行直到下一回合开始',
zhangmu:'障目', zhangmu:'障目',
zhangmu_info:'每回合限一次,当你需要使用或打出一张闪时,你可以展示一张闪,视为使用或打出了此闪', zhangmu_info:'每回合限一次,当你需要使用或打出一张闪时,你可以展示一张闪,视为使用或打出了此闪',
feizhua:'飞爪', feizhua:'飞爪',
feizhua_info:'当你使用一张杀时,你可以将目标两侧的角色追加为额外目标', feizhua_info:'当你使用一张杀时,你可以将目标两侧的角色追加为额外目标',
leiyu:'雷狱', leiyu:'雷狱',
leiyu_info:'回合结束阶段,你可以失去一点体力,视为对本回合内所有成为过你的卡牌目标的角色使用一张惊雷闪,若你杀死任意一名角色,你回复一点体力', leiyu_info:'回合结束阶段,你可以弃置一张黑色牌,视为对本回合内所有成为过你的卡牌目标的角色使用一张惊雷闪',
lingxue:'灵血', lingxue:'灵血',
lingxue_info:'锁定技,每当你回复一点体力,你获得一点护甲', lingxue_info:'锁定技,每当你回复一点体力,你获得一点护甲',
zhaoyao:'招摇', zhaoyao:'招摇',

View File

@ -6872,6 +6872,7 @@ character.yijiang={
filter:function(event){ filter:function(event){
return event.card&&event.card.name=='sha'&&event.player.isAlive(); return event.card&&event.card.name=='sha'&&event.player.isAlive();
}, },
logTarget:'player',
content:function(){ content:function(){
"step 0" "step 0"
trigger.player.draw(Math.min(5,trigger.player.hp)); trigger.player.draw(Math.min(5,trigger.player.hp));
@ -7866,6 +7867,6 @@ character.yijiang={
mingce_info:'出牌阶段你可以交给任一其他角色一张装备牌或【杀】该角色进行二选一1. 视为对其攻击范围内的另一名由你指定的角色使用一张【杀】。2. 摸一张牌。每回合限一次。', mingce_info:'出牌阶段你可以交给任一其他角色一张装备牌或【杀】该角色进行二选一1. 视为对其攻击范围内的另一名由你指定的角色使用一张【杀】。2. 摸一张牌。每回合限一次。',
zhichi_info:'锁定技,你的回合外,你每受到一次伤害,任何【杀】或非延时类锦囊均对你无效,直到该回合结束。', zhichi_info:'锁定技,你的回合外,你每受到一次伤害,任何【杀】或非延时类锦囊均对你无效,直到该回合结束。',
zhichi2_info:'智迟已发动', zhichi2_info:'智迟已发动',
pojun_info:'你每使用【杀】造成一次伤害可令受到该伤害的角色多摸X张牌X为角色当前的体力值(X最多为5),然后该角色将其武将牌翻面。', pojun_info:'你每使用【杀】造成一次伤害可令受到该伤害的角色多摸X张牌X为角色当前的体力值(X最多为5),然后该角色将其武将牌翻面。',
}, },
} }

View File

@ -8713,6 +8713,9 @@
} }
},get.subtype(card)); },get.subtype(card));
player.$equip(card); player.$equip(card);
if(event.draw){
player.$draw(card);
}
game.addVideo('equip',player,get.cardInfo(card)); game.addVideo('equip',player,get.cardInfo(card));
game.log(player,'装备了',card); game.log(player,'装备了',card);
"step 2" "step 2"
@ -8735,6 +8738,10 @@
game.delayx(); game.delayx();
} }
delete player.equiping; delete player.equiping;
"step 3"
if(event.draw){
game.delay();
}
}, },
addJudge:function(){ addJudge:function(){
"step 0" "step 0"
@ -10931,6 +10938,7 @@
next.card=card; next.card=card;
next.player=this; next.player=this;
next.setContent(lib.element.content.equip); next.setContent(lib.element.content.equip);
return next;
}, },
addJudge:function(card,cards){ addJudge:function(card,cards){
var next=game.createEvent('addJudge'); var next=game.createEvent('addJudge');
@ -13377,15 +13385,24 @@
if(!lib.card[card[2]]){ if(!lib.card[card[2]]){
lib.card[card[2]]={}; lib.card[card[2]]={};
} }
if(lib.card[card[2]].epic){ var info=lib.card[card[2]];
if(this.name){
this.classList.remove('epic');
this.classList.remove('legend');
var subtype=get.subtype(this);
if(subtype){
this.classList.remove(subtype);
}
}
if(info.epic){
this.classList.add('epic'); this.classList.add('epic');
} }
else if(lib.card[card[2]].legend){ else if(info.legend){
this.classList.add('legend'); this.classList.add('legend');
} }
var bg=card[2]; var bg=card[2];
if(lib.card[card[2]].cardimage){ if(info.cardimage){
bg=lib.card[card[2]].cardimage; bg=info.cardimage;
} }
var img=lib.card[bg].image; var img=lib.card[bg].image;
if(img){ if(img){
@ -13466,38 +13483,38 @@
if(this.node.background.innerHTML.length>1) this.node.background.classList.add('tight'); if(this.node.background.innerHTML.length>1) this.node.background.classList.add('tight');
else this.node.background.classList.remove('tight'); else this.node.background.classList.remove('tight');
} }
if(lib.card[card[2]].noname&&!this.classList.contains('button')){ if(info.noname&&!this.classList.contains('button')){
this.node.name.style.display='none'; this.node.name.style.display='none';
} }
if(lib.card[card[2]].color){ if(info.color){
this.style.color=lib.card[card[2]].color; this.style.color=info.color;
} }
else if(lib.card[card[2]].fullimage){ else if(info.fullimage){
this.style.color='white'; this.style.color='white';
} }
if(lib.card[card[2]].textShadow){ if(info.textShadow){
this.style.textShadow=lib.card[card[2]].textShadow; this.style.textShadow=info.textShadow;
} }
else if(lib.card[card[2]].fullimage){ else if(info.fullimage){
this.style.textShadow='black 0 0 2px'; this.style.textShadow='black 0 0 2px';
} }
if(lib.card[card[2]].opacity){ if(info.opacity){
this.node.info.style.opacity=lib.card[card[2]].opacity; this.node.info.style.opacity=info.opacity;
this.node.name.style.opacity=lib.card[card[2]].opacity; this.node.name.style.opacity=info.opacity;
} }
else if(lib.card[card[2]].fullimage){ else if(info.fullimage){
this.node.info.style.opacity=1; this.node.info.style.opacity=1;
this.node.name.style.opacity=1; this.node.name.style.opacity=1;
} }
if(lib.card[card[2]].modinfo){ if(info.modinfo){
this.node.info.innerHTML=lib.card[card[2]].modinfo; this.node.info.innerHTML=info.modinfo;
} }
else{ else{
this.node.info.innerHTML=get.translation(card[0])+'<span> </span>'+card[1]; this.node.info.innerHTML=get.translation(card[0])+'<span> </span>'+card[1];
} }
if(lib.card[card[2]].addinfo){ if(info.addinfo){
this.node.addinfo=ui.create.div('.range',this); this.node.addinfo=ui.create.div('.range',this);
this.node.addinfo.innerHTML=lib.card[card[2]].addinfo; this.node.addinfo.innerHTML=info.addinfo;
} }
if(card[0]=='heart'||card[0]=='diamond'){ if(card[0]=='heart'||card[0]=='diamond'){
this.node.info.classList.add('red'); this.node.info.classList.add('red');
@ -13537,13 +13554,13 @@
this.classList.remove(this.nature); this.classList.remove(this.nature);
delete this.nature; delete this.nature;
} }
if(lib.card[card[2]].subtype) this.classList.add(lib.card[card[2]].subtype); if(info.subtype) this.classList.add(info.subtype);
if(this.inits){ if(this.inits){
for(var i=0;i<lib.element.card.inits.length;i++){ for(var i=0;i<lib.element.card.inits.length;i++){
lib.element.card.inits[i](this); lib.element.card.inits[i](this);
} }
} }
if(typeof lib.card[card[2]].init=='function') lib.card[card[2]].init(); if(typeof info.init=='function') info.init();
switch(get.subtype(this)){ switch(get.subtype(this)){
case 'equip1': case 'equip1':
@ -13559,15 +13576,24 @@
this.node.range.innerHTML='范围: 1'; this.node.range.innerHTML='范围: 1';
} }
break; break;
case 'equip3':this.node.range.innerHTML='防御: '+lib.card[card[2]].distance.globalTo;this.node.name2.innerHTML+='+';break; case 'equip3':
case 'equip4':this.node.range.innerHTML='进攻: '+(-lib.card[card[2]].distance.globalFrom);this.node.name2.innerHTML+='-';break; if(info.distance&&info.distance.globalTo){
this.node.range.innerHTML='防御: '+info.distance.globalTo;
this.node.name2.innerHTML+='+';
}
break;
case 'equip4':
if(info.distance&&info.distance.globalFrom){
this.node.range.innerHTML='进攻: '+(-info.distance.globalFrom);
this.node.name2.innerHTML+='-';
}
break;
} }
if(_status.connectMode&&!game.online&&lib.cardOL&&!this.cardid){ if(_status.connectMode&&!game.online&&lib.cardOL&&!this.cardid){
this.cardid=get.id(); this.cardid=get.id();
lib.cardOL[this.cardid]=this; lib.cardOL[this.cardid]=this;
} }
if(lib.config.game=='hs'){ if(lib.config.game=='hs'){
var info=lib.card[card[2]];
if(info.class!='neutral'){ if(info.class!='neutral'){
this.node.name.dataset.careercolor=info.class; this.node.name.dataset.careercolor=info.class;
} }
@ -31681,16 +31707,20 @@
}, },
inpile:function(type,filter){ inpile:function(type,filter){
var list=[]; var list=[];
for(var i=0;i<lib.inpile.length;i++){ if(filter=='trick'){
if(typeof filter=='function'&&!filter(lib.inpile[i])) continue; for(var i=0;i<lib.inpile.length;i++){
if(type.indexOf('equip')==0&&type.length==6){ if(get.type(lib.inpile[i],'trick')==type) list.push(lib.inpile[i]);
if(get.subtype(lib.inpile[i])==type) list.push(lib.inpile[i]);
} }
else if(type.indexOf('hslingjian')==0&&type.length==11){ }
if(get.subtype(lib.inpile[i])==type) list.push(lib.inpile[i]); else{
} for(var i=0;i<lib.inpile.length;i++){
else{ if(typeof filter=='function'&&!filter(lib.inpile[i])) continue;
if(get.type(lib.inpile[i])==type) list.push(lib.inpile[i]); if(type.indexOf('equip')==0&&type.length==6){
if(get.subtype(lib.inpile[i])==type) list.push(lib.inpile[i]);
}
else{
if(get.type(lib.inpile[i])==type) list.push(lib.inpile[i]);
}
} }
} }
return list; return list;