v1.9.110.10.1
This commit is contained in:
parent
bc1c650a56
commit
f5df594890
|
@ -959,8 +959,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
muniu_skill:'木牛',
|
||||
muniu_skill7:'木牛流马',
|
||||
muniu_skill_bg:'辎',
|
||||
muniu_info:'出牌阶段限一次,你可以将一张手牌扣置于你装备区里的【木牛流马】下,若如此做,你可以将此装备移动到一名其他角色的装备区里;你可以将此装备牌下的牌如手牌般使用或打出。',
|
||||
muniu_skill_info:'出牌阶段限一次,你可以将一张手牌扣置于你装备区里的【木牛流马】下,若如此做,你可以将此装备移动到一名其他角色的装备区里;你可以将此装备牌下的牌如手牌般使用或打出。',
|
||||
muniu_info:'①出牌阶段限一次,你可以将一张手牌扣置于你装备区里的【木牛流马】下,然后你可以将【木牛流马】移动到一名其他角色的装备区里。②你可以将【木牛流马】下的牌如手牌般使用或打出。③当你失去装备区的【木牛流马】后,你刷新〖木牛流马①〗的使用次数限制。若此牌不是因置入其他角色的装备区而失去的,则你将【木牛流马】下的所有牌置入弃牌堆。',
|
||||
muniu_skill_info:'将一张手牌扣置于你装备区里的【木牛流马】下,然后可以将此装备移动到一名其他角色的装备区里。',
|
||||
},
|
||||
list:[
|
||||
["heart",4,"sha","fire"],
|
||||
|
|
|
@ -83,6 +83,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
global:'icesha_skill',
|
||||
range:{attack:1},
|
||||
selectTarget:1,
|
||||
cardPrompt:function(card){
|
||||
if(card.nature=='stab') return '出牌阶段,对你攻击范围内的一名角色使用。其须使用一张【闪】,且在此之后需弃置一张手牌(没有则不弃)。否则你对其造成1点伤害。';
|
||||
if(lib.linked.contains(card.nature)) return '出牌阶段,对你攻击范围内的一名角色使用。其须使用一张【闪】,否则你对其造成1点'+get.translation(card.nature)+'属性伤害。';
|
||||
return '出牌阶段,对你攻击范围内的一名角色使用。其须使用一张【闪】,否则你对其造成1点伤害。';
|
||||
},
|
||||
yingbian_prompt:function(card){
|
||||
var str='';
|
||||
if(get.cardtag(card,'yingbian_hit')){
|
||||
|
@ -211,6 +216,17 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
target.damage(get.nature(event.card),event.baseDamage+event.extraDamage);
|
||||
event.result={bool:true}
|
||||
event.trigger('shaDamage');
|
||||
event.finish();
|
||||
}
|
||||
else{
|
||||
event.trigger('shaMiss');
|
||||
}
|
||||
"step 6"
|
||||
if((!result||!result.bool)&&!event.unhurt){
|
||||
target.damage(get.nature(event.card),event.baseDamage+event.extraDamage);
|
||||
event.result={bool:true}
|
||||
event.trigger('shaDamage');
|
||||
event.finish();
|
||||
}
|
||||
else{
|
||||
event.result={bool:false}
|
||||
|
@ -1856,16 +1872,25 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
if(!_status.qinglong_guozhan) _status.qinglong_guozhan=[];
|
||||
_status.qinglong_guozhan=[];
|
||||
_status.qinglong_guozhan.add(trigger);
|
||||
game.countPlayer2(function(current){
|
||||
current.addTempSkill('qinglong_guozhan_mingzhi');
|
||||
});
|
||||
game.broadcast(function(list){
|
||||
_status.qinglong_guozhan=list;
|
||||
},_status.qinglong_guozhan.map(function(i){
|
||||
return {targets:i.targets};
|
||||
}))
|
||||
var next=game.createEvent('qinglong_guozhan');
|
||||
event.next.remove(next);
|
||||
trigger.after.add(next);
|
||||
next.setContent(function(){
|
||||
_status.qinglong_guozhan.remove(event.parent);
|
||||
game.broadcast(function(list){
|
||||
_status.qinglong_guozhan=list;
|
||||
},_status.qinglong_guozhan.map(function(i){
|
||||
return {targets:i.targets};
|
||||
}));
|
||||
});
|
||||
}
|
||||
},
|
||||
|
@ -2775,7 +2800,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
hanbing_skill_info:'当你使用杀造成伤害时,你可以防止此伤害,改为依次弃置目标角色的两张牌。',
|
||||
renwang_info:'锁定技,黑色的杀对你无效',
|
||||
renwang_skill_info:'锁定技,黑色的杀对你无效',
|
||||
sha_info:'出牌阶段,对攻击范围内的一名角色使用,令其使用一张【闪】,否则受到一点伤害。',
|
||||
sha_info:'出牌阶段,对你攻击范围内的一名角色使用。其须使用一张【闪】,否则你对其造成1点伤害。',
|
||||
shan_info:'抵消一张【杀】',
|
||||
tao_info:'出牌阶段,对自己使用,回复一点体力。',
|
||||
bagua_info:'当你需要使用或打出一张【闪】时,你可以进行一次判定,若判定结果为红色,视为你使用或打出了一张【闪】。',
|
||||
|
|
|
@ -333,7 +333,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
direct:true,
|
||||
equipSkill:true,
|
||||
filter:function(event,player){
|
||||
return event.card&&event.card.name=='sha'&&event.getParent().name=='sha'&&player.countCards('h')>0;
|
||||
return event.card&&event.card.name=='sha'&&event.getParent().name=='sha'&&player.isDamaged()&&player.countCards('h')>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
|
@ -649,7 +649,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
tuixinzhifu:'推心置腹',
|
||||
tuixinzhifu_info:'出牌阶段,对一名距离为1的其他角色使用。你获得其区域内的至多两张牌,然后交给其等量的牌。',
|
||||
yitianjian:'倚天剑',
|
||||
yitianjian_info:'当你因执行【杀】的效果而造成伤害后,你可弃置一张手牌,然后回复1点体力。',
|
||||
yitianjian_info:'当你因执行【杀】的效果而造成伤害后,若你已受伤,则你可弃置一张手牌,然后回复1点体力。',
|
||||
qixingbaodao:'七星宝刀',
|
||||
qixingbaodao_info:'锁定技。当此牌进入你的装备区后,你弃置装备区和判定区内的所有其他牌。',
|
||||
duanjian:'断剑',
|
||||
|
@ -727,7 +727,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
['diamond',10,'tuixinzhifu'],
|
||||
['diamond',11,'tao',null,['gifts']],
|
||||
['diamond',12,'shan'],
|
||||
['diamond',13,'','stab'],
|
||||
['diamond',13,'sha','stab'],
|
||||
],
|
||||
}
|
||||
});
|
||||
|
|
|
@ -906,9 +906,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var type=get.type(i);
|
||||
if((type=='basic'||type=='trick')) list.push([type,'',i]);
|
||||
if(i=='sha'){
|
||||
list.push([type,'',i,'fire']);
|
||||
list.push([type,'',i,'thunder']);
|
||||
list.push([type,'',i,'ice']);
|
||||
for(var j of lib.inpile_nature) list.push([type,'',i,j]);
|
||||
}
|
||||
}
|
||||
if(list.length){
|
||||
|
@ -2394,9 +2392,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(event.filterCard({name:name,isCard:true},player,event)){
|
||||
list.push([type,'',name]);
|
||||
if(name=='sha'){
|
||||
list.push([type,'',name,'fire']);
|
||||
list.push([type,'',name,'thunder']);
|
||||
list.push([type,'',name,'ice']);
|
||||
for(var j of lib.inpile_nature) list.push([type,'',i,j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4000,9 +3996,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var type=get.type(i);
|
||||
if(type=='basic'||type=='trick') list.push([type,'',i]);
|
||||
if(i=='sha'){
|
||||
list.push([type,'',i,'fire']);
|
||||
list.push([type,'',i,'thunder']);
|
||||
list.push([type,'',i,'ice']);
|
||||
for(var j of lib.inpile_nature) list.push([type,'',i,j]);
|
||||
}
|
||||
}
|
||||
player.chooseButton(['是否视为使用一张基本牌或普通锦囊牌?',[list,'vcard']]).set('filterButton',function(button){
|
||||
|
@ -7077,12 +7071,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var name=lib.inpile[i];
|
||||
if(name=='du'||name=='shan') continue;
|
||||
if(name=='sha'){
|
||||
list.addArray([
|
||||
['基本','','sha'],
|
||||
['基本','','sha','fire'],
|
||||
['基本','','sha','thunder'],
|
||||
['基本','','sha','ice'],
|
||||
]);
|
||||
list.push(['基本','','sha']);
|
||||
for(var j of lib.inpile_nature) list.push(['基本','',name,j]);
|
||||
}
|
||||
else if(get.type(name)=='basic'){
|
||||
list.push(['基本','',name]);
|
||||
|
@ -7343,9 +7333,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(name=='boss_mengpohuihun') continue;
|
||||
if(name=='sha'){
|
||||
list.push(['基本','','sha']);
|
||||
list.push(['基本','','sha','fire']);
|
||||
list.push(['基本','','sha','thunder']);
|
||||
list.push(['基本','','sha','ice']);
|
||||
for(var j of lib.inpile_nature) list.push(['基本','',name,j]);
|
||||
}
|
||||
else if(get.type(name)=='trick') list.push(['锦囊','',name]);
|
||||
else if(get.type(name)=='basic') list.push(['基本','',name]);
|
||||
|
@ -9936,9 +9924,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(player.storage.junktaoluan.contains(name)) continue;
|
||||
if(name=='sha'){
|
||||
list.push(['基本','','sha']);
|
||||
list.push(['基本','','sha','fire']);
|
||||
list.push(['基本','','sha','thunder']);
|
||||
list.push(['基本','','sha','ice']);
|
||||
for(var j of lib.inpile_nature) list.push(['基本','',name,j]);
|
||||
}
|
||||
else if(get.type(name)=='trick') list.push(['锦囊','',name]);
|
||||
else if(get.type(name)=='basic') list.push(['基本','',name]);
|
||||
|
|
|
@ -4005,9 +4005,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
if(player.isLinked()) return false;
|
||||
if(event.name=='link') return true;
|
||||
return (event.name!='phase'||game.phaseNumber==0);
|
||||
if(event.name=='link') return player.isLinked();
|
||||
return (event.name!='phase'||game.phaseNumber==0)&&!player.isLinked();
|
||||
},
|
||||
content:function(){
|
||||
if(trigger.name!='link') player.link(true);
|
||||
|
|
|
@ -3467,23 +3467,42 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
trigger:{player:'damageBegin2'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
if(!event.card||get.color(event.card)=='none') return false;
|
||||
if(!event.card||get.suit(event.card)=='none') return false;
|
||||
var all=player.getAllHistory('damage');
|
||||
if(!all.length) return false;
|
||||
return all[all.length-1].card&&get.color(all[all.length-1].card)==get.color(event.card);
|
||||
return all[all.length-1].card&&get.suit(all[all.length-1].card)==get.suit(event.card);
|
||||
},
|
||||
content:function(){
|
||||
trigger.cancel();
|
||||
},
|
||||
group:'mjmouzhi_mark',
|
||||
intro:{content:'上次受到伤害的花色:$'},
|
||||
ai:{
|
||||
effect:{
|
||||
target:function(card,player,target){
|
||||
if(get.tag(card,'damage')){
|
||||
var color=get.color(card);
|
||||
var color=get.suit(card);
|
||||
if(color=='none') return;
|
||||
var all=target.getAllHistory('damage');
|
||||
if(!all.length||!all[all.length-1].card) return;
|
||||
if(get.color(all[all.length-1].card)==color) return 'zerotarget';
|
||||
if(get.suit(all[all.length-1].card)==color) return 'zerotarget';
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
subSkill:{
|
||||
mark:{
|
||||
trigger:{player:'damage'},
|
||||
silent:true,
|
||||
firstDo:true,
|
||||
content:function(){
|
||||
if(!trigger.card||get.suit(trigger.card)=='none') player.unmarkSkill('mjmouzhi');
|
||||
else{
|
||||
player.markSkill('mjmouzhi');
|
||||
game.broadcastAll(function(player,suit){
|
||||
if(player.marks.mjmouzhi) player.marks.mjmouzhi.firstChild.innerHTML=get.translation(suit);
|
||||
player.storage.mjmouzhi=suit;
|
||||
},player,get.suit(trigger.card))
|
||||
}
|
||||
},
|
||||
},
|
||||
|
@ -6170,9 +6189,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var name=lib.inpile[i];
|
||||
if(name=='sha'){
|
||||
if(event.filterCard({name:name},player,event)) list.push(['基本','','sha']);
|
||||
if(event.filterCard({name:name,nature:'fire'},player,event)) list.push(['基本','','sha','fire']);
|
||||
if(event.filterCard({name:name,nature:'thunder'},player,event)) list.push(['基本','','sha','thunder']);
|
||||
if((get.mode()!='guozhan'||_status.mode=='yingbian')&&event.filterCard({name:name,nature:'ice'},player,event)) list.push(['基本','','sha','ice']);
|
||||
for(var j of lib.inpile_nature){
|
||||
if(event.filterCard({name:name,nature:j},player,event)) list.push(['基本','','sha',j]);
|
||||
}
|
||||
}
|
||||
else if(get.type2(name)=='trick'&&event.filterCard({name:name},player,event)) list.push(['锦囊','',name]);
|
||||
else if(get.type(name)=='basic'&&event.filterCard({name:name},player,event)) list.push(['基本','',name]);
|
||||
|
@ -10834,9 +10853,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var list=[];
|
||||
if(event.filterCard({name:'sha'},player,event)){
|
||||
list.push(['基本','','sha']);
|
||||
list.push(['基本','','sha','fire']);
|
||||
list.push(['基本','','sha','thunder']);
|
||||
list.push(['基本','','sha','ice']);
|
||||
for(var j of lib.inpile_nature) list.push(['基本','','sha',j]);
|
||||
}
|
||||
if(event.filterCard({name:'tao'},player,event)){
|
||||
list.push(['基本','','tao']);
|
||||
|
@ -11656,9 +11673,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var list=[];
|
||||
if(event.filterCard({name:'sha'},player,event)){
|
||||
list.push(['基本','','sha']);
|
||||
list.push(['基本','','sha','fire']);
|
||||
list.push(['基本','','sha','thunder']);
|
||||
list.push(['基本','','sha','ice']);
|
||||
for(var j of lib.inpile_nature) list.push(['基本','','sha',j]);
|
||||
}
|
||||
if(event.filterCard({name:'shan'},player,event)){
|
||||
list.push(['基本','','shan']);
|
||||
|
@ -13577,7 +13592,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
mjchenshi_target:'陈势',
|
||||
mjchenshi_info:'当有角色使用【兵临城下】指定第一个目标后,其可交给你一张牌,并将牌堆的顶三张牌中所有不为【杀】的牌置入弃牌堆;当有角色成为【兵临城下】的目标后,其可交给你一张牌,然后将牌堆顶三张牌中所有的【杀】置入弃牌堆。',
|
||||
mjmouzhi:'谋识',
|
||||
mjmouzhi_info:'锁定技,当你受到伤害时,若伤害渠道对应的牌和你上次受到的伤害颜色相同,则你防止此伤害。',
|
||||
mjmouzhi_info:'锁定技,当你受到伤害时,若伤害渠道对应的牌和你上次受到的伤害花色相同,则你防止此伤害。',
|
||||
zhangzhongjing:'张机',
|
||||
jishi:'济世',
|
||||
jishi_info:'锁定技。①当你使用的牌结算完成后,若你未因此牌造成过伤害,则你将此牌对应的所有实体牌置于仁库中。②当有牌不因溢出而离开仁库时,你摸一张牌。',
|
||||
|
|
|
@ -90,8 +90,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
for(var i of lib.inpile){
|
||||
if(i!='du'&&get.type(i)=='basic'&&event.filterCard({name:i,cards:hs},player,event)) vcards.push(['基本','',i]);
|
||||
if(i=='sha'){
|
||||
var list=['fire','thunder','ice'];
|
||||
for(var j of list){
|
||||
for(var j of lib.inpile_nature){
|
||||
if(event.filterCard({name:i,nature:j,cards:hs},player,event)) vcards.push(['基本','',i,j]);
|
||||
}
|
||||
}
|
||||
|
@ -242,9 +241,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return player.canUse('sha',current);
|
||||
})){
|
||||
list.push(['基本','','sha']);
|
||||
list.push(['基本','','sha','fire']);
|
||||
list.push(['基本','','sha','thunder']);
|
||||
list.push(['基本','','sha','ice']);
|
||||
}
|
||||
for(var i of lib.inpile_nature){
|
||||
if(lib.filter.cardUsable({name:'sha',nature:i},player,event.getParent('chooseToUse'))&&game.hasPlayer(function(current){
|
||||
return player.canUse({name:'sha',nature:i},current);
|
||||
})){
|
||||
list.push(['基本','','sha',i]);
|
||||
}
|
||||
}
|
||||
if(lib.filter.cardUsable({name:'tao'},player,event.getParent('chooseToUse'))&&game.hasPlayer(function(current){
|
||||
return player.canUse('tao',current);
|
||||
|
|
|
@ -909,6 +909,8 @@ window.noname_character_rank={
|
|||
'sp_chendong',
|
||||
'sp_zongyu',
|
||||
'yangyan',
|
||||
'zuofen',
|
||||
're_kanze',
|
||||
],
|
||||
bm:[
|
||||
'diy_xizhenxihong',
|
||||
|
@ -1762,6 +1764,7 @@ window.noname_character_rank={
|
|||
'fuqian',
|
||||
'yangyan',
|
||||
'yangzhi',
|
||||
'zuofen',
|
||||
],
|
||||
junk:[
|
||||
'sunshao',
|
||||
|
|
|
@ -2253,7 +2253,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var ai2=function(target){
|
||||
var player=_status.event.player;
|
||||
if(get.attitude(player,target)<=0) return 0;
|
||||
var list=[null,'fire','thunder','ice','juedou'];
|
||||
var list=[null,'juedou'].concat(lib.inpile_nature);
|
||||
if(target.hasSkill('ayato_zenshen')) list.push('kami');
|
||||
var num=Math.max.apply(Math,list.map(function(i){
|
||||
if(i=='juedou') return target.getUseValue({name:'juedou',isCard:true},false);
|
||||
|
@ -2293,7 +2293,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return target!=player&&target!=_status.event.target;
|
||||
},'选择'+get.translation(target)+'使用【杀】或【决斗】的目标',true).set('target',target).set('ai',function(target){
|
||||
var evt=_status.event;
|
||||
var list=[null,'fire','thunder','ice','juedou'];
|
||||
var list=[null,'juedou'].concat(lib.inpile_nature);
|
||||
if(evt.target.hasSkill('ayato_zenshen')) list.push('kami')
|
||||
return Math.max.apply(Math,list.map(function(i){
|
||||
var card={name:'sha',isCard:true};
|
||||
|
@ -2309,9 +2309,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
event.target2=target2;
|
||||
player.line(target2);
|
||||
game.log(player,'选择了',target2);
|
||||
var list=[null,'fire','thunder','ice'];
|
||||
var list=lib.inpile_nature.slice(0);
|
||||
list.unshift(null);
|
||||
var vcards=[];
|
||||
if(target.hasSkill('ayato_zenshen')) list.push('kami');
|
||||
if(target.hasSkill('ayato_zenshen')) list.add('kami');
|
||||
for(var i of list){
|
||||
if(target.canUse({name:'sha',isCard:true,nature:i},target2,false)) vcards.push(['基本','','sha',i]);
|
||||
}
|
||||
|
@ -2321,6 +2322,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
else event._result={index:1};
|
||||
}
|
||||
else if(!target.countCards('h')){
|
||||
event.vcards=vcards;
|
||||
event._result={index:0};
|
||||
}
|
||||
else{
|
||||
|
@ -5858,7 +5860,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(i=='shan'||i=='wuxie') continue;
|
||||
var type=get.type(i);
|
||||
if((type=='basic'||type=='trick')&&event.filterCard({name:i},player,event)) return true;
|
||||
if(i=='sha'&&(event.filterCard({name:i,nature:'ice'},player,event)||event.filterCard({name:i,nature:'fire'},player,event)||event.filterCard({name:i,nature:'thunder'},player,event))) return true;
|
||||
if(i=='sha'){
|
||||
for(var j of lib.inpile_nature){
|
||||
if(event.filterCard({name:i,nature:j},player,event)) return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
@ -5870,9 +5876,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var type=get.type(i);
|
||||
if(type=='basic'||type=='trick') list.push([type,'',i]);
|
||||
if(i=='sha'){
|
||||
list.push([type,'',i,'fire']);
|
||||
list.push([type,'',i,'thunder']);
|
||||
list.push([type,'',i,'ice']);
|
||||
for(var j of lib.inpile_nature) list.push(['基本','','sha',j]);
|
||||
}
|
||||
}
|
||||
return ui.create.dialog('蛊惑',[list,'vcard']);
|
||||
|
@ -7959,9 +7963,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return player.canUse('sha',current);
|
||||
})){
|
||||
list.push(['基本','','sha']);
|
||||
list.push(['基本','','sha','fire']);
|
||||
list.push(['基本','','sha','thunder']);
|
||||
list.push(['基本','','sha','ice']);
|
||||
}
|
||||
for(var i of lib.inpile_nature){
|
||||
if(lib.filter.cardUsable({name:'sha',nature:i},player,event.getParent('chooseToUse'))&&game.hasPlayer(function(current){
|
||||
return player.canUse({name:'sha',nature:i},current);
|
||||
})){
|
||||
list.push(['基本','','sha',i]);
|
||||
}
|
||||
}
|
||||
if(lib.filter.cardUsable({name:'tao'},player,event.getParent('chooseToUse'))&&game.hasPlayer(function(current){
|
||||
return player.canUse('tao',current);
|
||||
|
|
|
@ -7038,9 +7038,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(name=='wuxie') continue;
|
||||
if(name=='sha'){
|
||||
list.push(['基本','','sha']);
|
||||
list.push(['基本','','sha','fire']);
|
||||
list.push(['基本','','sha','thunder']);
|
||||
list.push(['基本','','sha','ice']);
|
||||
for(var j of lib.inpile_nature) list.push(['基本','','sha',j]);
|
||||
}
|
||||
else if(get.type(name)=='trick') list.push(['锦囊','',name]);
|
||||
else if(get.type(name)=='basic') list.push(['基本','',name]);
|
||||
|
|
314
character/sp.js
314
character/sp.js
|
@ -5,10 +5,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
connect:true,
|
||||
characterSort:{
|
||||
sp:{
|
||||
sp_default:["caoying","simahui","yangxiu","chenlin","caohong","xiahouba","yuanshu","sp_diaochan","sp_zhaoyun","zhugejin","zhugeke","guanyinping","simalang","zhangxingcai","sp_sunshangxiang","caoang","sp_caoren","zhangbao","maliang","zhugedan","sp_jiangwei","sp_machao","sunhao","shixie","mayunlu","zhanglu","wutugu","sp_caiwenji","zhugeguo","jsp_guanyu","jsp_huangyueying","sunluyu","zumao","wenpin","daxiaoqiao","tadun","yanbaihu","chengyu","wanglang","sp_pangde","sp_jiaxu","litong","mizhu","buzhi","caochun","dongbai","zhaoxiang","mazhong","dongyun","kanze","heqi","wangyun","sunqian","xizhicai","quyi","luzhi","xujing","yuantanyuanshang","sunshao","zhangling",'guansuo','baosanniang','ol_zhangchangpu','caoshuang','sp_zhangliao','wolongfengchu','ol_xinxianying','panshu','huangzu','huangchengyan','gaogan','duxi','ol_dengzhi','ol_wangrong'],
|
||||
sp_tongque:["liuxie","lingju","fuwan","sp_fuwan","sp_fuhuanghou","sp_jiben"],
|
||||
sp_tianji:["sunhao","liuxie","caoang","hetaihou","sunluyu",'ol_wangrong',"zuofen","ganfuren","bianfuren"],
|
||||
sp_sibi:["yangxiu","chenlin","chengyu","shixie","fuwan","wangyun","zhugejin","simalang","maliang","buzhi","dongyun","kanze","sunqian","xizhicai","sunshao",'duxi',"jianggan",'ol_dengzhi'],
|
||||
sp_tianzhu:["wutugu","yanbaihu","shamoke","panfeng","zhugedan",'huangzu','gaogan',"tadun"],
|
||||
sp_nvshi:["lingju","guanyinping","zhangxingcai","mayunlu","dongbai","zhaoxiang",'ol_zhangchangpu','ol_xinxianying',"daxiaoqiao"],
|
||||
sp_shaowei:["simahui","zhangbao","zhanglu","zhugeguo","xujing","zhangling",'huangchengyan'],
|
||||
sp_huben:["caohong","xiahouba","zhugeke","zumao","wenpin","litong","mazhong","heqi","quyi","luzhi","zangba","yuejin","dingfeng"],
|
||||
sp_liesi:['mizhu'],
|
||||
sp_default:["sp_diaochan","sp_zhaoyun","sp_sunshangxiang","sp_caoren","sp_jiangwei","sp_machao","sp_caiwenji","jsp_guanyu","jsp_huangyueying","sp_pangde","sp_jiaxu","yuanshu",'sp_zhangliao'],
|
||||
sp_qifu:["caoying",'panshu',"caochun","yuantanyuanshang",'caoshuang','wolongfengchu','guansuo','baosanniang'],
|
||||
sp_wanglang:['wanglang'],
|
||||
sp_tongque:["sp_fuwan","sp_fuhuanghou","sp_jiben"],
|
||||
sp_zhongdan:["cuiyan","huangfusong"],
|
||||
sp_guozhan:["zangba","shamoke","ganfuren","yuejin","hetaihou","dingfeng","panfeng","jianggan","sp_mifangfushiren","bianfuren"],
|
||||
sp_guozhan2:["mateng","tianfeng","sp_dongzhuo","jiangfei","jiangqing","liqueguosi","lvfan","cuimao","jiling","zhangren","zongyu"],
|
||||
//sp_single:["niujin"],
|
||||
sp_others:["hanba","caiyang"],
|
||||
|
@ -16,12 +24,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
characterFilter:{},
|
||||
character:{
|
||||
zuofen:['female','jin',3,['zhaosong','lisi']],
|
||||
ol_wangrong:['female','qun',3,['olfengzi','oljizhan','olfusong']],
|
||||
ol_dengzhi:['male','shu',3,['olxiuhao','olsujian']],
|
||||
bianfuren:['female','wei',3,['fuwei','yuejian']],
|
||||
duxi:['male','wei',3,['quxi','bixiong']],
|
||||
gaogan:['male','qun',4,['juguan']],
|
||||
sp_mifangfushiren:['male','shu',4,['mffengshi']],
|
||||
huangchengyan:['male','qun',3,['guanxu','yashi']],
|
||||
huangzu:['male','qun',4,['wangong']],
|
||||
panshu:['female','wu',3,['weiyi','jinzhi']],
|
||||
|
@ -144,13 +152,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
//kaisa:["male","western",4,["zhengfu"]],
|
||||
},
|
||||
characterIntro:{
|
||||
zuofen:'左芬(约253年-300年4月23日),出土墓志作左棻,字兰芝,齐国临淄(今山东临淄)人,西晋诗人。少好学,善属文。为晋武帝贵人。今存诗、赋、颂、赞、诔等20余篇,大都为应诏而作,《离思赋》最著名。原有集,已失传。',
|
||||
duxi:'杜袭(生卒年不详),字子绪,颍川郡定陵县(今河南省襄城县)人。三国时期魏国重臣,东汉末年颍川“四大名士”之一,济阴太守杜根的孙子。建安初年,投奔司空曹操,历任西鄂县令、议郎、丞相军咨祭酒、魏王侍中、丞相长史、驸马都尉。魏文帝时期,出任督军粮御史、尚书,累封武平亭侯。魏明帝时期,担任大将军曹真和司马懿的军师,抵御蜀国进攻,拜太中大夫,受封平阳乡侯。卒于任上,获赠少府,谥号为定。',
|
||||
gaogan:'高干(?~206年),字元才,陈留郡圉县(今河南杞县圉镇)人。东汉末年并州割据将领,蜀郡太守高躬之子、大将军袁绍外甥。出身陈留高氏,才志弘邈,文武秀出。早年联合荀谌游说韩馥让出冀州牧。袁绍平定河北后,以为并州牧。官渡之战时,在西线配合作战。因曹操早有准备,没有实质进展。袁绍死后,袁谭、袁尚与曹操大战于黎阳郡时,联合郭援攻打平阳郡,为马腾为首关中将领所败,郭援为庞德所斩。袁尚败走中山郡后,出降于曹操,仍为并州刺史。建安十年,兴兵反曹,固守壶关,成功抵挡乐进进攻。得知曹操亲征后,留下别将守城,亲往匈奴呼厨泉求救,没有成功。引兵攻略河东郡,屡为钟繇、张既所败。建安十一年,投奔荆州刘表。途经上洛时,为上洛都尉捕斩之。',
|
||||
huangchengyan:'黄承彦,生卒年不详,汉末三国时期沔阳名士,诸葛亮岳父,黄月英之父。南郡大士蔡讽的女婿,与襄阳名士上层社会圈子:庞统(凤雏)、庞德公、司马徽、徐庶等人交好。《襄阳记》:黄承彦者,高爽开列,为沔阳名士,谓诸葛孔明曰:“闻君择妇,身有丑女,黄头黑色,而才堪配。”孔明许,即载送之。时人以为笑乐,乡里为之谚曰:“莫作孔明择妇,正得阿承丑女。”',
|
||||
panshu:'潘淑(?-252年),会稽句章(今浙江省宁波市)人,是吴大帝孙权的皇后,吴少帝孙亮的母亲。和孙权是中国历代帝后中年龄差距较大的一对。潘淑少时与姐姐俱没入织室,容媚有宠,拜为夫人,生有一子孙亮。赤乌十三年(250年),孙权立孙亮为皇太子,翌年(251年)立潘淑为皇后。神凤元年(252年)暴崩,合葬蒋陵。世称潘淑为江东绝色,有神女之称。',
|
||||
jiben:'吉本(?—218年),东汉末年太医令。建安二十三年春正月,时金祎自以世为汉臣,睹汉祚将移,谓可季兴,乃喟然发愤,遂与太医令本、少府耿纪、司直韦晃、本子邈、邈弟穆等结谋攻许,杀曹公长史王必,南援刘备。后必营,必与典农中郎将严匡讨斩之。在《三国演义》中,吉本在此为吉平或吉太,因字称平,故又唤作吉平。曾参与董承等人刺杀曹操的计划,并企图在为曹操治病时毒死曹操,但被曹操识破而遭处刑。之后其子吉邈和吉穆都参与了由耿纪和韦晃等人所发动的反叛曹操的行动,但都失败被杀。',
|
||||
zongyu:'宗预(?-264年),字德艳 ,荆州南阳郡安众县(今河南省南阳市)人。三国时期蜀汉官员、将领。曾随张飞入蜀助平益州,又受辟为丞相诸葛亮手下主簿,升任参军、右中郎将。诸葛亮逝世后,宗预受命出使孙吴,得到孙权的赞赏。迁后将军,出督永安,又升任征西大将军,并受封关内侯。公元258年(景耀元年),因病回成都,受任镇军大将军。蜀汉灭亡后,宗预随后主刘禅徙往洛阳,在中途病逝。宗预为人坦率耿直,多次出使孙吴并深得孙权的敬重,为吴、汉两国同盟的巩固作出了一定的贡献。',
|
||||
mifangfushiren:'麋芳(生卒年不详),字子方,东海郡朐县(今江苏省连云港市)人。汉末三国时期蜀国将领,刘备糜夫人的兄弟。麋芳本为徐州牧陶谦部下,曾被曹操表为彭城相。后来辞官,随刘备从徐州辗转至邺城、汝南、新野、长坂坡、江夏等地,奔波多年。傅士仁(生卒年不详),字君义,幽州广阳郡(今北京市)人,刘备手下将领。受到刘备的重用,但被关羽轻慢。<br>刘备称汉中王时,糜芳为南郡太守,但受到关羽的轻慢。后来,因未完成供给军资的任务而被关羽责骂,心中不安。吕蒙袭取荆州时,将已经投降的傅士仁展示给糜芳,麋芳于是选择投降,导致关羽兵败被杀。此后,在吴国担任将军,并且为吴征伐。',
|
||||
mengda:'孟达(?-228),字子度,本字子敬,因刘备的叔父名叫刘子敬,为避讳而改字。扶风郡郿人,三国时期人物。本为刘璋属下,后降刘备。关羽围樊城、襄阳时因不发兵救关羽而触怒刘备,于是投奔曹魏。此后,劝降刘封,未果。在魏官至散骑常侍、建武将军,封平阳亭侯。此后又欲反曹魏而归蜀汉,事败而死。',
|
||||
wolongfengchu:'沙比武将,懒得复制粘贴,自己去看诸葛亮和庞统的介绍吧。',
|
||||
caoshuang:'曹爽(?-249年2月9日),字昭伯,沛国谯县(今安徽亳州市)人。三国时期魏国权臣,大司马曹真长子。曹爽体态肥胖,凭借宗室身份,出入宫廷,交好太子曹叡。魏明帝即位,起家员外散骑侍郎,累迁城门校尉、散骑常侍,转武卫将军。太和五年(231年),袭封邵陵侯。景初三年(239年),魏明帝曹叡病危,拜大将军、假黄钺,与司马懿并为托孤大臣。少帝曹芳即位,加侍中,改封武安侯。势倾四海,声震天下。任用私人,专权乱政,侵吞公产。伐蜀失败,虚耗国力。起居逾制,软禁郭太后。正始十年,太傅司马懿发动高平陵政变,掌握魏国大权。曹爽失去大将军职务,以谋反之罪处死,夷灭三族。',
|
||||
|
@ -393,6 +401,205 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
skill:{
|
||||
//左棻
|
||||
zhaosong:{
|
||||
trigger:{global:'phaseDrawAfter'},
|
||||
logTarget:'player',
|
||||
filter:function(event,player){
|
||||
if(player==event.player||!event.player.countCards('h')) return false;
|
||||
var types=['basic','trick','equip'];
|
||||
for(var i of types){
|
||||
if(event.player.hasMark('zhaosong_'+i)) return false;
|
||||
}
|
||||
return true;
|
||||
},
|
||||
prompt2:'令其交给你一张手牌,并根据类型获得对应的标记',
|
||||
content:function(){
|
||||
'step 0'
|
||||
event.target=trigger.player;
|
||||
event.target.chooseCard('h',true,get.translation(player)+'发动了【诏颂】;请交给其一张手牌');
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var card=result.cards[0];
|
||||
player.gain(card,target,'give');
|
||||
var type=get.type2(card,target);
|
||||
if(lib.skill['zhaosong_'+type]){
|
||||
target.addSkill('zhaosong_'+type);
|
||||
target.addMark('zhaosong_'+type);
|
||||
}
|
||||
}
|
||||
},
|
||||
subSkill:{
|
||||
basic:{
|
||||
marktext:'颂',
|
||||
intro:{
|
||||
name:'诏颂(颂)',
|
||||
name2:'颂',
|
||||
content:'当你使用【杀】选择唯一目标时,你可移去“颂”,并为此【杀】增加至多两个目标。然后若此【杀】造成的伤害小于2,你失去1点体力。',
|
||||
},
|
||||
trigger:{player:'useCard2'},
|
||||
direct:true,
|
||||
charlotte:true,
|
||||
onremove:true,
|
||||
filter:function(event,player){
|
||||
return player.hasMark('zhaosong_basic')&&event.card.name=='sha'&&
|
||||
event.targets.length==1&&game.hasPlayer(function(current){
|
||||
return current!=player&¤t!=event.targets[0]&&lib.filter.targetEnabled2(event.card,player,current);
|
||||
});
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseTarget([1,2],'是否弃置“颂”标记?','为'+get.translation(trigger.card)+'增加至多两个目标',function(card,player,target){
|
||||
var evt=_status.event.getTrigger();
|
||||
return target!=player&&target!=evt.targets[0]&&lib.filter.targetEnabled2(evt.card,player,target);
|
||||
}).set('ai',function(target){
|
||||
var evt=_status.event.getTrigger();
|
||||
return get.effect(target,evt.card,evt.player,evt.player);
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
if(player!=event.player&&!player.isOnline()) game.delayx();
|
||||
player.addTempSkill('zhaosong_shaloss');
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
var targets=result.targets;
|
||||
player.logSkill('zhaosong_basic',targets);
|
||||
player.removeMark('zhaosong_basic',1);
|
||||
player.removeSkill('zhaosong_basic');
|
||||
trigger.targets.addArray(targets);
|
||||
trigger.zhaosong_basic=true;
|
||||
},
|
||||
},
|
||||
shaloss:{
|
||||
trigger:{player:'useCardAfter'},
|
||||
forced:true,
|
||||
charlotte:true,
|
||||
filter:function(event,player){
|
||||
if(!event.zhaosong_basic) return false;
|
||||
var num=0;
|
||||
player.getHistory('sourceDamage',function(evt){
|
||||
if(evt.card==event.card) num+=evt.num;
|
||||
});
|
||||
return num<2;
|
||||
},
|
||||
content:function(){
|
||||
player.loseHp();
|
||||
},
|
||||
},
|
||||
trick:{
|
||||
marktext:'诔',
|
||||
intro:{
|
||||
name:'诏颂(诔)',
|
||||
name2:'诔',
|
||||
content:'当你进入濒死状态时,你可移去“诔”并减1点体力上限,然后将体力回复至1点并摸一张牌。',
|
||||
},
|
||||
trigger:{player:'dying'},
|
||||
prompt:'是否弃置“诔”标记?',
|
||||
prompt2:'减1点体力上限,然后回复体力至1点并摸一张牌。',
|
||||
charlotte:true,
|
||||
onremove:true,
|
||||
filter:function(event,player){
|
||||
return player.hasMark('zhaosong_trick')&&player.hp<1;
|
||||
},
|
||||
check:function(event,player){
|
||||
if(player.maxHp<2||player.countCards('h',function(card){
|
||||
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
||||
if(mod2!='unchanged') return mod2;
|
||||
var mod=game.checkMod(card,player,event.player,'unchanged','cardSavable',player);
|
||||
if(mod!='unchanged') return mod;
|
||||
var savable=get.info(card).savable;
|
||||
if(typeof savable=='function') savable=savable(card,player,event.player);
|
||||
return savable;
|
||||
})>=1+event.num-event.player.hp) return false;
|
||||
return true;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.removeMark('zhaosong_trick',1);
|
||||
player.removeSkill('zhaosong_trick');
|
||||
player.loseMaxHp();
|
||||
'step 1'
|
||||
if(player.hp<1) player.recover(1-player.hp);
|
||||
player.draw();
|
||||
},
|
||||
},
|
||||
equip:{
|
||||
marktext:'赋',
|
||||
intro:{
|
||||
name:'诏颂(赋)',
|
||||
name2:'赋',
|
||||
content:'出牌阶段开始时,你可移去“赋”并弃置一名角色区域内的一张牌,然后可以令其摸一张牌。',
|
||||
},
|
||||
trigger:{player:'phaseUseBegin'},
|
||||
direct:true,
|
||||
charlotte:true,
|
||||
onremove:true,
|
||||
filter:function(event,player){
|
||||
return player.hasMark('zhaosong_equip')&&game.hasPlayer(function(current){
|
||||
return current.hasCard(function(card){
|
||||
return lib.filter.canBeDiscarded(card,player,current);
|
||||
},'hej');
|
||||
});
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseTarget('是否弃置“赋”标记?','弃置一名角色区域内的一张牌,然后可以令其摸一张牌',function(card,player,current){
|
||||
return current.hasCard(function(card){
|
||||
return lib.filter.canBeDiscarded(card,player,current);
|
||||
},'hej');
|
||||
}).set('ai',function(target){
|
||||
var player=_status.event.player,att=get.attitude(player,target)>0?2:1;
|
||||
return get.effect(target,{name:'guohe_copy'},player,player)*att;
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
event.target=target;
|
||||
player.logSkill('zhaosong_equip',target);
|
||||
player.removeMark('zhaosong_equip',1);
|
||||
player.removeSkill('zhaosong_equip');
|
||||
player.discardPlayerCard(target,true,'hej');
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
if(target.isIn()){
|
||||
player.chooseBool('是否令'+get.translation(target)+'摸一张牌?').set('ai',function(){
|
||||
var evt=_status.event.getParent();
|
||||
return get.attitude(evt.player,evt.target)>0;
|
||||
});
|
||||
}
|
||||
else event.finish();
|
||||
'step 3'
|
||||
if(result.bool) target.draw();
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
lisi:{
|
||||
audio:2,
|
||||
trigger:{player:'useCardAfter'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
if(player==_status.currentPhase||!event.cards.filterInD().length) return false;
|
||||
var hs=player.countCards('h');
|
||||
return game.hasPlayer(function(current){
|
||||
return current!=player&¤t.countCards('h')<=hs;
|
||||
});
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseTarget(get.prompt('lisi'),'将'+get.translation(trigger.cards.filterInD())+'交给一名手牌数不大于你的其他角色',function(card,player,target){
|
||||
return target!=player&&target.countCards('h')<=player.countCards('h');
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
player.logSkill('lisi',target);
|
||||
target.gain(trigger.cards.filterInD(),'gain2');
|
||||
}
|
||||
},
|
||||
},
|
||||
//王荣
|
||||
olfengzi:{
|
||||
audio:2,
|
||||
|
@ -1189,63 +1396,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
trigger.cancel();
|
||||
},
|
||||
},
|
||||
//糜芳傅士仁
|
||||
mffengshi:{
|
||||
audio:2,
|
||||
audioname:['sp_mifangfushiren'],
|
||||
trigger:{
|
||||
player:'useCardToPlayered',
|
||||
target:'useCardToTargeted',
|
||||
},
|
||||
direct:true,
|
||||
preHidden:true,
|
||||
filter:function(event,player){
|
||||
if(event.player==event.target||event.targets.length!=1) return false;
|
||||
if(player!=event.player&&!player.hasSkill('mffengshi')) return false;
|
||||
return event.player.countCards('h')>event.target.countCards('h')&&event.target.countCards('he')>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
event.source=trigger.player;
|
||||
event.target=(player==trigger.target?trigger.player:trigger.target);
|
||||
var str;
|
||||
if(player==trigger.player) str='弃置自己的和该角色';
|
||||
else str='令其弃置其与你的';
|
||||
var next=trigger.player.chooseBool('是否对'+get.translation(trigger.target)+'发动【锋势】?',str+'的各一张牌,然后令'+get.translation(trigger.card)+'的伤害+1').set('ai',function(){
|
||||
var player=_status.event.getParent().player;
|
||||
var target=_status.event.getParent().target;
|
||||
var viewer=_status.event.player;
|
||||
if(viewer==player){
|
||||
if(get.attitude(viewer,target)>=0) return false;
|
||||
if(player.countCards('he',(card)=>get.value(card,player)<5)) return true;
|
||||
var card=_status.event.getTrigger().card;
|
||||
if((get.tag(card,'damage')||target.countCards('he',(card)=>get.value(card,target)>6))&&player.countCards('he',(card)=>get.value(card,player)<7)) return true;
|
||||
return false;
|
||||
}
|
||||
else{
|
||||
if(get.attitude(viewer,player)>=0) return false;
|
||||
if(!get.tag(card,'damage')) return false;
|
||||
if(viewer.countCards('he')>player.countCards('he')) return true;
|
||||
if(viewer.countCards('he',(card)=>get.value(card,target)>6)) return false;
|
||||
return true;
|
||||
}
|
||||
});
|
||||
if(player==next.player) next.setHiddenSkill('mffengshi');
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
if(player==source) player.logSkill('mffengshi',target);
|
||||
else{
|
||||
player.logSkill('mffengshi');
|
||||
source.line(player,'green');
|
||||
}
|
||||
if(get.tag(trigger.card,'damage')) trigger.getParent().baseDamage++;
|
||||
player.chooseToDiscard('he',true);
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
if(target.countDiscardableCards(player,'he')>0) player.discardPlayerCard(target,'he',true);
|
||||
},
|
||||
},
|
||||
//黄承彦
|
||||
guanxu:{
|
||||
enable:'phaseUse',
|
||||
|
@ -1488,9 +1638,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(get.type(i)=='basic'&&event.filterCard({name:i},player,event)){
|
||||
list.push(['基本','',i]);
|
||||
if(i=='sha'){
|
||||
list.push(['基本','',i,'fire']);
|
||||
list.push(['基本','',i,'thunder']);
|
||||
list.push(['基本','',i,'ice']);
|
||||
for(var j of lib.inpile_nature) list.push(['基本','','sha',j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2185,9 +2333,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(event.filterCard({name:name,isCard:true},player,event)){
|
||||
list.push([type,'',name]);
|
||||
if(name=='sha'){
|
||||
list.push([type,'',name,'fire']);
|
||||
list.push([type,'',name,'thunder']);
|
||||
list.push([type,'',name,'ice']);
|
||||
for(var j of lib.inpile_nature) list.push(['基本','','sha',j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -11449,11 +11595,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audio:2,
|
||||
trigger:{global:'useCardToTargeted'},
|
||||
filter:function(event,player){
|
||||
return event.card.name=='sha'&&get.distance(player,event.target)<=1;
|
||||
return event.card.name=='sha'&&get.distance(player,event.target)<=1&&event.target.isIn();
|
||||
},
|
||||
check:function(event,player){
|
||||
return get.attitude(player,event.target)>=0;
|
||||
},
|
||||
logTarget:'target',
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.draw();
|
||||
|
@ -12431,13 +12578,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var cards=player.getCards('h');
|
||||
target.gain(cards,player,'giveAuto');
|
||||
event.num=cards.length;
|
||||
game.delay();
|
||||
"step 3"
|
||||
target.chooseCard('选择还给'+get.translation(player)+'的牌',true,event.num);
|
||||
game.delay(0.2);
|
||||
var he=target.getCards('he');
|
||||
if(!he.length) event.finish();
|
||||
else if(he.length<=num) event._result={cards:he};
|
||||
else target.chooseCard('选择还给'+get.translation(player)+'的牌',true,event.num,'he');
|
||||
"step 4"
|
||||
player.gain(result.cards,target,'giveAuto');
|
||||
game.delay();
|
||||
},
|
||||
audio:2,
|
||||
},
|
||||
|
@ -15264,7 +15411,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dongbai:'OL董白',
|
||||
zhaoxiang:'赵襄',
|
||||
heqi:'贺齐',
|
||||
kanze:'阚泽',
|
||||
kanze:'OL阚泽',
|
||||
dongyun:'董允',
|
||||
mazhong:'马忠',
|
||||
huangfusong:'皇甫嵩',
|
||||
|
@ -15926,9 +16073,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
guanxu_info:'出牌阶段限一次,你可以观看一名其他角色的手牌,然后你可将其中一张手牌与牌堆顶5张牌中的一张交换。若如此做,你弃置其手牌中3张花色相同的牌。',
|
||||
yashi:'雅士',
|
||||
yashi_info:'当你受到一次伤害后,你可选择一项:1. 令伤害来源的非锁定技无效直到其下个回合开始;2. 对一名其他角色发动〖观虚〗。',
|
||||
sp_mifangfushiren:'糜芳傅士仁',
|
||||
mffengshi:'锋势',
|
||||
mffengshi_info:'当你使用牌指定唯一目标后,或成为其他角色使用牌的唯一目标后,若此牌使用者的手牌数大于此牌目标的手牌数,则此牌的使用者可令你弃置自己和对方的各一张牌,并令此牌的伤害值+1。',
|
||||
olwuniang:'武娘',
|
||||
olwuniang_info:'每回合限一次,当你于回合内使用的【杀】结算完成后,若此【杀】对应的目标数为1,则你可以令目标角色选择是否对你使用使用【杀】。你于其选择结算完成后摸一张牌,且本回合内使用【杀】的次数上限+1。',
|
||||
olxushen:'许身',
|
||||
|
@ -15963,8 +16107,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
oljizhan_info:'摸牌阶段开始时,你可以放弃摸牌。你展示牌堆顶的一张牌,并猜测牌堆顶的下一张牌点数大于或小于此牌。若你猜对,你可继续重复此流程。然后你获得以此法展示的所有牌。',
|
||||
olfusong:'赋颂',
|
||||
olfusong_info:'当你死亡时,你可以选择一名体力上限大于你的其他角色。其选择获得〖吉占〗或〖丰姿〗。',
|
||||
zuofen:'左棻',
|
||||
zhaosong:'诏颂',
|
||||
zhaosong_info:'一名其他角色的摸牌阶段结束时,若其没有因〖诏颂〗而获得的标记,则你可令其正面向上交给你一张手牌。根据此牌的类型,该角色获得对应的标记和效果:<br>锦囊牌:“诔”标记。当拥有者进入濒死状态时,其可弃置所有“诔”,减1点体力上限,将体力回复至1点并摸1张牌。<br>装备牌:“赋”标记。拥有者的出牌阶段开始时,其可弃置所有“赋”,弃置一名角色区域内的一张牌,然后可令其摸一张牌。<br>基本牌:“颂”标记。当使用者使用仅指定一个目标的【杀】时,其可弃置“颂”,为此【杀】增加至多两个目标。然后若此【杀】造成的伤害小于2,其失去1点体力。',
|
||||
lisi:'离思',
|
||||
lisi_info:'每当你于回合外使用牌的置入弃牌堆时,你可将其交给一名手牌数不大于你的其他角色。',
|
||||
|
||||
sp_default:"常规",
|
||||
sp_tianji:'天极·皇室宗亲',
|
||||
sp_sibi:'四弼·辅国文曲',
|
||||
sp_tianzhu:'天柱·势冠一方',
|
||||
sp_nvshi:'女史·留史巾帼',
|
||||
sp_shaowei:'少微·能人异士',
|
||||
sp_huben:'虎贲·勇冠三军',
|
||||
sp_liesi:'列肆·豪商巨贾',
|
||||
sp_default:"天同·同名异势",
|
||||
sp_qifu:'灯愿·祈福武将',
|
||||
sp_wanglang:'八萬·饶舌凤鹛',
|
||||
sp_tongque:"铜雀台",
|
||||
sp_zhongdan:"忠胆英杰",
|
||||
sp_guozhan:"国战",
|
||||
|
|
115
character/sp2.js
115
character/sp2.js
|
@ -4,6 +4,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
name:'sp2',
|
||||
connect:true,
|
||||
character:{
|
||||
sp_mifangfushiren:['male','shu',4,['mffengshi']],
|
||||
re_kanze:['male','wu',3,['xiashu','rekuanshi']],
|
||||
re_nanhualaoxian:['male','qun',4,['gongxiu','jinghe']],
|
||||
zhouyi:['female','wu',3,['zhukou','mengqing']],
|
||||
lvlingqi:['female','qun',4,['guowu','zhuangrong']],
|
||||
|
@ -106,10 +108,51 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
sp_fadong:['ol_dingyuan','wangrong','re_quyi','hanfu'],
|
||||
sp_xuzhou:['re_taoqian','caosong','zhangmiao','qiuliju'],
|
||||
sp_zhongyuan:['re_hucheer','re_zoushi','caoanmin'],
|
||||
sp_decade:['wulan','leitong','huaman','wangshuang','wenyang','re_liuzan','caobuxing','re_maliang','xin_baosanniang','re_xinxianying','dongxie','guozhao','fanyufeng','ruanyu','liangxing','re_niujin','re_dongzhao','re_dongcheng','yangwan','heyan','re_panshu','zhanghu','dufuren','zhouyi','re_nanhualaoxian','lvlingqi'],
|
||||
sp_binglin:['re_niujin',"sp_mifangfushiren"],
|
||||
sp_decade:['wulan','leitong','huaman','wangshuang','wenyang','re_liuzan','caobuxing','re_maliang','xin_baosanniang','re_xinxianying','dongxie','guozhao','fanyufeng','ruanyu','liangxing','re_dongzhao','re_dongcheng','yangwan','heyan','re_panshu','zhanghu','dufuren','zhouyi','re_nanhualaoxian','lvlingqi','re_kanze'],
|
||||
}
|
||||
},
|
||||
skill:{
|
||||
//阚泽
|
||||
rekuanshi:{
|
||||
audio:'kuanshi',
|
||||
trigger:{player:'phaseJieshuBegin'},
|
||||
direct:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseTarget(get.prompt2('rekuanshi')).set('animate',false).set('ai',function(target){
|
||||
var att=get.attitude(player,target);
|
||||
if(target.hp<3) att/=1.5;
|
||||
return att;
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
player.logSkill('rekuanshi');
|
||||
player.addTempSkill('rekuanshi_effect',{player:'phaseBegin'});
|
||||
player.storage.rekuanshi_effect=result.targets[0];
|
||||
game.delayx();
|
||||
}
|
||||
},
|
||||
subSkill:{
|
||||
effect:{
|
||||
audio:'kuanshi',
|
||||
trigger:{global:'damageEnd'},
|
||||
forced:true,
|
||||
charlotte:true,
|
||||
logTarget:'player',
|
||||
filter:function(event,player){
|
||||
if(event.player!=player.storage.rekuanshi_effect||event.player.isHealthy()) return false;
|
||||
var history=event.player.getHistory('damage',null,event),num=0;
|
||||
for(var i of history) num+=i.num;
|
||||
return num>1&&(num-event.num)<2;
|
||||
},
|
||||
content:function(){
|
||||
trigger.player.recover();
|
||||
player.removeSkill('rekuanshi_effect');
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
//南华老仙
|
||||
jinghe:{
|
||||
enable:'phaseUse',
|
||||
|
@ -10287,7 +10330,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player:"enterGame",
|
||||
},
|
||||
forced:true,
|
||||
filter:function(){
|
||||
filter:function(event){
|
||||
return game.players.length>1&&(event.name!='phase'||game.phaseNumber==0);
|
||||
},
|
||||
content:function(){
|
||||
|
@ -10426,6 +10469,63 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
},
|
||||
//糜芳傅士仁
|
||||
mffengshi:{
|
||||
audio:2,
|
||||
audioname:['sp_mifangfushiren'],
|
||||
trigger:{
|
||||
player:'useCardToPlayered',
|
||||
target:'useCardToTargeted',
|
||||
},
|
||||
direct:true,
|
||||
preHidden:true,
|
||||
filter:function(event,player){
|
||||
if(event.player==event.target||event.targets.length!=1) return false;
|
||||
if(player!=event.player&&!player.hasSkill('mffengshi')) return false;
|
||||
return event.player.countCards('h')>event.target.countCards('h')&&event.target.countCards('he')>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
event.source=trigger.player;
|
||||
event.target=(player==trigger.target?trigger.player:trigger.target);
|
||||
var str;
|
||||
if(player==trigger.player) str='弃置自己的和该角色';
|
||||
else str='令其弃置其与你的';
|
||||
var next=trigger.player.chooseBool('是否对'+get.translation(trigger.target)+'发动【锋势】?',str+'的各一张牌,然后令'+get.translation(trigger.card)+'的伤害+1').set('ai',function(){
|
||||
var player=_status.event.getParent().player;
|
||||
var target=_status.event.getParent().target;
|
||||
var viewer=_status.event.player;
|
||||
if(viewer==player){
|
||||
if(get.attitude(viewer,target)>=0) return false;
|
||||
if(player.countCards('he',(card)=>get.value(card,player)<5)) return true;
|
||||
var card=_status.event.getTrigger().card;
|
||||
if((get.tag(card,'damage')||target.countCards('he',(card)=>get.value(card,target)>6))&&player.countCards('he',(card)=>get.value(card,player)<7)) return true;
|
||||
return false;
|
||||
}
|
||||
else{
|
||||
if(get.attitude(viewer,player)>=0) return false;
|
||||
if(!get.tag(card,'damage')) return false;
|
||||
if(viewer.countCards('he')>player.countCards('he')) return true;
|
||||
if(viewer.countCards('he',(card)=>get.value(card,target)>6)) return false;
|
||||
return true;
|
||||
}
|
||||
});
|
||||
if(player==next.player) next.setHiddenSkill('mffengshi');
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
if(player==source) player.logSkill('mffengshi',target);
|
||||
else{
|
||||
player.logSkill('mffengshi');
|
||||
source.line(player,'green');
|
||||
}
|
||||
if(get.tag(trigger.card,'damage')) trigger.getParent().baseDamage++;
|
||||
player.chooseToDiscard('he',true);
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
if(target.countDiscardableCards(player,'he')>0) player.discardPlayerCard(target,'he',true);
|
||||
},
|
||||
},
|
||||
},
|
||||
card:{
|
||||
pyzhuren_heart:{
|
||||
|
@ -10575,6 +10675,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dufuren:'杜夫人(生卒年不详),东汉末年至三国时人。有异色,原为吕布将秦宜禄之妻,生子秦朗。后为曹操纳为妾,又生曹林、曹衮、金乡公主。',
|
||||
lvlingqi:'吕玲绮,虚拟人物,源于日本光荣株式会社(现光荣特库摩公司)旗下游戏《真·三国无双》系列,初次登场于《真三国无双7:猛将传》。吕布的女儿,寂寥而威风凛凛的战姬,发挥着不亚于父亲的武艺,非常勇敢地身先士卒立于前线。虽然有着能够直面困难的坚强意志,却由于过去的经历而有着非常害怕孤独的一面。',
|
||||
zhouyi:'周夷,游卡桌游旗下产品《三国杀》自行杜撰的人物。设定为周瑜的妹妹,和周瑜一同征战。',
|
||||
mifangfushiren:'麋芳(生卒年不详),字子方,东海郡朐县(今江苏省连云港市)人。汉末三国时期蜀国将领,刘备糜夫人的兄弟。麋芳本为徐州牧陶谦部下,曾被曹操表为彭城相。后来辞官,随刘备从徐州辗转至邺城、汝南、新野、长坂坡、江夏等地,奔波多年。傅士仁(生卒年不详),字君义,幽州广阳郡(今北京市)人,刘备手下将领。受到刘备的重用,但被关羽轻慢。<br>刘备称汉中王时,糜芳为南郡太守,但受到关羽的轻慢。后来,因未完成供给军资的任务而被关羽责骂,心中不安。吕蒙袭取荆州时,将已经投降的傅士仁展示给糜芳,麋芳于是选择投降,导致关羽兵败被杀。此后,在吴国担任将军,并且为吴征伐。',
|
||||
},
|
||||
characterTitle:{
|
||||
wulan:'#b对决限定武将',
|
||||
|
@ -10654,6 +10755,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
gexuan:['gexuan','tw_gexuan'],
|
||||
panshu:['panshu','re_panshu'],
|
||||
nanhualaoxian:['re_nanhualaoxian','nanhualaoxian'],
|
||||
kanze:['re_kanze','kanze'],
|
||||
},
|
||||
translate:{
|
||||
lijue:"李傕",
|
||||
|
@ -11175,7 +11277,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
yise:'异色',
|
||||
yise_info:'其他角色获得你的牌后,若这些牌中:有红色牌,你可令其回复1点体力;有黑色牌,其下次受到【杀】造成的伤害时,此伤害+1。',
|
||||
shunshi:'顺世',
|
||||
shunshi_info:'准备阶段开始时,或当你受到伤害后,你可将一张牌交给一名其他角色并获得如下效果直到你的回合结束:摸牌阶段的额定摸牌数+1,使用【杀】的次数上限+1,手牌上限+1。',
|
||||
shunshi_info:'准备阶段开始时,或当你受到伤害后,你可将一张牌交给一名不为伤害来源的其他角色并获得如下效果直到你的回合结束:摸牌阶段的额定摸牌数+1,使用【杀】的次数上限+1,手牌上限+1。',
|
||||
lvlingqi:'吕玲绮',
|
||||
guowu:'帼舞',
|
||||
guowu_info:'出牌阶段开始时,你可以展示全部手牌,根据你展示的类型数,你获得对应效果:至少一类,从弃牌堆获得一张【杀】;至少两类,此阶段使用牌无距离限制;至少三类,此阶段使用【杀】或普通锦囊牌可以多指定两个目标。',
|
||||
|
@ -11213,6 +11315,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
nhguanyue_info:'结束阶段,你可以观看牌堆顶两张牌,然后获得其中—张,另一张放回牌堆顶。',
|
||||
nhyanzheng:'言政',
|
||||
nhyanzheng_info:'准备阶段,若你的手牌数大于1,你可以保留一张手牌并弃置其余的牌,然后选择至多等于弃牌数量的角色,对这些角色各造成1点伤害。',
|
||||
re_kanze:'阚泽',
|
||||
rekuanshi:'宽释',
|
||||
rekuanshi_info:'结束阶段,你可以选择一名角色。你获得如下一次性效果直到你下回合开始:当其于一回合内受到第2点伤害后,其回复1点体力。',
|
||||
sp_mifangfushiren:'糜芳傅士仁',
|
||||
mffengshi:'锋势',
|
||||
mffengshi_info:'当你使用牌指定唯一目标后,或成为其他角色使用牌的唯一目标后,若此牌使用者的手牌数大于此牌目标的手牌数,则此牌的使用者可令你弃置自己和对方的各一张牌,并令此牌的伤害值+1。',
|
||||
|
||||
sp_whlw:"文和乱武",
|
||||
sp_zlzy:"逐鹿中原",
|
||||
|
@ -11228,6 +11336,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
sp_caizijiaren:'才子佳人',
|
||||
sp_qihuan:'戚宦之争',
|
||||
sp_zhongyuan:'中原狼烟',
|
||||
sp_binglin:'兵临城下',
|
||||
sp_decade:'其他新服武将',
|
||||
},
|
||||
};
|
||||
|
|
|
@ -2213,7 +2213,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return 4-get.value(card)
|
||||
},
|
||||
filterTarget:function(card,player,target){
|
||||
if(!target.hasSex('female')) return false;
|
||||
if(!target.hasSex('male')) return false;
|
||||
if(target.hp>=target.maxHp) return false;
|
||||
if(target==player) return false;
|
||||
return true;
|
||||
|
|
|
@ -1240,9 +1240,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(player.storage.xintaoluan.contains(name)) continue;
|
||||
if(name=='sha'){
|
||||
list.push(['基本','','sha']);
|
||||
list.push(['基本','','sha','fire']);
|
||||
list.push(['基本','','sha','thunder']);
|
||||
list.push(['基本','','sha','ice']);
|
||||
for(var j of lib.inpile_nature) list.push(['基本','','sha',j]);
|
||||
}
|
||||
else if(get.type(name)=='trick') list.push(['锦囊','',name]);
|
||||
else if(get.type(name)=='basic') list.push(['基本','',name]);
|
||||
|
@ -3932,9 +3930,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(player.storage.taoluan&&player.storage.taoluan.contains(name)) continue;
|
||||
if(name=='sha'){
|
||||
list.push(['基本','','sha']);
|
||||
list.push(['基本','','sha','fire']);
|
||||
list.push(['基本','','sha','thunder']);
|
||||
list.push(['基本','','sha','ice']);
|
||||
for(var j of lib.inpile_nature) list.push(['基本','','sha',j]);
|
||||
}
|
||||
else if(get.type(name)=='trick') list.push(['锦囊','',name]);
|
||||
else if(get.type(name)=='basic') list.push(['基本','',name]);
|
||||
|
@ -4501,9 +4497,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var name=lib.inpile[i];
|
||||
if(name=='sha'){
|
||||
list.push(['基本','','sha']);
|
||||
list.push(['基本','','sha','fire']);
|
||||
list.push(['基本','','sha','thunder']);
|
||||
list.push(['基本','','sha','ice']);
|
||||
for(var j of lib.inpile_nature) list.push(['基本','','sha',j]);
|
||||
}
|
||||
else if(get.type(name)=='basic') list.push(['基本','',name]);
|
||||
else if(player.countMark('xindanxin')>0&&get.type(name)=='trick') list.push(['锦囊','',name]);
|
||||
|
@ -4595,8 +4589,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}};
|
||||
if(event.filterCard(card,player,event)) list.push([type,'',i]);
|
||||
if(i=='sha'){
|
||||
var natures=['fire','thunder','ice'];
|
||||
for(var j of natures){
|
||||
for(var j of lib.inpile_nature){
|
||||
card.nature=j;
|
||||
if(event.filterCard(card,player,event)) list.push([type,'',i,j]);
|
||||
}
|
||||
|
@ -7335,9 +7328,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var list=[];
|
||||
if(!player.storage.huomo.sha&&event.filterCard({name:'sha'},player,event)){
|
||||
list.push(['基本','','sha']);
|
||||
list.push(['基本','','sha','fire']);
|
||||
list.push(['基本','','sha','thunder']);
|
||||
list.push(['基本','','sha','ice']);
|
||||
for(var j of lib.inpile_nature) list.push(['基本','','sha',j]);
|
||||
}
|
||||
if(!player.storage.huomo.tao&&event.filterCard({name:'tao'},player,event)){
|
||||
list.push(['基本','','tao']);
|
||||
|
|
|
@ -6,7 +6,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
character:{
|
||||
yangzhi:['female','jin',3,['wanyi','maihuo']],
|
||||
yangyan:['female','jin',3,['xuanbei','xianwan']],
|
||||
zuofen:['female','jin',3,['zhaosong','lisi'],['unseen']],
|
||||
ol_huaxin:['male','wei',3,['caozhao','olxibing']],
|
||||
zhongyan:['female','jin',3,['bolan','yifa']],
|
||||
weiguan:['male','jin',3,['zhongyun','shenpin']],
|
||||
|
@ -38,13 +37,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audio:2,
|
||||
enable:'phaseUse',
|
||||
filter:function(event,player){
|
||||
return player.hasCard(function(i){
|
||||
return player.getStorage('wanyi2').length<4&&player.hasCard(function(i){
|
||||
return get.is.yingbian(i);
|
||||
},'hs');
|
||||
},
|
||||
chooseButton:{
|
||||
dialog:function(){
|
||||
return ui.create.dialog('婉嫕',[['zhujinqiyuan','chuqibuyi','shuiyanqijunx','dongzhuxianji'],'vcard'],'unseen');
|
||||
dialog:function(event,player){
|
||||
var list=['zhujinqiyuan','chuqibuyi','shuiyanqijunx','dongzhuxianji'];
|
||||
list.removeArray(player.getStorage('wanyi2'))
|
||||
return ui.create.dialog('婉嫕',[list,'vcard'],'hidden');
|
||||
},
|
||||
filter:function(button,player){
|
||||
return lib.filter.filterCard({name:button.link[2]},player,_status.event.getParent());
|
||||
|
@ -66,6 +67,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return 1/Math.max(1,get.value(card));
|
||||
},
|
||||
position:'hs',
|
||||
onuse:function(links,player){
|
||||
if(!player.storage.wanyi2) player.storage.wanyi2=[];
|
||||
player.storage.wanyi2.add(links.card.name);
|
||||
player.addTempSkill('wanyi2');
|
||||
},
|
||||
}
|
||||
},
|
||||
prompt:function(links){
|
||||
|
@ -75,6 +81,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
subSkill:{backup:{}},
|
||||
ai:{order:8,result:{player:1}},
|
||||
},
|
||||
wanyi2:{onremove:true},
|
||||
maihuo:{
|
||||
audio:2,
|
||||
trigger:{target:'useCardToTargeted'},
|
||||
|
@ -84,6 +91,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
event.cards.filterInD().length>0&&event.targets.length==1&&
|
||||
event.player.isIn()&&(!event.player.storage.maihuo_effect||!event.player.storage.maihuo_effect.length);
|
||||
},
|
||||
prompt2:function(event){
|
||||
return '令'+get.translation(event.card)+'暂时对你无效';
|
||||
},
|
||||
check:function(event,player){
|
||||
return get.effect(player,event.card,event.player,player)<0;
|
||||
},
|
||||
|
@ -102,15 +112,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
forced:true,
|
||||
charlotte:true,
|
||||
filter:function(event,player){
|
||||
if(!player.storage.maihuo_effect||!player.storage.maihuo_effect.length) return false;
|
||||
var card=player.storage.maihuo_effect[0];
|
||||
if(card.name!='sha') card=get.autoViewAs({
|
||||
name:'sha',
|
||||
isCard:true,
|
||||
},player.storage.maihuo_effect);
|
||||
var target=player.storage.maihuo_target;
|
||||
if(!card||!target||!target.isIn()||!player.canUse(card,target,false)) return false;
|
||||
return true;
|
||||
return player.storage.maihuo_effect&&player.storage.maihuo_effect.length>0;
|
||||
},
|
||||
content:function(){
|
||||
var card=player.storage.maihuo_effect[0];
|
||||
|
@ -119,8 +121,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
isCard:true,
|
||||
},player.storage.maihuo_effect);
|
||||
var target=player.storage.maihuo_target;
|
||||
player.useCard(card,target,player.storage.maihuo_effect,false);
|
||||
if(target.isIn()&&player.canUse(card,target,null,true)){
|
||||
player.useCard(card,target,player.storage.maihuo_effect);
|
||||
delete player.storage.maihuo_effect;
|
||||
}
|
||||
player.removeSkill('maihuo_effect');
|
||||
},
|
||||
intro:{
|
||||
|
@ -171,7 +175,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
trigger:{player:'useCardAfter'},
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
return event.card.yingbian&&event.cards.filterInD().length>0;
|
||||
return (event.card.yingbian||get.is.yingbian(event.card))&&event.cards.filterInD().length>0;
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
|
@ -304,204 +308,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
},
|
||||
zhaosong:{
|
||||
trigger:{global:'phaseUseBegin'},
|
||||
logTarget:'player',
|
||||
filter:function(event,player){
|
||||
if(player==event.player||!event.player.countCards('h')) return false;
|
||||
var types=['basic','trick','equip'];
|
||||
for(var i of types){
|
||||
if(event.player.hasMark('zhaosong_'+i)) return false;
|
||||
}
|
||||
return true;
|
||||
},
|
||||
prompt2:'令其交给你一张手牌,并根据类型获得对应的标记',
|
||||
content:function(){
|
||||
'step 0'
|
||||
event.target=trigger.player;
|
||||
event.target.chooseCard('h',true,get.translation(player)+'发动了【诏颂】;请交给其一张手牌');
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var card=result.cards[0];
|
||||
player.gain(card,target,'give');
|
||||
var type=get.type2(card,target);
|
||||
if(lib.skill['zhaosong_'+type]){
|
||||
target.addSkill('zhaosong_'+type);
|
||||
target.addMark('zhaosong_'+type);
|
||||
}
|
||||
}
|
||||
},
|
||||
subSkill:{
|
||||
basic:{
|
||||
marktext:'颂',
|
||||
intro:{
|
||||
name:'诏颂(颂)',
|
||||
name2:'颂',
|
||||
content:'当你使用【杀】选择唯一目标时,你可移去“颂”,并为此【杀】增加至多两个目标。然后若此【杀】造成的伤害小于2,你失去1点体力。',
|
||||
},
|
||||
trigger:{player:'useCard2'},
|
||||
direct:true,
|
||||
charlotte:true,
|
||||
onremove:true,
|
||||
filter:function(event,player){
|
||||
return player.hasMark('zhaosong_basic')&&event.card.name=='sha'&&
|
||||
event.targets.length==1&&game.hasPlayer(function(current){
|
||||
return current!=player&¤t!=event.targets[0]&&lib.filter.targetEnabled2(event.card,player,current);
|
||||
});
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseTarget([1,2],'是否弃置“颂”标记?','为'+get.translation(trigger.card)+'增加至多两个目标',function(card,player,target){
|
||||
var evt=_status.event.getTrigger();
|
||||
return target!=player&&target!=evt.targets[0]&&lib.filter.targetEnabled2(evt.card,player,target);
|
||||
}).set('ai',function(target){
|
||||
var evt=_status.event.getTrigger();
|
||||
return get.effect(target,evt.card,evt.player,evt.player);
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
if(player!=event.player&&!player.isOnline()) game.delayx();
|
||||
player.addTempSkill('zhaosong_shaloss');
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
var targets=result.targets;
|
||||
player.logSkill('zhaosong_basic',targets);
|
||||
player.removeMark('zhaosong_basic',1);
|
||||
player.removeSkill('zhaosong_basic');
|
||||
trigger.targets.addArray(targets);
|
||||
trigger.zhaosong_basic=true;
|
||||
},
|
||||
},
|
||||
shaloss:{
|
||||
trigger:{player:'useCardAfter'},
|
||||
forced:true,
|
||||
charlotte:true,
|
||||
filter:function(event,player){
|
||||
if(!event.zhaosong_basic) return false;
|
||||
var num=0;
|
||||
player.getHistory('sourceDamage',function(evt){
|
||||
if(evt.card==event.card) num+=evt.num;
|
||||
});
|
||||
return num<2;
|
||||
},
|
||||
content:function(){
|
||||
player.loseHp();
|
||||
},
|
||||
},
|
||||
trick:{
|
||||
marktext:'诔',
|
||||
intro:{
|
||||
name:'诏颂(诔)',
|
||||
name2:'诔',
|
||||
content:'当你进入濒死状态时,你可移去“诔”并减1点体力上限,然后将体力回复至1点并摸一张牌。',
|
||||
},
|
||||
trigger:{player:'dying'},
|
||||
prompt:'是否弃置“诔”标记?',
|
||||
prompt2:'减1点体力上限,然后回复体力至1点并摸一张牌。',
|
||||
charlotte:true,
|
||||
onremove:true,
|
||||
filter:function(event,player){
|
||||
return player.hasMark('zhaosong_trick')&&player.hp<1;
|
||||
},
|
||||
check:function(event,player){
|
||||
if(player.maxHp<2||player.countCards('h',function(card){
|
||||
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
||||
if(mod2!='unchanged') return mod2;
|
||||
var mod=game.checkMod(card,player,event.player,'unchanged','cardSavable',player);
|
||||
if(mod!='unchanged') return mod;
|
||||
var savable=get.info(card).savable;
|
||||
if(typeof savable=='function') savable=savable(card,player,event.player);
|
||||
return savable;
|
||||
})>=1+event.num-event.player.hp) return false;
|
||||
return true;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.removeMark('zhaosong_trick',1);
|
||||
player.removeSkill('zhaosong_trick');
|
||||
player.loseMaxHp();
|
||||
'step 1'
|
||||
if(player.hp<1) player.recover(1-player.hp);
|
||||
player.draw();
|
||||
},
|
||||
},
|
||||
equip:{
|
||||
marktext:'赋',
|
||||
intro:{
|
||||
name:'诏颂(赋)',
|
||||
name2:'赋',
|
||||
content:'出牌阶段开始时,你可移去“赋”并弃置一名角色区域内的一张牌,然后可以令其摸一张牌。',
|
||||
},
|
||||
trigger:{player:'phaseUseBegin'},
|
||||
direct:true,
|
||||
charlotte:true,
|
||||
onremove:true,
|
||||
filter:function(event,player){
|
||||
return player.hasMark('zhaosong_equip')&&game.hasPlayer(function(current){
|
||||
return current.hasCard(function(card){
|
||||
return lib.filter.canBeDiscarded(card,player,current);
|
||||
},'hej');
|
||||
});
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseTarget('是否弃置“赋”标记?','弃置一名角色区域内的一张牌,然后可以令其摸一张牌',function(card,player,current){
|
||||
return current.hasCard(function(card){
|
||||
return lib.filter.canBeDiscarded(card,player,current);
|
||||
},'hej');
|
||||
}).set('ai',function(target){
|
||||
var player=_status.event.player,att=get.attitude(player,target)>0?2:1;
|
||||
return get.effect(target,{name:'guohe_copy'},player,player)*att;
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
event.target=target;
|
||||
player.logSkill('zhaosong_equip',target);
|
||||
player.removeMark('zhaosong_equip',1);
|
||||
player.removeSkill('zhaosong_equip');
|
||||
player.discardPlayerCard(target,true,'hej');
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
if(target.isIn()){
|
||||
player.chooseBool('是否令'+get.translation(target)+'摸一张牌?').set('ai',function(){
|
||||
var evt=_status.event.getParent();
|
||||
return get.attitude(evt.player,evt.target)>0;
|
||||
});
|
||||
}
|
||||
else event.finish();
|
||||
'step 3'
|
||||
if(result.bool) target.draw();
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
lisi:{
|
||||
audio:2,
|
||||
trigger:{player:'useCardAfter'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
if(player==_status.currentPhase||!event.cards.filterInD().length) return false;
|
||||
var hs=player.countCards('h');
|
||||
return game.hasPlayer(function(current){
|
||||
return current!=player&¤t.countCards('h')<=hs;
|
||||
});
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseTarget(get.prompt('lisi'),'将'+get.translation(trigger.cards.filterInD())+'交给一名手牌数不大于你的其他角色',function(card,player,target){
|
||||
return target!=player&&target.countCards('h')<=player.countCards('h');
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
player.logSkill('lisi',target);
|
||||
target.gain(trigger.cards.filterInD(),'gain2');
|
||||
}
|
||||
},
|
||||
},
|
||||
caozhao:{
|
||||
audio:2,
|
||||
enable:'phaseUse',
|
||||
|
@ -1417,6 +1223,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return num>target.hp||num<Math.min(5,target.hp);
|
||||
});
|
||||
},
|
||||
hiddenSkill:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseTarget('请选择【慧容】的目标','令一名角色将手牌数摸至/弃置至与其体力值相同(至多摸至五张)',true,function(card,player,target){
|
||||
|
@ -2696,7 +2503,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
cheliji:'彻里吉是历史小说《三国演义》中的虚构人物,西羌国王。蜀相诸葛亮伐魏,魏都督曹真驰书赴羌,国王彻里吉即命雅丹丞相与越吉元帅起羌兵一十五万、并战车直扣西平关。后军大败,越吉亡,雅丹被俘,亮将所获羌兵及车马器械,尽给还雅丹,俱放回国。彻里吉感蜀恩义,与之结盟。正史中没有关于彻里吉的记载。',
|
||||
weiguan:'卫瓘(220年-291年),字伯玉。河东郡安邑县(今山西省夏县)人。三国曹魏后期至西晋初年重臣、书法家,曹魏尚书卫觊之子。卫瓘出身官宦世家,年轻时仕官于曹魏,历任尚书郎、散骑常侍、侍中、廷尉等职。后以镇西军司、监军身份参与伐蜀战争。蜀汉亡后,与钟会一道逮捕邓艾;钟会谋反时,又成功平息叛乱,命田续杀邓艾父子。回师后转任督徐州诸军事、镇东将军,封菑阳侯。西晋建立后,历任青州、幽州刺史、征东大将军等职,成功化解北方边境威胁,因功进爵菑阳公。后入朝为尚书令、侍中,又升任司空,领太子少傅。后逊位,拜太保。晋惠帝即位后,与贾皇后对立,终在政变中满门遇害,享年七十二岁。卫瓘善隶书及章草。不仅兼工各体,还能学古人之长,是颇有创意的书法家。唐朝张怀瓘《书断》中评其章草为“神品”。',
|
||||
zhongyan:' 钟琰 (?—?年)颍川人,王浑之妻。生卒年不详,约魏末晋初间前后在世。王浑的妻子钟琰,是颍川人,为魏太傅钟繇的曾孙女,父亲钟徽,为黄门郎。她平时广泛阅读各种书籍,因此几岁的时候就能撰写文章。她聪慧弘雅,善于啸咏,她的礼仪法度,为中表所推崇,她写有文集五卷。',
|
||||
zuofen:'左芬(约253年-300年4月23日),出土墓志作左棻,字兰芝,齐国临淄(今山东临淄)人,西晋诗人。少好学,善属文。为晋武帝贵人。今存诗、赋、颂、赞、诔等20余篇,大都为应诏而作,《离思赋》最著名。原有集,已失传。',
|
||||
yangyan:'杨艳(238年-274年8月25日),字琼芝,弘农郡华阴县(今陕西省华阴市)人,晋武帝司马炎第一任皇后,曹魏通事郎杨炳之女。自幼父母双亡,为舅舅赵俊所养,跟随继母段氏生活。聪明贤慧,善于书法,天生丽质,娴熟女红,嫁给了世子司马炎。泰始元年(265年),晋武帝即位,建立西晋。泰始二年(266年),杨艳受册为皇后,深得晋武帝宠幸,生下三子三女,包括晋惠帝司马衷。泰始十年(274年),去世,时年三十七,陪葬于峻阳陵,谥号武元皇后。',
|
||||
yangzhi:'杨芷(259年-292年3月6日),字季兰,小字男胤,弘农郡华阴县(今陕西省华阴市)人,晋武帝司马炎第二任皇后,东汉太尉杨震幼子杨奉后裔,东汉末年东莱太守、蓩亭侯杨众曾孙女,西晋太傅杨骏与嫡妻庞氏之女,武元皇后杨艳堂妹。咸宁二年(276年),立为皇后,史称“婉嫕有妇德, 美映椒房”,得宠于晋武帝。生渤海殇王,早薨,之后再无生育。其父杨骏擅权引起皇后贾南风忌恨,贾南风联络汝南王司马亮、楚王司马玮发动政变,杀死杨骏,并唆使大臣上书状告杨芷谋反,让晋惠帝司马衷将其贬为庶人,押到金墉城居住。元康二年(292年),杨芷冻饿而死,谥号武悼皇后。',
|
||||
},
|
||||
|
@ -2845,11 +2651,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
caozhao_info:'出牌阶段限一次,你可展示一张手牌并声明一种未以此法声明过的基本牌或普通锦囊牌,令一名体力不大于你的其他角色选择一项:令此牌视为你声明的牌,或其失去1点体力。然后若此牌声明成功,然后你可将其交给一名其他角色。',
|
||||
olxibing:'息兵',
|
||||
olxibing_info:'每当你受到其他角色造成的伤害后/对其他角色造成伤害后,你可弃置你或该角色两张牌,然后你们中手牌少的角色摸两张牌,以此法摸牌的角色不能使用牌指定你为目标直到回合结束。',
|
||||
zuofen:'左棻',
|
||||
zhaosong:'诏颂',
|
||||
zhaosong_info:'一名其他角色于其出牌阶段开始时,若其没有标记,你可令其正面向上交给你一张手牌,然后根据此牌的类型,令该角色获得对应的标记:锦囊牌,“诔”标记;装备牌,“赋”标记;基本牌,“颂”标记。进入濒死时,你可弃置"诔",减少一点体力上限,回复至1体力并摸1张牌;出牌阶段开始时,你可弃置“赋”,弃置一名角色区域内的一张牌,然后可令其摸一张牌;你使用仅指定一个目标的【杀】时,可弃置“颂”为此【杀】额外选择至多两个目标,然后若此【杀】造成的伤害小于2,你失去1点体力。',
|
||||
lisi:'离思',
|
||||
lisi_info:'每当你于回合外使用牌的置入弃牌堆时,你可将其交给一名手牌数不大于你的其他角色。',
|
||||
recaiwang:'才望',
|
||||
recaiwang_info:'①当你使用或打出牌响应其他角色使用的牌,或其他角色使用或打出牌响应你使用的牌后,若这两张牌颜色相同,则你可以弃置对方的一张牌。②若你的手牌数为1,则你可以将该手牌当做【闪】使用或打出。③若你的装备区牌数为1,则你可以将该装备当做【无懈可击】使用或打出。④若你的判定区牌数为1,则你可以将该延时锦囊牌当做【杀】使用或打出。',
|
||||
recaiwang_hand:'才望',
|
||||
|
@ -2857,14 +2658,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
recaiwang_judge:'才望',
|
||||
yangyan:'杨艳',
|
||||
xuanbei:'选备',
|
||||
xuanbei_info:'①游戏开始时,你从牌堆中获得两张具有应变标签的牌。②每回合限一次。当你使用的满足应变效果的牌结算结束后,你可将此牌对应的所有实体牌交给一名其他角色。',
|
||||
xuanbei_info:'①游戏开始时,你从牌堆中获得两张具有应变标签的牌。②每回合限一次。当你使用的具有应变标签的牌结算结束后,你可将此牌对应的所有实体牌交给一名其他角色。',
|
||||
xianwan:'娴婉',
|
||||
xianwan_info:'①当你需要使用【闪】时,若你的武将牌未横置,则你可以横置武将牌并视为使用【闪】。②当你需要使用【杀】时,若你的武将牌横置,则你可以横置武将牌并视为使用【杀】。',
|
||||
yangzhi:'杨芷',
|
||||
wanyi:'婉嫕',
|
||||
wanyi_info:'出牌阶段,你可以将一张具有应变效果的牌当做【逐近弃远】/【出其不意】/【水淹七军】/【洞烛先机】使用。',
|
||||
wanyi_info:'每回合每项限一次。出牌阶段,你可以将一张具有应变效果的牌当做【逐近弃远】/【出其不意】/【水淹七军】/【洞烛先机】使用。',
|
||||
maihuo:'埋祸',
|
||||
maihuo_info:'①当你成为其他角色使用【杀】的目标后,若此【杀】不为转化牌且有对应的实体牌且其武将牌上没有“祸”且你是此牌的唯一目标,则你可以令此牌对你无效,并将此【杀】置于其武将牌上,称为“祸”。②一名其他角色的出牌阶段开始时,若其武将牌上有“祸”,则其对你使用此“祸”。③当你对有“祸”的其他角色造成伤害后,你移去其“祸”。',
|
||||
maihuo_info:'①当你成为其他角色使用【杀】的目标后,若此【杀】不为转化牌且有对应的实体牌且其武将牌上没有“祸”且你是此牌的唯一目标,则你可以令此牌对你无效,并将此【杀】置于其武将牌上,称为“祸”。②一名其他角色的出牌阶段开始时,若其武将牌上有“祸”,则其对你使用此“祸”(有距离限制且计入次数限制)。③当你对有“祸”的其他角色造成伤害后,你移去其“祸”。',
|
||||
|
||||
yingbian_pack1:'文德武备·理',
|
||||
yingbian_pack2:'文德武备·备',
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
window.noname_asset_list=[
|
||||
'v1.9.110.10',
|
||||
'v1.9.110.10.1',
|
||||
'audio/background/aozhan_chaoming.mp3',
|
||||
'audio/background/aozhan_online.mp3',
|
||||
'audio/background/aozhan_rewrite.mp3',
|
||||
|
@ -4638,6 +4638,7 @@ window.noname_asset_list=[
|
|||
'image/character/zhouyi.jpg',
|
||||
'image/character/yangyan.jpg',
|
||||
'image/character/yangzhi.jpg',
|
||||
'image/character/zuofen.jpg',
|
||||
|
||||
'image/character/baiwuchang.jpg',
|
||||
'image/character/baosanniang.jpg',
|
||||
|
|
29
game/game.js
29
game/game.js
|
@ -79,6 +79,7 @@
|
|||
arenaReady:[],
|
||||
onfree:[],
|
||||
inpile:[],
|
||||
inpile_nature:[],
|
||||
extensions:[],
|
||||
extensionPack:{},
|
||||
cardType:{},
|
||||
|
@ -27708,6 +27709,7 @@
|
|||
_status.mode=state.mode;
|
||||
_status.renku=state.renku;
|
||||
lib.inpile=state.inpile;
|
||||
lib.inpile_nature=state.inpile_nature;
|
||||
var pos=state.players[observe||game.onlineID].position;
|
||||
for(var i in state.players){
|
||||
var info=state.players[i];
|
||||
|
@ -27995,7 +27997,7 @@
|
|||
},
|
||||
suit:['club','spade','diamond','heart'],
|
||||
group:['wei','shu','wu','qun','jin','shen'],
|
||||
nature:['fire','thunder','poison','kami','ice','stab'],
|
||||
nature:['fire','thunder','kami','ice','stab','poison'],
|
||||
linked:['fire','thunder','kami','ice'],
|
||||
groupnature:{
|
||||
shen:'thunder',
|
||||
|
@ -31291,7 +31293,10 @@
|
|||
else{
|
||||
node.style.transform='rotate('+(-deg)+'deg) scaleY(0)';
|
||||
node.style.height=get.xyDistance(from,to)+'px';
|
||||
if(game.chess){
|
||||
if(get.objtype(arguments[1])=='div'){
|
||||
arguments[1].appendChild(node);
|
||||
}
|
||||
else if(game.chess){
|
||||
ui.chess.appendChild(node);
|
||||
}
|
||||
else{
|
||||
|
@ -45126,19 +45131,24 @@
|
|||
if(game.bannedcards&&game.bannedcards.contains(lib.card.list[i][2])) continue;
|
||||
}
|
||||
lib.inpile.add(lib.card.list[i][2]);
|
||||
if(lib.card.list[i][2]=='sha'&&lib.card.list[i][3]) lib.inpile_nature.add(lib.card.list[i][3]);
|
||||
ui.create.card(ui.cardPile).init(lib.card.list[i]);
|
||||
}
|
||||
}
|
||||
lib.inpile.sort(lib.sort.card);
|
||||
lib.inpile_nature.sort(function(a,b){
|
||||
return lib.nature.indexOf(a)-lib.nature.indexOf(b);
|
||||
})
|
||||
for(var i in _status.cardtag){
|
||||
if(!_status.cardtag[i].length) delete _status.cardtag[i];
|
||||
}
|
||||
game.broadcastAll(function(num,pile,top,cardtag){
|
||||
game.broadcastAll(function(num,pile,top,cardtag,inpile2){
|
||||
if(ui.cardPileNumber) ui.cardPileNumber.innerHTML='0轮 剩余牌: '+num;
|
||||
lib.inpile=pile;
|
||||
_status.pileTop=top;
|
||||
_status.cardtag=cardtag;
|
||||
},ui.cardPile.childNodes.length,lib.inpile,ui.cardPile.firstChild,_status.cardtag);
|
||||
lib.inpile_nature=inpile2;
|
||||
},ui.cardPile.childNodes.length,lib.inpile,ui.cardPile.firstChild,_status.cardtag,lib.inpile_nature);
|
||||
},
|
||||
},
|
||||
click:{
|
||||
|
@ -50303,6 +50313,7 @@
|
|||
roomId:game.roomId,
|
||||
over:_status.over,
|
||||
inpile:lib.inpile,
|
||||
inpile_nature:lib.inpile_nature,
|
||||
renku:_status.renku,
|
||||
};
|
||||
for(var i in lib.playerOL){
|
||||
|
@ -51992,7 +52003,7 @@
|
|||
uiintro.addText(get.colorspan(lib.characterTitle[node.name]));
|
||||
}
|
||||
|
||||
if(node.isUnderControl()||(!game.observe&&game.me&&game.me.hasSkillTag('viewHandcard',null,node,true))){
|
||||
if(!node.noclick&&(node.isUnderControl()||(!game.observe&&game.me&&game.me.hasSkillTag('viewHandcard',null,node,true)))){
|
||||
var hs=node.getCards('h');
|
||||
if(hs.length){
|
||||
uiintro.add('<div class="text center">手牌</div>');
|
||||
|
@ -52644,7 +52655,13 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
if(lib.translate[name+'_info']){
|
||||
if(lib.card[name].cardPrompt){
|
||||
var str=lib.card[name].cardPrompt(node.link||node),placetext=uiintro.add('<div class="text" style="display:inline">'+str+'</div>');
|
||||
if(str.indexOf('<div class="skill"')!=0){
|
||||
uiintro._place_text=placetext;
|
||||
}
|
||||
}
|
||||
else if(lib.translate[name+'_info']){
|
||||
var placetext=uiintro.add('<div class="text" style="display:inline">'+lib.translate[name+'_info']+'</div>');
|
||||
if(lib.translate[name+'_info'].indexOf('<div class="skill"')!=0){
|
||||
uiintro._place_text=placetext;
|
||||
|
|
|
@ -5,7 +5,7 @@ window.noname_package={
|
|||
shenhua:'神话再临',
|
||||
xinghuoliaoyuan:'星火燎原',
|
||||
yijiang:'一将成名',
|
||||
sp:'SP',
|
||||
sp:'璀璨星河',
|
||||
yingbian:'文德武备',
|
||||
sp2:'系列专属',
|
||||
extra:'神将',
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
window.noname_update={
|
||||
version:'1.9.110.10',
|
||||
update:'1.9.110.9.4',
|
||||
version:'1.9.110.10.1',
|
||||
update:'1.9.110.10',
|
||||
changeLog:[
|
||||
'杨艳、杨芷',
|
||||
'用间篇卡牌包',
|
||||
'左棻',
|
||||
'SP包更名',
|
||||
'bug修复',
|
||||
],
|
||||
files:[
|
||||
//'card/extra.js',
|
||||
'card/extra.js',
|
||||
//'card/gujian.js',
|
||||
//'card/guozhan.js',
|
||||
//'card/gwent.js',
|
||||
//'card/huanlekapai.js',
|
||||
//'card/mtg.js',
|
||||
'card/sp.js',
|
||||
//'card/sp.js',
|
||||
'card/standard.js',
|
||||
//'card/swd.js',
|
||||
//'card/yunchou.js',
|
||||
//'card/yingbian.js',
|
||||
'card/yongjian.js',
|
||||
//'card/zhenfa.js',
|
||||
'card/zhulu.js',
|
||||
//'card/zhulu.js',
|
||||
'character/diy.js',
|
||||
'character/extra.js',
|
||||
//'character/hearth.js',
|
||||
|
@ -29,7 +29,7 @@ window.noname_update={
|
|||
//'character/hearth.js',
|
||||
'character/mobile.js',
|
||||
//'character/mtg.js',
|
||||
//'character/offline.js',
|
||||
'character/offline.js',
|
||||
//'character/old.js',
|
||||
//'character/ow.js',
|
||||
'character/rank.js',
|
||||
|
@ -51,7 +51,7 @@ window.noname_update={
|
|||
//'layout/default/menu.css',
|
||||
//'layout/nova/layout.css',
|
||||
//'layout/mobile/equip.css',
|
||||
//'mode/boss.js',
|
||||
'mode/boss.js',
|
||||
'mode/brawl.js',
|
||||
//'mode/chess.js',
|
||||
//'mode/connect.js',
|
||||
|
@ -65,7 +65,7 @@ window.noname_update={
|
|||
'game/game.js',
|
||||
//'game/keyWords.js',
|
||||
//'game/NoSleep.js',
|
||||
'game/config.js',
|
||||
//'game/config.js',
|
||||
'game/package.js',
|
||||
//'game/asset.js',
|
||||
//'game/source.js',
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 159 KiB |
Binary file not shown.
After Width: | Height: | Size: 132 KiB |
|
@ -7060,7 +7060,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
trigger:{global:'phaseZhunbeiBegin'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return event.player!=player&&event.player.countCards('he')>1;
|
||||
return event.player!=player&&(event.player.countCards('h')>1||event.player.countCards('e')>1);
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
|
@ -7516,8 +7516,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
boss_zuijiu:{
|
||||
trigger:{source:'damageBegin1'},
|
||||
filter:function(event){
|
||||
return event.card&&(event.card.name=='sha'||event.card.name=='juedou')&&
|
||||
event.parent.name!='_lianhuan'&&event.parent.name!='_lianhuan2';
|
||||
return event.card&&event.card.name=='sha'&&event.getParent().name=='sha';
|
||||
},
|
||||
forced:true,
|
||||
content:function(){
|
||||
|
@ -9402,7 +9401,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
boss_mengtai:'萌态',
|
||||
boss_mengtai_info:'锁定技,若你的出牌阶段被跳过,你跳过本回合的弃牌阶段;若你的摸牌阶段被跳过,结束阶段开始时,你摸三张牌',
|
||||
boss_ruizhi:'睿智',
|
||||
boss_ruizhi_info:'锁定技,其他角色的准备阶段开始时,其选择一张手牌和一张装备区里的牌,然后弃置其余的牌',
|
||||
boss_ruizhi_info:'锁定技,其他角色的准备阶段开始时,其选择一张手牌和一张装备区里的牌,然后弃置其余的牌。',
|
||||
boss_jingjue:'警觉',
|
||||
boss_jingjue_info:'每当你于回合外失去牌时,你可以进行一次判定,若结果为红色,你回复1点体力',
|
||||
boss_renxing:'任性',
|
||||
|
@ -9436,7 +9435,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
boss_danshu_info:'每当你于回合外失去牌时,你可以进行一次判定,若结果为红色,你回复1点体力',
|
||||
|
||||
boss_zuijiu:'醉酒',
|
||||
boss_zuijiu_info:'锁定技,你的【杀】额外造成1点伤害',
|
||||
boss_zuijiu_info:'锁定技,你因【杀】造成伤害时,此伤害+1。',
|
||||
boss_taiping:'太平',
|
||||
boss_taiping_info:'锁定技,摸牌阶段摸牌时,你的摸牌数量+2',
|
||||
boss_suoming:'索命',
|
||||
|
|
|
@ -1604,12 +1604,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
player1=this.player1;
|
||||
player2=this.player2;
|
||||
}
|
||||
var rect1=player1.getBoundingClientRect();
|
||||
var rect2=player2.getBoundingClientRect();
|
||||
var left1=rect1.left+rect1.width/2-ui.arena.offsetLeft;
|
||||
var left2=rect2.left+rect2.width/2-ui.arena.offsetLeft;
|
||||
var top1=rect1.top+rect1.height/2-ui.arena.offsetTop;
|
||||
var top2=rect2.top+rect2.height/2-ui.arena.offsetTop;
|
||||
|
||||
var createCard=function(wuxie){
|
||||
var card;
|
||||
|
@ -1628,7 +1622,12 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
|
||||
var func=function(){
|
||||
game.linexy([left1,top1,left2,top2]);
|
||||
game.linexy([
|
||||
player1.getLeft()+player1.offsetWidth/2,
|
||||
player1.getTop()+player1.offsetHeight/2,
|
||||
player2.getLeft()+player2.offsetWidth/2,
|
||||
player2.getTop()+player2.offsetHeight/2,
|
||||
],node);
|
||||
var card=createCard(true);
|
||||
card.style.left='43px';
|
||||
card.style.top='58px';
|
||||
|
@ -1660,7 +1659,12 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
setTimeout(function(){
|
||||
if(!node.showcaseinterval) return;
|
||||
player2.node.count.innerHTML='1';
|
||||
game.linexy([left2,top2,left1,top1]);
|
||||
game.linexy([
|
||||
player2.getLeft()+player2.offsetWidth/2,
|
||||
player2.getTop()+player2.offsetHeight/2,
|
||||
player1.getLeft()+player1.offsetWidth/2,
|
||||
player1.getTop()+player1.offsetHeight/2,
|
||||
],node);
|
||||
var card=createCard(true);
|
||||
card.style.left='auto';
|
||||
card.style.right='43px';
|
||||
|
@ -2917,7 +2921,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
else{
|
||||
player1=this.player1;
|
||||
}
|
||||
var rect1=player1.getBoundingClientRect();
|
||||
var func=function(){
|
||||
var player2=ui.create.player(null,true).init('caiyang');
|
||||
player2.node.marks.remove();
|
||||
|
@ -2932,14 +2935,15 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
ui.refresh(player2);
|
||||
player2.style.opacity=1;
|
||||
player2.style.transform='scale(0.9)';
|
||||
var rect2=player2.getBoundingClientRect();
|
||||
var left1=rect1.left+rect1.width/2-ui.arena.offsetLeft;
|
||||
var left2=rect2.left+rect2.width/2-ui.arena.offsetLeft;
|
||||
var top1=rect1.top+rect1.height/2-ui.arena.offsetTop;
|
||||
var top2=rect2.top+rect2.height/2-ui.arena.offsetTop;
|
||||
setTimeout(function(){
|
||||
if(!player2) return;
|
||||
game.linexy([left1,top1,left2,top2]);
|
||||
game.linexy([
|
||||
player1.getLeft()+player1.offsetWidth/2,
|
||||
player1.getTop()+player1.offsetHeight/2,
|
||||
player2.getLeft()+player2.offsetWidth/2,
|
||||
player2.getTop()+player2.offsetHeight/2,
|
||||
],node);
|
||||
setTimeout(function(){
|
||||
var popup=ui.create.div('.damage');
|
||||
popup.innerHTML='-1';
|
||||
popup.dataset.nature='soil';
|
||||
|
@ -2949,15 +2953,16 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
popup.listenTransition(function(){
|
||||
setTimeout(function(){
|
||||
popup.delete();
|
||||
},200);
|
||||
},300);
|
||||
});
|
||||
},250)
|
||||
},600);
|
||||
setTimeout(function(){
|
||||
if(!player2) return;
|
||||
player2.style.transition='all 0.5s';
|
||||
player2.style.transform='scale(1.2)';
|
||||
player2.delete();
|
||||
},1100);
|
||||
},1200);
|
||||
};
|
||||
node.showcaseinterval=setInterval(func,2600);
|
||||
func();
|
||||
|
@ -3487,8 +3492,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
].randomGet();
|
||||
}
|
||||
if(init){
|
||||
player1=ui.create.player(null,true).init(list[0]);
|
||||
player2=ui.create.player(null,true).init(list[1]);
|
||||
player1=ui.create.player(null,true);
|
||||
player2=ui.create.player(null,true);
|
||||
player1.node.marks.remove();
|
||||
player1.node.hp.remove();
|
||||
player2.node.marks.remove();
|
||||
|
@ -3513,8 +3518,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
var player3,player4;
|
||||
if(init){
|
||||
player3=ui.create.player(null,true).init(list[3]);
|
||||
player4=ui.create.player(null,true).init(list[2]);
|
||||
player3=ui.create.player(null,true);
|
||||
player4=ui.create.player(null,true);
|
||||
player3.node.marks.remove();
|
||||
player3.node.hp.remove();
|
||||
player4.node.marks.remove();
|
||||
|
@ -3537,6 +3542,10 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
player3=this.player3;
|
||||
player4=this.player4;
|
||||
}
|
||||
player1.init(list[0]);
|
||||
player2.init(list[1]);
|
||||
player3.init(list[3]);
|
||||
player4.init(list[2]);
|
||||
},
|
||||
intro:['双方使用特定的武将,搭配特定的技能,还原特定的经典场景'],
|
||||
content:{
|
||||
|
|
|
@ -3379,8 +3379,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
var switchToAuto=function(){
|
||||
_status.imchoosing=false;
|
||||
var listn=['普通','fire','thunder'];
|
||||
if(_status.mode=='yingbian') listn.add('ice');
|
||||
var listn=['普通'].concat(lib.inpile_nature);
|
||||
event._result={
|
||||
bool:true,
|
||||
suit:lib.suit.randomGet(),
|
||||
|
@ -3430,8 +3429,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
table2.style.margin='0';
|
||||
table2.style.width='100%';
|
||||
table2.style.position='relative';
|
||||
var listn=['普通','fire','thunder'];
|
||||
if(_status.mode=='yingbian') listn.add('ice');
|
||||
var listn=['普通'].concat(lib.inpile_nature);
|
||||
for(var i=0;i<listn.length;i++){
|
||||
var td=ui.create.div('.shadowed.reduce_radius.pointerdiv.tdnode');
|
||||
var nature=listn[i];
|
||||
|
@ -9776,13 +9774,14 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
else{
|
||||
event.targets=targets;
|
||||
target.chooseBool('是否发起【拉拢人心】?','令所有其他不为君主/暴露野心家的角色依次选择是否与你结盟。第一个选择加入的人将势力和胜利条件改为与你相同');
|
||||
source.chooseBool('是否发起【拉拢人心】?','令所有其他不为君主/暴露野心家的角色依次选择是否与你结盟。第一个选择加入的人将势力和胜利条件改为与你相同');
|
||||
}
|
||||
'step 4'
|
||||
if(!result.bool){
|
||||
if(event.targets2.length) event.goto(3);
|
||||
return;
|
||||
}
|
||||
'step 5'
|
||||
var target=targets.shift();
|
||||
event.target=target;
|
||||
source.line(target,'green');
|
||||
|
@ -9791,7 +9790,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
if(game.players.length<5) return Math.random()<0.5;
|
||||
return Math.random()<0.3;
|
||||
});
|
||||
'step 5'
|
||||
'step 6'
|
||||
if(result.bool){
|
||||
game.broadcastAll(function(player,target){
|
||||
player.say('加入');
|
||||
|
@ -9807,9 +9806,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
else{
|
||||
target.chat('拒绝');
|
||||
game.delay(1.5);
|
||||
if(targets.length) event.goto(4);
|
||||
if(targets.length) event.goto(5);
|
||||
}
|
||||
'step 6'
|
||||
'step 7'
|
||||
if(event.targets2.length) event.goto(3);
|
||||
else delete _status.showYexings;
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue