v1.9.97.2

This commit is contained in:
Spmario233 2020-01-15 23:08:08 +08:00 committed by GitHub
parent 7d5788c94f
commit 772ea6b749
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 167 additions and 98 deletions

View File

@ -14,6 +14,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_umi2:['female','key',3,[],['unseen']],
key_kagari:['female','shen',3,['kagari_zongsi']],
key_rei:['male','key',4,['xiandeng','shulv','xisheng']],
key_komari:['female','key',3,['komari_tiankou','komari_xueshang']],
// diy_caocao:['male','wei',4,['xicai','diyjianxiong','hujia']],
// diy_hanlong:['male','wei',4,['siji','ciqiu']],
diy_feishi:['male','shu',3,['shuaiyan','moshou']],
@ -104,6 +105,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
diy_tianyu:'字国让,渔阳雍奴(今天津市武清区东北)人。三国时期曹魏将领。初从刘备,因母亲年老回乡,后跟随公孙瓒,公孙瓒败亡,劝说鲜于辅加入曹操。曹操攻略河北时,田豫正式得到曹操任用,历任颖阴、郎陵令、弋阳太守等。',
},
characterTitle:{
key_komari:'#bLittle Busters!',
key_umi:'#bSummer Pockets',
key_rei:'#gHarmonia',
key_kagari:'#bRewrite',
@ -146,6 +148,97 @@ game.import('character',function(lib,game,ui,get,ai,_status){
yuji:['zuoci']
},
skill:{
komari_tiankou:{
trigger:{
player:'useCard2',
target:'useCardToTarget',
},
forced:true,
filter:function(event,player,name){
if(name=='useCardToTarget'&&player==event.player) return false;
if(get.color(event.card)!='red') return false;
if(get.tag(event.card,'damage')) return false;
return ['basic','trick'].contains(get.type(event.card));
},
content:function(){
'step 0'
var info=get.info(trigger.card);
var bool=true;
if(info.multitarget||info.allowMultiple===false) bool=false;
else{
var list=game.filterPlayer(function(current){
return !trigger.targets.contains(current)&&lib.filter.targetEnabled2(trigger.card,trigger.player,current);
})
if(!list.length) bool=false;
}
if(bool) player.chooseTarget('甜口:为'+get.translation(trigger.card)+'增加一个额外目标,或点【取消】摸一张牌。',function(candy,komari,rin){
return _status.event.rin_chan.contains(rin);
}).set('rin_chan',list).set('ai',function(target){
var evt=_status.event;
return get.effect(target,evt.candy,evt.source,evt.player);
}).set('candy',trigger.card).set('',trigger.player);
else event._result={bool:false};
'step 1'
if(result.bool){
var rin=result.targets[0];
trigger.targets.push(rin);
player.line(rin,{color:[255, 224,172]});
}
else player.draw();
},
},
komari_xueshang:{
trigger:{global:'die'},
forced:true,
skillAnimation:true,
filter:function(event,player){
return player.hp>0;
},
animationColor:'metal',
content:function(){
'step 0'
player.addSkill('riki_xueshang');
var map={};
var list=[];
for(var i=1;i<=player.hp;i++){
var cn=get.cnNumber(i,true);
map[cn]=i;
list.push(cn);
}
event.map=map;
player.chooseControl(list,function(){
return '一';
}).set('prompt','血殇:请选择自己受到的伤害的点数');
'step 1'
var num=event.map[result.control]||1;
event.num=num>1?2:1;
event.list=game.filterPlayer(function(current){
return current!=player;
}).sortBySeat();
player.damage(num);
player.line(event.list,{color:[255, 224,172]});
'step 2'
if(!player.hasSkill(event.name)) return;
else{
event.list.shift().damage(num);
if(event.list.length) event.redo();
}
},
},
riki_xueshang:{
trigger:{global:'dying'},
forced:true,
popup:false,
charlotte:true,
filter:function(event,player){
return event.getParent(2).name=='komari_xueshang'&&event.getParent(2).player==player;
},
content:function(){
player.removeSkill('komari_xueshang');
player.gainMaxHp(true);
player.recover();
},
},
umi_chaofan:{
enable:'phaseUse',
usable:1,
@ -5383,6 +5476,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_umi:'加藤うみ',
key_umi2:'鹰原羽未',
key_rei:'零',
key_komari:'神北小毬',
lucia_duqu:'毒躯',
lucia_duqu_info:'锁定技,①当你对其他角色造成伤害或受到其他角色的伤害时,你和对方各获得一张花色点数随机的【毒】。<br>②当你因【毒】失去体力时,你改为回复等量的体力。<br>③当你处于濒死状态时,你可以使用一张【毒】(每回合限一次)。',
lucia_zhenren:'振刃',
@ -5408,6 +5502,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
umi_shiroha:'轮回 - 延时效果',
umi_qihuan:'七幻',
umi_qihuan_info:'限定技当你处于濒死状态时你可以移去此武将牌。若如此做你回复X点体力X为场上势力数。然后你可获得场上已死亡角色武将牌上的至多两个技能。',
komari_tiankou:'甜口',
komari_tiankou_info:'锁定技,当你使用红色的非伤害性基本牌/锦囊牌选择目标时或成为其他角色使用的这些牌的目标时你选择一项1.摸一张牌2.为此牌增加一个目标',
komari_xueshang:'血殇',
komari_xueshang_info:'锁定技,蓄力技,当有角色死亡时,你对自己造成<span class=yellowtext>1</span>点伤害,然后对所有其他角色依次造成<span class=firetext>1</span>点伤害。当有角色因此法进入濒死状态时你加1点体力上限并回复1点体力然后失去此技能并终止此技能的所有后续结算。',
ns_chuanshu:'传术',
ns_chuanshu_info:'<span class=yellowtext>限定技</span> 当一名其他角色进入濒死状态时你可以令其选择获得技能【雷击】或【鬼道】其回复体力至1并摸两张牌。当该被【传术】的角色造成或受到一次伤害后你摸一张牌。其阵亡后你重置技能【传术】',

View File

@ -439,17 +439,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
lianpo:{
audio:true,
trigger:{source:'dieAfter'},
forced:true,
trigger:{player:'phaseAfter'},
frequent:true,
filter:function(event,player){
return !player.hasSkill('lianpo2');
return player.getStat('kill')>0;
},
content:function(){
player.addTempSkill('lianpo2');
player.insertPhase();
}
},
lianpo2:{},
baonu:{
audio:2,
mark:true,
@ -2636,7 +2634,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
jilue_zhiheng:'制衡',
jilue_jizhi:'集智',
lianpo:'连破',
lianpo2:'连破',
lianpo_info:'若你在一回合内杀死了至少一名角色,此回合结束后,你可以进行一个额外的回合。',
guixin:'归心',
qinyin:'琴音',

View File

@ -12,10 +12,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
old_yijiang4:["old_caozhen","old_chenqun","old_zhuhuan","ol_wuyi"],
old_yijiang5:["old_caoxiu","old_quancong","old_zhuzhi"],
old_yijiang67:["ol_xinxianying","ol_zhangrang","ol_liuyu"],
old_sp:["old_caochun","old_lingju","old_maliang","old_machao","zhangliang","jsp_caoren","ol_guansuo"],
old_sp:["old_caochun","old_lingju","old_maliang","old_machao","zhangliang","jsp_caoren","ol_guansuo","old_zhangxingcai"],
},
},
character:{
old_zhangxingcai:['female','shu',3,['oldshenxian','qiangwu']],
old_fuhuanghou:['female','qun',3,['oldzhuikong','oldqiuyuan']],
old_caochong:['male','wei',3,['oldrenxin','oldchengxiang']],
yuji:['male','qun',3,['old_guhuo'],['forbidai']],
@ -68,6 +69,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
skill:{
oldshenxian:{
audio:'shenxian',
inherit:'shenxian',
},
old_fuhun:{
audio:'fuhun',
trigger:{player:'phaseDrawBefore'},
@ -841,6 +846,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
translate:{
old_zhangxingcai:'旧张星彩',
old_yuanshu:'手杀袁术',
old_xusheng:'旧徐盛',
old_lingtong:'旧凌统',

View File

@ -671,7 +671,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{player:'phaseAfter'},
frequent:true,
filter:function(event,player){
var history=player.getHistory('useCard');
var history=player.getHistory('useCard',function(evt){
return evt.isPhaseUsing();
});
var suits=[];
for(var i=0;i<history.length;i++){
var suit=get.suit(history[i].card);
@ -1409,16 +1411,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"step 0"
var cards=get.cards(3);
game.cardsGotoOrdering(cards);
event.cards=cards;
player.showCards(event.cards,'裸衣');
player.showCards(cards,'裸衣');
var cardsx=[];
for(var i=0;i<cards.length;i++){
if(get.type(cards[i])=='basic'||cards[i].name=='juedou'||
(get.type(cards[i])=='equip'&&get.subtype(cards[i])!='equip1')){
(get.type(cards[i])=='equip'&&get.subtype(cards[i])=='equip1')){
cardsx.push(cards[i]);
}
}
player.chooseBool("是否放弃摸牌,改为获得"+get.translation(cardsx)+"").ai=function(event,player){
event.cards=cardsx;
player.chooseBool("是否放弃摸牌"+(cardsx.length?(",改为获得"+get.translation(cardsx)):"")+"").ai=function(event,player){
var num=3
for(var i=0;i<event.cards.length;i++){
if(get.type(event.cards[i])!='basic'&&event.cards[i].name!='juedou'&&
@ -1430,18 +1432,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
};
"step 1"
if(result.bool){
var cards2=[];
for(var i=0;i<cards.length;i++){
if(get.type(cards[i])!='basic'&&cards[i].name!='juedou'&&
(get.type(cards[i])!='equip'||get.subtype(cards[i])!='equip1')){
cards2.push(cards[i]);
cards.splice(i--,1);
}
}
player.gain(cards,'gain2');
//game.cardsDiscard(cards2);
player.addTempSkill('reluoyi2',{player:'phaseBefore'});
trigger.cancel(null,null,'notrigger');
if(cards.length) player.gain(cards,'gain2');
//game.cardsDiscard(cards2);
player.addTempSkill('reluoyi2',{player:'phaseBefore'});
trigger.cancel(null,null,'notrigger');
}
//else game.cardsDiscard(cards);
},
@ -4057,7 +4051,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
reluoyi_info:'你可以跳过摸牌阶段,然后展示牌堆顶的三张牌,获得其中的基本牌、武器牌和【决斗】,若如此做,直到你的下回合开始,你为伤害来源的【杀】或【决斗】造成的伤害+1。',
reganglie_info:'每当你受到1点伤害后可进行一次判定若结果为红色你对伤害来源造成1点伤害若结果为黑色你弃置其一张牌。',
botu:'博图',
botu_info:'回合结束时,若你本回合使用的牌包含四种花色,则你可以进行一个额外回合。',
botu_info:'回合结束时,若你本回合出牌阶段内使用的牌包含四种花色,则你可以进行一个额外回合。',
xin_yuji:'界于吉',
re_zuoci:'界左慈',

View File

@ -4496,7 +4496,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
direct:true,
content:function(){
'step 0'
trigger.source.chooseBool(get.prompt('baonue',player)).set('choice',get.attitude(trigger.source,player)>0);
trigger.source.chooseBool('是否对'+get.translation(player)+'发动【暴虐】?').set('choice',get.attitude(trigger.source,player)>0);
'step 1'
if(result.bool){
player.logSkill('baonue');

View File

@ -21,7 +21,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
character:{
xujing:['male','shu',3,['yuxu','xjshijian'],['unseen']],
xujing:['male','shu',3,['yuxu','xjshijian']],
xushao:['male','qun',3,['pingjian'],['unseen']],
puyuan:['male','shu',4,['pytianjiang','pyzhuren']],
xinpi:['male','wei',3,['xpchijie','yinju']],
@ -654,9 +654,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
//许邵许靖
yuxu:{
audio:2,
trigger:{player:'useCard'},
trigger:{player:'useCardEnd'},
filter:function(event,player){
return event.isPhaseUsing(player);
var evt=event.getParent('phaseUse');
if(!evt||evt.player!=player) return false;
var history=player.getHistory('useCard',function(evtt){
return evtt.getParent('phaseUse')==evt;
});
var index=history.indexOf(event);
if(index==0) return true;
return history[index-1].yuxu!=true&&player.countCards('he')>0;
},
content:function(){
trigger.yuxu=true;
@ -665,7 +672,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
yuxu2:{
trigger:{player:'useCard'},
trigger:{player:'useCardEnd'},
direct:true,
charlotte:true,
locked:true,
@ -1287,16 +1294,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
content:function(){
if(trigger.name=='damage') player.addTempSkill(player==trigger.player?'xpchijie3':'xpchijie4');
else if(!player.hasSkill('xpchijie4')&&!player.hasSkill('xpchijie3')){
var cards=[];
var cs=trigger.cards;
for(var i=0;i<cs.length;i++){
if(get.position(cs[i],true)=='o') cards.push(cs[i]);
}
if(cards.length){
player.logSkill('xpchijie3');
player.gain(cards,'gain2');
else{
if(!player.hasSkill('xpchijie4')&&!player.hasSkill('xpchijie3')){
var cards=[];
var cs=trigger.cards;
for(var i=0;i<cs.length;i++){
if(get.position(cs[i],true)=='o') cards.push(cs[i]);
}
if(cards.length){
player.logSkill('xpchijie3');
player.gain(cards,'gain2');
}
}
player.removeSkill('xpchijie2');
player.removeSkill('xpchijie3');
player.removeSkill('xpchijie4');
}
},
},
@ -1450,7 +1462,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
cuorui:{
audio:2,
trigger:{global:'gameDrawAfter'},
trigger:{
global:'gameDrawAfter',
player:'enterGame',
},
forced:true,
filter:function(event,player){
return player.maxHp>0&&!get.is.single();
@ -4203,7 +4218,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
xianfu:{
trigger:{global:'gameDrawAfter'},
trigger:{
global:'gameDrawAfter',
player:'enterGame',
},
forced:true,
filter:function(){
return game.players.length>1;
@ -7323,7 +7341,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
'step 3'
if(event.num1<=event.num2){
player.chooseToDiscard('弃置一张牌,或摸一张牌').set('ai',function(){return -1;});
player.chooseToDiscard('he','弃置一张牌,或摸一张牌').set('ai',function(){return -1;});
}
else event.finish();
'step 4'
@ -11607,7 +11625,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(trigger.delay==false) game.delay();
"step 1"
player.draw();
player.addTempSkill('shenxian2');
if(event.name=='shenxian') player.addTempSkill('shenxian2');
},
ai:{
threaten:1.5
@ -11708,68 +11726,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
qiluan:{
audio:'qiluan2',
trigger:{source:'dieAfter'},
priority:-10,
silent:true,
locked:false,
onremove:function(player){
delete player.storage.qiluan;
},
filter:function(event){
return _status.currentPhase!=event.player;
},
content:function(){
if(!player.storage.qiluan){
player.storage.qiluan=1;
}
else{
player.storage.qiluan++;
}
},
group:['qiluan2','qiluan3','qiluan4']
},
qiluan2:{
audio:2,
trigger:{global:'phaseEnd'},
frequent:true,
filter:function(event,player){
return player.storage.qiluan?true:false;
return player.getStat('kill')>0;
},
content:function(){
if(get.mode()=='guozhan'){
player.draw(3);
}
else{
player.draw(3*player.storage.qiluan);
player.draw(3*player.getStat('kill'));
}
player.storage.qiluan=0;
}
},
qiluan3:{
audio:'qiluan2',
trigger:{source:'dieAfter'},
frequent:true,
priority:-10,
filter:function(event){
return _status.currentPhase==event.player;
},
content:function(){
var num=3;
if(player.storage.qiluan){
if(get.mode()!='guozhan'){
num+=3*player.storage.qiluan;
}
player.storage.qiluan=0;
}
player.draw(num);
},
},
qiluan4:{
trigger:{global:'phaseZhunbeiBegin'},
silent:true,
content:function(){
player.storage.qiluan=0;
}
qiluan2:{
audio:2,
},
shangyi:{
audio:2,
@ -14316,6 +14288,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
qiluan2:'戚乱',
qiluan3:'戚乱',
shenxian:'甚贤',
oldshenxian:'甚贤',
qiangwu:'枪舞',
moukui:'谋溃',
moukui2:'谋溃',
@ -14415,6 +14388,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
moukui_info:'当你使用【杀】指定一名角色为目标后,你可以选择一项:摸一张牌,或弃置其一张牌。若如此做,此【杀】被【闪】抵消时,该角色弃置你的一张牌。 ',
qiangwu_info:'出牌阶段,你可以进行一次判定。若如此做,则直到回合结束,你使用点数小于判定牌的 【杀】时不受距离限制,且你使用点数大于判定牌的【杀】时不计入出牌阶段的使用次数。',
shenxian_info:'每名角色的回合限一次,你的回合外,每当有其他角色因弃置而失去牌时,若其中有基本牌,你可以摸一张牌。',
oldshenxian_info:'你的回合外,每当有其他角色因弃置而失去牌时,若其中有基本牌,你可以摸一张牌。',
qiluan_info:'每当你杀死一名角色后,可以在此回合结束时摸三张牌。',
qiluan_info_guozhan:'当你杀死一名角色后,你可于此回合结束后摸三张牌',
zhendu_info:'其他角色的出牌阶段开始时,你可以弃置一张手牌,视为该角色使用一张【酒】,然后你对其造成一点伤害。',

View File

@ -71,7 +71,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
usable:1,
audio:2,
trigger:{
player:"useCardAfter",
player:"useCardEnd",
},
check:function (event,player){
return 18-get.value(event.card)-player.maxHp*2;
@ -2758,7 +2758,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
group:["qinguo_use","qinguo_lose"],
audio:2,
trigger:{
player:"useCardAfter",
player:"useCardEnd",
},
filter:function (event,player){
return get.type(event.card)=='equip';
@ -5514,7 +5514,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"xinfu_daigong":"怠攻",
"xinfu_daigong_info":"每回合限一次。当你受到伤害时,你可以展示所有手牌,然后令伤害来源选择一项:交给你一张与你所有手牌花色均不相同的一张牌,或防止此伤害。",
"xinfu_zhaoxin":"昭心",
"xinfu_zhaoxin_info":"出牌阶段限一次,你可以将任意张手牌置于武将牌上称之为「望」你至多拥有三张「望」。你攻击范围内的一名其他角色的摸牌阶段结束后其可以获得一张由你选择的「望」然后你可以对其造成1点伤害。",
"xinfu_zhaoxin_info":"出牌阶段限一次,你可以将任意张手牌置于武将牌上并摸等量的牌称之为「望」你至多拥有三张「望」。你攻击范围内的一名其他角色的摸牌阶段结束后其可以获得一张由你选择的「望」然后你可以对其造成1点伤害。",
"zhaoxin_give":"昭心",
"zhaoxin_give_info":"",
"xinfu_qianchong":"谦冲",

View File

@ -1975,7 +1975,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"step 3"
if(event.card){
player.logSkill('jianzheng',trigger.player);
player.lose(result.cards,ui.special);
player.lose(event.card,ui.special);
game.broadcastAll(function(player){
var cardx=ui.create.card();
cardx.classList.add('infohidden');
@ -10228,7 +10228,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
check:function(event,player){
if(get.attitude(player,event.player)<0) return false;
if(player.countCards('h',{name:['tao','jiu']})+target.hp<0) return false;
if(player.countCards('h',{name:['tao','jiu']})+event.player.hp<0) return false;
return true;
},
content:function(){