This commit is contained in:
libccy 2016-02-14 17:04:31 +08:00
parent a1663e1720
commit e99a390fe2
17 changed files with 525 additions and 74 deletions

View File

@ -76,7 +76,7 @@ card.shenqi={
subtype:'equip5', subtype:'equip5',
skills:['kongxin'], skills:['kongxin'],
ai:{ ai:{
equipValue:8 equipValue:6
} }
}, },
shennongding:{ shennongding:{

View File

@ -299,7 +299,7 @@ character.diy={
ai:{ ai:{
effect:{ effect:{
target:function(card){ target:function(card){
if(get.type(card)=='delay') return [0,1]; if(get.type(card)=='delay') return [0,0.5];
} }
} }
} }

View File

@ -45,6 +45,9 @@ character.sp={
sunluyu:['female','wu',3,['meibu','mumu']], sunluyu:['female','wu',3,['meibu','mumu']],
hanba:['female','qun',4,['fentian','zhiri']], hanba:['female','qun',4,['fentian','zhiri']],
zumao:['male','wu',4,['yinbing','juedi']], zumao:['male','wu',4,['yinbing','juedi']],
daxiaoqiao:['female','wu',3,['xingwu','luoyan']],
sp_daqiao:['female','wu',3,['yanxiao','anxian']],
// sp_ganning:['male','wu',4,['yinling','junwei']],
}, },
perfectPair:{ perfectPair:{
zhugejin:['zhugeke'], zhugejin:['zhugeke'],
@ -61,8 +64,405 @@ character.sp={
jiangqing:['zhoutai'], jiangqing:['zhoutai'],
dingfeng:['xusheng'], dingfeng:['xusheng'],
caohong:['caoren'], caohong:['caoren'],
daxiaoqiao:['zhouyu','sunce'],
}, },
skill:{ skill:{
yanxiao:{
enable:'phaseUse',
filterCard:{suit:'diamond'},
filterTarget:true,
check:function(card){
return 7-ai.get.value(card);
},
discard:false,
prepare:function(cards,player,targets){
player.$give(cards,targets[0]);
},
line:'green',
content:function(){
if(target.skills.contains('yanxiao2')&&target.storage.yanxiao2){
target.storage.yanxiao2.push(cards[0]);
target.syncStorage('yanxiao2');
}
else{
target.storage.yanxiao2=cards.slice(0);
target.syncStorage('yanxiao2');
target.addSkill('yanxiao2');
}
},
ai:{
order:8,
result:{
target:function(player,target){
if(target.storage.yanxiao2&&target.storage.yanxiao2.length) return 0;
if(target.num('j')) return 1;
return 0;
}
}
}
},
yanxiao2:{
mark:true,
intro:{
content:'cards'
},
trigger:{player:'phaseJudgeBegin'},
forced:true,
content:function(){
var cards=player.storage.yanxiao2.concat(player.get('j'));
player.gain(cards,'gain2');
delete player.storage.yanxiao2;
player.removeSkill('yanxiao2');
game.log(player,'获得了',cards);
},
ai:{
effect:{
target:function(card){
if(get.type(card)=='delay') return [0,0.1];
}
}
}
},
anxian:{
group:['anxian_source','anxian_target'],
subSkill:{
source:{
trigger:{source:'damageBefore'},
filter:function(event,player){
return event.card&&event.card.name=='sha';
},
check:function(event,player){
if(ai.get.damageEffect(event.player,player,player)<=0) return true;
return false;
},
content:function(){
'step 0'
if(trigger.player.num('h')){
trigger.player.chooseToDiscard(true);
}
'step 1'
player.draw();
trigger.untrigger();
trigger.finish();
}
},
target:{
trigger:{target:'shaBefore'},
direct:true,
filter:function(event,player){
return player.num('h');
},
content:function(){
"step 0"
var next=player.chooseToDiscard('是否发动【安娴】?');
next.ai=function(card){
if(ai.get.attitude(player,trigger.player)>0){
return 9-ai.get.value(card);
}
if(player.num('h',{name:'shan'})) return -1;
return 7-ai.get.value(card);
};
next.logSkill='anxian';
"step 1"
if(result.bool){
trigger.player.draw();
trigger.untrigger();
trigger.finish();
}
},
}
}
},
luoyan:{
group:['luoyan_tianxiang','luoyan_liuli'],
subSkill:{
tianxiang:{
audio:2,
trigger:{player:'damageBefore'},
direct:true,
filter:function(event,player){
if(!player.storage.xingwu) return false;
if(!player.storage.xingwu.length) return false;
return player.num('h',{suit:'heart'})>0&&event.num>0;
},
content:function(){
"step 0"
player.chooseCardTarget({
filterCard:function(card){
return get.suit(card)=='heart';
},
filterTarget:function(card,player,target){
return player!=target;
},
ai1:function(card){
return 10-ai.get.value(card);
},
ai2:function(target){
var att=ai.get.attitude(player,target);
if(trigger.num>1){
if(target.maxHp>5&&target.hp>1) return -att/10;
return -att;
}
var eff=ai.get.damageEffect(target,trigger.source,target,trigger.nature);
if(att==0) return 0.1;
if(eff>=0&&trigger.num==1){
return att;
}
if(target.hp==target.maxHp) return -att;
if(target.hp==1){
if(target.maxHp<=4&&!target.hasSkillTag('maixie')){
if(target.maxHp<=3){
return -att;
}
return -att/2;
}
return 0;
}
if(target.hp==target.maxHp-1){
if(target.hp>2||target.hasSkillTag('maixie')) return att/5;
if(att>0) return 0.02;
return 0.05;
}
return att/2;
},
prompt:'天香:弃置一张红桃牌转移伤害'
});
"step 1"
if(result.bool){
player.logSkill('tianxiang',result.targets);
trigger.untrigger();
trigger.player=result.targets[0];
trigger.player.addSkill('tianxiang2');
player.discard(result.cards[0]);
}
else{
event.finish();
}
"step 2"
trigger.trigger('damageBefore');
},
ai:{
effect:{
target:function(card,player,target){
if(player.skills.contains('jueqing')) return;
if(get.tag(card,'damage')&&target.num('h')>1) return 0.7;
}
},
threaten:function(player,target){
if(target.num('h')==0) return 2;
}
}
},
liuli:{
audio:2,
trigger:{target:'shaBefore'},
direct:true,
priority:5,
filter:function(event,player){
if(!player.storage.xingwu) return false;
if(!player.storage.xingwu.length) return false;
if(player.num('he')==0) return false;
for(var i=0;i<game.players.length;i++){
if(get.distance(player,game.players[i],'attack')<=1&&
game.players[i]!=event.player&&game.players[i]!=player){
if(player.canUse(event.card,game.players[i])) return true;
}
}
return false;
},
content:function(){
"step 0"
var next=player.chooseCardTarget({
position:'he',
filterTarget:function(card,player,target){
if(get.distance(player,target,'attack')<=1&&
target!=trigger.player&&target!=player){
if(player.canUse(trigger.card,target)) return true;
}
return false;
},
ai1:function(card){
return ai.get.unuseful(card)+9;
},
ai2:function(target){
if(_status.event.player.num('h','shan')){
return -ai.get.attitude(_status.event.player,target);
}
if(ai.get.attitude(_status.event.player,target)<5){
return 6-ai.get.attitude(_status.event.player,target);
}
if(_status.event.player.hp==1&&player.num('h','shan')==0){
return 10-ai.get.attitude(_status.event.player,target);
}
if(_status.event.player.hp==2&&player.num('h','shan')==0){
return 8-ai.get.attitude(_status.event.player,target);
}
return -1;
},
prompt:'是否发动【流离】?'
});
"step 1"
if(result.bool){
player.discard(result.cards);
player.logSkill('liuli',result.targets);
trigger.target=result.targets[0];
trigger.targets.remove(player);
trigger.targets.push(result.targets[0]);
}
else{
event.finish();
}
"step 2"
trigger.untrigger();
trigger.trigger('useCardToBefore');
trigger.trigger('shaBefore');
game.delay();
},
ai:{
effect:{
target:function(card,player,target){
if(target.num('he')==0) return;
if(card.name!='sha') return;
var min=1;
var friend=ai.get.attitude(player,target)>0;
var vcard={name:'shacopy',nature:card.nature,suit:card.suit};
for(var i=0;i<game.players.length;i++){
if(player!=game.players[i]&&
ai.get.attitude(target,game.players[i])<0&&
target.canUse(card,game.players[i])){
if(!friend) return 0;
if(ai.get.effect(game.players[i],vcard,player,player)>0){
if(!player.canUse(card,game.players[0])){
return [0,0.1];
}
min=0;
}
}
}
return min;
}
}
}
}
}
},
xingwu:{
audio:2,
group:['xingwu_color','xingwu_color2'],
subSkill:{
color:{
trigger:{player:'phaseBegin'},
forced:true,
popup:false,
silent:true,
content:function(){
player.storage.xingwu_color=['black','red'];
}
},
color2:{
trigger:{player:'useCard'},
forced:true,
popup:false,
silent:true,
filter:function(event,player){
return Array.isArray(player.storage.xingwu_color)&&_status.currentPhase==player;
},
content:function(){
player.storage.xingwu_color.remove(get.color(trigger.card));
}
}
},
trigger:{player:'phaseEnd'},
direct:true,
filter:function(event,player){
var length=player.storage.xingwu_color.length;
if(length==0) return false;
var hs=player.get('h');
if(hs.length==0) return false;
if(length==2) return true;
var color=player.storage.xingwu_color[0];
for(var i=0;i<hs.length;i++){
if(get.color(hs[i])==color) return true;
}
return false;
},
intro:{
content:'cards'
},
init:function(player){
player.storage.xingwu=[];
},
content:function(){
'step 0'
player.chooseCard('是否发动【星舞】?',function(card){
return player.storage.xingwu_color.contains(get.color(card));
}).ai=function(card){
if(player.storage.xingwu.length==2){
var notarget=true;
for(var i=0;i<game.players.length;i++){
if(game.players[i]!=player&&game.players[i].sex=='male'&&
ai.get.damageEffect(game.players[i],player,player)>0&&
ai.get.attitude(player,game.players[i])<0){
notarget=false;break;
}
}
if(notarget) return 0;
}
return 7-ai.get.value(card);
}
'step 1'
if(result.bool){
player.logSkill('xingwu');
if(player.storage.xingwu.length<2){
player.$give(result.cards,player);
}
player.lose(result.cards,ui.special);
player.storage.xingwu=player.storage.xingwu.concat(result.cards);
player.markSkill('xingwu');
player.syncStorage('xingwu');
}
else{
event.finish();
}
'step 2'
if(player.storage.xingwu.length==3){
player.$throw(player.storage.xingwu);
while(player.storage.xingwu.length){
ui.discardPile.appendChild(player.storage.xingwu.shift());
}
player.unmarkSkill('xingwu');
player.chooseTarget(function(card,player,target){
return target!=player&&target.sex=='male';
},'对一名男性角色造成两点伤害并弃置其装备区内的牌').ai=function(target){
if(ai.get.attitude(player,target)>=0) return -1;
return ai.get.damageEffect(target,player,player)+target.num('e')/2;
}
}
else{
event.finish();
}
'step 3'
if(result.bool){
var target=result.targets[0];
target.damage(2);
event.target=target;
player.line(target,'green');
}
else{
event.finish();
}
'step 4'
if(event.target&&event.target.isAlive()){
var es=event.target.get('e');
if(es.length){
event.target.discard(es);
}
}
},
ai:{
threaten:1.5
}
},
yinbing:{ yinbing:{
trigger:{player:'phaseEnd'}, trigger:{player:'phaseEnd'},
direct:true, direct:true,
@ -4257,11 +4657,28 @@ character.sp={
hanba:'旱魃', hanba:'旱魃',
panfeng:'潘凤', panfeng:'潘凤',
zumao:'祖茂', zumao:'祖茂',
daxiaoqiao:'大小乔',
sp_daqiao:'sp大乔',
sp_ganning:'sp甘宁',
yinling:'银铃',
yinling_bg:'锦',
yinling_info:'出牌阶段,你可以弃置一张黑色牌并指定一名其他角色。若如此做,你获得其一张牌并置于你的武将牌上,称为“锦”(数量最多为四)',
junwei:'军威',
junwei_info:'回合结束阶段开始时你可以将三张“锦”置入弃牌堆。若如此做你须指定一名角色并令其选择一项1.亮出一张【闪】然后由你交给任意一名角色。2.该角色失去1点体力然后由你选择将其装备区的一张牌移出游戏。在该角色的回合结束后将以此法移出游戏的装备牌移回原处',
yanxiao:'言笑',
yanxiao2:'言笑',
yanxiao_info:'出牌阶段,你可以将一张♦牌置于一名角色的武将牌上,武将牌上有“言笑”牌的角色下个判定阶段开始时,获得言笑牌及其判定区里的所有牌',
anxian:'安娴',
anxian_info:'每当你使用【杀】对目标角色造成伤害时,你可以防止此次伤害,令其弃置一张手牌,然后你摸一张牌;当你成为【杀】的目标时,你可以弃置一张手牌使之无效,然后该【杀】的使用者摸一张牌',
xingwu:'星舞',
xingwu_info:'弃牌阶段开始时你可以将一张与你本回合使用的牌颜色均不同的手牌置于武将牌上若你有至少三张“星舞牌”你将之置入弃牌堆并选择一名男性角色该角色受到2点伤害并弃置其装备区的所有牌',
luoyan:'落雁',
luoyan_info:'锁定技。若你的武将牌上有“星舞牌”,你拥有“天香”和“流离”',
yinbing:'引兵', yinbing:'引兵',
yinbing_info:'结束阶段开始时,你可以将至少一张非基本牌置于武将牌上。每当你受到【杀】或【决斗】的伤害后,你将一张“引兵牌”置入弃牌堆。', yinbing_info:'结束阶段开始时,你可以将至少一张非基本牌置于武将牌上。每当你受到【杀】或【决斗】的伤害后,你将一张“引兵牌”置入弃牌堆。',
juedi:'绝地', juedi:'绝地',
juedi_info:'准备阶段开始时若你有“引兵牌”你可以选择一项1.将这些牌置入弃牌堆并摸等量的牌2.令一名体力值不大于你的其他角色回复1点体力并获得这些牌。 ', juedi_info:'准备阶段开始时若你有“引兵牌”你可以选择一项1.将这些牌置入弃牌堆并摸等量的牌2.令一名体力值不大于你的其他角色回复1点体力并获得这些牌',
kuangfu:'狂斧', kuangfu:'狂斧',
kuangfu_info:'每当你使用杀造成伤害,可以将对方的一张装备牌移到你的装备区', kuangfu_info:'每当你使用杀造成伤害,可以将对方的一张装备牌移到你的装备区',
xintan:'心惔', xintan:'心惔',
@ -4271,11 +4688,11 @@ character.sp={
zhiri:'炙日', zhiri:'炙日',
zhiri_info:'觉醒技准备阶段开始时若“焚”数不小于3你减1点体力上限然后获得技能“心惔”出牌阶段限一次你可以将两张“焚”置入弃牌堆并选择一名角色该角色失去一点体力', zhiri_info:'觉醒技准备阶段开始时若“焚”数不小于3你减1点体力上限然后获得技能“心惔”出牌阶段限一次你可以将两张“焚”置入弃牌堆并选择一名角色该角色失去一点体力',
meibu:'魅步', meibu:'魅步',
meibu_info:'一名其他角色的出牌阶段开始时,若你不在其攻击范围内,你可以令该角色的锦囊牌均视为【杀】,直到该角色以此法使用了一张【杀】或回合结束。若如此做,则直到回合结束,视为你在其攻击范围内', meibu_info:'一名其他角色的出牌阶段开始时,若你不在其攻击范围内,你可以令该角色的锦囊牌均视为【杀】,直到该角色以此法使用了一张【杀】或回合结束。若如此做,则直到回合结束,视为你在其攻击范围内',
mumu:'穆穆', mumu:'穆穆',
mumu_info:'出牌阶段限一次,你可以弃置一张【杀】或黑色锦囊牌,然后选择一项:弃置场上一张武器牌,然后摸一张牌;或将场上的一张防具牌移动到你的装备区里(可替换原防具)', mumu_info:'出牌阶段限一次,你可以弃置一张【杀】或黑色锦囊牌,然后选择一项:弃置场上一张武器牌,然后摸一张牌;或将场上的一张防具牌移动到你的装备区里(可替换原防具)',
zhanyi:'战意', zhanyi:'战意',
zhanyi_info:'出牌阶段限一次你可以弃置一张牌并失去1点体力然后根据你弃置的牌获得以下效果直到回合结束基本牌你可以将一张基本牌当任意一张基本牌使用或打出锦囊牌摸两张牌且你使用的牌无距离限制装备牌你使用【杀】指定目标角色后其弃置两张牌', zhanyi_info:'出牌阶段限一次你可以弃置一张牌并失去1点体力然后根据你弃置的牌获得以下效果直到回合结束基本牌你可以将一张基本牌当任意一张基本牌使用或打出锦囊牌摸两张牌且你使用的牌无距离限制装备牌你使用【杀】指定目标角色后其弃置两张牌',
nuzhan:'怒斩', nuzhan:'怒斩',
nuzhan_info:'锁定技,你使用的由一张锦囊牌转化而来的【杀】不计入限制的使用次数;锁定技,你使用的由一张装备牌转化而来的【杀】的伤害值基数+1', nuzhan_info:'锁定技,你使用的由一张锦囊牌转化而来的【杀】不计入限制的使用次数;锁定技,你使用的由一张装备牌转化而来的【杀】的伤害值基数+1',
danji:'单骑', danji:'单骑',

View File

@ -238,7 +238,7 @@ character.standard={
} }
} }
check=(num>=2); check=(num>=2);
player.chooseTarget('是否发动突袭?',[1,2],function(card,player,target){ player.chooseTarget('是否发动突袭',[1,2],function(card,player,target){
return target.num('h')>0&&player!=target; return target.num('h')>0&&player!=target;
}, },
function(target){ function(target){
@ -1085,6 +1085,7 @@ character.standard={
direct:true, direct:true,
priority:5, priority:5,
filter:function(event,player){ filter:function(event,player){
if(player.num('he')==0) return false;
for(var i=0;i<game.players.length;i++){ for(var i=0;i<game.players.length;i++){
if(get.distance(player,game.players[i],'attack')<=1&& if(get.distance(player,game.players[i],'attack')<=1&&
game.players[i]!=event.player&&game.players[i]!=player){ game.players[i]!=event.player&&game.players[i]!=player){
@ -1122,7 +1123,7 @@ character.standard={
} }
return -1; return -1;
}, },
prompt:'是否发动[流离]' prompt:'是否发动【流离】'
}); });
"step 1" "step 1"
if(result.bool){ if(result.bool){

View File

@ -489,7 +489,7 @@ character.yijiang={
trigger:{global:'phaseJudgeBegin'}, trigger:{global:'phaseJudgeBegin'},
direct:true, direct:true,
filter:function(event,player){ filter:function(event,player){
return event.player!=player&&event.player.num('j')>0; return event.player!=player&&event.player.num('j')>0&&get.distance(player,event.player,'attack')<=1;
}, },
content:function(){ content:function(){
'step 0' 'step 0'

View File

@ -22,7 +22,7 @@ character.yxs={
yxs_luobinhan:['male','wu',4,['xiadao','lzhangyi']], yxs_luobinhan:['male','wu',4,['xiadao','lzhangyi']],
yxs_chengjisihan:['male','qun',4,['mashu','qianglue']], yxs_chengjisihan:['male','qun',4,['mashu','qianglue']],
yxs_mingchenghuanghou:['female','shu',3,['tiewan','chajue']], yxs_mingchenghuanghou:['female','shu',3,['tiewan','chajue']],
yxs_wangzhaojun:['female','wei',3,['heqin','luoyan']], yxs_wangzhaojun:['female','wei',3,['heqin','wluoyan']],
yxs_luocheng:['male','wu',4,['hanqiang','biaoqi']], yxs_luocheng:['male','wu',4,['hanqiang','biaoqi']],
yxs_direnjie:['male','wei',3,['shentan','kanpo']], yxs_direnjie:['male','wei',3,['shentan','kanpo']],
yxs_sunwu:['male','wu',3,['bingsheng','taolue']], yxs_sunwu:['male','wu',3,['bingsheng','taolue']],
@ -424,6 +424,7 @@ character.yxs={
check:function(card){ check:function(card){
return 7-ai.get.value(card); return 7-ai.get.value(card);
}, },
position:'he',
content:function(){ content:function(){
"step 0" "step 0"
var hs=target.get('h'); var hs=target.get('h');
@ -487,16 +488,14 @@ character.yxs={
} }
} }
}, },
luoyan:{ wluoyan:{
trigger:{player:'damageBegin'}, trigger:{player:'damageBefore'},
forced:true, forced:true,
priority:-5,
filter:function(event){
return event.nature?true:false;
},
content:function(){ content:function(){
delete trigger.nature; trigger.untrigger();
} trigger.finish();
player.loseHp();
},
}, },
heqin:{ heqin:{
skillAnimation:true, skillAnimation:true,
@ -2154,8 +2153,8 @@ character.yxs={
hanqiang_info:'锁定技,当你没装备武器时,攻击范围+1', hanqiang_info:'锁定技,当你没装备武器时,攻击范围+1',
biaoqi:'骠骑', biaoqi:'骠骑',
biaoqi_info:'锁定技,当你出杀指定目标后,若你的攻击范围大于目标体力值,则此杀不可闪避;若你的攻击范围小于目标体力值,你摸一张牌', biaoqi_info:'锁定技,当你出杀指定目标后,若你的攻击范围大于目标体力值,则此杀不可闪避;若你的攻击范围小于目标体力值,你摸一张牌',
luoyan:'落雁', wluoyan:'落雁',
luoyan_info:'锁定技,你即将受到的属性伤害均改为无属性', wluoyan_info:'锁定技,你防止即将受到的伤害,改为流失一点体力',
heqin:'和亲', heqin:'和亲',
heqin2:'和亲', heqin2:'和亲',
heqin3:'和亲', heqin3:'和亲',

View File

@ -11,7 +11,7 @@ window.config={
'gjqt_bailitusu','yuanshao','swd_anka','swd_nicole','daqiao','re_daqiao', 'gjqt_bailitusu','yuanshao','swd_anka','swd_nicole','daqiao','re_daqiao',
'zhuran','huatuo','swd_tuwei','hs_guldan','wangyi','caoang','swd_guyue', 'zhuran','huatuo','swd_tuwei','hs_guldan','wangyi','caoang','swd_guyue',
'swd_jiangziya','guojia','re_guojia','shen_caocao','swd_qiner','caopi','hs_yngvar', 'swd_jiangziya','guojia','re_guojia','shen_caocao','swd_qiner','caopi','hs_yngvar',
'gjqt_aruan','swd_hanluo','hs_anduin','swd_huanglei','yxs_luzhishen'], 'gjqt_aruan','swd_hanluo','hs_anduin','swd_huanglei','yxs_luzhishen','swd_muyun'],
forbidchess:['hetaihou','swd_kangnalishi'], forbidchess:['hetaihou','swd_kangnalishi'],
forbidboss:['caiwenji','gjqt_aruan','pal_xuanxiao','swd_hupo'], forbidboss:['caiwenji','gjqt_aruan','pal_xuanxiao','swd_hupo'],
forbiddouble:['zhugedan','swd_kangnalishi','dongzhuo','wutugu','jg_simayi','hs_siwangzhiyi','hs_ronghejuren','hs_shanlingjuren'], forbiddouble:['zhugedan','swd_kangnalishi','dongzhuo','wutugu','jg_simayi','hs_siwangzhiyi','hs_ronghejuren','hs_shanlingjuren'],

View File

@ -19,8 +19,7 @@
version:1.78, version:1.78,
changeLog:[ changeLog:[
'修bug', '修bug',
'新年兽', '新武将SP',
'剑阁双将',
], ],
configprefix:'noname_0.9_', configprefix:'noname_0.9_',
updates:[], updates:[],
@ -993,20 +992,6 @@
init:true, init:true,
unfrequent:true, unfrequent:true,
}, },
target_shake:{
name:'出牌抖动',
init:true,
unfrequent:true,
onclick:function(bool){
game.saveConfig('target_shake',bool);
if(bool){
ui.arena.classList.remove('no_target_shake');
}
else{
ui.arena.classList.add('no_target_shake');
}
}
},
button_press:{ button_press:{
name:'按钮效果', name:'按钮效果',
init:true, init:true,
@ -1030,6 +1015,26 @@
name:'技能特效', name:'技能特效',
init:true, init:true,
}, },
target_shake:{
name:'目标效果',
init:'zoom',
item:{
off:'关闭',
zoom:'缩放',
shake:'抖动',
},
unfrequent:true,
onclick:function(bool){
game.saveConfig('target_shake',bool);
ui.arena.dataset.target_shake=bool;
// if(bool){
// ui.arena.classList.remove('no_target_shake');
// }
// else{
// ui.arena.classList.add('no_target_shake');
// }
}
},
name_font:{ name_font:{
name:'人名字体', name:'人名字体',
init:'xinwei', init:'xinwei',
@ -4481,7 +4486,7 @@
else if(info.line=='thunder'){ else if(info.line=='thunder'){
config.color='thunder'; config.color='thunder';
} }
else if(info.line===undefined){ else if(info.line===undefined||info.line=='green'){
config.color='green'; config.color='green';
} }
if(info.multitarget&&!info.multiline&&targets.length>1){ if(info.multitarget&&!info.multiline&&targets.length>1){
@ -13994,9 +13999,9 @@
if(lib.config.layout=='default'&&lib.config.hp_style=='official'){ if(lib.config.layout=='default'&&lib.config.hp_style=='official'){
ui.arena.classList.add('hpimage'); ui.arena.classList.add('hpimage');
} }
if(!lib.config.target_shake){ // if(!lib.config.target_shake){
ui.arena.classList.add('no_target_shake'); // ui.arena.classList.add('no_target_shake');
} // }
// var themeentry='background_color_'+lib.config.theme; // var themeentry='background_color_'+lib.config.theme;
// if(lib.config[themeentry]){ // if(lib.config[themeentry]){
// document.body.dataset[themeentry]=lib.config[themeentry]; // document.body.dataset[themeentry]=lib.config[themeentry];
@ -14006,6 +14011,8 @@
// document.body.dataset[themeentry]=lib.config[themeentry]; // document.body.dataset[themeentry]=lib.config[themeentry];
// } // }
ui.arena.dataset.target_shake=lib.config.target_shake||'zoom';
ui.arena.dataset.name_font=lib.config.name_font||'xinwei'; ui.arena.dataset.name_font=lib.config.name_font||'xinwei';
ui.arena.dataset.identity_font=lib.config.identity_font||'huangcao'; ui.arena.dataset.identity_font=lib.config.identity_font||'huangcao';
ui.arena.dataset.cardtext_font=lib.config.cardtext_font||'default'; ui.arena.dataset.cardtext_font=lib.config.cardtext_font||'default';

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@ -1037,8 +1037,11 @@ div:hover>.intro{opacity: 1;}
/*.player.target{-webkit-filter:brightness(1.2)}*/ /*.player.target{-webkit-filter:brightness(1.2)}*/
.target{box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px,rgba(255, 0, 0, 0.4) 0 0 5px, rgba(255, 0, 0, 0.5) 0 0 12px, rgba(255, 0, 0, 0.8) 0 0 15px !important} .target{box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px,rgba(255, 0, 0, 0.4) 0 0 5px, rgba(255, 0, 0, 0.5) 0 0 12px, rgba(255, 0, 0, 0.8) 0 0 15px !important}
#arena:not(.no_target_shake) .target{transform: rotate(-3deg);} #arena[data-target_shake='shake'] .target{transform: rotate(-3deg);}
#arena:not(.no_target_shake) .target2{transform: rotate(3deg);} #arena[data-target_shake='shake'] .target2{transform: rotate(3deg);}
#arena[data-target_shake='zoom'] .target,
#arena[data-target_shake='zoom'] .target2{transform: scale(1.03);}
.content>.config.line2{ .content>.config.line2{
transform:translateX(-5px); transform:translateX(-5px);

View File

@ -234,8 +234,12 @@
.player.linked{ .player.linked{
transform:rotate(-90deg); transform:rotate(-90deg);
} }
#arena:not(.no_target_shake) .linked.target{transform: rotate(-93deg);} #arena[data-target_shake='shake'] .linked.target{transform: rotate(-93deg);}
#arena:not(.no_target_shake) .linked.target2{transform: rotate(-87deg);} #arena[data-target_shake='shake'] .linked.target2{transform: rotate(-87deg);}
#arena[data-target_shake='zoom'] .linked.target,
#arena[data-target_shake='zoom'] .linked.target2{transform: scale(1.03) rotate(-90deg);}
.player.acted.linked .identity{ .player.acted.linked .identity{
transform:rotate(270deg); transform:rotate(270deg);

View File

@ -1,6 +1,6 @@
{ {
"name": "noname", "name": "noname",
"xwalk_version": "1.7.7", "xwalk_version": "1.7.8",
"start_url": "index.html", "start_url": "index.html",
"icons": [ "icons": [
{ {

View File

@ -788,12 +788,12 @@ mode.identity={
element:{ element:{
player:{ player:{
dieSpeak:function(){ dieSpeak:function(){
switch(this.identity){ // switch(this.identity){
case 'zhu': this.popup('吾降矣',2000);break; // case 'zhu': this.popup('吾降矣',2000);break;
case 'zhong': this.popup('呃啊',2000);break; // case 'zhong': this.popup('呃啊',2000);break;
case 'nei': this.popup('啊,被看穿了',2000);break; // case 'nei': this.popup('啊,被看穿了',2000);break;
case 'fan': this.popup('饶命啊',2000);break; // case 'fan': this.popup('饶命啊',2000);break;
} // }
}, },
dieAfter:function(source){ dieAfter:function(source){
this.dieSpeak(); this.dieSpeak();

View File

@ -692,12 +692,12 @@ mode.stone={
stone_siwangzhiyi:['male','qun',6,['stone_mieshi'],['minskin','stone','stonehidden','stonelegend'],[6,6]], stone_siwangzhiyi:['male','qun',6,['stone_mieshi'],['minskin','stone','stonehidden','stonelegend'],[6,6]],
stone_alaikesita:['male','qun',5,['stone_fushi'],['minskin','stone','stonehidden','stonelegend'],[6,5]], stone_alaikesita:['male','qun',5,['stone_fushi'],['minskin','stone','stonehidden','stonelegend'],[6,5]],
stone_yisela:['male','qun',6,['stone_chenshui'],['minskin','stone','stonehidden','stonelegend'],[6,3]], stone_yisela:['male','qun',6,['stone_chenshui'],['minskin','stone','stonehidden','stonelegend'],[6,2]],
stone_nuoziduomu:['male','qun',5,['stone_shixu'],['minskin','stone','stonehidden','stonelegend'],[6,5]], stone_nuoziduomu:['male','qun',5,['stone_shixu'],['minskin','stone','stonehidden','stonelegend'],[6,5]],
stone_maligousi:['male','qun',6,['stone_mowang'],['minskin','stone','stonehidden','stonelegend'],[6,3]], stone_maligousi:['male','qun',6,['stone_mowang'],['minskin','stone','stonehidden','stonelegend'],[6,2]],
stone_aolajier:['male','qun',6,['stone_chongfeng','shaman_fengnu','paladin_hudun','chaofeng'],['minskin','stone','stonehidden','stonelegend_shaman'],[6,4]], stone_aolajier:['male','qun',6,['stone_chongfeng','shaman_fengnu','paladin_hudun','chaofeng'],['minskin','stone','stonehidden','stonelegend_shaman'],[6,4]],
stone_andongni:['male','qun',6,['stone_zhiyin'],['minskin','stone','stonehidden','stonelegend_mage'],[6,6]], stone_andongni:['male','qun',6,['stone_zhiyin'],['minskin','stone','stonehidden','stonelegend_mage'],[6,4]],
stone_jialakesi:['male','qun',6,['stone_bianshen'],['minskin','stone','stonehidden','stonelegend_warlock'],[6,0]], stone_jialakesi:['male','qun',6,['stone_bianshen'],['minskin','stone','stonehidden','stonelegend_warlock'],[6,0]],
stone_jialakesix:['male','qun',6,['stone_lianyu'],['stonehidden','stonespecial']], stone_jialakesix:['male','qun',6,['stone_lianyu'],['stonehidden','stonespecial']],
stone_kelushi:['male','qun',8,['stone_chongfeng'],['minskin','stone','stonehidden','stonelegend_hunter'],[6,8]], stone_kelushi:['male','qun',8,['stone_chongfeng'],['minskin','stone','stonehidden','stonelegend_hunter'],[6,8]],
@ -1777,8 +1777,8 @@ mode.stone={
}, },
ai:{ ai:{
order:4, order:4,
value:5, value:3,
useful:5, useful:3,
result:{ result:{
target:function(player,target){ target:function(player,target){
if(target.side!=player.side){ if(target.side!=player.side){
@ -1817,8 +1817,8 @@ mode.stone={
}, },
ai:{ ai:{
order:7, order:7,
value:3, value:5,
useful:3, useful:5,
result:{ result:{
player:function(player){ player:function(player){
if(player.getEnemy().countFellow()>=2) return 1; if(player.getEnemy().countFellow()>=2) return 1;
@ -2121,6 +2121,7 @@ mode.stone={
'step 1' 'step 1'
if(event.targets.length){ if(event.targets.length){
event.targets.shift().die(); event.targets.shift().die();
event.redo();
} }
}, },
ai:{ ai:{
@ -2220,7 +2221,8 @@ mode.stone={
stoneact:2, stoneact:2,
career:'paladin', career:'paladin',
enable:function(card,player){ enable:function(card,player){
return player.getEnemy().countFellow()>player.countFellow(); var num=player.getEnemy().countFellow();
return num>0&&num>=player.countFellow();
}, },
fullimage:true, fullimage:true,
notarget:true, notarget:true,
@ -3302,7 +3304,11 @@ mode.stone={
result:{ result:{
target:function(player,target){ target:function(player,target){
if(target.isTurnedOver()) return 0; if(target.isTurnedOver()) return 0;
if(target.isMin()) return target.hp; var num=0;
if(target.skills.contains('shaman_fengnu')){
num=3;
}
if(target.isMin()) return target.hp+num;
return 1.1; return 1.1;
} }
} }
@ -3811,6 +3817,7 @@ mode.stone={
'step 1' 'step 1'
if(event.list.length){ if(event.list.length){
event.list.shift().die(); event.list.shift().die();
event.redo();
} }
}, },
ai:{ ai:{
@ -5145,6 +5152,7 @@ mode.stone={
'step 1' 'step 1'
if(event.list.length){ if(event.list.length){
event.list.shift().die(); event.list.shift().die();
event.redo();
} }
'step 2' 'step 2'
player.recover(2) player.recover(2)
@ -5455,7 +5463,10 @@ mode.stone={
if(game.players[i].isMin()&&game.players[i]!=player){ if(game.players[i].isMin()&&game.players[i]!=player){
list.push(game.players[i]); list.push(game.players[i]);
if(game.players[i].side!=player.side){ if(game.players[i].side!=player.side){
event.num+=2; event.num+=game.players[i].hp;
}
else{
event.num-=game.players[i].hp;
} }
} }
} }
@ -5505,11 +5516,8 @@ mode.stone={
} }
}, },
stone_chenshui:{ stone_chenshui:{
trigger:{global:'phaseEnd'}, trigger:{player:'phaseEnd'},
forced:true, forced:true,
filter:function(event,player){
return event.player==player.getLeader();
},
content:function(){ content:function(){
var list=['mengjing_feicuiyoulong','mengjing_huanxiaojiemei', var list=['mengjing_feicuiyoulong','mengjing_huanxiaojiemei',
'mengjing_suxing','mengjing_mengye','mengjing_mengjing']; 'mengjing_suxing','mengjing_mengye','mengjing_mengjing'];
@ -6458,6 +6466,15 @@ mode.stone={
} }
} }
} }
for(var i=0;i<ui.discardPile.childNodes.length;i++){
if(get.type(ui.discardPile.childNodes[i])=='delay'){
var name=ui.discardPile.childNodes[i].name;
if(!added.contains(name)&&!target.hasJudge(name)){
target.addJudge(ui.discardPile.childNodes[i]);
added.add(name);
}
}
}
if(added.length){ if(added.length){
player.line(target,'green'); player.line(target,'green');
} }
@ -9193,6 +9210,9 @@ mode.stone={
if(num>6){ if(num>6){
honglong=true; honglong=true;
} }
else if(player.maxHp-player.hp>=3&&player.hp<=2){
honglong=true;
}
} }
player.chooseButton(dialog).ai=function(button){ player.chooseButton(dialog).ai=function(button){
if(button.link=='stone_siwangzhiyi'){ if(button.link=='stone_siwangzhiyi'){
@ -9277,11 +9297,11 @@ mode.stone={
stone_fushi:'缚誓', stone_fushi:'缚誓',
stone_fushi_info:'你出场时,为所有友方角色回复所有体力值', stone_fushi_info:'你出场时,为所有友方角色回复所有体力值',
stone_mieshi:'灭世', stone_mieshi:'灭世',
stone_mieshi_info:'你出场时,消灭所有其他随从,弃置己方主将的所有手牌,每有一名敌方随从死亡,便受到两点伤害', stone_mieshi_info:'你出场时,消灭所有其他随从,弃置己方主将的所有手牌,并受到X点伤害X为敌方与己方的随从数体力值之差',
stone_shixu:'时序', stone_shixu:'时序',
stone_shixu_info:'你出场的回合内己方主将获得4点行动值', stone_shixu_info:'你出场的回合内己方主将获得4点行动值',
stone_chenshui:'沉睡', stone_chenshui:'沉睡',
stone_chenshui_info:'己方主将的回合结束阶段,令其获得一张梦境牌', stone_chenshui_info:'在你的回合结束阶段,令己方主将获得一张梦境牌',
stone_mowang:'魔网', stone_mowang:'魔网',
stone_mowang_info:'己方法术伤害+2', stone_mowang_info:'己方法术伤害+2',
@ -9509,7 +9529,7 @@ mode.stone={
spell_jinyingduijue:'精英对决', spell_jinyingduijue:'精英对决',
spell_jinyingduijue_info:'双方各保留体力值最高的一名随从,然后令其他随从死亡', spell_jinyingduijue_info:'双方各保留体力值最高的一名随从,然后令其他随从死亡',
spell_shenpan:'审判', spell_shenpan:'审判',
spell_shenpan_info:'若你的对手随从数于你,则随机令一名敌方随从死亡', spell_shenpan_info:'若你的对手随从数不少于你,则随机令一名敌方随从死亡',
spell_shenshengfennu:'神圣愤怒', spell_shenshengfennu:'神圣愤怒',
spell_shenshengfennu_info:'从牌库中获得一张牌,并造成等同于其行动值消耗的伤害', spell_shenshengfennu_info:'从牌库中获得一张牌,并造成等同于其行动值消耗的伤害',
spell_yongshizhufu:'勇士祝福', spell_yongshizhufu:'勇士祝福',

View File

@ -506,7 +506,7 @@ mode.versus={
'xunyu','lusu','guanping','zhangzong','zhoutai','sp_zhangjiao','zhangjiao', 'xunyu','lusu','guanping','zhangzong','zhoutai','sp_zhangjiao','zhangjiao',
'shixie','zhanglu','chenlin','mayunlu','yangxiu','zhugeke','chengyu', 'shixie','zhanglu','chenlin','mayunlu','yangxiu','zhugeke','chengyu',
'zhangbao','zhangliang','sunhao','wutugu','zhugeguo','liuzan','lingcao', 'zhangbao','zhangliang','sunhao','wutugu','zhugeguo','liuzan','lingcao',
'sunru','lingju','lifeng','hanba','sunluyu','zhuling', 'sunru','lingju','lifeng','hanba','sunluyu','zhuling','daxiaoqiao',
'sp_zhaoyun','sp_diaochan','sp_pangtong','sp_caoren','sp_daqiao', 'sp_zhaoyun','sp_diaochan','sp_pangtong','sp_caoren','sp_daqiao',
'sp_ganning','sp_zhangfei','sp_xiahoudun'].contains(name)){ 'sp_ganning','sp_zhangfei','sp_xiahoudun'].contains(name)){
return true; return true;
@ -1653,10 +1653,10 @@ mode.versus={
element:{ element:{
player:{ player:{
dieSpeak:function(){ dieSpeak:function(){
switch(this.identity){ // switch(this.identity){
case 'zhu': this.popup('吾降矣',2000);break; // case 'zhu': this.popup('吾降矣',2000);break;
case 'zhong': this.popup('呃啊',2000);break; // case 'zhong': this.popup('呃啊',2000);break;
} // }
}, },
dieAfter:function(source){ dieAfter:function(source){
if(_status.mode=='four'){ if(_status.mode=='four'){

View File

@ -1,5 +1,5 @@
{ {
"name": "无名杀", "name": "无名杀",
"version": "1.7.7", "version": "1.7.8",
"main": "main.js" "main": "main.js"
} }