This commit is contained in:
parent
6e38aa258d
commit
fbe7a8c422
|
@ -633,7 +633,8 @@ card.standard={
|
|||
},
|
||||
basic:{
|
||||
order:9,
|
||||
useful:[5,1]
|
||||
useful:[5,1],
|
||||
value:5
|
||||
},
|
||||
result:{
|
||||
target:function(player,target){
|
||||
|
@ -693,7 +694,8 @@ card.standard={
|
|||
},
|
||||
basic:{
|
||||
order:9,
|
||||
useful:1
|
||||
useful:1,
|
||||
value:5
|
||||
},
|
||||
result:{
|
||||
target:function(player,target){
|
||||
|
|
23
card/swd.js
23
card/swd.js
|
@ -1548,7 +1548,8 @@ card.swd={
|
|||
},
|
||||
basic:{
|
||||
order:9,
|
||||
useful:[5,1]
|
||||
useful:[5,1],
|
||||
value:5
|
||||
},
|
||||
result:{
|
||||
target:function(player,target){
|
||||
|
@ -1609,7 +1610,8 @@ card.swd={
|
|||
},
|
||||
basic:{
|
||||
order:9,
|
||||
useful:1
|
||||
useful:1,
|
||||
value:5
|
||||
},
|
||||
result:{
|
||||
target:function(player,target){
|
||||
|
@ -1861,6 +1863,7 @@ card.swd={
|
|||
content:function(){
|
||||
'step 0'
|
||||
player.addSkill('shuchui2');
|
||||
player.storage.shuchui2=0;
|
||||
event.num=0;
|
||||
'step 1'
|
||||
var card=player.get('h','sha')[0];
|
||||
|
@ -1868,15 +1871,20 @@ card.swd={
|
|||
player.useCard(card,target);
|
||||
}
|
||||
else{
|
||||
if(player.storage.shuchui2){
|
||||
player.draw(player.storage.shuchui2);
|
||||
}
|
||||
player.removeSkill('shuchui2');
|
||||
event.finish();
|
||||
}
|
||||
'step 2'
|
||||
event.num++;
|
||||
if(event.num<3&&target.isAlive()){
|
||||
if(event.num++<2&&target.isAlive()){
|
||||
event.goto(1);
|
||||
}
|
||||
else{
|
||||
if(player.storage.shuchui2){
|
||||
player.draw(player.storage.shuchui2);
|
||||
}
|
||||
player.removeSkill('shuchui2');
|
||||
}
|
||||
},
|
||||
|
@ -1893,11 +1901,14 @@ card.swd={
|
|||
trigger:{source:'damageEnd'},
|
||||
forced:true,
|
||||
popup:false,
|
||||
onremove:function(player){
|
||||
delete player.storage.shuchui2;
|
||||
},
|
||||
filter:function(event,player){
|
||||
return event.card&&event.card.name=='sha';
|
||||
},
|
||||
content:function(){
|
||||
player.draw();
|
||||
player.storage.shuchui2++;
|
||||
}
|
||||
},
|
||||
xuejibingbao:{
|
||||
|
@ -4281,7 +4292,7 @@ card.swd={
|
|||
fengyinzhidan:'封印之蛋',
|
||||
fengyinzhidan_info:'随机使用三张非延时锦囊牌(随机指定目标)',
|
||||
shuchui:'鼠槌',
|
||||
shuchui_info:'出牌阶段限一次,你可以指定一名攻击范围内的角色,依次将手牌中的所有杀对该角色使用,杀每造成一次伤害你摸一张牌(最多使用3张杀)',
|
||||
shuchui_info:'出牌阶段限一次,你可以指定一名攻击范围内的角色,依次将手牌中的至多3张杀对该角色使用,杀每造成一次伤害你摸一张牌',
|
||||
zhiluxiaohu:'指路小狐',
|
||||
zhiluxiaohu_info:'出牌阶段对自己使用,视为对一名随机敌方角色使用一张杀,然后摸一张牌',
|
||||
xuejibingbao:'雪肌冰鲍',
|
||||
|
|
|
@ -170,7 +170,7 @@ character.ow={
|
|||
forced:true,
|
||||
popup:false,
|
||||
filter:function(event,player){
|
||||
return event.card&&event.card.name=='sha'&&player.storage.paotai>0;
|
||||
return player.storage.paotai>0;
|
||||
},
|
||||
content:function(){
|
||||
player.storage.paotai--;
|
||||
|
@ -1785,7 +1785,7 @@ character.ow={
|
|||
luan2:{
|
||||
mark:true,
|
||||
intro:{
|
||||
content:'受到的伤害+1,直到首次进入濒死状态'
|
||||
content:'受到的伤害后流失一点体力,直到首次进入濒死状态'
|
||||
},
|
||||
trigger:{player:'damageEnd'},
|
||||
forced:true,
|
||||
|
@ -2604,7 +2604,7 @@ character.ow={
|
|||
zhongdun_info:'游戏开始时,你获得等同于游戏人数护甲;出牌阶段限一次,你可以弃置一张牌并将一点护甲分给一名没有护甲的其他角色',
|
||||
paotai:'炮台',
|
||||
paotai2:'炮台',
|
||||
paotai_info:'出牌阶段,你可以弃置一张杀布置或升级一个炮台(最高3级);回合结束阶段,炮台有一定机率对一名随机敌人造成一点火焰伤害;每当你受到杀造成的伤害,炮台降低一级',
|
||||
paotai_info:'出牌阶段,你可以弃置一张杀布置或升级一个炮台(最高3级);回合结束阶段,炮台有一定机率对一名随机敌人造成一点火焰伤害;每当你受到一次伤害,炮台降低一级',
|
||||
maoding:'铆钉',
|
||||
maoding2:'铆钉',
|
||||
maoding_info:'每当你造成或受到一次伤害,你可以获得一个零件;出牌限阶段限一次,你可以弃置两张零件牌令一名没有护甲的角色获得一点护甲',
|
||||
|
|
|
@ -18,6 +18,7 @@ window.characterRank={
|
|||
'pal_liumengli',
|
||||
],
|
||||
ap:[
|
||||
'pal_xiahoujinxuan',
|
||||
'swd_huiyan',
|
||||
'hs_medivh',
|
||||
'ow_dva',
|
||||
|
@ -134,6 +135,7 @@ window.characterRank={
|
|||
'pal_wangpengxu',
|
||||
'yxs_luobinhan',
|
||||
'hs_alleria',
|
||||
'pal_wenhui',
|
||||
],
|
||||
am:[
|
||||
'swd_duanmeng',
|
||||
|
|
|
@ -426,7 +426,6 @@ character.sp={
|
|||
skillAnimation:true,
|
||||
unique:true,
|
||||
enable:'phaseUse',
|
||||
mark:true,
|
||||
zhuSkill:true,
|
||||
filter:function(event,player){
|
||||
if(!player.hasZhuSkill('shichou'))return false;
|
||||
|
@ -435,7 +434,10 @@ character.sp={
|
|||
},
|
||||
selectCard:2,
|
||||
init:function(player){
|
||||
player.storage.shichou=false;
|
||||
if(player.hasZhuSkill('shichou')){
|
||||
player.markSkill('shichou');
|
||||
player.storage.shichou=false;
|
||||
}
|
||||
},
|
||||
filterTarget:function(card,player,target){
|
||||
return target.group=='shu'&&target!=player;
|
||||
|
@ -2735,6 +2737,7 @@ character.sp={
|
|||
trigger:{player:'phaseDiscardBegin'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
if(!player.storage.xingwu_color) return false;
|
||||
var length=player.storage.xingwu_color.length;
|
||||
if(length==0) return false;
|
||||
var hs=player.get('h');
|
||||
|
|
|
@ -16,7 +16,7 @@ character.xianjian={
|
|||
pal_changqing:['male','wei',4,['luanjian','tianfu']],
|
||||
|
||||
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_xingxuan:['male','wei',3,['feizhua','leiyu','lingxue']],
|
||||
// pal_leiyuange:['male','wei',3,[]],
|
||||
|
@ -32,82 +32,313 @@ character.xianjian={
|
|||
// pal_longyou:['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_xia:['male','wei',4,[]],
|
||||
// pal_jiangcheng:['male','wei',4,[]],
|
||||
},
|
||||
skill:{
|
||||
lingyan:{
|
||||
trigger:{player:'useCard'},
|
||||
longxiang:{
|
||||
trigger:{player:'shaBegin'},
|
||||
filter:function(event,player){
|
||||
console.log(event.card.name);
|
||||
return lib.skill.lingyan.filterx(event.card)&&event.target==player;
|
||||
return event.target.num('h')>player.num('h');
|
||||
},
|
||||
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,
|
||||
filterx:function(card){
|
||||
filterx:function(card,player){
|
||||
if(!lib.inpile.contains(card.name)) return false;
|
||||
var info=get.info(card);
|
||||
if(info.type!='equip') return false;
|
||||
if(info.nomod) return false;
|
||||
if(!info.subtype) return false;
|
||||
if(!player.get('e',info.subtype[5])) return false;
|
||||
return true;
|
||||
},
|
||||
group:'lingyan_lose',
|
||||
content:function(){
|
||||
'step 0'
|
||||
var list=['equip1','equip2','equip3','equip4','equip5','cancelx'];
|
||||
var list2=[];
|
||||
var subtype=get.subtype(trigger.card);
|
||||
list.remove(subtype);
|
||||
for(var i=0;i<4;i++){
|
||||
if(!player.get('e',subtype[5])){
|
||||
list2.push(list[i]);
|
||||
var list=['equip1','equip2','equip3','equip4','equip5'];
|
||||
for(var i=0;i<list.length;i++){
|
||||
if(player.get('e',list[i][5])){
|
||||
list.splice(i--,1);
|
||||
}
|
||||
}
|
||||
list.push('cancel2');
|
||||
player.chooseControl(list,function(){
|
||||
if(!player.get('e',subtype[5])) return 'cancelx';
|
||||
return list2.randomGet();
|
||||
}).prompt=get.prompt('灵砚:是否改变装备牌的位置?');
|
||||
return list.randomGet();
|
||||
}).prompt='灵砚:是否改变'+get.translation(trigger.card.name)+'的装备类型?';
|
||||
'step 1'
|
||||
if(result.control!='cancelx'){
|
||||
if(result.control&&result.control!='cancel2'){
|
||||
player.logSkill('lingyan');
|
||||
var name=trigger.card.name+'_lingyan_'+result.control;
|
||||
if(!lib.card[name]){
|
||||
lib.card[name]=get.copy(get.info(trigger.card));
|
||||
lib.card[name].subtype=result.control;
|
||||
lib.card[name].vanish=true;
|
||||
lib.card[name].epic=true;
|
||||
lib.card[name].cardimage=trigger.card.name;
|
||||
lib.translate[name]=lib.translate[trigger.card.name];
|
||||
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]);
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
effect:{
|
||||
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];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
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:{
|
||||
trigger:{global:['useCardAfter','respondAfter','discardAfter']},
|
||||
filter:function(event,player){
|
||||
|
@ -247,9 +478,23 @@ character.xianjian={
|
|||
},
|
||||
leiyu:{
|
||||
trigger:{player:'phaseEnd'},
|
||||
check:function(event,player){
|
||||
if(player.hp==1) return 0;
|
||||
var num=0;
|
||||
direct:true,
|
||||
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'
|
||||
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;
|
||||
for(var i=0;i<player.storage.leiyu.length;i++){
|
||||
if(player.storage.leiyu[i].isDead()) continue;
|
||||
|
@ -262,40 +507,21 @@ character.xianjian={
|
|||
num2--;
|
||||
}
|
||||
}
|
||||
return num>0&&num2>=2;
|
||||
},
|
||||
prompt:function(event,player){
|
||||
for(var i=0;i<player.storage.leiyu.length;i++){
|
||||
if(player.storage.leiyu[i].isDead()){
|
||||
player.storage.leiyu.splice(i--,1);
|
||||
var next=player.chooseToDiscard(get.prompt('leiyu',player.storage.leiyu),{color:'black'});
|
||||
next.ai=function(){
|
||||
if(num>0&&num2>=2){
|
||||
return 7-ai.get.value(card);
|
||||
}
|
||||
}
|
||||
return get.prompt('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();
|
||||
return 0;
|
||||
};
|
||||
next.logSkill=['leiyu',player.storage.leiyu];
|
||||
'step 1'
|
||||
for(var i=0;i<player.storage.leiyu.length;i++){
|
||||
if(player.storage.leiyu[i].isDead()){
|
||||
player.storage.leiyu.splice(i--,1);
|
||||
}
|
||||
if(result.bool){
|
||||
player.storage.leiyu.sort(lib.sort.seat);
|
||||
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:{
|
||||
threaten:1.3
|
||||
}
|
||||
|
@ -1995,16 +2221,22 @@ character.xianjian={
|
|||
pal_changqing:'长卿',
|
||||
pal_xuanxiao:'玄霄',
|
||||
|
||||
longxiang:'龙翔',
|
||||
longxiang_info:'当你使用杀指定目标后,你可以弃置目标若干张手牌直到其手牌数与你相同',
|
||||
huxi:'虎袭',
|
||||
huxi_info:'你可以失去一点体力并获得一点护甲,视为使用一张杀',
|
||||
xuanmo:'玄墨',
|
||||
xuanmo_info:'出牌阶段限一次,你可以将一张手牌置于牌堆顶并随机获得两张与之类别相同的牌',
|
||||
lingyan:'灵砚',
|
||||
lingyan_info:'你可以将装备牌装备至装备区的任意位置',
|
||||
lingyan_info:'在你使用一张装备牌时,若你的装备区的对应位置已有装备,你可以选择装备区内的一个空余位置,将此牌的装备类型永久改变至与此位置对应',
|
||||
danqing:'丹青',
|
||||
danqing_info:'当你累计使用或打出了4张花色不同的牌后,你可以依次将以下4种效果分配给4名不同的角色:1. 摸两张牌;2. 获得一点护甲;3. 装备一件宝物;4. 获得潜行直到下一回合开始',
|
||||
danqing_info:'当你累计使用了4张花色不同的牌后,你可以依次将以下4种效果分配给至多4名不同的角色:1、摸一张牌;2、获得一点护甲;3、装备一件随机装备;4、获得潜行直到下一回合开始',
|
||||
zhangmu:'障目',
|
||||
zhangmu_info:'每回合限一次,当你需要使用或打出一张闪时,你可以展示一张闪,视为使用或打出了此闪',
|
||||
feizhua:'飞爪',
|
||||
feizhua_info:'当你使用一张杀时,你可以将目标两侧的角色追加为额外目标',
|
||||
leiyu:'雷狱',
|
||||
leiyu_info:'回合结束阶段,你可以失去一点体力,视为对本回合内所有成为过你的卡牌目标的角色使用一张惊雷闪,若你杀死任意一名角色,你回复一点体力',
|
||||
leiyu_info:'回合结束阶段,你可以弃置一张黑色牌,视为对本回合内所有成为过你的卡牌目标的角色使用一张惊雷闪',
|
||||
lingxue:'灵血',
|
||||
lingxue_info:'锁定技,每当你回复一点体力,你获得一点护甲',
|
||||
zhaoyao:'招摇',
|
||||
|
|
|
@ -6872,6 +6872,7 @@ character.yijiang={
|
|||
filter:function(event){
|
||||
return event.card&&event.card.name=='sha'&&event.player.isAlive();
|
||||
},
|
||||
logTarget:'player',
|
||||
content:function(){
|
||||
"step 0"
|
||||
trigger.player.draw(Math.min(5,trigger.player.hp));
|
||||
|
@ -7866,6 +7867,6 @@ character.yijiang={
|
|||
mingce_info:'出牌阶段,你可以交给任一其他角色一张装备牌或【杀】,该角色进行二选一:1. 视为对其攻击范围内的另一名由你指定的角色使用一张【杀】。2. 摸一张牌。每回合限一次。',
|
||||
zhichi_info:'锁定技,你的回合外,你每受到一次伤害,任何【杀】或非延时类锦囊均对你无效,直到该回合结束。',
|
||||
zhichi2_info:'智迟已发动',
|
||||
pojun_info:'你每使用【杀】造成一次伤害,可令受到该伤害的角色多摸X张牌,X为改角色当前的体力值(X最多为5),然后该角色将其武将牌翻面。',
|
||||
pojun_info:'你每使用【杀】造成一次伤害,可令受到该伤害的角色多摸X张牌,X为该角色当前的体力值(X最多为5),然后该角色将其武将牌翻面。',
|
||||
},
|
||||
}
|
||||
|
|
96
game/game.js
96
game/game.js
|
@ -8713,6 +8713,9 @@
|
|||
}
|
||||
},get.subtype(card));
|
||||
player.$equip(card);
|
||||
if(event.draw){
|
||||
player.$draw(card);
|
||||
}
|
||||
game.addVideo('equip',player,get.cardInfo(card));
|
||||
game.log(player,'装备了',card);
|
||||
"step 2"
|
||||
|
@ -8735,6 +8738,10 @@
|
|||
game.delayx();
|
||||
}
|
||||
delete player.equiping;
|
||||
"step 3"
|
||||
if(event.draw){
|
||||
game.delay();
|
||||
}
|
||||
},
|
||||
addJudge:function(){
|
||||
"step 0"
|
||||
|
@ -10931,6 +10938,7 @@
|
|||
next.card=card;
|
||||
next.player=this;
|
||||
next.setContent(lib.element.content.equip);
|
||||
return next;
|
||||
},
|
||||
addJudge:function(card,cards){
|
||||
var next=game.createEvent('addJudge');
|
||||
|
@ -13377,15 +13385,24 @@
|
|||
if(!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');
|
||||
}
|
||||
else if(lib.card[card[2]].legend){
|
||||
else if(info.legend){
|
||||
this.classList.add('legend');
|
||||
}
|
||||
var bg=card[2];
|
||||
if(lib.card[card[2]].cardimage){
|
||||
bg=lib.card[card[2]].cardimage;
|
||||
if(info.cardimage){
|
||||
bg=info.cardimage;
|
||||
}
|
||||
var img=lib.card[bg].image;
|
||||
if(img){
|
||||
|
@ -13466,38 +13483,38 @@
|
|||
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.classList.contains('button')){
|
||||
if(info.noname&&!this.classList.contains('button')){
|
||||
this.node.name.style.display='none';
|
||||
}
|
||||
if(lib.card[card[2]].color){
|
||||
this.style.color=lib.card[card[2]].color;
|
||||
if(info.color){
|
||||
this.style.color=info.color;
|
||||
}
|
||||
else if(lib.card[card[2]].fullimage){
|
||||
else if(info.fullimage){
|
||||
this.style.color='white';
|
||||
}
|
||||
if(lib.card[card[2]].textShadow){
|
||||
this.style.textShadow=lib.card[card[2]].textShadow;
|
||||
if(info.textShadow){
|
||||
this.style.textShadow=info.textShadow;
|
||||
}
|
||||
else if(lib.card[card[2]].fullimage){
|
||||
else if(info.fullimage){
|
||||
this.style.textShadow='black 0 0 2px';
|
||||
}
|
||||
if(lib.card[card[2]].opacity){
|
||||
this.node.info.style.opacity=lib.card[card[2]].opacity;
|
||||
this.node.name.style.opacity=lib.card[card[2]].opacity;
|
||||
if(info.opacity){
|
||||
this.node.info.style.opacity=info.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.name.style.opacity=1;
|
||||
}
|
||||
if(lib.card[card[2]].modinfo){
|
||||
this.node.info.innerHTML=lib.card[card[2]].modinfo;
|
||||
if(info.modinfo){
|
||||
this.node.info.innerHTML=info.modinfo;
|
||||
}
|
||||
else{
|
||||
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.innerHTML=lib.card[card[2]].addinfo;
|
||||
this.node.addinfo.innerHTML=info.addinfo;
|
||||
}
|
||||
if(card[0]=='heart'||card[0]=='diamond'){
|
||||
this.node.info.classList.add('red');
|
||||
|
@ -13537,13 +13554,13 @@
|
|||
this.classList.remove(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){
|
||||
for(var i=0;i<lib.element.card.inits.length;i++){
|
||||
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)){
|
||||
case 'equip1':
|
||||
|
@ -13559,15 +13576,24 @@
|
|||
this.node.range.innerHTML='范围: 1';
|
||||
}
|
||||
break;
|
||||
case 'equip3':this.node.range.innerHTML='防御: '+lib.card[card[2]].distance.globalTo;this.node.name2.innerHTML+='+';break;
|
||||
case 'equip4':this.node.range.innerHTML='进攻: '+(-lib.card[card[2]].distance.globalFrom);this.node.name2.innerHTML+='-';break;
|
||||
case 'equip3':
|
||||
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){
|
||||
this.cardid=get.id();
|
||||
lib.cardOL[this.cardid]=this;
|
||||
}
|
||||
if(lib.config.game=='hs'){
|
||||
var info=lib.card[card[2]];
|
||||
if(info.class!='neutral'){
|
||||
this.node.name.dataset.careercolor=info.class;
|
||||
}
|
||||
|
@ -31681,16 +31707,20 @@
|
|||
},
|
||||
inpile:function(type,filter){
|
||||
var list=[];
|
||||
for(var i=0;i<lib.inpile.length;i++){
|
||||
if(typeof filter=='function'&&!filter(lib.inpile[i])) continue;
|
||||
if(type.indexOf('equip')==0&&type.length==6){
|
||||
if(get.subtype(lib.inpile[i])==type) list.push(lib.inpile[i]);
|
||||
if(filter=='trick'){
|
||||
for(var i=0;i<lib.inpile.length;i++){
|
||||
if(get.type(lib.inpile[i],'trick')==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{
|
||||
if(get.type(lib.inpile[i])==type) list.push(lib.inpile[i]);
|
||||
}
|
||||
else{
|
||||
for(var i=0;i<lib.inpile.length;i++){
|
||||
if(typeof filter=='function'&&!filter(lib.inpile[i])) continue;
|
||||
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;
|
||||
|
|
Loading…
Reference in New Issue