commit
112b5203e1
Binary file not shown.
Binary file not shown.
|
@ -3050,13 +3050,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(!player.hasZhuSkill('sbhuangtian')||!player.hasSkill('sbguidao',null,false,false)) return false;
|
if(!player.hasZhuSkill('sbhuangtian')||!player.hasSkill('sbguidao',null,false,false)) return false;
|
||||||
if(!event.source||player==event.source||event.source.group!='qun') return false;
|
if(!event.source||player==event.source||event.source.group!='qun') return false;
|
||||||
if(player.hasSkill('sbguidao')&&player.countMark('sbguidao')>=8) return false;
|
if(player.hasSkill('sbguidao')&&player.countMark('sbguidao')>=8) return false;
|
||||||
// if(player.countMark('sbhuangtian_count')>999) return false;
|
if(player.countMark('sbhuangtian_count')>=4) return false;
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.addMark('sbguidao',1);
|
player.addMark('sbguidao',1);
|
||||||
// player.addTempSkill('sbhuangtian_count','roundStart');
|
player.addTempSkill('sbhuangtian_count','roundStart');
|
||||||
// player.addMark('sbhuangtian_count',1,false);
|
player.addMark('sbhuangtian_count',1,false);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
count:{onremove:true}
|
count:{onremove:true}
|
||||||
|
@ -4645,7 +4645,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
sbguidao:'鬼道',
|
sbguidao:'鬼道',
|
||||||
sbguidao_info:'①游戏开始时,你获得4枚“道兵”标记。②“道兵”上限为8。③一名角色受到属性伤害后,你获得2枚“道兵”。④当你受到伤害时,你可以弃2枚“道兵”并防止此伤害。然后若当前回合角色不为你,〖鬼道③〗于你下回合开始前无效。',
|
sbguidao_info:'①游戏开始时,你获得4枚“道兵”标记。②“道兵”上限为8。③一名角色受到属性伤害后,你获得2枚“道兵”。④当你受到伤害时,你可以弃2枚“道兵”并防止此伤害。然后若当前回合角色不为你,〖鬼道③〗于你下回合开始前无效。',
|
||||||
sbhuangtian:'黄天',
|
sbhuangtian:'黄天',
|
||||||
sbhuangtian_info:'主公技,锁定技。①回合开始时,若本回合为你的第一个回合且游戏轮数为1,且游戏内没有【太平要术】,你装备【太平要术】。②其他群势力角色造成伤害后,若你拥有〖鬼道〗,你获得1枚“道兵”。',
|
sbhuangtian_info:'主公技,锁定技。①回合开始时,若本回合为你的第一个回合且游戏轮数为1,且游戏内没有【太平要术】,你装备【太平要术】。②其他群势力角色造成伤害后,若你拥有〖鬼道〗,你获得1枚“道兵”(每轮你至多以此法获得4枚“道兵”)。',
|
||||||
sb_caocao:'谋曹操',
|
sb_caocao:'谋曹操',
|
||||||
sbjianxiong:'奸雄',
|
sbjianxiong:'奸雄',
|
||||||
sbjianxiong_info:'①游戏开始时,你可获得至多2枚“治世”标记。②当你受到伤害后,你可获得伤害牌,摸1-X张牌(X为“治世”数),然后你可弃1枚“治世”。',
|
sbjianxiong_info:'①游戏开始时,你可获得至多2枚“治世”标记。②当你受到伤害后,你可获得伤害牌,摸1-X张牌(X为“治世”数),然后你可弃1枚“治世”。',
|
||||||
|
|
130
character/sp.js
130
character/sp.js
|
@ -27,7 +27,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
character:{
|
character:{
|
||||||
ol_luyusheng:['female','wu',3,['olcangxin','skill_luyusheng_B'],['unseen']],
|
ol_luyusheng:['female','wu',3,['olcangxin','olrunwei']],
|
||||||
caoxi:['male','wei',3,['olgangshu','oljianxuan']],
|
caoxi:['male','wei',3,['olgangshu','oljianxuan']],
|
||||||
ol_pengyang:['male','shu',3,['olqifan','oltuishi','nzry_cunmu']],
|
ol_pengyang:['male','shu',3,['olqifan','oltuishi','nzry_cunmu']],
|
||||||
ol_qianzhao:['male','wei',4,['olweifu','olkuansai']],
|
ol_qianzhao:['male','wei',4,['olweifu','olkuansai']],
|
||||||
|
@ -758,12 +758,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
skill_luyusheng_B:{
|
olrunwei:{
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{global:'phaseDiscardBegin'},
|
trigger:{global:'phaseDiscardBegin'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(event.player==player) return false;
|
if(event.player==player) return false;
|
||||||
return event.player.isDamaged()&&event.player.countCards('h')!=event.player.getHandcardLimit();
|
return event.player.isDamaged();
|
||||||
},
|
},
|
||||||
direct:true,
|
direct:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
|
@ -792,22 +792,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return 2;
|
return 2;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}).set('prompt',get.prompt('skill_luyusheng_B',trigger.player));
|
}).set('prompt',get.prompt('olrunwei',trigger.player));
|
||||||
'step 1'
|
'step 1'
|
||||||
if(result.index!=2){
|
if(result.index!=2){
|
||||||
player.logSkill('skill_luyusheng_B',trigger.player);
|
player.logSkill('olrunwei',trigger.player);
|
||||||
if(result.index==0){
|
if(result.index==0){
|
||||||
trigger.player.chooseToDiscard('he',true).set('ai',card=>{
|
trigger.player.chooseToDiscard('he',true).set('ai',card=>{
|
||||||
if(get.position(card)=='e') return -get.value(card);
|
if(get.position(card)=='e') return -get.value(card);
|
||||||
return 1/(get.value(card)||0.5);
|
return 1/(get.value(card)||0.5);
|
||||||
});
|
});
|
||||||
trigger.player.addTempSkill('skill_luyusheng_B_+');
|
trigger.player.addTempSkill('olrunwei_+');
|
||||||
trigger.player.addMark('skill_luyusheng_B_+',1,false);
|
trigger.player.addMark('olrunwei_+',1,false);
|
||||||
}
|
}
|
||||||
if(result.index==1){
|
if(result.index==1){
|
||||||
trigger.player.draw();
|
trigger.player.draw();
|
||||||
trigger.player.addTempSkill('skill_luyusheng_B_-');
|
trigger.player.addTempSkill('olrunwei_-');
|
||||||
trigger.player.addMark('skill_luyusheng_B_-',1,false);
|
trigger.player.addMark('olrunwei_-',1,false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -819,7 +819,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
intro:{content:'手牌上限+#'},
|
intro:{content:'手牌上限+#'},
|
||||||
mod:{
|
mod:{
|
||||||
maxHandcard:function(player,num){
|
maxHandcard:function(player,num){
|
||||||
return num+player.countMark('skill_luyusheng_B_+');
|
return num+player.countMark('olrunwei_+');
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -830,7 +830,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
intro:{content:'手牌上限-#'},
|
intro:{content:'手牌上限-#'},
|
||||||
mod:{
|
mod:{
|
||||||
maxHandcard:function(player,num){
|
maxHandcard:function(player,num){
|
||||||
return num-player.countMark('skill_luyusheng_B_-');
|
return num-player.countMark('olrunwei_-');
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -7841,21 +7841,45 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
//芮姬
|
//芮姬
|
||||||
qiaoli:{
|
qiaoli:{
|
||||||
audio:2,
|
onChooseToUse:function(event){
|
||||||
enable:'chooseToUse',
|
if(event.type=='phase'&&!game.online&&!(event.qiaoli_equip1&&event.qiaoli_noequip1)){
|
||||||
viewAs:{name:'juedou'},
|
var player=event.player;
|
||||||
viewAsFilter:function(player){
|
var evt=event.getParent('phaseUse');
|
||||||
return player.hasCard(function(card){
|
if(player.getHistory('useCard',function(evtx){
|
||||||
return get.type(card)=='equip';
|
return evtx.getParent('phaseUse')==evt&&evtx.skill=='qiaoli'&&get.subtype(evtx.cards[0])=='equip1';
|
||||||
},'ehs')
|
}).length) event.set('qiaoli_equip1',true);
|
||||||
|
if(player.getHistory('useCard',function(evtx){
|
||||||
|
return evtx.getParent('phaseUse')==evt&&evtx.skill=='qiaoli'&&get.subtype(evtx.cards[0])!='equip1';
|
||||||
|
}).length) event.set('qiaoli_noequip1',true);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
audio:2,
|
||||||
|
enable:'phaseUse',
|
||||||
|
viewAs:{
|
||||||
|
name:'juedou',
|
||||||
|
qiaoli:true,
|
||||||
|
},
|
||||||
|
filterCard:function(card,player){
|
||||||
|
if(get.type(card)!='equip') return false;
|
||||||
|
var event=_status.event;
|
||||||
|
if(get.subtype(card)=='equip1'&&event.qiaoli_equip1) return false;
|
||||||
|
if(get.subtype(card)!='equip1'&&event.qiaoli_noequip1) return false;
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
viewAsFilter:function(player){
|
||||||
|
return player.isPhaseUsing()&&player.hasCard(function(card){
|
||||||
|
return lib.skill.qiaoli.filterCard(card,player);
|
||||||
|
},'hes');
|
||||||
},
|
},
|
||||||
filterCard:{type:'equip'},
|
|
||||||
check:function(card){
|
check:function(card){
|
||||||
if(get.position(card)=='e') return 7.5-get.value(card);
|
if(get.position(card)=='e') return 7.5-get.value(card);
|
||||||
return 12-_status.event.player.getUseValue(card);
|
return 12-_status.event.player.getUseValue(card);
|
||||||
},
|
},
|
||||||
position:'hes',
|
position:'hes',
|
||||||
group:['qiaoli_effect','qiaoli_gain','qiaoli_norespond'],
|
precontent:function(){
|
||||||
|
player.addTempSkill('qiaoli_norespond');
|
||||||
|
player.addTempSkill('qiaoli_effect');
|
||||||
|
},
|
||||||
ai:{
|
ai:{
|
||||||
directHit_ai:true,
|
directHit_ai:true,
|
||||||
skillTagFilter:function(player,tag,arg){
|
skillTagFilter:function(player,tag,arg){
|
||||||
|
@ -7864,31 +7888,27 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
subSkill:{
|
subSkill:{
|
||||||
norespond:{
|
norespond:{
|
||||||
trigger:{player:'useCard1'},
|
|
||||||
forced:true,
|
|
||||||
charlotte:true,
|
charlotte:true,
|
||||||
popup:false,
|
trigger:{player:'useCard1'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(event.skill!='qiaoli') return false;
|
return event.card.qiaoli&&get.subtype(event.cards[0])!='equip1';
|
||||||
var card=event.cards[0];
|
|
||||||
return get.subtype(card)!='equip1';
|
|
||||||
},
|
},
|
||||||
|
forced:true,
|
||||||
|
popup:false,
|
||||||
content:function(){
|
content:function(){
|
||||||
trigger.directHit.addArray(game.filterPlayer(function(current){
|
player.addTempSkill('qiaoli_gain');
|
||||||
return current!=player;
|
trigger.directHit.addArray(game.players);
|
||||||
}));
|
game.log(trigger.card,'不可被响应');
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
effect:{
|
effect:{
|
||||||
trigger:{player:'useCardAfter'},
|
|
||||||
forced:true,
|
|
||||||
charlotte:true,
|
charlotte:true,
|
||||||
popup:false,
|
trigger:{source:'damageSource'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(event.skill!='qiaoli') return false;
|
return event.card&&event.cards&&event.card.qiaoli&&get.subtype(event.cards[0])=='equip1';
|
||||||
var card=event.cards[0];
|
|
||||||
return get.subtype(card)=='equip1';
|
|
||||||
},
|
},
|
||||||
|
forced:true,
|
||||||
|
popup:false,
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
var card=trigger.cards[0];
|
var card=trigger.cards[0];
|
||||||
|
@ -7921,7 +7941,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
cards:cards,
|
cards:cards,
|
||||||
filterTarget:lib.filter.notMe,
|
filterTarget:lib.filter.notMe,
|
||||||
selectCard:[1,cards.length],
|
selectCard:[1,cards.length],
|
||||||
prompt:'是否将得到的牌分配给其他角色?',
|
prompt:'是否将获得的牌分配给其他角色?',
|
||||||
ai1:function(card){
|
ai1:function(card){
|
||||||
return -1;
|
return -1;
|
||||||
},
|
},
|
||||||
|
@ -7940,33 +7960,24 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
'step 4'
|
'step 4'
|
||||||
if(_status.connectMode){
|
if(_status.connectMode){
|
||||||
game.broadcastAll(function(){delete _status.noclearcountdown;game.stopCountChoose()});
|
game.broadcastAll(function(){delete _status.noclearcountdown});
|
||||||
|
game.stopCountChoose();
|
||||||
}
|
}
|
||||||
var map=[],cards=[];
|
|
||||||
for(var i in event.given_map){
|
for(var i in event.given_map){
|
||||||
var source=(_status.connectMode?lib.playerOL:game.playerMap)[i];
|
var source=(_status.connectMode?lib.playerOL:game.playerMap)[i];
|
||||||
player.line(source,'green');
|
player.line(source,'green');
|
||||||
map.push([source,event.given_map[i]]);
|
source.gain(event.given_map[i],player,'giveAuto');
|
||||||
cards.addArray(event.given_map[i]);
|
|
||||||
}
|
}
|
||||||
if(map.length) game.loseAsync({
|
event.next.sort(function(a,b){
|
||||||
gain_list:map,
|
return lib.sort.seat(a.player,b.player);
|
||||||
player:player,
|
});
|
||||||
cards:cards,
|
|
||||||
giver:player,
|
|
||||||
animate:'giveAuto',
|
|
||||||
}).setContent('gaincardMultiple');
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
gain:{
|
gain:{
|
||||||
|
charlotte:true,
|
||||||
audio:'qiaoli',
|
audio:'qiaoli',
|
||||||
trigger:{player:'phaseJieshuBegin'},
|
trigger:{player:'phaseJieshuBegin'},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
|
||||||
return player.hasHistory('useCard',function(evt){
|
|
||||||
return evt.skill=='qiaoli';
|
|
||||||
})
|
|
||||||
},
|
|
||||||
content:function(){
|
content:function(){
|
||||||
var card=get.cardPile2(function(card){
|
var card=get.cardPile2(function(card){
|
||||||
return get.type(card)=='equip';
|
return get.type(card)=='equip';
|
||||||
|
@ -7979,10 +7990,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
qingliang:{
|
qingliang:{
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{target:'useCardToTarget'},
|
trigger:{target:'useCardToTarget'},
|
||||||
usable:1,
|
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
|
if(event.targets.length!=1) return false;
|
||||||
|
var bool1=(event.card.name=='sha');
|
||||||
|
var bool2=(get.type2(event.card)=='trick'&&get.tag(event.card,'damage'));
|
||||||
|
if(!bool1&&!bool2) return false;
|
||||||
return player!=event.player&&player.countCards('h')>0;
|
return player!=event.player&&player.countCards('h')>0;
|
||||||
},
|
},
|
||||||
|
usable:1,
|
||||||
logTarget:'player',
|
logTarget:'player',
|
||||||
check:function(event,player){
|
check:function(event,player){
|
||||||
if(get.attitude(player,event.player)>0||event.player.hasSkillTag('nogain')) return true;
|
if(get.attitude(player,event.player)>0||event.player.hasSkillTag('nogain')) return true;
|
||||||
|
@ -23988,6 +24003,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
zhouqun:['ol_zhouqun','zhouqun'],
|
zhouqun:['ol_zhouqun','zhouqun'],
|
||||||
qianzhao:['ol_qianzhao','qianzhao'],
|
qianzhao:['ol_qianzhao','qianzhao'],
|
||||||
ol_pengyang:['ol_pengyang','sp_pengyang'],
|
ol_pengyang:['ol_pengyang','sp_pengyang'],
|
||||||
|
ol_luyusheng:['ol_luyusheng','luyusheng'],
|
||||||
},
|
},
|
||||||
translate:{
|
translate:{
|
||||||
"xinfu_lingren":"凌人",
|
"xinfu_lingren":"凌人",
|
||||||
|
@ -24880,10 +24896,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
liejie_info:'当你受到伤害后,你可以弃置至多三张牌,摸等量的牌,然后可弃置伤害来源的至多X张牌(X为你以此法弃置的红色牌的数量)。',
|
liejie_info:'当你受到伤害后,你可以弃置至多三张牌,摸等量的牌,然后可弃置伤害来源的至多X张牌(X为你以此法弃置的红色牌的数量)。',
|
||||||
ruiji:'OL芮姬',
|
ruiji:'OL芮姬',
|
||||||
qiaoli:'巧力',
|
qiaoli:'巧力',
|
||||||
qiaoli_info:'①你可以将一张装备牌当做【决斗】使用。若此【决斗】对应的实体牌:为武器牌,当你以此法声明使用【决斗】后,你摸X张牌(X为此牌的攻击范围),且可以将其中任意张牌分配给其他角色;不为武器牌,此牌不可被响应。②结束阶段开始时,若你于本回合内发动过〖巧力①〗,则你从牌堆中获得一张装备牌。',
|
qiaoli_info:'出牌阶段各限一次,你可以将一张武器牌/非武器装备牌当作【决斗】使用。若此【决斗】对应的实体牌为武器牌,当你以此【决斗】对目标角色造成伤害后,你摸X张牌(X为此牌的攻击范围),且可以将其中任意张牌分配给其他角色;若此【决斗】对应的实体牌不为武器牌,此牌不可被响应,且你于结束阶段从牌堆中获得一张装备牌。',
|
||||||
qiaoli_given:'已分配',
|
qiaoli_given:'已分配',
|
||||||
qingliang:'清靓',
|
qingliang:'清靓',
|
||||||
qingliang_info:'每回合限一次。当你成为其他角色使用牌的目标时,你可展示所有手牌,然后选择一项:⒈你与其各摸一张牌,⒉取消此目标,然后弃置你手牌中一种花色的所有牌。',
|
qingliang_info:'每回合限一次,当你成为其他角色使用【杀】或伤害类锦囊牌的唯一目标时,你可展示所有手牌,然后选择一项:⒈你与其各摸一张牌,⒉取消此目标,然后弃置你手牌中一种花色的所有牌。',
|
||||||
chixueqingfeng:'赤血青锋',
|
chixueqingfeng:'赤血青锋',
|
||||||
chixueqingfeng2:'赤血青锋',
|
chixueqingfeng2:'赤血青锋',
|
||||||
chixueqingfeng_info:'锁定技,当你使用【杀】指定目标后,你令目标角色不能使用或打出手牌且防具技能无效直到此【杀】结算结束。',
|
chixueqingfeng_info:'锁定技,当你使用【杀】指定目标后,你令目标角色不能使用或打出手牌且防具技能无效直到此【杀】结算结束。',
|
||||||
|
@ -25113,8 +25129,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
ol_luyusheng:'OL陆郁生',
|
ol_luyusheng:'OL陆郁生',
|
||||||
olcangxin:'藏心',
|
olcangxin:'藏心',
|
||||||
olcangxin_info:'①当你受到伤害时,你可以观看牌堆底的三张牌并弃置其中任意张牌,若你以此法弃置了红桃牌,则防止此伤害。②摸牌阶段,你多摸X张牌(X为牌堆底前三张牌中红桃牌的数量)。',
|
olcangxin_info:'①当你受到伤害时,你可以观看牌堆底的三张牌并弃置其中任意张牌,若你以此法弃置了红桃牌,则防止此伤害。②摸牌阶段,你多摸X张牌(X为牌堆底前三张牌中红桃牌的数量)。',
|
||||||
skill_luyusheng_B:'技能',
|
olrunwei:'润微',
|
||||||
skill_luyusheng_B_info:'其他角色的弃牌阶段开始时,若其已受伤且其手牌数不等于其体力上限,则你可以选择一项:①令其弃置一张牌,其本回合手牌上限+1;②令其摸一张牌,其本回合手牌上限-1。',
|
olrunwei_info:'其他角色的弃牌阶段开始时,若其已受伤,则你可以选择一项:①令其弃置一张牌,其本回合手牌上限+1;②令其摸一张牌,其本回合手牌上限-1。',
|
||||||
caoxi:'曹羲',
|
caoxi:'曹羲',
|
||||||
olgangshu:'刚述',
|
olgangshu:'刚述',
|
||||||
olgangshu_info:'①当你使用非基本牌结算结束后,你可以令以下一项数值+1(每项至多以此法+5):1.攻击范围;2.受〖刚述〗影响的下个摸牌阶段摸牌数;3.使用【杀】的次数上限。②当有牌被你抵消后,重置你〖刚述①〗增加的所有数值。',
|
olgangshu_info:'①当你使用非基本牌结算结束后,你可以令以下一项数值+1(每项至多以此法+5):1.攻击范围;2.受〖刚述〗影响的下个摸牌阶段摸牌数;3.使用【杀】的次数上限。②当有牌被你抵消后,重置你〖刚述①〗增加的所有数值。',
|
||||||
|
|
|
@ -9715,7 +9715,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
audio:2,
|
audio:2,
|
||||||
enable:['chooseToUse','chooseToRespond'],
|
enable:['chooseToUse','chooseToRespond'],
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(event.type=='wuxie') return false;
|
if(event.type=='wuxie'||player.hasSkill('zhenshan_used')) return false;
|
||||||
var nh=player.countCards('h');
|
var nh=player.countCards('h');
|
||||||
if(!game.hasPlayer(function(current){
|
if(!game.hasPlayer(function(current){
|
||||||
return current!=player&¤t.countCards('h')<nh;
|
return current!=player&¤t.countCards('h')<nh;
|
||||||
|
@ -9787,6 +9787,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
'step 1'
|
'step 1'
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('zhenshan',result.targets);
|
player.logSkill('zhenshan',result.targets);
|
||||||
|
player.addTempSkill('zhenshan_used');
|
||||||
player.swapHandcards(result.targets[0]);
|
player.swapHandcards(result.targets[0]);
|
||||||
delete event.result.skill;
|
delete event.result.skill;
|
||||||
}
|
}
|
||||||
|
@ -9797,9 +9798,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
prompt:function(links,player){
|
prompt:function(links,player){
|
||||||
return '选择【'+get.translation(links[0][3]||'')+get.translation(links[0][2])+'】的目标';
|
return '请选择【'+get.translation(links[0][3]||'')+get.translation(links[0][2])+'】的目标';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
subSkill:{
|
||||||
|
used:{charlotte:true},
|
||||||
|
},
|
||||||
ai:{
|
ai:{
|
||||||
order:function(){
|
order:function(){
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
|
@ -9828,6 +9832,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
respondSha:true,
|
respondSha:true,
|
||||||
respondShan:true,
|
respondShan:true,
|
||||||
skillTagFilter:function(player,tag,arg){
|
skillTagFilter:function(player,tag,arg){
|
||||||
|
if(player.hasSkill('zhenshan_used')) return false;
|
||||||
var nh=player.countCards('h');
|
var nh=player.countCards('h');
|
||||||
return game.hasPlayer(function(current){
|
return game.hasPlayer(function(current){
|
||||||
return current!=player&¤t.countCards('h')<nh;
|
return current!=player&¤t.countCards('h')<nh;
|
||||||
|
@ -10361,7 +10366,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
frequent:true,
|
frequent:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
player.draw(player.hp);
|
player.draw(2);
|
||||||
'step 1'
|
'step 1'
|
||||||
if(player.getHistory('sourceDamage').length||player.getHistory('gain',function(evt){
|
if(player.getHistory('sourceDamage').length||player.getHistory('gain',function(evt){
|
||||||
return evt.getParent('phaseUse')==trigger.getParent('phaseUse')&&evt.getParent().name=='draw';
|
return evt.getParent('phaseUse')==trigger.getParent('phaseUse')&&evt.getParent().name=='draw';
|
||||||
|
@ -10380,11 +10385,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
var choiceList=['令'+get.translation(trigger.source)+'本回合不能再使用或打出牌'];
|
var choiceList=['令'+get.translation(trigger.source)+'本回合不能再使用或打出牌'];
|
||||||
if (trigger.source.countCards('h')) choiceList.push('令'+get.translation(trigger.source)+'弃置'+get.cnNumber(trigger.source.hp)+'张牌');
|
if (trigger.source.countCards('h')) choiceList.push('令'+get.translation(trigger.source)+'弃置两张牌');
|
||||||
player.chooseControl('cancel2').set('prompt2',get.prompt2('yuzhang')).set('choiceList',choiceList).set('ai',function(){
|
player.chooseControl('cancel2').set('prompt2',get.prompt2('yuzhang')).set('choiceList',choiceList).set('ai',function(){
|
||||||
var player=_status.event.player,source=_status.event.source;
|
var player=_status.event.player,source=_status.event.source;
|
||||||
if(get.attitude(player,event.source)>0) return 'cancel2';
|
if(get.attitude(player,event.source)>0) return 'cancel2';
|
||||||
if(source.hasSkillTag('noh')||source.hasSkillTag('noe')||source.countCards('h')>=2*source.hp) return 0;
|
if(source.hasSkillTag('noh')||source.hasSkillTag('noe')||source.countCards('h')>=4) return 0;
|
||||||
if(source.hp>1&&source.countCards('h')>1) return 1;
|
if(source.hp>1&&source.countCards('h')>1) return 1;
|
||||||
return 'cancel2';
|
return 'cancel2';
|
||||||
}).set('source',trigger.source);
|
}).set('source',trigger.source);
|
||||||
|
@ -10393,12 +10398,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.logSkill('yuzhang',trigger.source);
|
player.logSkill('yuzhang',trigger.source);
|
||||||
player.removeMark('twjingce',1);
|
player.removeMark('twjingce',1);
|
||||||
if(result.index==0) trigger.source.addTempSkill('yuzhang_dontuse');
|
if(result.index==0) trigger.source.addTempSkill('yuzhang_dontuse');
|
||||||
else trigger.source.chooseToDiscard('he',trigger.source.hp,true);
|
else trigger.source.chooseToDiscard('he',2,true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
group:"yuzhang_skip",
|
group:"yuzhang_skip",
|
||||||
subSkill:{
|
subSkill:{
|
||||||
skip:{
|
skip:{
|
||||||
|
audio:'yuzhang',
|
||||||
trigger:{
|
trigger:{
|
||||||
player:["phaseJudgeBefore","phaseDrawBefore","phaseUseBefore","phaseDiscardBefore"],
|
player:["phaseJudgeBefore","phaseDrawBefore","phaseUseBefore","phaseDiscardBefore"],
|
||||||
},
|
},
|
||||||
|
@ -13966,6 +13972,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
mateng:['tw_mateng','mateng'],
|
mateng:['tw_mateng','mateng'],
|
||||||
},
|
},
|
||||||
dynamicTranslate:{
|
dynamicTranslate:{
|
||||||
|
twfeifu:function(player){
|
||||||
|
var str='转换技。';
|
||||||
|
if(!player.storage.twfeifu) str+='<span class="bluetext">';
|
||||||
|
str+='阴:当你成为【杀】的唯一目标后;';
|
||||||
|
if(!player.storage.twfeifu) str+='</span>';
|
||||||
|
if(player.storage.twfeifu) str+='<span class="bluetext">';
|
||||||
|
str+='阳:当你使用【杀】指定唯一目标后;';
|
||||||
|
if(player.storage.twfeifu) str+='</span>';
|
||||||
|
str+='目标角色须交给使用者一张牌。若此牌为装备牌,则使用者可使用此牌。';
|
||||||
|
return str;
|
||||||
|
},
|
||||||
twfengpo:function(player){
|
twfengpo:function(player){
|
||||||
if(player.storage.twfengpo) return '当你使用【杀】或【决斗】指定唯一目标后,你可观看目标角色的手牌并选择一项:⒈摸X张牌。⒉令此牌的伤害值基数+X(X为其手牌中的红色牌数)。';
|
if(player.storage.twfengpo) return '当你使用【杀】或【决斗】指定唯一目标后,你可观看目标角色的手牌并选择一项:⒈摸X张牌。⒉令此牌的伤害值基数+X(X为其手牌中的红色牌数)。';
|
||||||
return '①当你使用【杀】或【决斗】指定唯一目标后,你可观看目标角色的手牌并选择一项:⒈摸X张牌。⒉令此牌的伤害值基数+X(X为其手牌中的♦数)。②当你杀死一名角色后,你将〖凤魄①〗中的“♦数”改为“红色牌数”。';
|
return '①当你使用【杀】或【决斗】指定唯一目标后,你可观看目标角色的手牌并选择一项:⒈摸X张牌。⒉令此牌的伤害值基数+X(X为其手牌中的♦数)。②当你杀死一名角色后,你将〖凤魄①〗中的“♦数”改为“红色牌数”。';
|
||||||
|
@ -14136,9 +14153,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
twchunlao_info:'①准备阶段,若场上没有“醇”,则你可将一名角色区域内的一张牌置于其武将牌上,称为“醇”。②一名角色使用【杀】时,若其有“醇”,则其可以交给你一张牌,令此【杀】的伤害值基数+1。③一名角色进入濒死状态时,若其有“醇”,则你可以移去“醇”并摸一张牌,然后令其回复1点体力。',
|
twchunlao_info:'①准备阶段,若场上没有“醇”,则你可将一名角色区域内的一张牌置于其武将牌上,称为“醇”。②一名角色使用【杀】时,若其有“醇”,则其可以交给你一张牌,令此【杀】的伤害值基数+1。③一名角色进入濒死状态时,若其有“醇”,则你可以移去“醇”并摸一张牌,然后令其回复1点体力。',
|
||||||
tw_guohuai:'TW郭淮',
|
tw_guohuai:'TW郭淮',
|
||||||
twjingce:"精策",
|
twjingce:"精策",
|
||||||
twjingce_info:"当你于出牌阶段使用第X张牌时,你可以摸X张牌(X为你的体力值)。若此阶段你此前摸过牌或本回合造成过伤害,你获得一枚“策”标记。",
|
twjingce_info:"当你于出牌阶段使用第X张牌时,你可以摸两张牌(X为你的体力值)。若此阶段你此前摸过牌或本回合造成过伤害,你获得一枚“策”标记。",
|
||||||
yuzhang:"御嶂",
|
yuzhang:"御嶂",
|
||||||
yuzhang_info:"你可以弃置一枚“策”标记,然后跳过一个阶段。当你受到伤害后,你可弃置一枚“策”标记,然后选择一项:⒈令伤害来源弃置X张牌(X为其体力值);⒉令伤害来源本回合不能再使用或打出牌。",
|
yuzhang_info:"你可以弃置一枚“策”标记,然后跳过一个阶段。当你受到伤害后,你可弃置一枚“策”标记,然后选择一项:⒈令伤害来源弃置两张牌;⒉令伤害来源本回合不能再使用或打出牌。",
|
||||||
tw_caozhao:'曹肇',
|
tw_caozhao:'曹肇',
|
||||||
twfuzuan:'复纂',
|
twfuzuan:'复纂',
|
||||||
twfuzuan_info:'出牌阶段限一次/当你受到伤害后/当你对其他角色造成伤害后,你可选择一名拥有转换技的角色,变更其的一个转换技的的状态。',
|
twfuzuan_info:'出牌阶段限一次/当你受到伤害后/当你对其他角色造成伤害后,你可选择一名拥有转换技的角色,变更其的一个转换技的的状态。',
|
||||||
|
@ -14166,7 +14183,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
twcongji_info:'当你的红色牌于回合外因弃置而进入弃牌堆后,你可令一名其他角色获得这些牌。',
|
twcongji_info:'当你的红色牌于回合外因弃置而进入弃牌堆后,你可令一名其他角色获得这些牌。',
|
||||||
old_quancong:'TW全琮',
|
old_quancong:'TW全琮',
|
||||||
zhenshan:'振赡',
|
zhenshan:'振赡',
|
||||||
zhenshan_info:'当你需要使用或打出一张基本牌时,你可以与一名手牌数少于你的角色交换手牌,视为使用或打出此牌。',
|
zhenshan_info:'每回合限一次,当你需要使用或打出一张基本牌时,你可以与一名手牌数少于你的角色交换手牌,视为使用或打出此牌。',
|
||||||
tw_tianyu:'TW田豫',
|
tw_tianyu:'TW田豫',
|
||||||
twzhenxi:'震袭',
|
twzhenxi:'震袭',
|
||||||
twzhenxi_info:'每回合限一次。当你使用【杀】指定目标后,你可选择一项:⒈弃置其X张手牌(X为你至其的距离);⒉将其装备区或判定区内的一张牌移动到另一名角色的装备区或判定区内。若其体力值大于你或其体力值为全场最高,则你可以改为依次执行以上两项。',
|
twzhenxi_info:'每回合限一次。当你使用【杀】指定目标后,你可选择一项:⒈弃置其X张手牌(X为你至其的距离);⒉将其装备区或判定区内的一张牌移动到另一名角色的装备区或判定区内。若其体力值大于你或其体力值为全场最高,则你可以改为依次执行以上两项。',
|
||||||
|
|
|
@ -4665,6 +4665,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(current.countCards('hs',card=>current.canUse(card,player)&&get.effect(player,card,current,player)<0)>=2) return false;
|
if(current.countCards('hs',card=>current.canUse(card,player)&&get.effect(player,card,current,player)<0)>=2) return false;
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
frequent:'check',
|
||||||
content:function(){
|
content:function(){
|
||||||
player.draw().gaintag=['dcjiexing'];
|
player.draw().gaintag=['dcjiexing'];
|
||||||
player.addTempSkill('dcjiexing_add');
|
player.addTempSkill('dcjiexing_add');
|
||||||
|
|
11
game/game.js
11
game/game.js
|
@ -20113,6 +20113,11 @@
|
||||||
player.update();
|
player.update();
|
||||||
}
|
}
|
||||||
},this,this.name,this.sex,num,this.group);
|
},this,this.name,this.sex,num,this.group);
|
||||||
|
skills=skills.filter(skill=>{
|
||||||
|
var info=get.info(skill);
|
||||||
|
if(info&&info.zhuSkill&&!this.isZhu2()) return false;
|
||||||
|
return true;
|
||||||
|
});
|
||||||
for(var i=0;i<skills.length;i++){
|
for(var i=0;i<skills.length;i++){
|
||||||
if(this.hiddenSkills.contains(skills[i])){
|
if(this.hiddenSkills.contains(skills[i])){
|
||||||
this.hiddenSkills.remove(skills[i]);
|
this.hiddenSkills.remove(skills[i]);
|
||||||
|
@ -55037,11 +55042,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(name.indexOf('gz_')==0){
|
while(name.indexOf('_')!=-1&&!lib.characterIntro[name]){
|
||||||
name=name.slice(3);
|
|
||||||
if(lib.characterIntro[name]) return lib.characterIntro[name];
|
|
||||||
}
|
|
||||||
if(name.indexOf('_')!=-1){
|
|
||||||
name=name.slice(name.indexOf('_')+1);
|
name=name.slice(name.indexOf('_')+1);
|
||||||
}
|
}
|
||||||
if(lib.characterIntro[name]) return lib.characterIntro[name];
|
if(lib.characterIntro[name]) return lib.characterIntro[name];
|
||||||
|
|
Loading…
Reference in New Issue