1.7.11
|
@ -117,9 +117,7 @@ card.guozhan={
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
wuxie:function(){
|
wuxie:function(){
|
||||||
if(lib.config.mode=='guozhan'){
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
|
||||||
},
|
},
|
||||||
basic:{
|
basic:{
|
||||||
useful:3,
|
useful:3,
|
||||||
|
|
374
card/qimou.js
|
@ -1,374 +0,0 @@
|
||||||
'use strict';
|
|
||||||
card.qimou={
|
|
||||||
card:{
|
|
||||||
chenhuodajie:{
|
|
||||||
fullskin:true,
|
|
||||||
type:'trick',
|
|
||||||
content:function(){
|
|
||||||
if(target.num('he')){
|
|
||||||
player.gainPlayerCard('he',target,true);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:1,
|
|
||||||
useful:6,
|
|
||||||
value:6,
|
|
||||||
result:{
|
|
||||||
target:-1
|
|
||||||
},
|
|
||||||
tag:{
|
|
||||||
loseCard:1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
shushangkaihua:{
|
|
||||||
fullskin:true,
|
|
||||||
type:'trick',
|
|
||||||
enable:true,
|
|
||||||
selectTarget:-1,
|
|
||||||
multitarget:true,
|
|
||||||
multiline:true,
|
|
||||||
filterTarget:function(card,player,target){
|
|
||||||
if(player==target) return true;
|
|
||||||
var num=target.num('h');
|
|
||||||
for(var i=0;i<game.players.length;i++){
|
|
||||||
if(game.players[i].num('h')<num) return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
// target.draw();
|
|
||||||
game.asyncDraw(targets);
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:1,
|
|
||||||
value:5,
|
|
||||||
result:{
|
|
||||||
target:1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
huoshaolianying:{
|
|
||||||
fullskin:true,
|
|
||||||
type:'trick',
|
|
||||||
filterTarget:function(card,player,target){
|
|
||||||
if(player==target) return false;
|
|
||||||
var link=false;
|
|
||||||
for(var i=0;i<game.players.length;i++){
|
|
||||||
if(game.players[i].isLinked()&&game.players[i]!=player){
|
|
||||||
link=true;break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(link){
|
|
||||||
if(!target.isLinked()) return false;
|
|
||||||
var distance=get.distance(player,target,'absolute');
|
|
||||||
for(var i=0;i<game.players.length;i++){
|
|
||||||
if(target!=game.players[i]&&
|
|
||||||
game.players[i]!=player&&
|
|
||||||
game.players[i].isLinked()){
|
|
||||||
if(get.distance(player,game.players[i],'absolute')<distance){
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if(get.distance(player,game.players[i],'absolute')==distance&&
|
|
||||||
parseInt(game.players[i].dataset.position)<parseInt(target.dataset.position)){
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
var dist=get.distance(player,target);
|
|
||||||
for(var i=0;i<game.players.length;i++){
|
|
||||||
if(game.players[i]!=player&&get.distance(player,game.players[i])<dist) return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
enable:true,
|
|
||||||
selectTarget:-1,
|
|
||||||
content:function(){
|
|
||||||
target.damage('fire');
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:5,
|
|
||||||
value:6,
|
|
||||||
tag:{
|
|
||||||
damage:1,
|
|
||||||
natureDamage:1,
|
|
||||||
fireDamage:1,
|
|
||||||
},
|
|
||||||
result:{
|
|
||||||
target:function(player,target){
|
|
||||||
if(target.hasSkillTag('nofire')||target.hasSkillTag('nodamage')) return 0;
|
|
||||||
if(target.skills.contains('xuying')&&target.num('h')==0) return 0;
|
|
||||||
if(!target.isLinked()){
|
|
||||||
return ai.get.damageEffect(target,player,target,'fire');
|
|
||||||
}
|
|
||||||
var num=0;
|
|
||||||
for(var i=0;i<game.players.length;i++){
|
|
||||||
if(game.players[i].isLinked()){
|
|
||||||
var eff=ai.get.damageEffect(game.players[i],player,target,'fire');
|
|
||||||
if(eff>0){
|
|
||||||
num++;
|
|
||||||
}
|
|
||||||
else if(eff<0){
|
|
||||||
num--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return num;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
yihuajiemu:{
|
|
||||||
fullskin:true,
|
|
||||||
type:'trick',
|
|
||||||
enable:true,
|
|
||||||
filterTarget:function(card,player,target){
|
|
||||||
if(target.isMin()) return false;
|
|
||||||
if(ui.selected.targets.length){
|
|
||||||
return target.get('e',{subtype:'equip5'}).length==0;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
return target.get('e',{subtype:'equip5'}).length>0;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
selectTarget:2,
|
|
||||||
multitarget:true,
|
|
||||||
content:function(){
|
|
||||||
if(targets[0].get('e','5')){
|
|
||||||
targets[0].$give(targets[0].get('e','5'),targets[1]);
|
|
||||||
targets[1].equip(targets[0].get('e','5'));
|
|
||||||
game.delay();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:1,
|
|
||||||
result:{
|
|
||||||
target:function(player,target){
|
|
||||||
if(target.get('e',{subtype:'equip5'}).length){
|
|
||||||
if(ai.get.attitude(target,player)>0){
|
|
||||||
return -0.5;
|
|
||||||
}
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
tag:{
|
|
||||||
loseCard:1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
fudichouxin:{
|
|
||||||
fullskin:true,
|
|
||||||
type:'trick',
|
|
||||||
enable:true,
|
|
||||||
filterTarget:function(card,player,target){
|
|
||||||
return player!=target&&target.get('h').length;
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
"step 0"
|
|
||||||
player.chooseToCompare(target).clear=false;
|
|
||||||
"step 1"
|
|
||||||
if(result.bool){
|
|
||||||
player.gain([result.player,result.target]);
|
|
||||||
result.player.clone.moveDelete(player);
|
|
||||||
result.target.clone.moveDelete(player);
|
|
||||||
game.addVideo('gain2',player,get.cardsInfo([result.player,result.target]));
|
|
||||||
}
|
|
||||||
else if(!result.cancelled){
|
|
||||||
result.player.clone.delete();
|
|
||||||
result.target.clone.delete();
|
|
||||||
game.addVideo('deletenode',player,get.cardsInfo([result.player,result.target]));
|
|
||||||
}
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:4,
|
|
||||||
result:{
|
|
||||||
target:function(player){
|
|
||||||
if(player.get('h').length<=1) return 0;
|
|
||||||
return -1;
|
|
||||||
},
|
|
||||||
player:function(player){
|
|
||||||
if(player.get('h').length<=1) return 0;
|
|
||||||
return 0.5;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
tag:{
|
|
||||||
loseCard:1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
shuiyanqijun:{
|
|
||||||
fullskin:true,
|
|
||||||
type:'trick',
|
|
||||||
enable:true,
|
|
||||||
filterTarget:function(card,player,target){
|
|
||||||
return target.num('e');
|
|
||||||
},
|
|
||||||
selectTarget:-1,
|
|
||||||
content:function(){
|
|
||||||
if(target.num('e')) target.chooseToDiscard('e',true);
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:9,
|
|
||||||
result:{
|
|
||||||
target:function(player,target){
|
|
||||||
if(target.num('e')) return -1;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
tag:{
|
|
||||||
multitarget:1,
|
|
||||||
multineg:1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
toulianghuanzhu:{
|
|
||||||
fullskin:true,
|
|
||||||
type:'trick',
|
|
||||||
enable:true,
|
|
||||||
filterTarget:function(card,player,target){
|
|
||||||
return target.num('h')>0;
|
|
||||||
},
|
|
||||||
selectTarget:2,
|
|
||||||
multitarget:true,
|
|
||||||
targetprompt:['被拿牌','得牌'],
|
|
||||||
content:function(){
|
|
||||||
"step 0"
|
|
||||||
targets[0].addTempSkill('toulianghuanzhu2','phaseAfter');
|
|
||||||
var hs=targets[0].get('h');
|
|
||||||
event.num=Math.min(2,hs.length);
|
|
||||||
if(event.num){
|
|
||||||
targets[1].gain(hs.randomGets(event.num));
|
|
||||||
targets[0].$give(event.num,targets[1]);
|
|
||||||
game.delay();
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
event.finish();
|
|
||||||
}
|
|
||||||
"step 1"
|
|
||||||
if(targets[1].num('h')){
|
|
||||||
if(_status.auto&&targets[1]==game.me){
|
|
||||||
game.delay();
|
|
||||||
}
|
|
||||||
targets[1].chooseCard(true,event.num,'选择'+get.cnNumber(event.num)+'张手牌还给'+get.translation(targets[0])).ai=ai.get.disvalue;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
event.finish();
|
|
||||||
}
|
|
||||||
"step 2"
|
|
||||||
targets[0].gain(result.cards);
|
|
||||||
targets[1].$give(event.num,targets[0]);
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
order:6.5,
|
|
||||||
tag:{
|
|
||||||
loseCard:1,
|
|
||||||
multitarget:1,
|
|
||||||
multineg:1
|
|
||||||
},
|
|
||||||
result:{
|
|
||||||
target:function(player,target){
|
|
||||||
if(ui.selected.targets.length){
|
|
||||||
if(target==player&&target.num('h')<=1) return 0;
|
|
||||||
return 0.5;
|
|
||||||
}
|
|
||||||
if(target.skills.contains('toulianghuanzhu2')) return 0;
|
|
||||||
return -0.5;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
wuxie:function(){
|
|
||||||
return 0;
|
|
||||||
},
|
|
||||||
useful:3,
|
|
||||||
value:4
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
skill:{
|
|
||||||
toulianghuanzhu2:{},
|
|
||||||
_chenhuodajie:{
|
|
||||||
trigger:{global:'damageEnd'},
|
|
||||||
direct:true,
|
|
||||||
filter:function(event,player){
|
|
||||||
if(event.player==player) return false;
|
|
||||||
if(!event.player.num('he')) return false;
|
|
||||||
if(player.num('h','chenhuodajie')) return true;
|
|
||||||
var mn=player.get('e','5');
|
|
||||||
if(mn&&mn.name=='muniu'&&mn.cards&&mn.cards.length){
|
|
||||||
for(var i=0;i<mn.cards.length;i++){
|
|
||||||
if(mn.cards[i].name=='chenhuodajie') return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
player.chooseToUse('是否对'+get.translation(trigger.player)+'使用趁火打劫?',function(card,player){
|
|
||||||
if(card.name!='chenhuodajie') return false;
|
|
||||||
var mod=game.checkMod(card,player,'unchanged','cardEnabled',player.get('s'));
|
|
||||||
if(mod!='unchanged') return mod;
|
|
||||||
return true;
|
|
||||||
},trigger.player,-1).targetRequired=true;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
translate:{
|
|
||||||
geanguanhuo:'隔岸观火',
|
|
||||||
geanguanhuo_info:'指定任意两名角色进行拚点,拚点输的一方掉1点血;若点数一样则使用该锦囊的角色掉1点血。拚点的牌不用丢弃。',
|
|
||||||
toulianghuanzhu:'偷梁换柱',
|
|
||||||
toulianghuanzhu_info:'令一名角色获得另一名角色的两张手牌,然后还回两张手牌',
|
|
||||||
toulianghuanzhu_bg:'柱',
|
|
||||||
yihuajiemu:'移花接木',
|
|
||||||
yihuajiemu_info:'将一名角色的宝物牌转移至另一名角色',
|
|
||||||
fudichouxin:'釜底抽薪',
|
|
||||||
fudichouxin_info:'与一名角色进行拼点,若成功则获得双方拼点牌',
|
|
||||||
shuiyanqijun:'水淹七军',
|
|
||||||
shuiyanqijun_info:'令所有有装备的角色各弃置一张装备牌',
|
|
||||||
shushangkaihua:'树上开花',
|
|
||||||
shushangkaihua_info:'使用者与手牌数最少的所有角色各摸一张牌',
|
|
||||||
huoshaolianying:'火烧连营',
|
|
||||||
huoshaolianying_bg:'烧',
|
|
||||||
huoshaolianying_info:'对离你最近的一名横置角色使用(若无横置角色则改为对距离你最近的所有角色使用),对目标造成一点火焰伤害',
|
|
||||||
chenhuodajie:'趁火打劫',
|
|
||||||
chenhuodajie_info:'任意一名其他角色受到伤害时对其使用,获得其一张牌',
|
|
||||||
},
|
|
||||||
list:[
|
|
||||||
['heart',3,'yihuajiemu'],
|
|
||||||
["diamond",3,'guohe'],
|
|
||||||
|
|
||||||
['diamond',4,'fudichouxin'],
|
|
||||||
|
|
||||||
['diamond',1,'yihuajiemu'],
|
|
||||||
['club',6,'fudichouxin'],
|
|
||||||
|
|
||||||
['spade',1,'fudichouxin'],
|
|
||||||
['club',7,'shuiyanqijun'],
|
|
||||||
['diamond',7,'yihuajiemu'],
|
|
||||||
|
|
||||||
['club',8,'shuiyanqijun'],
|
|
||||||
['club',8,'guohe'],
|
|
||||||
|
|
||||||
['spade',9,'shuiyanqijun'],
|
|
||||||
['heart',9,'toulianghuanzhu'],
|
|
||||||
|
|
||||||
['club',10,'toulianghuanzhu'],
|
|
||||||
|
|
||||||
['spade',11,'toulianghuanzhu'],
|
|
||||||
|
|
||||||
['spade',13,'guohe'],
|
|
||||||
|
|
||||||
['heart',7,'huoshaolianying','fire'],
|
|
||||||
['diamond',12,'huoshaolianying','fire'],
|
|
||||||
|
|
||||||
['heart',6,'shushangkaihua'],
|
|
||||||
['club',1,'shushangkaihua'],
|
|
||||||
|
|
||||||
['diamond',6,'chenhuodajie'],
|
|
||||||
['diamond',9,'chenhuodajie'],
|
|
||||||
['club',3,'chenhuodajie'],
|
|
||||||
],
|
|
||||||
}
|
|
|
@ -1,95 +0,0 @@
|
||||||
card.shenbing={
|
|
||||||
card:{
|
|
||||||
suolianjia:{
|
|
||||||
fullskin:true,
|
|
||||||
type:"equip",
|
|
||||||
subtype:"equip2",
|
|
||||||
skills:['suolianjia'],
|
|
||||||
onEquip:function(){
|
|
||||||
if(player.isLinked()==false) player.link();
|
|
||||||
},
|
|
||||||
onLose:function(){
|
|
||||||
if(player.isLinked()) player.link();
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
basic:{
|
|
||||||
equipValue:5
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
huxinjing:{
|
|
||||||
fullskin:true,
|
|
||||||
type:"equip",
|
|
||||||
subtype:"equip2",
|
|
||||||
skills:['huxinjing'],
|
|
||||||
ai:{
|
|
||||||
basic:{
|
|
||||||
equipValue:6
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
},
|
|
||||||
skill:{
|
|
||||||
huxinjing:{
|
|
||||||
trigger:{player:'damageBegin'},
|
|
||||||
priority:10,
|
|
||||||
forced:true,
|
|
||||||
filter:function(event){
|
|
||||||
return event.num>0;
|
|
||||||
},
|
|
||||||
content:function(){
|
|
||||||
trigger.num--;
|
|
||||||
player.addSkill('huxinjing2');
|
|
||||||
// player.discard(player.get('e','2'));
|
|
||||||
}
|
|
||||||
},
|
|
||||||
huxinjing2:{
|
|
||||||
trigger:{player:'damageEnd'},
|
|
||||||
priority:10,
|
|
||||||
forced:true,
|
|
||||||
popup:false,
|
|
||||||
content:function(){
|
|
||||||
var cards=player.get('e','huxinjing');
|
|
||||||
if(cards.length){
|
|
||||||
player.discard(cards);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
suolianjia:{
|
|
||||||
trigger:{player:'damageBefore'},
|
|
||||||
filter:function(event){
|
|
||||||
if(event.source&&event.source.num('s','unequip')) return;
|
|
||||||
if(event.nature) return true;
|
|
||||||
},
|
|
||||||
forced:true,
|
|
||||||
content:function(){
|
|
||||||
trigger.untrigger();
|
|
||||||
trigger.finish();
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
nofire:true,
|
|
||||||
nothunder:true,
|
|
||||||
effect:{
|
|
||||||
target:function(card,player,target,current){
|
|
||||||
if(get.tag(card,'natureDamage')) return 'zerotarget';
|
|
||||||
if(card.name=='tiesuo'){
|
|
||||||
return [0,0];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
translate:{
|
|
||||||
suolianjia:'锁链甲',
|
|
||||||
suolianjia_info:'锁定技,你防止即将受到的属性伤害,当装备时进入连环状态,当卸下时解除连环状态',
|
|
||||||
suolianjia_bg:'链',
|
|
||||||
huxinjing_bg:'镜',
|
|
||||||
huxinjing:'护心镜',
|
|
||||||
huxinjing_info:'抵消一点伤害',
|
|
||||||
},
|
|
||||||
list:[
|
|
||||||
['club',13,'suolianjia'],
|
|
||||||
['spade',9,'huxinjing'],
|
|
||||||
],
|
|
||||||
}
|
|
|
@ -1,5 +1,320 @@
|
||||||
card.yibao={
|
card.yunchou={
|
||||||
card:{
|
card:{
|
||||||
|
suolianjia:{
|
||||||
|
fullskin:true,
|
||||||
|
type:"equip",
|
||||||
|
subtype:"equip2",
|
||||||
|
skills:['suolianjia'],
|
||||||
|
onEquip:function(){
|
||||||
|
if(player.isLinked()==false) player.link();
|
||||||
|
},
|
||||||
|
onLose:function(){
|
||||||
|
if(player.isLinked()) player.link();
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
basic:{
|
||||||
|
equipValue:5
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
huxinjing:{
|
||||||
|
fullskin:true,
|
||||||
|
type:"equip",
|
||||||
|
subtype:"equip2",
|
||||||
|
skills:['huxinjing'],
|
||||||
|
ai:{
|
||||||
|
basic:{
|
||||||
|
equipValue:6
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
chenhuodajie:{
|
||||||
|
fullskin:true,
|
||||||
|
type:'trick',
|
||||||
|
content:function(){
|
||||||
|
if(target.num('he')){
|
||||||
|
player.gainPlayerCard('he',target,true);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:1,
|
||||||
|
useful:6,
|
||||||
|
value:6,
|
||||||
|
result:{
|
||||||
|
target:-1
|
||||||
|
},
|
||||||
|
tag:{
|
||||||
|
loseCard:1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
shushangkaihua:{
|
||||||
|
fullskin:true,
|
||||||
|
type:'trick',
|
||||||
|
enable:true,
|
||||||
|
selectTarget:-1,
|
||||||
|
multitarget:true,
|
||||||
|
multiline:true,
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
if(player==target) return true;
|
||||||
|
var num=target.num('h');
|
||||||
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
if(game.players[i].num('h')<num) return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
// target.draw();
|
||||||
|
game.asyncDraw(targets);
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:1,
|
||||||
|
value:5,
|
||||||
|
result:{
|
||||||
|
target:1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
huoshaolianying:{
|
||||||
|
fullskin:true,
|
||||||
|
type:'trick',
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
if(player==target) return false;
|
||||||
|
var link=false;
|
||||||
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
if(game.players[i].isLinked()&&game.players[i]!=player){
|
||||||
|
link=true;break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(link){
|
||||||
|
if(!target.isLinked()) return false;
|
||||||
|
var distance=get.distance(player,target,'absolute');
|
||||||
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
if(target!=game.players[i]&&
|
||||||
|
game.players[i]!=player&&
|
||||||
|
game.players[i].isLinked()){
|
||||||
|
if(get.distance(player,game.players[i],'absolute')<distance){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(get.distance(player,game.players[i],'absolute')==distance&&
|
||||||
|
parseInt(game.players[i].dataset.position)<parseInt(target.dataset.position)){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
var dist=get.distance(player,target);
|
||||||
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
if(game.players[i]!=player&&get.distance(player,game.players[i])<dist) return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
enable:true,
|
||||||
|
selectTarget:-1,
|
||||||
|
content:function(){
|
||||||
|
target.damage('fire');
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:5,
|
||||||
|
value:6,
|
||||||
|
tag:{
|
||||||
|
damage:1,
|
||||||
|
natureDamage:1,
|
||||||
|
fireDamage:1,
|
||||||
|
},
|
||||||
|
result:{
|
||||||
|
target:function(player,target){
|
||||||
|
if(target.hasSkillTag('nofire')||target.hasSkillTag('nodamage')) return 0;
|
||||||
|
if(target.skills.contains('xuying')&&target.num('h')==0) return 0;
|
||||||
|
if(!target.isLinked()){
|
||||||
|
return ai.get.damageEffect(target,player,target,'fire');
|
||||||
|
}
|
||||||
|
var num=0;
|
||||||
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
if(game.players[i].isLinked()){
|
||||||
|
var eff=ai.get.damageEffect(game.players[i],player,target,'fire');
|
||||||
|
if(eff>0){
|
||||||
|
num++;
|
||||||
|
}
|
||||||
|
else if(eff<0){
|
||||||
|
num--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return num;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
yihuajiemu:{
|
||||||
|
fullskin:true,
|
||||||
|
type:'trick',
|
||||||
|
enable:true,
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
if(target.isMin()) return false;
|
||||||
|
if(ui.selected.targets.length){
|
||||||
|
return target.get('e',{subtype:'equip5'}).length==0;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
return target.get('e',{subtype:'equip5'}).length>0;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
selectTarget:2,
|
||||||
|
multitarget:true,
|
||||||
|
content:function(){
|
||||||
|
if(targets[0].get('e','5')){
|
||||||
|
targets[0].$give(targets[0].get('e','5'),targets[1]);
|
||||||
|
targets[1].equip(targets[0].get('e','5'));
|
||||||
|
game.delay();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:1,
|
||||||
|
result:{
|
||||||
|
target:function(player,target){
|
||||||
|
if(target.get('e',{subtype:'equip5'}).length){
|
||||||
|
if(ai.get.attitude(target,player)>0){
|
||||||
|
return -0.5;
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
tag:{
|
||||||
|
loseCard:1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fudichouxin:{
|
||||||
|
fullskin:true,
|
||||||
|
type:'trick',
|
||||||
|
enable:true,
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
return player!=target&&target.get('h').length;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
"step 0"
|
||||||
|
player.chooseToCompare(target).clear=false;
|
||||||
|
"step 1"
|
||||||
|
if(result.bool){
|
||||||
|
player.gain([result.player,result.target]);
|
||||||
|
result.player.clone.moveDelete(player);
|
||||||
|
result.target.clone.moveDelete(player);
|
||||||
|
game.addVideo('gain2',player,get.cardsInfo([result.player,result.target]));
|
||||||
|
}
|
||||||
|
else if(!result.cancelled){
|
||||||
|
result.player.clone.delete();
|
||||||
|
result.target.clone.delete();
|
||||||
|
game.addVideo('deletenode',player,get.cardsInfo([result.player,result.target]));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:4,
|
||||||
|
result:{
|
||||||
|
target:function(player){
|
||||||
|
if(player.get('h').length<=1) return 0;
|
||||||
|
return -1;
|
||||||
|
},
|
||||||
|
player:function(player){
|
||||||
|
if(player.get('h').length<=1) return 0;
|
||||||
|
return 0.5;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
tag:{
|
||||||
|
loseCard:1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
shuiyanqijun:{
|
||||||
|
fullskin:true,
|
||||||
|
type:'trick',
|
||||||
|
enable:true,
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
return target.num('e');
|
||||||
|
},
|
||||||
|
selectTarget:-1,
|
||||||
|
content:function(){
|
||||||
|
if(target.num('e')) target.chooseToDiscard('e',true);
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:9,
|
||||||
|
result:{
|
||||||
|
target:function(player,target){
|
||||||
|
if(target.num('e')) return -1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
tag:{
|
||||||
|
multitarget:1,
|
||||||
|
multineg:1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
toulianghuanzhu:{
|
||||||
|
fullskin:true,
|
||||||
|
type:'trick',
|
||||||
|
enable:true,
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
return target.num('h')>0;
|
||||||
|
},
|
||||||
|
selectTarget:2,
|
||||||
|
multitarget:true,
|
||||||
|
targetprompt:['被拿牌','得牌'],
|
||||||
|
content:function(){
|
||||||
|
"step 0"
|
||||||
|
targets[0].addTempSkill('toulianghuanzhu2','phaseAfter');
|
||||||
|
var hs=targets[0].get('h');
|
||||||
|
event.num=Math.min(2,hs.length);
|
||||||
|
if(event.num){
|
||||||
|
targets[1].gain(hs.randomGets(event.num));
|
||||||
|
targets[0].$give(event.num,targets[1]);
|
||||||
|
game.delay();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
event.finish();
|
||||||
|
}
|
||||||
|
"step 1"
|
||||||
|
if(targets[1].num('h')){
|
||||||
|
if(_status.auto&&targets[1]==game.me){
|
||||||
|
game.delay();
|
||||||
|
}
|
||||||
|
targets[1].chooseCard(true,event.num,'选择'+get.cnNumber(event.num)+'张手牌还给'+get.translation(targets[0])).ai=ai.get.disvalue;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
event.finish();
|
||||||
|
}
|
||||||
|
"step 2"
|
||||||
|
targets[0].gain(result.cards);
|
||||||
|
targets[1].$give(event.num,targets[0]);
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:6.5,
|
||||||
|
tag:{
|
||||||
|
loseCard:1,
|
||||||
|
multitarget:1,
|
||||||
|
multineg:1
|
||||||
|
},
|
||||||
|
result:{
|
||||||
|
target:function(player,target){
|
||||||
|
if(ui.selected.targets.length){
|
||||||
|
if(target==player&&target.num('h')<=1) return 0;
|
||||||
|
return 0.5;
|
||||||
|
}
|
||||||
|
if(target.skills.contains('toulianghuanzhu2')) return 0;
|
||||||
|
return -0.5;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
wuxie:function(){
|
||||||
|
return 0;
|
||||||
|
},
|
||||||
|
useful:3,
|
||||||
|
value:4
|
||||||
|
}
|
||||||
|
},
|
||||||
hufu:{
|
hufu:{
|
||||||
fullskin:true,
|
fullskin:true,
|
||||||
type:'basic',
|
type:'basic',
|
||||||
|
@ -316,9 +631,9 @@ card.yibao={
|
||||||
if(target.hasSkillTag('nofire')) return 0;
|
if(target.hasSkillTag('nofire')) return 0;
|
||||||
var nh=target.num('he');
|
var nh=target.num('he');
|
||||||
if(target==player) nh--;
|
if(target==player) nh--;
|
||||||
if(nh==2) return -2.5;
|
if(nh==2) return -5;
|
||||||
if(nh==1) return -3;
|
if(nh==1) return -6;
|
||||||
return -2;
|
return -3;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
tag:{
|
tag:{
|
||||||
|
@ -433,6 +748,80 @@ card.yibao={
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
skill:{
|
skill:{
|
||||||
|
huxinjing:{
|
||||||
|
trigger:{player:'damageBegin'},
|
||||||
|
priority:10,
|
||||||
|
forced:true,
|
||||||
|
filter:function(event){
|
||||||
|
return event.num>0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
trigger.num--;
|
||||||
|
player.addSkill('huxinjing2');
|
||||||
|
// player.discard(player.get('e','2'));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
huxinjing2:{
|
||||||
|
trigger:{player:'damageEnd'},
|
||||||
|
priority:10,
|
||||||
|
forced:true,
|
||||||
|
popup:false,
|
||||||
|
content:function(){
|
||||||
|
var cards=player.get('e','huxinjing');
|
||||||
|
if(cards.length){
|
||||||
|
player.discard(cards);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
suolianjia:{
|
||||||
|
trigger:{player:'damageBefore'},
|
||||||
|
filter:function(event){
|
||||||
|
if(event.source&&event.source.num('s','unequip')) return;
|
||||||
|
if(event.nature) return true;
|
||||||
|
},
|
||||||
|
forced:true,
|
||||||
|
content:function(){
|
||||||
|
trigger.untrigger();
|
||||||
|
trigger.finish();
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
nofire:true,
|
||||||
|
nothunder:true,
|
||||||
|
effect:{
|
||||||
|
target:function(card,player,target,current){
|
||||||
|
if(get.tag(card,'natureDamage')) return 'zerotarget';
|
||||||
|
if(card.name=='tiesuo'){
|
||||||
|
return [0,0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
toulianghuanzhu2:{},
|
||||||
|
_chenhuodajie:{
|
||||||
|
trigger:{global:'damageEnd'},
|
||||||
|
direct:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
if(event.player==player) return false;
|
||||||
|
if(!event.player.num('he')) return false;
|
||||||
|
if(player.num('h','chenhuodajie')) return true;
|
||||||
|
var mn=player.get('e','5');
|
||||||
|
if(mn&&mn.name=='muniu'&&mn.cards&&mn.cards.length){
|
||||||
|
for(var i=0;i<mn.cards.length;i++){
|
||||||
|
if(mn.cards[i].name=='chenhuodajie') return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
player.chooseToUse('是否对'+get.translation(trigger.player)+'使用趁火打劫?',function(card,player){
|
||||||
|
if(card.name!='chenhuodajie') return false;
|
||||||
|
var mod=game.checkMod(card,player,'unchanged','cardEnabled',player.get('s'));
|
||||||
|
if(mod!='unchanged') return mod;
|
||||||
|
return true;
|
||||||
|
},trigger.player,-1).targetRequired=true;
|
||||||
|
}
|
||||||
|
},
|
||||||
dujian2:{},
|
dujian2:{},
|
||||||
qiankundai:{
|
qiankundai:{
|
||||||
mod:{
|
mod:{
|
||||||
|
@ -483,6 +872,30 @@ card.yibao={
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
translate:{
|
translate:{
|
||||||
|
suolianjia:'锁链甲',
|
||||||
|
suolianjia_info:'锁定技,你防止即将受到的属性伤害,当装备时进入连环状态,当卸下时解除连环状态',
|
||||||
|
suolianjia_bg:'链',
|
||||||
|
huxinjing_bg:'镜',
|
||||||
|
huxinjing:'护心镜',
|
||||||
|
huxinjing_info:'抵消一点伤害',
|
||||||
|
geanguanhuo:'隔岸观火',
|
||||||
|
geanguanhuo_info:'指定任意两名角色进行拚点,拚点输的一方掉1点血;若点数一样则使用该锦囊的角色掉1点血。拚点的牌不用丢弃。',
|
||||||
|
toulianghuanzhu:'偷梁换柱',
|
||||||
|
toulianghuanzhu_info:'令一名角色获得另一名角色的两张手牌,然后还回两张手牌',
|
||||||
|
toulianghuanzhu_bg:'柱',
|
||||||
|
yihuajiemu:'移花接木',
|
||||||
|
yihuajiemu_info:'将一名角色的宝物牌转移至另一名角色',
|
||||||
|
fudichouxin:'釜底抽薪',
|
||||||
|
fudichouxin_info:'与一名角色进行拼点,若成功则获得双方拼点牌',
|
||||||
|
shuiyanqijun:'水淹七军',
|
||||||
|
shuiyanqijun_info:'令所有有装备的角色各弃置一张装备牌',
|
||||||
|
shushangkaihua:'树上开花',
|
||||||
|
shushangkaihua_info:'使用者与手牌数最少的所有角色各摸一张牌',
|
||||||
|
huoshaolianying:'火烧连营',
|
||||||
|
huoshaolianying_bg:'烧',
|
||||||
|
huoshaolianying_info:'对离你最近的一名横置角色使用(若无横置角色则改为对距离你最近的所有角色使用),对目标造成一点火焰伤害',
|
||||||
|
chenhuodajie:'趁火打劫',
|
||||||
|
chenhuodajie_info:'任意一名其他角色受到伤害时对其使用,获得其一张牌',
|
||||||
huoshan:'火山',
|
huoshan:'火山',
|
||||||
huoshan_info:'出牌阶段,对自己使用。若判定结果为红桃2~9,则目标角色受到2点火焰伤害,距离目标1以内的其他角色受到1点火焰伤害。若判定不为红桃2~9,将之移动到下家的判定区里。',
|
huoshan_info:'出牌阶段,对自己使用。若判定结果为红桃2~9,则目标角色受到2点火焰伤害,距离目标1以内的其他角色受到1点火焰伤害。若判定不为红桃2~9,将之移动到下家的判定区里。',
|
||||||
hongshui:'洪水',
|
hongshui:'洪水',
|
||||||
|
@ -509,22 +922,34 @@ card.yibao={
|
||||||
['diamond',3,'liuxinghuoyu','fire'],
|
['diamond',3,'liuxinghuoyu','fire'],
|
||||||
['heart',6,'liuxinghuoyu','fire'],
|
['heart',6,'liuxinghuoyu','fire'],
|
||||||
['heart',9,'liuxinghuoyu','fire'],
|
['heart',9,'liuxinghuoyu','fire'],
|
||||||
//['heart',11,'liuxinghuoyu','fire'],
|
|
||||||
//['heart',12,'liuxinghuoyu','fire'],
|
|
||||||
['spade',3,'dujian'],
|
['spade',3,'dujian'],
|
||||||
//['club',6,'dujian','poison'],
|
|
||||||
//['club',9,'dujian','poison'],
|
|
||||||
['club',11,'dujian'],
|
['club',11,'dujian'],
|
||||||
['club',12,'dujian'],
|
['club',12,'dujian'],
|
||||||
//['club',3,'sha','poison'],
|
['heart',3,'yihuajiemu'],
|
||||||
//['club',4,'sha','poison'],
|
["diamond",3,'guohe'],
|
||||||
//['club',5,'sha','poison'],
|
|
||||||
//['spade',6,'sha','poison'],
|
['diamond',4,'fudichouxin'],
|
||||||
//['spade',7,'sha','poison'],
|
['diamond',1,'yihuajiemu'],
|
||||||
//['club',3,'sha','poison'],
|
['club',6,'fudichouxin'],
|
||||||
//['club',4,'sha','poison'],
|
['spade',1,'fudichouxin'],
|
||||||
//['club',5,'sha','poison'],
|
['club',7,'shuiyanqijun'],
|
||||||
//['spade',6,'sha','poison'],
|
['diamond',7,'yihuajiemu'],
|
||||||
//['spade',7,'sha','poison'],
|
['club',8,'shuiyanqijun'],
|
||||||
|
['club',8,'guohe'],
|
||||||
|
['spade',9,'shuiyanqijun'],
|
||||||
|
['heart',9,'toulianghuanzhu'],
|
||||||
|
['club',10,'toulianghuanzhu'],
|
||||||
|
['spade',11,'toulianghuanzhu'],
|
||||||
|
['spade',13,'guohe'],
|
||||||
|
['heart',7,'huoshaolianying','fire'],
|
||||||
|
['diamond',12,'huoshaolianying','fire'],
|
||||||
|
['heart',6,'shushangkaihua'],
|
||||||
|
['club',1,'shushangkaihua'],
|
||||||
|
['diamond',6,'chenhuodajie'],
|
||||||
|
['diamond',9,'chenhuodajie'],
|
||||||
|
['club',3,'chenhuodajie'],
|
||||||
|
|
||||||
|
['club',13,'suolianjia'],
|
||||||
|
['spade',9,'huxinjing'],
|
||||||
],
|
],
|
||||||
}
|
}
|
|
@ -14,19 +14,20 @@ character.hearth={
|
||||||
hs_medivh:['male','wei',3,['jingxiang','moying','mdzhoufu']],
|
hs_medivh:['male','wei',3,['jingxiang','moying','mdzhoufu']],
|
||||||
hs_alleria:['male','wu',3,['fengxing','qiaodong','liegong']],
|
hs_alleria:['male','wu',3,['fengxing','qiaodong','liegong']],
|
||||||
hs_magni:['male','shu',4,['zhongjia','dunji']],
|
hs_magni:['male','shu',4,['zhongjia','dunji']],
|
||||||
|
hs_liadrin:['female','shu',4,['xueren']],
|
||||||
|
|
||||||
hs_neptulon:['male','wu',4,['liechao','qingliu']],
|
hs_neptulon:['male','wu',4,['liechao','qingliu']],
|
||||||
hs_wvelen:['male','qun',3,['shengyan','xianzhi']],
|
hs_wvelen:['male','qun',3,['shengyan','xianzhi']],
|
||||||
hs_antonidas:['male','wei',3,['yanshu','bingshuang']],
|
hs_antonidas:['male','wei',3,['yanshu','bingshuang']],
|
||||||
hs_alakir:['male','wei',3,['fengnu','shengdun']],
|
hs_alakir:['male','wei',3,['fengnu','shengdun']],
|
||||||
hs_zhouzhuo:['male','qun',3,['jubao','qice']],
|
hs_zhouzhuo:['male','qun',4,['yiwen']],
|
||||||
hs_yngvar:['male','qun',3,['huanwu']],
|
hs_yngvar:['male','qun',3,['huanwu']],
|
||||||
hs_bchillmaw:['male','wei',6,['hanshuang','bingshi']],
|
hs_bchillmaw:['male','wei',6,['hanshuang','bingshi']],
|
||||||
hs_malorne:['male','wu',3,['enze','chongsheng']],
|
hs_malorne:['male','wu',3,['enze','chongsheng']],
|
||||||
hs_malygos:['male','wei',4,['malymowang']],
|
hs_malygos:['male','wei',4,['malymowang']],
|
||||||
hs_xuefashi:['male','wei',2,['liehun','xjumo']],
|
hs_xuefashi:['male','wei',2,['liehun','xjumo']],
|
||||||
hs_loatheb:['male','wu',5,['fengyin']],
|
hs_loatheb:['male','wu',5,['fengyin']],
|
||||||
hs_trueheart:['female','qun',3,['qianghua']],
|
hs_trueheart:['female','qun',3,['qianghuax']],
|
||||||
hs_sainaliusi:['male','wu',4,['chongsheng','yulu']],
|
hs_sainaliusi:['male','wu',4,['chongsheng','yulu']],
|
||||||
hs_lrhonin:['male','wei',4,['bingyan','yufa']],
|
hs_lrhonin:['male','wei',4,['bingyan','yufa']],
|
||||||
hs_bolvar:['male','wei',4,['yuanzheng','byuhuo']],
|
hs_bolvar:['male','wei',4,['yuanzheng','byuhuo']],
|
||||||
|
@ -37,6 +38,9 @@ character.hearth={
|
||||||
hs_nozdormu:['male','qun',5,['shixu']],
|
hs_nozdormu:['male','qun',5,['shixu']],
|
||||||
hs_sapphiron:['male','wei',4,['bingdong','stuxi']],
|
hs_sapphiron:['male','wei',4,['bingdong','stuxi']],
|
||||||
hs_kchromaggus:['male','wei',4,['fenlie']],
|
hs_kchromaggus:['male','wei',4,['fenlie']],
|
||||||
|
hs_lreno:['male','shu',4,['tanbao']],
|
||||||
|
hs_brann:['male','shu',4,['qianghua']],
|
||||||
|
hs_finley:['male','wu',3,['maoxian']],
|
||||||
|
|
||||||
hs_zhishigushu:['male','shu',4,['jiaohui']],
|
hs_zhishigushu:['male','shu',4,['jiaohui']],
|
||||||
hs_zhanzhenggushu:['male','wei',6,['biri']],
|
hs_zhanzhenggushu:['male','wei',6,['biri']],
|
||||||
|
@ -66,6 +70,257 @@ character.hearth={
|
||||||
hs_malfurion:['hs_malorne'],
|
hs_malfurion:['hs_malorne'],
|
||||||
},
|
},
|
||||||
skill:{
|
skill:{
|
||||||
|
xueren:{
|
||||||
|
trigger:{source:'damageEnd'},
|
||||||
|
filter:function(event){
|
||||||
|
return event.card&&event.card.name=='sha'&&event.player.isAlive();
|
||||||
|
},
|
||||||
|
check:function(event,player){
|
||||||
|
if(ai.get.attitude(player,event.player)>=0) return false;
|
||||||
|
if(player.hp>2) return true;
|
||||||
|
if(player.hp<2) return false;
|
||||||
|
return player.hp>=event.player.hp;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
trigger.player.loseHp();
|
||||||
|
'step 1'
|
||||||
|
player.loseHp();
|
||||||
|
'step 2'
|
||||||
|
player.draw(2);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
maoxian:{
|
||||||
|
enable:'phaseUse',
|
||||||
|
usable:2,
|
||||||
|
direct:true,
|
||||||
|
delay:false,
|
||||||
|
unique:true,
|
||||||
|
getSkills:function(player,current){
|
||||||
|
var names=[];
|
||||||
|
var list=[];
|
||||||
|
var map={};
|
||||||
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
if(game.players[i]==player) continue;
|
||||||
|
if(game.players[i].name&&lib.character[game.players[i].name]){
|
||||||
|
names.add(game.players[i].name);
|
||||||
|
}
|
||||||
|
if(game.players[i].name1&&lib.character[game.players[i].name1]){
|
||||||
|
names.add(game.players[i].name1);
|
||||||
|
}
|
||||||
|
if(game.players[i].name2&&lib.character[game.players[i].name2]){
|
||||||
|
names.add(game.players[i].name2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for(var i=0;i<names.length;i++){
|
||||||
|
var info=lib.character[names[i]];
|
||||||
|
if(info){
|
||||||
|
var skills=info[3];
|
||||||
|
for(var j=0;j<skills.length;j++){
|
||||||
|
if(skills[j]==current) continue;
|
||||||
|
if(lib.translate[skills[j]+'_info']&&lib.skill[skills[j]]&&
|
||||||
|
!lib.skill[skills[j]].unique){
|
||||||
|
list.add(skills[j]);
|
||||||
|
map[skills[j]]=names[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return [list,map];
|
||||||
|
},
|
||||||
|
onremove:function(player){
|
||||||
|
delete player.additionalSkills.maoxian;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
var lm=lib.skill.maoxian.getSkills(player,player.additionalSkills.maoxian);
|
||||||
|
var list=lm[0];
|
||||||
|
event.map=lm[1];
|
||||||
|
if(list.length){
|
||||||
|
player.chooseControl(list.randomGets(3)).prompt='选择一项作为你的技能';
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
event.finish();
|
||||||
|
}
|
||||||
|
'step 1'
|
||||||
|
if(result.control){
|
||||||
|
var link=result.control;
|
||||||
|
player.addSkill(link);
|
||||||
|
player.skills.remove(link);
|
||||||
|
player.additionalSkills.maoxian=link;
|
||||||
|
player.popup(link);
|
||||||
|
var name=event.map[link];
|
||||||
|
var target;
|
||||||
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
if(game.players[i]==player) continue;
|
||||||
|
if(game.players[i].name==name||
|
||||||
|
game.players[i].name1==name||
|
||||||
|
game.players[i].name2==name){
|
||||||
|
target=game.players[i];break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(target){
|
||||||
|
player.line(target,'green');
|
||||||
|
player.markSkillCharacter(target,get.translation(link),lib.translate[link+'_info'],'maoxian');
|
||||||
|
}
|
||||||
|
player.checkMarks();
|
||||||
|
game.delay();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:11,
|
||||||
|
result:{
|
||||||
|
player:function(player){
|
||||||
|
if(player.getStat().skill.maoxian) return 0;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
yiwen:{
|
||||||
|
trigger:{target:'useCardToBegin'},
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.targets&&event.targets.length==1&&
|
||||||
|
event.target!=event.player&&_status.currentPhase==event.player&&
|
||||||
|
!event.player.skills.contains('yiwen2');
|
||||||
|
},
|
||||||
|
forced:true,
|
||||||
|
content:function(){
|
||||||
|
player.gain(game.createCard(trigger.card),'gain2');
|
||||||
|
trigger.player.addTempSkill('yiwen2','phaseAfter');
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
threaten:0.7
|
||||||
|
}
|
||||||
|
},
|
||||||
|
yiwen2:{},
|
||||||
|
tanbao:{
|
||||||
|
enable:'phaseUse',
|
||||||
|
usable:1,
|
||||||
|
filter:function(event,player){
|
||||||
|
if(player.hp==player.maxHp) return false;
|
||||||
|
var hs=player.get('h');
|
||||||
|
if(hs.length==0) return false;
|
||||||
|
var types=[];
|
||||||
|
for(var i=0;i<hs.length;i++){
|
||||||
|
var type=get.type(hs[i],'trick');
|
||||||
|
if(types.contains(type)){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
types.push(type);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.showHandcards();
|
||||||
|
'step 1'
|
||||||
|
player.recover(player.num('h'));
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:10,
|
||||||
|
result:{
|
||||||
|
player:1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
tanbao_old:{
|
||||||
|
enable:'phaseUse',
|
||||||
|
usable:10,
|
||||||
|
filterCard:true,
|
||||||
|
position:'he',
|
||||||
|
check:function(card){
|
||||||
|
if(_status.event.player.hp==1){
|
||||||
|
return 7-ai.get.value(card);
|
||||||
|
}
|
||||||
|
return 6-ai.get.value(card);
|
||||||
|
},
|
||||||
|
selectCard:3,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.num('he')>=3;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
event.cards=get.cards(3);
|
||||||
|
if(!event.isMine()) player.showCards(event.cards);
|
||||||
|
'step 1'
|
||||||
|
player.chooseCardButton('获得任意张类别不同的牌',[1,3],event.cards).filterButton=function(button){
|
||||||
|
var type=get.type(button.link,'trick');
|
||||||
|
for(var i=0;i<ui.selected.buttons.length;i++){
|
||||||
|
if(get.type(ui.selected.buttons[i].link,'trick')==type){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
'step 2'
|
||||||
|
if(result.bool) player.gain(result.links,'gain2');
|
||||||
|
var types=[];
|
||||||
|
for(var i=0;i<event.cards.length;i++){
|
||||||
|
types.add(get.type(event.cards[i],'trick'));
|
||||||
|
}
|
||||||
|
if(types.length==3){
|
||||||
|
player.recover(player.maxHp-player.hp);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:5,
|
||||||
|
result:{
|
||||||
|
player:1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
qianghuax:{
|
||||||
|
enable:'phaseUse',
|
||||||
|
usable:1,
|
||||||
|
filterCard:function(card){
|
||||||
|
var type=get.type(card,'trick');
|
||||||
|
for(var i=0;i<ui.selected.cards.length;i++){
|
||||||
|
if(type==get.type(ui.selected.cards[i],'trick')) return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
position:'he',
|
||||||
|
check:function(card){
|
||||||
|
return 8-ai.get.value(card);
|
||||||
|
},
|
||||||
|
selectCard:[1,Infinity],
|
||||||
|
content:function(){
|
||||||
|
var cards2=[];
|
||||||
|
for(var i=0;i<cards.length;i++){
|
||||||
|
var type=get.type(cards[i],'trick');
|
||||||
|
var list=game.findCards(function(name){
|
||||||
|
if(cards[i].name==name) return;
|
||||||
|
if(get.type({name:name},'trick')==type){
|
||||||
|
return ai.get.value({name:name})>ai.get.value(cards[i]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if(!list.length){
|
||||||
|
list=game.findCards(function(name){
|
||||||
|
if(cards[i].name==name) return;
|
||||||
|
if(get.type({name:name},'trick')==type){
|
||||||
|
return ai.get.value({name:name})==ai.get.value(cards[i]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if(!list.length){
|
||||||
|
list=[cards[i].name];
|
||||||
|
}
|
||||||
|
cards2.push(game.createCard(list.randomGet()));
|
||||||
|
}
|
||||||
|
player.gain(cards2);
|
||||||
|
player.$draw(cards2);
|
||||||
|
game.log(player,'获得了',cards2);
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:8,
|
||||||
|
result:{
|
||||||
|
player:1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
zhuizong:{
|
zhuizong:{
|
||||||
enable:'phaseUse',
|
enable:'phaseUse',
|
||||||
usable:1,
|
usable:1,
|
||||||
|
@ -691,7 +946,7 @@ character.hearth={
|
||||||
trigger:{player:'useCardAfter'},
|
trigger:{player:'useCardAfter'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(event.parent.name=='qianghua') return false;
|
if(event.parent.name=='qianghua') return false;
|
||||||
if(player.storage.qianghua>=2) return false;
|
if(player.storage.qianghua>=1) return false;
|
||||||
if(_status.currentPhase!=player) return false;
|
if(_status.currentPhase!=player) return false;
|
||||||
if(event.parent.parent.name!='phaseUse') return false;
|
if(event.parent.parent.name!='phaseUse') return false;
|
||||||
if(!event.targets||!event.card) return false;
|
if(!event.targets||!event.card) return false;
|
||||||
|
@ -722,7 +977,7 @@ character.hearth={
|
||||||
group:'qianghua_clear',
|
group:'qianghua_clear',
|
||||||
subSkill:{
|
subSkill:{
|
||||||
clear:{
|
clear:{
|
||||||
trigger:{player:'phaseBegin'},
|
trigger:{player:'phaseBefore'},
|
||||||
forced:true,
|
forced:true,
|
||||||
silent:true,
|
silent:true,
|
||||||
popup:false,
|
popup:false,
|
||||||
|
@ -3272,6 +3527,7 @@ character.hearth={
|
||||||
hs_anduin:'安度因',
|
hs_anduin:'安度因',
|
||||||
hs_sthrall:'萨尔',
|
hs_sthrall:'萨尔',
|
||||||
hs_waleera:'瓦莉拉',
|
hs_waleera:'瓦莉拉',
|
||||||
|
hs_liadrin:'莉亚德琳',
|
||||||
|
|
||||||
hs_neptulon:'耐普图隆',
|
hs_neptulon:'耐普图隆',
|
||||||
hs_wvelen:'维纶',
|
hs_wvelen:'维纶',
|
||||||
|
@ -3298,6 +3554,9 @@ character.hearth={
|
||||||
hs_edwin:'艾德温',
|
hs_edwin:'艾德温',
|
||||||
hs_lafamu:'拉法姆',
|
hs_lafamu:'拉法姆',
|
||||||
hs_yelise:'伊莉斯',
|
hs_yelise:'伊莉斯',
|
||||||
|
hs_lreno:'雷诺',
|
||||||
|
hs_finley:'芬利',
|
||||||
|
hs_brann:'布莱恩',
|
||||||
|
|
||||||
hs_ronghejuren:'熔核巨人',
|
hs_ronghejuren:'熔核巨人',
|
||||||
hs_shanlingjuren:'山岭巨人',
|
hs_shanlingjuren:'山岭巨人',
|
||||||
|
@ -3317,6 +3576,19 @@ character.hearth={
|
||||||
hs_nate:'纳特',
|
hs_nate:'纳特',
|
||||||
hs_shifazhe:'嗜法者',
|
hs_shifazhe:'嗜法者',
|
||||||
|
|
||||||
|
xueren:'血刃',
|
||||||
|
xueren_info:'每当你使用杀造成伤害,你可以令受伤害角色与你各流失一点体力,然后你摸两张牌',
|
||||||
|
maoxian:'冒险',
|
||||||
|
maoxian2:'冒险',
|
||||||
|
maoxian_info:'出牌阶段限两次,你可以从三个来自其他存活角色的技能中选择一个作为你的技能',
|
||||||
|
tanbao:'探秘',
|
||||||
|
tanbao_info:'出牌阶段限一次,若你的手牌类别均不相同,你可以展示手牌,然后回复等同于手牌数的体力',
|
||||||
|
yiwen:'轶闻',
|
||||||
|
yiwen_info:'锁定技,每当其他角色于回合内首次使用卡牌指定你为惟一目标,你获得一张此牌的复制',
|
||||||
|
tanbao_old:'探宝',
|
||||||
|
tanbao_old_info:'出牌阶段限一次,你可以弃置三张牌,然后展示牌堆顶的三张牌,然后获得其中任意张类别不同的牌;若三张牌类别均不相同,你回复全部体力值',
|
||||||
|
qianghuax:'强化',
|
||||||
|
qianghuax_info:'出牌阶段限一次,你可以弃置任意张不同类别的牌,然后展示并获得与弃置的牌类别相同且价值更高的牌',
|
||||||
zhuizong:'追踪',
|
zhuizong:'追踪',
|
||||||
zhuizong_info:'出牌阶段限一次,你可以弃置任意张牌,观看牌堆顶的等同于弃牌数四倍的牌,然后获得其中的一张牌',
|
zhuizong_info:'出牌阶段限一次,你可以弃置任意张牌,观看牌堆顶的等同于弃牌数四倍的牌,然后获得其中的一张牌',
|
||||||
xunbao:'寻宝',
|
xunbao:'寻宝',
|
||||||
|
@ -3367,8 +3639,8 @@ character.hearth={
|
||||||
nianfu_info:'出牌阶段限一次,你可以指定一名其他角色,随机弃置其1~2张装备牌',
|
nianfu_info:'出牌阶段限一次,你可以指定一名其他角色,随机弃置其1~2张装备牌',
|
||||||
shixu:'时序',
|
shixu:'时序',
|
||||||
shixu_info:'锁定技,所有角色于出牌阶段每消耗3秒,便须于回合结束阶段弃置一张牌',
|
shixu_info:'锁定技,所有角色于出牌阶段每消耗3秒,便须于回合结束阶段弃置一张牌',
|
||||||
qianghua:'强化',
|
qianghua:'绝手',
|
||||||
qianghua_info:'出牌阶段限两次,你可以令一张你使用的基本牌或非延时锦囊牌额外结算一次',
|
qianghua_info:'在你的回合内,你可以令一张你使用的基本牌或非延时锦囊牌额外结算一次,每回合限一次',
|
||||||
jixuan:'疾旋',
|
jixuan:'疾旋',
|
||||||
jixuan_info:'锁定技,回合结束后,你进行一个额外的回合',
|
jixuan_info:'锁定技,回合结束后,你进行一个额外的回合',
|
||||||
biri:'蔽日',
|
biri:'蔽日',
|
||||||
|
|
|
@ -115,7 +115,6 @@ window.characterRank={
|
||||||
'swd_fuyan',
|
'swd_fuyan',
|
||||||
'pal_xuejian',
|
'pal_xuejian',
|
||||||
'swd_maixing',
|
'swd_maixing',
|
||||||
'hs_zhouzhuo',
|
|
||||||
'xunyou',
|
'xunyou',
|
||||||
're_daqiao',
|
're_daqiao',
|
||||||
'swd_fengyu',
|
'swd_fengyu',
|
||||||
|
@ -174,10 +173,12 @@ window.characterRank={
|
||||||
'sunluyu',
|
'sunluyu',
|
||||||
'swd_xiyan',
|
'swd_xiyan',
|
||||||
'hs_jiaziruila',
|
'hs_jiaziruila',
|
||||||
|
'hs_brann',
|
||||||
],
|
],
|
||||||
bp:[
|
bp:[
|
||||||
'hs_hudunren',
|
'hs_hudunren',
|
||||||
'hs_nate',
|
'hs_nate',
|
||||||
|
'hs_finley',
|
||||||
'hs_shifazhe',
|
'hs_shifazhe',
|
||||||
'hs_kchromaggus',
|
'hs_kchromaggus',
|
||||||
'hs_yelise',
|
'hs_yelise',
|
||||||
|
@ -281,6 +282,9 @@ window.characterRank={
|
||||||
'wangji',
|
'wangji',
|
||||||
'swd_weida',
|
'swd_weida',
|
||||||
'swd_lilian',
|
'swd_lilian',
|
||||||
|
'hs_lreno',
|
||||||
|
'hs_zhouzhuo',
|
||||||
|
'hs_liadrin',
|
||||||
],
|
],
|
||||||
b:[
|
b:[
|
||||||
'sp_xiahoudun',
|
'sp_xiahoudun',
|
||||||
|
|
|
@ -901,6 +901,7 @@ character.shenhua={
|
||||||
},
|
},
|
||||||
duanchang:{
|
duanchang:{
|
||||||
audio:4,
|
audio:4,
|
||||||
|
forbid:['boss'],
|
||||||
trigger:{player:'dieBegin'},
|
trigger:{player:'dieBegin'},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event){
|
filter:function(event){
|
||||||
|
@ -1353,7 +1354,7 @@ character.shenhua={
|
||||||
trigger:{global:'dieEnd'},
|
trigger:{global:'dieEnd'},
|
||||||
priority:5,
|
priority:5,
|
||||||
filter:function(event){
|
filter:function(event){
|
||||||
return event.cards.length>0
|
return event.playerCards&&event.playerCards.length>0
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
|
@ -2993,7 +2994,7 @@ character.shenhua={
|
||||||
hunzi_info:'觉醒技,回合开始阶段,若你的体力为1,你须减1点体力上限,并永久获得技能“英姿”和“英魂”。',
|
hunzi_info:'觉醒技,回合开始阶段,若你的体力为1,你须减1点体力上限,并永久获得技能“英姿”和“英魂”。',
|
||||||
zhiba_info:'主公技,其他吴势力角色的出牌阶段,可与你进行一次拼点,若该角色没赢,你可以获得双方拼点的牌;你的觉醒技发动后,你可以拒绝此拼点。每回合限一次。',
|
zhiba_info:'主公技,其他吴势力角色的出牌阶段,可与你进行一次拼点,若该角色没赢,你可以获得双方拼点的牌;你的觉醒技发动后,你可以拒绝此拼点。每回合限一次。',
|
||||||
zhijian_info:'出牌阶段,你可以将你手牌中的一张装备牌置于一名其他角色装备区里(不得替换原装备),然后摸一张牌。',
|
zhijian_info:'出牌阶段,你可以将你手牌中的一张装备牌置于一名其他角色装备区里(不得替换原装备),然后摸一张牌。',
|
||||||
guzheng_info:'其他角色的弃牌阶段结束时,你可将此阶段中弃掉的一张牌从弃牌堆返回该角色手牌;若如此做,你可以获得弃牌堆里其余于此阶段中弃掉的牌。',
|
guzheng_info:'其他角色的弃牌阶段结束时,你可将其弃置的一张牌返回其手牌,然后获得其弃置的其它牌',
|
||||||
beige_info:'一名角色每受到【杀】造成的一次伤害,你可以弃一张牌,并令其进行一次判定,判定结果为:♥该角色回复1点体力;♦︎该角色摸两张牌;♣伤害来源弃两张牌;♠伤害来源将其武将牌翻面',
|
beige_info:'一名角色每受到【杀】造成的一次伤害,你可以弃一张牌,并令其进行一次判定,判定结果为:♥该角色回复1点体力;♦︎该角色摸两张牌;♣伤害来源弃两张牌;♠伤害来源将其武将牌翻面',
|
||||||
duanchang_info:'锁定技,杀死你的角色失去当前的所有技能直到游戏结束。',
|
duanchang_info:'锁定技,杀死你的角色失去当前的所有技能直到游戏结束。',
|
||||||
// fushen_info:'回合开始前,你可以选择与任意一名角色交换控制权,该角色可选择在下一个回合开始前与你换回',
|
// fushen_info:'回合开始前,你可以选择与任意一名角色交换控制权,该角色可选择在下一个回合开始前与你换回',
|
||||||
|
|
|
@ -5225,7 +5225,7 @@ character.swd={
|
||||||
content:lib.translate[link+'_info']
|
content:lib.translate[link+'_info']
|
||||||
});
|
});
|
||||||
game.addVideo('markCharacter',player,{
|
game.addVideo('markCharacter',player,{
|
||||||
name:'get.translation(link)',
|
name:get.translation(link),
|
||||||
content:lib.translate[link+'_info'],
|
content:lib.translate[link+'_info'],
|
||||||
id:'tianshu',
|
id:'tianshu',
|
||||||
target:target.name
|
target:target.name
|
||||||
|
|
|
@ -3,18 +3,18 @@ character.xiake={
|
||||||
character:{
|
character:{
|
||||||
// xk_dongfangweiming:['male','shu',4,[]],
|
// xk_dongfangweiming:['male','shu',4,[]],
|
||||||
xk_guyuexuan:['male','qun',4,['rouquan','gzhenji']],
|
xk_guyuexuan:['male','qun',4,['rouquan','gzhenji']],
|
||||||
xk_jinji:['male','shu',4,['xueren','lianpo']],
|
xk_jinji:['male','shu',4,['lingfeng','lianpo']],
|
||||||
// xk_shenxiangyun:['female','wei',3,['zhenjiu']],
|
// xk_shenxiangyun:['female','wei',3,['zhenjiu']],
|
||||||
xk_fujianhan:['male','qun',4,['zuijian','zitong']],
|
xk_fujianhan:['male','qun',4,['zuijian','zitong']],
|
||||||
},
|
},
|
||||||
skill:{
|
skill:{
|
||||||
xueren:{
|
lingfeng:{
|
||||||
trigger:{source:'damageEnd'},
|
trigger:{source:'damageEnd'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return event.parent.name!='xueren'&&event.player.isAlive();
|
return event.parent.name!='lingfeng'&&event.player.isAlive();
|
||||||
},
|
},
|
||||||
prompt:function(event,player){
|
prompt:function(event,player){
|
||||||
return '是否对'+get.translation(event.player)+'发动【血刃】?';
|
return '是否对'+get.translation(event.player)+'发动【凌锋】?';
|
||||||
},
|
},
|
||||||
check:function(event,player){
|
check:function(event,player){
|
||||||
if(ai.get.damageEffect(event.player,player,player)>0&&
|
if(ai.get.damageEffect(event.player,player,player)>0&&
|
||||||
|
@ -140,8 +140,8 @@ character.xiake={
|
||||||
xk_jinji:'荆棘',
|
xk_jinji:'荆棘',
|
||||||
xk_shenxiangyun:'沈湘芸',
|
xk_shenxiangyun:'沈湘芸',
|
||||||
xk_fujianhan:'傅剑寒',
|
xk_fujianhan:'傅剑寒',
|
||||||
xueren:'血刃',
|
lingfeng:'凌锋',
|
||||||
xueren_info:'每当你造成一次伤害,你可流失一点体力并对目标再造成一点伤害',
|
lingfeng_info:'每当你造成一次伤害,你可流失一点体力并对目标再造成一点伤害',
|
||||||
gzhenji:'震击',
|
gzhenji:'震击',
|
||||||
gzhenji_info:'你使用杀造成伤害后,可以摸一张牌,并且本回合内可以额外使用一张杀',
|
gzhenji_info:'你使用杀造成伤害后,可以摸一张牌,并且本回合内可以额外使用一张杀',
|
||||||
rouquan:'柔拳',
|
rouquan:'柔拳',
|
||||||
|
|
|
@ -168,7 +168,7 @@ character.yxs={
|
||||||
return 6-ai.get.value(card);
|
return 6-ai.get.value(card);
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
order:7.5,
|
order:2,
|
||||||
result:{
|
result:{
|
||||||
target:function(player,target){
|
target:function(player,target){
|
||||||
if(target.isLinked()) return 1;
|
if(target.isLinked()) return 1;
|
||||||
|
|
63
game/game.js
|
@ -1629,7 +1629,7 @@
|
||||||
if(this.innerHTML!='已隐藏'){
|
if(this.innerHTML!='已隐藏'){
|
||||||
this.innerHTML='已隐藏';
|
this.innerHTML='已隐藏';
|
||||||
game.saveConfig('hiddenModePack',['stone','chess','boss']);
|
game.saveConfig('hiddenModePack',['stone','chess','boss']);
|
||||||
game.saveConfig('hiddenCardPack',['zhenfa','qimou','yibao','shenbing','swd','shenqi','hearth','compensate']);
|
game.saveConfig('hiddenCardPack',['zhenfa','yunchou','swd','shenqi','hearth','compensate']);
|
||||||
game.saveConfig('hiddenCharacterPack',['diy','yxs','hearth','swd','gujian','xianjian','xiake','boss']);
|
game.saveConfig('hiddenCharacterPack',['diy','yxs','hearth','swd','gujian','xianjian','xiake','boss']);
|
||||||
var that=this;
|
var that=this;
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
|
@ -7283,6 +7283,43 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
markSkillCharacter:function(target,name,content,id){
|
||||||
|
if(typeof target=='object'){
|
||||||
|
target=target.name;
|
||||||
|
}
|
||||||
|
if(this.marks[id]){
|
||||||
|
if(this.marks[id]._name==target){
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
this.marks[id].name=name+'_charactermark';
|
||||||
|
this.marks[id]._name=target;
|
||||||
|
this.marks[id].info={
|
||||||
|
name:name,
|
||||||
|
content:content
|
||||||
|
};
|
||||||
|
this.marks[id].setBackground(target,'character');
|
||||||
|
game.addVideo('changeMarkCharacter',this,{
|
||||||
|
id:id,
|
||||||
|
name:name,
|
||||||
|
content:content,
|
||||||
|
target:target
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
this.marks[id]=this.markCharacter(target,{
|
||||||
|
name:name,
|
||||||
|
content:content
|
||||||
|
});
|
||||||
|
this.marks[id]._name=target;
|
||||||
|
game.addVideo('markCharacter',this,{
|
||||||
|
name:name,
|
||||||
|
content:content,
|
||||||
|
id:id,
|
||||||
|
target:target
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
},
|
||||||
markCharacter:function(name,info,learn,learn2){
|
markCharacter:function(name,info,learn,learn2){
|
||||||
if(typeof name=='object'){
|
if(typeof name=='object'){
|
||||||
name=name.name;
|
name=name.name;
|
||||||
|
@ -10867,6 +10904,15 @@
|
||||||
console.log(player);
|
console.log(player);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
changeMarkCharacter:function(player,content){
|
||||||
|
if(player&&content&&player.marks[content.id]){
|
||||||
|
player.marks[content.id].info={
|
||||||
|
name:content.name,
|
||||||
|
content:content.content
|
||||||
|
};
|
||||||
|
player.marks[content.id].setBackground(content.target,'character');
|
||||||
|
}
|
||||||
|
},
|
||||||
mark:function(player,content){
|
mark:function(player,content){
|
||||||
if(player&&content){
|
if(player&&content){
|
||||||
var mark=player.mark(content.id,content);
|
var mark=player.mark(content.id,content);
|
||||||
|
@ -13533,6 +13579,17 @@
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
},
|
},
|
||||||
|
findCards:function(func){
|
||||||
|
var cards=[];
|
||||||
|
for(var i in lib.card){
|
||||||
|
if(!lib.translate[i+'_info']) continue;
|
||||||
|
if(lib.card[i].mode&&lib.card[i].mode.contains(lib.config.mode)==false) continue;
|
||||||
|
if(func(i,lib.card[i])){
|
||||||
|
cards.push(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return cards;
|
||||||
|
},
|
||||||
players:[],
|
players:[],
|
||||||
dead:[],
|
dead:[],
|
||||||
imported:[],
|
imported:[],
|
||||||
|
@ -19210,7 +19267,7 @@
|
||||||
var clicklayer=function(e){
|
var clicklayer=function(e){
|
||||||
uiintro.delete();
|
uiintro.delete();
|
||||||
this.remove();
|
this.remove();
|
||||||
game.resume2();
|
if(!ui.arena.classList.contains('menupaused')) game.resume2();
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -19222,7 +19279,7 @@
|
||||||
var clickintro=function(){
|
var clickintro=function(){
|
||||||
layer.remove();
|
layer.remove();
|
||||||
this.delete();
|
this.delete();
|
||||||
game.resume2();
|
if(!ui.arena.classList.contains('menupaused')) game.resume2();
|
||||||
};
|
};
|
||||||
uiintro.addEventListener('mouseleave',clickintro);
|
uiintro.addEventListener('mouseleave',clickintro);
|
||||||
uiintro.addEventListener('click',clickintro);
|
uiintro.addEventListener('click',clickintro);
|
||||||
|
|
|
@ -23,9 +23,7 @@ card.pack={
|
||||||
guozhan:'国战',
|
guozhan:'国战',
|
||||||
mingzhong:'忠胆英杰',
|
mingzhong:'忠胆英杰',
|
||||||
zhenfa:'阵法',
|
zhenfa:'阵法',
|
||||||
qimou:'奇谋',
|
yunchou:'运筹帷幄',
|
||||||
yibao:'异宝',
|
|
||||||
shenbing:'神兵',
|
|
||||||
swd:'轩辕剑',
|
swd:'轩辕剑',
|
||||||
shenqi:'上古神器',
|
shenqi:'上古神器',
|
||||||
hearth:'炉石传说',
|
hearth:'炉石传说',
|
||||||
|
|
After Width: | Height: | Size: 69 KiB |
After Width: | Height: | Size: 83 KiB |
After Width: | Height: | Size: 60 KiB |
After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 38 KiB |
|
@ -1041,8 +1041,8 @@ mode.identity={
|
||||||
case 'zhong':case 'mingzhong': return 6;
|
case 'zhong':case 'mingzhong': return 6;
|
||||||
case 'nei':
|
case 'nei':
|
||||||
if(game.players.length==2) return -10;
|
if(game.players.length==2) return -10;
|
||||||
if(zhongmode&&to.ai.sizhong) return 6;
|
|
||||||
if(get.population('fan')==0) return -0.5;
|
if(get.population('fan')==0) return -0.5;
|
||||||
|
if(zhongmode&&to.ai.sizhong&&to.ai.shown<1) return 6;
|
||||||
if(get.population('fan')==1&&get.population('nei')==1&&game.players.length==3){
|
if(get.population('fan')==1&&get.population('nei')==1&&game.players.length==3){
|
||||||
var fan;
|
var fan;
|
||||||
for(var i=0;i<game.players.length;i++){
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
@ -1082,8 +1082,8 @@ mode.identity={
|
||||||
case 'zhu': return 10;
|
case 'zhu': return 10;
|
||||||
case 'zhong':case 'mingzhong': return 4;
|
case 'zhong':case 'mingzhong': return 4;
|
||||||
case 'nei':
|
case 'nei':
|
||||||
if(zhongmode&&to.ai.sizhong) return 6;
|
|
||||||
if(get.population('fan')==0) return -2;
|
if(get.population('fan')==0) return -2;
|
||||||
|
if(zhongmode&&to.ai.sizhong&&to.ai.shown<1) return 6;
|
||||||
return Math.min(3,-situation);
|
return Math.min(3,-situation);
|
||||||
case 'fan': return -8;
|
case 'fan': return -8;
|
||||||
}
|
}
|
||||||
|
|