fix
|
@ -3282,7 +3282,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'step 0'
|
||||
var num=player.getHistory('skipped').length;
|
||||
event.num=num;
|
||||
player.chooseToMove(num,'瞬影:移动至多'+get.cnNumber(num)+'格或失去1点体力');
|
||||
player.chooseToMoveChess(num,'瞬影:移动至多'+get.cnNumber(num)+'格或失去1点体力');
|
||||
'step 1'
|
||||
if(!result.bool) player.loseHp();
|
||||
else player.draw(num);
|
||||
|
|
|
@ -307,6 +307,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.loseMaxHp();
|
||||
},
|
||||
locked:false,
|
||||
global:'yingba_mark',
|
||||
mod:{
|
||||
cardUsableTarget:function(card,player,target){
|
||||
if(target.hasMark('yingba_mark')) return true;
|
||||
|
@ -331,6 +332,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
content:'mark',
|
||||
onunmark:true,
|
||||
},
|
||||
mod:{
|
||||
maxHandcard:function(player,numx){
|
||||
var num=player.countMark('yingba_mark');
|
||||
if(num) return numx+num*game.countPlayer(function(current){
|
||||
return current.hasSkill('yingba');
|
||||
});
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -400,14 +409,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
trigger:{player:'damageBegin2'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return event.source&&event.source!=player&&event.num<player.countCards('h');
|
||||
return event.source&&event.source!=player&&player.maxHp>1&&player.countCards('h')>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseCardTarget({
|
||||
prompt:get.prompt('pinghe'),
|
||||
prompt2:'将'+get.cnNumber(trigger.num)+'张手牌交给一名其他角色并防止伤害'+(player.hasSkill('yingba')?',然后令伤害来源获得等量“平定”标记':''),
|
||||
selectCard:trigger.num,
|
||||
prompt2:'将一张手牌交给一名其他角色并防止伤害'+(player.hasSkill('yingba')?',然后令伤害来源获得一个“平定”标记':''),
|
||||
filterCard:true,
|
||||
filterTarget:lib.filter.notMe,
|
||||
ai1:function(card){
|
||||
|
@ -428,9 +436,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.logSkill('pinghe',target);
|
||||
target.gain(result.cards,player,'giveAuto');
|
||||
trigger.cancel();
|
||||
player.loseMaxHp(trigger.num);
|
||||
player.loseMaxHp();
|
||||
if(player.hasSkill('yingba')){
|
||||
trigger.source.addMark('yingba_mark',trigger.num);
|
||||
trigger.source.addMark('yingba_mark',1);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -750,8 +758,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
player.draw();
|
||||
player.addTempSkill('shenzhu_less');
|
||||
player.addMark('shenzhu_less',1,false);
|
||||
//player.addTempSkill('shenzhu_less');
|
||||
//player.addMark('shenzhu_less',1,false);
|
||||
},
|
||||
subSkill:{
|
||||
less:{
|
||||
|
@ -4835,7 +4843,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
tspowei:'破围',
|
||||
tspowei_info:'使命技。①当你因使用【杀】而对有“围”的角色造成伤害时,你防止此伤害并移去该角色的“围”。②使命:当你使用【杀】结算完成后,若场上没有“围”,则你获得技能〖神著〗。③失败:当你进入濒死状态时,你将体力值回复至1点,然后弃置装备区的所有牌。',
|
||||
shenzhu:'神著',
|
||||
shenzhu_info:'你使用【杀】无次数限制。当你使用有对应实体牌的非转化【杀】结算结束后,你摸一张牌,且本回合的手牌上限-1。',
|
||||
shenzhu_info:'你使用【杀】无次数限制。当你使用有对应实体牌的非转化【杀】结算结束后,你摸一张牌。',
|
||||
dangmo:'荡魔',
|
||||
dangmo_info:'当你于出牌阶段内使用第一张【杀】选择目标后,你可以为此牌增加至多Y-1个目标(Y为你的体力值)。',
|
||||
reshuishi:'慧识',
|
||||
|
@ -4853,11 +4861,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dinghan_info:'①当你成为未记录过的锦囊牌的目标时,你记录此牌名并取消之。②准备阶段,你可在〖定汉①〗的记录中添加或减少一种锦囊牌的牌名。',
|
||||
shen_sunce:'神孙策',
|
||||
yingba:'英霸',
|
||||
yingba_info:'①出牌阶段限一次,你可令一名体力上限大于1的其他角色减少1点体力上限并获得“平定”标记,然后你减少1点体力上限。②你对拥有“平定”标记的角色使用牌没有次数限制。',
|
||||
yingba_info:'①出牌阶段限一次,你可令一名体力上限大于1的其他角色减少1点体力上限并获得“平定”标记,然后你减少1点体力上限。②你对拥有“平定”标记的角色使用牌没有次数限制。③拥有“平定”标记的角色的手牌上限+X(X为其“平定”数)。',
|
||||
scfuhai:'覆海',
|
||||
scfuhai_info:'锁定技。①当你使用牌指定目标后,若目标角色有“平定”标记,则其不可响应此牌。②当你使用牌结算结束后,你移除所有目标角色的“平定”标记并增加等量的体力上限。③拥有“平定”标记的角色死亡时,你增加X点体力上限并摸X张牌。(X为其拥有的“平定”标记数)。',
|
||||
pinghe:'冯河',
|
||||
pinghe_info:'①你的手牌上限基数等于你已损失的体力值。②当你受到其他角色造成的伤害时,若你的手牌数大于X,则你可以防止此伤害,减少X点体力值上限并将X张手牌交给一名其他角色(X为伤害值)。然后若你拥有〖英霸〗,则伤害来源获得X个“平定”标记。',
|
||||
pinghe_info:'①你的手牌上限基数等于你已损失的体力值。②当你受到其他角色造成的伤害时,若你有牌且你的体力上限大于1,则你可以防止此伤害,减少一点体力上限并将一张手牌交给一名其他角色。然后若你拥有〖英霸〗,则伤害来源获得一个“平定”标记。',
|
||||
|
||||
key_kagari:'篝',
|
||||
kagari_zongsi:'纵丝',
|
||||
|
@ -4872,7 +4880,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
hina_shenshi_yingbian:'神视',
|
||||
hina_shenshi_info:'神势力技。出牌阶段开始时/结束时,你可摸两张牌,然后将其中一张牌置于牌堆顶。你以此法获得的牌视为拥有全部应变效果,且可以无条件发动。',
|
||||
hina_xingzhi:'幸凪',
|
||||
hina_xingzhi_info:'键势力技。每回合限一次,你可以通过“助战”触发一张牌的全部助战效果,且响应助战的角色摸两张牌。',
|
||||
hina_xingzhi_info:'键势力技。每回合限一次,你可以通过“助战”触发一张牌的全部应变效果,且响应助战的角色摸两张牌。',
|
||||
|
||||
extra_feng:'神话再临·风',
|
||||
extra_huo:'神话再临·火',
|
||||
|
|
|
@ -714,6 +714,10 @@ window.noname_character_rank={
|
|||
'zhouyi',
|
||||
'yangzhi',
|
||||
'wanniangongzhu',
|
||||
'sunyi',
|
||||
'sp_gaolan',
|
||||
'simafu',
|
||||
'mayuanyi',
|
||||
],
|
||||
b:[
|
||||
'diy_feishi',
|
||||
|
@ -916,6 +920,9 @@ window.noname_character_rank={
|
|||
're_kanze',
|
||||
'tongyuan',
|
||||
'zhangning',
|
||||
'sp_huaman',
|
||||
'sp_wangshuang',
|
||||
'yanpu',
|
||||
],
|
||||
bm:[
|
||||
'diy_xizhenxihong',
|
||||
|
@ -1775,6 +1782,9 @@ window.noname_character_rank={
|
|||
'wanniangongzhu',
|
||||
're_xunchen',
|
||||
'tongyuan',
|
||||
'simafu',
|
||||
'mayuanyi',
|
||||
'sp_huaman',
|
||||
],
|
||||
junk:[
|
||||
'sunshao',
|
||||
|
|
|
@ -10,7 +10,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
refresh_lin:['re_menghuo','ol_sunjian','re_caopi','re_xuhuang','ol_dongzhuo','ol_zhurong','re_jiaxu','ol_lusu'],
|
||||
refresh_shan:['ol_jiangwei','re_caiwenji','ol_liushan','re_zhangzhang','re_zuoci','re_sunce','ol_dengai'],
|
||||
refresh_yijiang1:['re_wuguotai','re_gaoshun','re_caozhi','yujin_yujin','re_masu','xin_xusheng','re_fazheng','xin_lingtong','re_zhangchunhua'],
|
||||
refresh_yijiang2:['old_madai','wangyi','guanzhang','xin_handang','xin_zhonghui','re_liaohua','re_chengpu','re_caozhang','re_bulianshi','xin_liubiao'],
|
||||
refresh_yijiang2:['old_madai','re_wangyi','guanzhang','xin_handang','xin_zhonghui','re_liaohua','re_chengpu','re_caozhang','re_bulianshi','xin_liubiao'],
|
||||
refresh_yijiang3:['re_jianyong','re_guohuai','re_zhuran','re_panzhangmazhong','re_yufan','re_liru','re_manchong','re_fuhuanghou','re_guanping'],
|
||||
refresh_yijiang4:['re_sunluban','re_wuyi','re_hanhaoshihuan','re_caozhen','re_zhoucang','re_chenqun','re_caifuren','re_guyong'],
|
||||
refresh_yijiang5:['re_zhangyi','re_quancong','re_caoxiu','re_sunxiu','re_gongsunyuan','re_guotufengji'],
|
||||
|
@ -45,7 +45,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
re_bulianshi:['female','wu',3,['reanxu','zhuiyi']],
|
||||
re_hanhaoshihuan:['male','wei',4,['reshenduan','reyonglve']],
|
||||
re_panzhangmazhong:['male','wu',4,['reduodao','reanjian']],
|
||||
wangyi:['female','wei',3,['zhenlie','miji']],
|
||||
re_wangyi:['female','wei',4,['zhenlie','miji']],
|
||||
old_madai:['male','shu',4,['mashu','qianxi']],
|
||||
guanzhang:['male','shu',4,['fuhun']],
|
||||
xin_xusheng:['male','wu',4,['decadepojun']],
|
||||
|
@ -10211,7 +10211,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
decadepojun2:'破军',
|
||||
decadepojun_info:'当你使用【杀】指定目标后,你可以将其的至多X张牌置于其武将牌上(X为其体力值)。若这些牌中:有装备牌,你将这些装备牌中的一张置于弃牌堆;有锦囊牌,你摸一张牌。其于回合结束时获得其武将牌上的这些牌。',
|
||||
old_madai:'界马岱',
|
||||
wangyi:'界王异',
|
||||
re_wangyi:'界王异',
|
||||
wangyi:'王异',
|
||||
guanzhang:'界关兴张苞',
|
||||
rezishou:'自守',
|
||||
rezishou2:'自守',
|
||||
|
|
|
@ -2309,7 +2309,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
preHidden:true,
|
||||
check:function(event,player){
|
||||
return get.attitude(player,event.player)<=0;
|
||||
return get.attitude(player,target.player)<=0;
|
||||
},
|
||||
logTarget:'target',
|
||||
content:function(){
|
||||
|
|
413
character/sp2.js
|
@ -313,7 +313,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
trigger:{global:'useCardAfter'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return player!=event.player&&event.player.isIn()&&get.suit(event.card)=='spade'&&event.player.hasHistory('lose',function(evt){
|
||||
return player!=event.player&&event.player.isIn()&&get.color(event.card)=='black'&&event.player.hasHistory('lose',function(evt){
|
||||
return evt&&evt.hs.length&&evt.getParent()==event;
|
||||
})&&event.player.isPhaseUsing()&&!player.hasSkill('tianze_block');
|
||||
},
|
||||
|
@ -332,6 +332,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}).set('goon',get.damageEffect(trigger.player,player,player)>0).logSkill=['tianze',trigger.player];
|
||||
'step 1'
|
||||
if(result.bool) trigger.player.damage();
|
||||
else event.finish();
|
||||
'step 2'
|
||||
game.delayx();
|
||||
},
|
||||
group:'tianze_draw',
|
||||
subSkill:{
|
||||
|
@ -341,7 +344,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
forced:true,
|
||||
locked:false,
|
||||
filter:function(event,player){
|
||||
return event.player!=player&&event.result&&event.result.suit=='spade';
|
||||
return event.player!=player&&event.result&&event.result.color=='black';
|
||||
},
|
||||
content:function(){
|
||||
player.draw();
|
||||
|
@ -356,15 +359,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var hs=player.getCards('h');
|
||||
if(!hs.length) return false;
|
||||
for(var i of event.cards){
|
||||
if(hs.contains(i)&&get.suit(i,hs)=='heart'&&lib.filter.cardDiscardable(i,player,'difa')) return true;
|
||||
if(hs.contains(i)&&get.color(i,player)=='red'&&lib.filter.cardDiscardable(i,player,'difa')) return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
usable:1,
|
||||
check:()=>false,
|
||||
content:function(){
|
||||
'step 0'
|
||||
var hs=player.getCards('h'),cards=trigger.cards.filter(function(i){
|
||||
return (hs.contains(i)&&get.suit(i,hs)=='heart'&&lib.filter.cardDiscardable(i,player,'difa'));
|
||||
return (hs.contains(i)&&get.color(i,player)=='redt'&&lib.filter.cardDiscardable(i,player,'difa'));
|
||||
});
|
||||
if(!cards.length) event.finish();
|
||||
else{
|
||||
|
@ -531,51 +535,52 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
trigger:{source:'damageBegin1'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return player.isPhaseUsing()&&!player.hasSkill('chaofeng2');
|
||||
return player.countCards('he')>0&&player.isPhaseUsing()&&!player.hasSkill('chaofeng2');
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var str='弃置一张牌并摸一张牌',num,suit;
|
||||
var str='弃置一张牌并摸一张牌',color,type;
|
||||
if(trigger.card){
|
||||
num=get.number(trigger.card);
|
||||
suit=get.suit(trigger.card);
|
||||
if(lib.suit.contains(suit)) str+=';若弃置'+get.translation(suit)+'牌则改为摸两张牌';
|
||||
if(typeof num=='number') str+=';若弃置点数为'+get.strNumber(num)+'的牌则伤害+1';
|
||||
type=get.type2(trigger.card,false);
|
||||
color=get.color(trigger.card,false);
|
||||
if(color!='nocolor') str+=';若弃置'+get.translation(color)+'牌则改为摸两张牌';
|
||||
if(type) str+=';若弃置类型为'+get.translation(type)+'的牌则伤害+1';
|
||||
}
|
||||
var next=player.chooseToDiscard('he',get.prompt('chaofeng',trigger.player),str);
|
||||
next.set('ai',function(card){
|
||||
var player=_status.event.player,suit=_status.event.suit,number=_status.event.number;
|
||||
var player=_status.event.player,suit=_status.event.color,number=_status.event.type;
|
||||
var val=4-get.value(card);
|
||||
if(get.suit(card,player)==suit) val+=3;
|
||||
if(get.number(card,player)==number) val+=4;
|
||||
if(get.color(card)==suit) val+=3;
|
||||
if(get.type2(card)==number) val+=4;
|
||||
return val;
|
||||
});
|
||||
next.logSkill=['chaofeng',trigger.player];
|
||||
if(lib.suit.contains(suit)){
|
||||
event.suit=suit;
|
||||
next.set('suit',suit);
|
||||
if(color!='nocolor'){
|
||||
event.color=color;
|
||||
next.set('color',color);
|
||||
}
|
||||
if(typeof num=='number'){
|
||||
event.number=num;
|
||||
next.set('number',num);
|
||||
if(type){
|
||||
event.type=type;
|
||||
next.set('type',type);
|
||||
}
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
player.addTempSkill('chaofeng2','phaseUseEnd');
|
||||
var card=result.cards[0];
|
||||
player.draw((event.suit&&get.suit(card,player)==event.suit)?2:1);
|
||||
if(event.number&&get.number(card,player)==event.number) trigger.num++;
|
||||
player.draw((event.color&&get.color(card,card.original=='h'?player:false)==event.color)?2:1);
|
||||
if(event.type&&get.type2(card,card.original=='h'?player:false)==event.type) trigger.num++;
|
||||
}
|
||||
},
|
||||
},
|
||||
chaofeng2:{},
|
||||
chuanshu:{
|
||||
audio:2,
|
||||
trigger:{player:'phaseZhunbeiBegin'},
|
||||
trigger:{player:['phaseZhunbeiBegin','die']},
|
||||
direct:true,
|
||||
juexingji:true,
|
||||
limited:true,
|
||||
forceDie:true,
|
||||
filter:function(event,player){
|
||||
return player.isMinHp();
|
||||
return player.isDamaged()&&(event.name=='die'||player.isAlive());
|
||||
},
|
||||
skillAnimation:true,
|
||||
animationColor:'gray',
|
||||
|
@ -583,42 +588,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'step 0'
|
||||
player.chooseTarget(lib.filter.notMe,get.prompt('chuanshu'),'令一名其他角色获得〖朝凤〗').set('ai',function(target){
|
||||
return get.attitude(_status.event.player,target)
|
||||
});
|
||||
}).set('forceDie',true);
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
player.awakenSkill('chuanshu');
|
||||
player.logSkill('chuanshu',target);
|
||||
target.addSkillLog('chaofeng');
|
||||
if(player.isDead()) event.finish();
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
player.loseMaxHp();
|
||||
'step 3'
|
||||
for(var i of lib.skill.chuanshu.derivation) player.addSkillLog(i);
|
||||
},
|
||||
group:'chuanshu_die',
|
||||
derivation:['ollongdan','drlt_congjian','chuanyun'],
|
||||
subSkill:{
|
||||
die:{
|
||||
trigger:{player:'die'},
|
||||
direct:true,
|
||||
forceDie:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseTarget(lib.filter.notMe,'是否令一名其他角色获得〖朝凤〗?').set('forceDie',true).set('ai',function(target){
|
||||
return get.attitude(_status.event.player,target)
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
player.awakenSkill('chuanshu');
|
||||
var target=result.targets[0];
|
||||
player.logSkill('chuanshu',target);
|
||||
target.addSkillLog('chaofeng');
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
chuanyun:{
|
||||
audio:2,
|
||||
|
@ -982,22 +965,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audio:'zhukou',
|
||||
trigger:{player:'phaseJieshuBegin'},
|
||||
filter:function(event,player){
|
||||
return game.hasPlayer((current)=>(current!=player)&&!player.getHistory('sourceDamage').length);
|
||||
},
|
||||
prompt:'是否发动【逐寇】?',
|
||||
prompt2:'对所有其他角色各造成1点伤害',
|
||||
logTarget:(event,player)=>(game.filterPlayer((current)=>(current!=player))),
|
||||
check:function(event,player){
|
||||
return game.countPlayer(function(current){
|
||||
if(current==player) return false;
|
||||
var num=get.damageEffect(current,player,player);
|
||||
if(num<0&¤t.hp>2) num/=3;
|
||||
return num+0.01;
|
||||
})>0;
|
||||
return game.countPlayer((current)=>(current!=player))>1&&!player.getHistory('sourceDamage').length;
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
var list=game.filterPlayer((current)=>(current!=player)).sortBySeat();
|
||||
for(var i of list) i.damage();
|
||||
'step 0'
|
||||
player.chooseTarget(get.prompt('zhukou'),'对两名其他角色各造成1点伤害',2,lib.filter.notMe).set('ai',function(target){
|
||||
var player=_status.event.player;
|
||||
return get.damageEffect(target,player,player);
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var targets=result.targets.sortBySeat();
|
||||
player.logSkill('zhukou',targets);
|
||||
for(var i of targets) i.damage();
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -1006,7 +988,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
trigger:{player:'phaseZhunbeiBegin'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return game.hasPlayer((current)=>(current!=player))&&!game.hasPlayer((current)=>(current!=player&¤t.isHealthy()));
|
||||
return game.countPlayer((current)=>current.isDamaged())>player.hp;
|
||||
},
|
||||
juexingji:true,
|
||||
skillAnimation:true,
|
||||
|
@ -1043,12 +1025,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var func=function(player,id){
|
||||
var list=[
|
||||
'选项一:摸两张牌',
|
||||
'选项二:本回合使用黑色【杀】无距离和次数限制',
|
||||
'选项二:对一名其他角色造成1点伤害,且本回合对其使用【杀】无距离和次数限制',
|
||||
'选项三:本回合手牌上限视为无限',
|
||||
'选项四:弃置一名其他角色的一张手牌和一张装备区的牌',
|
||||
'选项五:令一名手牌最少的角色将手牌数摸至体力上限(至多摸至五张)',
|
||||
'选项四:获得一名其他角色区域内的一张牌',
|
||||
'选项五:令一名其他角色将手牌数摸至体力上限(至多摸至五张)',
|
||||
];
|
||||
var choiceList=ui.create.dialog('玉陨:请选择一'+(player.getDamagedHp()>1?'至两':'')+'项');
|
||||
var choiceList=ui.create.dialog('玉陨:请选择一'+(player.getDamagedHp()>0?('至'+get.cnNumber(player.getDamagedHp()+1)):'')+'项');
|
||||
choiceList.videoId=id;
|
||||
for(var i=0;i<list.length;i++){
|
||||
var str='<div class="popup text" style="width:calc(100% - 10px);display:inline-block">';
|
||||
|
@ -1082,31 +1064,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
break;
|
||||
case 1:
|
||||
return Math.max(0.5,player.countCards('hs',function(card){
|
||||
return get.name(card)=='sha'&&get.color(card)=='black'&&player.hasValueTarget(card);
|
||||
})-player.getCardUsable({name:'sha'}));
|
||||
return get.name(card)=='sha'&&player.hasValueTarget(card);
|
||||
})-player.getCardUsable({name:'sha'}))+Math.max.apply(Math,game.filterPlayer(function(current){
|
||||
return current!=player;
|
||||
}).map(function(target){
|
||||
return get.damageEffect(target,player,player);
|
||||
}));
|
||||
break;
|
||||
case 2:
|
||||
return player.needsToDiscard()/4;
|
||||
break;
|
||||
case 3:
|
||||
var num=0;
|
||||
game.countPlayer(function(current){
|
||||
if(current!=player&&get.attitude(player,current)<0){
|
||||
var num2=0;
|
||||
current.countDiscardableCards(player,'e',function(card){
|
||||
var val=get.value(card,current);
|
||||
if(val>num2) num2=val;
|
||||
});
|
||||
if(current.countCards('h')>0&&!current.hasSkillTag('noh')) num2++;
|
||||
if(num2>num) num=num2;
|
||||
}
|
||||
});
|
||||
return num/4;
|
||||
return 0.8*Math.max.apply(Math,game.filterPlayer(function(current){
|
||||
return current!=player&¤t.hasCard((card)=>lib.filter.canBeGained(card,current,player),'hej');
|
||||
}).map(function(target){
|
||||
return get.effect(target,{name:'shunshou_copy'},player,player);
|
||||
}));
|
||||
break;
|
||||
case 4:
|
||||
var num=0;
|
||||
game.countPlayer(function(current){
|
||||
if(current!=player&&get.attitude(player,current)>0&¤t.isMinHandcard()){
|
||||
if(current!=player&&get.attitude(player,current)>0){
|
||||
var num2=Math.min(5,current.maxHp)-current.countCards('h');
|
||||
if(num2>num) num=num2;
|
||||
}
|
||||
|
@ -1115,7 +1094,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
break;
|
||||
}
|
||||
});
|
||||
if(player.getDamagedHp()>1) next.set('selectButton',[1,2]);
|
||||
if(player.getDamagedHp()>0) next.set('selectButton',[1,1+player.getDamagedHp()]);
|
||||
'step 3'
|
||||
if(player.isOnline2()){
|
||||
player.send('closeDialog',event.videoId);
|
||||
|
@ -1125,53 +1104,54 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
for(var i of result.links) game.log(player,'选择了','#g【玉陨】','的','#y选项'+get.cnNumber(1+i,true))
|
||||
event.links=result.links;
|
||||
if(result.links.contains(0)) player.draw(2);
|
||||
if(result.links.contains(1)) player.addTempSkill('yuyun_sha');
|
||||
if(result.links.contains(2)) player.addTempSkill('yuyun_114514');
|
||||
if(!result.links.contains(3)){
|
||||
if(result.links.contains(4)) event.goto(6);
|
||||
else event.finish();
|
||||
}
|
||||
'step 4'
|
||||
if(game.hasPlayer(function(current){
|
||||
return current!=player&¤t.hasCard((card)=>lib.filter.canBeDiscarded(card,current,player),'he');
|
||||
})){
|
||||
player.chooseTarget(true,'弃置一名其他角色手牌区和装备区内的各一张牌',function(card,player,current){
|
||||
return current!=player&¤t.hasCard((card)=>lib.filter.canBeDiscarded(card,current,player),'he');
|
||||
}).set('ai',function(current){
|
||||
var num2=0,player=_status.event.player;
|
||||
if(get.attitude(player,current)>=0) return 0;
|
||||
current.countDiscardableCards(player,'e',function(card){
|
||||
var val=get.value(card,current);
|
||||
if(val>num2) num2=val;
|
||||
if(event.links.contains(1)&&game.hasPlayer(function(current){
|
||||
return current!=player;
|
||||
})) player.chooseTarget(lib.filter.notMe,true,'对一名其他角色造成1点伤害').set('ai',function(target){
|
||||
var player=_status.event.player;
|
||||
return get.damageEffect(target,player,player);
|
||||
});
|
||||
if(current.countCards('h')>0&&!current.hasSkillTag('noh')) num2++;
|
||||
});
|
||||
}
|
||||
else if(event.links.contains(4)) event.goto(6);
|
||||
else if(event.links.contains(3)) event.goto(6);
|
||||
else if(event.links.contains(4)) event.goto(8);
|
||||
else event.finish();
|
||||
'step 5'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
player.line(target,'green');
|
||||
var num=0;
|
||||
if(target.hasCard((card)=>lib.filter.canBeDiscarded(card,target,player),'h')) num++;
|
||||
if(target.hasCard((card)=>lib.filter.canBeDiscarded(card,target,player),'e')) num++;
|
||||
if(num){
|
||||
player.discardPlayerCard(target,num,'he',true).set('filterButton',function(button){
|
||||
for(var i=0;i<ui.selected.buttons.length;i++){
|
||||
if(get.position(button.link)==get.position(ui.selected.buttons[i].link)) return false;
|
||||
target.damage();
|
||||
player.markAuto('yuyun_sha',[target]);
|
||||
player.addTempSkill('yuyun_sha');
|
||||
}
|
||||
return true;
|
||||
if(event.links.contains(3)) event.goto(6);
|
||||
else if(event.links.contains(4)) event.goto(8);
|
||||
else event.finish();
|
||||
'step 6'
|
||||
if(event.links.contains(3)&&game.hasPlayer(function(current){
|
||||
return current!=player&¤t.hasCard((card)=>lib.filter.canBeGained(card,current,player),'hej');
|
||||
})){
|
||||
player.chooseTarget(true,'获得一名其他角色区域内的一张牌',function(card,player,current){
|
||||
return current!=player&¤t.hasCard((card)=>lib.filter.canBeGained(card,current,player),'hej');
|
||||
}).set('ai',function(target){
|
||||
var player=_status.event.player;
|
||||
return get.effect(target,{name:'shunshou_copy'},player,player);
|
||||
});
|
||||
}
|
||||
else if(event.links.contains(4)) event.goto(8);
|
||||
else event.finish();
|
||||
'step 7'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
player.line(target,'green');
|
||||
player.gainPlayerCard(target,'hej',true);
|
||||
}
|
||||
if(!event.links.contains(4)) event.finish();
|
||||
'step 6'
|
||||
if(game.hasPlayer(function(current){
|
||||
return current.isMinHandcard()&¤t.countCards('h')<Math.min(5,current.maxHp);
|
||||
'step 8'
|
||||
if(event.links.contains(4)&&game.hasPlayer(function(current){
|
||||
return current!=player&¤t.countCards('h')<Math.min(5,current.maxHp);
|
||||
})){
|
||||
player.chooseTarget(true,'令一名手牌数最少的角色将手牌数摸至体力上限',function(card,player,current){
|
||||
return current.isMinHandcard()&¤t.countCards('h')<Math.min(5,current.maxHp);
|
||||
player.chooseTarget(true,'令一名其他角色将手牌数摸至体力上限',function(card,player,current){
|
||||
return current!=player&¤t.countCards('h')<Math.min(5,current.maxHp);
|
||||
}).set('ai',function(target){
|
||||
var att=get.attitude(_status.event.player,target);
|
||||
if(target.hasSkillTag('nogain')) att/=6;
|
||||
|
@ -1182,7 +1162,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
});
|
||||
}
|
||||
else event.finish();
|
||||
'step 7'
|
||||
'step 9'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
player.line(target,'green');
|
||||
|
@ -1200,14 +1180,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
sha:{
|
||||
mod:{
|
||||
cardUsable:function(card){
|
||||
if(card.name=='sha'&&get.color(card)=='black') return Infinity;
|
||||
cardUsableTarget:function(card,player,target){
|
||||
if(card.name=='sha'&&player.getStorage('yuyun_sha').contains(target)) return Infinity;
|
||||
},
|
||||
targetInRange:function(card){
|
||||
if(card.name=='sha'&&get.color(card)=='black') return true;
|
||||
targetInRange:function(card,player,target){
|
||||
if(card.name=='sha'&&player.getStorage('yuyun_sha').contains(target)) return true;
|
||||
},
|
||||
},
|
||||
charlotte:true,
|
||||
onremove:true,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -1643,14 +1624,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'step 0'
|
||||
var hs=target.getCards('h','shan');
|
||||
if(hs.length){
|
||||
var card=target.getEquip(2);
|
||||
if(card) hs.push(card);
|
||||
hs.addArray(target.getCards('he',function(card){
|
||||
return get.subtype(card)=='equip2';
|
||||
}))
|
||||
player.gain(hs,target,'give');
|
||||
event.num=(player.hasMark('zhtongyuan_tao')?1:hs.length);
|
||||
if(player.hasMark('zhtongyuan_basic')) event.finish();
|
||||
else event.num=hs.length;
|
||||
}
|
||||
else{
|
||||
if(player.hasMark('zhtongyuan_wuxie')) player.draw();
|
||||
else if(player.countCards('h')) player.chooseToDiscard('h',true);
|
||||
if(player.hasMark('zhtongyuan_trick')) player.draw(2);
|
||||
event.finish();
|
||||
}
|
||||
'step 1'
|
||||
|
@ -1665,7 +1647,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
order:4,
|
||||
result:{
|
||||
player:function(player,target){
|
||||
if(!target.countCards('h','shan')) return player.hasMark('zhtongyuan_wuxie')?1:-1;
|
||||
if(!target.countCards('h','shan')) return player.hasMark('zhtongyuan_trick')?2:0;
|
||||
return 0;
|
||||
},
|
||||
target:function(player,target){
|
||||
|
@ -1675,7 +1657,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(card) num-=(get.value(card,target)/2);
|
||||
return num;
|
||||
}
|
||||
return 0;
|
||||
return -0.01;
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -1683,23 +1665,80 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
tongyuan:{audio:2},
|
||||
zhtongyuan:{
|
||||
audio:'tongyuan',
|
||||
trigger:{player:['useCardAfter','respondAfter']},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
var type=get.type2(event.card,false);
|
||||
return (type=='basic'||type=='trick')&&get.color(event.card,false)=='red'&&!player.hasMark('zhtongyuan_'+type);
|
||||
},
|
||||
content:function(){
|
||||
var type=get.type2(trigger.card,false);
|
||||
if(!player.hasMark('zhtongyuan_'+type)){
|
||||
player.addMark('zhtongyuan_'+type,1,false);
|
||||
game.log(player,'修改了技能','#g【摧坚】');
|
||||
}
|
||||
},
|
||||
group:['zhtongyuan_basic','zhtongyuan_trick'],
|
||||
subSkill:{
|
||||
basic:{
|
||||
trigger:{player:'useCard2'},
|
||||
direct:true,
|
||||
locked:true,
|
||||
filter:function(event,player){
|
||||
if(!player.hasMark('zhtongyuan_basic')||!player.hasMark('zhtongyuan_trick')) return false;
|
||||
var card=event.card;
|
||||
if(get.color(card,false)!='red'||get.type(card,null,true)!='basic') return false;
|
||||
var info=get.info(card);
|
||||
if(info.allowMultiple==false) return false;
|
||||
if(event.targets&&!info.multitarget){
|
||||
if(game.hasPlayer(function(current){
|
||||
return !event.targets.contains(current)&&lib.filter.targetEnabled2(card,player,current);
|
||||
})){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var prompt2='为'+get.translation(trigger.card)+'增加一个目标'
|
||||
player.chooseTarget(get.prompt('zhtongyuan'),function(card,player,target){
|
||||
var player=_status.event.player;
|
||||
return !_status.event.targets.contains(target)&&lib.filter.targetEnabled2(_status.event.card,player,target);
|
||||
}).set('prompt2',prompt2).set('ai',function(target){
|
||||
var trigger=_status.event.getTrigger();
|
||||
var player=_status.event.player;
|
||||
return get.effect(target,trigger.card,player,player);
|
||||
}).set('card',trigger.card).set('targets',trigger.targets);
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
if(!event.isMine()&&!event.isOnline()) game.delayx();
|
||||
event.targets=result.targets;
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
}
|
||||
'step 2'
|
||||
if(event.targets){
|
||||
player.logSkill('zhtongyuan',event.targets);
|
||||
trigger.targets.addArray(event.targets);
|
||||
}
|
||||
},
|
||||
},
|
||||
trick:{
|
||||
audio:'zhtongyuan',
|
||||
trigger:{player:'useCard'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return (event.card.name=='tao'||event.card.name=='wuxie')&&((player!=_status.currentPhase&&!player.hasMark('zhtongyuan_'+event.card.name))||(player.hasMark('zhtongyuan_tao')&&player.hasMark('zhtongyuan_wuxie')));
|
||||
if(!player.hasMark('zhtongyuan_basic')||!player.hasMark('zhtongyuan_trick')) return false;
|
||||
var card=event.card;
|
||||
return (get.color(card,false)=='red'&&get.type(card,null,false)=='trick');
|
||||
},
|
||||
content:function(){
|
||||
if(!player.hasMark('zhtongyuan_'+trigger.card.name)){
|
||||
player.addMark('zhtongyuan_'+trigger.card.name,1,false);
|
||||
game.log(player,'修改了技能','#g【摧坚】');
|
||||
}
|
||||
else{
|
||||
if(trigger.card.name=='wuxie') trigger.directHit.addArray(game.players);
|
||||
else{
|
||||
if(typeof trigger.baseDamage!='number') trigger.baseDamage=1;
|
||||
trigger.baseDamage++;
|
||||
}
|
||||
}
|
||||
trigger.directHit.addArray(game.filterPlayer());
|
||||
game.log(trigger.card,'不可被响应');
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
xianwei:{
|
||||
|
@ -2498,32 +2537,35 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var target=trigger.source;
|
||||
var target=trigger.source,str=get.translation(player);
|
||||
event.target=target;
|
||||
var th=target.countCards('h');
|
||||
if(th>0){
|
||||
event.num=Math.ceil(th/2);
|
||||
var list=[
|
||||
'本回合不能使用或打出手牌',
|
||||
'展示所有手牌并弃置其中一种花色的所有牌',
|
||||
],ph=player.countCards('h');
|
||||
if(ph!=th){
|
||||
var num=Math.ceil(Math.abs(ph-th)/2);
|
||||
event.num=num;
|
||||
list.push('交给'+get.translation(player)+get.cnNumber(num)+'张手牌');
|
||||
}
|
||||
target.chooseControl().set('choiceList',list);
|
||||
'本回合不能使用或打出手牌,然后'+str+'摸两张牌',
|
||||
'展示所有手牌,并将其中一种花色的所有牌交给'+str,
|
||||
'弃置'+get.cnNumber(event.num)+'张手牌',
|
||||
];
|
||||
target.chooseControl().set('choiceList',list).set('ai',function(){
|
||||
return get.rand(0,2);
|
||||
});
|
||||
}
|
||||
else event._result={index:0};
|
||||
'step 1'
|
||||
switch(result.index){
|
||||
case 0:target.addTempSkill('yachai_block');event.finish();break;
|
||||
case 0:
|
||||
target.addTempSkill('yachai_block');
|
||||
player.draw(2);
|
||||
event.finish();
|
||||
break;
|
||||
case 1:target.showHandcards();break;
|
||||
case 2:event.goto(4);break;
|
||||
}
|
||||
'step 2'
|
||||
var map={},hs=target.getCards('h');
|
||||
for(var i of hs){
|
||||
if(lib.filter.cardDiscardable(card,target,'yachai')) map[get.suit(i,target)]=true;
|
||||
map[get.suit(i,target)]=true;
|
||||
}
|
||||
var list=[];
|
||||
for(var i of lib.suit){
|
||||
|
@ -2531,17 +2573,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
if(!list.length) event.finish();
|
||||
else if(list.length==1) event._result={control:list[0]};
|
||||
else target.chooseControl(list).set('prompt','选择弃置一种花色');
|
||||
else target.chooseControl(list).set('prompt','将一种花色的牌交给'+get.translation(player));
|
||||
'step 3'
|
||||
var cards=target.getCards('h',function(card){
|
||||
return get.suit(card,target)==result.control&&lib.filter.cardDiscardable(card,target,'yachai');
|
||||
});
|
||||
if(cards.length) target.discard(cards);
|
||||
if(cards.length) player.gain(cards,target,'give');
|
||||
event.finish();
|
||||
'step 4'
|
||||
target.chooseCard('h',true,'交给'+get.translation(player)+get.cnNumber(num)+'张手牌',num);
|
||||
'step 5'
|
||||
if(result.bool) player.gain(result.cards,target,'giveAuto');
|
||||
target.chooseToDiscard('h',true,num);
|
||||
},
|
||||
subSkill:{
|
||||
block:{
|
||||
|
@ -2602,29 +2642,32 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
game.delay(4);
|
||||
'step 2'
|
||||
game.broadcastAll('closeDialog',event.videoId);
|
||||
var max=0,max_suit=null,map={};
|
||||
var list=[],map={};
|
||||
for(var i of cards){
|
||||
var suit=get.suit(i);
|
||||
if(!map[suit]) map[suit]=0;
|
||||
map[suit]++;
|
||||
if(!map[suit]) map[suit]=[];
|
||||
map[suit].push(i);
|
||||
}
|
||||
for(var i in map){
|
||||
if(map[i]>max){
|
||||
max_suit=i;
|
||||
max=map[i];
|
||||
}
|
||||
else if(map[i]==max) max_suit=null;
|
||||
}
|
||||
if(max_suit){
|
||||
var cards=cards.filter(function(card){
|
||||
return get.suit(card)==max_suit;
|
||||
var dialog=['选择获得一种花色的所有牌'];
|
||||
for(var suit of lib.suit){
|
||||
if(map[suit]){
|
||||
var targetsx=map[suit].map(function(card){
|
||||
return targets[cards.indexOf(card)];
|
||||
});
|
||||
event.cards2=cards;
|
||||
player.chooseBool('是否获得所有'+get.translation(max_suit)+'牌?','可获得:'+get.translation(cards));
|
||||
dialog.push('<div class="text center">'+get.translation(targetsx)+'</div>');
|
||||
dialog.push(map[suit]);
|
||||
list.push(suit);
|
||||
}
|
||||
}
|
||||
if(list.length){
|
||||
player.chooseControl(list,'cancel2').set('dialog',dialog);
|
||||
}
|
||||
else event.finish();
|
||||
'step 3'
|
||||
if(result.bool){
|
||||
if(result.control!='cancel2'){
|
||||
event.cards2=cards.filter(function(i){
|
||||
return get.suit(i)==result.control;
|
||||
})
|
||||
for(var i=0;i<cards.length;i++){
|
||||
if(event.cards2.contains(cards[i])){
|
||||
targets[i].$give(cards[i],player,false);
|
||||
|
@ -11205,7 +11248,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return '当你于'+(player.hasSkill('yaner_zhiren')?'一':'你的')+'回合内使用第一张非转化牌时,你可依次执行以下选项中的前X项:①卜算X。②可弃置场上的一张装备牌和延时锦囊牌。③回复1点体力。④摸三张牌。(X为此牌的名称的字数)';
|
||||
},
|
||||
cuijian:function(player){
|
||||
return '出牌阶段限一次,你可以选择一名有手牌的其他角色。若其手牌中:有【闪】,其将装备区内的防具牌和所有【闪】交给你,然后你交给其'+(player.hasMark('zhtongyuan_tao')?'一张':'等量的')+'牌;没有【闪】,你'+(player.hasMark('zhtongyuan_wuxie')?'摸一张':'弃置一张手')+'牌。';
|
||||
return '出牌阶段限一次,你可以选择一名有手牌的其他角色。若其手牌中有【闪】,则其将所有【闪】和防具牌交给你'+(player.hasMark('zhtongyuan_basic')?'':',然后你交给其等量的牌')+'。'+(player.hasMark('zhtongyuan_trick')?'若其手牌中没有【闪】,则你摸两张牌。':'');
|
||||
},
|
||||
},
|
||||
perfectPair:{
|
||||
|
@ -11701,9 +11744,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
fuzhong_info:'锁定技,当你于回合外获得牌后,你获得一枚“重”标记。若X:大于0,你的手牌上限+1;大于1,你至其他角色的距离-1;大于2,你于摸牌阶段开始时令额定摸牌数+1;大于3,准备阶段,你对一名其他角色造成1点伤害,然后移去X枚“重”(X为“重”数)。',
|
||||
heyan:'何晏',
|
||||
yachai:'崖柴',
|
||||
yachai_info:'当你受到伤害后,你可令伤害来源选择一项:①其本回合不能再使用手牌;②其展示所有手牌,然后弃置手牌中一种花色的所有牌;③交给你与你手牌数差值一半数量的手牌(向上取整)。',
|
||||
yachai_info:'当你受到伤害后,你可令伤害来源选择一项:①其本回合不能再使用手牌,然后你摸两张牌;②其展示所有手牌,然后将其手牌中一种花色的所有牌交给你;③弃置一半数量的手牌(向上取整)。',
|
||||
qingtan:'清谈',
|
||||
qingtan_info:'出牌阶段限一次,你可令所有有手牌的角色同时选择一张手牌并同时展示。你可以获得其中花色唯一最多的牌,然后展示此花色牌的角色各摸一张牌。若如此做,弃置其他的牌。',
|
||||
qingtan_info:'出牌阶段限一次,你可令所有有手牌的角色同时选择一张手牌并同时展示。你可以获得其中一种花色的牌,然后展示此花色牌的角色各摸一张牌。若如此做,弃置其他的牌。',
|
||||
qiuliju:'丘力居',
|
||||
koulve:'寇略',
|
||||
koulve_info:'当你于出牌阶段内对其他角色造成伤害后,你可以展示其一张手牌。若此牌:为带有伤害标签的基本牌或锦囊牌,则你获得之;为红色牌,你失去1点体力(若已受伤则改为减1点体力上限),然后摸两张牌。',
|
||||
|
@ -11746,9 +11789,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
xianwei_info:'锁定技,准备阶段,你废除一个装备栏并摸X张牌(X为你未废除的装备栏数),然后令一名其他角色对其自己使用一张牌堆中的一张与此装备栏副类别相同的装备牌(没有可使用的牌则改为摸一张牌)。当你废除所有装备栏后,你加2点体力上限,然后你与所有其他角色视为在彼此的攻击范围内。',
|
||||
zhanghu:'张虎',
|
||||
cuijian:'摧坚',
|
||||
cuijian_info:'出牌阶段限一次,你可以选择一名有手牌的其他角色。若其手牌中:有【闪】,其将装备区内的防具牌和所有【闪】交给你,然后你交给其等量的牌;没有【闪】,你弃置一张手牌。',
|
||||
cuijian_info:'出牌阶段限一次,你可以选择一名有手牌的其他角色。若其手牌中有【闪】,则其将所有【闪】和防具牌交给你,然后你交给其等量的牌。',
|
||||
zhtongyuan:'同援',
|
||||
zhtongyuan_info:'锁定技。①当你于回合外使用【无懈可击】时,你将〖摧坚〗中的“弃置一张手牌”改为“摸一张牌”;②当你于回合外使用【桃】时,你将〖摧坚〗中的“等量的牌”改为“一张牌”。③当你使用【无懈可击】/【桃】时,若你已发动过〖摧坚①〗和〖摧坚②〗,则此牌不可被响应/回复值+1。',
|
||||
zhtongyuan_info:'锁定技。①当你使用红色锦囊牌后,你于〖摧坚〗中增加“若其手牌中没有【闪】,则你摸两张牌”;②当你于回合外使用或打出红色基本牌后,你删除〖摧坚〗中的“,然后你交给其等量的牌”。③当你使用红色的普通锦囊牌/基本牌时,若你已发动过〖摧坚①〗和〖摧坚②〗,则此牌不可被响应/可额外增加一个目标。',
|
||||
dufuren:'杜夫人',
|
||||
yise:'异色',
|
||||
yise_info:'其他角色获得你的牌后,若这些牌中:有红色牌,你可令其回复1点体力;有黑色牌,其下次受到【杀】造成的伤害时,此伤害+1。',
|
||||
|
@ -11767,11 +11810,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
xinxingluan_info:'出牌阶段限一次。当你使用牌结算结束后,你可选择一项:①观看牌堆中的两张点数为6的牌并获得其中一张(没有则改为摸一张牌);②令一名其他角色弃置一张点数为6的牌或交给你一张牌;③获得场上的一张点数为6的牌。',
|
||||
zhouyi:'周夷',
|
||||
zhukou:'逐寇',
|
||||
zhukou_info:'当你于一名角色的出牌阶段第一次造成伤害后,你可以摸X张牌(X为本回合你已使用的牌数)。你的结束阶段,若你本回合没有造成伤害,你可以对所有其他角色造成1点伤害。',
|
||||
zhukou_info:'①当你于一名角色的出牌阶段第一次造成伤害后,你可以摸X张牌(X为本回合你已使用的牌数)。②你的结束阶段,若你本回合没有造成伤害,你可以对两名其他角色各造成1点伤害。',
|
||||
mengqing:'氓情',
|
||||
mengqing_info:'觉醒技,准备阶段。若其他角色均已受伤,你加3点体力上限并回复3点体力,失去〖逐寇〗,获得〖玉殒〗。',
|
||||
mengqing_info:'觉醒技。准备阶段,若场上已受伤的角色数大于你的体力值,你加3点体力上限并回复3点体力,失去〖逐寇〗,获得〖玉殒〗。',
|
||||
yuyun:'玉殒',
|
||||
yuyun_info:'锁定技,出牌阶段开始时,你失去1点体力或体力上限(不能减至1以下),然后选择一项(若你已损失体力值大于1,则多选一项):①摸两张牌;②本回合使用黑色【杀】无距离和次数限制;③本回合的手牌上限视为无限;④弃置一名其他角色一张手牌和一张装备区中的牌;⑤令手牌最少的一名角色将手牌摸至体力上限(最多摸至5)。',
|
||||
yuyun_info:'锁定技,出牌阶段开始时,你失去1点体力或体力上限(不能减至1以下),然后选择X+1项(X为你已损失的体力值):①摸两张牌;②对一名其他角色造成1点伤害,然后本回合对其使用【杀】无距离和次数限制;③本回合的手牌上限视为无限;④获得一名其他角色区域内的一张牌;⑤令一名其他角色将手牌摸至体力上限(最多摸至5)。',
|
||||
re_nanhualaoxian:'南华老仙',
|
||||
gongxiu:'共修',
|
||||
gongxiu_info:'结束阶段,若你本回合内发动过〖经合〗,则你选择一项:①令所有本回合内成为过〖经合〗目标的角色各摸一张牌;②令所有本回合内未成为过〖经合〗目标的角色各弃置一张手牌。',
|
||||
|
@ -11799,9 +11842,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
mffengshi_info:'当你使用牌指定唯一目标后,或成为其他角色使用牌的唯一目标后,若此牌使用者的手牌数大于此牌目标的手牌数,则此牌的使用者可令你弃置自己和对方的各一张牌,并令此牌的伤害值+1。',
|
||||
tongyuan:'童渊',
|
||||
chaofeng:'朝凤',
|
||||
chaofeng_info:'出牌阶段限一次。当你造成伤害时,你可以弃置一张牌,然后摸一张牌。若此伤害的渠道为牌且你弃置的牌:与此牌花色相同,则你改为摸两张牌;与此牌点数相同,则此伤害+1。',
|
||||
chaofeng_info:'出牌阶段限一次。当你造成伤害时,你可以弃置一张牌,然后摸一张牌。若此伤害的渠道为牌且你弃置的牌:与此牌颜色相同,则你改为摸两张牌;与此牌类型相同,则此伤害+1。',
|
||||
chuanshu:'传术',
|
||||
chuanshu_info:'限定技。准备阶段,若你的体力值为全场最少,或当你死亡时,你可令一名其他角色获得〖朝凤〗。然后若你存活,则你获得〖龙胆〗、〖从谏〗和〖穿云〗。',
|
||||
chuanshu_info:'限定技。准备阶段,若你已受伤;或当你死亡时,你可令一名其他角色获得〖朝凤〗。然后你获得〖龙胆〗、〖从谏〗和〖穿云〗。',
|
||||
chuanyun:'穿云',
|
||||
chuanyun_info:'当你使用【杀】指定目标后,你可令目标角色随机弃置其装备区内的一张牌。',
|
||||
liuyong:'刘永',
|
||||
|
@ -11812,9 +11855,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
fengxiang_tag:'隙',
|
||||
zhangning:'张宁',
|
||||
tianze:'天则',
|
||||
tianze_info:'①每回合限触发一次。其他角色于其出牌阶段内使用♠手牌结算结束后,你可以弃置一张黑色牌,并对其造成1点伤害。②其他角色的判定生效后,若结果为♠,则你摸一张牌。',
|
||||
tianze_info:'①每回合限触发一次。其他角色于其出牌阶段内使用的黑色手牌结算结束后,你可以弃置一张黑色牌,并对其造成1点伤害。②其他角色的判定生效后,若结果为黑色,则你摸一张牌。',
|
||||
difa:'地法',
|
||||
difa_info:'当你于回合内因摸牌而获得♥牌时,你可以弃置之。然后你选择一个锦囊牌的牌名,并从牌堆中获得一张此牌名的牌。',
|
||||
difa_info:'每回合限一次。当你于回合内因摸牌而获得红色牌时,你可以弃置之。然后你选择一个锦囊牌的牌名,并从牌堆中获得一张此牌名的牌。',
|
||||
re_xunchen:'荀谌',
|
||||
refenglve:'锋略',
|
||||
refenglve_info:'出牌阶段限一次,你可以和一名其他角色进行拼点。若你赢,其将区域内的两张牌交给你;若平局,则你令此技能于本阶段内的发动次数上限+1;若你输,你交给其一张牌。',
|
||||
|
|
|
@ -3254,7 +3254,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
}
|
||||
},
|
||||
wengua3:{},
|
||||
wengua3:{charlotte:true},
|
||||
daiyan:{
|
||||
audio:2,
|
||||
trigger:{player:'phaseJieshuBegin'},
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
window.noname_asset_list=[
|
||||
'v1.9.111',
|
||||
'v1.9.111.1',
|
||||
'audio/background/aozhan_chaoming.mp3',
|
||||
'audio/background/aozhan_online.mp3',
|
||||
'audio/background/aozhan_rewrite.mp3',
|
||||
|
@ -810,6 +810,18 @@ window.noname_asset_list=[
|
|||
'audio/die/re_nanhualaoxian.mp3',
|
||||
'audio/die/shen_sunce.mp3',
|
||||
'audio/die/yuanhuan.mp3',
|
||||
'audio/die/liuyong.mp3',
|
||||
'audio/die/mayuanyi.mp3',
|
||||
'audio/die/re_xunchen.mp3',
|
||||
'audio/die/simafu.mp3',
|
||||
'audio/die/sp_gaolan.mp3',
|
||||
'audio/die/sp_huaman.mp3',
|
||||
'audio/die/sp_wangshuang.mp3',
|
||||
'audio/die/sunyi.mp3',
|
||||
'audio/die/tongyuan.mp3',
|
||||
'audio/die/wanniangongzhu.mp3',
|
||||
'audio/die/yanpu.mp3',
|
||||
'audio/die/zuofen.mp3',
|
||||
|
||||
'audio/skill/decadezishou1.mp3',
|
||||
'audio/skill/decadezishou2.mp3',
|
||||
|
@ -3662,6 +3674,61 @@ window.noname_asset_list=[
|
|||
'audio/skill/tongduo2.mp3',
|
||||
'audio/skill/yingba1.mp3',
|
||||
'audio/skill/yingba2.mp3',
|
||||
'audio/skill/anyong1.mp3',
|
||||
'audio/skill/anyong2.mp3',
|
||||
'audio/skill/bihuo1.mp3',
|
||||
'audio/skill/bihuo2.mp3',
|
||||
'audio/skill/binghuo1.mp3',
|
||||
'audio/skill/binghuo2.mp3',
|
||||
'audio/skill/chaofeng1.mp3',
|
||||
'audio/skill/chaofeng2.mp3',
|
||||
'audio/skill/chenjie1.mp3',
|
||||
'audio/skill/chenjie2.mp3',
|
||||
'audio/skill/chuanshu1.mp3',
|
||||
'audio/skill/chuanshu2.mp3',
|
||||
'audio/skill/chuanyun.mp3',
|
||||
'audio/skill/fengxiang1.mp3',
|
||||
'audio/skill/fengxiang2.mp3',
|
||||
'audio/skill/huantu1.mp3',
|
||||
'audio/skill/huantu2.mp3',
|
||||
'audio/skill/jibing1.mp3',
|
||||
'audio/skill/jibing2.mp3',
|
||||
'audio/skill/lisi1.mp3',
|
||||
'audio/skill/lisi2.mp3',
|
||||
'audio/skill/longdan_tongyuan.mp3',
|
||||
'audio/skill/moucuan1.mp3',
|
||||
'audio/skill/moucuan2.mp3',
|
||||
'audio/skill/ocongjian_tongyuan.mp3',
|
||||
'audio/skill/refenglve1.mp3',
|
||||
'audio/skill/refenglve2.mp3',
|
||||
'audio/skill/shanxie1.mp3',
|
||||
'audio/skill/shanxie2.mp3',
|
||||
'audio/skill/spdengli1.mp3',
|
||||
'audio/skill/spdengli2.mp3',
|
||||
'audio/skill/spfangzong1.mp3',
|
||||
'audio/skill/spfangzong2.mp3',
|
||||
'audio/skill/spjungong1.mp3',
|
||||
'audio/skill/spjungong2.mp3',
|
||||
'audio/skill/spxiangzhen1.mp3',
|
||||
'audio/skill/spxiangzhen2.mp3',
|
||||
'audio/skill/spxizhan1.mp3',
|
||||
'audio/skill/spxizhan2.mp3',
|
||||
'audio/skill/wangjing1.mp3',
|
||||
'audio/skill/wangjing2.mp3',
|
||||
'audio/skill/xinghan1.mp3',
|
||||
'audio/skill/xinghan2.mp3',
|
||||
'audio/skill/xunde1.mp3',
|
||||
'audio/skill/xunde2.mp3',
|
||||
'audio/skill/yiyong1.mp3',
|
||||
'audio/skill/yiyong2.mp3',
|
||||
'audio/skill/zaoli1.mp3',
|
||||
'audio/skill/zaoli2.mp3',
|
||||
'audio/skill/zhaosong1.mp3',
|
||||
'audio/skill/zhaosong2.mp3',
|
||||
'audio/skill/zhenge1.mp3',
|
||||
'audio/skill/zhenge2.mp3',
|
||||
'audio/skill/zhuning1.mp3',
|
||||
'audio/skill/zhuning2.mp3',
|
||||
|
||||
'audio/voice/male/0.mp3',
|
||||
'audio/voice/male/1.mp3',
|
||||
|
@ -4646,6 +4713,14 @@ window.noname_asset_list=[
|
|||
'image/character/tw_yujin.jpg',
|
||||
'image/character/wanniangongzhu.jpg',
|
||||
'image/character/zhangning.jpg',
|
||||
'image/character/mayuanyi.jpg',
|
||||
'image/character/re_wangyi.jpg',
|
||||
'image/character/simafu.jpg',
|
||||
'image/character/sp_gaolan.jpg',
|
||||
'image/character/sp_huaman.jpg',
|
||||
'image/character/sp_wangshuang.jpg',
|
||||
'image/character/sunyi.jpg',
|
||||
'image/character/yanpu.jpg',
|
||||
|
||||
'image/character/baiwuchang.jpg',
|
||||
'image/character/baosanniang.jpg',
|
||||
|
|
20
game/game.js
|
@ -53668,6 +53668,7 @@
|
|||
}
|
||||
result2+=temp02;
|
||||
result1+=temp01;
|
||||
if(typeof card=='object'){
|
||||
if(get.attitude(player,target)<0){
|
||||
result2*=Math.sqrt(threaten);
|
||||
}
|
||||
|
@ -53691,24 +53692,7 @@
|
|||
if(target.hp==4) result2*=0.9;
|
||||
if(target.hp==5) result2*=0.8;
|
||||
if(target.hp>5) result2*=0.6;
|
||||
// if(get.attitude(player,target)<0){
|
||||
// result2*=threaten;
|
||||
// }
|
||||
// else{
|
||||
// result2*=Math.sqrt(threaten);
|
||||
// }
|
||||
// if(target.hp<=1) result2*=2;
|
||||
// if(target.hp==2) result2*=1.1;
|
||||
// if(target.countCards('h')==0){
|
||||
// result2*=1.1;
|
||||
// if(get.tag(card,'respondSha')||get.tag(card,'respondShan')) result2*=1.4;
|
||||
// }
|
||||
// if(target.countCards('h')==1) result2*=1.05;
|
||||
// if(target.countCards('h')==2) result2*=1.02;
|
||||
// if(target.countCards('h')>3) result2*=0.9;
|
||||
// if(target.hp==4) result2*=0.9;
|
||||
// if(target.hp==5) result2*=0.8;
|
||||
// if(target.hp>5) result2*=0.6;
|
||||
}
|
||||
}
|
||||
else{
|
||||
result2+=temp02;
|
||||
|
|
|
@ -1,21 +1,20 @@
|
|||
window.noname_update={
|
||||
version:'1.9.111',
|
||||
update:'1.9.110.10.1',
|
||||
version:'1.9.111.1',
|
||||
update:'1.9.111',
|
||||
changeLog:[
|
||||
'观星类技能操作逻辑修改',
|
||||
'刘永、荀谌、童渊、TW于禁、万年公主、张宁',
|
||||
'国战南华老仙、周夷',
|
||||
'手杀新将',
|
||||
'十周年武将修改',
|
||||
'bug修复',
|
||||
],
|
||||
files:[
|
||||
'card/extra.js',
|
||||
//'card/extra.js',
|
||||
//'card/gujian.js',
|
||||
'card/guozhan.js',
|
||||
//'card/guozhan.js',
|
||||
//'card/gwent.js',
|
||||
//'card/huanlekapai.js',
|
||||
//'card/mtg.js',
|
||||
//'card/sp.js',
|
||||
'card/standard.js',
|
||||
//'card/standard.js',
|
||||
//'card/swd.js',
|
||||
//'card/yunchou.js',
|
||||
//'card/yingbian.js',
|
||||
|
@ -31,19 +30,19 @@ window.noname_update={
|
|||
'character/mobile.js',
|
||||
//'character/mtg.js',
|
||||
//'character/offline.js',
|
||||
'character/old.js',
|
||||
//'character/old.js',
|
||||
//'character/ow.js',
|
||||
'character/rank.js',
|
||||
'character/refresh.js',
|
||||
'character/shenhua.js',
|
||||
'character/sp.js',
|
||||
//'character/sp.js',
|
||||
'character/sp2.js',
|
||||
'character/tw.js',
|
||||
'character/standard.js',
|
||||
//'character/tw.js',
|
||||
//'character/standard.js',
|
||||
//'character/swd.js',
|
||||
//'character/xianjian.js',
|
||||
//'character/xinghuoliaoyuan.js',
|
||||
'character/yingbian.js',
|
||||
//'character/yingbian.js',
|
||||
'character/yijiang.js',
|
||||
//'character/yxs.js',
|
||||
//'extension/boss/extension.js',
|
||||
|
@ -54,11 +53,11 @@ window.noname_update={
|
|||
//'layout/mobile/equip.css',
|
||||
//'mode/boss.js',
|
||||
//'mode/brawl.js',
|
||||
//'mode/chess.js',
|
||||
'mode/chess.js',
|
||||
//'mode/connect.js',
|
||||
//'mode/doudizhu.js',
|
||||
'mode/guozhan.js',
|
||||
//'mode/identity.js',
|
||||
'mode/identity.js',
|
||||
//'mode/single.js',
|
||||
//'mode/stone.js',
|
||||
//'mode/tafang.js',
|
||||
|
|
After Width: | Height: | Size: 174 KiB |
After Width: | Height: | Size: 173 KiB |
After Width: | Height: | Size: 145 KiB |
After Width: | Height: | Size: 184 KiB |
After Width: | Height: | Size: 338 KiB |
After Width: | Height: | Size: 178 KiB |
After Width: | Height: | Size: 134 KiB |
After Width: | Height: | Size: 142 KiB |
|
@ -1303,6 +1303,16 @@ body>.background.land {
|
|||
bottom: 5px;
|
||||
right: 5px;
|
||||
text-align: right;
|
||||
text-shadow: rgba(213, 194, 179,1) 0 0 3px,rgba(213, 194, 179,1) 0 0 3px,rgba(213, 194, 179,1) 0 0 3px,
|
||||
rgba(213, 194, 179,1) 0 0 3px,black 0 0 3px;
|
||||
}
|
||||
.card>.gaintag {
|
||||
bottom: 5px;
|
||||
left: 5px;
|
||||
text-align: left;
|
||||
color: white;
|
||||
text-shadow: rgba(255, 120, 0,1) 0 0 2px,rgba(255, 120, 0,1) 0 0 2px,rgba(255, 120, 0,1) 0 0 2px,
|
||||
rgba(255, 120, 0,1) 0 0 2px,black 0 0 1px;
|
||||
}
|
||||
.card>.name {
|
||||
top: 9px;
|
||||
|
@ -1437,6 +1447,10 @@ div:not(.handcards)>.card>.info>span,
|
|||
.button.card.button>.intro {
|
||||
top: 69px;
|
||||
}
|
||||
.buttons.guanxing {
|
||||
min-height: 110px;
|
||||
width: 90%;
|
||||
}
|
||||
.buttons.smallzoom {
|
||||
display: block;
|
||||
zoom: 0.65
|
||||
|
@ -1453,10 +1467,10 @@ div:not(.handcards)>.card>.info>span,
|
|||
margin-left: 0px;
|
||||
margin-right: 0px;
|
||||
}
|
||||
.buttons.scrollbuttons .button:first-child{
|
||||
.buttons.scrollbuttons:not(.popup) .button:first-child{
|
||||
margin-left: 12px;
|
||||
}
|
||||
.buttons.scrollbuttons .button:last-child{
|
||||
.buttons.scrollbuttons:not(.popup) .button:last-child{
|
||||
margin-right: 12px;
|
||||
}
|
||||
/*.buttons.smallzoom .card.button>.name,
|
||||
|
@ -1869,11 +1883,14 @@ div:not(.handcards)>.card>.info>span,
|
|||
}
|
||||
|
||||
.skill {
|
||||
font-size: 5px;
|
||||
left: 0 !important;
|
||||
width: 70px !important;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.skilln {
|
||||
left: 0 !important;
|
||||
width: 70px !important;
|
||||
}
|
||||
.skill>.card {
|
||||
transform: scale(0.56);
|
||||
transform-origin: top left;
|
||||
|
@ -1971,6 +1988,22 @@ div:not(.handcards)>.card>.info>span,
|
|||
transform: none !important;
|
||||
text-shadow: black 0 0 2px, black 0 0 3px;
|
||||
}
|
||||
|
||||
.button.replaceButton,
|
||||
.button.replaceButton.text{
|
||||
left: 2px;
|
||||
top: auto;
|
||||
text-align: center;
|
||||
width: 42px;
|
||||
right: auto;
|
||||
bottom: 3px;
|
||||
background-image: linear-gradient(rgba(150, 47, 47, 1), rgba(132, 43, 43, 1));
|
||||
border-radius: 3px;
|
||||
}
|
||||
.button.replaceButton>div{
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
}
|
||||
/*--------确认--------*/
|
||||
#control {
|
||||
text-align: center;
|
||||
|
@ -2096,6 +2129,7 @@ div:not(.handcards)>.card>.info>span,
|
|||
width: 100%;
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
/*opacity: 0;*/
|
||||
}
|
||||
.player:hover>.nameol {
|
||||
|
@ -2248,6 +2282,9 @@ div:not(.handcards)>.card>.info>span,
|
|||
#window>.damage.fullscreenavatar[data-nature='thunder']:not(.noshadow)>div:first-child>div{
|
||||
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0,0.5) 0 0 10px, rgba(0, 0, 0,0.3) 0 0 30px, rgba(100, 74, 139,1) 0 0 60px;
|
||||
}
|
||||
#window>.damage.fullscreenavatar[data-nature='kami']:not(.noshadow)>div:first-child>div{
|
||||
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0,0.5) 0 0 10px, rgba(0, 0, 0,0.3) 0 0 30px, rgba(90, 118, 99,1) 0 0 60px;
|
||||
}
|
||||
#window>.damage.fullscreenavatar[data-nature='metal']>div:first-child>div{
|
||||
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0,0.5) 0 0 10px, rgba(255, 0, 0,0.1) 0 0 30px, rgba(255, 203, 0,0.6) 0 0 80px;
|
||||
}
|
||||
|
@ -2257,6 +2294,9 @@ div:not(.handcards)>.card>.info>span,
|
|||
#window>.damage.fullscreenavatar[data-nature='water']>div:first-child>div{
|
||||
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0,0.5) 0 0 10px, rgba(0, 0, 0,0.3) 0 0 30px, rgba(78, 117, 140,1) 0 0 60px, rgba(78, 117, 140,1) 0 0 60px;
|
||||
}
|
||||
#window>.damage.fullscreenavatar[data-nature='ice']>div:first-child>div{
|
||||
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0,0.5) 0 0 20px, rgba(0, 0, 0,0.3) 0 0 40px, rgba(213, 194, 179, 1) 0 0 80px;
|
||||
}
|
||||
#window>.damage.fullscreenavatar[data-nature='soil']>div:first-child>div{
|
||||
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0,0.5) 0 0 10px, rgba(0, 0, 0,0.3) 0 0 30px, rgba(128, 59, 2,1) 0 0 60px;
|
||||
}
|
||||
|
@ -2724,28 +2764,38 @@ div:not(.handcards)>.card>.info>span,
|
|||
background-image: radial-gradient(circle at bottom left, rgb(255, 218, 71), rgb(224, 191, 62))
|
||||
}
|
||||
|
||||
.identitycircle > div > div[data-color='jin'] {
|
||||
background-image: radial-gradient(circle at bottom left, rgb(100, 74, 139), rgb(96, 72, 136))
|
||||
}
|
||||
|
||||
.identitycircle > div > div[data-color='key'] {
|
||||
background-image: radial-gradient(circle at bottom left, rgb(203, 177, 255), rgb(203, 177, 255))
|
||||
}
|
||||
|
||||
.unseen>.avatar,.unseen>.name:not(.name2),
|
||||
.unseen2>.avatar2,.unseen2>.name2 {
|
||||
opacity: 0 !important;
|
||||
}
|
||||
|
||||
.player[data-position='0'].unseen>.avatar,
|
||||
.player[data-position='0'].unseen2>.avatar2,
|
||||
.player[data-position='0'].unseen>.name:not(.name2):not(.name_seat),
|
||||
.player[data-position='0'].unseen2>.name2,
|
||||
.unseen_v>.avatar,
|
||||
.unseen2_v>.avatar2,
|
||||
.unseen_v>.name:not(.name2):not(.name_seat),
|
||||
.unseen2_v>.name2 {
|
||||
#arena:not(.observe) .player[data-position='0'].unseen>.avatar,
|
||||
#arena:not(.observe) .player[data-position='0'].unseen2>.avatar2,
|
||||
#arena:not(.observe) .player[data-position='0'].unseen>.name:not(.name2):not(.name_seat),
|
||||
#arena:not(.observe) .player[data-position='0'].unseen2>.name2,
|
||||
#arena:not(.observe) .unseen_v>.avatar,
|
||||
#arena:not(.observe) .unseen2_v>.avatar2,
|
||||
#arena:not(.observe) .unseen_v>.name:not(.name2):not(.name_seat),
|
||||
#arena:not(.observe) .unseen2_v>.name2 {
|
||||
opacity: 0.2 !important
|
||||
}
|
||||
|
||||
.player>.name_seat {
|
||||
opacity: 0;
|
||||
}
|
||||
.player:not([data-position='0']).unseen.unseen2>.name_seat {
|
||||
.player:not([data-position='0']).unseen.unseen2>.name_seat,
|
||||
.player:not([data-position='0']):not(.fullskin2).unseen>.name_seat {
|
||||
opacity: 1 !important;
|
||||
}
|
||||
|
||||
.linked>.avatar,.linked>.avatar2 {
|
||||
transform: rotate(-90deg);
|
||||
}
|
||||
|
@ -3187,6 +3237,47 @@ div:not(.handcards)>.card>.info>span,
|
|||
left: calc(50% + 20px);
|
||||
top: calc(50% + 80px)
|
||||
}
|
||||
#window>.player.connect[data-position='cx0']{
|
||||
left:calc(150% / 7 - 1275px / 7);
|
||||
top:calc(300% / 7 - 160px + 5px);
|
||||
}
|
||||
#window>.player.connect[data-position='cx1']{
|
||||
left:calc(247% / 7 - 850px / 7);
|
||||
top:calc(300% / 7 - 160px + 5px);
|
||||
}
|
||||
#window>.player.connect[data-position='cx2']{
|
||||
left:calc(350% / 7 - 525px / 7);
|
||||
top:calc(300% / 7 - 160px + 5px);
|
||||
}
|
||||
#window>.player.connect[data-position='cx3']{
|
||||
left:calc(453% / 7 - 200px / 7);
|
||||
top:calc(300% / 7 - 160px + 5px);
|
||||
}
|
||||
#window>.player.connect[data-position='cx4']{
|
||||
left:calc(550% / 7 + 125px / 7);
|
||||
top:calc(300% / 7 - 160px + 5px);
|
||||
}
|
||||
#window>.player.connect[data-position='cx5']{
|
||||
left:calc(150% / 7 - 1275px / 7);
|
||||
top:calc(400% / 7 - 40px + 5px);
|
||||
}
|
||||
#window>.player.connect[data-position='cx6']{
|
||||
left:calc(247% / 7 - 850px / 7);
|
||||
top:calc(400% / 7 - 40px + 5px);
|
||||
}
|
||||
#window>.player.connect[data-position='cx7']{
|
||||
left:calc(350% / 7 - 525px / 7);
|
||||
top:calc(400% / 7 - 40px + 5px);
|
||||
}
|
||||
#window>.player.connect[data-position='cx8']{
|
||||
left:calc(453% / 7 - 200px / 7);
|
||||
top:calc(400% / 7 - 40px + 5px);
|
||||
}
|
||||
#window>.player.connect[data-position='cx9']{
|
||||
left:calc(550% / 7 + 125px / 7);
|
||||
top:calc(400% / 7 - 40px + 5px);
|
||||
}
|
||||
|
||||
#window>.player.connect {
|
||||
width: 120px;
|
||||
}
|
||||
|
@ -3203,6 +3294,7 @@ div:not(.handcards)>.card>.info>span,
|
|||
top: auto;
|
||||
right: 20px;
|
||||
bottom: 20px;
|
||||
z-index: 5;
|
||||
}
|
||||
.connectevents.server{
|
||||
left: 20px;
|
||||
|
@ -3211,6 +3303,9 @@ div:not(.handcards)>.card>.info>span,
|
|||
.connectevents.left{
|
||||
transform: translateX(-85px);
|
||||
}
|
||||
.connectevents.left2{
|
||||
transform: translateX(-170px);
|
||||
}
|
||||
.connectevents.icon{
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
|
@ -3334,6 +3429,7 @@ div:not(.handcards)>.card>.info>span,
|
|||
#arena.selecting:not(.video) .player[data-position='0'] .card:not(.selectable)>.name2,
|
||||
#arena.selecting:not(.video) .player[data-position='0'] .card:not(.selectable)>.info,
|
||||
#arena.selecting:not(.video) .player[data-position='0'] .card:not(.selectable)>.range,
|
||||
#arena.selecting:not(.video) .player[data-position='0'] .card:not(.selectable)>.gaintag,
|
||||
#arena.selecting:not(.video) .player[data-position='0'] .card:not(.selectable)>.addinfo,
|
||||
#arena.selecting:not(.video) .player.current_action .card:not(.selectable)>.background,
|
||||
#arena.selecting:not(.video) .player.current_action .card:not(.selectable)>.image,
|
||||
|
@ -3341,6 +3437,7 @@ div:not(.handcards)>.card>.info>span,
|
|||
#arena.selecting:not(.video) .player.current_action .card:not(.selectable)>.name2,
|
||||
#arena.selecting:not(.video) .player.current_action .card:not(.selectable)>.info,
|
||||
#arena.selecting:not(.video) .player.current_action .card:not(.selectable)>.range,
|
||||
#arena.selecting:not(.video) .player.current_action .card:not(.selectable)>.gaintag,
|
||||
#arena.selecting:not(.video) .player.current_action .card:not(.selectable)>.addinfo,
|
||||
#arena.selecting:not(.video) #me .card:not(.selectable)>.background,
|
||||
#arena.selecting:not(.video) #me .card:not(.selectable)>.image,
|
||||
|
@ -3348,8 +3445,9 @@ div:not(.handcards)>.card>.info>span,
|
|||
#arena.selecting:not(.video) #me .card:not(.selectable)>.name2,
|
||||
#arena.selecting:not(.video) #me .card:not(.selectable)>.info,
|
||||
#arena.selecting:not(.video) #me .card:not(.selectable)>.range,
|
||||
#arena.selecting:not(.video) #me .card:not(.selectable)>.gaintag,
|
||||
#arena.selecting:not(.video) #me .card:not(.selectable)>.addinfo,
|
||||
#arena.selecting:not(.video) .dialog:not(.noselect) .button:not(.selectable):not(.noclick),
|
||||
#arena.selecting:not(.video) .dialog:not(.noselect) .button:not(.selectable):not(.noclick):not(.replaceButton),
|
||||
.dead,.likedead {
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
@ -3376,7 +3474,7 @@ div:not(.handcards)>.card>.info>span,
|
|||
#window:not(.nopointer) .pointertable td>span,
|
||||
#window:not(.nopointer) .config>.toggle.onoff,
|
||||
#window:not(.nopointer) .pointerdialog .button:not(.unselectable),
|
||||
#window:not(.nopointer) .dialog.fullheight .buttons .button:not(.selectedx):not(.glow):not(.forbidden),
|
||||
#window:not(.nopointer) .dialog.fullheight .buttons .button:not(.selectedx):not(.glow):not(.glows):not(.forbidden),
|
||||
#window:not(.nopointer) #arena.selecting:not(.video) .player .equips>.card.selectable,
|
||||
#window:not(.nopointer) #arena.selecting #me .card.selectable,
|
||||
#window:not(.nopointer) #arena.selecting .button.selectable,
|
||||
|
@ -3432,6 +3530,7 @@ div:not(.handcards)>.card>.info>span,
|
|||
.card.selectable>.name2,
|
||||
.card.selectable>.info,
|
||||
.card.selectable>.range,
|
||||
.card.selectable>.gaintag,
|
||||
.button.selectable {
|
||||
opacity: 1;
|
||||
}
|
||||
|
@ -3446,6 +3545,12 @@ div:not(.handcards)>.card>.info>span,
|
|||
.thunder {
|
||||
color: rgba(0,80,255,0.3);
|
||||
}
|
||||
.kami {
|
||||
color: rgba(90,118,99,0.3);
|
||||
}
|
||||
.ice {
|
||||
color: rgba(0,153,255,0.3);
|
||||
}
|
||||
.poison {
|
||||
color: rgba(30, 133, 51,0.4);
|
||||
}
|
||||
|
@ -3777,6 +3882,7 @@ span[data-nature='keymm'] {
|
|||
.player .identity[data-color="ye"],
|
||||
.player .identity[data-color="rYe"],
|
||||
.player .identity[data-color="bYe"],
|
||||
.player .identity[data-color="jin"],
|
||||
div[data-nature='thunder'],
|
||||
span[data-nature='thunder'] {
|
||||
text-shadow: rgba(100, 74, 139,1) 0 0 2px,rgba(100, 74, 139,1) 0 0 5px,rgba(100, 74, 139,1) 0 0 10px,
|
||||
|
@ -3793,6 +3899,23 @@ span[data-nature='thundermm'] {
|
|||
rgba(100, 74, 139,1) 0 0 2px,black 0 0 1px;
|
||||
}
|
||||
|
||||
.player .identity[data-color="kami"],
|
||||
div[data-nature='kami'],
|
||||
span[data-nature='kami'] {
|
||||
text-shadow: rgba(90, 118, 99,1) 0 0 2px,rgba(90, 118, 99,1) 0 0 5px,rgba(90, 118, 99,1) 0 0 10px,
|
||||
rgba(90, 118, 99,1) 0 0 10px,rgba(90, 118, 99,1) 0 0 20px,rgba(90, 118, 99,1) 0 0 20px,black 0 0 1px;
|
||||
}
|
||||
div[data-nature='kamim'],
|
||||
span[data-nature='kamim'] {
|
||||
text-shadow: rgba(90, 118, 99,1) 0 0 2px,rgba(90, 118, 99,1) 0 0 5px,rgba(90, 118, 99,1) 0 0 5px,
|
||||
rgba(90, 118, 99,1) 0 0 5px,black 0 0 1px;
|
||||
}
|
||||
div[data-nature='kamimm'],
|
||||
span[data-nature='kamimm'] {
|
||||
text-shadow: rgba(90, 118, 99,1) 0 0 2px,rgba(90, 118, 99,1) 0 0 2px,rgba(90, 118, 99,1) 0 0 2px,
|
||||
rgba(90, 118, 99,1) 0 0 2px,black 0 0 1px;
|
||||
}
|
||||
|
||||
.player .identity[data-color="fan"],
|
||||
.player .identity[data-color="wu"],
|
||||
div[data-nature='wood'],
|
||||
|
@ -3883,6 +4006,27 @@ span[data-nature='graymx'] {
|
|||
rgba(213, 194, 179,1) 0 0 5px,black 0 0 1px;
|
||||
}
|
||||
|
||||
div[data-nature='ice'],
|
||||
span[data-nature='ice'] {
|
||||
text-shadow: rgba(213, 194, 179,1) 0 0 2px,rgba(213, 194, 179,1) 0 0 5px,rgba(213, 194, 179,1) 0 0 10px,
|
||||
rgba(213, 194, 179,1) 0 0 10px,rgba(213, 194, 179,1) 0 0 20px,rgba(213, 194, 179,1) 0 0 20px,black 0 0 1px;
|
||||
}
|
||||
div[data-nature='icem'],
|
||||
span[data-nature='icem'] {
|
||||
text-shadow: rgba(213, 194, 179,1) 0 0 2px,rgba(213, 194, 179,1) 0 0 5px,rgba(213, 194, 179,1) 0 0 5px,
|
||||
rgba(213, 194, 179,1) 0 0 5px,black 0 0 1px;
|
||||
}
|
||||
div[data-nature='icemm'],
|
||||
span[data-nature='icemm'] {
|
||||
text-shadow: rgba(213, 194, 179,1) 0 0 2px,rgba(213, 194, 179,1) 0 0 2px,rgba(213, 194, 179,1) 0 0 2px,
|
||||
rgba(213, 194, 179,1) 0 0 2px,black 0 0 1px;
|
||||
}
|
||||
div[data-nature='icemx'],
|
||||
span[data-nature='icemx'] {
|
||||
text-shadow: black 0 0 1px,rgba(213, 194, 179,0.2) 0 0 2px,rgba(213, 194, 179,1) 0 0 2px,rgba(213, 194, 179,1) 0 0 5px,
|
||||
rgba(213, 194, 179,1) 0 0 5px,black 0 0 1px;
|
||||
}
|
||||
|
||||
.player .identity[data-color="unknownx"],
|
||||
div[data-nature='black'],
|
||||
span[data-nature='black'] {
|
||||
|
@ -4048,6 +4192,14 @@ div[data-decoration="bronze"]::after{
|
|||
color: #152E63;
|
||||
border: 1px solid #152E63;
|
||||
}
|
||||
.card.fullskin.kami>.name {
|
||||
color: #1F3C38;
|
||||
border: 1px solid #1F3C38;
|
||||
}
|
||||
.card.fullskin.ice>.name {
|
||||
color: #3B6273;
|
||||
border: 1px solid #3B6273;
|
||||
}
|
||||
.card.fullskin.fire>.name {
|
||||
color: #631515;
|
||||
border: 1px solid #631515;
|
||||
|
@ -4220,10 +4372,16 @@ div[data-decoration="bronze"]::after{
|
|||
.greentext {
|
||||
color: rgb(104,221,127);
|
||||
}
|
||||
.icetext {
|
||||
color: rgb(59, 98, 115);
|
||||
}
|
||||
.thundertext,
|
||||
.controlthundertext {
|
||||
color: rgb(117,186,255);
|
||||
}
|
||||
.kamitext {
|
||||
color: rgb(90,118,99);
|
||||
}
|
||||
.whitetext .thundertext {
|
||||
color: white;
|
||||
}
|
||||
|
@ -4313,15 +4471,12 @@ div[data-decoration="bronze"]::after{
|
|||
top: 74px;
|
||||
right: 6px;
|
||||
}
|
||||
.tempname {
|
||||
font-family: 'huangcao','xinwei';
|
||||
font-size: 20px;
|
||||
color: white !important;
|
||||
pointer-events: none;
|
||||
}
|
||||
.card .tempname {
|
||||
top: 6px;
|
||||
left: 6px;
|
||||
font-size: 22px;
|
||||
color: white !important;
|
||||
pointer-events: none;
|
||||
}
|
||||
/*.card.equip1 .wunature,
|
||||
.card.equip3 .wunature,
|
||||
|
@ -4409,6 +4564,11 @@ div[data-decoration="bronze"]::after{
|
|||
#me>div:not(.scrollh)>.handcards>.card.selected{
|
||||
top:-20px;
|
||||
}*/
|
||||
|
||||
#me .card.glows {
|
||||
opacity: 1;
|
||||
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px,rgb(255, 153, 51) 0 0 5px, rgba(255, 153, 51,1) 0 0 10px;
|
||||
}
|
||||
.glow:not(.button):not(.card){
|
||||
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 133, 255, 0.4) 0 0 5px, rgba(0, 133, 255, 0.5) 0 0 12px, rgba(0, 133, 255, 0.8) 0 0 15px !important;
|
||||
}
|
||||
|
|
|
@ -517,11 +517,11 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
return grids;
|
||||
},
|
||||
chooseToMove:function(num,prompt){
|
||||
var next=game.createEvent('chooseToMove');
|
||||
chooseToMoveChess:function(num,prompt){
|
||||
var next=game.createEvent('chooseToMoveChess');
|
||||
next.num=num||1;
|
||||
next.player=this;
|
||||
next.setContent('chooseToMove');
|
||||
next.setContent('chooseToMoveChess');
|
||||
next.prompt=prompt;
|
||||
return next;
|
||||
},
|
||||
|
@ -1243,7 +1243,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
game.modeSwapPlayer(player);
|
||||
}
|
||||
},
|
||||
chooseToMove:function(){
|
||||
chooseToMoveChess:function(){
|
||||
"step 0"
|
||||
if(!player.movable(0,1)&&!player.movable(0,-1)&&
|
||||
!player.movable(1,0)&&!player.movable(-1,0)){
|
||||
|
@ -5102,7 +5102,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.chooseToMove(2,get.prompt('pianyi'));
|
||||
player.chooseToMoveChess(2,get.prompt('pianyi'));
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.logSkill('pianyi');
|
||||
|
@ -5119,7 +5119,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.chooseToMove(player.getHistory('useCard',function(evt){
|
||||
player.chooseToMoveChess(player.getHistory('useCard',function(evt){
|
||||
return evt.card.name=='sha';
|
||||
}).length,get.prompt('lingdong'));
|
||||
"step 1"
|
||||
|
@ -5308,7 +5308,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
"step 0"
|
||||
var move=2;
|
||||
move=game.checkMod(player,move,'chessMove',player);
|
||||
player.chooseToMove(move).phasing=true;
|
||||
player.chooseToMoveChess(move).phasing=true;
|
||||
"step 1"
|
||||
if(ui.confirm){
|
||||
ui.confirm.classList.add('removing');
|
||||
|
|
|
@ -722,25 +722,30 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
return !lib.filter.cardDiscardable(card,player,'gzduannian');
|
||||
},'h');
|
||||
},
|
||||
check:function(card){
|
||||
check:function(event,player){
|
||||
return player.countCards('h',function(card){
|
||||
return get.value(card)>=6;
|
||||
})<=Math.max(1,player.countCards('h')/2);
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var cards=player.getCards('h',function(card){
|
||||
return lib.filter.cardDiscardable(card,player,'gzduannian');
|
||||
});
|
||||
if(cards.length){
|
||||
player.discard(cards);
|
||||
player.draw(cards.length);
|
||||
}
|
||||
else event.finish();
|
||||
'step 1'
|
||||
player.drawTo(Math.min(5,player.maxHp));
|
||||
},
|
||||
},
|
||||
gzlianyou:{
|
||||
trigger:{player:'die'},
|
||||
direct:true,
|
||||
forceDie:true,
|
||||
skillAnimation:true,
|
||||
animationColor:'fire',
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseTarget(lib.filter.notMe,get.prompt('gzlianyou'),'令一名其他角色获得〖兴火〗').set('forceDie',true).set('ai',function(target){
|
||||
|
@ -757,7 +762,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
derivation:'gzxinghuo',
|
||||
},
|
||||
gzxinghuo:{
|
||||
trigger:{player:'damageBegin1'},
|
||||
trigger:{source:'damageBegin1'},
|
||||
forced:true,
|
||||
filter:function(event){
|
||||
return event.nature=='fire';
|
||||
|
|
164
mode/identity.js
|
@ -2826,20 +2826,20 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
silent:true,
|
||||
content:function(){
|
||||
"step 0"
|
||||
if(player.isUnderControl()){
|
||||
game.swapPlayerAuto(player);
|
||||
}
|
||||
var num=3;
|
||||
var cards=get.cards(num);
|
||||
event.cards=cards;
|
||||
var switchToAuto=function(){
|
||||
_status.imchoosing=false;
|
||||
if(event.dialog) event.dialog.close();
|
||||
if(event.control) event.control.close();
|
||||
var cards=get.cards(3);
|
||||
game.cardsGotoOrdering(cards);
|
||||
var next=player.chooseToMove();
|
||||
next.set('list',[
|
||||
['牌堆顶',cards],
|
||||
['牌堆底'],
|
||||
]);
|
||||
next.set('prompt','观星:点击将牌移动到牌堆顶或牌堆底');
|
||||
next.processAI=function(list){
|
||||
var cards=list[0][1],player=_status.event.player;
|
||||
var top=[];
|
||||
var judges=player.getCards('j');
|
||||
var stopped=false;
|
||||
if(!player.countCards('h','wuxie')){
|
||||
if(!player.hasWuxie()){
|
||||
for(var i=0;i<judges.length;i++){
|
||||
var judge=get.judge(judges[i]);
|
||||
cards.sort(function(a,b){
|
||||
|
@ -2864,6 +2864,12 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
}
|
||||
bottom=cards;
|
||||
return [top,bottom];
|
||||
}
|
||||
"step 1"
|
||||
var top=result.moved[0];
|
||||
var bottom=result.moved[1];
|
||||
top.reverse();
|
||||
for(var i=0;i<top.length;i++){
|
||||
ui.cardPile.insertBefore(top[i],ui.cardPile.firstChild);
|
||||
}
|
||||
|
@ -2872,140 +2878,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
player.popup(get.cnNumber(top.length)+'上'+get.cnNumber(bottom.length)+'下');
|
||||
game.log(player,'将'+get.cnNumber(top.length)+'张牌置于牌堆顶');
|
||||
game.delay(2);
|
||||
};
|
||||
var chooseButton=function(online,player,cards){
|
||||
var event=_status.event;
|
||||
player=player||event.player;
|
||||
cards=cards||event.cards;
|
||||
event.top=[];
|
||||
event.bottom=[];
|
||||
event.status=true;
|
||||
event.dialog=ui.create.dialog('按顺序选择置于牌堆顶的牌(先选择的在上)',cards);
|
||||
for(var i=0;i<event.dialog.buttons.length;i++){
|
||||
event.dialog.buttons[i].classList.add('pointerdiv');
|
||||
}
|
||||
event.switchToAuto=function(){
|
||||
event._result='ai';
|
||||
event.dialog.close();
|
||||
event.control.close();
|
||||
_status.imchoosing=false;
|
||||
},
|
||||
event.control=ui.create.control('ok','pileTop','pileBottom',function(link){
|
||||
var event=_status.event;
|
||||
if(link=='ok'){
|
||||
if(online){
|
||||
event._result={
|
||||
top:[],
|
||||
bottom:[]
|
||||
}
|
||||
for(var i=0;i<event.top.length;i++){
|
||||
event._result.top.push(event.top[i].link);
|
||||
}
|
||||
for(var i=0;i<event.bottom.length;i++){
|
||||
event._result.bottom.push(event.bottom[i].link);
|
||||
}
|
||||
}
|
||||
else{
|
||||
var i;
|
||||
for(i=0;i<event.top.length;i++){
|
||||
ui.cardPile.insertBefore(event.top[i].link,ui.cardPile.firstChild);
|
||||
}
|
||||
for(i=0;i<event.bottom.length;i++){
|
||||
ui.cardPile.appendChild(event.bottom[i].link);
|
||||
}
|
||||
for(i=0;i<event.dialog.buttons.length;i++){
|
||||
if(event.dialog.buttons[i].classList.contains('glow')==false&&
|
||||
event.dialog.buttons[i].classList.contains('target')==false)
|
||||
ui.cardPile.appendChild(event.dialog.buttons[i].link);
|
||||
}
|
||||
player.popup(get.cnNumber(event.top.length)+'上'+get.cnNumber(event.cards.length-event.top.length)+'下');
|
||||
game.log(player,'将'+get.cnNumber(event.top.length)+'张牌置于牌堆顶');
|
||||
}
|
||||
event.dialog.close();
|
||||
event.control.close();
|
||||
game.resume();
|
||||
_status.imchoosing=false;
|
||||
}
|
||||
else if(link=='pileTop'){
|
||||
event.status=true;
|
||||
event.dialog.content.childNodes[0].innerHTML='按顺序选择置于牌堆顶的牌';
|
||||
}
|
||||
else{
|
||||
event.status=false;
|
||||
event.dialog.content.childNodes[0].innerHTML='按顺序选择置于牌堆底的牌';
|
||||
}
|
||||
})
|
||||
for(var i=0;i<event.dialog.buttons.length;i++){
|
||||
event.dialog.buttons[i].classList.add('selectable');
|
||||
}
|
||||
event.custom.replace.button=function(link){
|
||||
var event=_status.event;
|
||||
if(link.classList.contains('target')){
|
||||
link.classList.remove('target');
|
||||
event.top.remove(link);
|
||||
}
|
||||
else if(link.classList.contains('glow')){
|
||||
link.classList.remove('glow');
|
||||
event.bottom.remove(link);
|
||||
}
|
||||
else if(event.status){
|
||||
link.classList.add('target');
|
||||
event.top.unshift(link);
|
||||
}
|
||||
else{
|
||||
link.classList.add('glow');
|
||||
event.bottom.push(link);
|
||||
}
|
||||
}
|
||||
event.custom.replace.window=function(){
|
||||
for(var i=0;i<_status.event.dialog.buttons.length;i++){
|
||||
_status.event.dialog.buttons[i].classList.remove('target');
|
||||
_status.event.dialog.buttons[i].classList.remove('glow');
|
||||
_status.event.top.length=0;
|
||||
_status.event.bottom.length=0;
|
||||
}
|
||||
}
|
||||
game.pause();
|
||||
game.countChoose();
|
||||
};
|
||||
event.switchToAuto=switchToAuto;
|
||||
|
||||
if(event.isMine()){
|
||||
chooseButton();
|
||||
event.finish();
|
||||
}
|
||||
else if(event.isOnline()){
|
||||
event.player.send(chooseButton,true,event.player,event.cards);
|
||||
event.player.wait();
|
||||
game.pause();
|
||||
}
|
||||
else{
|
||||
event.switchToAuto();
|
||||
event.finish();
|
||||
}
|
||||
"step 1"
|
||||
if(event.result=='ai'||!event.result){
|
||||
event.switchToAuto();
|
||||
}
|
||||
else{
|
||||
var top=event.result.top||[];
|
||||
var bottom=event.result.bottom||[];
|
||||
for(var i=0;i<top.length;i++){
|
||||
ui.cardPile.insertBefore(top[i],ui.cardPile.firstChild);
|
||||
}
|
||||
for(i=0;i<bottom.length;i++){
|
||||
ui.cardPile.appendChild(bottom[i]);
|
||||
}
|
||||
for(i=0;i<event.cards.length;i++){
|
||||
if(!top.contains(event.cards[i])&&!bottom.contains(event.cards[i])){
|
||||
ui.cardPile.appendChild(event.cards[i]);
|
||||
}
|
||||
}
|
||||
player.popup(get.cnNumber(top.length)+'上'+get.cnNumber(event.cards.length-top.length)+'下');
|
||||
game.log(player,'将'+get.cnNumber(top.length)+'张牌置于牌堆顶');
|
||||
game.delay(2);
|
||||
}
|
||||
game.updateRoundNumber();
|
||||
game.delayx();
|
||||
}
|
||||
},
|
||||
identity_dajiang:{
|
||||
|
|