diff --git a/audio/die/zhugemengxue.mp3 b/audio/die/zhugemengxue.mp3 new file mode 100644 index 000000000..2808d564d Binary files /dev/null and b/audio/die/zhugemengxue.mp3 differ diff --git a/audio/skill/dchanying1.mp3 b/audio/skill/dchanying1.mp3 new file mode 100644 index 000000000..beae1002e Binary files /dev/null and b/audio/skill/dchanying1.mp3 differ diff --git a/audio/skill/dchanying2.mp3 b/audio/skill/dchanying2.mp3 new file mode 100644 index 000000000..9272a75ce Binary files /dev/null and b/audio/skill/dchanying2.mp3 differ diff --git a/audio/skill/dcjichun1.mp3 b/audio/skill/dcjichun1.mp3 new file mode 100644 index 000000000..834943dad Binary files /dev/null and b/audio/skill/dcjichun1.mp3 differ diff --git a/audio/skill/dcjichun2.mp3 b/audio/skill/dcjichun2.mp3 new file mode 100644 index 000000000..8a2632fc4 Binary files /dev/null and b/audio/skill/dcjichun2.mp3 differ diff --git a/character/diy.js b/character/diy.js index baf262dc0..13434a99f 100755 --- a/character/diy.js +++ b/character/diy.js @@ -191,6 +191,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ junk_lidian:['male','wei',3,['xunxun','junkwangxi']], junk_duanwei:['male','qun',4,['junklangmie']], junk_xuyou:["male","qun",3,["nzry_chenglve","junkshicai","nzry_cunmu"]], + junk_zhangjiao:['male','shen',3,['yizhao','junksijun','tianjie'],['qun','die_audio:shen_zhangjiao']], }, characterFilter:{ key_jojiro(mode){ @@ -225,7 +226,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ diy_default:["diy_yuji","diy_caiwenji","diy_lukang","diy_zhenji","old_majun"], diy_noname:['noname'], diy_key:["key_lucia","key_kyousuke","key_yuri","key_haruko","key_umi","key_rei","key_komari","key_yukine","key_yusa","key_misa","key_masato","key_iwasawa","key_kengo","key_yoshino","key_yui","key_tsumugi","key_saya","key_harukakanata","key_inari","key_shiina","key_sunohara","key_rin","key_sasami","key_akane","key_doruji","key_yuiko","key_riki","key_hisako","key_hinata","key_noda","key_tomoya","key_nagisa","key_ayato","key_ao","key_yuzuru","sp_key_kanade","key_mio","key_midori","key_kyoko","key_shizuru","key_shiorimiyuki","key_miki","key_shiori","key_kaori","sp_key_yuri","key_akiko","key_abyusa","key_godan","key_yuu","key_ryoichi","key_kotori","key_jojiro","key_shiroha","key_shizuku","key_hiroto","key_sakuya","key_youta","key_rumi","key_chihaya","key_yukito","key_asara","key_kotomi","key_mia","key_kano","db_key_liyingxia","key_erika","key_satomi","key_iriya","key_fuuko"], - diy_trashbin:['old_jiakui','ol_guohuai','junk_zhangrang','old_bulianshi','junk_sunquan','ol_maliang','junk_liubei','junk_huangyueying','junk_lidian','junk_duanwei','junk_xuyou'], + diy_trashbin:['junk_zhangjiao','old_jiakui','ol_guohuai','junk_zhangrang','old_bulianshi','junk_sunquan','ol_maliang','junk_liubei','junk_huangyueying','junk_lidian','junk_duanwei','junk_xuyou'], }, }, characterIntro:{ @@ -12354,6 +12355,52 @@ game.import('character',function(lib,game,ui,get,ai,_status){ trigger.num++; }, }, + //OL神张角 + junksijun:{ + audio:'sijun', + inherit:'sijun', + check(event,player){ + return ui.cardPile.childNodes.length; + }, + async content(event,trigger,player){ + player.removeMark('yizhao',player.countMark('yizhao')); + const pile=Array.from(ui.cardPile.childNodes); + if(pile.length){ + const max=max=Math.pow(2,Math.min(100,pile.length)); + let bool=false,index,cards=[]; + for(let i=0;i36) break; + } + if(num==36){ + bool=true; + break; + } + } + if(bool){ + for(let k=0;k=36) break; + } + } + if(cards.length) await player.gain(cards,'gain2'); + } + }, + }, //手杀削弱版许攸 junkshicai:{ audio:'nzry_shicai_2', @@ -18995,6 +19042,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ns_duji:'画饼杜畿', ns_duji_prefix:'画饼', ns_duji_ab:'杜畿', + junk_zhangjiao:'OL神张角', + junk_zhangjiao_prefix:'OL神', + junksijun:'肆军', + junksijun_info:'准备阶段,若“黄”数大于牌堆的牌数,你可以移去所有“黄”,然后从牌堆中随机获得任意张点数之和为36的牌(若牌堆没有点数和为36的组合则获得牌堆顶点数和刚好超过36的牌组)。', diy_tieba:'吧友设计', diy_xushi:'玩点论杀·虚实篇', diff --git a/character/extra.js b/character/extra.js index 398134e12..72a6a1a58 100755 --- a/character/extra.js +++ b/character/extra.js @@ -78,6 +78,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ shen_machao:['shen_machao','ps_shen_machao'], shen_jiaxu:['le_shen_jiaxu','shen_jiaxu'], shen_caocao:['shen_caocao','old_caocao'], + shen_zhangjiao:['shen_zhangjiao','junk_zhangjiao'], }, characterFilter:{ shen_diaochan(mode){ @@ -1933,7 +1934,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ filter(event,player){ return player.countMark('yizhao')>ui.cardPile.childNodes.length; }, - check:()=>true, + check(event,player){ + return ui.cardPile.childNodes.length; + }, content(){ 'step 0' player.removeMark('yizhao',player.countMark('yizhao')); diff --git a/character/rank.js b/character/rank.js index 9b185d256..ba4d34c46 100644 --- a/character/rank.js +++ b/character/rank.js @@ -308,6 +308,7 @@ window.noname_character_rank={ 'wanglie', 'zhaozhi', 'shen_zhangjiao', + 'junk_zhangjiao', 'tw_jiangji', 'tw_niufudongxie', 'tw_shen_lvmeng', @@ -2672,6 +2673,7 @@ window.noname_character_rank={ 're_caorui', 'junk_xuyou', 're_zhongyao', + 'junk_zhangjiao', ], } }; diff --git a/character/refresh.js b/character/refresh.js index 7d72b8204..02b4ef19f 100755 --- a/character/refresh.js +++ b/character/refresh.js @@ -11445,11 +11445,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){ group:['reshuangxiong1',"reshuangxiong2"], }, reshuangxiong1:{ - audio:"shuangxiong", - audioname:['re_yanwen'], - trigger:{ - player:"phaseDrawBegin1", + audio:"shuangxiong1", + audioname2:{ + re_yanwen:'shuangxiong_re_yanwen1', }, + trigger:{player:"phaseDrawBegin1"}, check:function (event,player){ if(player.countCards('h')>player.hp) return true; if(player.countCards('h')>3) return true; diff --git a/character/sb.js b/character/sb.js index c2246166b..6602f4aa7 100644 --- a/character/sb.js +++ b/character/sb.js @@ -1254,7 +1254,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.reinitCharacter(player.name2, 'sb_zhugeliang', false); } else{ - player.changeSKills(['sbguanxing','sbkongcheng'],['sbhuoji','sbkanpo']); + player.changeSkills(['sbguanxing','sbkongcheng'],['sbhuoji','sbkanpo']); } }, }, diff --git a/character/shenhua.js b/character/shenhua.js index 28fd4aefe..ce419f547 100755 --- a/character/shenhua.js +++ b/character/shenhua.js @@ -5940,10 +5940,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ audio:2, audioname:['re_yanwen'], group:'shuangxiong1', + subSkill:{ + re_yanwen1:{audio:true}, + re_yanwen2:{audio:true}, + }, }, shuangxiong1:{ - audio:"shuangxiong", - audioname:['re_yanwen'], + audio:true, trigger:{player:'phaseDrawBegin1'}, check:function(event,player){ if(player.countCards('h')>player.hp) return true; @@ -5968,8 +5971,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ shuangxiong2:{ charlotte:true, onremove:true, - audio:"shuangxiong", - audioname:['re_yanwen'], + audio:true, + audioname2:{ + re_yanwen:'shuangxiong_re_yanwen2', + }, enable:'chooseToUse', viewAs:{name:'juedou'}, position:'hs', diff --git a/character/sp.js b/character/sp.js index e4400b268..23cf7522d 100755 --- a/character/sp.js +++ b/character/sp.js @@ -779,7 +779,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ order:2, respondShan:true, skillTagFilter(player,tag,arg){ - if(arg=='respond'||!player.countCards('h',card=>card.hasGaintag('olchongshen'))) return false; + if(arg=='respond'||!player.countCards('h',card=>_status.connectMode||card.hasGaintag('olchongshen'))) return false; }, effect:{ target(card,player,target,current){ @@ -790,8 +790,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ group:'olchongshen_mark', mod:{ aiValue(player,card,num){ - if(get.name(card)!='shan'&&!card.hasGaintag('olchongshen')) return; - var cards=player.getCards('hs',card=>get.name(card)=='shan'||card.hasGaintag('olchongshen')); + if(get.name(card)!='shan'&&(get.itemtype(card)=='card'&&!card.hasGaintag('olchongshen'))) return; + let cards=player.getCards('hs',card=>get.name(card)=='shan'||card.hasGaintag('olchongshen')); cards.sort((a,b)=>(get.name(b)=='shan'?1:2)-(get.name(a)=='shan'?1:2)); const geti=()=>{ if(cards.includes(card)) return cards.indexOf(card); diff --git a/image/character/junk_zhangjiao.jpg b/image/character/junk_zhangjiao.jpg new file mode 100644 index 000000000..5f633168a Binary files /dev/null and b/image/character/junk_zhangjiao.jpg differ