|
@ -272,7 +272,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
game.cardsGotoOrdering(cards);
|
game.cardsGotoOrdering(cards);
|
||||||
const color=event.result.card.name=='wuxie'?'black':'red';
|
const color=event.result.card.name=='wuxie'?'black':'red';
|
||||||
if(get.color(cards,false)!=color){
|
if(get.color(cards,false)!=color){
|
||||||
player.tempBanSkill('jsrgwentian');
|
player.tempBanSkill('jsrgwentian','roundStart');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -574,7 +574,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(!get.event('goon')) return 0;
|
if(!get.event('goon')) return 0;
|
||||||
return -get.attitude(get.player(),target);
|
return -get.attitude(get.player(),target);
|
||||||
}).set('goon',player.countCards('hs',['shan','caochuan'])||player.getHp()>=3);
|
}).set('goon',player.countCards('hs',['shan','caochuan'])||player.getHp()>=3);
|
||||||
if(!result.bool) return event.finish();
|
if(!result.bool) return;
|
||||||
const {targets}=result,target=targets[0];
|
const {targets}=result,target=targets[0];
|
||||||
player.logSkill('jsrgyoujin',target);
|
player.logSkill('jsrgyoujin',target);
|
||||||
const {result:result2}=await player.chooseToCompare(target).set('small',true);
|
const {result:result2}=await player.chooseToCompare(target).set('small',true);
|
||||||
|
@ -880,7 +880,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
]);
|
]);
|
||||||
next.set('prompt','鹰眎:点击将牌移动到牌堆顶或牌堆底');
|
next.set('prompt','鹰眎:点击将牌移动到牌堆顶或牌堆底');
|
||||||
next.processAI=list=>{
|
next.processAI=list=>{
|
||||||
const cards=list[0][1],player=_status.event.player;
|
const cards=list[1][1],player=_status.event.player;
|
||||||
const top=[];
|
const top=[];
|
||||||
const judges=player.getCards('j');
|
const judges=player.getCards('j');
|
||||||
let stopped=false;
|
let stopped=false;
|
||||||
|
@ -1213,6 +1213,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
enable:'chooseToUse',
|
enable:'chooseToUse',
|
||||||
viewAs:{name:'lebu'},
|
viewAs:{name:'lebu'},
|
||||||
position:'hes',
|
position:'hes',
|
||||||
|
viewAsFilter(player){
|
||||||
|
return player.countCards('hes');
|
||||||
|
},
|
||||||
filterCard(card,player){
|
filterCard(card,player){
|
||||||
return get.color(card)=='red'&&get.type2(card)!='trick';
|
return get.color(card)=='red'&&get.type2(card)!='trick';
|
||||||
},
|
},
|
||||||
|
@ -1506,22 +1509,29 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
effect:{
|
effect:{
|
||||||
audio:'jsrgdanxin',
|
audio:'jsrgdanxin',
|
||||||
trigger:{
|
trigger:{
|
||||||
player:['loseAfter','gainAfter'],
|
global:'gainAfter',
|
||||||
},
|
},
|
||||||
filter(event,player){
|
filter(event,player){
|
||||||
if(event.getParent(2).name!='tuixinzhifu') return false;
|
const level=event.player!=player?1:2;
|
||||||
const card=event.getParent(3).card;
|
if(event.player!=player&&event.getParent(level).name!='tuixinzhifu') return false;
|
||||||
|
if(event.player==player&&event.getParent(level).name!='tuixinzhifu') return false;
|
||||||
|
const card=event.getParent(level+1).card;
|
||||||
return card&&card.storage&&card.storage.jsrgdanxin;
|
return card&&card.storage&&card.storage.jsrgdanxin;
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
popup:false,
|
popup:false,
|
||||||
charlotte:true,
|
charlotte:true,
|
||||||
async content(event,trigger,player){
|
async content(event,trigger,player){
|
||||||
const {targets}=trigger.getParent(3);
|
const level=trigger.player!=player?1:2;
|
||||||
|
const {targets}=trigger.getParent(level+1);
|
||||||
await player.showCards(trigger.cards);
|
await player.showCards(trigger.cards);
|
||||||
if(trigger.cards.some(card=>get.suit(card)=='heart')){
|
if(trigger.cards.some(card=>get.suit(card)=='heart')){
|
||||||
await get.owner(trigger.cards.find(card=>get.suit(card)=='heart')).recover();
|
const owners=trigger.cards.filter((card=>get.suit(card)=='heart')).map(card=>get.owner(card)).toUniqued();
|
||||||
|
for(const owner of owners){
|
||||||
|
if(owner&&owner.isIn()) await owner.recover();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
if(trigger.player==player) return;
|
||||||
player.addTempSkill('jsrgdanxin_distance');
|
player.addTempSkill('jsrgdanxin_distance');
|
||||||
if(!player.storage.jsrgdanxin_distance) player.storage.jsrgdanxin_distance={};
|
if(!player.storage.jsrgdanxin_distance) player.storage.jsrgdanxin_distance={};
|
||||||
const id=targets[0].playerid;
|
const id=targets[0].playerid;
|
||||||
|
@ -1570,7 +1580,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},true).set('ai',target=>{
|
},true).set('ai',target=>{
|
||||||
const player=get.player();
|
const player=get.player();
|
||||||
const att=get.attitude(player,target);
|
const att=get.attitude(player,target);
|
||||||
const delta=get.value(target.getCards('e'),player)-get.value(player.getCards('e'),player);
|
let delta=get.value(target.getCards('e'),player)-get.value(player.getCards('e'),player);
|
||||||
if(att>0){
|
if(att>0){
|
||||||
if(delta<0) delta+=att/3;
|
if(delta<0) delta+=att/3;
|
||||||
}
|
}
|
||||||
|
@ -1754,7 +1764,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
async content(event,trigger,player){
|
async content(event,trigger,player){
|
||||||
const target=event.target;
|
const target=event.target;
|
||||||
const targets=game.filterPlayer(current=>target.inRange(current)&¤t!=player).sortBySeat(player);
|
const targets=game.filterPlayer(current=>target.inRange(current)&¤t!=player).sortBySeat(player);
|
||||||
if(!targets.length) return event.finish();
|
if(!targets.length) return;
|
||||||
while(targets.length){
|
while(targets.length){
|
||||||
const current=targets.shift();
|
const current=targets.shift();
|
||||||
if(current.countCards('he')) await current.chooseToDiscard('驰应:请弃置一张牌','he',true);
|
if(current.countCards('he')) await current.chooseToDiscard('驰应:请弃置一张牌','he',true);
|
||||||
|
@ -1777,7 +1787,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
const targets=game.filterPlayer(current=>target.inRange(current)&¤t!=player);
|
const targets=game.filterPlayer(current=>target.inRange(current)&¤t!=player);
|
||||||
let eff=0;
|
let eff=0;
|
||||||
for(const targetx of targets){
|
for(const targetx of targets){
|
||||||
const effx=get.effect(targetx,{name:'guohe_copy2'},player,target);
|
let effx=get.effect(targetx,{name:'guohe_copy2'},player,target);
|
||||||
if(get.attitude(player,targetx)<0) effx/=2;
|
if(get.attitude(player,targetx)<0) effx/=2;
|
||||||
eff+=effx;
|
eff+=effx;
|
||||||
}
|
}
|
||||||
|
@ -8200,7 +8210,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
jsrg_zhugeliang:'梦诸葛亮',
|
jsrg_zhugeliang:'梦诸葛亮',
|
||||||
jsrg_zhugeliang_prefix:'梦',
|
jsrg_zhugeliang_prefix:'梦',
|
||||||
jsrgwentian:'问天',
|
jsrgwentian:'问天',
|
||||||
jsrgwentian_info:'①你可以将牌堆顶的牌当【无懈可击】/【火攻】使用,若此牌不为黑色/红色,〖问天〗于本回合失效。②每回合限一次。你的一个阶段开始时,你可以观看牌堆顶的五张牌,然后将其中一张牌交给一名其他角色,将其余牌以任意顺序置于牌堆顶或牌堆底。',
|
jsrgwentian_info:'①你可以将牌堆顶的牌当【无懈可击】/【火攻】使用,若此牌不为黑色/红色,〖问天〗于本轮失效。②每回合限一次。你的一个阶段开始时,你可以观看牌堆顶的五张牌,然后将其中一张牌交给一名其他角色,将其余牌以任意顺序置于牌堆顶或牌堆底。',
|
||||||
jsrgchushi:'出师',
|
jsrgchushi:'出师',
|
||||||
jsrgchushi_info:'出牌阶段限一次。若你不为主公,你可以与主公议事。若结果为:红色,你与其各摸一张牌,若你与其手牌数之和小于7,重复此流程;黑色,当你于本轮内造成属性伤害时,此伤害+1。',
|
jsrgchushi_info:'出牌阶段限一次。若你不为主公,你可以与主公议事。若结果为:红色,你与其各摸一张牌,若你与其手牌数之和小于7,重复此流程;黑色,当你于本轮内造成属性伤害时,此伤害+1。',
|
||||||
jsrgyinlve:'隐略',
|
jsrgyinlve:'隐略',
|
||||||
|
|
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 91 KiB |
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 85 KiB |
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 79 KiB |