diff --git a/card/gwent.js b/card/gwent.js
index 8e76d7f9b..0a568229f 100644
--- a/card/gwent.js
+++ b/card/gwent.js
@@ -979,7 +979,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
selectTarget:-1,
content:function(){
target.recover();
- target.changeHujia();
+ target.draw();
},
ai:{
basic:{
@@ -2294,7 +2294,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
gw_zhuoshao:'灼烧',
gw_zhuoshao_info:'对任意名体力值为全场最高的角色使用,造成一点火属性伤害',
gw_fuyuan:'复原',
- gw_fuyuan_info:'对一名濒死状态角色使用,目标回复一点体力并获得一点护甲',
+ gw_fuyuan_info:'对一名濒死状态角色使用,目标回复一点体力并摸一张牌',
gw_youer:'诱饵',
gw_youer_bg:'饵',
gw_youer_info:'将一名其他角色的所有手牌移出游戏,然后摸一张牌,当前回合结束后该角色将以此法失去的牌收回手牌',
diff --git a/character/gwent.js b/character/gwent.js
index 408e82813..2796111c3 100644
--- a/character/gwent.js
+++ b/character/gwent.js
@@ -2279,12 +2279,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
draw:{
trigger:{player:'phaseEnd'},
filter:function(event,player){
- return player.hasSkill('hunmo3')&&player.countCards('h')<2;
+ return player.getStat('skill').hunmo>=3;
},
frequent:true,
content:function(){
- var num=2-player.countCards('h');
- if(num>0) player.draw(num);
+ 'step 0'
+ player.chooseTarget(get.prompt('魂墨:造成一点伤害')).ai=function(target){
+ return get.damageEffect(target,player,player);
+ }
+ 'step 1'
+ if(result.bool){
+ player.logSkill('hunmo_draw',result.targets);
+ result.targets[0].damage();
+ }
}
},
}
@@ -4294,7 +4301,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
gwminxiang_info:'出牌阶段限一次,你可以弃置一张基本牌或普通锦囊牌并选择两名角色,令目标分别视为对对方使用一张与弃置的牌同名的牌;每当有角色因此受到一点伤害,你在结算后摸一张牌',
gwlangshi:'狼噬',
gwlangshi_info:'每当你造成一次伤害,你可以对一名体力值不小于受伤害角色的其他角色造一点伤害',
- gwjingshi:'镜师',
+ gwjingshi:'血契',
gwjingshi_info:'出牌阶段限一次,你可以猜测手牌中黑色牌最多的角色是谁,若猜对,你可以观看所有其他角色的手牌并获得任意一张',
gwjingtian:'经天',
gwjingtian_info:'锁定技,牌堆顶的9张牌对你始终可见;你始终跳过摸牌阶段,改为获得3枚“经天”标记;每名角色的回合限一次,你可以在任意时间点移去一枚“经天”标记,然后获得牌堆顶的一张牌',
@@ -4394,7 +4401,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
gwbaquan:'霸权',
gwbaquan_info:'出牌阶段限一次,你可以获得一名其他角色的所有牌,然后还给其等量的牌,若你归还的牌均为你获得的牌且该角色体力值不小于你,你对其造成一点伤害',
hunmo:'魂墨',
- hunmo_info:'出牌阶段,若你手牌数小于2,你可以选择一名手牌数小于2的角色与其各摸一张牌;若你手牌数不小于2,你可以选择一名手牌数不小于2的角色与你各弃置一张手牌;结束阶段,若你发动过魂墨,你可以将手牌数补至2;同一阶段不能对同一角色发动两次',
+ hunmo_info:'出牌阶段,若你手牌数小于2,你可以选择一名手牌数小于2的角色与其各摸一张牌;若你手牌数不小于2,你可以选择一名手牌数不小于2的角色与你各弃置一张手牌;结束阶段,若你发动过至少3次魂墨,你可以造成一点伤害;同一阶段不能对同一角色发动两次',
huihun:'回魂',
huihun_info:'结束阶段,你可以从弃牌堆中获得本回合使用的前两张红色牌',
lanquan:'远略',
diff --git a/character/hearth.js b/character/hearth.js
index 29ef59a8a..414b1216d 100644
--- a/character/hearth.js
+++ b/character/hearth.js
@@ -270,7 +270,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
process:function(skill,name){
var cardname='hsnitai_'+skill;
lib.translate[cardname]=lib.translate[skill];
- lib.translate[cardname+'_info']='出牌阶段对自己使用,获得技能'+lib.translate[skill]+'(替换前一个以此法获得的技能)';
+ lib.translate[cardname+'_info']='出牌阶段对自己使用,获得技能'+lib.translate[skill]+'(替换前一个以此法获得的技能,效果持续2回合)';
lib.translate[cardname+'_append']='
【'+lib.translate[skill]+'】
'+
get.skillInfoTranslation(skill)+'
';
lib.card[cardname]=lib.card[cardname]||{
@@ -290,6 +290,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
target.$gain2(card);
target.removeSkill('hsnitai_card');
target.storage.hsnitai_card=card;
+ target.storage.hsnitai_card_count=1;
player.syncStorage('hsnitai_card');
target.addAdditionalSkill('hsnitai_card',skill);
target.addSkill('hsnitai_card');
@@ -337,13 +338,24 @@ game.import('character',function(lib,game,ui,get,ai,_status){
subSkill:{
card:{
mark:'card',
- onremove:true,
+ onremove:['hsnitai_card','hsnitai_card_count'],
intro:{
content:function(storage){
var skill=storage.name.slice(8);
return '【'+lib.translate[skill]+'】
'+
get.skillInfoTranslation(skill)+'
';
}
+ },
+ trigger:{player:'phaseUseBegin'},
+ priority:-10,
+ silent:true,
+ content:function(){
+ if(player.storage.hsnitai_card_count>0){
+ player.storage.hsnitai_card_count--;
+ }
+ else{
+ player.removeSkill('hsnitai_card');
+ }
}
}
}
diff --git a/character/yxs.js b/character/yxs.js
index de305f750..5127a4b3e 100644
--- a/character/yxs.js
+++ b/character/yxs.js
@@ -1702,7 +1702,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
forced:true,
trigger:{global:'damageAfter'},
filter:function(event,player){
- return event.player!=player&&player.storage.tongling<3;
+ return event.source&&event.source.isFriendsOf(player)&&player.storage.tongling<3;
},
content:function(){
player.storage.tongling++;
@@ -1714,13 +1714,36 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
fanpu:{
+ enable:'phaseUse',
+ usable:1,
+ filter:function(event,player){
+ return player.storage.tongling>=3;
+ },
+ filterTarget:function(card,player,target){
+ return player.canUse('sha',target);
+ },
+ selectTarget:[1,3],
+ multitarget:true,
+ multiline:true,
+ content:function(){
+ player.storage.tongling-=3;
+ player.unmarkSkill('tongling');
+ player.syncStorage('tongling');
+ player.useCard({name:'sha'},targets,false);
+ },
+ ai:{
+ combo:'tongling',
+ order:2
+ }
+ },
+ fanpu_old:{
enable:'phaseUse',
usable:1,
filter:function(event,player){
return player.storage.tongling>=3;
},
promptfunc:function(){
- return '令自己在本轮内不能成为出杀的目标(选择自己),或对攻击范围内的一名其他角色造成一点伤害'
+ return '令自己在本轮内不能成为出杀的目标(选择自己),或对攻击范围内的至多两名角色使用一张杀'
},
filterTarget:function(card,player,target){
return player==target||get.distance(player,target,'attack')<=1;
@@ -2934,9 +2957,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ducai3:'独裁',
ducai_info:'出牌阶段限一次,你可以弃置一张牌,则本轮内除你外的角色不能使用或打出与该手牌花色相同的手牌',
tongling:'统领',
- tongling_info:'每当其他角色受到一次伤害时,你获得1个统领标记(标记上限为3)',
+ tongling_info:'锁定技,每当一名友方角色造成一次伤害,你获得1个统领标记(标记上限为3)',
fanpu:'反扑',
- fanpu_info:'出牌阶段限一次,你可以弃掉3个统领标记并选择1项执行:(1)本轮内不能成为【杀】的目标;(2)对你攻击范围内的1名其他角色造成1点伤害。',
+ fanpu_info:'出牌阶段限一次,你可以移去3枚统领标记并视为对攻击范围内的至多3名角色使用一张杀',
fenghuo:'烽火',
fenghuo_info:'你可以将一张装备区内的牌当作南蛮入侵使用',
weiyi:'威仪',
diff --git a/game/game.js b/game/game.js
index b293e2687..a04afba73 100644
--- a/game/game.js
+++ b/game/game.js
@@ -18031,6 +18031,12 @@
}
return this==player;
},
+ isFriendsOf:function(player){
+ return player.getFriends(true).contains(this);
+ },
+ isEnemiesOf:function(player){
+ return player.getEnemies().contains(this);
+ },
isAlive:function(){
return this.classList.contains('dead')==false;
},