一番の宝物 -Hinata Side-

This commit is contained in:
Spmario233 2020-05-29 19:10:14 +08:00 committed by GitHub
parent d763427cba
commit f7a52a159d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
25 changed files with 853 additions and 105 deletions

BIN
audio/die/ol_weiyan.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
audio/skill/reqimou1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/reqimou2.mp3 Normal file

Binary file not shown.

View File

@ -63,7 +63,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
sha:{
audio:true,
fullskin:true,
nature:['thunder','fire'],
nature:['thunder','fire','kami'],
type:'basic',
enable:true,
usable:1,

View File

@ -38,6 +38,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_doruji:['female','key',16,['doruji_feiqu']],
key_yuiko:['female','key',3,['yuiko_fenglun','yuiko_dilve']],
key_riki:['female','key',3,['riki_spwenji','riki_nvzhuang','riki_mengzhong']],
key_hisako:['female','key',3,['hisako_yinbao','hisako_zhuanyun']],
key_hinata:['male','key',4,['hinata_qiulve','hinata_ehou']],
key_noda:['male','key',4,['noda_fengcheng','noda_xunxin']],
// diy_caocao:['male','wei',4,['xicai','diyjianxiong','hujia']],
// diy_hanlong:['male','wei',4,['siji','ciqiu']],
diy_feishi:['male','shu',3,['shuaiyan','moshou']],
@ -117,7 +120,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
diy:{
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"],
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"],
diy_yongjian:["ns_chendao","yj_caoang"],
},
},
@ -133,6 +136,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
diy_tianyu:'字国让,渔阳雍奴(今天津市武清区东北)人。三国时期曹魏将领。初从刘备,因母亲年老回乡,后跟随公孙瓒,公孙瓒败亡,劝说鲜于辅加入曹操。曹操攻略河北时,田豫正式得到曹操任用,历任颖阴、郎陵令、弋阳太守等。',
},
characterTitle:{
key_noda:'#rAngel Beats!',
key_hinata:'#rAngel Beats!',
key_hisako:'#rAngel Beats!',
key_doruji:'#bLittle Busters!',
key_riki:'#bLittle Busters!',
key_yuiko:'#bLittle Busters!',
key_akane:'#bRewrite',
@ -194,6 +201,167 @@ game.import('character',function(lib,game,ui,get,ai,_status){
yuji:['zuoci']
},
skill:{
noda_fengcheng:{
trigger:{
player:"gainAfter",
},
forced:true,
filter:function(event,player){
return get.itemtype(event.source)=='player'&&event.bySelf!=true;
},
check:function(event,player){
return get.attitude(player,event.source)>0;
},
logTarget:"source",
content:function(){
trigger.source.draw();
},
},
noda_xunxin:{
enable:'phaseUse',
viewAs:{name:'juedou'},
filter:function(event,player){
return (player.getStat('skill').noda_xunxin||0)<player.hp;
},
filterTarget:function(event,player,target){
if(target.hp<player.hp) return false;
return lib.filter.filterTarget.apply(this,arguments);
},
selectCard:-1,
filterCard:function(){return false},
group:'noda_xunxin2',
},
noda_xunxin2:{
trigger:{player:'juedouAfter'},
popup:false,
forced:true,
filter:function(event,player){
if(event.target.isDead()) return false;
return event.turn&&event.turn.countCards('he')>0;
},
content:function(){
'step 0'
event.giver=trigger.turn;
event.gainner=event.giver==player?trigger.target:player;
event.giver.chooseCard('he',true,'交给'+get.translation(event.gainner)+'一张牌');
'step 1'
event.gainner.gain(result.cards,event.giver,'giveAuto');
},
},
hinata_qiulve:{
enable:['chooseToUse','chooseToRespond'],
viewAsFilter:function(player){
return player.countCards('he',function(card){
return get.type(card)!='basic';
})>0;
},
viewAs:{name:'sha'},
filterCard:function(card,player){
return get.type(card)!='basic';
},
locked:false,
position:'he',
check:function(card){
var val=get.value(card);
if(val>=6) return 0;
if(get.color(card)=='black') return 12-val;
return 6-val;
},
mod:{
targetInRange:function(card,player,target){
if(_status.event.skill=='hinata_qiulve') return true;
},
},
group:'hinata_qiulve_clear',
ai:{
respondSha:true,
skillTagFilter:function(player){
return player.countCards('he',function(card){
return get.type(card)!='basic';
})>0;
},
},
},
hinata_qiulve_clear:{
trigger:{player:'useCard1'},
firstDo:true,
silent:true,
filter:function(event,player){
return event.skill=='hinata_qiulve';
},
content:function(){
if(get.color(trigger.card)=='red') trigger.directHit.addArray(game.players);
else if(trigger.addCount!==false){
trigger.addCount=false;
var stat=player.getStat().card;
if(stat.sha) stat.sha--;
}
},
},
hinata_ehou:{
trigger:{global:'useCardAfter'},
direct:true,
filter:function(event,player){
return player!=event.player&&event.targets&&event.targets.contains(player)&&(_status.connectMode||player.hasSha());
},
content:function(){
'step 0'
player.chooseToUse({
logSkill:'hinata_ehou',
preTarget:trigger.player,
prompt:'是否发动【扼喉】,对'+get.translation(trigger.player)+'使用一张【杀】?',
filterCard:function(card,player){
return get.name(card)=='sha'&&lib.filter.filterCard.apply(this,arguments);
},
filterTarget:function(card,player,target){
return target==_status.event.preTarget&&lib.filter.filterTarget.apply(this,arguments);
},
addCount:false,
});
'step 1'
if(result.bool&&player.getHistory('sourceDamage',function(evt){
return evt.getParent(4)==event;
}).length) player.draw();
},
},
hisako_yinbao:{
trigger:{player:['damageEnd','recoverAfter']},
content:function(){
'step 0'
player.judge(function(card){
return get.suit(card)=='spade'?2:-2;
});
'step 1'
if(result.bool){
player.chooseTarget(lib.filter.notMe,true,'选择一名其他角色对其造成1点雷属性伤害');
}
else event.finish();
'step 2'
var target=result.targets[0];
player.line(target,'thunder');
target.damage();
},
},
hisako_zhuanyun:{
trigger:{player:'judgeBegin'},
forced:true,
silent:true,
filter:function(event,player){
return !event.directresult;
},
content:function(){
var tempcard=false,temp=-Infinity;
for(var i=0;i<ui.cardPile.childElementCount;i++){
var card=ui.cardPile.childNodes[i];
var temp2=trigger.judge(card);
if(temp2>temp){
tempcard=card;
temp=temp2;
}
}
if(tempcard) trigger.directresult=tempcard;
},
},
riki_spwenji:{
audio:2,
trigger:{player:'phaseUseBegin'},
@ -2543,7 +2711,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
forced:true,
silent:true,
popup:false,
priority:-1,
lastDo:true,
filter:function(event){
return event.name=='draw'||!event.directresult;
},
@ -2588,10 +2756,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
else{
var another=trigger[trigger.source==player?'player':'source'];
player.line(another,{color:[220, 90, 139]});
var card=game.createCard('du');
var card=game.createCard2('du');
player.$gain2(card);
player.gain(card);
another.gain(game.createCard('du'),'gain2');
another.gain(game.createCard2('du'),'gain2');
}
},
ai:{
@ -7414,6 +7582,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_doruji:'多鲁基',
key_yuiko:'来谷唯湖',
key_riki:'直枝理树'/*+'子'*/,
key_hisako:'久子',
key_hinata:'日向秀树',
key_noda:'野田',
lucia_duqu:'毒躯',
lucia_duqu_info:'锁定技,①当你对其他角色造成伤害或受到其他角色的伤害时,你和对方各获得一张花色点数随机的【毒】。<br>②当你因【毒】失去体力时,你改为回复等量的体力。<br>③当你处于濒死状态时,你可以使用一张【毒】(每回合限一次)。',
lucia_zhenren:'振刃',
@ -7513,7 +7684,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
shiina_feiyan:'飞燕',
shiina_feiyan_info:'一名其他角色的回合开始时,若其在你的攻击范围内,则你可以将一张「轻」置于弃牌堆,然后视为对其使用一张【杀】。若此【杀】未造成伤害,你摸一张牌。你于此【杀】的结算流程中视为拥有技能【铁骑】。',
shiina_retieji:'铁骑',
//你不能对稻荷发动【飞燕】
//你不能对稻荷和多鲁基发动【飞燕】
sunohara_chengshuang:'成双',
sunohara_chengshuang_phase:'成双',
sunohara_chengshuang_info:'锁定技,游戏开始时,你选择你的性别。回合开始时,你可以切换你的性别。',
@ -7552,6 +7723,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
riki_mengzhong_info:'觉醒技准备阶段若你已因〖问计〗获得了三张或更多的牌则你加1点体力上限并回复1点体力失去〖问计〗并获得〖重振〗。',
riki_chongzhen:'重振',
riki_chongzhen_info:'出牌阶段开始时,你可以与一名角色拼点。若你赢,你获得该角色手牌区,装备区,判定区的各一张牌;若你没赢,你于此阶段内使用牌时不能指定其他角色为目标。',
hisako_yinbao:'音爆',
hisako_yinbao_info:'当你受到伤害/回复体力后你可以判定。若结果为♠则你对一名其他角色造成1点雷属性伤害。',
hisako_zhuanyun:'转运',
hisako_zhuanyun_info:'锁定技,你的判定会朝向对你有利的方向倾斜。',
hinata_qiulve:'球略',
hinata_qiulve_info:'你可以将一张非基本牌当做【杀】使用或打出(无距离限制)。你以此法使用的红色【杀】不可被响应,黑色【杀】不计入使用次数限制。',
hinata_ehou:'扼喉',
hinata_ehou_info:'其他角色对你使用的牌结算完成后,你可对其使用一张【杀】。若此【杀】造成伤害,则你摸一张牌。',
noda_fengcheng:'奉承',
noda_fengcheng_info:'锁定技,其他角色交给你牌后,其摸一张牌。',
noda_xunxin:'寻衅',
noda_xunxin2:'寻衅',
noda_xunxin_info:'出牌阶段限X次你可以视为对一名体力值不小于你的角色使用【决斗】。若如此做此【决斗】结算完成后没赢的角色交给赢的角色一张牌。',
yj_caoang:'SP曹昂',
yjxuepin:'血拼',

View File

@ -29,7 +29,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"shen_zhangliao":["male","shen",4,["drlt_duorui","drlt_zhiti"],["wei"]],
"shen_ganning":["male","shen","3/6",["drlt_poxi","drlt_jieying"],["wu"]],
ol_zhangliao:['male','shen',4,['olduorui','olzhiti'],['wei']],
shen_caopi:['male','shen',6,['chuyuan','dengji'],['wei']],
shen_caopi:['male','shen',5,['chuyuan','dengji'],['wei']],
shen_zhenji:['female','shen',4,['shenfu','qixian'],['wei']],
},
characterIntro:{
@ -42,6 +42,74 @@ game.import('character',function(lib,game,ui,get,ai,_status){
//shen_ganning:"体力上限6",
},
skill:{
caopi_xingdong:{
audio:'olfangquan',
audioname:['shen_caopi'],
subSkill:{
mark:{
mark:true,
marktext:'令',
intro:{
content:'跳过下个回合的判定阶段和摸牌阶段',
},
},
},
enable:'phaseUse',
usable:1,
filter:function(event,player){
return player.countCards('h',lib.skill.caopi_xingdong.filterCard);
},
filterCard:function(card){
return card.name=='sha'||get.type(card)=='trick';
},
check:function(card){return 1},
filterTarget:lib.filter.notMe,
discard:false,
lose:false,
delay:0,
content:function(){
'step 0'
target.gain(cards,player,'give');
'step 1'
target.chooseUseTarget(cards[0],game.filterPlayer(function(current){
return current!=player;
}),'请使用得到的牌,或者跳过下回合的判定阶段和摸牌阶段');
'step 2'
if(result.bool) game.asyncDraw([player,target]);
else{
target.addTempSkill('caopi_xingdong_mark','phaseJudgeSkipped');
target.skip('phaseJudge');
target.skip('phaseDraw');
event.finish();
}
'step 3'
game.delay();
},
ai:{
order:12,
result:{
target:function(player,target){
var card=ui.selected.cards[0];
if(target.hasSkill('pingkou')) return 1;
if(!card) return 0;
var info=get.info(card);
if(info.selectTarget==-1){
var eff=0;
game.countPlayer(function(current){
if(current!=player&&target.canUse(card,current)) eff+=get.effect(current,card,target,target)>0
});
if(eff>0||get.value(card)<3) return eff;
return 0;
}
else if(game.hasPlayer(function(current){
return current!=player&&target.canUse(card,current)&&get.effect(current,card,target,target)>0
})) return 1.5;
else if(get.value(card)<3) return -1;
return 0;
},
},
},
},
shenfu:{
audio:2,
trigger:{player:'phaseEnd'},
@ -100,11 +168,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 7'
if(target.hp==target.countCards('h')) event.goto(4);
},
ai:{expose:0.25},
},
qixian:{
mod:{
maxHandcardFinal:function(player,num){
return num-player.hp+7;
maxHandcardBase:function(player,num){
return 7;
},
},
},
@ -112,9 +181,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2,
trigger:{global:'damageEnd'},
filter:function(event,player){
return event.player.isAlive();
return event.player.isAlive()&&player.getStorage('chuyuan').length<player.maxHp;
},
logTarget:'player',
locked:false,
content:function(){
'step 0'
trigger.player.draw();
@ -127,11 +197,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
game.log(trigger.player,'选择了',result.cards);
player.markAuto('chuyuan',result.cards);
},
mod:{
maxHandcard:function(player,num){
return num+player.getStorage('chuyuan').length;
},
},
//mod:{
// maxHandcard:function(player,num){
// return num+player.getStorage('chuyuan').length;
// },
//},
intro:{
content:'cards',
onunmark:'throw',
@ -139,7 +209,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
dengji:{
audio:2,
derivation:['tianxing','new_rejianxiong','rerende','rezhiheng','olluanji','olfangquan'],
derivation:['tianxing','new_rejianxiong','rerende','rezhiheng','olluanji','caopi_xingdong'],
trigger:{player:'phaseZhunbeiBegin'},
forced:true,
unique:true,
@ -176,12 +246,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.gain(player.storage.chuyuan,'gain2','fromStorage');
player.unmarkAuto('chuyuan',player.storage.chuyuan);
player.removeSkill('chuyuan');
player.chooseControl('rerende','rezhiheng','olluanji','olfangquan').set('prompt','选择获得一个技能').set('ai',function(){
player.chooseControl('rerende','rezhiheng','olluanji','caopi_xingdong').set('prompt','选择获得一个技能').set('ai',function(){
var player=_status.event.player;
if(!player.hasSkill('luanji')&&!player.hasSkill('olluanji')&&player.getUseValue({name:'wanjian'})>4) return 'olluanji';
if(!player.hasSkill('rezhiheng')) return 'rezhiheng';
if(!player.hasSkill('rerende')) return 'rerende';
return 'olfangquan';
if(!player.hasSkill('caopi_xingdong')) return 'caopi_xingdong';
return 'rerende';
});
'step 1'
player.addSkillLog(result.control);
@ -210,22 +280,24 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
direct:true,
content:function(){
'step 0'
if(trigger.name=='phaseDraw'){
player.logSkill('olzhiti');
trigger.num++;
event.finish();
}
else{
var list=game.filterPlayer(function(current){
return current.countDisabled()<5;
player.chooseTarget(get.prompt('olzhiti'),'废除一名角色的一个随机装备栏',function(card,player,target){
return target.countDisabled()<5;
}).set('ai',function(target){
return -get.attitude(_status.event.player,target)*(target.countCards('e')+1)
});
if(get.isLuckyStar()){
for(var i=0;i<list.length;i++){
if(list.length>1&&player.getFriends.contains(list[i])) list.splice(i--,1);
}
}
var target=list.randomGet();
'step 1'
if(result.bool){
var target=result.targets[0];
player.logSkill('olzhiti',target);
list.length=0;
var list=[];
for(var i=1;i<6;i++){
if(!target.isDisabled(i)) list.push(i);
}
@ -2727,8 +2799,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
};
};
if(event.list1.length&&event.list2.length){
player.discard(event.list1).delay=false;
target.discard(event.list2);
target.discard(event.list2).delay=false;
player.discard(event.list1);
}
else if(event.list2.length){
target.discard(event.list2);
@ -3012,19 +3084,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
olduorui2:'夺锐',
olduorui_info:'当你于出牌阶段内对一名角色造成伤害后,你可以选择该角色武将牌上的一个技能。若如此做,你结束出牌阶段,且你令此技能于其下个回合结束之前无效。',
olzhiti:'止啼',
olzhiti_info:'锁定技,你攻击范围内已受伤角色的手牌上限-1。若场上已受伤的角色数不小于1你的手牌上限+1不小于3你于摸牌阶段开始时令额定摸牌数+1不小于5回合结束时随机废除一名角色的一个随机装备栏。',
olzhiti_info:'锁定技,你攻击范围内已受伤角色的手牌上限-1。若场上已受伤的角色数不小于1你的手牌上限+1不小于3你于摸牌阶段开始时令额定摸牌数+1不小于5回合结束时废除一名角色的一个随机装备栏。',
shen_caopi:'神曹丕',
chuyuan:'储元',
chuyuan_info:'一名角色受到伤害后,你可以令其摸一张牌。然后其将一张手牌置于你的武将牌上,称为「储」。你的手牌上限+XX为你武将牌上的「储」数。',
chuyuan_info:'一名角色受到伤害后,若你武将牌上「储」的数量小于体力上限,你可以令其摸一张牌。然后其将一张手牌置于你的武将牌上,称为「储」。',
//chuyuan_info:'一名角色受到伤害后,你可以令其摸一张牌。然后其将一张手牌置于你的武将牌上,称为「储」。你的手牌上限+XX为你武将牌上的「储」数。',
dengji:'登极',
dengji_info:'觉醒技准备阶段若你武将牌上的「储」数不小于3则你减1点体力上限并获得所有「储」然后获得技能〖天行〗和〖奸雄〗',
tianxing:'天行',
tianxing_info:'觉醒技准备阶段若你武将牌上的「储」数不小于3则你减1点体力上限并获得所有「储」然后失去技能〖储元〗选择获得以下技能中的一个〖仁德〗/〖制衡〗/〖乱击〗/〖放权〗',
tianxing_info:'觉醒技准备阶段若你武将牌上的「储」数不小于3则你减1点体力上限并获得所有「储」然后失去技能〖储元〗选择获得以下技能中的一个〖仁德〗/〖制衡〗/〖乱击〗/〖行动〗',
shen_zhenji:'神甄姬',
shenfu:'神赋',
shenfu_info:'回合结束时若你的手牌数为奇数你可对一名其他角色造成1点伤害。若其死亡你可重复此流程。偶数你可选择一名本回合内未选择过的角色你令其摸一张牌或弃置其一张手牌。若其手牌数等于体力值你可重复此流程。',
qixian:'七弦',
qixian_info:'锁定技你的手牌上限视为7。',
caopi_xingdong:'行动',
caopi_xingdong_info:'出牌阶段限一次,你可以将一张【杀】或普通锦囊牌交给一名其他角色,然后该角色选择一项:对除你以外的角色使用此牌并在此牌结算完成后和你各摸一张牌;或跳过下回合的判定阶段和摸牌阶段。',
extra_feng:'神话再临·风',
extra_huo:'神话再临·火',

View File

@ -877,6 +877,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
old_guanqiujian:'旧毌丘俭',
old_huangfusong:'旧皇甫嵩',
ol_maliang:'旧马良',
ol_liuyu:'OL刘虞',
old_fuhun:'父魂',
old_fuhun_info:'摸牌阶段开始时,你可以放弃摸牌,改为从牌堆顶亮出两张牌并获得之,若亮出的牌颜色不同,你获得技能“武圣”、“咆哮”,直到回合结束。',

View File

@ -731,7 +731,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
trigger:{player:'loseEnd'},
filter:function(event,player){
if(player==_status.currentPhase) return false;
if(player==_status.currentPhase||!event.visible||player.hp>=player.countCards('h')) return false;
for(var i=0;i<event.cards2.length;i++){
if(get.suit(event.cards2[i],player)=='heart') return true;
}
@ -3031,6 +3031,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
"new_rejianxiong":{
audio:"rejianxiong",
audioname:['shen_caopi'],
trigger:{
player:"damageEnd",
},
@ -4885,6 +4886,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
rejianxiong:{
audio:2,
audioname:['shen_caopi'],
trigger:{player:'damageEnd'},
filter:function(event,player){
return get.itemtype(event.cards)=='cards'&&get.position(event.cards[0],true)=='o';
@ -6374,7 +6376,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
reqimou_info:'限定技,出牌阶段,你可以失去任意点体力并摸等量的牌,然后直到回合结束,你计算与其他角色的距离时-X且你可以多使用X张【杀】X为你失去的体力值',
ol_xiaoqiao:'界小乔',
rehongyan:'红颜',
rehongyan_info:'锁定技,你区域内的黑桃牌和黑桃判定牌均视为红桃。当你于回合外失去红桃牌后,你摸一张牌。',
rehongyan_info:'锁定技,你区域内的黑桃牌和黑桃判定牌均视为红桃。当你于回合外正面朝上失去红桃牌后,若你的手牌数小于体力值,你摸一张牌。',
re_caozhi:'界曹植',
reluoying:'落英',
reluoying_discard:'落英',

View File

@ -2657,7 +2657,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
direct:true,
audio:'kuanggu',
audioname:['re_weiyan'],
audioname:['re_weiyan','ol_weiyan'],
content:function(){
'step 0'
event.num=trigger.num;
@ -5866,7 +5866,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
kuanggu:{
audio:2,
audioname:['re_weiyan'],
audioname:['re_weiyan','ol_weiyan'],
trigger:{source:'damageSource'},
forced:true,
filter:function(event,player){

View File

@ -12181,7 +12181,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
zhoufu2:{
trigger:{player:'judgeBegin'},
trigger:{player:'judgeBefore'},
forced:true,
//priority:10,
mark:'card',

View File

@ -1,5 +1,5 @@
window.noname_asset_list=[
'v1.9.99.1',
'v1.9.99.2',
'audio/background/aozhan_chaoming.mp3',
'audio/background/aozhan_online.mp3',
'audio/background/aozhan_rewrite.mp3',
@ -567,6 +567,7 @@ window.noname_asset_list=[
'audio/die/shen_zhenji.mp3',
'audio/die/yangyi.mp3',
'audio/die/yujin_yujin.mp3',
'audio/die/ol_weiyan.mp3',
'audio/skill/anguo1.mp3',
'audio/skill/anguo2.mp3',
@ -2487,7 +2488,10 @@ window.noname_asset_list=[
'audio/skill/tianxing1.mp3',
'audio/skill/tianxing2.mp3',
'audio/skill/xuanfeng_re_lingtong1.mp3',
'audio/skill/xuanfeng_re_lingtong2.mp3',
'audio/skill/xuanfeng_re_lingtong2.mp3','audio/skill/kuanggu_ol_weiyan1.mp3',
'audio/skill/kuanggu_ol_weiyan2.mp3',
'audio/skill/reqimou1.mp3',
'audio/skill/reqimou2.mp3',
'font/huangcao.ttf',
'font/shousha.ttf',
@ -3035,7 +3039,9 @@ window.noname_asset_list=[
'image/character/shen_caopi.jpg',
'image/character/shen_zhenji.jpg',
'image/character/yangyi.jpg',
'image/character/yujin_yujin.jpg',
'image/character/yujin_yujin.jpg', 'image/character/key_hinata.jpg',
'image/character/key_hisako.jpg',
'image/character/key_noda.jpg',
'image/character/baiwuchang.jpg',
'image/character/baosanniang.jpg',
@ -3975,7 +3981,11 @@ 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/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/character/boss_bianchengwang.jpg',
'image/mode/boss/character/boss_chujiangwang.jpg',

View File

@ -9721,6 +9721,7 @@
fire:"火",
thunder:"雷",
poison:"毒",
kami:'神',
wei:'魏',
shu:'蜀',
wu:'吴',
@ -9732,7 +9733,7 @@
shu2:'蜀国',
wu2:'吴国',
qun2:'群雄',
shen2:'神',
shen2:'神',
western2:'西方',
key2:'KEY',
male:'男',
@ -9778,6 +9779,7 @@
_chongzhu:'重铸',
_lianhuan:'连环',
_lianhuan2:'连环',
_kamisha:'神杀',
qianxing:'潜行',
mianyi:'免疫',
fengyin:'封印',
@ -14682,6 +14684,11 @@
player.changeHujia(-event.hujia).type='damage';
}
event.num=num;
if(num<=0){
event.trigger('damageZero');
event.finish();
event._triggered=null;
}
"step 5"
if(event.source&&event.source.isDead()) delete event.source;
if(lib.config.background_audio){
@ -14847,7 +14854,7 @@
player.update();
"step 1"
if(player.maxHp<=0){
player.die();
player.die(event);
}
},
gainMaxHp:function(){
@ -16448,7 +16455,7 @@
while(this.maxHp>hp.childNodes.length){
ui.create.div(hp);
}
while(this.maxHp<hp.childNodes.length){
while(Math.max(0,this.maxHp)<hp.childNodes.length){
hp.removeChild(hp.lastChild);
}
for(var i=0;i<this.maxHp;i++){
@ -21105,7 +21112,7 @@
this.$draw(cards);
}
else{
this.draw(cards.length);
this.$draw(cards.length);
}
},
$draw:function(num,init,config){
@ -22602,6 +22609,10 @@
card[2]='sha';
card[3]='thunder';
}
if(card[2]=='kamisha'){
card[2]='sha';
card[3]='kami';
}
}
else if(typeof card=='object'){
card=[card.suit,card.number,card.name,card.nature];
@ -22840,6 +22851,10 @@
name='雷'+name;
this.node.image.classList.add('thunder');
}
else if(card[3]=='kami'){
name='神'+name;
this.node.image.classList.add('kami');
}
}
for(var i=0;i<name.length;i++){
this.node.name.innerHTML+=name[i]+'<br/>';
@ -24438,6 +24453,29 @@
}
},
skill:{
_kamisha:{
trigger:{source:'damageBegin2'},
//forced:true,
popup:false,
prompt:function(event,player){
return '是否防止即将对'+get.translation(event.player)+'造成的伤害,改为令其减少'+get.cnNumber(event.num)+'点体力上限?';
},
filter:function(event,player){
return event.nature=='kami'&&event.num>0;
},
ruleSkill:true,
check:function(event,player){
var att=get.attitude(player,event.player);
if(event.player.hp==event.player.maxHp) return att<0;
if(event.player.hp==event.player.maxHp-1&&
(event.player.maxHp<=3||event.player.hasSkillTag('maixie'))) return att<0;
return att>0;
},
content:function(){
trigger.cancel();
trigger.player.loseMaxHp(trigger.num).source=player;
},
},
aozhan:{
charlotte:true,
mod:{
@ -24693,6 +24731,7 @@
player.enableSkill(skill);
},
locked:true,
charlotte:true,
mark:true,
intro:{
content:function(storage,player,skill){
@ -26130,8 +26169,8 @@
},
suit:['club','spade','diamond','heart'],
group:['wei','shu','wu','qun','shen'],
nature:['fire','thunder','poison'],
linked:['fire','thunder'],
nature:['fire','thunder','poison','kami'],
linked:['fire','thunder','kami'],
groupnature:{
shen:'thunder',
wei:'water',
@ -29705,6 +29744,11 @@
card.storage.vanish=true;
return card.init([suit,number,name,nature]);
},
createCard2:function(){
var card=game.createCard.apply(this,arguments);
delete card.storage.vanish;
return card;
},
forceOver:function(bool,callback){
_status.event.next.length=0;
var next=game.createEvent('finish_game');
@ -48678,6 +48722,9 @@
else if(str.nature=='thunder'){
str2='雷'+str2;
}
else if(str.nature=='kami'){
str2='神'+str2;
}
}
if(get.itemtype(str)=='card'||str.isCard){
if(_status.cardtag&&str.cardid){

View File

@ -1,8 +1,8 @@
window.noname_update={
version:'1.9.99.1',
update:'1.9.98.7.1',
version:'1.9.99.2',
update:'1.9.99.1',
changeLog:[
'界凌统,界于禁,神曹丕,神甄姬,杨仪,董承,界程普',
'船新版本的神武再临',
'bug修复',
],
files:[
@ -23,25 +23,25 @@ window.noname_update={
//'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/shenhua.js',
'character/sp.js',
'character/tw.js',
'character/standard.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',
//'layout/nova/layout.css',
'mode/identity.js',
//'mode/identity.js',
//'mode/doudizhu.js',
'mode/guozhan.js',
//'mode/guozhan.js',
//'mode/chess.js',
//'mode/tafang.js',
//'mode/single.js',
@ -51,7 +51,7 @@ window.noname_update={
'mode/boss.js',
'game/game.js',
//'game/NoSleep.js',
'game/config.js',
//'game/config.js',
//'game/package.js',
//'game/asset.js',
//'game/source.js',

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

View File

@ -2251,6 +2251,9 @@ div:not(.handcards)>.card>.info>span,
#window>.damage.fullscreenavatar[data-nature='thunder']:not(.noshadow)>div:first-child>div{
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0,0.5) 0 0 10px, rgba(0, 0, 0,0.3) 0 0 30px, rgba(100, 74, 139,1) 0 0 60px;
}
#window>.damage.fullscreenavatar[data-nature='kami']:not(.noshadow)>div:first-child>div{
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0,0.5) 0 0 10px, rgba(0, 0, 0,0.3) 0 0 30px, rgba(90, 118, 99,1) 0 0 60px;
}
#window>.damage.fullscreenavatar[data-nature='metal']>div:first-child>div{
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0,0.5) 0 0 10px, rgba(255, 0, 0,0.1) 0 0 30px, rgba(255, 203, 0,0.6) 0 0 80px;
}
@ -3449,6 +3452,9 @@ div:not(.handcards)>.card>.info>span,
.thunder {
color: rgba(0,80,255,0.3);
}
.kami {
color: rgba(90,118,99,0.3);
}
.poison {
color: rgba(30, 133, 51,0.4);
}
@ -3796,6 +3802,23 @@ span[data-nature='thundermm'] {
rgba(100, 74, 139,1) 0 0 2px,black 0 0 1px;
}
.player .identity[data-color="kami"],
div[data-nature='kami'],
span[data-nature='kami'] {
text-shadow: rgba(90, 118, 99,1) 0 0 2px,rgba(90, 118, 99,1) 0 0 5px,rgba(90, 118, 99,1) 0 0 10px,
rgba(90, 118, 99,1) 0 0 10px,rgba(90, 118, 99,1) 0 0 20px,rgba(90, 118, 99,1) 0 0 20px,black 0 0 1px;
}
div[data-nature='kamim'],
span[data-nature='kamim'] {
text-shadow: rgba(90, 118, 99,1) 0 0 2px,rgba(90, 118, 99,1) 0 0 5px,rgba(90, 118, 99,1) 0 0 5px,
rgba(90, 118, 99,1) 0 0 5px,black 0 0 1px;
}
div[data-nature='kamimm'],
span[data-nature='kamimm'] {
text-shadow: rgba(90, 118, 99,1) 0 0 2px,rgba(90, 118, 99,1) 0 0 2px,rgba(90, 118, 99,1) 0 0 2px,
rgba(90, 118, 99,1) 0 0 2px,black 0 0 1px;
}
.player .identity[data-color="fan"],
.player .identity[data-color="wu"],
div[data-nature='wood'],
@ -4051,6 +4074,10 @@ div[data-decoration="bronze"]::after{
color: #152E63;
border: 1px solid #152E63;
}
.card.fullskin.kami>.name {
color: #1F3C38;
border: 1px solid #1F3C38;
}
.card.fullskin.fire>.name {
color: #631515;
border: 1px solid #631515;
@ -4227,6 +4254,9 @@ div[data-decoration="bronze"]::after{
.controlthundertext {
color: rgb(117,186,255);
}
.kamitext {
color: rgb(90,118,99);
}
.whitetext .thundertext {
color: white;
}

View File

@ -472,6 +472,97 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
},
card:{
goujiangdesidai:{
type:'equip',
subtype:'equip1',
distance:{attackFrom:-6},
skills:['goujiangdesidai_skill'],
modeimage:'boss',
ai:{
basic:{
equipValue:7.5,
},
},
fullskin:true,
},
gubuzifeng:{
type:'trick',
fullskin:true,
modeimage:'boss',
enable:true,
filterTarget:function(card,player,target){
return target!=player;
},
content:function(){
target.addTempSkill('gubuzifeng_disable',{player:'phaseAfter'});
var skills=target.getSkills(null,false);
for(var i=0;i<skills.length;i++){
if(get.info(skills[i]).charlotte) skills.splice(i--,1);
}
if(skills.length){
target.storage.gubuzifeng_disable.push(skills.randomGet());
target.disableSkill('gubuzifeng_disable',target.storage.gubuzifeng_disable);
}
},
ai:{
order:12,
result:{
target:function(player,target){
return -2;
}
}
}
},
lingsheji:{
type:'equip',
subtype:'equip5',
skills:['lingsheji'],
modeimage:'boss',
ai:{
basic:{
equipValue:7.5,
},
},
fullskin:true,
},
shanrangzhaoshu:{
type:'equip',
subtype:'equip5',
skills:['shanrangzhaoshu'],
modeimage:'boss',
ai:{
basic:{
equipValue:7.5,
},
},
fullskin:true,
},
xingtianpojunfu:{
type:'equip',
subtype:'equip1',
distance:{attackFrom:-3},
skills:['noda_axe'],
modeimage:'boss',
ai:{
basic:{
equipValue:7.5,
},
},
fullskin:true,
},
jinwuluorigong:{
type:'equip',
subtype:'equip1',
skills:['iwasawa_crowbow'],
modeimage:'boss',
distance:{attackFrom:-8},
ai:{
basic:{
equipValue:7.5,
},
},
fullskin:true,
},
"boss_mengpohuihun":{
mode:['boss'],
type:"trick",
@ -626,7 +717,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
content:function(){
'step 0'
if(target.hasSha()){
target.chooseToUse({name:'sha'},'使用一张杀,或交给'+get.translation(player)+'两张牌');
target.chooseToUse(function(card,player,event){
return get.name(card)=='sha'&&lib.filter.filterCard.apply(this,arguments);
},'使用一张杀,或交给'+get.translation(player)+'两张牌');
}
else{
event.directfalse=true;
@ -935,7 +1028,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
},
cardPack:{
mode_boss:['honghuangzhili','sadouchengbing','yihuajiemu','guilongzhanyuedao','guofengyupao','chiyanzhenhunqin','qimenbagua','xuwangzhimian','juechenjinge','xiuluolianyuji','chixueqingfeng','longfenghemingjian','qicaishenlu','wushuangfangtianji','shufazijinguan','hongmianbaihuapao','linglongshimandai','boss_mengpohuihun']
mode_boss:['honghuangzhili','sadouchengbing','yihuajiemu','guilongzhanyuedao','guofengyupao','chiyanzhenhunqin','qimenbagua','xuwangzhimian','juechenjinge','xiuluolianyuji','chixueqingfeng','longfenghemingjian','qicaishenlu','wushuangfangtianji','shufazijinguan','hongmianbaihuapao','linglongshimandai','boss_mengpohuihun','lingsheji','shanrangzhaoshu','jinwuluorigong','xingtianpojunfu','gubuzifeng']
},
init:function(){
for(var i in lib.characterPack.mode_boss){
@ -1548,77 +1641,108 @@ 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'],'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'],'character',control.backup1);
return control;
}
},
init:function(){
game.addGlobalSkill('boss_shenwuzaishi');
game.addGlobalSkill('TheDayIBecomeAGod');
game.addGlobalSkill('thedayibecomeagod');
var list=['lebu','bingliang'];
for(var i=0;i<game.players.length;i++){
switch(game.players[i].name){
case 'shen_guanyu':{
game.players[i].equip(game.createCard('guilongzhanyuedao','spade',5));
game.players[i].equip(game.createCard2('guilongzhanyuedao','spade',5));
lib.inpile.add('guilongzhanyuedao');
list.push('qinglong');
break;
}
case 'shen_zhugeliang':{
game.players[i].equip(game.createCard('qimenbagua','spade',2));
game.players[i].equip(game.createCard2('qimenbagua','spade',2));
list.push('bagua');
lib.inpile.add('qimenbagua');
break;
}
case 'shen_zhouyu':{
game.players[i].equip(game.createCard('chiyanzhenhunqin','diamond',1));
game.players[i].equip(game.createCard2('chiyanzhenhunqin','diamond',1));
list.push('zhuque');
lib.inpile.add('chiyanzhenhunqin');
break;
}
case 'shen_caocao':{
game.players[i].equip(game.createCard('juechenjinge','spade',5));
game.players[i].equip(game.createCard2('juechenjinge','spade',5));
list.push('jueying');
lib.inpile.add('juechenjinge');
break;
}
case 'shen_zhaoyun':{
game.players[i].equip(game.createCard('chixueqingfeng','spade',6));
game.players[i].equip(game.createCard2('chixueqingfeng','spade',6));
list.push('qinggang');
lib.inpile.add('chixueqingfeng');
break;
}
case 'shen_lvbu':{
game.players[i].equip(game.createCard('xiuluolianyuji','diamond',12));
game.players[i].equip(game.createCard2('xiuluolianyuji','diamond',12));
list.push('fangtian');
lib.inpile.add('xiuluolianyuji');
break;
}
case 'shen_simayi':{
game.players[i].equip(game.createCard('xuwangzhimian','diamond',4));
game.players[i].equip(game.createCard2('xuwangzhimian','diamond',4));
lib.inpile.add('xuwangzhimian');
break;
}
case 'shen_liubei':{
game.players[i].equip(game.createCard('longfenghemingjian','spade',2));
game.players[i].equip(game.createCard2('longfenghemingjian','spade',2));
lib.inpile.add('longfenghemingjian');
list.push('cixiong');
break;
}
case 'shen_lvmeng':{
game.players[i].equip(game.createCard('guofengyupao','diamond',3));
game.players[i].equip(game.createCard2('guofengyupao','diamond',3));
lib.inpile.add('guofengyupao');
break;
}case 'shen_luxun':{
game.players[i].equip(game.createCard('qicaishenlu','diamond',3));
}
case 'shen_luxun':{
game.players[i].equip(game.createCard2('qicaishenlu','diamond',3));
lib.inpile.add('qicaishenlu');
break;
}
case 'shen_ganning':case 'key_iwasawa':{
game.players[i].equip(game.createCard2('jinwuluorigong','heart',5));
lib.inpile.add('jinwuluorigong');
list.push('qilin');
break;
}
case 'ol_zhangliao':case 'key_noda':{
game.players[i].equip(game.createCard2('xingtianpojunfu','diamond',5));
lib.inpile.add('xingtianpojunfu');
list.push('guanshi');
break;
}
case 'shen_zhenji':{
game.players[i].equip(game.createCard2('lingsheji','club',12));
lib.inpile.add('lingsheji');
break;
}
case 'shen_caopi':{
game.players[i].equip(game.createCard2('shanrangzhaoshu','spade',13));
lib.inpile.add('shanrangzhaoshu');
break;
}
case 'key_kagari':{
game.players[i].equip(game.createCard2('goujiangdesidai','heart',1));
lib.inpile.add('goujiangdesidai');
break;
}
}
}
lib.inpile.remove('wuzhong');
lib.inpile.remove('jiedao');
lib.inpile.add('sadouchengbing');
lib.inpile.add('yihuajiemu');
lib.inpile.add('gubuzifeng');
for(var i=0;i<ui.cardPile.childElementCount;i++){
var node=ui.cardPile.childNodes[i];
if(node.name=='wuzhong'){
@ -1632,6 +1756,13 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
node.remove();
}
}
var cards=[
game.createCard2('gubuzifeng','club',5),
game.createCard2('gubuzifeng','diamond',7)
];
while(cards.length>0){
ui.cardPile.insertBefore(cards.shift(),ui.cardPile.childNodes[get.rand(0,ui.cardPile.childElementCount-1)]);
}
lib.inpile.sort(lib.sort.card);
}
},
@ -1887,6 +2018,243 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},
},
skill:{
goujiangdesidai_skill:{
inherit:'kagari_zongsi',
filter:function(event,player){
return !player.hasSkill('kagari_zongsi')||player.getStat('skill').kagari_zongsi;
},
},
gubuzifeng_disable:{
init:function(player,skill){
if(!player.storage[skill]) player.storage[skill]=[];
},
onremove:function(player,skill){
player.enableSkill(skill);
delete player.storage[skill];
},
charlotte:true,
locked:true,
mark:true,
intro:{
content:function(storage,player,skill){
var list=[];
for(var i in player.disabledSkills){
if(player.disabledSkills[i].contains(skill)){
list.push(i)
}
}
if(list.length){
var str='失效技能:';
for(var i=0;i<list.length;i++){
if(lib.translate[list[i]+'_info']){
str+=get.translation(list[i])+'、';
}
}
return str.slice(0,str.length-1);
}
}
}
},
thedayibecomeagod:{
trigger:{player:'die'},
direct:true,
filter:function(event,player){return player.group=='shen'},
forceDie:true,
skillAnimation:true,
animationColor:'kami',
content:function(){
'step 0'
player.chooseTarget(get.prompt2('thedayibecomeagod'),function(card,player,target){
return target.isFriendOf(player);
}).set('forceDie',true).ai=function(target){
return get.attitude(_status.event.player,target);
};
'step 1'
if(result.bool){
var target=result.targets[0];
event.target=target;
player.logSkill('thedayibecomeagod',target);
if(target.group!='shen'){
target.changeGroup('shen');
game.log('此刻,便是',target,'成为神明之日!');
event.finish();
}
else target.turnOver(false);
}
else event.finish();
'step 2'
if(target.isDamaged()) target.recover(target.maxHp-target.hp);
'step 3'
target.drawTo(5);
},
},
TheDayIBecomeAGod:{
trigger:{player:'useCard1'},
ruleSkill:true,
popup:false,
forced:true,
prompt:'是否将此【杀】改为神属性?',
filter:function(event,player){
return player.group=='shen'&&event.card.name=='sha';
},
content:function(){
game.log(trigger.card,'被改为神属性');
trigger.card.nature='kami';
}
},
shanrangzhaoshu:{
trigger:{global:'gainEnd'},
direct:true,
filter:function(event,player){
return event.player!=player&&event.player!=_status.currentPhase&&event.player.getHistory('gain')[0]==event&&player.countCards('he')+event.player.countCards('he')>0;
},
content:function(){
'step 0'
event.target=trigger.player;
var list=[];
if(player.countCards('he')>0) list.push('交给其一张牌');
if(trigger.player.countCards('he')>0) list.push('令其交给你一张牌');
event.list=list;
player.chooseControl('cancel2').set('choiceList',list).set('prompt',get.prompt('shanrangzhaoshu',trigger.player));
'step 1'
if(result.control=='cancel2'){
event.finish();return;
}
player.logSkill('shanrangzhaoshu',target);
if(event.list[result.index][0]=='令'){
event.player=target;
event.target=player;
}
'step 2'
player.chooseCard('he',true);
'step 3'
if(result.cards&&result.cards.length) target.gain(result.cards,player,'giveAuto');
},
},
lingsheji:{
trigger:{player:'phaseUseEnd'},
equipSkill:true,
direct:true,
content:function(){
'step 0'
var list=['摸一张牌'];
if(player.countCards('he')>1) list.push('将一张牌置于武将牌上,于回合结束后获得之');
player.chooseControl('cancel2').set('prompt',get.prompt('lingsheji')).set('choiceList',list).set('ai',function(){
var player=_status.event.player;
if(player.countCards('e',function(card){
return card.name!='tengjia'&&get.value(card)<=0;
})) return 1;
if(!player.needsToDiscard()) return 0;
return 1;
});
'step 1'
if(result.control=='cancel2'){
event.finish();return;
}
player.logSkill('lingsheji');
if(result.index==0){
player.draw();
event.finish();
}
else{
player.chooseCard('he',true,function(card,player){
return card!=player.getEquip(5);
}).set('ai',function(card){
if(get.position(card)=='e'&&get.value(card)<=0) return 10;
return (get.position(card)=='h'?2:1)*-get.value(card);
});
}
'step 2'
player.addSkill('lingsheji2');
player.lose(result.cards,ui.special,'toStorage');
player.markAuto('lingsheji2',result.cards);
},
},
lingsheji2:{
trigger:{player:'phaseEnd'},
equipSkill:true,
forced:true,
popup:false,
content:function(){
player.gain(player.getStorage('lingsheji2'),'gain2','log');
player.storage.lingsheji2.length=0;
player.removeSkill('lingsheji2');
},
intro:{content:'cards'},
},
noda_axe:{
trigger:{player:'useCardToPlayered'},
equipSkill:true,
direct:true,
filter:function(event,player){
return player.isPhaseUsing()&&player!=event.target&&event.targets.length==1&&player.countCards('he')>2;
},
content:function(){
'step 0'
player.chooseToDiscard('he',get.prompt('noda_axe',trigger.target),2,'弃置两张牌,令'+get.translation(trigger.target)+'本回合内不能使用或打出牌且防具技能无效。',function(card,player){
return card!=player.getEquip(1);
}).set('logSkill',['noda_axe',trigger.target]).set('goon',function(event,player){
if(player.hasSkill('noda_axe2')) return false;
if(event.getParent().excluded.contains(player)) return false;
if(get.attitude(event.player,player)>0){
return false;
}
if(get.type(event.card)=='trick'&&event.player.hasWuxie()) return true;
if(get.tag(event.card,'respondSha')){
if(!player.hasSha()) return false;
return true;
}
else if(get.tag(event.card,'respondShan')){
if(!player.hasShan()) return false;
return true;
}
return false;
}(trigger,trigger.target)).set('ai',function(card){
if(_status.event.goon) return 7.5-get.value(card);
return 0;
});
'step 1'
if(result.bool) trigger.target.addTempSkill('noda_axe2');
},
},
noda_axe2:{
equipSkill:true,
mod:{
cardEnabled:function(){return false},
cardSavable:function(){return false},
cardRespondable:function(){return false},
},
mark:true,
intro:{
content:'不能使用或打出牌且防具技能无效直到回合结束',
},
ai:{unequip2:true},
},
iwasawa_crowbow:{
equipSkill:true,
trigger:{player:'loseAfter'},
direct:true,
filter:function(event,player){
return event.hs&&event.hs.length>1&&player.isPhaseUsing();
},
content:function(){
'step 0'
event.num=trigger.hs.length;
player.chooseTarget(get.prompt('iwasawa_crowbow'),'弃置一名其他角色的'+get.cnNumber(event.num)+'张牌',function(card,player,target){
return player!=target&&target.countDiscardableCards(player,'he')>0;
}).set('ai',function(target){
var att=get.attitude(_status.event.player,target);
if(target.countDiscardableCards(_status.event.player,'he')>=_status.event.getParent().num) att=att*2;
return -att;
});
'step 1'
if(result.bool){
var target=result.targets[0];
player.logSkill('iwasawa_crowbow',target);
player.discardPlayerCard(target,'he',true,num);
}
},
},
boss_panguan:{
mod:{
targetEnabled:function(card){
@ -3325,6 +3693,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},
boss_echou_switch:{
unique:true,
charlotte:true,
group:['boss_echou_switch_on','boss_echou_switch_off'],
subSkill:{
off:{
@ -3394,6 +3763,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},
boss_xushi_switch:{
unique:true,
charlotte:true,
group:['boss_xushi_switch_on','boss_xushi_switch_off'],
subSkill:{
off:{
@ -3506,6 +3876,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},
boss_yanyu_switch:{
unique:true,
charlotte:true,
group:['boss_yanyu_switch_on','boss_yanyu_switch_off'],
subSkill:{
off:{
@ -3563,12 +3934,13 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},
},
boss_xunyou:{
trigger:{global:'phaseBefore'},
trigger:{global:'phaseBegin'},
forced:true,
filter:function(event,player){
return player!=event.player
},
content:function(){
'step 0'
var list=game.filterPlayer(function(current){
return current!=player&&current.countCards('hej');
});
@ -3582,11 +3954,12 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
else event.finish();
'step 1'
if(get.type(card)=='equip') player.equip(card);
if(player.getCards('h').contains(card)&&get.type(card)=='equip') player.chooseUseTarget(card,true,'nopopup','noanimate');
},
},
boss_sipu_switch:{
unique:true,
charlotte:true,
group:['boss_sipu_switch_on','boss_sipu_switch_off'],
subSkill:{
off:{
@ -3985,6 +4358,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},
boss_yinzei_switch:{
unique:true,
charlotte:true,
group:['boss_yinzei_switch_on','boss_yinzei_switch_off'],
subSkill:{
off:{
@ -4011,6 +4385,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},
boss_jicai_switch:{
unique:true,
charlotte:true,
group:['boss_jicai_switch_on','boss_jicai_switch_off'],
subSkill:{
off:{
@ -4037,6 +4412,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},
boss_luanchang_switch:{
unique:true,
charlotte:true,
group:['boss_luanchang_switch_on','boss_luanchang_switch_off'],
subSkill:{
off:{
@ -4063,6 +4439,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},
boss_yandu_switch:{
unique:true,
charlotte:true,
group:['boss_yandu_switch_on','boss_yandu_switch_off'],
subSkill:{
off:{
@ -4391,7 +4768,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
forced:true,
popup:false,
content:function(){
player.recover();
if(trigger.xiuluolianyuji) player.recover();
player.removeSkill('xiuluolianyuji2');
}
},
@ -4410,6 +4787,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},
content:function(){
trigger.num++;
trigger.xiuluolianyuji=true;
trigger.player.addSkill('xiuluolianyuji2');
}
},
@ -9375,6 +9753,27 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
boss_newhuanren:'关卡说明',
boss_newhuanren_info:'',
boss_newhuanren_info_boss:'第一关:挑战秦广王。<br>第二关:挑战楚江王,宋帝王,五官王,阎罗王中的一个。<br>第三关:挑战卞城王,泰山王,都市王,平等王中的一个。<br>第四关:挑战转轮王。<br>注:孟婆将在每局前三个阶段随机一个阶段登场<br>地藏王登场规则为50回合内通过第三关并且在前三关中成功击杀孟婆。<li>选陆逊左慈张春华于吉蒋费孔融自动变孙笨',
lingsheji:'灵蛇髻',
lingsheji2:'灵蛇髻',
shanrangzhaoshu:'禅让诏书',
xingtianpojunfu:'刑天破军斧',
noda_axe:'刑天破军斧',
noda_axe2:'刑天破军斧',
jinwuluorigong:'金乌落日弓',
iwasawa_crowbow:'金乌落日弓',
lingsheji_info:'出牌阶段结束时你可选择1.摸一张牌。2.将一张武将牌置于武将牌上,并于回合结束后获得此牌。',
shanrangzhaoshu_info:'其他角色于回合外获得牌后,若是其本回合内第一次获得牌,则你可以选择一项:交给其一张牌,或令其交给你一张牌。',
xingtianpojunfu_info:'当你于出牌阶段内使用牌指定唯一目标后,你可弃置两张牌。若如此做,其本回合内不能使用或打出牌且其防具技能无效。',
jinwuluorigong_info:'当你于出牌阶段内一次性失去了两张以上的手牌后,你可以弃置一名其他角色等量的牌。',
TheDayIBecomeAGod:'神杀',
thedayibecomeagod:'传承',
thedayibecomeagod_info:'选择一名其他己方角色。若其势力非神则改为神势力若其势力为神则将武将牌翻至正面回复体力至体力上限并将手牌摸至5 ',
gubuzifeng:'故步自封',
gubuzifeng_disable:'故步自封',
gubuzifeng_info:'出牌阶段,对一名其他角色使用。其的一个随机技能失效直到其下个回合结束。',
goujiangdesidai:'篝酱的丝带',
goujiangdesidai_info:'锁定技,若你未拥有技能【纵丝】,则你视为拥有技能【纵丝】;若你拥有技能【纵丝】,则你将此技能改为「出牌阶段限两次」',
goujiangdesidai_skill:'纵丝',
mode_boss_card_config:'挑战卡牌',
mode_boss_character_config:'挑战武将',