This commit is contained in:
parent
0aee8cf4d4
commit
4960cdb2d1
112
card/ex.js
112
card/ex.js
|
@ -1,112 +0,0 @@
|
||||||
'use strict';
|
|
||||||
card.ex={
|
|
||||||
connect:true,
|
|
||||||
card:{
|
|
||||||
hanbing:{
|
|
||||||
fullskin:true,
|
|
||||||
type:"equip",
|
|
||||||
subtype:"equip1",
|
|
||||||
distance:{attackFrom:-1},
|
|
||||||
skills:['hanbing_skill'],
|
|
||||||
ai:{
|
|
||||||
basic:{
|
|
||||||
equipValue:2
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
renwang:{
|
|
||||||
fullskin:true,
|
|
||||||
type:"equip",
|
|
||||||
subtype:"equip2",
|
|
||||||
skills:['renwang_skill'],
|
|
||||||
ai:{
|
|
||||||
basic:{
|
|
||||||
equipValue:8
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
skill:{
|
|
||||||
hanbing_skill:{
|
|
||||||
trigger:{player:'shaHit'},
|
|
||||||
direct:true,
|
|
||||||
audio:true,
|
|
||||||
filter:function(event){
|
|
||||||
return event.target.get('he').length>0;
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
"step 0"
|
|
||||||
player.choosePlayerCard('是否发动【寒冰剑】?','he',trigger.target,Math.min(2,trigger.target.num('he')),function(button){
|
|
||||||
var trigger=_status.event.getTrigger();
|
|
||||||
var player=_status.event.player;
|
|
||||||
var eff=ai.get.damageEffect(trigger.target,player,player);
|
|
||||||
if(ai.get.attitude(player,trigger.target)>0){
|
|
||||||
if(eff>=0) return false;
|
|
||||||
return 10-ai.get.buttonValue(button);
|
|
||||||
}
|
|
||||||
if(eff<=0) return ai.get.buttonValue(button);
|
|
||||||
if(trigger.target.hp==1) return false;
|
|
||||||
if(player.skills.contains('jiu')||player.skills.contains('tianxianjiu')||
|
|
||||||
player.skills.contains('luoyi2')||player.skills.contains('reluoyi2')) return false;
|
|
||||||
if(_status.event.dialog.buttons.length<2) return -1;
|
|
||||||
var num=0;
|
|
||||||
for(var i=0;i<_status.event.dialog.buttons.length;i++){
|
|
||||||
if(ai.get.buttonValue(_status.event.dialog.buttons[i])>1.5) num++;
|
|
||||||
}
|
|
||||||
if(num>=2) return ai.get.buttonValue(button)-1.5;
|
|
||||||
});
|
|
||||||
"step 1"
|
|
||||||
if(result.bool){
|
|
||||||
trigger.untrigger();
|
|
||||||
var cards=[];
|
|
||||||
for(var i=0;i<result.links.length;i++) cards.push(result.links[i]);
|
|
||||||
player.logSkill('hanbing_skill');
|
|
||||||
trigger.unhurt=true;
|
|
||||||
trigger.target.discard(cards);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
renwang_skill:{
|
|
||||||
trigger:{target:'shaBefore'},
|
|
||||||
forced:true,
|
|
||||||
priority:6,
|
|
||||||
audio:true,
|
|
||||||
filter:function(event){
|
|
||||||
if(event.player.num('s','unequip')) return false;
|
|
||||||
return (event.card.name=='sha'&&get.color(event.card)=='black')
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
trigger.untrigger();
|
|
||||||
trigger.finish();
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
effect:{
|
|
||||||
target:function(card,player){
|
|
||||||
var equip1=player.get('e','1');
|
|
||||||
if(equip1&&equip1.name=='qinggang') return 1;
|
|
||||||
if(player.num('s','unequip')) return;
|
|
||||||
if(card.name=='sha'&&get.color(card)=='black') return 'zerotarget';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
translate:{
|
|
||||||
hanbing:'寒冰剑',
|
|
||||||
renwang:'仁王盾',
|
|
||||||
hanbing_bg:'冰',
|
|
||||||
renwang_bg:'盾',
|
|
||||||
hanbing_skill:'寒冰剑',
|
|
||||||
renwang_skill:'仁王盾',
|
|
||||||
hanbing_info:'每当你使用杀命中目标后,你可以防止伤害,改为弃置目标两张牌',
|
|
||||||
hanbing_skill_info:'每当你使用杀命中目标后,你可以防止伤害,改为弃置目标两张牌',
|
|
||||||
renwang_info:'黑色的杀对你无效',
|
|
||||||
renwang_skill_info:'黑色的杀对你无效',
|
|
||||||
},
|
|
||||||
list:[
|
|
||||||
["spade",2,'hanbing'],
|
|
||||||
["club",2,'renwang'],
|
|
||||||
["heart",12,'shandian','thunder'],
|
|
||||||
["diamond",12,'wuxie'],
|
|
||||||
],
|
|
||||||
}
|
|
101
card/standard.js
101
card/standard.js
|
@ -1208,8 +1208,94 @@ card.standard={
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
hanbing:{
|
||||||
|
fullskin:true,
|
||||||
|
type:"equip",
|
||||||
|
subtype:"equip1",
|
||||||
|
distance:{attackFrom:-1},
|
||||||
|
skills:['hanbing_skill'],
|
||||||
|
ai:{
|
||||||
|
basic:{
|
||||||
|
equipValue:2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
renwang:{
|
||||||
|
fullskin:true,
|
||||||
|
type:"equip",
|
||||||
|
subtype:"equip2",
|
||||||
|
skills:['renwang_skill'],
|
||||||
|
ai:{
|
||||||
|
basic:{
|
||||||
|
equipValue:8
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
skill:{
|
skill:{
|
||||||
|
hanbing_skill:{
|
||||||
|
trigger:{player:'shaHit'},
|
||||||
|
direct:true,
|
||||||
|
audio:true,
|
||||||
|
filter:function(event){
|
||||||
|
return event.target.get('he').length>0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
"step 0"
|
||||||
|
player.choosePlayerCard('是否发动【寒冰剑】?','he',trigger.target,Math.min(2,trigger.target.num('he')),function(button){
|
||||||
|
var trigger=_status.event.getTrigger();
|
||||||
|
var player=_status.event.player;
|
||||||
|
var eff=ai.get.damageEffect(trigger.target,player,player);
|
||||||
|
if(ai.get.attitude(player,trigger.target)>0){
|
||||||
|
if(eff>=0) return false;
|
||||||
|
return 10-ai.get.buttonValue(button);
|
||||||
|
}
|
||||||
|
if(eff<=0) return ai.get.buttonValue(button);
|
||||||
|
if(trigger.target.hp==1) return false;
|
||||||
|
if(player.skills.contains('jiu')||player.skills.contains('tianxianjiu')||
|
||||||
|
player.skills.contains('luoyi2')||player.skills.contains('reluoyi2')) return false;
|
||||||
|
if(_status.event.dialog.buttons.length<2) return -1;
|
||||||
|
var num=0;
|
||||||
|
for(var i=0;i<_status.event.dialog.buttons.length;i++){
|
||||||
|
if(ai.get.buttonValue(_status.event.dialog.buttons[i])>1.5) num++;
|
||||||
|
}
|
||||||
|
if(num>=2) return ai.get.buttonValue(button)-1.5;
|
||||||
|
});
|
||||||
|
"step 1"
|
||||||
|
if(result.bool){
|
||||||
|
trigger.untrigger();
|
||||||
|
var cards=[];
|
||||||
|
for(var i=0;i<result.links.length;i++) cards.push(result.links[i]);
|
||||||
|
player.logSkill('hanbing_skill');
|
||||||
|
trigger.unhurt=true;
|
||||||
|
trigger.target.discard(cards);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
renwang_skill:{
|
||||||
|
trigger:{target:'shaBefore'},
|
||||||
|
forced:true,
|
||||||
|
priority:6,
|
||||||
|
audio:true,
|
||||||
|
filter:function(event){
|
||||||
|
if(event.player.num('s','unequip')) return false;
|
||||||
|
return (event.card.name=='sha'&&get.color(event.card)=='black')
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
trigger.untrigger();
|
||||||
|
trigger.finish();
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
effect:{
|
||||||
|
target:function(card,player){
|
||||||
|
var equip1=player.get('e','1');
|
||||||
|
if(equip1&&equip1.name=='qinggang') return 1;
|
||||||
|
if(player.num('s','unequip')) return;
|
||||||
|
if(card.name=='sha'&&get.color(card)=='black') return 'zerotarget';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
zhuge_skill:{
|
zhuge_skill:{
|
||||||
mod:{
|
mod:{
|
||||||
cardUsable:function(card,player,num){
|
cardUsable:function(card,player,num){
|
||||||
|
@ -1731,6 +1817,16 @@ card.standard={
|
||||||
lebu:'乐不思蜀',
|
lebu:'乐不思蜀',
|
||||||
shandian:'闪电',
|
shandian:'闪电',
|
||||||
shandian_bg:'电',
|
shandian_bg:'电',
|
||||||
|
hanbing:'寒冰剑',
|
||||||
|
renwang:'仁王盾',
|
||||||
|
hanbing_bg:'冰',
|
||||||
|
renwang_bg:'盾',
|
||||||
|
hanbing_skill:'寒冰剑',
|
||||||
|
renwang_skill:'仁王盾',
|
||||||
|
hanbing_info:'每当你使用杀命中目标后,你可以防止伤害,改为弃置目标两张牌',
|
||||||
|
hanbing_skill_info:'每当你使用杀命中目标后,你可以防止伤害,改为弃置目标两张牌',
|
||||||
|
renwang_info:'黑色的杀对你无效',
|
||||||
|
renwang_skill_info:'黑色的杀对你无效',
|
||||||
sha_info:'出牌阶段,对攻击范围内的一名角色使用,令其打出一张【闪】或受到一点伤害。',
|
sha_info:'出牌阶段,对攻击范围内的一名角色使用,令其打出一张【闪】或受到一点伤害。',
|
||||||
shan_info:'闪避一张杀',
|
shan_info:'闪避一张杀',
|
||||||
tao_info:'出牌阶段,对自己使用,回复一点体力。',
|
tao_info:'出牌阶段,对自己使用,回复一点体力。',
|
||||||
|
@ -1878,6 +1974,9 @@ card.standard={
|
||||||
["club",6,'lebu'],
|
["club",6,'lebu'],
|
||||||
["heart",6,'lebu'],
|
["heart",6,'lebu'],
|
||||||
["spade",1,'shandian','thunder'],
|
["spade",1,'shandian','thunder'],
|
||||||
|
["spade",2,'hanbing'],
|
||||||
|
["club",2,'renwang'],
|
||||||
|
["heart",12,'shandian','thunder'],
|
||||||
|
["diamond",12,'wuxie'],
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
1120
card/swd.js
1120
card/swd.js
File diff suppressed because it is too large
Load Diff
888
card/yunchou.js
888
card/yunchou.js
|
@ -1,102 +1,5 @@
|
||||||
card.yunchou={
|
card.yunchou={
|
||||||
card:{
|
card:{
|
||||||
lingjiandai:{
|
|
||||||
fullskin:true,
|
|
||||||
enable:true,
|
|
||||||
type:'basic',
|
|
||||||
range:{global:1},
|
|
||||||
filterTarget:true,
|
|
||||||
content:function(){
|
|
||||||
var list=get.typeCard('hslingjian');
|
|
||||||
if(list.length){
|
|
||||||
list=list.randomGets(3);
|
|
||||||
for(var i=0;i<list.length;i++){
|
|
||||||
list[i]=game.createCard(list[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
target.gain(list,'gain2');
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:10,
|
|
||||||
result:{
|
|
||||||
target:function(player,target){
|
|
||||||
if(target==player&&target.num('h',{type:'equip'})) return 2.5;
|
|
||||||
if(target.hasSkill('mujiaren_skill')) return 2;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
jiguanshu:{
|
|
||||||
fullskin:true,
|
|
||||||
enable:true,
|
|
||||||
type:'basic',
|
|
||||||
range:{global:1},
|
|
||||||
filterTarget:function(card,player,target){
|
|
||||||
var es=target.get('e');
|
|
||||||
for(var i=0;i<es.length;i++){
|
|
||||||
if(lib.inpile.contains(es[i].name)) return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
var es=target.get('e');
|
|
||||||
var list=get.typeCard('hslingjian');
|
|
||||||
var cards=[];
|
|
||||||
var time=0;
|
|
||||||
for(var i=0;i<es.length;i++){
|
|
||||||
if(lib.inpile.contains(es[i].name)){
|
|
||||||
var card=game.createCard(list.randomGet());
|
|
||||||
cards.push(card);
|
|
||||||
time+=200;
|
|
||||||
setTimeout((function(card,name){
|
|
||||||
return function(){
|
|
||||||
card.init([card.suit,card.number,name,card.nature]);
|
|
||||||
card.style.transform='scale(1.1)';
|
|
||||||
card.classList.add('glow');
|
|
||||||
setTimeout(function(){
|
|
||||||
card.style.transform='';
|
|
||||||
card.classList.remove('glow');
|
|
||||||
},500);
|
|
||||||
}
|
|
||||||
}(es[i],lib.skill._lingjianduanzao.process([card,es[i]]))),i*200);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
target.$gain2(cards);
|
|
||||||
game.delay(0,time)
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:7.5,
|
|
||||||
result:{
|
|
||||||
target:function(player,target){
|
|
||||||
var es=target.get('e');
|
|
||||||
var num=0;
|
|
||||||
for(var i=0;i<es.length;i++){
|
|
||||||
if(lib.inpile.contains(es[i].name)) num++;
|
|
||||||
}
|
|
||||||
return num;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
mujiaren:{
|
|
||||||
fullskin:true,
|
|
||||||
enable:true,
|
|
||||||
type:'basic',
|
|
||||||
range:{global:1},
|
|
||||||
filterTarget:function(card,player,target){
|
|
||||||
return !target.hasSkill('mujiaren_skill');
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
target.addSkill('mujiaren_skill');
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:10.1,
|
|
||||||
result:{
|
|
||||||
target:1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
suolianjia:{
|
suolianjia:{
|
||||||
fullskin:true,
|
fullskin:true,
|
||||||
type:"equip",
|
type:"equip",
|
||||||
|
@ -774,718 +677,8 @@ card.yunchou={
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
hslingjian_xuanfengzhiren:{
|
|
||||||
type:'hslingjian',
|
|
||||||
fullimage:true,
|
|
||||||
vanish:true,
|
|
||||||
enable:true,
|
|
||||||
derivation:true,
|
|
||||||
filterTarget:function(card,player,target){
|
|
||||||
return target.num('he')>0;
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
target.discard(target.get('he').randomGet());
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:6.5,
|
|
||||||
result:{
|
|
||||||
target:-1,
|
|
||||||
},
|
|
||||||
useful:[2,0.5],
|
|
||||||
value:[2,0.5],
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_zhongxinghujia:{
|
|
||||||
type:'hslingjian',
|
|
||||||
fullimage:true,
|
|
||||||
vanish:true,
|
|
||||||
enable:true,
|
|
||||||
derivation:true,
|
|
||||||
filterTarget:true,
|
|
||||||
content:function(){
|
|
||||||
'step 0'
|
|
||||||
var list=[];
|
|
||||||
for(var i=0;i<lib.inpile.length;i++){
|
|
||||||
if(lib.card[lib.inpile[i]].subtype=='equip2'){
|
|
||||||
list.push(lib.inpile[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(list.length){
|
|
||||||
var card=game.createCard(list.randomGet());
|
|
||||||
target.$draw(card);
|
|
||||||
game.delay();
|
|
||||||
target.equip(card);
|
|
||||||
}
|
|
||||||
'step 1'
|
|
||||||
var hs=target.get('h');
|
|
||||||
if(hs.length){
|
|
||||||
target.discard(hs.randomGet());
|
|
||||||
}
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:1,
|
|
||||||
result:{
|
|
||||||
target:function(player,target){
|
|
||||||
if(target.get('e','2')){
|
|
||||||
if(target.num('h')) return -0.6;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
if(target.num('h')) return 0.5;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
useful:[2,0.5],
|
|
||||||
value:[2,0.5],
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_xingtigaizao:{
|
|
||||||
type:'hslingjian',
|
|
||||||
fullimage:true,
|
|
||||||
vanish:true,
|
|
||||||
enable:true,
|
|
||||||
derivation:true,
|
|
||||||
filterTarget:function(card,player,target){
|
|
||||||
return target==player;
|
|
||||||
},
|
|
||||||
selectTarget:-1,
|
|
||||||
content:function(){
|
|
||||||
target.draw();
|
|
||||||
target.addSkill('hslingjian_xingtigaizao');
|
|
||||||
if(typeof target.storage.hslingjian_xingtigaizao=='number'){
|
|
||||||
target.storage.hslingjian_xingtigaizao++;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
target.storage.hslingjian_xingtigaizao=1;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:1,
|
|
||||||
result:{
|
|
||||||
target:function(player,target){
|
|
||||||
if(target.num('h')<target.hp) return 1;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
useful:[2,0.5],
|
|
||||||
value:[2,0.5],
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_shijianhuisu:{
|
|
||||||
type:'hslingjian',
|
|
||||||
fullimage:true,
|
|
||||||
vanish:true,
|
|
||||||
enable:true,
|
|
||||||
derivation:true,
|
|
||||||
filterTarget:function(card,player,target){
|
|
||||||
return target!=player&&target.num('e')>0;
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
var es=target.get('e');
|
|
||||||
target.gain(es);
|
|
||||||
target.$gain2(es);
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:5,
|
|
||||||
result:{
|
|
||||||
target:function(player,target){
|
|
||||||
if(target.hasSkillTag('noe')) return target.num('e')*2;
|
|
||||||
return -target.num('e');
|
|
||||||
}
|
|
||||||
},
|
|
||||||
useful:[2,0.5],
|
|
||||||
value:[2,0.5],
|
|
||||||
tag:{
|
|
||||||
loseCard:1,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_jinjilengdong:{
|
|
||||||
type:'hslingjian',
|
|
||||||
fullimage:true,
|
|
||||||
vanish:true,
|
|
||||||
enable:true,
|
|
||||||
derivation:true,
|
|
||||||
filterTarget:function(card,player,target){
|
|
||||||
return !target.isTurnedOver()&&target!=player;
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
target.draw(2);
|
|
||||||
target.turnOver();
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:2,
|
|
||||||
result:{
|
|
||||||
target:-1,
|
|
||||||
},
|
|
||||||
useful:[2,0.5],
|
|
||||||
value:[2,0.5],
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_shengxiuhaojiao:{
|
|
||||||
type:'hslingjian',
|
|
||||||
fullimage:true,
|
|
||||||
vanish:true,
|
|
||||||
enable:true,
|
|
||||||
derivation:true,
|
|
||||||
filterTarget:function(card,player,target){
|
|
||||||
return !target.hasSkill('hslingjian_chaofeng');
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
target.addTempSkill('hslingjian_chaofeng',{player:'phaseBegin'});
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:2,
|
|
||||||
result:{
|
|
||||||
target:function(player,target){
|
|
||||||
if(get.distance(player,target,'absolute')<=1) return 0;
|
|
||||||
if(target.num('h')<=target.hp) return -0.1;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
useful:[2,0.5],
|
|
||||||
value:[2,0.5],
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_yinmilichang:{
|
|
||||||
type:'hslingjian',
|
|
||||||
fullimage:true,
|
|
||||||
vanish:true,
|
|
||||||
enable:true,
|
|
||||||
derivation:true,
|
|
||||||
filterTarget:function(card,player,target){
|
|
||||||
return player!=target&&!target.hasSkill('hslingjian_yinshen');
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
target.addTempSkill('hslingjian_yinshen',{player:'phaseBegin'});
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:2,
|
|
||||||
result:{
|
|
||||||
target:function(player,target){
|
|
||||||
if(get.distance(player,target,'absolute')<=1) return 0;
|
|
||||||
if(target.hp==1) return 2;
|
|
||||||
if(target.hp==2&&target.num('h')<=2) return 1.2;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
useful:[2,0.5],
|
|
||||||
value:[2,0.5],
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
skill:{
|
skill:{
|
||||||
hslingjian_xuanfengzhiren_equip1:{
|
|
||||||
trigger:{source:'damageEnd'},
|
|
||||||
forced:true,
|
|
||||||
filter:function(event){
|
|
||||||
return event.card&&event.card.name=='sha'&&event.player.num('he');
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
trigger.player.discard(trigger.player.get('he').randomGet());
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_xuanfengzhiren_equip2:{
|
|
||||||
trigger:{player:'damageEnd'},
|
|
||||||
forced:true,
|
|
||||||
filter:function(event){
|
|
||||||
return event.card&&event.card.name=='sha'&&event.source&&event.source.num('he');
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
trigger.source.discard(trigger.source.get('he').randomGet());
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_xuanfengzhiren_equip3:{
|
|
||||||
trigger:{player:'loseAfter'},
|
|
||||||
forced:true,
|
|
||||||
filter:function(event,player){
|
|
||||||
return _status.currentPhase!=player&&!player.hasSkill('hslingjian_xuanfengzhiren_equip3_dist');
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
player.addTempSkill('hslingjian_xuanfengzhiren_equip3_dist','phaseAfter');
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_xuanfengzhiren_equip3_dist:{
|
|
||||||
mod:{
|
|
||||||
globalTo:function(from,to,distance){
|
|
||||||
return distance+1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_xuanfengzhiren_equip4:{
|
|
||||||
trigger:{player:'loseAfter'},
|
|
||||||
forced:true,
|
|
||||||
filter:function(event,player){
|
|
||||||
return _status.currentPhase==player&&!player.hasSkill('hslingjian_xuanfengzhiren_equip4_dist');
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
player.addTempSkill('hslingjian_xuanfengzhiren_equip4_dist','phaseAfter');
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_xuanfengzhiren_equip4_dist:{
|
|
||||||
mod:{
|
|
||||||
globalFrom:function(from,to,distance){
|
|
||||||
return distance-1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_xuanfengzhiren_equip5:{
|
|
||||||
enable:'phaseUse',
|
|
||||||
usable:1,
|
|
||||||
filterCard:true,
|
|
||||||
position:'he',
|
|
||||||
filter:function(event,player){
|
|
||||||
return player.num('he')>0;
|
|
||||||
},
|
|
||||||
filterTarget:function(card,player,target){
|
|
||||||
return target.num('he')>0;
|
|
||||||
},
|
|
||||||
check:function(card){
|
|
||||||
return 5-ai.get.value(card);
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
target.discard(target.get('he').randomGet());
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:5,
|
|
||||||
result:{
|
|
||||||
target:function(player,target){
|
|
||||||
var dh=player.num('he')-target.num('he');
|
|
||||||
if(dh>0){
|
|
||||||
return -Math.sqrt(dh);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_zhongxinghujia_equip1:{
|
|
||||||
trigger:{source:'damageEnd'},
|
|
||||||
check:function(event,player){
|
|
||||||
return !player.get('e','2');
|
|
||||||
},
|
|
||||||
filter:function(event){
|
|
||||||
return event.card&&event.card.name=='sha';
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
var card=game.createCard(get.inpile('equip2').randomGet());
|
|
||||||
player.equip(card);
|
|
||||||
player.$draw(card);
|
|
||||||
game.delay();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_zhongxinghujia_equip2:{
|
|
||||||
trigger:{player:'damageEnd'},
|
|
||||||
check:function(event,player){
|
|
||||||
return ai.get.attitude(player,event.source)<0;
|
|
||||||
},
|
|
||||||
filter:function(event){
|
|
||||||
return event.card&&event.card.name=='sha'&&event.source&&event.source.get('e','2');
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
player.line(trigger.source,'green');
|
|
||||||
trigger.source.discard(trigger.source.get('e','2'));
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_zhongxinghujia_equip3:{
|
|
||||||
mod:{
|
|
||||||
globalTo:function(from,to,distance){
|
|
||||||
if(to.get('e','2')) return distance+1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_zhongxinghujia_equip4:{
|
|
||||||
mod:{
|
|
||||||
globalFrom:function(from,to,distance){
|
|
||||||
if(from.get('e','2')) return distance-1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_zhongxinghujia_equip5:{
|
|
||||||
enable:'phaseUse',
|
|
||||||
usable:1,
|
|
||||||
filterCard:true,
|
|
||||||
position:'he',
|
|
||||||
filterTarget:true,
|
|
||||||
selectCard:2,
|
|
||||||
filter:function(event,player){
|
|
||||||
return player.num('he')>=2;
|
|
||||||
},
|
|
||||||
check:function(card){
|
|
||||||
return 5-ai.get.value(card);
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
var card=game.createCard(get.inpile('equip2').randomGet());
|
|
||||||
target.equip(card);
|
|
||||||
target.$draw(card);
|
|
||||||
game.delay();
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:1,
|
|
||||||
result:{
|
|
||||||
target:function(player,target){
|
|
||||||
if(target.get('e','2')) return 0;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_jinjilengdong_equip1:{
|
|
||||||
trigger:{source:'damageEnd'},
|
|
||||||
check:function(event,player){
|
|
||||||
if(event.player.isTurnedOver()){
|
|
||||||
return ai.get.attitude(player,event.player)>0;
|
|
||||||
}
|
|
||||||
return ai.get.attitude(player,event.player)<=0;
|
|
||||||
},
|
|
||||||
filter:function(event){
|
|
||||||
return event.card&&event.card.name=='sha'&&event.player&&event.player.isAlive();
|
|
||||||
},
|
|
||||||
logTarget:function(event){
|
|
||||||
return event.player;
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
trigger.player.draw(2);
|
|
||||||
trigger.player.turnOver();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_jinjilengdong_equip2:{
|
|
||||||
trigger:{player:'damageEnd'},
|
|
||||||
check:function(event,player){
|
|
||||||
if(event.player.isTurnedOver()){
|
|
||||||
return ai.get.attitude(player,event.source)>0;
|
|
||||||
}
|
|
||||||
return ai.get.attitude(player,event.source)<=0;
|
|
||||||
},
|
|
||||||
filter:function(event){
|
|
||||||
return event.card&&event.card.name=='sha'&&event.source&&event.source.isAlive();
|
|
||||||
},
|
|
||||||
logTarget:function(event){
|
|
||||||
return event.source;
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
player.line(trigger.source,'green');
|
|
||||||
trigger.source.draw(2);
|
|
||||||
trigger.source.turnOver();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_jinjilengdong_equip3:{
|
|
||||||
mod:{
|
|
||||||
globalTo:function(from,to,distance){
|
|
||||||
if(to.isTurnedOver()) return distance+2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_jinjilengdong_equip4:{
|
|
||||||
mod:{
|
|
||||||
globalFrom:function(from,to,distance){
|
|
||||||
if(from.isTurnedOver()) return distance-2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_jinjilengdong_equip5:{
|
|
||||||
trigger:{player:'phaseAfter'},
|
|
||||||
direct:true,
|
|
||||||
filter:function(event,player){
|
|
||||||
return !player.isTurnedOver();
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
"step 0"
|
|
||||||
player.chooseTarget('是否发动【冰冻】?',function(card,player,target){
|
|
||||||
return player!=target&&!target.isTurnedOver();
|
|
||||||
}).ai=function(target){
|
|
||||||
return Math.max(0,-ai.get.attitude(player,target)-2);
|
|
||||||
};
|
|
||||||
"step 1"
|
|
||||||
if(result.bool){
|
|
||||||
player.logSkill('hslingjian_jinjilengdong_equip5',result.targets);
|
|
||||||
player.turnOver();
|
|
||||||
result.targets[0].turnOver();
|
|
||||||
game.asyncDraw([player,result.targets[0]],2);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
hslingjian_yinmilichang_equip1:{},
|
|
||||||
hslingjian_yinmilichang_equip2:{},
|
|
||||||
hslingjian_yinmilichang_equip3:{},
|
|
||||||
hslingjian_yinmilichang_equip4:{},
|
|
||||||
hslingjian_yinmilichang_equip5:{},
|
|
||||||
hslingjian_xingtigaizao_equip1:{},
|
|
||||||
hslingjian_xingtigaizao_equip2:{},
|
|
||||||
hslingjian_xingtigaizao_equip3:{},
|
|
||||||
hslingjian_xingtigaizao_equip4:{},
|
|
||||||
hslingjian_xingtigaizao_equip5:{},
|
|
||||||
hslingjian_shengxiuhaojiao_equip1:{},
|
|
||||||
hslingjian_shengxiuhaojiao_equip2:{},
|
|
||||||
hslingjian_shengxiuhaojiao_equip3:{},
|
|
||||||
hslingjian_shengxiuhaojiao_equip4:{},
|
|
||||||
hslingjian_shengxiuhaojiao_equip5:{},
|
|
||||||
hslingjian_shijianhuisu_equip1:{},
|
|
||||||
hslingjian_shijianhuisu_equip2:{},
|
|
||||||
hslingjian_shijianhuisu_equip3:{},
|
|
||||||
hslingjian_shijianhuisu_equip4:{},
|
|
||||||
hslingjian_shijianhuisu_equip5:{},
|
|
||||||
mujiaren_skill:{
|
|
||||||
enable:'phaseUse',
|
|
||||||
filter:function(event,player){
|
|
||||||
return player.num('h',{type:'hslingjian'})>=2;
|
|
||||||
},
|
|
||||||
filterCard:{type:'hslingjian'},
|
|
||||||
selectCard:2,
|
|
||||||
content:function(){
|
|
||||||
player.gain(game.createCard('jiguanshu'));
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:7,
|
|
||||||
result:{
|
|
||||||
player:function(player){
|
|
||||||
for(var i=0;i<game.players.length;i++){
|
|
||||||
if(player.canUse('jiguanshu',game.players[i])&&
|
|
||||||
ai.get.effect(game.players[i],{name:'jiguanshu'},player,player>0)){
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
_lingjianduanzao:{
|
|
||||||
enable:'phaseUse',
|
|
||||||
position:'he',
|
|
||||||
prompt:function(event){
|
|
||||||
var lingjians=[],types=[];
|
|
||||||
var hs=event.player.get('h');
|
|
||||||
for(var i=0;i<hs.length;i++){
|
|
||||||
switch(get.type(hs[i])){
|
|
||||||
case 'equip':types.add(get.subtype(hs[i]));break;
|
|
||||||
case 'hslingjian':lingjians.add(hs[i].name);break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
var str='';
|
|
||||||
for(var i=0;i<lingjians.length;i++){
|
|
||||||
for(var j=0;j<types.length;j++){
|
|
||||||
if(j==0){
|
|
||||||
str+='<p class="shadowed" style="text-align:left;line-height:18px;padding:5px;border-radius:4px;margin-top:0px;margin-bottom:12px;">';
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
str+='<p class="shadowed" style="text-align:left;line-height:18px;padding:5px;border-radius:4px;margin-top:12px;margin-bottom:12px;">';
|
|
||||||
}
|
|
||||||
str+=''+lib.translate[lingjians[i]]+'+'+lib.translate[types[j]]+
|
|
||||||
':'+lib.translate[lingjians[i]+'_'+types[j]+'_info']+'</p>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return str;
|
|
||||||
},
|
|
||||||
check:function(card){
|
|
||||||
return 1+ai.get.value(card);
|
|
||||||
},
|
|
||||||
filterCard:function(card){
|
|
||||||
var type=get.type(card);
|
|
||||||
if(!ui.selected.cards.length){
|
|
||||||
return type=='equip'&&lib.inpile.contains(card.name);
|
|
||||||
}
|
|
||||||
return type=='hslingjian';
|
|
||||||
},
|
|
||||||
process:function(cards){
|
|
||||||
if(cards.length==3){
|
|
||||||
cards.sort(function(a,b){
|
|
||||||
if(a.name<b.name) return 1;
|
|
||||||
return -1;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
var equip;
|
|
||||||
for(var i=0;i<cards.length;i++){
|
|
||||||
if(get.type(cards[i])=='equip'){
|
|
||||||
equip=cards[i];
|
|
||||||
cards.splice(i--,1);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
var name=equip.name;
|
|
||||||
var equipname=equip.name;
|
|
||||||
for(var i=0;i<cards.length;i++){
|
|
||||||
name+=cards[i].name.slice(10);
|
|
||||||
}
|
|
||||||
if(lib.card[name]) return name;
|
|
||||||
lib.card[name]={};
|
|
||||||
for(var i in lib.card[equip.name]){
|
|
||||||
if(i=='ai'){
|
|
||||||
lib.card[name][i]={};
|
|
||||||
for(var j in lib.card[equip.name][i]){
|
|
||||||
if(j=='basic'){
|
|
||||||
lib.card[name][i][j]={};
|
|
||||||
for(var k in lib.card[equip.name][i][j]){
|
|
||||||
lib.card[name][i][j][k]=lib.card[equip.name][i][j][k];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
lib.card[name][i][j]=lib.card[equip.name][i][j];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
lib.card[name][i]=lib.card[equip.name][i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
lib.card[name].cardimage=equip.name;
|
|
||||||
if(cards.length==2){
|
|
||||||
lib.card[name].legend=true;
|
|
||||||
if(typeof lib.card[name].ai.equipValue=='number'){
|
|
||||||
lib.card[name].ai.equipValue=Math.min(10,lib.card[name].ai.equipValue+3);
|
|
||||||
}
|
|
||||||
else if(typeof lib.card[name].ai.equipValue=='function'){
|
|
||||||
lib.card[name].ai.equipValue=function(){
|
|
||||||
return lib.card[equipname].ai.equipValue.apply(this,arguments)+2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if(lib.card[name].ai.basic&&typeof lib.card[name].ai.basic.equipValue=='number'){
|
|
||||||
lib.card[name].ai.basic.equipValue=Math.min(10,lib.card[name].ai.basic.equipValue+3);
|
|
||||||
}
|
|
||||||
else if(lib.card[name].ai.basic&&typeof lib.card[name].ai.basic.equipValue=='function'){
|
|
||||||
lib.card[name].ai.basic.equipValue=function(){
|
|
||||||
return lib.card[equipname].ai.basic.equipValue.apply(this,arguments)+2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
lib.card[name].epic=true;
|
|
||||||
if(typeof lib.card[name].ai.equipValue=='number'){
|
|
||||||
lib.card[name].ai.equipValue=Math.min(10,lib.card[name].ai.equipValue+1);
|
|
||||||
}
|
|
||||||
else if(typeof lib.card[name].ai.equipValue=='function'){
|
|
||||||
lib.card[name].ai.equipValue=function(){
|
|
||||||
return lib.card[equipname].ai.equipValue.apply(this,arguments)+1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if(lib.card[name].ai.basic&&typeof lib.card[name].ai.basic.equipValue=='number'){
|
|
||||||
lib.card[name].ai.basic.equipValue=Math.min(10,lib.card[name].ai.basic.equipValue+1);
|
|
||||||
}
|
|
||||||
else if(lib.card[name].ai.basic&&typeof lib.card[name].ai.basic.equipValue=='function'){
|
|
||||||
lib.card[name].ai.basic.equipValue=function(){
|
|
||||||
return lib.card[equipname].ai.basic.equipValue.apply(this,arguments)+1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(Array.isArray(lib.card[name].skills)){
|
|
||||||
lib.card[name].skills=lib.card[name].skills.slice(0);
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
lib.card[name].skills=[];
|
|
||||||
}
|
|
||||||
lib.card[name].filterTarget=true;
|
|
||||||
lib.card[name].selectTarget=1;
|
|
||||||
lib.card[name].range={global:1};
|
|
||||||
var str;
|
|
||||||
if(cards.length==2){
|
|
||||||
str=lib.translate[cards[0].name+'_duanzao2']+lib.translate[cards[1].name+'_duanzao2'];
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
str=lib.translate[cards[0].name+'_duanzao'];
|
|
||||||
}
|
|
||||||
var str2=lib.translate[equip.name];
|
|
||||||
if(str2.length>2){
|
|
||||||
str2=str2.slice(0,2);
|
|
||||||
}
|
|
||||||
lib.translate[name]=str+str2;
|
|
||||||
str2=lib.translate[equip.name+'_info']||'';
|
|
||||||
if(str2[str2.length-1]=='.'||str2[str2.length-1]=='。'){
|
|
||||||
str2=str2.slice(0,str2.length-1);
|
|
||||||
}
|
|
||||||
for(var i=0;i<cards.length;i++){
|
|
||||||
var name2=cards[i].name+'_'+get.subtype(equip);
|
|
||||||
lib.card[name].skills.add(name2);
|
|
||||||
lib.translate[name2]=lib.translate[cards[i].name+'_duanzao'];
|
|
||||||
str2+=';'+lib.translate[name2+'_info'];
|
|
||||||
}
|
|
||||||
lib.translate[name+'_info']=str2;
|
|
||||||
return name;
|
|
||||||
},
|
|
||||||
selectCard:function(){
|
|
||||||
if(_status.event.player.hasSkill('mujiaren_skill')) return [2,3];
|
|
||||||
return 2;
|
|
||||||
},
|
|
||||||
filter:function(event,player){
|
|
||||||
return player.num('h',{type:'equip'})&&player.num('h',{type:'hslingjian'});
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
var name=lib.skill._lingjianduanzao.process(cards);
|
|
||||||
game.me.gain(game.createCard(name),'gain2');
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:10,
|
|
||||||
result:{
|
|
||||||
player:1,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_yinshen:{
|
|
||||||
mark:true,
|
|
||||||
nopop:true,
|
|
||||||
intro:{
|
|
||||||
content:'锁定技,你不能成为其他角色的卡牌的目标'
|
|
||||||
},
|
|
||||||
mod:{
|
|
||||||
targetEnabled:function(card,player,target){
|
|
||||||
if(player!=target) return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_chaofeng:{
|
|
||||||
global:'hslingjian_chaofeng_disable',
|
|
||||||
nopop:true,
|
|
||||||
unique:true,
|
|
||||||
gainnable:true,
|
|
||||||
mark:true,
|
|
||||||
intro:{
|
|
||||||
content:'锁定技,若你的手牌数大于你的体力值,则只要你在任一其他角色的攻击范围内,该角色使用【杀】时便不能指定你以外的角色为目标',
|
|
||||||
},
|
|
||||||
subSkill:{
|
|
||||||
disable:{
|
|
||||||
mod:{
|
|
||||||
targetEnabled:function(card,player,target){
|
|
||||||
if(player.skills.contains('hslingjian_chaofeng')) return;
|
|
||||||
if(card.name=='sha'){
|
|
||||||
if(target.skills.contains('hslingjian_chaofeng')) return;
|
|
||||||
for(var i=0;i<game.players.length;i++){
|
|
||||||
if(game.players[i].skills.contains('hslingjian_chaofeng')){
|
|
||||||
if(game.players[i].hp<game.players[i].num('h')&&
|
|
||||||
get.distance(player,game.players[i],'attack')<=1){
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
hslingjian_xingtigaizao:{
|
|
||||||
nopop:true,
|
|
||||||
mod:{
|
|
||||||
maxHandcard:function(player,num){
|
|
||||||
if(typeof player.storage.hslingjian_xingtigaizao=='number'){
|
|
||||||
return num-player.storage.hslingjian_xingtigaizao;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
mark:true,
|
|
||||||
intro:{
|
|
||||||
content:function(storage){
|
|
||||||
return '手牌上限-'+storage;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
trigger:{player:'phaseEnd'},
|
|
||||||
forced:true,
|
|
||||||
popup:false,
|
|
||||||
silent:true,
|
|
||||||
content:function(){
|
|
||||||
player.removeSkill('hslingjian_xingtigaizao');
|
|
||||||
player.storage.hslingjian_xingtigaizao=0;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
suolianjia:{
|
suolianjia:{
|
||||||
trigger:{player:'damageBefore'},
|
trigger:{player:'damageBefore'},
|
||||||
filter:function(event){
|
filter:function(event){
|
||||||
|
@ -1584,88 +777,7 @@ card.yunchou={
|
||||||
check:function(){return 1},
|
check:function(){return 1},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
cardType:{
|
|
||||||
hslingjian:0.5,
|
|
||||||
},
|
|
||||||
translate:{
|
translate:{
|
||||||
hslingjian_xuanfengzhiren_duanzao:'风刃',
|
|
||||||
hslingjian_xuanfengzhiren_duanzao2:'风',
|
|
||||||
hslingjian_xuanfengzhiren_equip1_info:'每当你用杀造成一次伤害,受伤害角色随机弃置一张牌',
|
|
||||||
hslingjian_xuanfengzhiren_equip2_info:'每当你受到杀造成的伤害,伤害来源随机弃置一张牌',
|
|
||||||
hslingjian_xuanfengzhiren_equip3_info:'当你于回合外失去牌后,你本回合的防御距离+1',
|
|
||||||
hslingjian_xuanfengzhiren_equip4_info:'当你于回合内失去牌后,你本回合的进攻距离+1',
|
|
||||||
hslingjian_xuanfengzhiren_equip5_info:'出牌阶段限一次,你可以弃置一张牌,然后随机弃置一名其他角色的一张牌',
|
|
||||||
hslingjian_zhongxinghujia_duanzao:'重甲',
|
|
||||||
hslingjian_zhongxinghujia_duanzao2:'护',
|
|
||||||
hslingjian_zhongxinghujia_equip1_info:'每当你用杀造成一次伤害,你可以随机装备一件防具牌',
|
|
||||||
hslingjian_zhongxinghujia_equip2_info:'每当你受到杀造成的伤害,你可以弃置伤害来源的防具牌',
|
|
||||||
hslingjian_zhongxinghujia_equip3_info:'当你的装备区内有防具牌时,你的防御距离+1',
|
|
||||||
hslingjian_zhongxinghujia_equip4_info:'当你的装备区内有防具牌时,你的进攻距离+1',
|
|
||||||
hslingjian_zhongxinghujia_equip5_info:'出牌阶段限一次,你可以弃置两张牌,然后令一名角色随机装备一件防具',
|
|
||||||
hslingjian_jinjilengdong_duanzao:'冰冻',
|
|
||||||
hslingjian_jinjilengdong_duanzao2:'冰',
|
|
||||||
hslingjian_jinjilengdong_equip1_info:'每当你用杀造成一次伤害,你可以令目标摸两张牌并翻面',
|
|
||||||
hslingjian_jinjilengdong_equip2_info:'每当你受到杀造成的伤害,你可以令伤害来源摸两张牌并翻面',
|
|
||||||
hslingjian_jinjilengdong_equip3_info:'你的武将牌背面朝上时防御距离+2',
|
|
||||||
hslingjian_jinjilengdong_equip4_info:'你的武将牌背面朝上时进攻距离+2',
|
|
||||||
hslingjian_jinjilengdong_equip5_info:'回合结束后,若你的武将牌正面朝上,你可以与一名武将牌正面朝上的其他角色同时翻面,然后各摸两张牌',
|
|
||||||
hslingjian_yinmilichang_duanzao:'隐力',
|
|
||||||
hslingjian_yinmilichang_duanzao2:'隐',
|
|
||||||
hslingjian_yinmilichang_equip1_info:'每当你用杀造成一次伤害,你获得潜行直到下一回合开始',
|
|
||||||
hslingjian_yinmilichang_equip2_info:'每当你受到杀造成的伤害,你本回合内获得潜行',
|
|
||||||
hslingjian_yinmilichang_equip3_info:'当你的体力值为1时,你的防御距离+1',
|
|
||||||
hslingjian_yinmilichang_equip4_info:'当你的体力值为1时,你的进攻距离+1',
|
|
||||||
hslingjian_yinmilichang_equip5_info:'当你没有手牌时,你不能成为杀或决斗的目标',
|
|
||||||
hslingjian_xingtigaizao_duanzao:'移形',
|
|
||||||
hslingjian_xingtigaizao_duanzao2:'形',
|
|
||||||
hslingjian_xingtigaizao_equip1_info:'每当你用杀造成一次伤害,你摸一张牌',
|
|
||||||
hslingjian_xingtigaizao_equip2_info:'每当你受到杀造成的伤害,你摸一张牌',
|
|
||||||
hslingjian_xingtigaizao_equip3_info:'你的防御距离+1,进攻距离-1',
|
|
||||||
hslingjian_xingtigaizao_equip4_info:'你的防御距离-1,进攻距离+1',
|
|
||||||
hslingjian_xingtigaizao_equip5_info:'你于摸牌阶段额外摸一张牌;你的手牌上限-1',
|
|
||||||
hslingjian_shengxiuhaojiao_duanzao:'号角',
|
|
||||||
hslingjian_shengxiuhaojiao_duanzao2:'角',
|
|
||||||
hslingjian_shengxiuhaojiao_equip1_info:'有嘲讽的角色不能闪避你的杀',
|
|
||||||
hslingjian_shengxiuhaojiao_equip2_info:'有嘲讽的角色不能对你使用杀',
|
|
||||||
hslingjian_shengxiuhaojiao_equip3_info:'若你的手牌数大于你的体力值,你的防御距离+1',
|
|
||||||
hslingjian_shengxiuhaojiao_equip4_info:'若你的手牌数大于你的体力值,你的进攻距离+1',
|
|
||||||
hslingjian_shengxiuhaojiao_equip5_info:'出牌阶段限一次,你可以弃置一张牌,然后令一名角色获得或解除嘲讽',
|
|
||||||
hslingjian_shijianhuisu_duanzao:'回溯',
|
|
||||||
hslingjian_shijianhuisu_duanzao2:'溯',
|
|
||||||
hslingjian_shijianhuisu_equip1_info:'每当你使用杀指定目标后,你可以选择目标装备区内的一张牌,令其将此装备收回手牌',
|
|
||||||
hslingjian_shijianhuisu_equip2_info:'每当你成为杀的目标后,你可以选择使用者装备区内的一张牌,令其将此装备收回手牌,且本回合内不能再次装备',
|
|
||||||
hslingjian_shijianhuisu_equip3_info:'当你的装备区内没有其他牌时,你的防御距离+1',
|
|
||||||
hslingjian_shijianhuisu_equip4_info:'当你的装备区内没有其他牌时,你的进攻距离+1',
|
|
||||||
hslingjian_shijianhuisu_equip5_info:'出牌阶段限一次,你可以弃置一张牌,然后令一名其他角色将其装备区内的牌收回手牌',
|
|
||||||
_lingjianduanzao:'煅造',
|
|
||||||
_lingjianduanzao_info:'出牌阶段,你可以弃置一张装备牌和一张零件牌,并获得一件强化装备;强化装备可以装备给距离1以内的角色',
|
|
||||||
jiguanshu:'机关鼠',
|
|
||||||
jiguanshu_info:'出牌阶段对距离1以内的一名角色使用,用随机零件强化目标装备区内的装备',
|
|
||||||
lingjiandai:'零件袋',
|
|
||||||
lingjiandai_info:'出牌阶段对距离1以内的一名角色使用,目标获得3张随机零件',
|
|
||||||
mujiaren:'木甲人',
|
|
||||||
mujiaren_skill:'木甲人',
|
|
||||||
mujiaren_skill_info:'你在煅造装备时可以额外加入一个零件;你可以弃置两个零件并获得一个机关鼠',
|
|
||||||
mujiaren_info:'出牌阶段对距离1以内的一名角色使用,目标获得技能木甲人(你在煅造装备时可以额外加入一个零件;你可以弃置两个零件并获得一个机关鼠)',
|
|
||||||
hslingjian:'零件',
|
|
||||||
hslingjian_xuanfengzhiren:'旋风之刃',
|
|
||||||
hslingjian_xuanfengzhiren_info:'随机弃置一名角色的一张牌',
|
|
||||||
hslingjian_zhongxinghujia:'重型护甲',
|
|
||||||
hslingjian_zhongxinghujia_info:'令一名角色装备一件随机防具,然后随机弃置其一张手牌',
|
|
||||||
hslingjian_jinjilengdong:'紧急冷冻',
|
|
||||||
hslingjian_jinjilengdong_info:'令一名武将牌正面朝上的其他角色摸两张牌并翻面',
|
|
||||||
hslingjian_yinmilichang:'隐秘力场',
|
|
||||||
hslingjian_yinmilichang_info:'令一名其他角色获得技能潜行,直到其下一回合开始',
|
|
||||||
hslingjian_xingtigaizao:'型体改造',
|
|
||||||
hslingjian_xingtigaizao_info:'摸一张牌,本回合手牌上限-1',
|
|
||||||
hslingjian_shengxiuhaojiao:'生锈号角',
|
|
||||||
hslingjian_shengxiuhaojiao_info:'令一名角色获得技能嘲讽,直到其下一回合开始',
|
|
||||||
hslingjian_shijianhuisu:'时间回溯',
|
|
||||||
hslingjian_shijianhuisu_info:'令一名其他角色将其装备牌收回手牌',
|
|
||||||
hslingjian_chaofeng:'嘲讽',
|
|
||||||
hslingjian_chaofeng_info:'锁定技,若你的手牌数大于你的体力值,则只要你在任一其他角色的攻击范围内,该角色使用【杀】时便不能指定你以外的角色为目标',
|
|
||||||
hslingjian_yinshen:'潜行',
|
|
||||||
hslingjian_yinshen_info:'锁定技,你不能成为其他角色的卡牌的目标',
|
|
||||||
suolianjia:'锁链甲',
|
suolianjia:'锁链甲',
|
||||||
suolianjia_info:'锁定技,你防止即将受到的属性伤害,当装备时进入连环状态,当卸下时解除连环状态',
|
suolianjia_info:'锁定技,你防止即将受到的属性伤害,当装备时进入连环状态,当卸下时解除连环状态',
|
||||||
suolianjia_bg:'链',
|
suolianjia_bg:'链',
|
||||||
|
|
|
@ -4591,7 +4591,7 @@ character.swd={
|
||||||
target.discard(result.buttons[0].link);
|
target.discard(result.buttons[0].link);
|
||||||
target.draw();
|
target.draw();
|
||||||
if(player.num('he')) player.chooseToDiscard(true,'he');
|
if(player.num('he')) player.chooseToDiscard(true,'he');
|
||||||
player.logSkill('shengong');
|
player.logSkill('shengong',target);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
@ -6283,24 +6283,14 @@ character.swd={
|
||||||
},
|
},
|
||||||
lanzhi:{
|
lanzhi:{
|
||||||
trigger:{source:'damageBefore'},
|
trigger:{source:'damageBefore'},
|
||||||
filter:function(event,player){
|
|
||||||
return event.player!=player;
|
|
||||||
},
|
|
||||||
prompt:function(event){
|
prompt:function(event){
|
||||||
return '是否对'+get.translation(event.player)+'发动【兰芷】?';
|
return '是否对'+get.translation(event.player)+'发动【兰芷】?';
|
||||||
},
|
},
|
||||||
check:function(event,player){
|
check:function(event,player){
|
||||||
if(event.source==player){
|
if(player.hp==1&&event.player.hp>1) return true;
|
||||||
if(player.hp==1&&event.player.hp>1) return true;
|
var eff=ai.get.damageEffect(event.player,player,player);
|
||||||
var att=ai.get.attitude(player,event.player);
|
if(player.hp==player.maxHp) return eff<0;
|
||||||
if(player.hp==player.maxHp) return att>0;
|
return eff<=0;
|
||||||
return att>=0;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
if(player.hp==1||event.num>1) return true;
|
|
||||||
if(player.hp==2) return ai.get.attitude(player,event.player)>=-2;
|
|
||||||
return ai.get.attitude(player,event.player)>=0;
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
trigger.untrigger();
|
trigger.untrigger();
|
||||||
|
@ -8065,7 +8055,7 @@ character.swd={
|
||||||
guxing_info:'出牌阶段,你可以将最后至多X张手牌当杀使用,此杀无视距离且可以指定至多3个目标,每造成一次伤害,你摸一张牌,X为你已损失的体力值且至少为1。',
|
guxing_info:'出牌阶段,你可以将最后至多X张手牌当杀使用,此杀无视距离且可以指定至多3个目标,每造成一次伤害,你摸一张牌,X为你已损失的体力值且至少为1。',
|
||||||
tianlun_info:'任意一名角色的判定生效前,你可以弃置一张场上角色的判定牌代替之',
|
tianlun_info:'任意一名角色的判定生效前,你可以弃置一张场上角色的判定牌代替之',
|
||||||
hlongyin_info:'出牌阶段,你可以弃置任意张颜色相同且点数不同的牌,并获得逆时针座位距离与卡牌点数相同的角色区域内的一张牌。每阶段限一次',
|
hlongyin_info:'出牌阶段,你可以弃置任意张颜色相同且点数不同的牌,并获得逆时针座位距离与卡牌点数相同的角色区域内的一张牌。每阶段限一次',
|
||||||
lanzhi_info:'你对一名其他角色造成伤害时,你可以防止此伤害,然后回复一点体力',
|
lanzhi_info:'每当你即将造成伤害,你可以防止此伤害,然后回复一点体力',
|
||||||
lanzhi_old_info:'每当你即将造成伤害,可以防止此伤害,然后摸两张牌。每回合限发动一次。',
|
lanzhi_old_info:'每当你即将造成伤害,可以防止此伤害,然后摸两张牌。每回合限发动一次。',
|
||||||
tianhuo_info:'出牌阶段,你可以令所有角色弃置其判定区域内的牌,并受到没有来源的等量火焰伤害,每阶段限一次',
|
tianhuo_info:'出牌阶段,你可以令所有角色弃置其判定区域内的牌,并受到没有来源的等量火焰伤害,每阶段限一次',
|
||||||
huanyin_info:'锁定技,每当你成为其他角色的卡牌的目标时,你进行一次判定,若为黑桃则取消之,若为红桃你摸一张牌',
|
huanyin_info:'锁定技,每当你成为其他角色的卡牌的目标时,你进行一次判定,若为黑桃则取消之,若为红桃你摸一张牌',
|
||||||
|
|
19
game/game.js
19
game/game.js
|
@ -9708,6 +9708,7 @@
|
||||||
this.unmarkSkill(skill);
|
this.unmarkSkill(skill);
|
||||||
this.skills.remove(skill);
|
this.skills.remove(skill);
|
||||||
this.checkConflict();
|
this.checkConflict();
|
||||||
|
delete this.tempSkills[skill];
|
||||||
if(lib.skill[skill]&&lib.skill[skill].onremove){
|
if(lib.skill[skill]&&lib.skill[skill].onremove){
|
||||||
lib.skill[skill].onremove(this);
|
lib.skill[skill].onremove(this);
|
||||||
}
|
}
|
||||||
|
@ -14592,6 +14593,23 @@
|
||||||
ui.updatehl();
|
ui.updatehl();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
newcard:function(content){
|
||||||
|
if(content){
|
||||||
|
lib.translate[content.name]=content.translate;
|
||||||
|
lib.translate[content.name+'_info']=content.info;
|
||||||
|
lib.card[content.name]={};
|
||||||
|
lib.card[content.name].cardimage=content.card
|
||||||
|
for(var i in lib.card[content.card]){
|
||||||
|
lib.card[content.name][i]=lib.card[content.card][i];
|
||||||
|
}
|
||||||
|
if(content.legend){
|
||||||
|
lib.card[content.name].legend=true;
|
||||||
|
}
|
||||||
|
else if(content.epic){
|
||||||
|
lib.card[content.name].epic=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
playAudio:function(str){
|
playAudio:function(str){
|
||||||
game.playAudio(str,'video');
|
game.playAudio(str,'video');
|
||||||
},
|
},
|
||||||
|
@ -20818,6 +20836,7 @@
|
||||||
node.mode=mode;
|
node.mode=mode;
|
||||||
var list=[];
|
var list=[];
|
||||||
for(var i=0;i<info.length;i++){
|
for(var i=0;i<info.length;i++){
|
||||||
|
if(lib.card[info[i]].derivation&&mode!='mode_derivation') continue;
|
||||||
list.push(['',get.translation(get.type(info[i],'trick')),info[i]]);
|
list.push(['',get.translation(get.type(info[i],'trick')),info[i]]);
|
||||||
}
|
}
|
||||||
var cfgnode=createConfig({
|
var cfgnode=createConfig({
|
||||||
|
|
|
@ -18,11 +18,10 @@ character.pack={
|
||||||
};
|
};
|
||||||
card.pack={
|
card.pack={
|
||||||
standard:'标准',
|
standard:'标准',
|
||||||
ex:'EX',
|
|
||||||
extra:'军争',
|
extra:'军争',
|
||||||
refresh:'界限突破',
|
refresh:'界限突破',
|
||||||
guozhan:'国战',
|
guozhan:'国战',
|
||||||
mingzhong:'忠胆英杰',
|
mingzhong:'SP',
|
||||||
zhenfa:'阵法',
|
zhenfa:'阵法',
|
||||||
yunchou:'运筹帷幄',
|
yunchou:'运筹帷幄',
|
||||||
swd:'轩辕剑',
|
swd:'轩辕剑',
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
window.noname_source_list=[
|
window.noname_source_list=[
|
||||||
'card/compensate.js',
|
'card/compensate.js',
|
||||||
'card/ex.js',
|
|
||||||
'card/extra.js',
|
'card/extra.js',
|
||||||
'card/guozhan.js',
|
'card/guozhan.js',
|
||||||
'card/hearth.js',
|
'card/hearth.js',
|
||||||
|
|
|
@ -2,17 +2,21 @@ window.noname_update={
|
||||||
version:'1.8.17',
|
version:'1.8.17',
|
||||||
changeLog:[
|
changeLog:[
|
||||||
'修bug',
|
'修bug',
|
||||||
|
'新卡'
|
||||||
],
|
],
|
||||||
files:{
|
files:{
|
||||||
global:[
|
global:[
|
||||||
'game/game.js',
|
'game/game.js',
|
||||||
'game/asset.js',
|
'game/asset.js',
|
||||||
|
'game/package.js',
|
||||||
|
'game/source.js',
|
||||||
'character/hearth.js',
|
'character/hearth.js',
|
||||||
'character/swd.js',
|
'character/swd.js',
|
||||||
'character/sp.js',
|
'character/sp.js',
|
||||||
'card/swd.js',
|
'card/swd.js',
|
||||||
'card/hearth.js',
|
'card/hearth.js',
|
||||||
'card/yunchou.js',
|
'card/yunchou.js',
|
||||||
|
'card/standard.js',
|
||||||
'layout/default/layout.css',
|
'layout/default/layout.css',
|
||||||
'theme/woodden/style.css',
|
'theme/woodden/style.css',
|
||||||
],
|
],
|
||||||
|
|
Loading…
Reference in New Issue