This commit is contained in:
libccy 2017-05-21 11:13:18 +08:00
parent c5b0c0d583
commit 2b5b08fb35
16 changed files with 130 additions and 49 deletions

View File

@ -963,7 +963,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
result:{
target:function(card,player,target,current){
if(target.hp<=1&&get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-5];
if(player.hasSkillTag('jueqing',false,target)) return [1,-5];
return [1,0,0,-2];
}
}

View File

@ -240,7 +240,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
maixie_hp:true,
effect:{
target:function(card,player,target){
if(player.hasSkillTag('jueqing')) return [1,-2];
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
if(get.tag(card,'damage')){
if(target.hp==target.maxHp){
if(!target.hasSkill('jilue')){
@ -253,6 +253,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
player:function(card,player){
if(_status.currentPhase!=player) return;
if(_status.event.name!='chooseToUse'||_status.event.player!=player) return;
if(get.type(card)=='basic') return;
if(get.tag(card,'gain')) return;
if(get.value(card,player,'raw')>=7) return;
@ -496,7 +497,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player,target,current){
if(target.hp<=1&&get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-5];
if(player.hasSkillTag('jueqing',false,target)) return [1,-5];
if(!target.hasFriend()) return;
if(player.hp>2&&get.attitude(player,target)<=0) return [0,2];
return [1,0,0,-player.hp];
@ -568,7 +569,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player,target){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-2];
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
if(target.hp==1) return 0.8;
if(target.isTurnedOver()) return [0,3];
var num=game.countPlayer(function(current){

View File

@ -699,7 +699,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player,target){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-1.5];
if(player.hasSkillTag('jueqing',false,target)) return [1,-1.5];
return [1,0,0,-0.5];
}
}
@ -844,7 +844,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player,target){
if(get.tag(card,'damage')&&target.countCards('h')==0){
if(player.hasSkillTag('jueqing')) return;
if(player.hasSkillTag('jueqing',false,target)) return;
return 0.1;
}
}

View File

@ -239,8 +239,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
ai:{
threaten:2,
expose:0.2
threaten:2
}
},
junchi:{

View File

@ -1916,7 +1916,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player,target){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return;
if(player.hasSkillTag('jueqing',false,target)) return;
return 0.5;
}
}
@ -2032,7 +2032,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player,target){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-2];
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
if(!target.hasFriend()) return;
if(target.hp>=4) return [1,get.tag(card,'damage')*2];
if(target.hp==3) return [1,get.tag(card,'damage')*1.5];
@ -2388,7 +2388,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
maixie_hp:true,
effect:{
target:function(card,player,target){
if(player.hasSkillTag('jueqing')) return [1,-2];
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
if(!target.hasFriend()) return false;
if(get.tag(card,'damage')&&player.countCards('h')>1) return [1,0,0,-1];
}
@ -4069,7 +4069,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player,target){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-2];
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
if(!target.hasFriend()) return;
var nh=target.countCards('h');
if(nh>5) return [1,-1];
@ -5301,7 +5301,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-1];
if(player.hasSkillTag('jueqing',false,target)) return [1,-1];
return 0.8;
}
}
@ -6231,7 +6231,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ai:{
effect:function(card,player){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,1];
if(player.hasSkillTag('jueqing',false,target)) return [1,1];
return 1.2;
}
},
@ -6383,7 +6383,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
effect:function(card,player){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return;
if(player.hasSkillTag('jueqing',false,target)) return;
return 1.2;
}
},

View File

@ -383,7 +383,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player,target){
if(player.countCards('he')>1&&get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-1.5];
if(player.hasSkillTag('jueqing',false,target)) return [1,-1.5];
if(get.attitude(target,player)<0) return [1,1];
}
}
@ -896,7 +896,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
maixie_hp:true,
effect:{
target:function(card,player,target){
if(player.hasSkillTag('jueqing')) return [1,-1];
if(player.hasSkillTag('jueqing',false,target)) return [1,-1];
if(get.tag(card,'damage')&&player!=target) return [1,0.6];
}
}
@ -976,7 +976,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
result:{
effect:function(card,player,target){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-2];
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
if(player.hp>=4) return [1,get.tag(card,'damage')*2];
if(target.hp==3) return [1,get.tag(card,'damage')*1.5];
if(target.hp==2) return [1,get.tag(card,'damage')*0.5];
@ -1178,7 +1178,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
effect:function(card,player){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,1];
if(player.hasSkillTag('jueqing',false,target)) return [1,1];
return 1.2;
}
if(get.tag(card,'loseHp')){

View File

@ -1949,7 +1949,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player,target){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-2];
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
if(target.hp<=1) return;
if(!target.hasFriend()) return;
var hastarget=false;
@ -2865,7 +2865,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return 0;
},
player:function(player,target){
if(target.hasSkillTag('jueqing')) return -10;
if(target.hasSkillTag('jueqing',false,target)) return -10;
var mn=1;
var hs=player.getCards('h');
for(var i=0;i<hs.length;i++){
@ -2920,7 +2920,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player,target,current){
if(get.tag(card,'damage')&&target.hp>1){
if(player.hasSkillTag('jueqing')) return [1,-2];
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
var max=0;
var players=game.filterPlayer();
for(var i=0;i<players.length;i++){
@ -3551,7 +3551,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
maixie_fake:true,
effect:{
target:function(card,player,target){
if(player.hasSkillTag('jueqing')) return;
if(player.hasSkillTag('jueqing',false,target)) return;
if(get.tag(card,'damage')&&target.countCards('h')>1) return 0.7;
}
},
@ -3646,7 +3646,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
maixie_fake:true,
effect:{
target:function(card,player,target){
if(player.hasSkillTag('jueqing')) return;
if(player.hasSkillTag('jueqing',false,target)) return;
if(get.tag(card,'damage')&&target.countCards('he')>1) return 0.7;
}
},

View File

@ -1931,7 +1931,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player,target,current){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-2];
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
if(get.attitude(player,target)>0) return [0,0];
var eff=get.damageEffect(target.storage.shichou_target,player,target);
if(eff>0){

View File

@ -145,7 +145,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
maixie_hp:true,
effect:{
target:function(card,player){
if(player.hasSkillTag('jueqing')) return [1,-1];
if(player.hasSkillTag('jueqing',false,target)) return [1,-1];
if(get.tag(card,'damage')) return [1,0.5];
}
}
@ -165,7 +165,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player,target){
if(player.countCards('he')>1&&get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-1.5];
if(player.hasSkillTag('jueqing',false,target)) return [1,-1.5];
if(get.attitude(target,player)<0) return [1,1];
}
}
@ -262,7 +262,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ai:{
result:{
target:function(card,player,target){
if(player.hasSkillTag('jueqing')) return [1,-1];
if(player.hasSkillTag('jueqing',false,target)) return [1,-1];
if(get.tag(card,'damage')&&get.damageEffect(target,player,player)>0) return [1,0,0,-1.5];
}
}
@ -405,7 +405,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player,target){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-2];
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
if(!target.hasFriend()) return;
if(target.hp>=4) return [1,get.tag(card,'damage')*2];
if(target.hp==3) return [1,get.tag(card,'damage')*1.5];

View File

@ -2476,7 +2476,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-2];
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
return 0.7;
}
}
@ -3182,7 +3182,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
maixie_hp:true,
effect:function(card,player,target){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-0.5];
if(player.hasSkillTag('jueqing',false,target)) return [1,-0.5];
if(!target.hasFriend()){
if(lib.config.mode=='guozhan'){
if(!player.hasFriend()) return;
@ -3413,7 +3413,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player,target){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-1.5];
if(player.hasSkillTag('jueqing',false,target)) return [1,-1.5];
if(player.hp>=4) return [1,1.5];
if(target.hp==3) return [1,1];
if(target.hp==2) return [1,0.5];
@ -5497,7 +5497,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player,target){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-2];
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
if(target.storage.yishan.length==0) return 1.5;
if(target.storage.yishan[0]=='tao'||target.storage.yishan[1]=='tao'){
return [0,2];
@ -5773,7 +5773,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player,target){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return;
if(player.hasSkillTag('jueqing',false,target)) return;
if(target.storage.daixing>1) return 0.1;
if(target.storage.daixing==1) return 0.5;
}
@ -6391,7 +6391,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player,target){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-1];
if(player.hasSkillTag('jueqing',false,target)) return [1,-1];
var num=player.countCards('h')-target.countCards('h');
if(num>0){
return [1,0,0,-num/2];
@ -6633,7 +6633,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player,target){
if(get.tag(card,'damage')&&_status.currentPhase!=target){
if(player.hasSkillTag('jueqing')) return [1,-1.5];
if(player.hasSkillTag('jueqing',false,target)) return [1,-1.5];
return [1,0.5];
}
}

View File

@ -31,7 +31,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
pal_xuanxiao:['male','wei',4,['xuanyan','ningbin','xfenxin']],
pal_jiangyunfan:['male','wei',4,['xunying','liefeng']],
// pal_tangyurou:['male','wei',4,[]],
pal_tangyurou:['female','shu',3,['txianqu','qiongguang']],
pal_longyou:['male','wei',4,['yuexing','minsha']],
// pal_xiaoman:['male','wei',4,[]],
@ -85,6 +85,81 @@ game.import('character',function(lib,game,ui,get,ai,_status){
pal_jiangcheng:'折剑山庄庄主欧阳英的得意门生,但因其蚩尤后人魔族的身份,令他无法被容于人界;再加上人界半魔同族饱受人类迫害,故最终成为净天教教主魔君“姜世离”,毅然肩负起保护同族的重任。',
},
skill:{
qiongguang:{
trigger:{player:'phaseDiscardEnd'},
filter:function(event,player){
return event.cards&&event.cards.length>1
},
content:function(){
'step 0'
event.targets=player.getEnemies().sortBySeat();
'step 1'
if(event.targets.length){
player.line(event.targets.shift().getDebuff(false).addExpose(0.1),'green');
event.redo();
}
'step 2'
game.delay();
},
ai:{
threaten:1.5,
expose:0.2,
effect:{
player:function(card,player){
if(_status.currentPhase!=player) return;
if(_status.event.name!='chooseToUse'||_status.event.player!=player) return;
var num=player.needsToDiscard();
if(num>2||num==1) return;
if(get.type(card)=='basic'&&num!=2) return;
if(get.tag(card,'gain')) return;
if(get.value(card,player,'raw')>=7) return;
if(player.hp<=2) return;
if(!player.hasSkill('jilue')||player.storage.renjie==0){
return 'zeroplayertarget';
}
}
}
}
},
txianqu:{
trigger:{source:'damageBefore'},
logTarget:'player',
filter:function(event,player){
var evt=event.getParent('phaseUse');
if(evt&&evt.player==player) return true;
return false;
},
check:function(event,player){
var target=event.player;
if(get.attitude(player,target)>=0||get.damageEffect(target,player,player)<=0) return true;
if(target.hp>player.hp&&player.isDamaged()) return true;
return false;
},
content:function(){
trigger.untrigger();
trigger.finish();
player.draw(2);
player.recover();
},
ai:{
jueqing:true,
skillTagFilter:function(player,tag,arg){
if(!arg) return false;
if(get.attitude(player,arg)>0) return false;
var evt=event.getParent('phaseUse');
if(evt&&evt.player==player) return true;
return false;
},
effect:{
player:function(card,player,target){
if(get.tag(card,'damage')&&get.attitude(player,target)>0){
if(player.hp==player.maxHp||get.recoverEffect(player,player,player)<=0) return 'zeroplayertarget';
return [0,0,0,0.5];
}
}
}
}
},
xunying:{
trigger:{player:'shaAfter'},
direct:true,
@ -4213,6 +4288,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
pal_mingxiu:'明绣',
pal_jushifang:'居十方',
txianqu:'仙曲',
txianqu_info:'每当你于出牌阶段即将造成伤害,你可以防止之,然后摸两张牌并回复一点体力',
qiongguang:'穹光',
qiongguang_info:'弃牌阶段结束时,若你弃置了至少两张牌,你可以对所有敌方角色施加一个随机的负面效果',
xunying:'迅影',
xunying_info:'每当你使用杀对一名目标结算完毕后,你可以继续对目标使用杀',
liefeng:'冽风',

View File

@ -4808,7 +4808,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player,target){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-2];
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
if(!target.hasFriend()) return;
if(target.hp>=4) return [0.5,get.tag(card,'damage')*2];
if(!target.hasSkill('paiyi')&&target.hp>1) return [0.5,get.tag(card,'damage')*1.5];
@ -5981,7 +5981,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(card.name=='guiyoujie') return [0,0.5];
if(target.isTurnedOver()){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-2];
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
if(target.hp==1) return;
return [1,target.countCards('h')/2];
}
@ -6472,7 +6472,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ai:{
effect:{
target:function(card,player,target){
if(player.hasSkillTag('jueqing')) return [1,-1.5];
if(player.hasSkillTag('jueqing',false,target)) return [1,-1.5];
if(!target.hasFriend()) return;
if(get.tag(card,'damage')) return [1,0,0,-0.7];
}
@ -6499,7 +6499,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ai:{
effect:{
target:function(card,player,target){
if(player.hasSkillTag('jueqing')) return [1,-2];
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
if(!target.hasFriend()) return;
if(get.tag(card,'damage')) return [1,0,0,-1];
}
@ -6833,7 +6833,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player,target){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-2];
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
if(!target.hasFriend()) return;
if(target.hp>=4) return [1,2];
if(target.hp==3) return [1,1.5];

View File

@ -535,7 +535,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player,target){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-2];
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
if(!target.hasFriend()) return;
var players=game.filterPlayer();
for(var i=0;i<players.length;i++){
@ -899,7 +899,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player,target){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-2];
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
if(!target.hasFriend()) return;
if(target.hp>=4) return [1,get.tag(card,'damage')*2];
if(target.hp==3) return [1,get.tag(card,'damage')*1.5];
@ -2019,7 +2019,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
target:function(card,player,target){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-2];
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
if(!target.hasFriend()) return;
if(target.hp>=4) return [1,2];
if(target.hp==3) return [1,1.5];
@ -2185,7 +2185,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
result:{
target:function(card,player,target){
if(player.countCards('he')>1&&get.tag(card,'damage')){
if(player.hasSkillTag('jueqing')) return [1,-1];
if(player.hasSkillTag('jueqing',false,target)) return [1,-1];
if(get.attitude(target,player)<0) return [1,0,0,-1.5];
}
}

View File

@ -15032,6 +15032,7 @@
break;
}
}
return this;
},
getDebuff:function(){
var list=[1,2,3,4,5,6];
@ -15079,6 +15080,7 @@
break;
}
}
return this;
},
dying:function(reason){
if(this.nodying||this.hp>0||this.isDying()) return;
@ -16650,7 +16652,7 @@
for(var i=0;i<skills.length;i++){
var info=lib.skill[skills[i]];
if(info&&info.ai){
if(info.ai.skillTagFilter&&
if(info.ai.skillTagFilter&&info.ai[tag]&&
info.ai.skillTagFilter(this,tag,arg)===false) continue;
if(typeof info.ai[tag]=='string'){
if(info.ai[tag]==arg) return true;
@ -16671,7 +16673,7 @@
for(var i=0;i<skills.length;i++){
var info=lib.skill[skills[i]];
if(info&&info.ai){
if(info.ai.skillTagFilter&&
if(info.ai.skillTagFilter&&info.ai[tag]&&
info.ai.skillTagFilter(this,tag,arg)===false) continue;
if(typeof info.ai[tag]=='string'){
if(info.ai[tag]==arg) return true;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

After

Width:  |  Height:  |  Size: 90 KiB

View File

@ -1207,7 +1207,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
ai:{
effect:{
target:function(card,player,target){
if(player.hasSkillTag('jueqing')) return;
if(player.hasSkillTag('jueqing',false,target)) return;
if(!player.isUnseen(2)) return;
var num=get.tag(card,'damage');
if(num){