Ichinose K&M

This commit is contained in:
Spmario233 2021-05-21 20:54:33 +08:00
parent 2fc20a7997
commit c7c886a4d8
13 changed files with 443 additions and 85 deletions

View File

@ -84,7 +84,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
range:{attack:1}, range:{attack:1},
selectTarget:1, selectTarget:1,
yingbian_prompt:function(card){ yingbian_prompt:function(card){
if(card.nature=='fire'){ if(lib.linked.contains(card.nature)){
return '此牌的伤害值基数+1'; return '此牌的伤害值基数+1';
} }
else{ else{
@ -92,9 +92,10 @@ game.import('card',function(lib,game,ui,get,ai,_status){
} }
}, },
yingbian:function(event){ yingbian:function(event){
if(event.card.nature=='fire'){ if(lib.linked.contains(event.card.nature)){
if(typeof event.baseDamage!='number') event.baseDamage=1; if(typeof event.baseDamage!='number') event.baseDamage=1;
event.baseDamage++; event.baseDamage++;
game.log(event.card,'的伤害值基数+1');
} }
else{ else{
event.yingbian_addTarget=true; event.yingbian_addTarget=true;
@ -1220,6 +1221,10 @@ game.import('card',function(lib,game,ui,get,ai,_status){
if(player==target) return false; if(player==target) return false;
return target.countDiscardableCards(player,get.is.single()?'he':'hej'); return target.countDiscardableCards(player,get.is.single()?'he':'hej');
}, },
yingbian_prompt:'当你使用此牌选择目标后,你可为此牌增加一个目标',
yingbian:function(event){
event.yingbian_addTarget=true;
},
content:function(){ content:function(){
'step 0' 'step 0'
if(!get.is.single()&&target.countDiscardableCards(player,'hej')){ if(!get.is.single()&&target.countDiscardableCards(player,'hej')){
@ -1246,6 +1251,13 @@ game.import('card',function(lib,game,ui,get,ai,_status){
useful:1, useful:1,
value:5, value:5,
}, },
yingbian:function(card,player,targets,viewer){
if(get.attitude(viewer,player)<=0) return 0;
if(game.hasPlayer(function(current){
return !targets.contains(current)&&lib.filter.targetEnabled2(card,player,current)&&get.effect(current,card,player,player)>0;
})) return 6;
return 0;
},
result:{ result:{
target:function(player,target){ target:function(player,target){
var att=get.attitude(player,target); var att=get.attitude(player,target);

View File

@ -812,7 +812,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
['heart',1,'wuxie'], ['heart',1,'wuxie'],
['heart',2,'shan',null,['yingbian_kongchao']], ['heart',2,'shan',null,['yingbian_kongchao']],
['heart',2,'shan',null,['yingbian_kongchao']], ['heart',2,'shan',null,['yingbian_kongchao']],
['heart',2,'guohe'], ['heart',2,'guohe',null,['yingbian_zhuzhan']],
['heart',3,'wugu'], ['heart',3,'wugu'],
['heart',3,'tao'], ['heart',3,'tao'],
['heart',3,'chuqibuyi',null,['yingbian_zhuzhan']], ['heart',3,'chuqibuyi',null,['yingbian_zhuzhan']],

View File

@ -68,6 +68,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_chihaya:['female','key',3,['chihaya_liewu','chihaya_youfeng']], key_chihaya:['female','key',3,['chihaya_liewu','chihaya_youfeng']],
key_yukito:['male','key',4,['yukito_kongwu','yukito_yaxiang']], key_yukito:['male','key',4,['yukito_kongwu','yukito_yaxiang']],
key_crow:['male','key',4,[],['unseen']], key_crow:['male','key',4,[],['unseen']],
key_asara:['female','key',3,['asara_shelu','asara_yingwei']],
key_kotomi:['female','key',3,['kotomi_qinji','kotomi_chuanxiang']],
key_kud:['female','key',3,['kud_qiaoshou','kud_buhui']], key_kud:['female','key',3,['kud_qiaoshou','kud_buhui']],
key_misuzu:['female','key',3,['misuzu_hengzhou','misuzu_nongyin','misuzu_zhongxing']], key_misuzu:['female','key',3,['misuzu_hengzhou','misuzu_nongyin','misuzu_zhongxing']],
@ -180,7 +182,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
diy_fakenews:["diy_wenyang","ns_zhangwei","ns_caimao"], diy_fakenews:["diy_wenyang","ns_zhangwei","ns_caimao"],
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_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_noname:['noname'], diy_noname:['noname'],
diy_key:["key_lucia","key_kyousuke","key_yuri","key_haruko","key_umi","key_rei","key_komari","key_yukine","key_yusa","key_misa","key_masato","key_iwasawa","key_kengo","key_yoshino","key_yui","key_tsumugi","key_saya","key_harukakanata","key_inari","key_shiina","key_sunohara","key_rin","key_sasami","key_akane","key_doruji","key_yuiko","key_riki","key_hisako","key_hinata","key_noda","key_tomoya","key_nagisa","key_ayato","key_ao","key_yuzuru","sp_key_kanade","key_mio","key_midori","key_kyoko","key_shizuru","key_shiorimiyuki","key_miki","key_shiori","key_kaori","sp_key_yuri","key_akiko","key_abyusa","key_godan","key_yuu","key_ryoichi","key_kotori","key_jojiro","key_shiroha","key_shizuku","key_hiroto","key_sakuya","key_youta","key_rumi","key_chihaya","key_yukito"], diy_key:["key_lucia","key_kyousuke","key_yuri","key_haruko","key_umi","key_rei","key_komari","key_yukine","key_yusa","key_misa","key_masato","key_iwasawa","key_kengo","key_yoshino","key_yui","key_tsumugi","key_saya","key_harukakanata","key_inari","key_shiina","key_sunohara","key_rin","key_sasami","key_akane","key_doruji","key_yuiko","key_riki","key_hisako","key_hinata","key_noda","key_tomoya","key_nagisa","key_ayato","key_ao","key_yuzuru","sp_key_kanade","key_mio","key_midori","key_kyoko","key_shizuru","key_shiorimiyuki","key_miki","key_shiori","key_kaori","sp_key_yuri","key_akiko","key_abyusa","key_godan","key_yuu","key_ryoichi","key_kotori","key_jojiro","key_shiroha","key_shizuku","key_hiroto","key_sakuya","key_youta","key_rumi","key_chihaya","key_yukito","key_asara","key_kotomi"],
diy_trashbin:['old_jiakui','ol_guohuai','junk_zhangrang','junk_simayi'], diy_trashbin:['old_jiakui','ol_guohuai','junk_zhangrang','junk_simayi'],
}, },
}, },
@ -197,6 +199,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
diy_tianyu:'字国让,渔阳雍奴(今天津市武清区东北)人。三国时期曹魏将领。初从刘备,因母亲年老回乡,后跟随公孙瓒,公孙瓒败亡,劝说鲜于辅加入曹操。曹操攻略河北时,田豫正式得到曹操任用,历任颖阴、郎陵令、弋阳太守等。', diy_tianyu:'字国让,渔阳雍奴(今天津市武清区东北)人。三国时期曹魏将领。初从刘备,因母亲年老回乡,后跟随公孙瓒,公孙瓒败亡,劝说鲜于辅加入曹操。曹操攻略河北时,田豫正式得到曹操任用,历任颖阴、郎陵令、弋阳太守等。',
}, },
characterTitle:{ characterTitle:{
key_kotomi:'#gClannad',
key_asara:'#bRewrite',
key_yukito:'#bAIR', key_yukito:'#bAIR',
key_chihaya:'#bRewrite', key_chihaya:'#bRewrite',
key_rumi:'#rONE ~輝く季節へ~', key_rumi:'#rONE ~輝く季節へ~',
@ -350,20 +354,169 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
perfectPair:{ perfectPair:{
yuji:['zuoci'], yuji:['zuoci'],
key_riki:['key_rin','key_saya','key_kyousuke'], key_riki:['key_rin','key_saya','key_kyousuke','key_kud'],
key_kud:['key_harukakanata'],
key_komari:['key_rin','key_sasami'], key_komari:['key_rin','key_sasami'],
key_masato:['key_kengo'], key_masato:['key_kengo'],
key_yuiko:['key_harukakanata'], key_yuiko:['key_harukakanata'],
key_doruji:['key_rin'], key_doruji:['key_rin'],
key_tomoya:['key_nagisa','key_sunohara'], key_tomoya:['key_nagisa','key_sunohara','key_kotomi'],
key_ao:['key_inari'], key_ao:['key_inari'],
key_shiroha:['key_umi'],
key_shizuku:['key_tsumugi'],
key_yuzuru:['key_hinata','key_kanade','key_ayato'], key_yuzuru:['key_hinata','key_kanade','key_ayato'],
key_yuri:['key_kanade'], key_yuri:['key_kanade','key_abyusa'],
key_hinata:['key_yui'], key_hinata:['key_yui'],
key_iwasawa:['key_hisako'], key_iwasawa:['key_hisako'],
key_yuu:['key_nao'],
key_jojiro:['key_yusa'],
key_kaori:['key_shiori'],
key_chihaya:['key_sakuya'],
key_lucia:['key_shizuru'], key_lucia:['key_shizuru'],
}, },
skill:{ skill:{
kotomi_qinji:{
trigger:{player:'phaseUseBegin'},
filter:function(event,player){
return player.hasUseTarget('wanjian');
},
direct:true,
content:function(){
player.addTempSkill('kotomi_qinji2');
player.chooseUseTarget({name:'wanjian',isCard:true},get.prompt('kotomi_qinji'),'视为使用一张【万箭齐发】').logSkill='kotomi_qinji';
},
},
kotomi_qinji2:{
trigger:{source:'damageBefore'},
forced:true,
popup:false,
filter:function(event,player){
return event.getParent().skill=='kotomi_qinji';
},
content:function(){
trigger.cancel();
trigger.player.loseHp(trigger.num);
},
},
kotomi_chuanxiang:{
global:'kotomi_chuanxiang2',
},
kotomi_chuanxiang2:{
enable:'phaseUse',
usable:1,
filter:function(event,player){
return !player.hasSkill('kotomi_chuanxiang')&&player.countCards('e',lib.skill.kotomi_chuanxiang2.filterCard)>0;
},
filterCard:function(card,player){
if(!player) player=_status.event.player;
return game.hasPlayer(function(current){
return current!=player&&current.isEmpty(get.subtype(card,false));
});
},
position:'e',
filterTarget:function(card,player,target){
return target!=player&&target.isEmpty(get.subtype(ui.selected.cards[0],false));
},
check:function(card){
if(get.value(card)<=0) return 10;
var player=_status.event.player;
if(game.hasPlayer(function(current){
return current.hasSkill('kotomi_chuanxiang')&&get.attitude(player,current)>0;
})){
var subtype=get.subtype(card,false);
if(player.countCards('hs',function(cardx){
return get.type(cardx)=='equip'&&get.subtype(cardx,false)==subtype&&player.canUse(cardx,player)&&get.effect(player,cardx,player,player)>0;
})) return 8;
return 7/Math.max(1,get.value(card));
}
return 0;
},
prepare:'give',
discard:false,
lose:false,
content:function(){
'step 0'
target.equip(cards[0]);
var list=game.filterPlayer(function(current){
return current.hasSkill('kotomi_chuanxiang');
});
game.asyncDraw(list,function(targetx){
return targetx==target?2:1;
});
'step 1'
game.delayx();
},
ai:{
order:8,
result:{
target:function(player,target){
var card=ui.selected.cards[0];
if(!card) return 0;
var eff=get.effect(target,card,player,target);
if(target.hasSkill('kotomi_chuanxiang')) eff++;
return eff;
},
},
},
},
asara_shelu:{
enable:'phaseUse',
usable:1,
filter:function(event,player){
return player.countCards('he')>0&&game.hasPlayer(function(current){
return current!=player&&current.countCards('h')>0;
});
},
filterCard:true,
position:'he',
filterTarget:function(card,player,target){
return target!=player&&target.countCards('h')>0;
},
check:function(card){
return 6-get.value(card);
},
content:function(){
'step 0'
if(!target.countCards('h')) event.finish();
else player.choosePlayerCard(target,'h',true);
'step 1'
player.showCards(result.cards);
event.cards2=result.cards;
'step 2'
target.$give(event.cards2,player,false);
target.loseToSpecial(event.cards2,'asara_yingwei',player);
var card1=cards[0],card2=event.cards2[0];
if(card1.suit==card2.suit) player.draw(2);
if(card1.number==card2.number) player.recover();
},
ai:{
order:6,
result:{
target:-1,
},
},
},
asara_yingwei:{
trigger:{player:'useCard1'},
forced:true,
filter:function(event,player){
return player.getHistory('lose',function(evt){
if(evt.getParent()!=event) return false;
for(var i in evt.gaintag_map){
if(evt.gaintag_map[i].contains('asara_yingwei')) return true;
}
return false;
}).length>0;
},
content:function(){
if(!trigger.card.yingbian){
trigger.card.yingbian=true;
var info=get.info(trigger.card);
if(info&&info.yingbian) info.yingbian(trigger);
player.addTempSkill('yingbian_changeTarget');
}
},
},
yukito_kongwu:{ yukito_kongwu:{
enable:'phaseUse', enable:'phaseUse',
usable:1, usable:1,
@ -13158,6 +13311,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_chihaya:'凤千早', key_chihaya:'凤千早',
key_yukito:'国崎往人', key_yukito:'国崎往人',
key_crow:'小空', key_crow:'小空',
key_asara:'井上晶',
key_kotomi:'一之濑琴美',
lucia_duqu:'毒躯', lucia_duqu:'毒躯',
lucia_duqu_info:'锁定技,①当你对其他角色造成伤害或受到其他角色的伤害时,你和对方各获得一张花色点数随机的【毒】。<br>②当你因【毒】失去体力时,你改为回复等量的体力。<br>③当你处于濒死状态时,你可以使用一张【毒】(每回合限一次)。', lucia_duqu_info:'锁定技,①当你对其他角色造成伤害或受到其他角色的伤害时,你和对方各获得一张花色点数随机的【毒】。<br>②当你因【毒】失去体力时,你改为回复等量的体力。<br>③当你处于濒死状态时,你可以使用一张【毒】(每回合限一次)。',
lucia_zhenren:'振刃', lucia_zhenren:'振刃',
@ -13483,6 +13638,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
yukito_yaxiang_info:'限定技当有角色进入濒死状态时你可移去此武将牌然后令该角色将体力值回复至3点弃置判定区的所有牌并获得技能〖终愿〗。', yukito_yaxiang_info:'限定技当有角色进入濒死状态时你可移去此武将牌然后令该角色将体力值回复至3点弃置判定区的所有牌并获得技能〖终愿〗。',
misuzu_zhongyuan:'终愿', misuzu_zhongyuan:'终愿',
misuzu_zhongyuan_info:'限定技。当你的判定结果生效时,你可将判定结果改为任意花色和点数并结束此时机。', misuzu_zhongyuan_info:'限定技。当你的判定结果生效时,你可将判定结果改为任意花色和点数并结束此时机。',
asara_shelu:'摄录',
asara_shelu_info:'出牌阶段限一次你可以弃置一张牌然后展示一名其他角色的一张手牌并将其置于你的武将牌上称为“影”。若你以此法弃置的牌和展示的牌花色相同则你摸两张牌。点数相同则你回复1点体力。',
asara_yingwei:'影威',
asara_yingwei_info:'你可以如手牌般使用或打出“影”。锁定技,当你使用“影”时,强制触发对应的应变效果。',
kotomi_qinji:'琴击',
kotomi_qinji_info:'出牌阶段开始时,你可视为使用使用【万箭齐发】。你以此法使用【万箭齐发】造成的伤害视为失去体力。',
kotomi_chuanxiang:'传箱',
kotomi_chuanxiang2:'传箱',
kotomi_chuanxiang_info:'其他角色的出牌阶段限一次,其可以将装备区内的一张牌移动到另一名角色的装备区内,然后你摸一张牌。若你是目标角色,则你改为摸两张牌。',
key_kud:'库特莉亚芙卡', key_kud:'库特莉亚芙卡',
kud_qiaoshou:'巧手', kud_qiaoshou:'巧手',

View File

@ -1157,7 +1157,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
}, },
qinzheng_count:{ qinzheng_count:{
trigger:{player:'useCard1'}, trigger:{player:['useCard1','respond']},
silent:true, silent:true,
firstDo:true, firstDo:true,
noHidden:true, noHidden:true,
@ -4744,7 +4744,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
links:['qiaosi_c1','qiaosi_c6'].concat(['qiaosi_c2','qiaosi_c3','qiaosi_c4','qiaosi_c5'].randomGets(1)), links:['qiaosi_c1','qiaosi_c6'].concat(['qiaosi_c2','qiaosi_c3','qiaosi_c4','qiaosi_c5'].randomGets(1)),
}; };
if(event.dialog) event.dialog.close(); if(event.dialog) event.dialog.close();
if(event.control) event.control.close(); if(event.controls){
for(var i of event.controls) i.close();
}
game.resume(); game.resume();
},5000); },5000);
}; };
@ -4794,11 +4796,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
links:event.finishedx.slice(0), links:event.finishedx.slice(0),
}; };
event.dialog.close(); event.dialog.close();
event.control.close(); for(var i of event.controls) i.close();
game.resume(); game.resume();
_status.imchoosing=false; _status.imchoosing=false;
}, },
event.control=ui.create.control('qiaosi_c1','qiaosi_c2','qiaosi_c3','qiaosi_c4','qiaosi_c5','qiaosi_c6',function(link){ event.controls=[];
for(var i=1;i<=6;i++) event.controls.push(ui.create.control('qiaosi_c'+i,function(link){
var event=_status.event; var event=_status.event;
if(event.finishedx.contains(link)) return; if(event.finishedx.contains(link)) return;
event.status[link]+=get.rand.apply(get,event.map[link]); event.status[link]+=get.rand.apply(get,event.map[link]);
@ -4816,7 +4819,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
links:event.finishedx.slice(0), links:event.finishedx.slice(0),
}; };
event.dialog.close(); event.dialog.close();
event.control.close(); for(var i of event.controls) i.close();
game.resume(); game.resume();
_status.imchoosing=false; _status.imchoosing=false;
} }
@ -4828,7 +4831,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
} }
event.dialog.content.childNodes[0].innerHTML=str; event.dialog.content.childNodes[0].innerHTML=str;
} }
}); }));
for(var i=0;i<event.dialog.buttons.length;i++){ for(var i=0;i<event.dialog.buttons.length;i++){
event.dialog.buttons[i].classList.add('selectable'); event.dialog.buttons[i].classList.add('selectable');
} }
@ -6622,6 +6625,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return ["bagua","baiyin","lanyinjia","renwang","tengjia","zhuge"].contains(card.name); return ["bagua","baiyin","lanyinjia","renwang","tengjia","zhuge"].contains(card.name);
}, },
discard:false, discard:false,
lose:false,
delay:false,
check:function(){ check:function(){
return 1; return 1;
}, },
@ -6630,7 +6635,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.showCards(cards); player.showCards(cards);
"step 1" "step 1"
var card=cards[0]; var card=cards[0];
player.gain(game.createCard('rewrite_'+card.name,get.suit(card),card.number),'gain2'); player.removeEquipTrigger(card);
game.broadcastAll(function(card){
card.init([card.suit,card.number,'rewrite_'+card.name]);
},card);
var info=get.info(card);
if(info.skills){
for(var i=0;i<info.skills.length;i++){
player.addSkillTrigger(info.skills[i]);
}
}
}, },
ai:{ ai:{
basic:{ basic:{

View File

@ -449,6 +449,7 @@ window.noname_character_rank={
'key_godan', 'key_godan',
'key_yuu', 'key_yuu',
'sp_key_yuri', 'sp_key_yuri',
'key_kotomi',
'tw_beimihu', 'tw_beimihu',
'ns_caoshuang', 'ns_caoshuang',
'key_shizuku', 'key_shizuku',
@ -826,6 +827,7 @@ window.noname_character_rank={
'key_kaori', 'key_kaori',
'key_akiko', 'key_akiko',
'key_abyusa', 'key_abyusa',
'key_asara',
'ns_sunchensunjun', 'ns_sunchensunjun',
'simashi', 'simashi',
'xin_panzhangmazhong', 'xin_panzhangmazhong',
@ -1337,6 +1339,7 @@ window.noname_character_rank={
'key_rumi', 'key_rumi',
'key_chihaya', 'key_chihaya',
'key_yukito', 'key_yukito',
'key_kotomi',
'kaisa', 'kaisa',
], ],
rare:[ rare:[
@ -1571,6 +1574,7 @@ window.noname_character_rank={
'key_jojiro', 'key_jojiro',
'key_doruji', 'key_doruji',
'key_ryoichi', 'key_ryoichi',
'key_asara',
'tw_maliang', 'tw_maliang',
'tw_dingfeng', 'tw_dingfeng',
'tw_xiahouba', 'tw_xiahouba',

View File

@ -3296,16 +3296,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
animationColor:'orange', animationColor:'orange',
content:function(){ content:function(){
'step 0' 'step 0'
var shas=player.getCards('h','sha'); var num=player.hp-1;
var num; if(player.countCards('hs',{name:['tao','jiu']})){
if(player.hp>=4&&shas.length>=3){ num=player.hp;
num=3;
}
else if(player.hp>=3&&shas.length>=2){
num=2;
}
else{
num=1
} }
var map={}; var map={};
var list=[]; var list=[];
@ -3328,30 +3321,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.addTempSkill('reqimou2'); player.addTempSkill('reqimou2');
}, },
ai:{ ai:{
order:2, order:14,
result:{ result:{
player:function(player){ player:function(player){
if(player.hp==1) return 0; if(player.hp<3) return false;
var shas=player.getCards('h','sha'); var mindist=player.hp;
if(!shas.length) return 0; if(player.countCards('hs',{name:['tao','jiu']})) mindist++;
var card=shas[0];
if(!lib.filter.cardEnabled(card,player)) return 0;
if(lib.filter.cardUsable(card,player)) return 0;
var mindist;
if(player.hp>=4&&shas.length>=3){
mindist=4;
}
else if(player.hp>=3&&shas.length>=2){
mindist=3;
}
else{
mindist=2;
}
if(game.hasPlayer(function(current){ if(game.hasPlayer(function(current){
return (current.hp<=mindist-1&& return (get.distance(player,current)<=mindist&&
get.distance(player,current,'attack')<=mindist&& player.canUse('sha',current,false)&&
player.canUse(card,current,false)&& get.effect(current,{name:'sha'},player,player)>0);
get.effect(current,card,player,player)>0);
})){ })){
return 1; return 1;
} }

View File

@ -699,7 +699,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player:function(player){ player:function(player){
if(!player.isDisabled('equip2')) return 1; if(!player.isDisabled('equip2')) return 1;
if(!player.isDisabled('equip1')&&(player.countCards('h',function(card){ if(!player.isDisabled('equip1')&&(player.countCards('h',function(card){
return get.name(card,player)=='sha'&&player.hasUseTarget(card); return get.name(card,player)=='sha'&&player.hasValueTarget(card);
})-player.getCardUsable('sha'))>1) return 1; })-player.getCardUsable('sha'))>1) return 1;
if(!player.isDisabled('equip5')&&player.countCards('h',function(card){ if(!player.isDisabled('equip5')&&player.countCards('h',function(card){
return get.type2(card,player)=='trick'&&player.hasUseTarget(card); return get.type2(card,player)=='trick'&&player.hasUseTarget(card);
@ -2754,7 +2754,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 0' 'step 0'
event.num=trigger.num; event.num=trigger.num;
'step 1' 'step 1'
player.chooseDrawRecover(get.prompt(event.name)).set('logSkill',event.name).set('prompt2','摸一张牌或回复1点体力'); var choice;
if(player.isDamaged()&&get.recoverEffect(player)>0&&(player.countCards('hs',function(card){
return card.name=='sha'&&player.hasValueTarget(card);
})>=player.getCardUsable('sha'))){
choice='recover_hp';
}
else{
choice='draw_card';
}
var next=player.chooseDrawRecover(get.prompt(event.name)).set('logSkill',event.name).set('prompt2','摸一张牌或回复1点体力');
next.set('choice',choice);
next.set('ai',function(){
return _status.event.getParent().choice;
});
'step 2' 'step 2'
if(result.control!='cancel2'){ if(result.control!='cancel2'){
event.num--; event.num--;

View File

@ -4,6 +4,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
name:'sp2', name:'sp2',
connect:true, connect:true,
character:{ character:{
cheliji:['male','qun',4,['cheliji_skill1','cheliji_skill2'],['unseen']],
simazhou:['male','jin',4,['caiwang','naxiang']], simazhou:['male','jin',4,['caiwang','naxiang']],
huangzu:['male','qun',4,['wangong'],['unseen']], huangzu:['male','qun',4,['wangong'],['unseen']],
caosong:['male','wei',3,['cslilu','csyizheng']], caosong:['male','wei',3,['cslilu','csyizheng']],
@ -114,6 +115,136 @@ game.import('character',function(lib,game,ui,get,ai,_status){
} }
}, },
skill:{ skill:{
//彻里吉
cheliji_skill1:{
audio:2,
enable:'phaseUse',
derivation:['cheliji_sichengliangyu','cheliji_tiejixuanyu','cheliji_feilunzhanyu'],
filter:function(event,player){
return !player.getEquip(5)&&player.countCards('he',{color:'black'})>0;
},
filterCard:{color:'black'},
position:'he',
check:function(card){
return 5-get.value(card);
},
content:function(){
'step 0'
player.chooseButton(['请选择要装备的宝物',[lib.skill.cheliji_skill1.derivation.map(function(i){
return ['宝物','',i];
}),'vcard']],true).set('ai',function(button){
if(button.link[2]=='cheliji_sichengliangyu'&&player.countCards('h')<player.hp) return 1;
return Math.random();
});
'step 1'
var card=game.createCard(result.links[0][2]);
player.$gain2(card);
player.equip(card);
game.delay();
},
group:'cheliji_skill1_lose',
subfrequent:['lose'],
ai:{
order:0.4,
result:{
player:1,
},
},
subSkill:{
lose:{
audio:'cheliji_skill1',
trigger:{
player:'loseAfter',
global:['equipAfter','addJudgeAfter','gainAfter','loseAsyncAfter'],
},
frequent:true,
filter:function(event,player){
var evt=event.getl(player);
if(!evt||!evt.es||!evt.es.length) return false;
for(var i of evt.es){
if(get.subtype(i,false)=='equip5') return true;
}
return false;
},
content:function(){
'step 0'
player.judge(function(card){
if(get.color(card)=='black') return 3;
return 0;
});
'step 1'
if(result.bool){
var card=game.createCard(lib.skill.cheliji_skill1.derivation.randomGet());
player.$gain2(card);
player.equip(card);
game.delay();
}
},
},
}
},
cheliji_skill2:{
mod:{
globalFrom:function(player,target,distance){
if(player.getEquip(5)) return distance-1;
}
},
},
cheliji_sichengliangyu:{
trigger:{global:'phaseJieshuBegin'},
equipSkill:true,
filter:function(event,player){
return player.countCards('h')<player.hp&&player.getEquip('cheliji_sichengliangyu');
},
content:function(){
'step 0'
player.draw(2);
'step 1'
var card=player.getEquip('cheliji_sichengliangyu');
if(card) player.discard(card);
},
},
cheliji_tiejixuanyu:{
trigger:{global:'phaseJieshuBegin'},
equipSkill:true,
filter:function(event,player){
return player!=event.player&&!event.player.getHistory('sourceDamage').length
&&event.player.countCards('he')>0&&player.getEquip('cheliji_tiejixuanyu');
},
logTarget:'player',
check:function(event,player){
return get.attitude(player,event.player)<0;
},
content:function(){
'step 0'
trigger.player.chooseToDiscard('he',2,true);
'step 1'
var card=player.getEquip('cheliji_tiejixuanyu');
if(card) player.discard(card);
},
},
cheliji_feilunzhanyu:{
trigger:{global:'phaseJieshuBegin'},
equipSkill:true,
filter:function(event,player){
return player!=event.player&&event.player.getHistory('useCard',function(card){
return get.type(card)!='basic';
}).length>0&&event.player.countCards('he')>0&&player.getEquip('cheliji_feilunzhanyu');
},
logTarget:'player',
check:function(event,player){
return get.attitude(player,event.player)<=0;
},
content:function(){
'step 0'
trigger.player.chooseCard('he',true,'将一张牌交给'+get.translation(player));
'step 1'
if(result.bool) player.gain(result.cards,trigger.player,'giveAuto');
'step 2'
var card=player.getEquip('cheliji_feilunzhanyu');
if(card) player.discard(card);
},
},
//司马伷和黄祖 //司马伷和黄祖
caiwang:{ caiwang:{
audio:2, audio:2,
@ -966,14 +1097,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filter:function(event,player){ filter:function(event,player){
return event.toShow&&event.toShow.contains('jin_yanghuiyu')&&game.hasPlayer(function(target){ return event.toShow&&event.toShow.contains('jin_yanghuiyu')&&game.hasPlayer(function(target){
var num=target.countCards('h'); var num=target.countCards('h');
return num>target.hp||Math.min(5,target.hp); return num>target.hp||num<Math.min(5,target.hp);
}); });
}, },
content:function(){ content:function(){
'step 0' 'step 0'
player.chooseTarget('请选择【慧容】的目标','令一名角色将手牌数摸至/弃置至与其体力值相同(至多摸至五张)',true,function(card,player,target){ player.chooseTarget('请选择【慧容】的目标','令一名角色将手牌数摸至/弃置至与其体力值相同(至多摸至五张)',true,function(card,player,target){
var num=target.countCards('h'); var num=target.countCards('h');
return num>target.hp||Math.min(5,target.hp); return num>target.hp||num<Math.min(5,target.hp);
}).set('ai',function(target){ }).set('ai',function(target){
var att=get.attitude(_status.event.player,target); var att=get.attitude(_status.event.player,target);
var num=target.countCards('h'); var num=target.countCards('h');
@ -9417,6 +9548,33 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
}, },
card:{ card:{
cheliji_sichengliangyu:{
fullskin:true,
vanish:true,
//derivation:'cheliji',
destroy:'cheliji_skill1',
type:'equip',
subtype:'equip5',
skills:['cheliji_sichengliangyu'],
},
cheliji_tiejixuanyu:{
fullskin:true,
vanish:true,
//derivation:'cheliji',
destroy:'cheliji_skill1',
type:'equip',
subtype:'equip5',
skills:['cheliji_tiejixuanyu'],
},
cheliji_feilunzhanyu:{
fullskin:true,
vanish:true,
//derivation:'cheliji',
destroy:'cheliji_skill1',
type:'equip',
subtype:'equip5',
skills:['cheliji_feilunzhanyu'],
},
pyzhuren_heart:{ pyzhuren_heart:{
fullskin:true, fullskin:true,
derivation:'puyuan', derivation:'puyuan',
@ -9549,6 +9707,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
caosong:'曹嵩—194年字巨高沛郡谯县今安徽省亳州市人。东汉大臣大长秋曹腾的养子曹操之父亲。门荫入仕历任司隶校尉、鸿胪卿、大司农位列九卿位高权重。中平四年187年靠着贿赂中官出任太尉位列三公。中平五年188年受累于黄巾之乱坐罪免官。兴平元年194年投奔兖州牧曹操遇害于徐州。延康元年220年追尊魏国太王。曹魏建立后追尊皇帝谥号为太。', caosong:'曹嵩—194年字巨高沛郡谯县今安徽省亳州市人。东汉大臣大长秋曹腾的养子曹操之父亲。门荫入仕历任司隶校尉、鸿胪卿、大司农位列九卿位高权重。中平四年187年靠着贿赂中官出任太尉位列三公。中平五年188年受累于黄巾之乱坐罪免官。兴平元年194年投奔兖州牧曹操遇害于徐州。延康元年220年追尊魏国太王。曹魏建立后追尊皇帝谥号为太。',
simazhou:'司马伷zhòu227年283年6月12日字子将河内郡温县今河南省温县人。西晋宗室、将领晋宣帝司马懿第三子伏太妃所生。晋景帝司马师、文帝司马昭的同父异母弟晋武帝司马炎的叔父。司马伷少有才气在曹魏历任宁朔将军、散骑常侍、征虏将军等职先后受封南安亭侯、东武乡侯五等爵制建立后改封南皮伯。西晋建立后获封东莞郡王入朝任尚书右仆射、抚军将军出外拜镇东大将军。后改封琅邪王加开府仪同三司。西晋伐吴时率军出涂中孙皓向他投降并奉上玉玺。战后因功拜大将军增邑三千户。太康四年283年司马伷去世享年五十七岁。谥号为武世称“琅邪武王”。著有《周官宁朔新书》八卷今已亡佚。', simazhou:'司马伷zhòu227年283年6月12日字子将河内郡温县今河南省温县人。西晋宗室、将领晋宣帝司马懿第三子伏太妃所生。晋景帝司马师、文帝司马昭的同父异母弟晋武帝司马炎的叔父。司马伷少有才气在曹魏历任宁朔将军、散骑常侍、征虏将军等职先后受封南安亭侯、东武乡侯五等爵制建立后改封南皮伯。西晋建立后获封东莞郡王入朝任尚书右仆射、抚军将军出外拜镇东大将军。后改封琅邪王加开府仪同三司。西晋伐吴时率军出涂中孙皓向他投降并奉上玉玺。战后因功拜大将军增邑三千户。太康四年283年司马伷去世享年五十七岁。谥号为武世称“琅邪武王”。著有《周官宁朔新书》八卷今已亡佚。',
huangzu:'黄祖208年东汉末年将领。刘表任荆州牧时黄祖出任江夏太守。初平二年191年黄祖在与长沙太守孙坚交战时其部下将孙坚射死因此与孙家结下仇怨。之后黄祖多次率部与东吴军队交战射杀凌操、徐琨等人。建安十三年208年在与孙权的交战中兵败被杀。', huangzu:'黄祖208年东汉末年将领。刘表任荆州牧时黄祖出任江夏太守。初平二年191年黄祖在与长沙太守孙坚交战时其部下将孙坚射死因此与孙家结下仇怨。之后黄祖多次率部与东吴军队交战射杀凌操、徐琨等人。建安十三年208年在与孙权的交战中兵败被杀。',
cheliji:'彻里吉是历史小说《三国演义》中的虚构人物,西羌国王。蜀相诸葛亮伐魏,魏都督曹真驰书赴羌,国王彻里吉即命雅丹丞相与越吉元帅起羌兵一十五万、并战车直扣西平关。后军大败,越吉亡,雅丹被俘,亮将所获羌兵及车马器械,尽给还雅丹,俱放回国。彻里吉感蜀恩义,与之结盟。正史中没有关于彻里吉的记载。',
}, },
characterTitle:{ characterTitle:{
wulan:'#b对决限定武将', wulan:'#b对决限定武将',
@ -10168,6 +10327,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
naxiang:'纳降', naxiang:'纳降',
naxiang2:'纳降', naxiang2:'纳降',
naxiang_info:'锁定技,当你受到其他角色造成的伤害后,或你对其他角色造成伤害后,你对其发动〖才望〗时的“弃置”改为“获得”直到你的下回合开始。', naxiang_info:'锁定技,当你受到其他角色造成的伤害后,或你对其他角色造成伤害后,你对其发动〖才望〗时的“弃置”改为“获得”直到你的下回合开始。',
cheliji:'彻里吉',
cheliji_skill1:'彻里吉技能1',
cheliji_skill1_info:'出牌阶段,若你的装备区里没有宝物牌,你可弃置一张黑色牌,选择一张【舆】置入你的装备区;当你失去装备区里的宝物牌后,你可进行判定,若结果为黑色,将一张随机的【舆】置入你的装备区。',
cheliji_skill2:'彻里吉技能2',
cheliji_skill2_info:'锁定技,若你的装备区内有宝物牌,你与其他角色的距离-1',
cheliji_sichengliangyu:'四乘粮舆',
cheliji_sichengliangyu_info:'一名角色的回合结束时,若你的手牌数小于体力值,你可以摸两张牌,然后弃置此牌。',
cheliji_tiejixuanyu:'铁蒺玄舆',
cheliji_tiejixuanyu_info:'其他角色的回合结束时,若其本回合未造成过伤害,你可以令其弃置两张牌,然后弃置此牌。',
cheliji_feilunzhanyu:'飞轮战舆',
cheliji_feilunzhanyu_info:'其他角色的回合结束时,若其本回合使用过非基本牌,你可以令其交给你一张牌,然后弃置此牌。',
sp_yingbian:'文德武备', sp_yingbian:'文德武备',
sp_whlw:"文和乱武", sp_whlw:"文和乱武",

View File

@ -1,5 +1,5 @@
window.noname_asset_list=[ window.noname_asset_list=[
'v1.9.110', 'v1.9.110.1',
'audio/background/aozhan_chaoming.mp3', 'audio/background/aozhan_chaoming.mp3',
'audio/background/aozhan_online.mp3', 'audio/background/aozhan_online.mp3',
'audio/background/aozhan_rewrite.mp3', 'audio/background/aozhan_rewrite.mp3',
@ -3905,6 +3905,8 @@ window.noname_asset_list=[
'image/character/noname_sunce.png', 'image/character/noname_sunce.png',
'image/character/simazhou.jpg', 'image/character/simazhou.jpg',
'image/character/nanhualaoxian.jpg', 'image/character/nanhualaoxian.jpg',
'image/character/key_asara.jpg',
'image/character/key_kotomi.jpg',
'image/character/baiwuchang.jpg', 'image/character/baiwuchang.jpg',
'image/character/baosanniang.jpg', 'image/character/baosanniang.jpg',

View File

@ -10315,14 +10315,6 @@
bool:true, bool:true,
targets:event.targets2||result.targets, targets:event.targets2||result.targets,
}; };
if(event.logSkill){
if(typeof event.logSkill=='string'){
player.logSkill(event.logSkill);
}
else if(Array.isArray(event.logSkill)){
player.logSkill.apply(player,event.logSkill);
}
}
var next=player.useCard(card,event.targets2||result.targets); var next=player.useCard(card,event.targets2||result.targets);
if(cards) next.cards=cards.slice(0); if(cards) next.cards=cards.slice(0);
if(event.nopopup) next.nopopup=true; if(event.nopopup) next.nopopup=true;
@ -10331,6 +10323,14 @@
if(event.addCount===false) next.addCount=false; if(event.addCount===false) next.addCount=false;
if(event.noTargetDelay) next.targetDelay=false; if(event.noTargetDelay) next.targetDelay=false;
if(event.nodelayx) next.delayx=false; if(event.nodelayx) next.delayx=false;
if(event.logSkill){
if(typeof event.logSkill=='string'){
next.skill=event.logSkill;
}
else if(Array.isArray(event.logSkill)){
player.logSkill.apply(player,event.logSkill);
}
}
} }
else event.result={bool:false}; else event.result={bool:false};
}, },
@ -16257,18 +16257,19 @@
}, },
player:{ player:{
//新函数 //新函数
loseToSpecial:function(cards,tag){ loseToSpecial:function(cards,tag,target){
var next=game.loseAsync({ var next=game.loseAsync({
player:this, player:this,
cards:cards, cards:cards,
tag:tag, tag:tag,
toStorage:true, toStorage:true,
target:target||this,
}); });
next.setContent(function(){ next.setContent(function(){
"step 0" "step 0"
player.lose(cards,ui.special).set('getlx',false); player.lose(cards,ui.special).set('getlx',false);
"step 1" "step 1"
player.directgains(cards,null,event.tag) target.directgains(cards,null,event.tag)
}); });
return next; return next;
}, },
@ -17841,7 +17842,7 @@
} }
} }
for(j=0;j<this.node.handcards2.childElementCount;j++){ for(j=0;j<this.node.handcards2.childElementCount;j++){
if(!this.node.handcards2.childNodes[j].classList.contains('removing')&&!this.node.handcards1.childNodes[j].classList.contains('glows')){ if(!this.node.handcards2.childNodes[j].classList.contains('removing')&&!this.node.handcards2.childNodes[j].classList.contains('glows')){
cards.push(this.node.handcards2.childNodes[j]); cards.push(this.node.handcards2.childNodes[j]);
} }
} }
@ -17853,7 +17854,7 @@
} }
} }
for(j=0;j<this.node.handcards2.childElementCount;j++){ for(j=0;j<this.node.handcards2.childElementCount;j++){
if(!this.node.handcards2.childNodes[j].classList.contains('removing')&&this.node.handcards1.childNodes[j].classList.contains('glows')){ if(!this.node.handcards2.childNodes[j].classList.contains('removing')&&this.node.handcards2.childNodes[j].classList.contains('glows')){
cards.push(this.node.handcards2.childNodes[j]); cards.push(this.node.handcards2.childNodes[j]);
} }
} }
@ -18057,12 +18058,12 @@
for(i=0;i<arg1.length;i++){ for(i=0;i<arg1.length;i++){
if(arg1[i]=='h'){ if(arg1[i]=='h'){
for(j=0;j<this.node.handcards1.childElementCount;j++){ for(j=0;j<this.node.handcards1.childElementCount;j++){
if(!this.node.handcards1.childNodes[j].classList.contains('removing')&&!this.node.handcards1.childNodes[j].classList.contains('feichu')){ if(!this.node.handcards1.childNodes[j].classList.contains('removing')&&!this.node.handcards1.childNodes[j].classList.contains('feichu')&&!this.node.handcards1.childNodes[j].classList.contains('glows')){
cards.push(this.node.handcards1.childNodes[j]); cards.push(this.node.handcards1.childNodes[j]);
} }
} }
for(j=0;j<this.node.handcards2.childElementCount;j++){ for(j=0;j<this.node.handcards2.childElementCount;j++){
if(!this.node.handcards2.childNodes[j].classList.contains('removing')&&!this.node.handcards2.childNodes[j].classList.contains('feichu')){ if(!this.node.handcards2.childNodes[j].classList.contains('removing')&&!this.node.handcards2.childNodes[j].classList.contains('feichu')&&!this.node.handcards2.childNodes[j].classList.contains('glows')){
cards.push(this.node.handcards2.childNodes[j]); cards.push(this.node.handcards2.childNodes[j]);
} }
} }

View File

@ -1,61 +1,60 @@
window.noname_update={ window.noname_update={
version:'1.9.110', version:'1.9.110.1',
update:'1.9.109.3.8', update:'1.9.110',
changeLog:[ changeLog:[
'木牛流马修改', '一之濑琴美、井上晶',
'南华老仙', 'bug修复',
'该版本不兼容现有的十周年UI请关闭十周年UI后运行',
], ],
files:[ files:[
'card/extra.js', //'card/extra.js',
//'card/gujian.js', //'card/gujian.js',
'card/guozhan.js', //'card/guozhan.js',
//'card/gwent.js', //'card/gwent.js',
//'card/huanlekapai.js', //'card/huanlekapai.js',
//'card/mtg.js', //'card/mtg.js',
'card/sp.js', //'card/sp.js',
'card/standard.js', 'card/standard.js',
//'card/swd.js', //'card/swd.js',
//'card/yunchou.js', //'card/yunchou.js',
//'card/yingbian.js', 'card/yingbian.js',
//'card/zhenfa.js', //'card/zhenfa.js',
//'card/zhulu.js', //'card/zhulu.js',
'character/diy.js', 'character/diy.js',
'character/extra.js', //'character/extra.js',
//'character/hearth.js', //'character/hearth.js',
//'character/gujian.js', //'character/gujian.js',
//'character/gwent.js', //'character/gwent.js',
//'character/hearth.js', //'character/hearth.js',
'character/mobile.js', 'character/mobile.js',
//'character/mtg.js', //'character/mtg.js',
'character/old.js', //'character/old.js',
//'character/ow.js', //'character/ow.js',
'character/rank.js', 'character/rank.js',
'character/refresh.js', 'character/refresh.js',
'character/shenhua.js', 'character/shenhua.js',
'character/sp.js', //'character/sp.js',
'character/sp2.js', 'character/sp2.js',
//'character/tw.js', //'character/tw.js',
'character/standard.js', //'character/standard.js',
'character/swd.js', //'character/swd.js',
'character/xianjian.js', //'character/xianjian.js',
'character/xinghuoliaoyuan.js', //'character/xinghuoliaoyuan.js',
'character/yijiang.js', //'character/yijiang.js',
//'character/yxs.js', //'character/yxs.js',
//'extension/boss/extension.js', //'extension/boss/extension.js',
'layout/default/layout.css', //'layout/default/layout.css',
//'layout/default/menu.css', //'layout/default/menu.css',
//'layout/nova/layout.css', //'layout/nova/layout.css',
//'mode/boss.js', //'mode/boss.js',
//'mode/brawl.js', //'mode/brawl.js',
//'mode/chess.js', //'mode/chess.js',
'mode/doudizhu.js', //'mode/doudizhu.js',
'mode/guozhan.js', //'mode/guozhan.js',
//'mode/identity.js', //'mode/identity.js',
//'mode/single.js', //'mode/single.js',
//'mode/stone.js', //'mode/stone.js',
//'mode/tafang.js', //'mode/tafang.js',
'mode/versus.js', //'mode/versus.js',
'game/game.js', 'game/game.js',
//'game/keyWords.js', //'game/keyWords.js',
//'game/NoSleep.js', //'game/NoSleep.js',

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB