|
@ -5,7 +5,9 @@ card.yunchou={
|
||||||
type:'trick',
|
type:'trick',
|
||||||
enable:true,
|
enable:true,
|
||||||
selectTarget:-1,
|
selectTarget:-1,
|
||||||
filterTarget:true,
|
filterTarget:function(card,player,target){
|
||||||
|
return player==target||target.countCards('h');
|
||||||
|
},
|
||||||
contentBefore:function(){
|
contentBefore:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
game.delay();
|
game.delay();
|
||||||
|
@ -1039,7 +1041,10 @@ card.yunchou={
|
||||||
source:trigger.player,
|
source:trigger.player,
|
||||||
evt:trigger
|
evt:trigger
|
||||||
};
|
};
|
||||||
player.chooseToUse({name:'youdishenru'},'是否使用诱敌深入?').set('source',trigger.player);
|
player.chooseToUse(function(card,player){
|
||||||
|
if(card.name!='youdishenru') return false;
|
||||||
|
return lib.filter.cardEnabled(card,player,'forceEnable');
|
||||||
|
},'是否使用诱敌深入?').set('source',trigger.player);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
_chenhuodajie:{
|
_chenhuodajie:{
|
||||||
|
@ -1108,7 +1113,7 @@ card.yunchou={
|
||||||
},
|
},
|
||||||
translate:{
|
translate:{
|
||||||
diaobingqianjiang:'调兵遣将',
|
diaobingqianjiang:'调兵遣将',
|
||||||
diaobingqianjiang_info:'出牌阶段,对所有角色使用。你摸一张牌,然后亮出牌堆顶的X张牌(X为存活角色数的一半,向上取整),目标可以用一张手牌替换其中的一张牌。结算后,你可以将剩余的牌中的任意张以任意顺序置于牌堆顶',
|
diaobingqianjiang_info:'出牌阶段,对你及其他有手牌的角色使用。你摸一张牌,然后亮出牌堆顶的X张牌(X为存活角色数的一半,向上取整),目标可以用一张手牌替换其中的一张牌。结算后,你可以将剩余的牌中的任意张以任意顺序置于牌堆顶',
|
||||||
caochuanjiejian:'草船借箭',
|
caochuanjiejian:'草船借箭',
|
||||||
caochuanjiejian_info:'出牌阶段对一名有手牌的其他角色使用,目标选择一项:将手牌中的所有杀(至少1张)交给你,并视为对你使用一张杀;或展示手牌并令你弃置任意张',
|
caochuanjiejian_info:'出牌阶段对一名有手牌的其他角色使用,目标选择一项:将手牌中的所有杀(至少1张)交给你,并视为对你使用一张杀;或展示手牌并令你弃置任意张',
|
||||||
xiaolicangdao:'笑里藏刀',
|
xiaolicangdao:'笑里藏刀',
|
||||||
|
|
|
@ -73,7 +73,7 @@ character.hearth={
|
||||||
|
|
||||||
hs_fandral:['male','shu',4,['nuyan','chouhuo']],
|
hs_fandral:['male','shu',4,['nuyan','chouhuo']],
|
||||||
hs_hallazeal:['male','wei',4,['shengteng','yuansu']],
|
hs_hallazeal:['male','wei',4,['shengteng','yuansu']],
|
||||||
hs_nzoth:['male','shu',4,['mengye']],
|
hs_enzoth:['male','qun',4,['mengye']],
|
||||||
hs_walian:['male','shu',4,['wzhanyi']],
|
hs_walian:['male','shu',4,['wzhanyi']],
|
||||||
// hs_pengpeng:['male','qun',4,['zhadan']],
|
// hs_pengpeng:['male','qun',4,['zhadan']],
|
||||||
// hs_yashaji:['male','wei',3,[]],
|
// hs_yashaji:['male','wei',3,[]],
|
||||||
|
@ -170,46 +170,98 @@ character.hearth={
|
||||||
},
|
},
|
||||||
skill:{
|
skill:{
|
||||||
mengye:{
|
mengye:{
|
||||||
trigger:{global:'phaseBegin'},
|
trigger:{player:'phaseAfter'},
|
||||||
priority:19,
|
priority:-50,
|
||||||
|
direct:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(get.mode()=='identity'&&_status.mode=='zhong'&&game.zhu&&!game.zhu.isZhu) return false;
|
return !player.isTurnedOver();
|
||||||
if(event.player.identity=='zhu'||get.is.jun(event.player)) return false;
|
|
||||||
return !player.isTurnedOver()&&event.player!=player;
|
|
||||||
},
|
},
|
||||||
check:function(event,player){
|
|
||||||
var att=ai.get.attitude(player,event.player);
|
|
||||||
return att<=-3&&!game.hasPlayer(function(current){
|
|
||||||
return ai.get.attitude(player,current)<att;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
logTarget:'player',
|
|
||||||
content:function(){
|
content:function(){
|
||||||
player.turnOver();
|
'step 0'
|
||||||
trigger.player.storage.mengye=player;
|
player.chooseTarget(get.prompt('mengye'),function(card,player,target){
|
||||||
trigger.player.addSkill('mengye');
|
if(get.mode()=='identity'&&_status.mode=='zhong'&&game.zhu&&!game.zhu.isZhu){
|
||||||
trigger.player.ai.modAttitudeFrom=function(from,to){
|
return target==game.zhong;
|
||||||
return ai.get.attitude(player,to);
|
}
|
||||||
|
if(target.identity=='zhu'||get.is.jun(target)) return false;
|
||||||
|
return target!=player;
|
||||||
|
}).ai=function(target){
|
||||||
|
var att=-ai.get.attitude(player,target);
|
||||||
|
if(att<=0) return 0;
|
||||||
|
if(target.needsToDiscard()) att+=3;
|
||||||
|
if(target.needsToDiscard(1)) att++;
|
||||||
|
return att+target.countCards('h')+ai.get.threaten(target);
|
||||||
|
};
|
||||||
|
'step 1'
|
||||||
|
if(result.bool){
|
||||||
|
var target=result.targets[0];
|
||||||
|
player.logSkill('mengye',target);
|
||||||
|
target.storage.mengye2=player;
|
||||||
|
target.storage.mengye4=target.ai.shown;
|
||||||
|
target.addSkill('mengye2');
|
||||||
|
event.target=target;
|
||||||
|
player.turnOver();
|
||||||
}
|
}
|
||||||
trigger.player.ai.modAttitudeTo=function(){
|
else{
|
||||||
return 0;
|
event.finish();
|
||||||
}
|
}
|
||||||
// if()
|
'step 2'
|
||||||
|
game.delay();
|
||||||
|
'step 3'
|
||||||
|
var target=event.target;
|
||||||
|
if(player==game.me){
|
||||||
|
game.swapPlayerAuto(target);
|
||||||
|
target.storage.mengye3=true;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
target.addSkill('mad');
|
||||||
|
target.unmarkSkill('mad');
|
||||||
|
}
|
||||||
|
player.out('mengye');
|
||||||
|
target.phase();
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
threaten:2
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mengye2:{
|
mengye2:{
|
||||||
temp:true,
|
temp:true,
|
||||||
mark:true,
|
mark:'character',
|
||||||
intro:{
|
intro:{
|
||||||
content:'由$控制本回合行动'
|
content:'由$控制本回合行动'
|
||||||
},
|
},
|
||||||
onremove:true,
|
init:function(player){
|
||||||
|
player.ai.modAttitudeFrom=function(from,to){
|
||||||
|
return ai.get.attitude(player.storage.mengye2,to);
|
||||||
|
}
|
||||||
|
player.ai.modAttitudeTo=function(from,to,att){
|
||||||
|
if(from!=to) return 0;
|
||||||
|
return att;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onremove:function(player){
|
||||||
|
delete player.ai.modAttitudeFrom;
|
||||||
|
delete player.ai.modAttitudeTo;
|
||||||
|
delete player.storage.mengye2;
|
||||||
|
delete player.storage.mengye3;
|
||||||
|
delete player.storage.mengye4;
|
||||||
|
},
|
||||||
trigger:{player:['phaseAfter','dieBegin']},
|
trigger:{player:['phaseAfter','dieBegin']},
|
||||||
forced:true,
|
forced:true,
|
||||||
|
popup:false,
|
||||||
content:function(){
|
content:function(){
|
||||||
|
player.storage.mengye2.in('mengye');
|
||||||
|
if(player==game.me&&player.storage.mengye3){
|
||||||
|
game.swapPlayerAuto(player.storage.mengye2);
|
||||||
|
}
|
||||||
|
if(typeof player.ai.shown=='number'){
|
||||||
|
player.ai.shown=player.storage.mengye4;
|
||||||
|
}
|
||||||
|
player.removeSkill('mad');
|
||||||
|
player.removeSkill('mengye2');
|
||||||
|
player.loseHp();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
mengye3:{},
|
||||||
lianzhan:{
|
lianzhan:{
|
||||||
trigger:{source:'damageEnd'},
|
trigger:{source:'damageEnd'},
|
||||||
forced:true,
|
forced:true,
|
||||||
|
@ -6119,7 +6171,7 @@ character.hearth={
|
||||||
hs_blingtron:'布林顿',
|
hs_blingtron:'布林顿',
|
||||||
hs_fandral:'范达尔',
|
hs_fandral:'范达尔',
|
||||||
hs_hallazeal:'海纳泽尔',
|
hs_hallazeal:'海纳泽尔',
|
||||||
hs_nzoth:'恩佐斯',
|
hs_enzoth:'恩佐斯',
|
||||||
hs_walian:'瓦里安',
|
hs_walian:'瓦里安',
|
||||||
hs_pengpeng:'砰砰博士',
|
hs_pengpeng:'砰砰博士',
|
||||||
hs_aya:'艾雅',
|
hs_aya:'艾雅',
|
||||||
|
@ -6159,7 +6211,7 @@ character.hearth={
|
||||||
|
|
||||||
mengye:'梦魇',
|
mengye:'梦魇',
|
||||||
mengye2:'梦魇',
|
mengye2:'梦魇',
|
||||||
mengye_info:'在一名非主公的其他角色的回合开始前,若你的武将牌正面朝上,你可以翻面并代替其进行一回合行动',
|
mengye_info:'回合结束后,你可以翻面并指定一名的非主公角色,由你控制其进行一个额外的回合。在此回合中,你的本体不参与游戏',
|
||||||
fuhua:'腐化',
|
fuhua:'腐化',
|
||||||
fuhua2:'腐化',
|
fuhua2:'腐化',
|
||||||
fuhua_info:'出牌阶段,你可以将一张毒交给一名没有魔血技能的其他角色,该角色选择一项:1. 获得技能魔血,此后每个出牌阶段开始时需交给你一张牌;2. 视为你对其使用一张决斗,若你因此受到伤害,本局不能再对其发动腐化',
|
fuhua_info:'出牌阶段,你可以将一张毒交给一名没有魔血技能的其他角色,该角色选择一项:1. 获得技能魔血,此后每个出牌阶段开始时需交给你一张牌;2. 视为你对其使用一张决斗,若你因此受到伤害,本局不能再对其发动腐化',
|
||||||
|
|
|
@ -54,6 +54,7 @@ window.characterRank={
|
||||||
'hs_tyrande',
|
'hs_tyrande',
|
||||||
],
|
],
|
||||||
a:[
|
a:[
|
||||||
|
'hs_enzoth',
|
||||||
'hs_sapphiron',
|
'hs_sapphiron',
|
||||||
'gw_airuiting',
|
'gw_airuiting',
|
||||||
'gw_dagong',
|
'gw_dagong',
|
||||||
|
|
|
@ -7721,10 +7721,12 @@ character.swd={
|
||||||
forceunique:true,
|
forceunique:true,
|
||||||
skillAnimation:true,
|
skillAnimation:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(get.mode()=='identity'&&_status.mode=='zhong'&&game.zhu&&!game.zhu.isZhu) return false;
|
|
||||||
return !player.storage.duijue;
|
return !player.storage.duijue;
|
||||||
},
|
},
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
|
if(get.mode()=='identity'&&_status.mode=='zhong'&&game.zhu&&!game.zhu.isZhu){
|
||||||
|
return target==game.zhong;
|
||||||
|
}
|
||||||
if(target.identity=='zhu'||get.is.jun(target)) return false;
|
if(target.identity=='zhu'||get.is.jun(target)) return false;
|
||||||
return player!=target;
|
return player!=target;
|
||||||
},
|
},
|
||||||
|
|
|
@ -6541,6 +6541,9 @@ character.yijiang={
|
||||||
usable:1,
|
usable:1,
|
||||||
discard:false,
|
discard:false,
|
||||||
prepare:'give2',
|
prepare:'give2',
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.countCards('he',{suit:'heart'});
|
||||||
|
},
|
||||||
filterCard:function(card){
|
filterCard:function(card){
|
||||||
return get.suit(card)=='heart';
|
return get.suit(card)=='heart';
|
||||||
},
|
},
|
||||||
|
|
|
@ -398,7 +398,7 @@ window.noname_asset_list=[
|
||||||
'image/character/hs_neptulon.jpg',
|
'image/character/hs_neptulon.jpg',
|
||||||
'image/character/hs_nozdormu.jpg',
|
'image/character/hs_nozdormu.jpg',
|
||||||
'image/character/hs_nuogefu.jpg',
|
'image/character/hs_nuogefu.jpg',
|
||||||
'image/character/hs_nzoth.jpg',
|
'image/character/hs_enzoth.jpg',
|
||||||
'image/character/hs_ronghejuren.jpg',
|
'image/character/hs_ronghejuren.jpg',
|
||||||
'image/character/hs_ruanniguai.jpg',
|
'image/character/hs_ruanniguai.jpg',
|
||||||
'image/character/hs_sainaliusi.jpg',
|
'image/character/hs_sainaliusi.jpg',
|
||||||
|
|
|
@ -24057,6 +24057,14 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
swapPlayerAuto:function(player){
|
||||||
|
if(game.modeSwapPlayer){
|
||||||
|
game.modeSwapPlayer(player);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
game.swapPlayer(player);
|
||||||
|
}
|
||||||
|
},
|
||||||
findNext:function(player){
|
findNext:function(player){
|
||||||
var players=get.players(lib.sort.position);
|
var players=get.players(lib.sort.position);
|
||||||
var position=parseInt(player.dataset.position);
|
var position=parseInt(player.dataset.position);
|
||||||
|
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 61 KiB |