diff --git a/character/clan.js b/character/clan.js index 706833aee..ecfcd46e3 100644 --- a/character/clan.js +++ b/character/clan.js @@ -272,6 +272,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return get.cardNameLength(event.card)==player.getHistory('useCard').indexOf(event.getParent())+1; }, direct:true, + locked:false, content:function(){ 'step 0' var num=get.cardNameLength(trigger.card); diff --git a/character/jsrg.js b/character/jsrg.js index 628d6cc20..04e8cf0ba 100644 --- a/character/jsrg.js +++ b/character/jsrg.js @@ -941,6 +941,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ limited:true, skillAnimation:true, animationColor:'orange', + locked:false, chooseButton:{ dialog:function(event,player){ var list=[]; @@ -1320,6 +1321,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return (player.countCards('h')==0)^player.hasSkill('jsrgmanjuan_in'); }, forced:true, + locked:false, firstDo:true, silent:true, content:function(){ @@ -1710,6 +1712,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, jsrgrihui:{ audio:'dcrihui', + locked:false, trigger:{source:'damageSource'}, filter:function(event,player){ return event.getParent().type=='card'&&event.card&&event.card.name=='sha'&&game.hasPlayer(current=>{ @@ -2444,6 +2447,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ audio:2, trigger:{player:'useCard'}, forced:true, + locked:false, filter:function(event,player){ if(player.group!='shu') return false; return game.hasPlayer(current=>{ @@ -3792,6 +3796,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sbpingjian:{ trigger:{player:['useSkill','logSkillBegin']}, forced:true, + locked:false, filter:function(event,player){ var skill=event.sourceSkill||event.skill; return player.invisibleSkills.contains(skill)&&lib.skill.sbyingmen.getSkills(player.getStorage('sbyingmen'),player).contains(skill); diff --git a/character/refresh.js b/character/refresh.js index 98cb6c6ad..9d7c88453 100755 --- a/character/refresh.js +++ b/character/refresh.js @@ -8680,6 +8680,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(player.getEquips(3).length>0||player.getEquips(4).length>0) return Infinity; }, }, + locked:false, enable:'phaseUse', usable:1, position:'he', diff --git a/character/sb.js b/character/sb.js index a44b548af..d0069f576 100644 --- a/character/sb.js +++ b/character/sb.js @@ -61,6 +61,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(get.type2(card)=='trick') return true; }, }, + locked:false, getLimit:3, audio:2, enable:'phaseUse', @@ -4446,6 +4447,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sbzhiheng:{ audio:2, audioname:['shen_caopi'], + locked:false, mod:{ aiOrder:function(player,card,num){ if(num<=0||get.itemtype(card)!=='card'||get.type(card)!=='equip') return num; diff --git a/character/shiji.js b/character/shiji.js index 7845bbdbc..198d02778 100644 --- a/character/shiji.js +++ b/character/shiji.js @@ -1260,7 +1260,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ spxizhan:{ audio:4, group:'spxizhan_effect', - locked:true, + locked:false, subSkill:{ spfangzong:{charlotte:true}, effect:{ @@ -2134,7 +2134,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ rechuhai:{ audio:'chuhai', dutySkill:true, - locked:true, + locked:false, group:['rechuhai_add','rechuhai_achieve','rechuhai_fail','rechuhai_chuhai'], derivation:'zhangming', subSkill:{ @@ -2715,6 +2715,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ trigger:{player:'useCardAfter'}, dutySkill:true, forced:true, + locked:false, direct:true, filter:function(event,player){ if(!player.storage.xingqi||!player.storage.xingqi.length) return false; @@ -3151,7 +3152,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ qingyu:{ audio:3, dutySkill:true, - locked:true, + locked:false, group:['qingyu_achieve','qingyu_fail','qingyu_defend'], subSkill:{ defend:{ diff --git a/character/sp.js b/character/sp.js index f9224f2e3..e2d1e469f 100755 --- a/character/sp.js +++ b/character/sp.js @@ -13082,6 +13082,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, spweiwu:{ audio:2, + locked:false, enable:'phaseUse', usable:1, viewAs:{ diff --git a/character/sp2.js b/character/sp2.js index fd190e554..6a31b8876 100644 --- a/character/sp2.js +++ b/character/sp2.js @@ -531,6 +531,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ audio: 'juexiang', trigger: { player: 'die' }, forced: true, + locked:false, forceDie: true, skillAnimation: true, animationColor: 'water', @@ -627,6 +628,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, audio:2, + locked:false, trigger:{player:'phaseUseBegin'}, filter:function(event,player){ return player.countCards('h'); diff --git a/character/tw.js b/character/tw.js index 9c7ac9621..69da7357b 100644 --- a/character/tw.js +++ b/character/tw.js @@ -457,6 +457,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return event.hasNature(); }, forced:true, + locked:false, content:function(){ 'step 0' if(event.triggername=='damageBegin2'){ @@ -1380,6 +1381,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if (get.tag(card, 'damage') > 0 && target.storage.twchongwangx.contains(player)) return false; }, }, + locked:false, unique: true, onremove: true, global: 'twchongwang_global', @@ -3558,6 +3560,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ trigger:{player:'useCardAfter'}, group:['twmibei_mark','twmibei_fail'], forced:true, + locked:false, direct:true, dutySkill:true, derivation:'twmouli', @@ -7659,6 +7662,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return targets.length>=2; }, forced:true, + locked:false, dutySkill:true, skillAnimation:true, animationColor:'wood', @@ -14584,7 +14588,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, dynamicTranslate:{ twfeifu:function(player){ - var str='转换技。'; + var str='锁定技,转换技。'; if(!player.storage.twfeifu) str+=''; str+='阴:当你成为【杀】的唯一目标后;'; if(!player.storage.twfeifu) str+=''; diff --git a/character/xianding.js b/character/xianding.js index 284da0d6f..ed3f2cacb 100644 --- a/character/xianding.js +++ b/character/xianding.js @@ -924,6 +924,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return !player.hasMark('dccaixia_clear'); }, direct:true, + locked:false, content:function(){ 'step 0' var choices=Array.from({length:Math.min(5,game.players.length+game.dead.length)}).map((_,i)=>get.cnNumber(i+1,true)); @@ -2168,6 +2169,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }); }, direct:true, + locked:false, content:function(){ 'step 0' var targets=trigger.targets.filter(target=>{ diff --git a/character/yijiang.js b/character/yijiang.js index e890f60a6..7f5f9948b 100755 --- a/character/yijiang.js +++ b/character/yijiang.js @@ -11807,6 +11807,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ miji:{ audio:2, audioname:['re_wangyi'], + locked:false, mod:{ aiOrder:function(player,card,num){ if(num>0&&_status.event&&_status.event.type==='phase'&&get.tag(card,'recover')){ diff --git a/mode/guozhan.js b/mode/guozhan.js index 2985b2ef7..a71a1fb59 100644 --- a/mode/guozhan.js +++ b/mode/guozhan.js @@ -9080,6 +9080,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ } }, }, + locked:false, audio:"duanliang1", enable:"chooseToUse", filterCard:function(card){ @@ -9738,6 +9739,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ return player.hp<=1; }, forced:true, + locked:false, //priority:3, content:function(){ player.addTempSkill('baka_yingzi','phaseAfter'); @@ -10878,6 +10880,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ unique:true, forceunique:true, lordSkill:true, + locked:false, audio:2, derivation:'yuanjiangfenghuotu', mark:true,