Kamiyama Shiki

This commit is contained in:
Spmario233 2020-08-07 13:24:17 +08:00 committed by GitHub
parent 7075805c04
commit 93589a5cd7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
31 changed files with 10863 additions and 10357 deletions

BIN
audio/die/yj_ganning.mp3 Normal file

Binary file not shown.

BIN
audio/die/yj_xuhuang.mp3 Normal file

Binary file not shown.

BIN
audio/die/yj_zhanghe.mp3 Normal file

Binary file not shown.

BIN
audio/die/yj_zhangliao.mp3 Normal file

Binary file not shown.

BIN
audio/skill/gnjinfan1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/gnjinfan2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/gnsheque1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/gnsheque2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/weifeng1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/weifeng2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/xhzhiyan1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/xhzhiyan2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/zhilve1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/zhilve2.mp3 Normal file

Binary file not shown.

View File

@ -15,7 +15,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_haruko:['female','key',4,['haruko_haofang','haruko_zhuishi']],
key_umi:['female','key',3,['umi_chaofan','umi_lunhui','umi_qihuan']],
key_umi2:['female','key',3,[],['unseen']],
key_kagari:['female','shen',3,['kagari_zongsi'],['key']],
key_rei:['male','key',4,['xiandeng','shulv','xisheng']],
key_komari:['female','key',3,['komari_tiankou','komari_xueshang']],
key_yukine:['female','key',3,['yukine_wenzhou']],
@ -52,6 +51,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_kyoko:['female','key',3,['kyoko_juwu','kyoko_zhengyi']],
key_shizuru:['female','key',3,['shizuru_nianli','shizuru_benzhan']],
key_shiorimiyuki:['female','key',3,['shiorimiyuki_banyin','shiorimiyuki_tingxian']],
key_miki:['female','key',3,['miki_shenqiang','miki_huanmeng','miki_zhiluo']],
key_kud:['female','key',3,['kud_qiaoshou','kud_buhui']],
key_misuzu:['female','key',3,['misuzu_hengzhou','misuzu_nongyin','misuzu_zhongxing']],
@ -146,7 +146,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"ns_huangchengyan","ns_sunchensunjun","ns_yuanxi","ns_caoshuang"],
diy_tieba:["diy_wenyang","ns_zuoci","ns_lvzhi","ns_wangyun","ns_nanhua","ns_nanhua_left","ns_nanhua_right","ns_huamulan","ns_huangzu","ns_jinke","ns_yanliang","ns_wenchou","ns_caocao","ns_caocaosp","ns_zhugeliang","ns_wangyue","ns_yuji","ns_xinxianying","ns_guanlu","ns_simazhao","ns_sunjian","ns_duangui","ns_zhangbao","ns_masu","ns_zhangxiu","ns_lvmeng","ns_shenpei","ns_yujisp","ns_yangyi","ns_liuzhang","ns_xinnanhua","ns_zhangwei"],
diy_default:["diy_feishi","diy_liuyan","diy_yuji","diy_caiwenji","diy_lukang","diy_zhenji","diy_liufu","diy_xizhenxihong","diy_liuzan","diy_zaozhirenjun","diy_yangyi","diy_tianyu"],
diy_key:["key_lucia","key_kyousuke","key_yuri","key_haruko","key_kagari","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"],
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"],
diy_yongjian:["ns_chendao","yj_caoang"],
},
},
@ -162,6 +162,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
diy_tianyu:'字国让,渔阳雍奴(今天津市武清区东北)人。三国时期曹魏将领。初从刘备,因母亲年老回乡,后跟随公孙瓒,公孙瓒败亡,劝说鲜于辅加入曹操。曹操攻略河北时,田豫正式得到曹操任用,历任颖阴、郎陵令、弋阳太守等。',
},
characterTitle:{
key_miki:'#bSummer Pockets',
key_shiorimiyuki:'#rAngel Beats!',
key_shizuru:'#bRewrite',
key_kyoko:'#bSummer Pockets',
@ -196,7 +197,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_komari:'#bLittle Busters!',
key_umi:'#bSummer Pockets',
key_rei:'#gHarmonia',
key_kagari:'#bRewrite',
key_lucia:'#bRewrite',
key_kyousuke:'#bLittle Busters!',
key_yuri:'#rAngel Beats!',
@ -259,6 +259,39 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
}
},
miki_hydrogladiator:{
fullskin:true,
type:'equip',
subtype:'equip1',
derivation:'key_miki',
skills:['miki_hydrogladiator_skill'],
distance:{
attackFrom:-5,
},
ai:{
equipValue:function(card){
return 7;
},
basic:{
equipValue:7
},
},
},
miki_binoculars:{
fullskin:true,
type:'equip',
subtype:'equip5',
derivation:'key_miki',
skills:['miki_binoculars'],
ai:{
equipValue:function(card){
return 7;
},
basic:{
equipValue:7
},
},
},
},
perfectPair:{
yuji:['zuoci'],
@ -276,6 +309,116 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_lucia:['key_shizuru'],
},
skill:{
miki_shenqiang:{
trigger:{
global:'gameDrawAfter',
player:'enterGame',
},
forced:true,
content:function(){
player.equip(game.createCard2('miki_hydrogladiator','club',6));
player.equip(game.createCard2('miki_binoculars','diamond',6));
},
mod:{
canBeDiscarded:function(card){
if(get.position(card)=='e'&&['equip1','equip5'].contains(get.subtype(card))) return false;
},
},
},
miki_huanmeng:{
inherit:'kamome_huanmeng',
},
miki_zhiluo:{
trigger:{global:'phaseEnd'},
filter:function(event,player){
return !event.player.countCards('e')&&player.inRange(event.player);
},
direct:true,
locked:true,
content:function(){
'step 0'
if(!player.canUse('sha',trigger.player,false)) event._result={index:0};
else player.chooseControl().set('prompt','制裸:请选择一项').set('choiceList',[
'摸一张牌',
'视为对'+get.translation(trigger.player)+'使用一张【杀】',
]).set('ai',function(){
if(get.effect(_status.event.getTrigger().player,{name:'sha'},_status.event.player)>0) return 1;
return 0;
});
'step 1'
if(result.index==0){
player.logSkill('miki_zhiluo');
player.draw();
}
else player.useCard({name:'sha',isCard:true},trigger.player,'miki_zhiluo');
},
},
miki_hydrogladiator_skill:{
trigger:{
source:'damageSource',
},
direct:true,
locked:true,
popup:'海德洛',
filter:function(event,player){
return event.getParent().name=='sha'&&game.hasPlayer(function(current){
return (current==event.player||current!=player&&get.distance(current,event.player)<=1)&&current.countDiscardableCards(player,'he')>0;
});
},
content:function(){
'step 0'
var list=[];
var choiceList=[];
if(trigger.player.countDiscardableCards(player,'he')>0){
list.push(true);
choiceList.push('弃置'+get.translation(trigger.player)+'的两张牌');
}
if(game.hasPlayer(function(current){
return current!=player&&get.distance(current,trigger.player)<=1;
})){
list.push(false);
choiceList.push('弃置所有至'+get.translation(trigger.player)+'距离为1的角色的各一张牌');
}
event.list=list;
if(list.length==1) event._result={index:0};
else{
player.chooseControl().set('choiceList',choiceList).set('prompt','海德洛格拉迪尔特·改').set('ai',function(){
var player=_status.event.player;
var source=_status.event.getTrigger().player;
var num=game.countPlayer(function(current){
if(current!=player&&get.distance(current,source)<=1&&current.countDiscardableCards(player,'he')>0) return -get.sgn(get.attitude(player,current));
});
if(num>Math.min(2,source.countDiscardableCards(player,'he'))) return 1;
return 0;
});
}
'step 1'
if(event.list[result.index]){
player.logSkill(['miki_hydrogladiator_skill','海德洛'],trigger.player);
player.discardPlayerCard(trigger.player,'he',2,true);
event.finish();
}
else{
event.targets=game.filterPlayer(function(current){
return current!=player&&get.distance(current,trigger.player)<=1;
}).sortBySeat();
player.logSkill(['miki_hydrogladiator_skill','海德洛'],event.targets);
}
'step 2'
var target=targets.shift();
if(target.countDiscardableCards(player,'he')>0) player.discardPlayerCard(target,'he',true);
if(targets.length) event.redo();
},
},
miki_binoculars:{
locked:true,
ai:{
viewHandcard:true,
skillTagFilter:function(player,tag,arg){
if(player==arg) return false;
},
},
},
kud_qiaoshou:{
enable:'phaseUse',
usable:1,
@ -601,7 +744,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
content:function(){
if(trigger.name=='lose') player.draw(2*trigger.es.length);
else player.equip(game.createCard('kamome_suitcase','spade',1));
else player.equip(game.createCard2('kamome_suitcase','spade',1));
},
ai:{
noe:true,
@ -4375,126 +4518,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
},
kagari_zongsi:{
enable:'phaseUse',
usable:1,
content:function(){
'step 0'
var controls=[];
if(ui.cardPile.hasChildNodes()) controls.push('选择牌堆中的一张牌');
if(ui.discardPile.hasChildNodes()) controls.push('选择弃牌堆中的一张牌');
if(game.hasPlayer(function(current){
return current.countCards('hej')>0;
})) controls.push('选择一名角色区域内的一张牌');
if(!controls.length){event.finish();return;}
event.controls=controls;
var next=player.chooseControl();
next.set('choiceList',controls)
next.set('prompt','请选择要移动的卡牌的来源');
next.ai=function(){return 0};
'step 1'
result.control=event.controls[result.index];
var list=['弃牌堆','牌堆','角色'];
for(var i=0;i<list.length;i++){
if(result.control.indexOf(list[i])!=-1){event.index=i;break;}
}
if(event.index==2){
player.chooseTarget('请选择要移动的卡牌的来源',true,function(card,kagari,target){
return target.countCards('hej')>0;
});
}
else{
var source=ui[event.index==0?'discardPile':'cardPile'].childNodes;
var list=[];
for(var i=0;i<source.length;i++) list.push(source[i]);
player.chooseButton(['请选择要移动的卡牌',list],true).ai=get.buttonValue;
}
'step 2'
if(event.index==2){
player.line(result.targets[0]);
event.target1=result.targets[0];
player.choosePlayerCard(result.targets[0],true,'hej').set('visible',true);
}
else{
event.card=result.links[0];
}
'step 3'
if(event.index==2) event.card=result.cards[0];
var controls=[
'将这张牌移动到牌堆的顶部或者底部',
'将这张牌移动到弃牌堆的顶部或者底部',
'将这张牌移动到一名角色对应的区域里',
];
event.controls=controls;
var next=player.chooseControl();
next.set('prompt','要对'+get.translation(event.card)+'做什么呢?');
next.set('choiceList',controls);
next.ai=function(){return 2};
'step 4'
result.control=event.controls[result.index];
var list=['弃牌堆','牌堆','角色'];
for(var i=0;i<list.length;i++){
if(result.control.indexOf(list[i])!=-1){event.index2=i;break;}
}
if(event.index2==2){
player.chooseTarget('要将'+get.translation(card)+'移动到哪一名角色的对应区域呢',true).ai=function(target){
return target==_status.event.player?1:0;
};
}
else{
player.chooseControl('顶部','底部').set('prompt','把'+get.translation(card)+'移动到'+(event.index2==0?'弃':'')+'牌堆的...');
}
'step 5'
if(event.index2!=2){
if(event.target1) event.target1.lose(card,ui.special);
else card.goto(ui.special);
event.way=result.control;
}
else{
event.target2=result.targets[0];
var list=['手牌区'];
if(lib.card[card.name].type=='equip'&&event.target2.isEmpty(lib.card[card.name].subtype)) list.push('装备区');
if(lib.card[card.name].type=='delay'&&!event.target2.storage._disableJudge&&!event.target2.hasJudge(card.name)) list.push('判定区');
if(list.length==1) event._result={control:list[0]};
else{
player.chooseControl(list).set('prompt','把'+get.translation(card)+'移动到'+get.translation(event.target2)+'的...').ai=function(){return 0};
}
}
'step 6'
if(event.index2!=2){
card.fix();
var node=ui[event.index==0?'discardPile':'cardPile'];
if(event.way=='底部') node.appendChild(card);
else node.insertBefore(card,node.firstChild);
game.updateRoundNumber();
event.finish();
}
else{
if(result.control=='手牌区'){
var next=event.target2.gain(card);
if(event.target1){
next.source=event.target1;
next.animate='giveAuto';
}
else next.animate='draw';
}
else if(result.control=='装备区'){
if(event.target1) event.target1.$give(card,event.target2);
event.target2.equip(card);
}
else{
if(event.target1) event.target1.$give(card,event.target2);
event.target2.addJudge(card);
}
}
'step 7'
game.updateRoundNumber();
},
ai:{
order:10,
result:{player:1},
},
},
haruko_haofang:{
mod:{
cardname:function(card,player,name){
@ -5192,6 +5215,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
unique:true,
juexingji:true,
skillAnimation:true,
animationColor:'thunder',
filter:function(event,player){
return player.getStorage('nsjiquan_mark').length>4;
},
@ -10006,7 +10030,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_kyousuke:'枣恭介',
key_yuri:'仲村由理',
key_haruko:'神尾晴子',
key_kagari:'篝',
key_umi:'加藤うみ',
key_umi2:'鹰原羽未',
key_rei:'零',
@ -10049,6 +10072,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_shizuru:'中津静流',
key_shiorimiyuki:'关根诗织&入江美雪',
key_shiorimiyuki_ab:'关根入江',
key_miki:'野村美希',
lucia_duqu:'毒躯',
lucia_duqu_info:'锁定技,①当你对其他角色造成伤害或受到其他角色的伤害时,你和对方各获得一张花色点数随机的【毒】。<br>②当你因【毒】失去体力时,你改为回复等量的体力。<br>③当你处于濒死状态时,你可以使用一张【毒】(每回合限一次)。',
lucia_zhenren:'振刃',
@ -10066,8 +10090,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
haruko_haofang_info:'锁定技,你的延时锦囊牌视为【无中生有】。当你因执行【无中生有】的效果而摸牌时,你令摸牌数+2。',
haruko_zhuishi:'追逝',
haruko_zhuishi_info:'一名角色的判定阶段开始时若其判定区内有牌则你可以获得其判定区内的所有牌。若你的体力值大于1你失去1点体力。',
kagari_zongsi:'纵丝',
kagari_zongsi_info:'出牌阶段限一次,你可以选择一张不在游戏外的牌,然后将其置于牌堆/弃牌堆的顶部/底部或一名角色的对应区域内。',
umi_chaofan:'炒饭',
umi_chaofan_info:'出牌阶段限一次你可以弃置两张花色不同的手牌并选择一名其他角色。你摸一张牌若你的体力值大于2目标角色回复1点体力等于2目标角色摸两张牌小于2目标角色受到1点无来源且对应渠道为这两张牌的火焰伤害。',
umi_lunhui:'轮回',
@ -10267,6 +10289,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
shiorimiyuki_tingxian:'铤险',
shiorimiyuki_tingxian_info:'出牌阶段开始时你可以摸至多三张牌。若如此做你回复1点体力且此阶段结束时你失去X点体力。X为你获得的牌中仍在手牌区的牌的数量',
shiorimiyuki_tingxian2:'铤险',
miki_shenqiang:'神枪',
miki_shenqiang_info:'锁定技,游戏开始时,你将一张【海德洛格拉迪尔特·改】和一张【望远镜】置入你的装备区。你装备区内的武器牌和宝物牌不能被其他角色弃置。',
miki_huanmeng:'幻梦',
miki_huanmeng_info:'准备阶段开始时你可以观看牌堆顶的X+1张牌并可以按任意顺序置于牌堆顶或牌堆底。X为你装备区内的牌数',
miki_zhiluo:'治裸',
miki_zhiluo_info:'锁定技,一名其他角色的回合结束时,若其在你的攻击范围内且其装备区内没有牌,则你选择:①摸一张牌。②视为对其使用一张【杀】。',
miki_hydrogladiator:'海德洛',
miki_hydrogladiator_info:'全名为【海德洛格拉迪尔特·改】。锁定技当你因执行【杀】的效果而对目标角色造成伤害后你弃置所有至目标角色距离为1的其他角色的一张牌或弃置其两张牌。',
miki_hydrogladiator_skill:'海德洛格拉迪尔特·改',
miki_binoculars:'望远镜',
miki_binoculars_info:'锁定技,其他角色的手牌对你可见。',
key_kud:'库特莉亚芙卡',
kud_qiaoshou:'巧手',

View File

@ -11,10 +11,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
extra_shan:['shen_zhaoyun','shen_simayi'],
extra_yin:['shen_liubei','shen_luxun'],
extra_lei:['shen_ganning','shen_zhangliao'],
extra_key:['key_kagari','key_shiki'],
extra_ol:['ol_zhangliao','shen_caopi','shen_zhenji'],
},
},
character:{
key_kagari:['female','shen',3,['kagari_zongsi'],['key']],
key_shiki:['female','shen','3/5',['shiki_omusubi'],['key']],
shen_guanyu:['male','shen',5,['new_wuhun','wushen'],['shu']],
shen_zhaoyun:['male','shen',2,['xinjuejing','relonghun'],['shu']],
shen_zhugeliang:['male','shen',3,['qixing','kuangfeng','dawu'],['shu']],
@ -42,6 +46,169 @@ game.import('character',function(lib,game,ui,get,ai,_status){
//shen_ganning:"体力上限6",
},
skill:{
shiki_omusubi:{
trigger:{global:'roundStart'},
direct:true,
content:function(){
'step 0'
player.chooseTarget(get.prompt2('shiki_omusubi'),lib.filter.notMe).set('ai',function(target){
var player=_status.event.player;
if(player.isHealthy()) return 0;
if(player.hp<3&&getDamagedHp()<2) return 0;
var list=[];
if(lib.character[target.name]) list.addArray(lib.character[target.name][3]);
if(lib.character[target.name1]) list.addArray(lib.character[target.name1][3]);
if(lib.character[target.name2]) list.addArray(lib.character[target.name2][3]);
list=list.filter(function(i){
return !player.hasSkill(i);
});
if(!list.length) return 0;
return 1+Math.random();
});
'step 1'
if(result.bool){
var target=result.targets[0];
player.logSkill('shiki_omusubi',target);
player.loseMaxHp();
var list=[];
if(lib.character[target.name]) list.addArray(lib.character[target.name][3]);
if(lib.character[target.name1]) list.addArray(lib.character[target.name1][3]);
if(lib.character[target.name2]) list.addArray(lib.character[target.name2][3]);
player.addSkill(list);
game.broadcastAll(function(list){
lib.character.key_shiki[3].addArray(list);
game.expandSkills(list);
for(var i of list){
var info=lib.skill[i];
if(!info) continue;
if(!info.audioname2) info.audioname2={};
info.audioname2.key_shiki='shiki_omusubi';
}
},list);
}
},
},
kagari_zongsi:{
enable:'phaseUse',
usable:1,
content:function(){
'step 0'
var controls=[];
if(ui.cardPile.hasChildNodes()) controls.push('选择牌堆中的一张牌');
if(ui.discardPile.hasChildNodes()) controls.push('选择弃牌堆中的一张牌');
if(game.hasPlayer(function(current){
return current.countCards('hej')>0;
})) controls.push('选择一名角色区域内的一张牌');
if(!controls.length){event.finish();return;}
event.controls=controls;
var next=player.chooseControl();
next.set('choiceList',controls)
next.set('prompt','请选择要移动的卡牌的来源');
next.ai=function(){return 0};
'step 1'
result.control=event.controls[result.index];
var list=['弃牌堆','牌堆','角色'];
for(var i=0;i<list.length;i++){
if(result.control.indexOf(list[i])!=-1){event.index=i;break;}
}
if(event.index==2){
player.chooseTarget('请选择要移动的卡牌的来源',true,function(card,kagari,target){
return target.countCards('hej')>0;
});
}
else{
var source=ui[event.index==0?'discardPile':'cardPile'].childNodes;
var list=[];
for(var i=0;i<source.length;i++) list.push(source[i]);
player.chooseButton(['请选择要移动的卡牌',list],true).ai=get.buttonValue;
}
'step 2'
if(event.index==2){
player.line(result.targets[0]);
event.target1=result.targets[0];
player.choosePlayerCard(result.targets[0],true,'hej').set('visible',true);
}
else{
event.card=result.links[0];
}
'step 3'
if(event.index==2) event.card=result.cards[0];
var controls=[
'将这张牌移动到牌堆的顶部或者底部',
'将这张牌移动到弃牌堆的顶部或者底部',
'将这张牌移动到一名角色对应的区域里',
];
event.controls=controls;
var next=player.chooseControl();
next.set('prompt','要对'+get.translation(event.card)+'做什么呢?');
next.set('choiceList',controls);
next.ai=function(){return 2};
'step 4'
result.control=event.controls[result.index];
var list=['弃牌堆','牌堆','角色'];
for(var i=0;i<list.length;i++){
if(result.control.indexOf(list[i])!=-1){event.index2=i;break;}
}
if(event.index2==2){
player.chooseTarget('要将'+get.translation(card)+'移动到哪一名角色的对应区域呢',true).ai=function(target){
return target==_status.event.player?1:0;
};
}
else{
player.chooseControl('顶部','底部').set('prompt','把'+get.translation(card)+'移动到'+(event.index2==0?'弃':'')+'牌堆的...');
}
'step 5'
if(event.index2!=2){
if(event.target1) event.target1.lose(card,ui.special);
else card.goto(ui.special);
event.way=result.control;
}
else{
event.target2=result.targets[0];
var list=['手牌区'];
if(lib.card[card.name].type=='equip'&&event.target2.isEmpty(lib.card[card.name].subtype)) list.push('装备区');
if(lib.card[card.name].type=='delay'&&!event.target2.storage._disableJudge&&!event.target2.hasJudge(card.name)) list.push('判定区');
if(list.length==1) event._result={control:list[0]};
else{
player.chooseControl(list).set('prompt','把'+get.translation(card)+'移动到'+get.translation(event.target2)+'的...').ai=function(){return 0};
}
}
'step 6'
if(event.index2!=2){
card.fix();
var node=ui[event.index==0?'discardPile':'cardPile'];
if(event.way=='底部') node.appendChild(card);
else node.insertBefore(card,node.firstChild);
game.updateRoundNumber();
event.finish();
}
else{
if(result.control=='手牌区'){
var next=event.target2.gain(card);
if(event.target1){
next.source=event.target1;
next.animate='giveAuto';
}
else next.animate='draw';
}
else if(result.control=='装备区'){
if(event.target1) event.target1.$give(card,event.target2);
event.target2.equip(card);
}
else{
if(event.target1) event.target1.$give(card,event.target2);
event.target2.addJudge(card);
}
}
'step 7'
game.updateRoundNumber();
},
ai:{
order:10,
result:{player:1},
},
},
caopi_xingdong:{
audio:'olfangquan',
audioname:['shen_caopi'],
@ -3232,12 +3399,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
caopi_xingdong:'行动',
caopi_xingdong_info:'出牌阶段限一次,你可以将一张【杀】或普通锦囊牌交给一名其他角色,然后该角色选择一项:对除你以外的角色使用此牌并在此牌结算完成后和你各摸一张牌;或跳过下回合的判定阶段和摸牌阶段。',
key_kagari:'篝',
kagari_zongsi:'纵丝',
kagari_zongsi_info:'出牌阶段限一次,你可以选择一张不在游戏外的牌,然后将其置于牌堆/弃牌堆的顶部/底部或一名角色的对应区域内。',
key_shiki:'神山识',
shiki_omusubi:'御结',
shiki_omusubi_info:'一轮游戏开始时你可以减1点体力上限然后将一名其他角色武将牌上的技能加入到你的武将牌上。',
extra_feng:'神话再临·风',
extra_huo:'神话再临·火',
extra_lin:'神话再临·林',
extra_shan:'神话再临·山',
extra_yin:'神话再临·阴',
extra_lei:'神话再临·雷',
extra_key:'神话再临·论外',
extra_ol:'神话再临OL',
},
};

View File

@ -285,6 +285,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
skill:{
//一 将 成 名
zhilve:{
audio:2,
trigger:{player:'phaseZhunbeiBegin'},
forced:true,
content:function(){
@ -350,6 +351,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
xhzhiyan:{
enable:'phaseUse',
audio:2,
filter:function(event,player){
return player.countCards('h')!=player.maxHp;
},
@ -4462,6 +4464,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
xinzhilve:{
enable:'phaseUse',
audio:'zhilve',
usable:1,
chooseButton:{
dialog:function(event,player){
@ -4473,9 +4476,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
for(var i=0;i<list.length;i++){
var str='<div class="popup text" style="width:calc(100% - 10px);display:inline-block">';
var bool=lib.skill.xinzhilve.chooseButton.filter({link:i},player);
if(i==0&&!bool) str+='<div style="opacity:0.5">';
if(!bool) str+='<div style="opacity:0.5">';
str+=list[i];
if(i==0&&!bool) str+='</div>';
if(!bool) str+='</div>';
str+='</div>';
var next=choiceList.add(str);
next.firstChild.addEventListener(lib.config.touchscreen?'touchend':'click',ui.click.button);
@ -4512,6 +4515,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
xinzhilve_move:{
audio:'zhilve',
filterCard:function(){return false},
selectCard:-1,
delay:false,
@ -4664,6 +4668,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
xinzhilve_use:{
audio:'zhilve',
filterCard:function(){return false},
selectCard:-1,
filterTarget:function(card,player,target){
@ -4695,6 +4700,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
xinxhzhiyan:{
audio:'xhzhiyan',
enable:'phaseUse',
filter:function(event,player){
return player.countCards('h')!=player.maxHp&&!player.hasSkill('xinxhzhiyan_'+(player.countCards('h')>player.maxHp));
@ -4736,7 +4742,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return 0.5;
},
result:{
player:1,
player:function(player,target){
if(player.countCards('h')<player.maxHp) return 1;
return 0;
},
target:function(player,target){
if(player.countCards('h')>player.maxHp) return 1;
return 0;
},
},
},
},
@ -4825,6 +4838,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
gnjinfan:{
trigger:{player:'phaseDiscardBegin'},
direct:true,
audio:2,
filter:function(event,player){
var list=[];
player.getStorage('gnjinfan').filter(function(card){
@ -4911,7 +4925,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
bool:true,
card:result.links[0],
cards:result.links.slice(0),
skill:'gnjinfan3',
skill:'gnjinfan',
}
player.unmarkAuto('gnjinfan',result.links);
}
@ -4952,6 +4966,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
backup:function(links,player){
return {
audio:'gnjinfan',
filterCard:function(){return false},
selectCard:-1,
viewAs:links[0],
@ -5043,6 +5058,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
gnsheque:{
audio:2,
trigger:{global:'phaseZhunbeiBegin'},
direct:true,
filter:function(event,player){

View File

@ -6945,7 +6945,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
rexuanfeng_info:'当你失去装备区内的牌时,或于弃牌阶段弃置了两张或更多的手牌后,你可以依次弃置一至两名其他角色的共计两张牌,或将一名其他角色装备区内的一张牌移动到另一名其他角色的装备区内。',
olpaoxiao:'咆哮',
olpaoxiao2:'咆哮',
olpaoxiao_info:'锁定技,你使用【杀】无次数限制。若你使用的【杀】被【闪】抵消,你本回合下一次使用【杀】造成伤害时,此伤害+1。',
olpaoxiao_info:'①锁定技,你使用【杀】无次数限制。②锁定技,当你使用的【杀】被【闪】抵消时,你获得一枚“咆”(→)当你因【杀】造成伤害时,你弃置所有“咆”并令伤害值+XX为“咆”数。回合结束后你弃置所有“咆”。',
oltishen:'替身',
oltishen_info:'限定技准备阶段你可以将体力回复至上限然后摸X张牌X为你回复的体力值。',
ollongdan:'龙胆',

View File

@ -107,7 +107,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sp_sunshangxiang:['female','shu',3,['liangzhu','fanxiang']],
caoang:['male','wei',4,['kaikang']],
sp_caoren:['male','wei',4,['weikui','lizhan']],
zhangbao:['male','qun',3,['zhoufu','yingbin']],
zhangbao:['male','qun',3,['rezhoufu','reyingbing']],
huangjinleishi:['female','qun',3,['fulu','fuji']],
maliang:['male','shu',3,['zishu','xinyingyuan']],
sp_pangtong:['male','qun',3,['xinmanjuan','zuixiang']],
@ -5575,7 +5575,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
forced:true,
filter:function(event,player){
return (event.card.name=='sha'||get.type(event.card,'trick')=='trick')&&player.countCards('h')>0;
return (event.card.name=='sha'||get.type(event.card)=='trick')&&player.countCards('h')>0;
},
content:function(){
player.chooseToDiscard('h',true);
@ -8342,6 +8342,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.addSkill(event.list);
player.popup(event.list[0]);
player.storage.zhuSkill_yjixi=event.list;
game.broadcastAll(function(list){
game.expandSkills(list);
for(var i of list){
var info=lib.skill[i];
if(!info) continue;
if(!info.audioname2) info.audioname2={};
info.audioname2.old_yuanshu='weidi';
}
},list);
}
}
},
@ -9219,6 +9228,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
player.addAdditionalSkill('weidi',list);
player.storage.zhuSkill_weidi=list;
game.broadcastAll(function(list){
game.expandSkills(list);
for(var i of list){
var info=lib.skill[i];
if(!info) continue;
if(!info.audioname2) info.audioname2={};
info.audioname2.yuanshu='weidi';
}
},list);
}
},
zhenlue:{
@ -13299,6 +13317,105 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
}
},
rezhoufu:{
audio:'zhoufu',
enable:'phaseUse',
usable:1,
filter:function(event,player){
return player.countCards('he')>0;
},
filterCard:true,
filterTarget:function(card,player,target){
return target!=player&&!target.getStorage('rezhoufu2').length;
},
check:function(card){
return 6-get.value(card)
},
position:'he',
discard:false,
toStorage:true,
prepare:'give',
content:function(){
if(!target.storage.rezhoufu2_markcount) target.storage.rezhoufu2_markcount=0;
target.markAuto('rezhoufu2',cards);
},
ai:{
order:1,
result:{
target:-1,
},
},
group:['rezhoufu_judge','rezhoufu_losehp'],
subSkill:{
judge:{
audio:'zhoufu',
trigger:{global:'judgeBefore'},
forced:true,
filter:function(event,player){
return !event.directresult&&event.player.getStorage('rezhoufu2').length;
},
logTarget:'player',
content:function(){
var cards=[trigger.player.getStorage('rezhoufu2')[0]];
trigger.directresult=cards[0];
trigger.player.unmarkAuto('rezhoufu2',cards);
},
},
losehp:{
audio:'zhoufu',
trigger:{global:'phaseEnd'},
forced:true,
filter:function(event,player){
return event.player.hasSkill('rezhoufu3')&&event.player.isAlive();
},
logTarget:'player',
content:function(){
trigger.player.loseHp();
},
},
},
},
rezhoufu2:{
intro:{
content:'cards',
onunmark:function(storage,player){
if(storage&&storage.length){
player.$throw(storage,1000);
game.cardsDiscard(storage);
game.log(storage,'被置入了弃牌堆');
storage.length==0;
}
player.addTempSkill('rezhoufu3');
delete player.storage.rezhoufu2_markcount;
},
},
},
rezhoufu3:{},
reyingbing:{
audio:'yingbin',
trigger:{global:'useCard'},
forced:true,
filter:function(event,player){
var cards=event.player.getStorage('rezhoufu2');
return cards.length&&get.color(cards[0])==get.color(event.card);
},
logTarget:'player',
content:function(){
'step 0'
player.draw();
'step 1'
trigger.player.storage.rezhoufu2_markcount++;
if(trigger.player.storage.rezhoufu2_markcount>=2){
var cards=trigger.player.getStorage('rezhoufu2');
trigger.player.$throw(cards);
game.delayx();
player.gain(cards,'gain2','log');
cards.length=0;
trigger.player.unmarkSkill('rezhoufu2');
}
else trigger.player.markSkill('rezhoufu2');
},
},
zhoufu:{
audio:2,
enable:'phaseUse',
@ -18964,6 +19081,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zhoufu2:'咒缚',
zhoufu3:'咒缚',
yingbin:'影兵',
reyingbing:'影兵',
rezhoufu:'咒缚',
rezhoufu2:'咒缚',
fenxun:'奋迅',
fenxun2:'奋迅',
spmengjin:'猛进',
@ -19035,6 +19155,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
oldxiemu_info:'当你成为其他角色使用的黑色牌的目标后,你可以弃置一张【杀】,然后摸两张牌。',
spmengjin_info:'当你使用【杀】指定目标后,你可以弃置目标角色的一张牌。',
fenxun_info:'出牌阶段限一次你可以弃置一张牌并选择一名其他角色你于本回合内至其的距离视为1。',
rezhoufu_info:'出牌阶段限一次你可以用一张牌对一名其他角色施“咒”。当有“咒”的角色判定时将“咒”作为判定牌一名角色的回合结束时你令本回合移除过“咒”的角色各失去1点体力',
reyingbing_info:'锁定技,有“咒”的角色使用与“咒”颜色相同的牌时,你摸一张牌;若这是你第二次因该“咒”摸牌,你获得该"咒"。',
yingbin_info:'锁定技,有“咒”的角色使用与“咒”花色相同的牌时,你摸一张牌;当你因同一名角色的同一张“咒”的效果摸第二张牌时,移去该“咒”。',
zhoufu_info:'出牌阶段限一次你可以将一张手牌置于一名没有“咒”的其他角色的武将牌旁称为“咒”。当有“咒”的角色判定时其改为将“咒”作为判定牌一名角色的回合结束时若有角色于此回合因判定而移除过“咒”则你令这些角色各失去1点体力。',
yanzheng_info:'若你的手牌数大于你的体力值,则你可以将你装备区内的牌当作【无懈可击】使用。',

View File

@ -23,7 +23,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
caochong:['male','wei',3,['chengxiang','renxin']],
xunyou:['male','wei',3,['qice','zhiyu']],
xin_xushu:['male','shu',3,['xinwuyan','xinjujian']],
xin_masu:['male','shu',3,['sanyao','zhiman']],
xin_masu:['male','shu',3,['olsanyao','rezhiman']],
xin_fazheng:['male','shu',3,['xinenyuan','xinxuanhuo'],['die_audio']],
zhuran:['male','wu',4,['danshou']],
xusheng:['male','wu',4,['xinpojun']],
@ -8058,14 +8058,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"step 2"
if(result.bool&&result.targets.length){
result.targets[0].storage.qianxi2=event.color;
result.targets[0].addSkill('qianxi2');
result.targets[0].addTempSkill('qianxi2');
player.line(result.targets,'green');
game.addVideo('storage',result.targets[0],['qianxi2',event.color]);
}
},
},
qianxi2:{
trigger:{global:'phaseAfter'},
//trigger:{global:'phaseAfter'},
forced:true,
mark:true,
audio:false,
@ -8102,6 +8102,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
return false;
},
filter:function(event,player){
return player!=event.player;
},
logTarget:'player',
content:function(){
if(trigger.player.countGainableCards(player,'ej')){
@ -8117,6 +8120,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filterTarget:function(card,player,target){
return target.isMaxHp();
},
filter:function(event,player){
return player.countCards('he')>0;
},
check:function(card){return 7-get.value(card);},
position:'he',
filterCard:true,
@ -8138,6 +8144,90 @@ game.import('character',function(lib,game,ui,get,ai,_status){
order:7
}
},
olsanyao:{
enable:'phaseUse',
audio:'sanyao',
filter:function(event,player){
return player.countCards('he')>0&&(!player.hasSkill('olsanyao0')||!player.hasSkill('olsanyao1'));
},
chooseButton:{
dialog:function(event,player){
var list=[
'选择手牌数最多的一名角色',
'选择体力值最大的一名角色',
];
var choiceList=ui.create.dialog('散谣:请选择一项','forcebutton','hidden');
for(var i=0;i<list.length;i++){
var str='<div class="popup text" style="width:calc(100% - 10px);display:inline-block">';
var bool=lib.skill.olsanyao.chooseButton.filter({link:i},player);
if(!bool) str+='<div style="opacity:0.5">';
str+=list[i];
if(!bool) str+='</div>';
str+='</div>';
var next=choiceList.add(str);
next.firstChild.addEventListener(lib.config.touchscreen?'touchend':'click',ui.click.button);
next.firstChild.link=i;
for(var j in lib.element.button){
next[j]=lib.element.button[i];
}
choiceList.buttons.add(next.firstChild);
}
return choiceList;
},
filter:function(button,player){
return !player.hasSkill('olsanyao'+button.link);
},
check:function(button){
var player=_status.event.player;
if(game.hasPlayer(function(current){
return current[button.link?'isMaxHp':'isMaxHandcard']()&&get.effect(current,'sanyao',player,player)>0
})) return 1+button.link;
return 0;
},
backup:function(links){
return {
audio:'sanyao',
filterTarget:[
function(card,player,target){
var num=target.countCards('h',function(card){
return !ui.selected.cards.contains(card);
});
return !game.hasPlayer(function(current){
return current!=target&&current.countCards('h',function(card){
return !ui.selected.cards.contains(card);
})>num;
});
},
function(card,player,target){
return target.isMaxHp();
}
][links[0]],
index:links[0],
filterCard:true,
check:function(card){
return 7-get.value(card);
},
position:'he',
content:function(){
player.addTempSkill('olsanyao'+lib.skill[event.name].index)
target.damage('nocard');
},
ai:lib.skill.sanyao.ai,
}
},
prompt:function(){
return '请选择【散谣】的目标'
},
},
ai:{
order:7,
result:{
player:1,
},
},
},
olsanyao0:{},
olsanyao1:{},
rezhiman:{
audio:'zhiman',
audioname:['guansuo'],
@ -11165,7 +11255,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var next=player.chooseCard(get.prompt2('yuce'));
next.set('ai',function(card){
if(get.type(card)=='basic') return 1;
return get.value(card);
return Math.abs(get.value(card))+1;
});
"step 1"
if(result.bool){
@ -12182,6 +12272,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
paiyi:'排异',
paiyi_backup:'排异',
sanyao:'散谣',
olsanyao:'散谣',
olsanyao_backup:'散谣',
zhiman:'制蛮',
resanyao:'散谣',
rezhiman:'制蛮',
@ -12205,6 +12297,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
qianxi_info:'准备阶段你可以摸一张牌并弃置一张牌然后令一名距离为1的角色不能使用或打出与你弃置的牌颜色相同的手牌直到回合结束。',
zhiman_info:'当你对一名其他角色造成伤害时,你可以防止此伤害,然后获得其装备区或判定区的一张牌。',
sanyao_info:'出牌阶段限一次,你可以弃置一张牌并指定一名体力值最多(或之一)的角色你对其造成1点伤害。',
olsanyao_info:'出牌阶段每项各限一次,你可以弃置一张牌并指定一名体力值或手牌数最多(或之一)的角色并对其造成1点伤害。',
rezhiman_info:'当你对一名其他角色造成伤害时,你可以防止此伤害,然后获得其区域内的一张牌。',
resanyao_info:'出牌阶段限一次,你可以弃置任意张牌并指定等量除你外体力值最多(或之一)的其他角色。你对这些角色依次造成1点伤害。',
paiyi_info:'出牌阶段限一次你可以移去一张“权”并选择一名角色令其摸两张牌然后若其手牌数大于你你对其造成1伤害。',

View File

@ -1,5 +1,5 @@
window.noname_asset_list=[
'v1.9.100.6',
'v1.9.100.7',
'audio/background/aozhan_chaoming.mp3',
'audio/background/aozhan_online.mp3',
'audio/background/aozhan_rewrite.mp3',
@ -580,6 +580,10 @@ window.noname_asset_list=[
'audio/die/xingdaorong.mp3',
'audio/die/yl_yuanshu.mp3',
'audio/die/ol_pangde.mp3',
'audio/die/yj_ganning.mp3',
'audio/die/yj_xuhuang.mp3',
'audio/die/yj_zhanghe.mp3',
'audio/die/yj_zhangliao.mp3',
'audio/skill/anguo1.mp3',
'audio/skill/anguo2.mp3',
@ -2574,6 +2578,16 @@ window.noname_asset_list=[
'audio/skill/rejianchu2.mp3',
'audio/skill/rejizhi_lukang1.mp3',
'audio/skill/rejizhi_lukang2.mp3',
'audio/skill/gnjinfan1.mp3',
'audio/skill/gnjinfan2.mp3',
'audio/skill/gnsheque1.mp3',
'audio/skill/gnsheque2.mp3',
'audio/skill/weifeng1.mp3',
'audio/skill/weifeng2.mp3',
'audio/skill/xhzhiyan1.mp3',
'audio/skill/xhzhiyan2.mp3',
'audio/skill/zhilve1.mp3',
'audio/skill/zhilve2.mp3',
'font/huangcao.ttf',
'font/shousha.ttf',
@ -2636,6 +2650,7 @@ window.noname_asset_list=[
'image/card/tunliang.png',
'image/card/yuanjun.png',
'image/card/kamome_suitcase.png',
'image/card/miki_hydrogladiator.png',
'image/card/bagua.png',
'image/card/baihupifeng.png',
@ -3172,6 +3187,8 @@ window.noname_asset_list=[
'image/character/ns_yuanxi.jpg',
'image/character/yj_ganning.jpg',
'image/character/yj_zhangliao.jpg',
'image/character/key_miki.jpg',
'image/character/key_shiki.jpg',
'image/character/baiwuchang.jpg',
'image/character/baosanniang.jpg',
@ -4151,11 +4168,13 @@ window.noname_asset_list=[
'image/mode/boss/card/yihuajiemu.png',
'image/mode/boss/card/qicaishenlu.png',
'image/mode/boss/card/longfenghemingjian.png',
'image/mode/boss/card/boss_mengpohuihun.png','image/mode/boss/card/gubuzifeng.png',
'image/mode/boss/card/boss_mengpohuihun.png',
'image/mode/boss/card/gubuzifeng.png',
'image/mode/boss/card/jinwuluorigong.png',
'image/mode/boss/card/lingsheji.png',
'image/mode/boss/card/shanrangzhaoshu.png',
'image/mode/boss/card/xingtianpojunfu.png',
'image/mode/boss/card/niaobaidaowenha.png',
'image/mode/boss/character/boss_bianchengwang.jpg',
'image/mode/boss/character/boss_chujiangwang.jpg',

View File

@ -12915,7 +12915,7 @@
if(hs.length){
event.dialog.addText('手牌区');
hs.randomSort();
if(event.visible||target.isUnderControl(true)){
if(event.visible||target.isUnderControl(true)||player.hasSkillTag('viewHandcard',null,target,true)){
event.dialog.add(hs);
directh=false;
}
@ -13033,7 +13033,7 @@
if(hs.length){
event.dialog.addText('手牌区');
hs.randomSort();
if(event.visible||target.isUnderControl(true)){
if(event.visible||target.isUnderControl(true)||player.hasSkillTag('viewHandcard',null,target,true)){
event.dialog.add(hs);
directh=false;
}
@ -13178,7 +13178,7 @@
if(hs.length){
event.dialog.addText('手牌区');
hs.randomSort();
if(event.visible||target.isUnderControl(true)){
if(event.visible||target.isUnderControl(true)||player.hasSkillTag('viewHandcard',null,target,true)){
event.dialog.add(hs);
directh=false;
}
@ -15471,7 +15471,7 @@
},player,name,popname);
if(lib.animate.skill[name]) lib.animate.skill[name].apply(this,arguments);
else{
if(popname!=name) this.popup(name,'water',false);
if(popname!=name) this.popup(popname,'water',false);
else this.popup(get.skillTranslation(name,this),'water',false);
}
},
@ -16585,7 +16585,7 @@
if(str) game.log(this,'移去了',get.cnNumber(num),'个','#g【'+str+'】');
}
this.syncStorage(i);
this[this.storage[i]?'updateMark':'unmarkSkill'](i);
this[this.storage[i]?'markSkill':'unmarkSkill'](i);
},
addMark:function(i,num,log){
if(typeof num!='number'||!num) num=1;
@ -16599,7 +16599,7 @@
if(str) game.log(this,'获得了',get.cnNumber(num),'个','#g【'+str+'】');
}
this.syncStorage(i);
this.updateMark(i);
this.markSkill(i);
},
countMark:function(i){
if(this.storage[i]==undefined) return 0;
@ -26024,7 +26024,7 @@
}
ui.arena.setNumber(state.number);
_status.mode=state.mode;
lib.inpile=_state.inpile;
lib.inpile=state.inpile;
var pos=state.players[observe||game.onlineID].position;
for(var i in state.players){
var info=state.players[i];
@ -26921,6 +26921,10 @@
if((!info.direct||directaudio)&&lib.config.background_speak&&
(!lib.skill.global.contains(skill)||lib.skill[skill].forceaudio)){
var audioname=skill;
if(info.audioname2&&info.audioname2[player.name]){
audioname=info.audioname2[player.name];
info=lib.skill[audioname];
}
var audioinfo=info.audio;
if(typeof audioinfo=='string'&&lib.skill[audioinfo]){
audioname=audioinfo;
@ -42057,11 +42061,11 @@
if(num2<10){
num2='0'+num2.toString();
}
var num3=num-num1*3600-num2*60;
var num3=num-num1*3600-parseInt(num2)*60;
if(num3<10){
num3='0'+num3.toString();
}
ui.time3.innerHTML=num+':'+num2+':'+num3;
ui.time3.innerHTML=num1+':'+num2+':'+num3;
}
else{
var num1=Math.floor(num/60);
@ -46094,6 +46098,10 @@
}
if(lib.config.background_speak&&e!=='init'){
var audioname=this.link;
if(info.audioname2&&info.audioname2[playername]){
audioname=info.audioname2[playername];
info=lib.skill[audioname];
}
var audioinfo=info.audio;
var that=this;
var getIndex=function(i){
@ -49499,7 +49507,7 @@
uiintro.addText(get.colorspan(lib.characterTitle[node.name]));
}
if(node.isUnderControl()){
if(node.isUnderControl()||(game.me&&game.me.hasSkillTag('viewHandcard',null,node,true))){
var hs=node.getCards('h');
if(hs.length){
uiintro.add('<div class="text center">手牌</div>');

View File

@ -1,10 +1,8 @@
window.noname_update={
version:'1.9.100.6.1',
update:'1.9.100.6',
version:'1.9.100.7',
update:'1.9.100.6.1',
changeLog:[
'武将技能设计征集比赛2020三国组',
'星张辽,星甘宁,星徐晃,星张郃',
'两军对垒(乱斗)',
'神山识',
'bug修复',
],
@ -21,24 +19,24 @@ window.noname_update={
//'card/yunchou.js',
//'card/zhenfa.js',
//'card/zhulu.js',
//'character/diy.js',
//'character/extra.js',
'character/diy.js',
'character/extra.js',
//'character/hearth.js',
//'character/gujian.js',
//'character/gwent.js',
//'character/hearth.js',
//'character/mobile.js',
'character/mobile.js',
//'character/mtg.js',
//'character/old.js',
//'character/refresh.js',
'character/refresh.js',
//'character/shenhua.js',
//'character/sp.js',
'character/sp.js',
//'character/tw.js',
//'character/standard.js',
//'character/swd.js',
//'character/xianjian.js',
//'character/xinghuoliaoyuan.js',
//'character/yijiang.js',
'character/yijiang.js',
//'character/yxs.js',
//'extension/boss/extension.js',
//'layout/default/layout.css',
@ -49,10 +47,10 @@ window.noname_update={
//'mode/chess.js',
//'mode/tafang.js',
//'mode/single.js',
//'mode/stone.js',
'mode/stone.js',
'mode/brawl.js',
//'mode/versus.js',
//'mode/boss.js',
'mode/boss.js',
'game/game.js',
//'game/NoSleep.js',
//'game/config.js',

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 239 KiB

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

View File

@ -472,6 +472,18 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
},
card:{
niaobaidaowenha:{
type:'equip',
subtype:'equip5',
skills:['niaobaidaowenha_skill'],
modeimage:'boss',
ai:{
basic:{
equipValue:7.5,
},
},
fullskin:true,
},
goujiangdesidai:{
type:'equip',
subtype:'equip1',
@ -1592,7 +1604,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
return name;
}
else{
var arr=['shen_caocao','shen_simayi','shen_guanyu','shen_zhugeliang','shen_zhaoyun','shen_zhouyu','shen_lvmeng','shen_lvbu'];
var arr=['shen_caocao','shen_simayi','shen_guanyu','shen_zhugeliang','shen_zhaoyun','shen_zhouyu','shen_lvmeng','shen_lvbu','shen_liubei','shen_luxun','shen_ganning','ol_zhangliao','shen_zhenji','shen_caopi','key_kagari','key_shiki'];
arr.removeArray(list);
return arr.randomGet();
}
@ -1641,7 +1653,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
game.check();
});
control.backup1=ui.create.div('.buttons');
control.backup2=ui.create.buttons(['shen_caocao','shen_simayi','shen_guanyu','shen_zhugeliang','shen_zhaoyun','shen_zhouyu','shen_lvmeng','shen_lvbu','shen_liubei','shen_luxun','shen_ganning','ol_zhangliao','shen_zhenji','shen_caopi'],'character',control.backup1);
control.backup2=ui.create.buttons(['shen_caocao','shen_simayi','shen_guanyu','shen_zhugeliang','shen_zhaoyun','shen_zhouyu','shen_lvmeng','shen_lvbu','shen_liubei','shen_luxun','shen_ganning','ol_zhangliao','shen_zhenji','shen_caopi','key_kagari','key_shiki'],'character',control.backup1);
return control;
}
},
@ -1736,6 +1748,11 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
lib.inpile.add('goujiangdesidai');
break;
}
case 'key_shiki':{
game.players[i].equip(game.createCard2('niaobaidaowenha','diamond',13));
lib.inpile.add('niaobaidaowenha');
break;
}
}
}
lib.inpile.remove('wuzhong');
@ -2018,6 +2035,27 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},
},
skill:{
niaobaidaowenha_skill:{
trigger:{player:'loseMaxHpAfter'},
direct:true,
content:function(){
'step 0'
event.count=trigger.num;
'step 1'
event.count--;
player.chooseTarget(get.prompt2('niaobaidaowenha_skill'),lib.filter.notMe).set('ai',function(target){
return get.attitude(_status.event.player,target)/(target.maxHp||1)
});
'step 2'
if(result.bool){
var target=result.targets[0];
player.logSkill('niaobaidaowenha_skill',target);
target.gainMaxHp();
target.recover();
if(event.count) event.goto(1);
}
},
},
goujiangdesidai_skill:{
inherit:'kagari_zongsi',
filter:function(event,player){
@ -9767,6 +9805,10 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
goujiangdesidai:'篝酱的丝带',
goujiangdesidai_info:'锁定技,若你未拥有技能【纵丝】,则你视为拥有技能【纵丝】;若你拥有技能【纵丝】,则你将此技能改为「出牌阶段限两次」',
goujiangdesidai_skill:'纵丝',
niaobaidaowenha:'鸟白岛文蛤',
niaobaidaowenha_skill:'鸟白岛文蛤',
niaobaidaowenha_info:'当你减少1点体力上限后你可令一名其他角色增加1点体力上限并回复1点体力。',
niaobaidaowenha_skill_info:'当你减少1点体力上限后你可令一名其他角色增加1点体力上限并回复1点体力。',
mode_boss_card_config:'挑战卡牌',
mode_boss_character_config:'挑战武将',

View File

@ -2550,7 +2550,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
re_huangzhong:['male','shu',4,['yingjian','weikui','gzyinghun'],[]],
re_xiahouyuan:['male','wei',4,['benxi','yaowu','dujin','juesi'],[]],
zhanghe:['male','wei',4,['kaikang','xingshang','zhiheng'],[]],
xin_fazheng:['male','shu',4,['zhanji','nzry_chenglve','yiji'],[]],
xin_fazheng:['male','shu',4,['xinfu_zhanji','nzry_chenglve','yiji'],[]],
},
translate:{
re_huangzhong:'定军黄忠',

View File

@ -357,7 +357,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
if(ui.deckcontrol){
ui.deckcontrol.show();
setTimeout(function(){
ui.deckcontrol.style.transition='';
if(ui.deckcontrol) ui.deckcontrol.style.transition='';
},500);
}
};