Skip to content

Commit 9698106

Browse files
authored
Merge pull request #815 from libccy/PR-Branch
v1.10.6.1
2 parents 455b564 + 1408fbb commit 9698106

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+17817
-13569
lines changed

card/standard.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,8 +184,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
184184
}
185185
"step 3"
186186
if((!result||!result.bool||!result.result||result.result!='shaned')&&!event.unhurt){
187-
if (!event.directHit&&!event.directHit2&&lib.filter.cardEnabled(new lib.element.VCard('shan'), target, 'forceEnable')&&
188-
target.hasCard(()=>true,'hs')&&get.damageEffect(target,player,target)<0) target.addGaintag(target.getCards('hs'),'sha_notshan');
187+
if (!event.directHit&&!event.directHit2&&lib.filter.cardEnabled(new lib.element.VCard({name:'shan'}), target, 'forceEnable')&&
188+
target.countCards('hs')>0&&get.damageEffect(target,player,target)<0) target.addGaintag(target.getCards('hs'),'sha_notshan');
189189
target.damage(get.nature(event.card));
190190
event.result={bool:true}
191191
event.trigger('shaDamage');

card/yongjian.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
411411
equipSkill:true,
412412
forced:true,
413413
trigger:{target:'gift'},
414-
filter:(event,player)=>event.target!=player,
414+
filter:(event,player)=>event.player!=player,
415415
logTarget:'player',
416416
content:()=>{
417417
trigger.deniedGift.add(trigger.card);

character/extra.js

Lines changed: 44 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
155155
'虎:当你使用指定唯一目标的牌对目标角色造成伤害时,此伤害+1。',
156156
'鹿:①当你获得此效果时,你回复1点体力并弃置判定区的所有牌。②你不能成为延时锦囊牌的目标。',
157157
'熊:每回合限一次,当你受到伤害时,此伤害-1。',
158-
'猿:出牌阶段开始时,你选择一名角色,随机获得其装备区里的一张牌。',
159-
'鹤:出牌阶段开始时,你摸三张牌。',
158+
'猿:当你获得此效果时,你选择一名其他角色,获得其装备区里的一张牌。',
159+
'鹤:当你获得此效果时,你摸三张牌。',
160160
],
161161
updateMark:function(player){
162162
var wuqinxi=player.storage.wuling_wuqinxi;
@@ -177,11 +177,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
177177
game.broadcastAll(function(player,curMark){
178178
if(player.marks.wuling_wuqinxi) player.marks.wuling_wuqinxi.firstChild.innerHTML=curMark;
179179
},player,curMark);
180-
if(curMark=='鹿'){
181-
player.logSkill('wuling_wuqinxi');
182-
player.recover();
183-
player.discard(player.getCards('j')).discarder=player;
184-
}
180+
var next=game.createEvent('wuling_change');
181+
next.player=player;
182+
next.setContent('emptyEvent');
185183
},
186184
ai:{
187185
order:7,
@@ -214,7 +212,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
214212
},
215213
trigger:{
216214
source:'damageBegin1',
217-
player:['phaseZhunbeiBegin','damageBegin4','phaseUseBegin'],
215+
player:['phaseZhunbeiBegin','damageBegin4','wuling_change'],
218216
},
219217
filter:function(event,player,name){
220218
const wuqinxi=player.storage.wuling_wuqinxi&&player.storage.wuling_wuqinxi[0];
@@ -228,9 +226,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
228226
case 'damageBegin4':
229227
return wuqinxi=='熊'&&!player.hasSkill('wuling_xiong');
230228
default:
231-
if(wuqinxi=='鹤') return true;
232-
if(wuqinxi!='猿') return false;
233-
return game.hasPlayer(target=>target.countGainableCards(player,'e'));
229+
switch(wuqinxi){
230+
case '鹿':
231+
return player.isDamaged()||player.countCards('j');
232+
case '鹤':
233+
return true;
234+
case '猿':
235+
return game.hasPlayer(target=>target!=playertarget.countGainableCards(player,'e'));
236+
default:
237+
return false;
238+
}
239+
break;
234240
}
235241
},
236242
forced:true,
@@ -256,31 +262,38 @@ game.import('character',function(lib,game,ui,get,ai,_status){
256262
event.finish();
257263
break;
258264
default:
259-
if(wuqinxi=='鹤'){
260-
player.draw(3);
261-
event.finish();
262-
}
263-
else{
264-
player.chooseTarget('五禽戏:获得一名角色装备区里的一张装备牌',function(card,player,target){
265-
return target.countGainableCards(player,'e');
266-
}).set('ai',function(target){
267-
var player=_status.event.player;
268-
var att=get.attitude(player,target),eff=0;
269-
target.getCards('e',function(card){
270-
var val=get.value(card,target);
271-
eff=Math.max(eff,-val*att);
265+
switch(wuqinxi){
266+
case '鹿':
267+
player.recover();
268+
player.discard(player.getCards('j')).discarder=player;
269+
event.finish();
270+
break;
271+
case '鹤':
272+
player.draw(3);
273+
event.finish();
274+
break;
275+
case '猿':
276+
player.chooseTarget('五禽戏:获得一名其他角色装备区里的一张装备牌',function(card,player,target){
277+
return target!=player&&target.countGainableCards(player,'e');
278+
}).set('ai',function(target){
279+
var player=_status.event.player;
280+
var att=get.attitude(player,target),eff=0;
281+
target.getCards('e',function(card){
282+
var val=get.value(card,target);
283+
eff=Math.max(eff,-val*att);
284+
});
285+
return eff;
272286
});
273-
return eff;
274-
});
287+
break;
275288
}
289+
break;
276290
}
277291
}
278292
'step 1'
279293
if(result.bool){
280294
var target=result.targets[0];
281295
player.line(target,'green');
282-
var cards=target.getGainableCards(player,'e');
283-
player.gain(cards.randomGets(1),target,'give');
296+
player.gainPlayerCard(target,'e',true);
284297
}
285298
},
286299
ai:{
@@ -7014,11 +7027,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
70147027
source:'damageSource'
70157028
},
70167029
filter:function(event,player){
7017-
if(get.attitude(_status.event.player,event.player)>=0) return false;
70187030
if(player.storage.drlt_duorui.length) return false;
70197031
return event.player.isIn()&&_status.currentPhase==player;
70207032
},
70217033
check:function(event,player){
7034+
if(get.attitude(_status.event.player,event.player)>=0) return false;
70227035
if(player.hasEnabledSlot()&&!player.hasEnabledSlot(5)) return false;
70237036
return true;
70247037
},
@@ -8049,8 +8062,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
80498062
'<br><li>虎:当你使用指定唯一目标的牌对目标角色造成伤害时,此伤害+1。'+
80508063
'<br><li>鹿:①当你获得此效果时,你回复1点体力并弃置判定区的所有牌。②你不能成为延时锦囊牌的目标。'+
80518064
'<br><li>熊:每回合限一次,当你受到伤害时,此伤害-1。'+
8052-
'<br><li>猿:出牌阶段开始时,你选择一名角色,随机获得其装备区里的一张牌。'+
8053-
'<br><li>鹤:出牌阶段开始时,你摸三张牌。',
8065+
'<br><li>猿:当你获得此效果时,你选择一名其他角色,获得其装备区里的一张牌。'+
8066+
'<br><li>鹤:当你获得此效果时,你摸三张牌。',
80548067
youyi:'游医',
80558068
youyi_info:'①弃牌阶段结束时,你可以将所有于此阶段弃置的牌置入仁区。②出牌阶段限一次。你可以将仁区的所有牌置入弃牌堆,令所有角色各回复1点体力。',
80568069

character/huicui.js

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
107107
sp_jishi:['dc_jiben','zhenghun','dc_sunhanhua','liuchongluojun'],
108108
sp_raoting:['dc_huanghao','dc_sunziliufang','dc_sunchen','dc_jiachong'],
109109
sp_yijun:['gongsundu','mengyou'],
110-
sp_zhengyin:['yue_caiwenji','yue_zhoufei','yue_caiyong'],
110+
sp_zhengyin:['yue_caiwenji','yue_zhoufei','yue_caiyong','yue_xiaoqiao'],
111111
}
112112
},
113113
skill:{
@@ -658,7 +658,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
658658
trigger:{global:'phaseEnd'},
659659
forced:true,
660660
filter:function(event,player){
661-
return player.getHistory('useCard').length>player.getHp();
661+
return player.getHistory('useCard').length>player.getHp()||player.getHistory('gain').reduce((sum,evt)=>sum+evt.cards.length,0)>player.getHp();
662662
},
663663
content:function*(event,map){
664664
const player=map.player;
@@ -1094,9 +1094,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
10941094
trigger:{player:['gainAfter','loseAsyncAfter']},
10951095
forced:true,
10961096
filter:(event,player)=>{
1097-
// if(player==_status.currentPhase) return false;
10981097
if(event.getParent('phaseDraw',true)) return false;
1099-
const evt=player.getHistory('gain')[0];
1098+
const evt=player.getHistory('gain',i=>!i.getParent('phaseDraw',true))[0];
11001099
if(!evt) return false;
11011100
if(event.name=='gain'){
11021101
if(evt!=event||event.getlx===false) return false;
@@ -1109,8 +1108,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
11091108
},
11101109
content:function(){
11111110
var hs=player.getCards('h'),cards=trigger.getg(player);
1112-
var card=cards.filter(card=>hs.includes(card)).randomGet();
1113-
player.addGaintag(card,'dclingkong_tag');
1111+
cards=cards.filter(card=>hs.includes(card));
1112+
player.addGaintag(cards,'dclingkong_tag');
11141113
game.delayx();
11151114
},
11161115
},
@@ -2254,7 +2253,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
22542253
logTarget:'player',
22552254
content:function(){
22562255
var num=trigger.player.countMark('dcshengdu');
2257-
player.draw(num);
2256+
player.draw(num*trigger.cards.length);
22582257
trigger.player.removeMark('dcshengdu',num);
22592258
},
22602259
}
@@ -11093,6 +11092,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
1109311092
zhangchu:['zhangchu','jsrg_zhangchu'],
1109411093
xianglang:['xianglang','mb_xianglang'],
1109511094
chengui:['chengui','mb_chengui'],
11095+
liuyong:['liuyong','jsrg_liuyong'],
11096+
zhangxuan:['zhangxuan','jsrg_zhangxuan'],
11097+
gaoxiang:['gaoxiang','jsrg_gaoxiang'],
1109611098
},
1109711099
translate:{
1109811100
re_panfeng:'潘凤',
@@ -11468,7 +11470,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
1146811470
dcguangshi_info:'锁定技。准备阶段,若所有其他角色均有“信众”,你摸两张牌并失去1点体力。',
1146911471
dongwan:'董绾',
1147011472
dcshengdu:'生妒',
11471-
dcshengdu_info:'回合开始时,你可以选择一名其他角色,令其获得1枚“生妒”标记。有“生妒”标记的角色于摸牌阶段得到牌后,你摸X张牌,然后其移去所有“生妒”标记(X为其拥有的“生妒”标记数)。',
11473+
dcshengdu_info:'回合开始时,你可以选择一名其他角色,令其获得1枚“生妒”标记。有“生妒”标记的角色于摸牌阶段得到牌后,你摸X张牌,然后其移去所有“生妒”标记(X为摸牌数乘以其拥有的“生妒”标记数)。',
1147211474
dcjieling:'介绫',
1147311475
dcjieling_info:'出牌阶段每种花色限一次,你可以将两张花色不同的手牌当无距离限制且无任何次数限制的【杀】使用。然后若此【杀】:造成了伤害,所有目标角色失去1点体力;未造成伤害,所有目标角色依次获得1枚“生妒”标记。',
1147411476
yuanyin:'袁胤',
@@ -11514,7 +11516,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
1151411516
yue_zhoufei_prefix:'乐',
1151511517
dclingkong:'灵箜',
1151611518
dclingkong_tag:'箜篌',
11517-
dclingkong_info:'锁定技。①游戏开始时,你将所有手牌标记为“箜篌”。②你的“箜篌”牌不计入手牌上限。③当你于一回合内首次于摸牌阶段外得到牌后,系统随机将其中的一张牌标记为“箜篌”。',
11519+
dclingkong_info:'锁定技。①游戏开始时,你将所有手牌标记为“箜篌”。②你的“箜篌”牌不计入手牌上限。③当你于一回合内首次于摸牌阶段外得到牌后,你将这些牌标记为“箜篌”。',
1151811520
dcxianshu:'贤淑',
1151911521
dcxianshu_info:'出牌阶段,你可以将一张“箜篌”正面向上交给一名其他角色,然后你摸X张牌(X为你与其的体力值之差且至多为5)。若此牌为红色,且该角色的体力值不大于你,则其回复1点体力;若此牌为黑色,且该角色的体力值不小于你,则其失去1点体力。',
1152011522
dc_zhangmancheng:'张曼成',
@@ -11531,7 +11533,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
1153111533
dccaisi:'才思',
1153211534
dccaisi_info:'当你于回合内/回合外使用基本牌结算结束后,若你本回合以此法得到的牌数小于你的体力上限,你可以从牌堆/弃牌堆随机获得一张非基本牌,然后本回合下次发动此技能获得的牌数+1。',
1153311535
dczhuoli:'擢吏',
11534-
dczhuoli_info:'锁定技。一名角色的回合结束时,若你本回合使用的牌数大于体力值,你加1点体力上限(不能超过存活角色数),回复1点体力。',
11536+
dczhuoli_info:'锁定技。一名角色的回合结束时,若你本回合使用或获得的牌数大于体力值,你加1点体力上限(不能超过存活角色数),回复1点体力。',
1153511537
yue_caiyong:'乐蔡邕',
1153611538
yue_caiyong_prefix:'乐',
1153711539
dcjiaowei:'焦尾',
@@ -11552,9 +11554,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
1155211554
yue_xiaoqiao:'乐小乔',
1155311555
yue_xiaoqiao_prefix:'乐',
1155411556
dcqiqin:'绮琴',
11555-
dcqiqin_info:'锁定技。①游戏开始时,你将所有手牌标记为“乐”。②你的“乐”牌不计入手牌上限。③准备阶段,你获得弃牌堆中所有你标记过的“乐”牌。',
11557+
dcqiqin_tag:'琴',
11558+
dcqiqin_info:'锁定技。①游戏开始时,你将所有手牌标记为“琴”。②你的“琴”牌不计入手牌上限。③准备阶段,你获得弃牌堆中所有你标记过的“琴”牌。',
1155611559
dcweiwan:'媦婉',
11557-
dcweiwan_info:'出牌阶段限一次,你可以弃置一张“乐”并获得一名其他角色区域内花色与此牌不相同的牌各一张,若你获得了:一张牌,其失去1点体力;两张牌,本回合你对其使用牌无距离和次数限制;三张牌,本回合你不能对其使用牌。',
11560+
dcweiwan_info:'出牌阶段限一次,你可以弃置一张“琴”并随机获得一名其他角色区域内花色与此牌不相同的牌各一张,若你获得了:一张牌,其失去1点体力;两张牌,本回合你对其使用牌无距离和次数限制;三张牌,本回合你不能对其使用牌。',
1155811561

1155911562
sp_baigei:'无双上将',
1156011563
sp_caizijiaren:'才子佳人',

0 commit comments

Comments
 (0)