This commit is contained in:
libccy 2018-01-18 20:36:47 +08:00
parent ee3f5d18df
commit 3074a8cdca
9 changed files with 162 additions and 136 deletions

View File

@ -941,12 +941,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
return get.value(button.link); return get.value(button.link);
}); });
'step 1' 'step 1'
var card=get.cardPile(function(card){ target.gain(game.createCard('sha'),'gain2');
return get.subtype(card)=='equip4';
});
if(card){
target.equip(card,true);
}
}, },
ai:{ ai:{
basic:{ basic:{
@ -1938,7 +1933,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
} }
}, },
gw_youer:{ gw_youer:{
trigger:{global:['phaseEnd','dieBegin']}, trigger:{global:'phaseEnd',player:'dieBegin'},
forced:true, forced:true,
audio:false, audio:false,
mark:true, mark:true,
@ -2258,7 +2253,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
gw_youer_bg:'饵', gw_youer_bg:'饵',
gw_youer_info:'将一名其他角色的所有手牌移出游戏,然后摸一张牌,当前回合结束后该角色将以此法失去的牌收回手牌', gw_youer_info:'将一名其他角色的所有手牌移出游戏,然后摸一张牌,当前回合结束后该角色将以此法失去的牌收回手牌',
gw_tongdi:'通敌', gw_tongdi:'通敌',
gw_tongdi_info:'观看一名其他角色的手牌并获得其中一张,然后令目标从牌堆或弃牌堆中装备一件进攻马', gw_tongdi_info:'观看一名其他角色的手牌并获得其中一张,然后令目标获得一张杀',
gw_baoxueyaoshui:'暴雪药水', gw_baoxueyaoshui:'暴雪药水',
gw_baoxueyaoshui_info:'令一名角色弃置两张手牌并摸一张牌', gw_baoxueyaoshui_info:'令一名角色弃置两张手牌并摸一张牌',
gw_birinongwu:'蔽日浓雾', gw_birinongwu:'蔽日浓雾',

View File

@ -3,6 +3,18 @@ game.import('card',function(lib,game,ui,get,ai,_status){
return { return {
name:'swd', name:'swd',
card:{ card:{
hufu:{
fullskin:true,
type:'basic',
global:['g_hufu_sha','g_hufu_shan','g_hufu_jiu'],
savable:function(card,player,dying){
return dying==player;
},
ai:{
value:[7.5,5,2],
useful:[7.5,5,2],
}
},
// yihuajiemu:{ // yihuajiemu:{
// fullskin:true, // fullskin:true,
// type:'trick', // type:'trick',
@ -2165,8 +2177,74 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}, },
skills:['guiyanfadao'] skills:['guiyanfadao']
}, },
qiankundai:{
fullskin:true,
type:'equip',
subtype:'equip5',
onLose:function(){
player.draw();
},
skills:['qiankundai'],
ai:{
order:9.5,
equipValue:function(card,player){
if(player.countCards('h','qiankundai')) return 6;
return 1;
},
basic:{
equipValue:5,
}
}
},
}, },
skill:{ skill:{
qiankundai:{
mod:{
maxHandcard:function(player,num){
return num+1;
}
},
},
g_hufu_sha:{
enable:['chooseToRespond','chooseToUse'],
filter:function(event,player){
return player.countCards('h','hufu')>0;
},
filterCard:{name:'hufu'},
viewAs:{name:'sha'},
prompt:'将一张玉符当杀使用或打出',
check:function(card){return 1},
ai:{
order:1,
useful:7.5,
value:7.5
}
},
g_hufu_shan:{
enable:['chooseToRespond','chooseToUse'],
filter:function(event,player){
return player.countCards('h','hufu')>0;
},
filterCard:{name:'hufu'},
viewAs:{name:'shan'},
prompt:'将一张玉符当闪使用或打出',
check:function(){return 1},
ai:{
order:1,
useful:7.5,
value:7.5
}
},
g_hufu_jiu:{
enable:['chooseToRespond','chooseToUse'],
filter:function(event,player){
return player.countCards('h','hufu')>0;
},
filterCard:{name:'hufu'},
viewAs:{name:'jiu'},
prompt:'将一张玉符当酒使用',
check:function(){return 1},
},
zhiluxiaohu:{ zhiluxiaohu:{
trigger:{source:'damageAfter'}, trigger:{source:'damageAfter'},
forced:true, forced:true,
@ -4812,6 +4890,14 @@ game.import('card',function(lib,game,ui,get,ai,_status){
'专属、特殊装备无法被强化' '专属、特殊装备无法被强化'
}, },
translate:{ translate:{
qiankundai:'乾坤袋',
qiankundai_info:'你的手牌上限+1。当你失去该装备时你摸一张牌。',
hufu:'玉符',
hufu_bg:'符',
g_hufu_sha:'符杀',
g_hufu_shan:'符闪',
g_hufu_jiu:'符酒',
hufu_info:'你可以将一张玉符当作杀、闪或酒使用或打出',
// yihuajiemu:'移花接木', // yihuajiemu:'移花接木',
// yihuajiemu_info:'对一名装备区内有宝物的角色使用,将其宝物牌转移至另一名角色', // yihuajiemu_info:'对一名装备区内有宝物的角色使用,将其宝物牌转移至另一名角色',
liuxinghuoyu:'流星火羽', liuxinghuoyu:'流星火羽',
@ -5185,6 +5271,9 @@ game.import('card',function(lib,game,ui,get,ai,_status){
lianyaohu_info:'出牌阶段各限一次你可以选择一项1.弃置一张手牌并将一名其他角色的一张手牌置入炼妖壶2.弃置两张炼妖壶中的牌,从牌堆中获得一张与弃置的牌类别均不相同的牌', lianyaohu_info:'出牌阶段各限一次你可以选择一项1.弃置一张手牌并将一名其他角色的一张手牌置入炼妖壶2.弃置两张炼妖壶中的牌,从牌堆中获得一张与弃置的牌类别均不相同的牌',
}, },
list:[ list:[
['heart',1,'hufu'],
['spade',1,'hufu'],
['club',1,'qiankundai'],
// ['heart',3,'yihuajiemu'], // ['heart',3,'yihuajiemu'],
// ['diamond',1,'yihuajiemu'], // ['diamond',1,'yihuajiemu'],
// ['diamond',7,'yihuajiemu'], // ['diamond',7,'yihuajiemu'],

View File

@ -475,9 +475,14 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}, },
content:function(){ content:function(){
'step 0' 'step 0'
if(target.isMinHandcard()) target.draw(2); if(target.isMinHp()){
target.recover();
event.rec=true;
}
'step 1' 'step 1'
if(target.isMinHp()) target.recover(); if(target.isMinHandcard()){
target.draw(event.rec?1:2);
}
}, },
ai:{ ai:{
order:2.5, order:2.5,
@ -688,18 +693,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){
value:[6,1] value:[6,1]
} }
}, },
hufu:{
fullskin:true,
type:'basic',
global:['g_hufu_sha','g_hufu_shan','g_hufu_jiu'],
savable:function(card,player,dying){
return dying==player;
},
ai:{
value:[7.5,5,2],
useful:[7.5,5,2],
}
},
huoshan:{ huoshan:{
fullskin:true, fullskin:true,
type:'delay', type:'delay',
@ -810,25 +803,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}, },
} }
}, },
qiankundai:{
fullskin:true,
type:'equip',
subtype:'equip5',
onLose:function(){
player.draw();
},
skills:['qiankundai'],
ai:{
order:9.5,
equipValue:function(card,player){
if(player.countCards('h','qiankundai')) return 6;
return 1;
},
basic:{
equipValue:5,
}
}
},
}, },
skill:{ skill:{
toulianghuanzhu_ai1:{}, toulianghuanzhu_ai1:{},
@ -903,53 +877,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){
},trigger.player,-1).targetRequired=true; },trigger.player,-1).targetRequired=true;
} }
}, },
qiankundai:{
mod:{
maxHandcard:function(player,num){
return num+1;
}
},
},
g_hufu_sha:{
enable:['chooseToRespond','chooseToUse'],
filter:function(event,player){
return player.countCards('h','hufu')>0;
},
filterCard:{name:'hufu'},
viewAs:{name:'sha'},
prompt:'将一张虎符当杀使用或打出',
check:function(card){return 1},
ai:{
order:1,
useful:7.5,
value:7.5
}
},
g_hufu_shan:{
enable:['chooseToRespond','chooseToUse'],
filter:function(event,player){
return player.countCards('h','hufu')>0;
},
filterCard:{name:'hufu'},
viewAs:{name:'shan'},
prompt:'将一张虎符当闪使用或打出',
check:function(){return 1},
ai:{
order:1,
useful:7.5,
value:7.5
}
},
g_hufu_jiu:{
enable:['chooseToRespond','chooseToUse'],
filter:function(event,player){
return player.countCards('h','hufu')>0;
},
filterCard:{name:'hufu'},
viewAs:{name:'jiu'},
prompt:'将一张虎符当酒使用',
check:function(){return 1},
},
}, },
translate:{ translate:{
diaobingqianjiang:'调兵遣将', diaobingqianjiang:'调兵遣将',
@ -975,26 +902,15 @@ game.import('card',function(lib,game,ui,get,ai,_status){
shuiyanqijun:'水攻', shuiyanqijun:'水攻',
shuiyanqijun_info:'令所有有装备的角色各弃置一张装备牌', shuiyanqijun_info:'令所有有装备的角色各弃置一张装备牌',
wangmeizhike:'望梅止渴', wangmeizhike:'望梅止渴',
wangmeizhike_info:'出牌阶段对一名角色使用,若没有角色手牌比目标少,目标摸两张牌;若没有角色体力比目标少,目标回复一点体力', wangmeizhike_info:'出牌阶段对一名角色使用,若没有角色体力比目标少,目标回复一点体力;若没有角色手牌比目标少,目标摸两张牌(若目标回复了体力则改为摸一张)',
chenhuodajie:'趁火打劫', chenhuodajie:'趁火打劫',
chenhuodajie_info:'任意一名其他角色受到伤害时对其使用,获得其一张牌', chenhuodajie_info:'任意一名其他角色受到伤害时对其使用,获得其一张牌',
huoshan:'火山', huoshan:'火山',
huoshan_info:'出牌阶段对自己使用。若判定结果为红桃2~9则目标角色受到2点火焰伤害距离目标1以内的其他角色受到1点火焰伤害。若判定不为红桃2~9将之移动到下家的判定区里。', huoshan_info:'出牌阶段对自己使用。若判定结果为红桃2~9则目标角色受到2点火焰伤害距离目标1以内的其他角色受到1点火焰伤害。若判定不为红桃2~9将之移动到下家的判定区里。',
hongshui:'洪水', hongshui:'洪水',
hongshui_info:'出牌阶段对自己使用。若判定结果为梅花2~9该角色随机弃置3张牌距离该角色为X的角色随机弃置3-X张牌若没有牌则失去一点体力X至少为1', hongshui_info:'出牌阶段对自己使用。若判定结果为梅花2~9该角色随机弃置3张牌距离该角色为X的角色随机弃置3-X张牌若没有牌则失去一点体力X至少为1',
qiankundai:'乾坤袋',
qiankundai_info:'你的手牌上限+1。当你失去该装备时你摸一张牌。',
hufu:'虎符',
hufu_bg:'符',
g_hufu_sha:'符杀',
g_hufu_shan:'符闪',
g_hufu_jiu:'符酒',
hufu_info:'你可以将一张虎符当作杀、闪或酒使用或打出',
}, },
list:[ list:[
['heart',1,'hufu'],
['spade',1,'hufu'],
['club',1,'qiankundai'],
['heart',6,'huoshan','fire'], ['heart',6,'huoshan','fire'],
['club',7,'hongshui'], ['club',7,'hongshui'],
["diamond",3,'guohe'], ["diamond",3,'guohe'],

View File

@ -3678,7 +3678,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
notarget:true, notarget:true,
content:function(){ content:function(){
'step 0' 'step 0'
player.chooseToDiscard('he',[1,3],'弃置至多3张牌并摸弃牌数2倍的牌').set('ai',function(card){ player.chooseToDiscard('he',[1,2],'弃置至多2张牌并摸弃牌数2倍的牌').set('ai',function(card){
return 9-get.value(card); return 9-get.value(card);
}); });
'step 1' 'step 1'
@ -4175,7 +4175,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
gwmaoxian_kaerweite:'卡尔维特', gwmaoxian_kaerweite:'卡尔维特',
gwmaoxian_kaerweite_info:'获得至多两名角色各一张手牌,然后结束出牌阶段', gwmaoxian_kaerweite_info:'获得至多两名角色各一张手牌,然后结束出牌阶段',
gwmaoxian_bulanwang:'布兰王', gwmaoxian_bulanwang:'布兰王',
gwmaoxian_bulanwang_info:'弃置至多3张牌并摸数量等于弃牌数2倍的牌跳过弃牌阶段然后结束出牌阶段', gwmaoxian_bulanwang_info:'弃置至多2张牌并摸数量等于弃牌数2倍的牌跳过弃牌阶段然后结束出牌阶段',
gwmaoxian_kuite:'奎特', gwmaoxian_kuite:'奎特',
gwmaoxian_kuite_info:'视为对一名手牌数不小于你的角色连续使用2张决斗然后结束出牌阶段', gwmaoxian_kuite_info:'视为对一名手牌数不小于你的角色连续使用2张决斗然后结束出牌阶段',
gwmaoxian_haluo:'哈洛', gwmaoxian_haluo:'哈洛',

View File

@ -5753,14 +5753,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{global:'dying'}, trigger:{global:'dying'},
priority:6, priority:6,
filter:function(event,player){ filter:function(event,player){
return event.player.hp<=0&&player.countCards('he')>0; if(event.player.hp>0) return false;
if(get.is.altered('huanhun')) return player.countCards('h',{color:'red'})>0;
return player.countCards('he')>0;
}, },
alter:true,
direct:true, direct:true,
content:function(){ content:function(){
"step 0" "step 0"
var next=player.chooseToDiscard('he',get.prompt2('huanhun',trigger.player),function(card){ var next=player.chooseToDiscard(get.is.altered('huanhun')?'h':'he',get.prompt2('huanhun',trigger.player),function(card){
return get.color(card)=='red'; if(get.is.altered('huanhun')){
}); return get.color(card)=='red';
}
else{
return true;
}
});
next.logSkill=['huanhun',trigger.player]; next.logSkill=['huanhun',trigger.player];
next.ai=function(card){ next.ai=function(card){
if(card.name=='tao') return 0; if(card.name=='tao') return 0;
@ -5771,8 +5779,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}; };
"step 1" "step 1"
if(result.bool){ if(result.bool){
event.card=result.cards[0];
trigger.player.judge(function(card){ trigger.player.judge(function(card){
return get.color(card)=='red'?1:-1; return get.color(card)=='red'?1:0;
}); });
} }
else{ else{
@ -5782,6 +5791,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(result.bool){ if(result.bool){
trigger.player.recover(); trigger.player.recover();
} }
else if(event.card.isInPile()){
trigger.player.gain(event.card,'gain2');
}
}, },
ai:{ ai:{
threaten:1.6, threaten:1.6,
@ -5843,14 +5855,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return get.attitude(player,event.player)>0; return get.attitude(player,event.player)>0;
}, },
logTarget:'player', logTarget:'player',
alter:true, // alter:true,
content:function(){ content:function(){
"step 0" "step 0"
if(get.is.altered('yinyue')){ // if(get.is.altered('yinyue')){
trigger.player.draw(); // trigger.player.draw();
event.finish(); // event.finish();
} // }
else if(trigger.player!=player&&trigger.player.countCards('h')>=player.countCards('h')){ // else
if(trigger.player!=player&&trigger.player.countCards('h')>=player.countCards('h')){
game.asyncDraw([trigger.player,player]); game.asyncDraw([trigger.player,player]);
} }
else{ else{
@ -9898,7 +9911,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
liaoyuan_info:'每当你使用一张杀指定目标后,你可以弃置任意张与此杀花色相同的牌,若如此做,目标需额外打出等量的闪,每少打出一张闪,此杀的伤害+1', liaoyuan_info:'每当你使用一张杀指定目标后,你可以弃置任意张与此杀花色相同的牌,若如此做,目标需额外打出等量的闪,每少打出一张闪,此杀的伤害+1',
liaoyuan_info_alter:'每当你使用一张杀指定目标后,你可以弃置一张与此杀花色相同的牌,若如此做,目标需额外打出一张闪,若目标没打出闪,此杀的伤害+1', liaoyuan_info_alter:'每当你使用一张杀指定目标后,你可以弃置一张与此杀花色相同的牌,若如此做,目标需额外打出一张闪,若目标没打出闪,此杀的伤害+1',
yishan_info:'每当你受到一次伤害,你可以重新获得最近失去的两张牌', yishan_info:'每当你受到一次伤害,你可以重新获得最近失去的两张牌',
huanhun_info:'当一名角色进入濒死状态时,你可以弃置一张红色牌并令其进行一次判定,若结果为红色,其回复一点体力', huanhun_info:'当一名角色进入濒死状态时,你可以弃置一张牌并令其进行一次判定,若结果为红色,其回复一点体力,否则其获得你弃置的牌',
huanhun_info_alter:'当一名角色进入濒死状态时,你可以弃置一张红色手牌并令其进行一次判定,若结果为红色,其回复一点体力,否则其获得你弃置的牌',
daixing_info:'结束阶段,你可以弃置任意张牌并获得等量的护甲;这些护甲将在你的下个准备阶段消失', daixing_info:'结束阶段,你可以弃置任意张牌并获得等量的护甲;这些护甲将在你的下个准备阶段消失',
swd_wuxie_info:'锁定技,你不能成为其他角色的延时锦囊的目标', swd_wuxie_info:'锁定技,你不能成为其他角色的延时锦囊的目标',
lqingcheng_info:'结束阶段你可以进行判定若为红色则可以继续判定最多判定3次判定结束后将判定成功的牌收入手牌', lqingcheng_info:'结束阶段你可以进行判定若为红色则可以继续判定最多判定3次判定结束后将判定成功的牌收入手牌',

View File

@ -20295,6 +20295,9 @@
}, },
hasPosition:function(){ hasPosition:function(){
return ['h','e','j'].contains(get.position(this)); return ['h','e','j'].contains(get.position(this));
},
isInPile:function(){
return ['c','d'].contains(get.position(this));
} }
}, },
button:{ button:{
@ -42771,6 +42774,10 @@
}; };
var get={ var get={
is:{ is:{
safari:function(){
var ua=navigator.userAgent.toLowerCase();
return ua.indexOf('safari'!=-1)&&ua.indexOf('chrome')==-1;
},
freePosition:function(cards){ freePosition:function(cards){
for(var i=0;i<cards.length;i++){ for(var i=0;i<cards.length;i++){
if(!cards[i].hasPosition) return false; if(!cards[i].hasPosition) return false;

View File

@ -1,41 +1,40 @@
window.noname_update={ window.noname_update={
version:'1.9.47.1', version:'1.9.48',
update:'1.9.46', update:'1.9.47.1',
changeLog:[ changeLog:[
'bug修复', 'bug修复'
'部分DIY比赛武将',
'players://["ns_yujisp","ns_yangyi","ns_liuzhang","gw_yioufeisisp","gw_diandian","gw_fenghuang","gw_yisilinni","gw_lanbote","gw_feilafanruide"]',
], ],
files:[ files:[
'game/game.js', 'game/game.js',
// 'game/package.js', // 'game/package.js',
'game/config.js', // 'game/config.js',
// 'game/source.js', // 'game/source.js',
// 'game/pressure.js', // 'game/pressure.js',
'game/asset.js', 'game/asset.js',
// 'card/*', // 'card/*',
'card/extra.js', // 'card/extra.js',
'card/yunchou.js', 'card/yunchou.js',
'card/hearth.js', 'card/swd.js',
'card/gwent.js', 'card/gwent.js',
// 'card/standard.js', // 'card/standard.js',
// 'character/*', // 'character/*',
'character/hearth.js', // 'character/hearth.js',
'character/gwent.js', 'character/gwent.js',
'character/diy.js', // 'character/diy.js',
// 'character/standard.js', // 'character/standard.js',
'character/shenhua.js', // 'character/shenhua.js',
// 'character/refresh.js', // 'character/refresh.js',
// 'character/yijiang.js', // 'character/yijiang.js',
'character/yxs.js', // 'character/yxs.js',
'character/swd.js',
// 'character/sp.js', // 'character/sp.js',
// 'character/rank.js', // 'character/rank.js',
// 'mode/identity.js', // 'mode/identity.js',
// 'mode/boss.js', // 'mode/boss.js',
// 'mode/guozhan.js', // 'mode/guozhan.js',
'mode/versus.js', // 'mode/versus.js',
// 'mode/connect.js', // 'mode/connect.js',
// 'mode/chess.js', 'mode/chess.js',
// 'mode/tafang.js', // 'mode/tafang.js',
// 'mode/guozhan.js', // 'mode/guozhan.js',
// 'mode/stone.js', // 'mode/stone.js',
@ -49,8 +48,8 @@ window.noname_update={
// 'layout/long/layout.css', // 'layout/long/layout.css',
// 'layout/long2/layout.css', // 'layout/long2/layout.css',
// 'layout/mobile/layout.css', // 'layout/mobile/layout.css',
'layout/newlayout/global.css', // 'layout/newlayout/global.css',
// 'layout/mode/chess.css', 'layout/mode/chess.css',
// 'extension/boss/extension.js', // 'extension/boss/extension.js',
] ]
} }

BIN
image/card/hufu.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View File

@ -2946,9 +2946,11 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
if(!_status.enterArena){ if(!_status.enterArena){
ui.wuxie.show(); ui.wuxie.show();
ui.auto.show(); ui.auto.show();
ui.control.style.display='none';
ui.control.style.top=''; ui.control.style.top='';
ui.control.style.transition=''; if(!get.is.safari()){
ui.control.style.transition='';
ui.control.style.display='none';
}
event.finish(); event.finish();
} }
else{ else{
@ -3498,9 +3500,11 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
lib.init.onfree(); lib.init.onfree();
game.pause(); game.pause();
'step 7' 'step 7'
ui.control.style.display='none';
ui.control.style.top=''; ui.control.style.top='';
ui.control.style.transition=''; if(!get.is.safari()){
ui.control.style.transition='';
ui.control.style.display='none';
}
ui.arena.classList.remove('leaderhide'); ui.arena.classList.remove('leaderhide');
ui.wuxie.show(); ui.wuxie.show();
ui.auto.show(); ui.auto.show();
@ -3925,9 +3929,11 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
event.asboss.close(); event.asboss.close();
delete ui.asboss; delete ui.asboss;
} }
ui.control.style.display='none';
ui.control.style.top=''; ui.control.style.top='';
ui.control.style.transition=''; if(!get.is.safari()){
ui.control.style.transition='';
ui.control.style.display='none';
}
var glows=event.bosses.querySelectorAll('.glow'); var glows=event.bosses.querySelectorAll('.glow');
var glows2=event.jiange.querySelectorAll('.glow2'); var glows2=event.jiange.querySelectorAll('.glow2');