Merge pull request #777 from copcap/dev

bugfix
This commit is contained in:
Spmario233 2024-01-12 12:38:03 +08:00 committed by GitHub
commit ff10e6442e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 29 additions and 20 deletions

View File

@ -112,6 +112,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2,
enable:'chooseToUse',
hiddenCard:function(player,name){
if(player.hasSkill('dddxiaxing_used')) return false;
return name=='tao';
},
filter:function(event,player){
@ -412,6 +413,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
forced:true,
filter:function(event,player){
if(get.type(event.card)!='equip') return false;
if(get.subtype(event.card)!='equip1') return false;
const range=player.getAttackRange();
return !game.hasPlayer(current=>{
return current.getAttackRange()>range;

View File

@ -91,9 +91,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
hs_kazhakusi:['male','shu',3,['lianjin']],
// hs_lazi:['male','wei',3,[]],
hs_shaku:['male','wei',3,['shouji']],
hs_laxiao:['male','shu',3,['guimou','yingxi','hlongyi']],
hs_laxiao:['male','shu',3,['hsguimou','yingxi','hlongyi']],
// hs_xiangyaqishi:['male','wei',3,[]],
// hs_fenjie:['male','shu',3,['guimou','yingxi']],
// hs_fenjie:['male','shu',3,['hsguimou','yingxi']],
hs_mojinbaozi:['male','wei',3,['jingcu','shengzhang']],
hs_shuiwenxuejia:['male','wu',3,['kekao']],
hs_shizugui:['male','wu',3,['szbianshen']],
@ -3666,7 +3666,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger.directHit=true;
}
},
guimou:{
hsguimou:{
trigger:{player:'damageEnd'},
check:function(event,player){
return get.attitude(player,event.source)<=0;
@ -9825,8 +9825,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
lianjin_info:'出牌阶段限一次,你可以弃置一张牌并获得一张由三张随机牌组成的药水;当你因弃置而失去药水牌时,你随机获得药水的组成卡牌之一。',
shouji:'收集',
shouji_info:'每当你使用一张杀,你可以获得一张目标随机手牌的复制;每当你的杀被闪避,你可以获得一张目标随机非特殊装备牌的复制;每回合限各限一次。',
guimou:'鬼谋',
guimou_info:'每当你受到一次伤害,你可以获得伤害来源的一张手牌,若此牌是黑色,你展示此牌并重复此过程。',
hsguimou:'鬼谋',
hsguimou_info:'每当你受到一次伤害,你可以获得伤害来源的一张手牌,若此牌是黑色,你展示此牌并重复此过程。',
yingxi:'影袭',
yingxi_info:'结束阶段,若你本回合未造成伤害,你可以将一张黑色牌当作杀对任意一名角色使用,若目标未受到伤害,此杀不可闪避。',
peiyu:'培育',

View File

@ -1064,14 +1064,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
event.targets=targets;
player.logSkill('dcyouzhan',targets);
'step 1'
var target=targets.shift();
event.target=targets.shift();
event.num=trigger.getl(event.target).cards2.length;
'step 2'
player.draw().gaintag=['dcyouzhan'];
player.addTempSkill('dcyouzhan_limit');
target.addTempSkill('dcyouzhan_effect');
target.addMark('dcyouzhan_effect',1,false);
target.addTempSkill('dcyouzhan_draw');
if(--event.num) event.redo();
'step 3'
if(targets.length){
event.redo();
event.goto(1);
}
},
ai:{
@ -2752,7 +2756,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
subSkill:{
damage:{
trigger:{source:'damageBegin3'},
trigger:{source:'damageBegin1'},
forced:true,
charlotte:true,
onremove:true,
@ -11360,7 +11364,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
dcbeifen_info:'锁定技。①当你失去牌后,若这些牌中有“胡笳”牌,你获得与你手牌中“胡笳”牌花色均不同的每种花色的牌各一张。②若你手牌中“胡笳”牌数小于不为“胡笳”牌的牌数,你使用牌无距离和次数限制。',
dc_wuban:'吴班',
dcyouzhan:'诱战',
dcyouzhan_info:'锁定技。当其他角色于你的回合内失去牌后你摸一张牌不计入本回合的手牌上限且其获得如下效果1.其于此回合下一次受到的伤害+12.结束阶段若其于此回合未受到过伤害其摸X张牌X为其此回合失去过牌的次数且至多为3。',
dcyouzhan_info:'锁定技。当其他角色于你的回合内失去一张牌后你摸一张牌不计入本回合的手牌上限且其获得如下效果1.其于此回合下一次受到的伤害+12.结束阶段若其于此回合未受到过伤害其摸X张牌X为其此回合失去过牌的次数且至多为3。',
yue_zhoufei:'乐周妃',
yue_zhoufei_prefix:'乐',
dclingkong:'灵箜',

View File

@ -1184,7 +1184,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{
audio:'jsrgfenjian',
charlotte:true,
trigger:{player:'damageBegin1'},
trigger:{player:'damageBegin3'},
forced:true,
onremove:true,
content:function(){

View File

@ -499,7 +499,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return str;
},
},
trigger:{global:'useCard'},
trigger:{global:'useCard1'},
forced:true,
popup:false,
content:function(){
@ -16240,7 +16240,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
guimou:'诡谋',
guimou_info:'锁定技。游戏开始时/回合结束时,你随机/须选择以下一项直到你的下个准备阶段:①记录场上期间角色使用牌数;②记录期间场上角色弃置牌数;③记录期间场上角色获得牌数。准备阶段,你可以选择一名场上对应记录数值最少的其他角色,观看其手牌并选择其中至多三张牌,然后你可以将其中至多两张牌交给另一名其他角色,然后弃置其余牌。',
zhouxian:'州贤',
zhouxian_info:'锁定技当你成为其他角色使用的伤害类卡牌的目标后,你亮出牌堆顶的两张牌,然后其须选择一项:①弃置一张与亮出牌之一类别相同的牌;②令此牌对你无效。',
zhouxian_info:'锁定技当你成为其他角色使用的伤害类卡牌的目标后,你亮出牌堆顶的两张牌,然后其须选择一项:①弃置一张与亮出牌之一类别相同的牌;②令此牌对你无效。',
mb_huban:'手杀胡班',
mb_huban_prefix:'手杀',
mbyilie:'义烈',

View File

@ -15533,7 +15533,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
re_simalang:'界司马朗',
re_simalang_prefix:'界',
requji:'去疾',
requji_info:'出牌阶段限一次你可以弃置至多X张牌并令等量名角色回复1点体力然后仍处于受伤状态的目标角色摸一张牌若你以此法弃置了黑色牌你失去1点体力。',
requji_info:'出牌阶段限一次你可以弃置至多X张牌并令等量名角色回复1点体力然后仍处于受伤状态的目标角色摸一张牌若你以此法弃置了黑色牌你失去1点体力X为你已损失的体力值。',
rejunbing:'郡兵',
rejunbing_info:'一名角色的结束阶段,若其手牌数小于其体力值,其可以摸一张牌并将所有手牌交给你,然后你可以交给其等量的牌。',
re_zhugedan:'界诸葛诞',

View File

@ -195,7 +195,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
sbyijue:{
audio:2,
trigger:{source:'damageBegin3'},
trigger:{source:'damageBegin2'},
filter:function(event,player){
return event.num>=event.player.hp&&!player.getStorage('sbyijue').includes(event.player);
},

View File

@ -1526,9 +1526,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filter:function(event,player){
if(player.countCards('h')!=1||typeof get.number(player.getCards('h')[0],player)!='number') return false;
if(player.hasSkill('hezhong_0')&&player.hasSkill('hezhong_1')) return false;
if(event.getg) return event.getg(player).length;
var evt=event.getl(player);
return evt&&evt.player==player&&evt.hs&&evt.hs.length>0;
let gain=0,lose=0;
if(event.getg) gain=event.getg(player).length;
if(event.getl) lose=event.getl(player).hs.length;
return gain!=lose;
},
prompt2:function(event,player){
var str='展示最后一张手牌并摸一张牌';
@ -1589,6 +1590,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{player:'useCard'},
filter:function(event,player){
if(get.type(event.card)!='trick') return false;
if(!event.targets.length) return false;
var num=get.number(event.card,player);
return typeof num=='number'&&player.getStorage('hezhong_0').some(numx=>num>numx);
},
@ -1625,6 +1627,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{player:'useCard'},
filter:function(event,player){
if(get.type(event.card)!='trick') return false;
if(!event.targets.length) return false;
var num=get.number(event.card,player);
return typeof num=='number'&&player.getStorage('hezhong_1').some(numx=>num<numx);
},

View File

@ -344,7 +344,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
//无 双 万 军 取 首
dcsbronghuo:{
audio:2,
trigger:{player:'useCard'},
trigger:{player:'useCard1'},
filter:function(event,player){
return (event.card.name=='sha'&&game.hasNature(event.card,'fire'))||event.card.name=='huogong';
},
@ -928,7 +928,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filter:function(event,player){
if(get.name(event.card,false)!='sha'&&get.type2(event.card)!='trick') return false;
if(event.targets.length!=1||!event.targets[0].isIn()) return false;
if(!player.canUse(new lib.element.VCard({name:'sha'}),event.targets[0])) return false;
if(!player.canUse(new lib.element.VCard({name:'sha'}),event.targets[0],false)) return false;
return player.hasHistory('lose',evt=>{
if(evt.getParent()!=event) return false;
return event.cards.every(card=>{

View File

@ -148,7 +148,7 @@ export class Library extends Uninstantable {
const cs = lib.linq.cselector;
const g1 = cs.group(
cs.of(
cs.class("player", "identity"),
cs.class("player ", "identity"),
cs.isAttr("data-color", `"${id}"`)
),
cs.of(