v1.9.96.7

This commit is contained in:
Spmario233 2019-12-28 22:03:35 +08:00 committed by GitHub
parent 6e5c4086fd
commit b544a1eeb9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 495 additions and 64 deletions

View File

@ -874,7 +874,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
tengjia3:{
equipSkill:true,
audio:'tengjia1',
trigger:{target:'shaBegin'},
trigger:{target:'shaBefore'},
forced:true,
filter:function(event,player){
if(player.hasSkillTag('unequip2')) return false;

View File

@ -541,7 +541,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}
},
enable:true,
selectTarget:-1,
selectTarget:[1,-1],
modTarget:true,
content:function(){
target.damage('fire');
@ -688,7 +688,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}
},
selectTarget:function(){
if(get.mode()=='guozhan') return -1;
if(get.mode()=='guozhan') return [1,-1];
return [1,3];
},
content:function(){

View File

@ -511,7 +511,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
type:'trick',
enable:true,
cardcolor:'red',
selectTarget:-1,
selectTarget:[1,-1],
filterTarget:true,
contentBefore:function(){
"step 0"
@ -682,7 +682,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
fullskin:true,
type:'trick',
enable:true,
selectTarget:-1,
selectTarget:[1,-1],
cardcolor:'red',
reverseOrder:true,
filterTarget:function(card,player,target){
@ -717,7 +717,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
fullskin:true,
type:'trick',
enable:true,
selectTarget:-1,
selectTarget:[1,-1],
filterTarget:function(card,player,target){
return target!=player;
},
@ -779,7 +779,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
fullskin:true,
type:'trick',
enable:true,
selectTarget:-1,
selectTarget:[1,-1],
reverseOrder:true,
filterTarget:function(card,player,target){
return target!=player;
@ -980,6 +980,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}
},
ai:{
wuxie:function(target,card,player,viewer){
if(player==game.me&&get.attitude(viewer,player)>0){
return 0;
}
},
basic:{
order:5,
useful:1,
@ -1849,7 +1854,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
"step 1"
if(result.judge>0){
trigger.untrigger();
trigger.responded=true;
trigger.set('responded',true);
trigger.result={bool:true,card:{name:'shan'}}
}
},
@ -1869,7 +1874,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}
},
_wuxie:{
trigger:{player:['useCardToBefore','phaseJudge']},
trigger:{player:['useCardToBegin','phaseJudge']},
priority:5,
popup:false,
forced:true,

View File

@ -10,6 +10,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_kyousuke:['male','key',4,['nk_shekong','key_huanjie']],
key_yuri:['female','key',3,['yuri_xingdong','key_huanjie','yuri_wangxi'],['zhu']],
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']],
// diy_caocao:['male','wei',4,['xicai','diyjianxiong','hujia']],
// diy_hanlong:['male','wei',4,['siji','ciqiu']],
@ -87,7 +89,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"],
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"],
diy_key:["key_lucia","key_kyousuke","key_yuri","key_haruko","key_kagari","key_umi"],
},
},
characterIntro:{
@ -101,6 +103,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
diy_tianyu:'字国让,渔阳雍奴(今天津市武清区东北)人。三国时期曹魏将领。初从刘备,因母亲年老回乡,后跟随公孙瓒,公孙瓒败亡,劝说鲜于辅加入曹操。曹操攻略河北时,田豫正式得到曹操任用,历任颖阴、郎陵令、弋阳太守等。',
},
characterTitle:{
key_umi:'#bSummer Pockets',
key_kagari:'#bRewrite',
key_lucia:'#bRewrite',
key_kyousuke:'#bLittle Busters!',
@ -141,6 +144,143 @@ game.import('character',function(lib,game,ui,get,ai,_status){
yuji:['zuoci']
},
skill:{
umi_chaofan:{
enable:'phaseUse',
usable:1,
selectCard:2,
complexCard:true,
filter:function(summer,umi){
return umi.countCards('h')>1;
},
check:function(ingredient){
return 7-get.value(ingredient);
},
filterCard:function(ingredient){
if(ui.selected.cards.length) return get.suit(ingredient)!=get.suit(ui.selected.cards[0]);
return true;
},
line:{color:[251, 193, 217]},
filterTarget:lib.filter.notMe,
content:function(){
'step 0'
player.draw();
'step 1'
if(player.hp>2) target.recover();
else if(player.hp==2) target.draw(2);
else target.damage('fire','nosource');
},
ai:{
order:2,
result:{
target:function(umi,takahara){
if(umi.hp>2&&takahara.isDamaged()) return 2.2;
if(umi.hp==2&&!takahara.hasSkillTag('nogain')) return 2;
if(umi.hp<2) return get.damageEffect(takahara,umi,umi,'fire');
},
},
},
},
umi_lunhui:{
trigger:{global:'phaseAfter'},
filter:function(summer,umi){
return summer.player!=umi&&umi.countCards('h')<umi.hp;
},
line:{color:[251, 193, 217]},
logTarget:'player',
charlotte:true,
content:function(){
'step 0'
player.loseHp();
'step 1'
player.insertPhase();
player.storage.umi_shiroha=trigger.player;
player.addTempSkill('umi_shiroha');
},
},
umi_shiroha:{
mark:'character',
intro:{
content:'到$的距离视为1',
},
onremove:true,
charlotte:true,
mod:{
globalFrom:function(umi,shiroha){
if(umi.storage.umi_shiroha==shiroha) return -Infinity;
},
},
},
umi_qihuan:{
enable:'chooseToUse',
filter:function(summer,umi){
return summer.type=='dying'&&umi.isDying();
},
limited:true,
skillAnimation:true,
charlotte:true,
animationColor:'key',
content:function(){
'step 0'
player.reinit('key_umi','key_umi2');
player.recover(game.countGroup()||1);
if(!game.dead.length) event.finish();
'step 1'
var chara=[];
var skills=[];
for(var i=0;i<game.dead.length;i++){
var name=game.dead[i].name;
var name2=game.dead[i].name2;
var skill=[];
if(name&&lib.character[name]) skill.addArray(lib.character[name][3]);
if(name2&&lib.character[name2]) skill.addArray(lib.character[name2][3]);
if(skill.length){
chara.push(game.dead[i]);
skills.push(skill);
}
}
if(!chara.length) event.finish();
event.chara=chara;
event.skills=skills;
event.chosen=[];
'step 2'
var next=player.chooseButton(['是否获得一名已死亡角色的一个技能?',[event.chara,'player']]);
next.set('chara',event.chara);
next.set('skills',event.skills);
next.set('chosen',event.chosen);
next.set('filterButton',function(button){
var evt=_status.event;
if(!evt.chosen.length) return true;
var skills=evt.skills[evt.chara.indexOf(button.link)];
if(skills.length==1&&skills[0]==evt.chosen[0]) return false;
return true;
});
next.set('ai',function(){return Math.random()});
'step 3'
if(!result.bool) event.finish();
else{
event.temp=result.links[0];
var list=event.skills[event.chara.indexOf(result.links[0])];
result.links[0].line(player,{color:[251, 193, 217]})
list.removeArray(event.chosen);
player.chooseControl(list).set('prompt','选择获得一个技能');
}
'step 4'
player.addSkill(result.control,get.groupnature(event.temp.group)||'key');
player.addSkill(result.control);
event.chosen.push(result.control);
if(event.chosen.length<2) event.goto(2);
},
ai:{
order:10,
save:true,
skillTagFilter:function(player){
return player.isDying();
},
result:{
player:1,
},
},
},
kagari_zongsi:{
enable:'phaseUse',
usable:1,
@ -157,6 +297,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
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=['弃牌堆','牌堆','角色'];
@ -172,7 +313,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
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);
player.chooseButton(['请选择要移动的卡牌',list],true).ai=get.buttonValue;
}
'step 2'
if(event.index==2){
@ -194,6 +335,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var next=player.chooseControl();
next.set('prompt','要对'+get.translation(card)+'做什么呢?');
next.set('choiceList',controls);
next.ai=function(){return 2};
'step 4'
result.control=event.controls[result.index];
var list=['弃牌堆','牌堆','角色'];
@ -201,7 +343,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(result.control.indexOf(list[i])!=-1){event.index2=i;break;}
}
if(event.index2==2){
player.chooseTarget('要将'+get.translation(card)+'移动到哪一名角色的对应区域呢',true);
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?'弃':'')+'牌堆的...');
@ -219,7 +363,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
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)+'的...');
player.chooseControl(list).set('prompt','把'+get.translation(card)+'移动到'+get.translation(event.target2)+'的...').ai=function(){return 0};
}
}
'step 6'
@ -252,6 +396,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 7'
game.updateRoundNumber();
},
ai:{
order:10,
result:{player:1},
},
},
haruko_haofang:{
mod:{
@ -5230,6 +5378,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_yuri:'仲村ゆり',
key_haruko:'神尾晴子',
key_kagari:'篝',
key_umi:'加藤うみ',
key_umi2:'鹰原羽未',
lucia_duqu:'毒躯',
lucia_duqu_info:'锁定技,①当你对其他角色造成伤害或受到其他角色的伤害时,你和对方各获得一张花色点数随机的【毒】。<br>②当你因【毒】失去体力时,你改为回复等量的体力。<br>③当你处于濒死状态时,你可以使用一张【毒】(每回合限一次)。',
lucia_zhenren:'振刃',
@ -5248,6 +5398,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
haruko_zhuishi_info:'一名角色的判定阶段开始时若其判定区内有牌则你可以失去1点体力然后获得其判定区内的所有牌。',
kagari_zongsi:'纵丝',
kagari_zongsi_info:'出牌阶段限一次,你可以选择一张不在游戏外的牌,然后将其置于牌堆/弃牌堆的顶部/底部或一名角色的对应区域内。',
umi_chaofan:'炒饭',
umi_chaofan_info:'出牌阶段限一次你可以弃置两张花色不同的手牌并选择一名其他角色。你摸一张牌若你的体力值大于2目标角色回复1点体力等于2目标角色摸两张牌小于2目标角色受到1点无来源且对应渠道为这两张牌的火焰伤害。',
umi_lunhui:'轮回',
umi_lunhui_info:'一名其他角色的回合结束时若你的手牌数小于体力值则你可以失去1点体力。若如此做你进行一个额外回合且你于此回合内计算与此角色的距离视为1。',
umi_shiroha:'轮回 - 延时效果',
umi_qihuan:'七幻',
umi_qihuan_info:'限定技当你处于濒死状态时你可以移去此武将牌。若如此做你回复X点体力X为场上势力数。然后你可获得场上已死亡角色武将牌上的至多两个技能。',
ns_chuanshu:'传术',
ns_chuanshu_info:'<span class=yellowtext>限定技</span> 当一名其他角色进入濒死状态时你可以令其选择获得技能【雷击】或【鬼道】其回复体力至1并摸两张牌。当该被【传术】的角色造成或受到一次伤害后你摸一张牌。其阵亡后你重置技能【传术】',

View File

@ -344,8 +344,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
retuntian:{
audio:'tuntian',
audioname:['gz_dengai'],
audio:2,
trigger:{player:'loseEnd'},
frequent:true,
filter:function(event,player){
@ -415,7 +414,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
retiaoxin:{
audio:'tiaoxin',
audioname:['sp_jiangwei','xiahouba'],
audioname:['sp_jiangwei','xiahouba','re_jiangwei'],
enable:'phaseUse',
usable:1,
filterTarget:function(card,player,target){
@ -453,7 +452,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
rebeige:{
audio:'beige',
audio:2,
trigger:{global:'damageEnd'},
filter:function(event,player){
return (event.card&&event.card.name=='sha'&&event.source&&
@ -495,7 +494,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
rexingshang:{
audio:'xingshang',
audio:2,
trigger:{global:'die'},
filter:function(event,player){
return player.isDamaged()||event.player.countCards('he')>0;
@ -524,7 +523,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
refangzhu:{
audio:"fangzhu",
audio:2,
trigger:{
player:"damageEnd",
},
@ -598,7 +597,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
repolu:{
audio:2,
audio:1,
trigger:{
source:'dieAfter',
player:'die',
@ -654,7 +653,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
relianji:{
audio:2,
audio:'wylianji',
enable:'phaseUse',
usable:1,
filter:function(event,player){
@ -747,6 +746,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player:'remoucheng_awaken'
},
forced:true,
audio:'moucheng',
juexingji:true,
skillAnimation:true,
animationColor:'thunder',
@ -759,6 +759,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
rejingong:{
audio:'jingong',
enable:'phaseUse',
delay:0,
usable:1,
@ -806,7 +807,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
relieren:{
audio:'lieren',
audio:2,
audioname:['boss_lvbu3'],
trigger:{player:'useCardToTargeted'},
filter:function(event,player){
@ -835,7 +836,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
init:function(player,skill){
player.storage[skill]=0;
},
audio:'zaiqi',
audio:2,
direct:true,
filter:function(event,player){
return player.storage.rezaiqi>0;

View File

@ -89,7 +89,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
skill:{
rehuashen:{
mode:['identity','single'],
audio:'huashen1',
audio:2,
unique:true,
direct:true,
content:function(){
@ -333,7 +333,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
rexinsheng:{
mode:['identity','single'],
unique:true,
audio:'xinsheng',
audio:2,
trigger:{player:'damageEnd'},
frequent:true,
content:function(){
@ -853,7 +853,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sub:true,
},
},
audio:"qiangxi",
audio:2,
enable:"phaseUse",
filterCard:function (card){
return get.subtype(card)=='equip1';
@ -895,7 +895,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
rehuoji:{
position:"he",
audio:"huoji",
audio:2,
enable:"chooseToUse",
filterCard:function (card){
return get.color(card)=='red';
@ -967,7 +967,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
rekanpo:{
audio:"kanpo",
audio:2,
position:"he",
enable:"chooseToUse",
filterCard:function (card){
@ -994,7 +994,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
rejieming:{
audio:"jieming",
audio:2,
trigger:{
player:"damageEnd",
},
@ -1815,7 +1815,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player:"damageBegin3",
},
//priority:1,
audio:"yaowu",
audio:2,
filter:function (event){
return event.card&&event.card.name=='sha';
},

View File

@ -1965,6 +1965,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
jianchu:{
audio:2,
audioname:['re_pangde'],
trigger:{player:'useCardToPlayered'},
filter:function(event,player){
return event.card.name=='sha'&&event.target.countDiscardableCards(player,'he')>0;
@ -2194,9 +2195,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
xinlianhuan:{
group:['lianhuan3','lianhuan2','lianhuan4'],
audio:2,
group:['lianhuan3','lianhuan5','lianhuan4'],
},
lianhuan5:{
inherit:'lianhuan2',
audio:['xinlianhuan',2],
},
lianhuan3:{
audio:['xinlianhuan',1],
audioname:['xinlianhuan'],
enable:'phaseUse',
filter:function(event,player){
return player.countCards('h',{suit:'club'})>0;
@ -2214,7 +2222,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
reluanji:{
audio:'luanji',
audio:2,
enable:'phaseUse',
viewAs:{name:'wanjian'},
filterCard:function(card,player){
@ -2316,6 +2324,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
qimou:{
unique:true,
limited:true,
audio:2,
enable:'phaseUse',
filter:function(event,player){
return !player.storage.qimou;
@ -2416,6 +2425,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
direct:true,
audio:'kuanggu',
audioname:['re_weiyan'],
content:function(){
'step 0'
event.num=trigger.num;
@ -2439,6 +2449,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
audio:'liegong',
audioname:['re_huangzhong'],
trigger:{player:'useCardToTargeted'},
logTarget:'target',
check:function(event,player){
@ -2468,7 +2479,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
tiaoxin:{
audio:2,
audioname:['sp_jiangwei','xiahouba'],
audioname:['sp_jiangwei','xiahouba','re_jiangwei'],
enable:'phaseUse',
usable:1,
filterTarget:function(card,player,target){
@ -2508,6 +2519,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
skillAnimation:true,
animationColor:'fire',
audio:2,
audioname:['re_jiangwei'],
unique:true,
juexingji:true,
//priority:-10,
@ -2975,6 +2987,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
skillAnimation:true,
animationColor:'thunder',
audio:2,
audioname:['re_dengai'],
unique:true,
juexingji:true,
trigger:{player:'phaseZhunbeiBegin'},
@ -2992,6 +3005,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
jixi:{
audio:2,
audioname:['re_dengai'],
enable:'phaseUse',
filter:function(event,player){
return player.storage.tuntian.length>0;
@ -3061,6 +3075,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
hunzi:{
audioname:['re_sunben'],
skillAnimation:true,
animationColor:'wood',
audio:2,
@ -3104,6 +3119,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
zhiba2:{
audio:2,
audioname:['re_sunben'],
forceaudio:true,
enable:'phaseUse',
prompt:function(){
@ -3376,7 +3392,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
duanchang:{
audio:4,
audio:2,
audioname:['re_caiwenji'],
forbid:['boss'],
trigger:{player:'die'},
forced:true,
@ -3790,6 +3807,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
huoshou:{
audio:"huoshou1",
audioname:['re_menghuo'],
locked:true,
group:['huoshou1','huoshou2'],
ai:{
@ -3802,6 +3820,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
huoshou1:{
audio:2,
audioname:['re_menghuo'],
trigger:{target:'useCardToBefore'},
forced:true,
priority:15,
@ -3814,6 +3833,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
huoshou2:{
audio:"huoshou1",
audioname:['re_menghuo'],
trigger:{global:'damageBefore'},
forced:true,
filter:function(event,player){
@ -3880,6 +3900,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
unique:true,
locked:true,
audio:"juxiang1",
audioname:['re_zhurong'],
group:['juxiang1','juxiang2'],
ai:{
effect:{
@ -3891,6 +3912,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
juxiang1:{
audio:2,
audioname:['re_zhurong'],
trigger:{target:'useCardToBefore'},
forced:true,
priority:15,
@ -3903,6 +3925,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
juxiang2:{
audio:"juxiang1",
audioname:['re_zhurong'],
trigger:{global:'useCardAfter'},
forced:true,
filter:function(event,player){
@ -4017,6 +4040,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
songwei2:{
audio:2,
audioname:['re_caopi'],
forceaudio:true,
trigger:{player:'judgeEnd'},
filter:function(event,player){
@ -4053,6 +4077,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
jiezi:{
trigger:{global:['phaseDrawSkipped','phaseDrawCancelled']},
audio:2,
forced:true,
filter:function(event,player){
return event.player!=player;
@ -4075,6 +4100,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
duanliang1:{
audio:2,
audioname:['re_xuhuang'],
enable:'chooseToUse',
filterCard:function(card){
if(get.type(card)!='basic'&&get.type(card)!='equip') return false;
@ -4263,7 +4289,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
yinghun:{
audio:2,
audioname:['sunce'],
audioname:['sunce','re_sunben'],
trigger:{player:'phaseZhunbeiBegin'},
filter:function(event,player){
return player.hp<player.maxHp;
@ -4340,7 +4366,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
gzyinghun:{
audio:'yinghun',
audioname:['sunce'],
audioname:['sunce','re_sunben'],
trigger:{player:'phaseZhunbeiBegin'},
filter:function(event,player){
return player.getDamagedHp()>0;
@ -4405,6 +4431,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
jiuchi:{
audio:2,
audioname:['re_dongzhuo'],
enable:'chooseToUse',
filterCard:function(card){
return get.suit(card)=='spade';
@ -4428,6 +4455,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
roulin:{
audio:2,
audioname:['re_dongzhuo'],
trigger:{player:'useCardToPlayered',target:'useCardToTargeted'},
forced:true,
filter:function(event,player){
@ -4454,7 +4482,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
benghuai:{
audio:2,
audioname:['zhugedan'],
audioname:['zhugedan','re_dongzhuo'],
trigger:{player:'phaseJieshuBegin'},
forced:true,
check:function(){
@ -4491,6 +4519,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
baonue2:{
audio:2,
audioname:['re_dongzhuo'],
forceaudio:true,
trigger:{source:'damageSource'},
filter:function(event,player){
@ -4671,6 +4700,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
bazhen:{
audio:2,
audioname:['re_sp_zhugeliang'],
equipSkill:true,
noHidden:true,
inherit:'bagua_skill',
@ -4715,6 +4745,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
lianhuan1:{
audio:2,
audioname:['re_pangtong'],
enable:'phaseUse',
filter:function(event,player){
return player.countCards('h',{suit:'club'})>0;
@ -4728,6 +4759,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
lianhuan2:{
audio:2,
popup:'lianhuan',
enable:'phaseUse',
filter:function(event,player){
return player.countCards('h',{suit:'club'})>0;
@ -4761,6 +4793,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
niepan:{
audio:2,
audioname:['re_pangtong'],
unique:true,
enable:'chooseToUse',
mark:true,
@ -4880,6 +4913,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
quhu:{
audio:2,
audioname:['re_xunyu'],
enable:'phaseUse',
usable:1,
filter:function(event,player){
@ -5205,6 +5239,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
shuangxiong:{
audio:true,
audioname:['re_yanwen'],
trigger:{player:'phaseDrawBefore'},
check:function(event,player){
if(player.countCards('h')>player.hp) return true;
@ -5224,6 +5259,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
shuangxiong2:{
audio:true,
audioname:['re_yanwen'],
enable:'phaseUse',
prompt:function(){
var player=_status.event.player;
@ -5294,9 +5330,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xueyi:{
trigger:{player:'phaseDiscardBefore'},
audio:2,
audioname:['re_yuanshao'],
forced:true,
firstDo:true,
filter:function(event,player){
return player.hasZhuSkill('xueyi');
return player.hasZhuSkill('xueyi')&&player.countCards('h')>player.hp;
},
content:function(){},
mod:{
@ -5462,17 +5500,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
shensu:{
audio:'shensu1',
audioname:['xiahouba'],
audioname:['xiahouba','re_xiahouyuan'],
group:['shensu1','shensu2']
},
xinshensu:{
audio:'shensu1',
audioname:['xiahouba'],
audioname:['xiahouba','re_xiahouyuan'],
group:['shensu1','shensu2','shensu4']
},
shensu1:{
audio:2,
audioname:['xiahouba'],
audioname:['xiahouba','re_xiahouyuan'],
trigger:{player:'phaseJudgeBefore'},
direct:true,
content:function(){
@ -5496,7 +5534,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
shensu2:{
audio:'shensu1',
audioname:['xiahouba'],
audioname:['xiahouba','re_xiahouyuan'],
trigger:{player:'phaseUseBefore'},
direct:true,
filter:function(event,player){
@ -5537,7 +5575,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
shensu4:{
audio:'shensu1',
audioname:['xiahouba'],
audioname:['xiahouba','re_xiahouyuan'],
trigger:{player:'phaseDiscardBefore'},
direct:true,
content:function(){
@ -5591,6 +5629,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
liegong:{
audio:2,
audioname:['re_huangzhong'],
trigger:{player:'useCardToPlayered'},
check:function(event,player){
return get.attitude(player,event.target)<=0;
@ -5613,6 +5652,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
kuanggu:{
audio:2,
audioname:['re_weiyan'],
trigger:{source:'damageSource'},
forced:true,
filter:function(event,player){
@ -5624,7 +5664,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
tianxiang:{
audio:2,
audioname:['daxiaoqiao'],
audioname:['daxiaoqiao','re_xiaoqiao'],
trigger:{player:'damageBegin3'},
direct:true,
filter:function(event,player){
@ -5719,7 +5759,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
retianxiang:{
audio:'tianxiang',
audioname:['daxiaoqiao'],
audioname:['daxiaoqiao','re_xiaoqiao'],
trigger:{player:'damageBegin4'},
direct:true,
filter:function(event,player){
@ -6719,6 +6759,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
lianhuan1:'连环',
lianhuan3:'连环',
lianhuan2:'连铸',
lianhuan5:'连铸',
niepan:'涅槃',
oldniepan:'涅槃',
quhu:'驱虎',
@ -6832,4 +6873,4 @@ game.import('character',function(lib,game,ui,get,ai,_status){
shenhua_lei:'神话再临•雷',
},
};
});
});

View File

@ -11,7 +11,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sp_longzhou:["xf_tangzi","xf_huangquan","xf_sufei","sp_liuqi"],
sp_zizouqi:["mangyachang","xugong","zhangchangpu"],
sp_sbfm:["lisu","xinpi","zhangwen"],
sp_shengun:["puyuan","guanlu","gexuan"],
sp_shengun:["puyuan","guanlu","gexuan","xushao"],
sp_zhongdan:["cuiyan","huangfusong"],
sp_star:["sp_xiahoushi","jsp_zhaoyun","huangjinleishi","sp_pangtong","sp_daqiao","sp_ganning","sp_xiahoudun","sp_lvmeng","sp_zhangfei","sp_liubei"],
sp_guozhan:["shamoke","ganfuren","yuejin","hetaihou","dingfeng","panfeng","jianggan"],
@ -21,6 +21,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
character:{
xushao:['male','qun',3,['pingjian'],['unseen']],
puyuan:['male','shu',4,['pytianjiang','pyzhuren']],
xinpi:['male','wei',3,['xpchijie','yinju']],
lisu:['male','qun',2,['lslixun','lskuizhu']],
@ -647,6 +648,125 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
skill:{
//许邵
pingjian:{
mode:['identity','single','guozhan'],
audio:2,
trigger:{
player:['damageEnd','phaseJieshuBegin'],
},
direct:true,
filter:function(event,player){
return player.countCards('he')>0;
},
content:function(){
'step 0'
if(!player.storage.pingjian) player.storage.pingjian=[];
player.chooseToDiscard('he',get.prompt2('pingjian')).set('logSkill','pingjian').ai=function(card){
return 5-get.value(card);
};
'step 1'
if(result.bool){
var list=[];
var skills=[];
var map=[];
_status.characterlist.randomSort();
var name2=event.triggername;
for(var i=0;i<_status.characterlist.length;i++){
var name=_status.characterlist[i];
var skills2=lib.character[name][3];
for(var j=0;j<skills2.length;j++){
if(player.storage.pingjian.contains(skills2[j])) continue;
if(skills.contains(skills2[j])){
list.add(name);
if(!map[name]) map[name]=[];
map[name].push(skills2[j]);
skills.add(skills2[j]);
continue;
}
var list2=[skills2[j]];
game.expandSkills(list2);
for(var k=0;k<list2.length;k++){
var info=lib.skill[list2[k]];
if(!info||!info.trigger||!info.trigger.player) continue;
if(info.trigger.player==name2||Array.isArray(info.trigger.player)&&info.trigger.player.contains(name2)){
list.add(name);
if(!map[name]) map[name]=[];
map[name].push(skills2[j]);
skills.add(skills2[j]);
break;
}
}
}
if(list.length>2) break;
}
if(!skills.length) event.finish();
else player.chooseControl(skills).set('dialog',['请选择要发动的技能',[list,'character']])
}
else event.finish();
'step 2'
player.storage.pingjian.add(result.control);
player.addTempSkill(result.control,event.triggername=='damageEnd'?'damageAfter':'phaseJieshu');
},
group:'pingjian_use',
},
pingjian_use:{
audio:'pingjian',
enable:'phaseUse',
usable:1,
filter:function(event,player){
return player.countCards('he')>0;
},
check:function(card){return 5-get.value(card)},
filterCard:true,
position:'he',
content:function(){
'step 0'
if(!player.storage.pingjian) player.storage.pingjian=[];
event._result={bool:true};
'step 1'
if(result.bool){
var list=[];
var skills=[];
var map=[];
_status.characterlist.randomSort();
for(var i=0;i<_status.characterlist.length;i++){
var name=_status.characterlist[i];
var skills2=lib.character[name][3];
for(var j=0;j<skills2.length;j++){
if(player.storage.pingjian.contains(skills2[j])) continue;
if(skills.contains(skills2[j])){
list.add(name);
if(!map[name]) map[name]=[];
map[name].push(skills2[j]);
skills.add(skills2[j]);
continue;
}
var list2=[skills2[j]];
game.expandSkills(list2);
for(var k=0;k<list2.length;k++){
var info=lib.skill[list2[k]];
if(!info||!info.enable) continue;
if(info.enable=='phaseUse'||Array.isArray(info.enable)&&info.enable.contains('phaseUse')){
list.add(name);
if(!map[name]) map[name]=[];
map[name].push(skills2[j]);
skills.add(skills2[j]);
break;
}
}
}
if(list.length>2) break;
}
if(!skills.length) event.finish();
else player.chooseControl(skills).set('dialog',['请选择要发动的技能',[list,'character']])
}
else event.finish();
'step 2'
player.addTempSkill(result.control,'chooseToUseEnd');
event.getParent(2).goto(0);
},
},
//蒲元
pytianjiang:{
audio:2,
@ -13651,7 +13771,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
lisu:'李肃',
zhangwen:'张温',
puyuan:'蒲元',
xushao:'许邵',
pingjian:'评荐',
pingjian_info:'结束阶段开始时/当你受到伤害后/出牌阶段限一次,你可以弃置一张牌。若如此做,系统随机从剩余武将牌堆中检索出三张拥有发动时机为结束阶段开始时/当你受到伤害后/出牌阶段限一次的技能的武将牌。然后你可以发动这些技能中的一个。每个技能只能选择一次。',
pingjian_use:'评荐',
pingjian_use_info:'结束阶段开始时/当你受到伤害后/出牌阶段限一次,你可以弃置一张牌。若如此做,系统随机从剩余武将牌堆中检索出三张拥有发动时机为结束阶段开始时/当你受到伤害后/出牌阶段限一次的技能的武将牌。然后你可以发动这些技能中的一个。每个技能只能选择一次。',
pytianjiang:'天匠',
pytianjiang_info:'游戏开始时,你随机获得两张不同副类别的装备牌,并置入你的装备区。出牌阶段,你装备区里的牌可以移动至其他角色的装备区并替换其原有装备。',
pytianjiang_move:'天匠',
@ -13671,7 +13796,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
songshu:'颂蜀',
songshu_info:'出牌阶段,你可以和其他角色拼点。若你没赢,其摸两张牌,且你本阶段内不能再发动〖颂蜀〗',
sibian:'思',
sibian:'思',
sibian_info:'摸牌阶段,你可以放弃摸牌,改为亮出牌堆顶的四张牌,然后获得其中所有点数最大与点数最小的牌。若获得的牌是两张且点数之差小于存活人数,则你可以将剩余的牌交给手牌数最少的角色。',
lslixun:'利熏',
lslixun_fate:'利熏',

View File

@ -5305,7 +5305,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"step 1"
if(result.judge>0){
trigger.untrigger();
trigger.responded=true;
trigger.set('responded',true);
trigger.result={bool:true,card:{name:'shan'}}
}
},

View File

@ -1,5 +1,5 @@
window.noname_asset_list=[
'1.9.96.6.1',
'1.9.96.7',
'audio/background/aozhan_chaoming.mp3',
'audio/background/aozhan_online.mp3',
'audio/background/aozhan_rewrite.mp3',
@ -1927,6 +1927,104 @@ window.noname_asset_list=[
'audio/skill/zuoding1.mp3',
'audio/skill/zuoding2.mp3',
'audio/skill/baonue2_re_dongzhuo1.mp3',
'audio/skill/baonue2_re_dongzhuo2.mp3',
'audio/skill/bazhen_re_sp_zhugeliang1.mp3',
'audio/skill/bazhen_re_sp_zhugeliang2.mp3',
'audio/skill/beige_re_caiwenji1.mp3',
'audio/skill/beige_re_caiwenji2.mp3',
'audio/skill/benghuai_re_dongzhuo1.mp3',
'audio/skill/benghuai_re_dongzhuo2.mp3',
'audio/skill/duanchang_re_caiwenji1.mp3',
'audio/skill/duanchang_re_caiwenji2.mp3',
'audio/skill/duanliang1_re_xuhuang1.mp3',
'audio/skill/duanliang1_re_xuhuang2.mp3',
'audio/skill/guanxing_re_jiangwei1.mp3',
'audio/skill/guanxing_re_jiangwei2.mp3',
'audio/skill/huoshou1_re_menghuo1.mp3',
'audio/skill/huoshou1_re_menghuo2.mp3',
'audio/skill/jianchu_re_pangde1.mp3',
'audio/skill/jianchu_re_pangde2.mp3',
'audio/skill/jiezi1.mp3',
'audio/skill/jiezi2.mp3',
'audio/skill/jiuchi_re_dongzhuo1.mp3',
'audio/skill/jiuchi_re_dongzhuo2.mp3',
'audio/skill/jixi_re_dengai1.mp3',
'audio/skill/jixi_re_dengai2.mp3',
'audio/skill/juxiang1_re_zhurong1.mp3',
'audio/skill/juxiang1_re_zhurong2.mp3',
'audio/skill/kuanggu_re_weiyan1.mp3',
'audio/skill/kuanggu_re_weiyan2.mp3',
'audio/skill/liegong_re_huangzhong1.mp3',
'audio/skill/liegong_re_huangzhong2.mp3',
'audio/skill/lskuizhu1.mp3',
'audio/skill/lskuizhu2.mp3',
'audio/skill/lslixun1.mp3',
'audio/skill/lslixun2.mp3',
'audio/skill/new_reyaowu1.mp3',
'audio/skill/new_reyaowu2.mp3',
'audio/skill/niepan_re_pangtong1.mp3',
'audio/skill/niepan_re_pangtong2.mp3',
'audio/skill/qimou1.mp3',
'audio/skill/qimou2.mp3',
'audio/skill/quhu_re_xunyu1.mp3',
'audio/skill/quhu_re_xunyu2.mp3',
'audio/skill/refangzhu1.mp3',
'audio/skill/refangzhu2.mp3',
'audio/skill/rehuashen1.mp3',
'audio/skill/rehuashen2.mp3',
'audio/skill/rehuoji1.mp3',
'audio/skill/rehuoji2.mp3',
'audio/skill/rejieming1.mp3',
'audio/skill/rejieming2.mp3',
'audio/skill/rekanpo1.mp3',
'audio/skill/rekanpo2.mp3',
'audio/skill/relieren1.mp3',
'audio/skill/relieren2.mp3',
'audio/skill/repolu1.mp3',
'audio/skill/reqiangxi1.mp3',
'audio/skill/reqiangxi2.mp3',
'audio/skill/retuntian1.mp3',
'audio/skill/retuntian2.mp3',
'audio/skill/rexingshang1.mp3',
'audio/skill/rexingshang2.mp3',
'audio/skill/rexingsheng1.mp3',
'audio/skill/rexingsheng2.mp3',
'audio/skill/rezaiqi1.mp3',
'audio/skill/rezaiqi2.mp3',
'audio/skill/roulin_re_dongzhuo1.mp3',
'audio/skill/roulin_re_dongzhuo2.mp3',
'audio/skill/shensu1_re_xiahouyuan1.mp3',
'audio/skill/shensu1_re_xiahouyuan2.mp3',
'audio/skill/shuangxiong_re_yanwen.mp3',
'audio/skill/shuangxiong1_re_yanwen.mp3',
'audio/skill/sibian1.mp3',
'audio/skill/sibian2.mp3',
'audio/skill/songshu1.mp3',
'audio/skill/songshu2.mp3',
'audio/skill/songwei_re_caopi1.mp3',
'audio/skill/songwei_re_caopi2.mp3',
'audio/skill/tianxiang_re_xiaoqiao1.mp3',
'audio/skill/tianxiang_re_xiaoqiao2.mp3',
'audio/skill/tiaoxin_re_jiangwei1.mp3',
'audio/skill/tiaoxin_re_jiangwei2.mp3',
'audio/skill/xinguidao1.mp3',
'audio/skill/xinguidao2.mp3',
'audio/skill/xinleiji1.mp3',
'audio/skill/xinleiji2.mp3',
'audio/skill/xinlianhuan1.mp3',
'audio/skill/xinlianhuan2.mp3',
'audio/skill/xpchijie1.mp3',
'audio/skill/xpchijie2.mp3',
'audio/skill/yinghun_sunjian1.mp3',
'audio/skill/yinghun_sunjian2.mp3',
'audio/skill/yinju1.mp3',
'audio/skill/yinju2.mp3',
'audio/skill/zaoxian_re_dengai1.mp3',
'audio/skill/zaoxian_re_dengai2.mp3',
'audio/skill/zhiji_re_jiangwei1.mp3',
'audio/skill/zhiji_re_jiangwei2.mp3',
'font/huangcao.ttf',
'font/shousha.ttf',
'font/xiaozhuan.ttf',
@ -2342,6 +2440,7 @@ window.noname_asset_list=[
'image/character/re_dengai.jpg',
'image/character/re_caiwenji.jpg',
'image/character/re_jiangwei.jpg',
'image/character/key_umi.jpg',
'image/character/baiwuchang.jpg',
'image/character/baosanniang.jpg',

View File

@ -13649,7 +13649,8 @@
}
if(info.line!=false&&targets.length){
var config={};
if(info.line=='fire'){
if(get.is.object(info.line)) config=info.line;
else if(info.line=='fire'){
config.color='fire';
}
else if(info.line=='thunder'){
@ -47248,7 +47249,7 @@
if(obj.length==2){
if(typeof obj[0]=='number'&&typeof obj[1]=='number'){
if(obj[0]<=obj[1]) return 'select';
if(obj[0]<=obj[1]||obj[1]==-1) return 'select';
}
}
@ -49460,6 +49461,7 @@
var result1=result.player,result2=result.target;
if(typeof result1=='function') result1=result1(player,target,card);
if(typeof result2=='function') result2=result2(player,target,card);
if(typeof result1!='number') result1=0;
if(typeof result2!='number') result2=0;
var temp1,temp2,temp3,temp01=0,temp02=0,threaten=1;

View File

@ -1,18 +1,18 @@
window.noname_update={
version:'1.9.96.6.1',
update:'1.9.96.6',
version:'1.9.96.7',
update:'1.9.96.6.1',
changeLog:[
'BUG修复',
],
files:[
//'card/extra.js',
'card/extra.js',
//'card/huanlekapai.js',
//'card/sp.js',
//'card/standard.js',
'card/standard.js',
//'card/swd.js',
//'card/guozhan.js',
'card/guozhan.js',
//'card/gwent.js',
//'character/diy.js',
'character/diy.js',
//'character/extra.js',
//'character/hearth.js',
//'character/gujian.js',
@ -20,26 +20,26 @@ window.noname_update={
'character/mobile.js',
//'character/mtg.js',
//'character/old.js',
//'character/refresh.js',
//'character/shenhua.js',
'character/refresh.js',
'character/shenhua.js',
'character/sp.js',
//'character/tw.js',
//'character/standard.js',
//'character/swd.js',
//'character/xianjian.js',
//'character/xinghuoliaoyuan.js',
'character/xinghuoliaoyuan.js',
//'character/yijiang.js',
//'character/yxs.js',
//'extension/boss/extension.js',
//'layout/default/layout.css',
//'mode/identity.js',
'mode/identity.js',
//'mode/doudizhu.js',
//'mode/guozhan.js',
//'mode/single.js',
//'mode/stone.js',
//'mode/versus.js',
//'mode/boss.js',
//'game/game.js',
'game/game.js',
//'game/config.js',
//'game/package.js',
//'game/asset.js',

BIN
image/character/key_umi.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

View File

@ -267,6 +267,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
case 'sp_zhangjiao':skill='tiangong';break;
case 'liushan':skill='shengxi';break;
case 'sunce':skill='ciqiu';break;
case 're_sunben':skill='ciqiu';break;
case 'yuanshao':skill='geju';break;
case 're_caocao':skill='dangping';break;
case 'caopi':skill='junxing';break;
@ -623,7 +624,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
list.remove('shen');
if(list.length) player.group=function(){
if(_status.mode!='zhong'&&game.zhu&&game.zhu.group){
if(['re_zhangjiao','liubei','re_liubei','caocao','re_caocao','sunquan','re_sunquan','zhangjiao','sp_zhangjiao','caopi','re_caopi','liuchen','caorui','sunliang','sunxiu'].contains(game.zhu.name)) return game.zhu.group;
if(['re_zhangjiao','liubei','re_liubei','caocao','re_caocao','sunquan','re_sunquan','zhangjiao','sp_zhangjiao','caopi','re_caopi','liuchen','caorui','sunliang','sunxiu','sunce','re_sunben'].contains(game.zhu.name)) return game.zhu.group;
if(game.zhu.name=='sunhao'&&player.identity=='zhong') return 'wu';
if(game.zhu.name=='yl_yuanshu'){
if(player.identity=='zhong') list.remove('qun');