v1.9.94.2
This commit is contained in:
parent
0d43a0ce09
commit
5adbd8a8fe
472
character/diy.js
472
character/diy.js
|
@ -9,6 +9,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
key_lucia:['female','qun','1/2',['lucia_duqu','lucia_zhenren']],
|
||||
key_kyousuke:['male','qun',4,['nk_shekong','key_huanjie']],
|
||||
key_yuri:['female','qun',3,['yuri_xingdong','key_huanjie','yuri_wangxi'],['zhu']],
|
||||
key_haruko:['female','qun',4,['haruko_haofang','haruko_zhuishi']],
|
||||
// diy_caocao:['male','wei',4,['xicai','diyjianxiong','hujia']],
|
||||
// diy_hanlong:['male','wei',4,['siji','ciqiu']],
|
||||
diy_feishi:['male','shu',3,['shuaiyan','moshou']],
|
||||
|
@ -85,7 +86,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"],
|
||||
diy_key:["key_lucia","key_kyousuke","key_yuri","key_haruko"],
|
||||
},
|
||||
},
|
||||
characterIntro:{
|
||||
|
@ -99,9 +100,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
diy_tianyu:'字国让,渔阳雍奴(今天津市武清区东北)人。三国时期曹魏将领。初从刘备,因母亲年老回乡,后跟随公孙瓒,公孙瓒败亡,劝说鲜于辅加入曹操。曹操攻略河北时,田豫正式得到曹操任用,历任颖阴、郎陵令、弋阳太守等。',
|
||||
},
|
||||
characterTitle:{
|
||||
key_lucia:'Rewrite',
|
||||
key_lucia:'#bRewrite',
|
||||
key_kyousuke:'#bLittle Busters!',
|
||||
key_yuri:'#rAngel Beats!',
|
||||
key_haruko:'#bAIR',
|
||||
diy_wenyang:'#g最粗的梦想XD',
|
||||
ns_zuoci:'#bskystarwuwei',
|
||||
ns_lvzhi:'#bskystarwuwei',
|
||||
|
@ -137,14 +139,51 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
yuji:['zuoci']
|
||||
},
|
||||
skill:{
|
||||
haruko_haofang:{
|
||||
mod:{
|
||||
cardEnabled:function(card,player){
|
||||
if(_status.event.skill==undefined&&get.type(card)=='delay') return false;
|
||||
},
|
||||
cardRespondable:function(card,player){
|
||||
if(_status.event.skill==undefined&&get.type(card)=='delay') return false;
|
||||
},
|
||||
cardSavable:function(card,player){
|
||||
if(_status.event.skill==undefined&&get.type(card)=='delay') return false;
|
||||
},
|
||||
},
|
||||
audio:2,
|
||||
enable:'chooseToUse',
|
||||
filterCard:{type:'delay'},
|
||||
viewAs:{name:'wuzhong'},
|
||||
check:function(){return 1},
|
||||
viewAsFilter:function(haruko){
|
||||
return haruko.countCards('h',{type:'delay'})>0;
|
||||
},
|
||||
},
|
||||
haruko_zhuishi:{
|
||||
trigger:{global:'phaseJudgeBegin'},
|
||||
filter:function(misuzu){
|
||||
return misuzu.player.countCards('j')>0;
|
||||
},
|
||||
check:function(event,player){
|
||||
return player.hp>1&&get.attitude(player,event.player)>1;
|
||||
},
|
||||
logTarget:'player',
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.loseHp();
|
||||
'step 1'
|
||||
player.gain(trigger.player.getCards('j'),trigger.player,'give');
|
||||
},
|
||||
},
|
||||
yuri_xingdong:{
|
||||
subSkill:{
|
||||
mark:{
|
||||
mark:true,
|
||||
marktext:'令',
|
||||
intro:{
|
||||
content:'跳过下个回合的判定阶段和摸牌阶段',
|
||||
},
|
||||
mark:true,
|
||||
marktext:'令',
|
||||
intro:{
|
||||
content:'跳过下个回合的判定阶段和摸牌阶段',
|
||||
},
|
||||
},
|
||||
},
|
||||
enable:'phaseUse',
|
||||
|
@ -241,172 +280,172 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
nk_shekong:{
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
return player.countCards('h')>0;
|
||||
},
|
||||
filterCard:true,
|
||||
selectCard:function(){
|
||||
if(ui.selected.targets.length) return [1,ui.selected.targets[0].countCards('he')];
|
||||
return [1,Infinity];
|
||||
},
|
||||
filterTarget:function(event,player,target){
|
||||
return target!=player&&target.countCards('he')>=Math.max(1,ui.selected.cards.length);
|
||||
},
|
||||
check:function(card){
|
||||
if(!game.hasPlayer(function(current){
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
return player.countCards('h')>0;
|
||||
},
|
||||
filterCard:true,
|
||||
selectCard:function(){
|
||||
if(ui.selected.targets.length) return [1,ui.selected.targets[0].countCards('he')];
|
||||
return [1,Infinity];
|
||||
},
|
||||
filterTarget:function(event,player,target){
|
||||
return target!=player&&target.countCards('he')>=Math.max(1,ui.selected.cards.length);
|
||||
},
|
||||
check:function(card){
|
||||
if(!game.hasPlayer(function(current){
|
||||
return current!=_status.event.player&&get.attitude(_status.event.player,current)<0&¤t.countCards('he')>ui.selected.cards.length;
|
||||
})) return 0;
|
||||
return 6-get.value(card);
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
event.cardsx=cards.slice(0);
|
||||
var num=get.cnNumber(cards.length);
|
||||
var trans=get.translation(player);
|
||||
var prompt=('弃置'+num+'张牌,然后'+trans+'摸一张牌');
|
||||
if(cards.length>1) prompt+=(';或弃置一张牌,然后'+trans+'摸'+num+'张牌');
|
||||
var next=target.chooseToDiscard(prompt,'he',true);
|
||||
next.numx=cards.length;
|
||||
next.selectCard=function(){
|
||||
if(ui.selected.cards.length>1) return _status.event.numx;
|
||||
return [1,_status.event.numx];
|
||||
};
|
||||
next.complexCard=true;
|
||||
next.ai=function(card){
|
||||
if(ui.selected.cards.length==0||(_status.event.player.countCards('he',function(cardxq){
|
||||
return get.value(cardxq)<7;
|
||||
})>=_status.event.numx)) return 7-get.value(card);
|
||||
return -1;
|
||||
};
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
if(result.cards.length==cards.length) player.draw();
|
||||
else player.draw(cards.length);
|
||||
event.cardsx.addArray(result.cards);
|
||||
for(var i=0;i<event.cardsx.length;i++){
|
||||
if(get.position(event.cardsx[i])!='d') event.cardsx.splice(i--,1);
|
||||
}
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
if(event.cardsx.length){
|
||||
player.chooseButton(['请按顺序将卡牌置于牌堆顶(先选择的在上)',event.cardsx],true,event.cardsx.length);
|
||||
}
|
||||
else event.finish();
|
||||
'step 3'
|
||||
if(result.bool){
|
||||
var cardsx=result.links;
|
||||
while(cardsx.length){
|
||||
var card=cardsx.pop();
|
||||
card.fix();
|
||||
ui.cardPile.insertBefore(card,ui.cardPile.firstChild);
|
||||
}
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
order:10,
|
||||
result:{
|
||||
target:-1,
|
||||
},
|
||||
},
|
||||
},
|
||||
key_huanjie:{
|
||||
trigger:{player:['drawBegin','judgeBegin']},
|
||||
forced:true,
|
||||
silent:true,
|
||||
popup:false,
|
||||
priority:-1,
|
||||
filter:function(event){
|
||||
return event.name=='draw'||!event.directresult;
|
||||
},
|
||||
content:function(){
|
||||
if(trigger.name=='draw'){
|
||||
if(trigger.bottom) trigger.bottom=false;
|
||||
else trigger.bottom=true;
|
||||
}
|
||||
else trigger.directresult=get.bottomCards()[0];
|
||||
},
|
||||
},
|
||||
lucia_duqu:{
|
||||
mod:{
|
||||
cardSavable:function(card,player){
|
||||
if(card.name=='du'&&!player.hasSkill('lucia_duqu_terra')) return true;
|
||||
},
|
||||
},
|
||||
trigger:{
|
||||
player:['damage','loseHpBefore','useCardBefore'],
|
||||
source:'damage',
|
||||
},
|
||||
forced:true,
|
||||
charlotte:true,
|
||||
filter:function(event,player,onrewrite){
|
||||
if(onrewrite=='loseHpBefore'){
|
||||
return event.type=='du';
|
||||
}
|
||||
if(onrewrite=='useCardBefore'){
|
||||
return event.card.name=='du'&&event.getParent().type=='dying';
|
||||
}
|
||||
return event.source!=undefined&&event.source!=event.player;
|
||||
},
|
||||
content:function(){
|
||||
var onrewrite=event.triggername;
|
||||
if(onrewrite=='loseHpBefore'){
|
||||
trigger.cancel();
|
||||
player.recover(trigger.num);
|
||||
}
|
||||
else if(onrewrite=='useCardBefore'){
|
||||
player.addTempSkill('lucia_duqu_terra');
|
||||
}
|
||||
else{
|
||||
var another=trigger[trigger.source==player?'player':'source'];
|
||||
player.line(another,{color:[220, 90, 139]});
|
||||
var card=game.createCard('du');
|
||||
player.$gain2(card);
|
||||
player.gain(card);
|
||||
another.gain(game.createCard('du'),'gain2');
|
||||
}
|
||||
},
|
||||
ai:{usedu:true,save:true},
|
||||
subSkill:{terra:{sub:true}}
|
||||
},
|
||||
lucia_zhenren:{
|
||||
trigger:{global:'phaseEnd'},
|
||||
forced:true,
|
||||
charlotte:true,
|
||||
filter:function(event,player){
|
||||
return player.countCards('e')>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var es=player.getCards('e');
|
||||
event.count=es.length;
|
||||
player.discard(es);
|
||||
'step 1'
|
||||
event.count--;
|
||||
if(game.hasPlayer(function(current){
|
||||
return current.countDiscardableCards(player,'ej')>0;
|
||||
})){
|
||||
player.chooseTarget('请选择一名角色,弃置其装备区或判定区内的一张牌。',true,function(card,player,target){
|
||||
return target.countDiscardableCards(player,'ej')>0;
|
||||
}).ai=function(target){
|
||||
var att=get.attitude(_status.event.player,target);
|
||||
if(target.countCards('j')&&att>0) return att*1.5;
|
||||
return -att;
|
||||
};
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
if(result.bool&&result.targets&&result.targets.length){
|
||||
var target=result.targets[0];
|
||||
player.line(target,{color:[220, 90, 139]});
|
||||
player.discardPlayerCard(target,'ej',true);
|
||||
if(event.count) event.goto(1);
|
||||
}
|
||||
},
|
||||
},
|
||||
ns_chuanshu:{
|
||||
return 6-get.value(card);
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
event.cardsx=cards.slice(0);
|
||||
var num=get.cnNumber(cards.length);
|
||||
var trans=get.translation(player);
|
||||
var prompt=('弃置'+num+'张牌,然后'+trans+'摸一张牌');
|
||||
if(cards.length>1) prompt+=(';或弃置一张牌,然后'+trans+'摸'+num+'张牌');
|
||||
var next=target.chooseToDiscard(prompt,'he',true);
|
||||
next.numx=cards.length;
|
||||
next.selectCard=function(){
|
||||
if(ui.selected.cards.length>1) return _status.event.numx;
|
||||
return [1,_status.event.numx];
|
||||
};
|
||||
next.complexCard=true;
|
||||
next.ai=function(card){
|
||||
if(ui.selected.cards.length==0||(_status.event.player.countCards('he',function(cardxq){
|
||||
return get.value(cardxq)<7;
|
||||
})>=_status.event.numx)) return 7-get.value(card);
|
||||
return -1;
|
||||
};
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
if(result.cards.length==cards.length) player.draw();
|
||||
else player.draw(cards.length);
|
||||
event.cardsx.addArray(result.cards);
|
||||
for(var i=0;i<event.cardsx.length;i++){
|
||||
if(get.position(event.cardsx[i])!='d') event.cardsx.splice(i--,1);
|
||||
}
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
if(event.cardsx.length){
|
||||
player.chooseButton(['请按顺序将卡牌置于牌堆顶(先选择的在上)',event.cardsx],true,event.cardsx.length);
|
||||
}
|
||||
else event.finish();
|
||||
'step 3'
|
||||
if(result.bool){
|
||||
var cardsx=result.links;
|
||||
while(cardsx.length){
|
||||
var card=cardsx.pop();
|
||||
card.fix();
|
||||
ui.cardPile.insertBefore(card,ui.cardPile.firstChild);
|
||||
}
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
order:10,
|
||||
result:{
|
||||
target:-1,
|
||||
},
|
||||
},
|
||||
},
|
||||
key_huanjie:{
|
||||
trigger:{player:['drawBegin','judgeBegin']},
|
||||
forced:true,
|
||||
silent:true,
|
||||
popup:false,
|
||||
priority:-1,
|
||||
filter:function(event){
|
||||
return event.name=='draw'||!event.directresult;
|
||||
},
|
||||
content:function(){
|
||||
if(trigger.name=='draw'){
|
||||
if(trigger.bottom) trigger.bottom=false;
|
||||
else trigger.bottom=true;
|
||||
}
|
||||
else trigger.directresult=get.bottomCards()[0];
|
||||
},
|
||||
},
|
||||
lucia_duqu:{
|
||||
mod:{
|
||||
cardSavable:function(card,player){
|
||||
if(card.name=='du'&&!player.hasSkill('lucia_duqu_terra')) return true;
|
||||
},
|
||||
},
|
||||
trigger:{
|
||||
player:['damage','loseHpBefore','useCardBefore'],
|
||||
source:'damage',
|
||||
},
|
||||
forced:true,
|
||||
charlotte:true,
|
||||
filter:function(event,player,onrewrite){
|
||||
if(onrewrite=='loseHpBefore'){
|
||||
return event.type=='du';
|
||||
}
|
||||
if(onrewrite=='useCardBefore'){
|
||||
return event.card.name=='du'&&event.getParent().type=='dying';
|
||||
}
|
||||
return event.source!=undefined&&event.source!=event.player;
|
||||
},
|
||||
content:function(){
|
||||
var onrewrite=event.triggername;
|
||||
if(onrewrite=='loseHpBefore'){
|
||||
trigger.cancel();
|
||||
player.recover(trigger.num);
|
||||
}
|
||||
else if(onrewrite=='useCardBefore'){
|
||||
player.addTempSkill('lucia_duqu_terra');
|
||||
}
|
||||
else{
|
||||
var another=trigger[trigger.source==player?'player':'source'];
|
||||
player.line(another,{color:[220, 90, 139]});
|
||||
var card=game.createCard('du');
|
||||
player.$gain2(card);
|
||||
player.gain(card);
|
||||
another.gain(game.createCard('du'),'gain2');
|
||||
}
|
||||
},
|
||||
ai:{usedu:true,save:true},
|
||||
subSkill:{terra:{sub:true}}
|
||||
},
|
||||
lucia_zhenren:{
|
||||
trigger:{global:'phaseEnd'},
|
||||
forced:true,
|
||||
charlotte:true,
|
||||
filter:function(event,player){
|
||||
return player.countCards('e')>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var es=player.getCards('e');
|
||||
event.count=es.length;
|
||||
player.discard(es);
|
||||
'step 1'
|
||||
event.count--;
|
||||
if(game.hasPlayer(function(current){
|
||||
return current.countDiscardableCards(player,'ej')>0;
|
||||
})){
|
||||
player.chooseTarget('请选择一名角色,弃置其装备区或判定区内的一张牌。',true,function(card,player,target){
|
||||
return target.countDiscardableCards(player,'ej')>0;
|
||||
}).ai=function(target){
|
||||
var att=get.attitude(_status.event.player,target);
|
||||
if(target.countCards('j')&&att>0) return att*1.5;
|
||||
return -att;
|
||||
};
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
if(result.bool&&result.targets&&result.targets.length){
|
||||
var target=result.targets[0];
|
||||
player.line(target,{color:[220, 90, 139]});
|
||||
player.discardPlayerCard(target,'ej',true);
|
||||
if(event.count) event.goto(1);
|
||||
}
|
||||
},
|
||||
},
|
||||
ns_chuanshu:{
|
||||
audio:["xingshuai",2],
|
||||
trigger:{
|
||||
global:"dying",
|
||||
|
@ -423,8 +462,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
logTarget:"player",
|
||||
content:function (){
|
||||
'step 0'
|
||||
// player.logSkill('ns_chuanshu',trigger.player);
|
||||
'step 0'
|
||||
// player.logSkill('ns_chuanshu',trigger.player);
|
||||
trigger.player.chooseControl('releiji','guidao').set('prompt',''+get.translation(trigger.player)+'获得一项技能');
|
||||
goon=true;
|
||||
|
||||
|
@ -432,14 +471,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
event.finish();
|
||||
}
|
||||
'step 1'
|
||||
trigger.player.addSkillLog(result.control);
|
||||
trigger.player.recover(1-trigger.player.hp);
|
||||
trigger.player.draw(2);
|
||||
trigger.player.storage.ns_chuanshu2=player;
|
||||
trigger.player.addSkill('ns_chuanshu2');
|
||||
//game.broadcastAll()+trigger.player.node.avatar.setBackgroundImage('extension/群英会/ns_zhangjiao.jpg');
|
||||
//player.removeSkill('ns_chuanshu');
|
||||
player.awakenSkill('ns_chuanshu');
|
||||
trigger.player.addSkillLog(result.control);
|
||||
trigger.player.recover(1-trigger.player.hp);
|
||||
trigger.player.draw(2);
|
||||
trigger.player.storage.ns_chuanshu2=player;
|
||||
trigger.player.addSkill('ns_chuanshu2');
|
||||
//game.broadcastAll()+trigger.player.node.avatar.setBackgroundImage('extension/群英会/ns_zhangjiao.jpg');
|
||||
//player.removeSkill('ns_chuanshu');
|
||||
player.awakenSkill('ns_chuanshu');
|
||||
},
|
||||
},
|
||||
ns_xiandao1:{
|
||||
|
@ -457,15 +496,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
//filter:function (event,player){
|
||||
// return player.isAlive();
|
||||
//},
|
||||
content:function (){
|
||||
content:function (){
|
||||
var n=[1,2].randomGet();
|
||||
if(n==1){
|
||||
player.addTempSkill("releiji",{player:"phaseUseBegin"});
|
||||
player.markSkill("releiji",{player:"phaseUseBegin"});
|
||||
player.markSkill("releiji",{player:"phaseUseBegin"});
|
||||
};
|
||||
if(n==2){
|
||||
player.addTempSkill("guidao",{player:"phaseUseBegin"});
|
||||
player.markSkill("guidao",{player:"phaseUseBegin"});
|
||||
player.markSkill("guidao",{player:"phaseUseBegin"});
|
||||
};
|
||||
},
|
||||
},
|
||||
|
@ -483,7 +522,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(!event.nature) return false;
|
||||
return true;
|
||||
},
|
||||
content:function (){
|
||||
content:function (){
|
||||
trigger.cancel();
|
||||
//event.finish();
|
||||
},
|
||||
|
@ -516,7 +555,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'step 0'
|
||||
game.delayx();
|
||||
'step 1'
|
||||
var target=player.storage.ns_chuanshu2;
|
||||
var target=player.storage.ns_chuanshu2;
|
||||
player.line(target,'green');
|
||||
target.draw();
|
||||
game.delay();
|
||||
|
@ -535,11 +574,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return player.storage.ns_chuanshu2&&player.storage.ns_chuanshu2.isIn();
|
||||
},
|
||||
content:function (){
|
||||
'step 0'
|
||||
'step 0'
|
||||
game.delayx();
|
||||
'step 1'
|
||||
var target=player.storage.ns_chuanshu2;
|
||||
player.line(target,'green');
|
||||
var target=player.storage.ns_chuanshu2;
|
||||
player.line(target,'green');
|
||||
//target.addSkill('ns_chuanshu');
|
||||
target.restoreSkill('ns_chuanshu');
|
||||
target.update();
|
||||
|
@ -562,16 +601,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"step 0"
|
||||
event.cards=get.cards(2);
|
||||
player.showCards(event.cards);
|
||||
"step 1"
|
||||
if(get.color(event.cards[0])=='red'&&get.color(event.cards[1])=='red'){
|
||||
"step 1"
|
||||
if(get.color(event.cards[0])=='red'&&get.color(event.cards[1])=='red'){
|
||||
target.damage('fire');
|
||||
}
|
||||
if(get.color(event.cards[0])!=get.color(event.cards[1])){
|
||||
player.discardPlayerCard(target,"he",true);
|
||||
}
|
||||
if(get.color(event.cards[0])=='black'&&get.color(event.cards[1])=='black'){
|
||||
if(get.color(event.cards[0])=='black'&&get.color(event.cards[1])=='black'){
|
||||
target.damage('thunder');
|
||||
}
|
||||
}
|
||||
"step 2"
|
||||
if(event.cards.length){
|
||||
player.gain(event.cards,'gain2');
|
||||
|
@ -3646,10 +3685,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var cards=player.storage.liangji_1;
|
||||
if(cards){
|
||||
player.gain(cards,'gain2');
|
||||
}
|
||||
}
|
||||
player.storage.liangji_1=0;
|
||||
'step 1'
|
||||
if(player.sex=='male')player.addTempSkill('wushuang');
|
||||
if(player.sex=='male')player.addTempSkill('wushuang');
|
||||
if(player.sex=='female')player.addTempSkill('lijian');
|
||||
player.removeSkill('liangji_1');
|
||||
},
|
||||
|
@ -3729,12 +3768,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
}
|
||||
"step 2"
|
||||
trigger.cancel();
|
||||
trigger.cancel();
|
||||
},
|
||||
sub:true,
|
||||
},
|
||||
},
|
||||
ai:{
|
||||
ai:{
|
||||
effect:{
|
||||
target:function (card,player,target){
|
||||
if(get.tag(card,'damage')){
|
||||
|
@ -3765,7 +3804,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var cards=player.storage.jugong;
|
||||
if(cards){
|
||||
player.gain(cards,'gain2');
|
||||
}
|
||||
}
|
||||
player.storage.jugong=[];
|
||||
'step 2'
|
||||
trigger.cancel();
|
||||
|
@ -5087,22 +5126,27 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
ns_xinnanhua:'南华老仙',
|
||||
|
||||
|
||||
key_lucia:'此花露西娅',
|
||||
key_kyousuke:'棗恭介',
|
||||
key_yuri:'仲村ゆり',
|
||||
lucia_duqu:'毒躯',
|
||||
lucia_duqu_info:'锁定技,①当你对其他角色造成伤害或受到其他角色的伤害时,你和对方各获得一张花色点数随机的【毒】。<br>②当你因【毒】失去体力时,你改为回复等量的体力。<br>③当你处于濒死状态时,你可以使用一张【毒】(每回合限一次)。',
|
||||
lucia_zhenren:'振刃',
|
||||
lucia_zhenren_info:'锁定技,每个结束阶段,若你的装备区内有牌,则你弃置之。然后,你依次弃置场上的X张牌。(X为你以此法弃置的牌数)',
|
||||
nk_shekong:'设控',
|
||||
nk_shekong_info:'出牌阶段限一次,你可以弃置任意张手牌并选择一名其他角色(不能超过该角色的牌数),然后令其选择一项:弃置一张牌并令你摸X张牌,或弃置X张牌并令你摸一张牌。然后,你将你与其弃置的且位于弃牌堆中的牌以任意顺序置于牌堆顶。',
|
||||
key_huanjie:'幻界',
|
||||
key_huanjie_info:'锁定技,当你进行判定或摸牌时,你改为从牌堆的另一端获取相应的牌。',
|
||||
yuri_xingdong:'行动',
|
||||
yuri_xingdong_info:'出牌阶段限一次,你可以将一张【杀】或普通锦囊牌交给一名其他角色,然后该角色选择一项:对除你以外的角色使用此牌并在此牌结算完成后和你各摸一张牌;或跳过下回合的判定阶段和摸牌阶段。',
|
||||
yuri_wangxi:'忘隙',
|
||||
yuri_wangxi_info:'主公技,限定技,当有角色因你发动的【行动】而死亡后,若其身份不为【明忠】,则其可以将身份改为忠臣并重新加入游戏,然后将势力改为与你相同,将体力值回复至2点并摸一张牌。',
|
||||
ns_chuanshu:'传术',
|
||||
key_lucia:'此花露西娅',
|
||||
key_kyousuke:'棗恭介',
|
||||
key_yuri:'仲村ゆり',
|
||||
key_haruko:'神尾晴子',
|
||||
lucia_duqu:'毒躯',
|
||||
lucia_duqu_info:'锁定技,①当你对其他角色造成伤害或受到其他角色的伤害时,你和对方各获得一张花色点数随机的【毒】。<br>②当你因【毒】失去体力时,你改为回复等量的体力。<br>③当你处于濒死状态时,你可以使用一张【毒】(每回合限一次)。',
|
||||
lucia_zhenren:'振刃',
|
||||
lucia_zhenren_info:'锁定技,每个结束阶段,若你的装备区内有牌,则你弃置之。然后,你依次弃置场上的X张牌。(X为你以此法弃置的牌数)',
|
||||
nk_shekong:'设控',
|
||||
nk_shekong_info:'出牌阶段限一次,你可以弃置任意张手牌并选择一名其他角色(不能超过该角色的牌数),然后令其选择一项:弃置一张牌并令你摸X张牌,或弃置X张牌并令你摸一张牌。然后,你将你与其弃置的且位于弃牌堆中的牌以任意顺序置于牌堆顶。',
|
||||
key_huanjie:'幻界',
|
||||
key_huanjie_info:'锁定技,当你进行判定或摸牌时,你改为从牌堆的另一端获取相应的牌。',
|
||||
yuri_xingdong:'行动',
|
||||
yuri_xingdong_info:'出牌阶段限一次,你可以将一张【杀】或普通锦囊牌交给一名其他角色,然后该角色选择一项:对除你以外的角色使用此牌并在此牌结算完成后和你各摸一张牌;或跳过下回合的判定阶段和摸牌阶段。',
|
||||
yuri_wangxi:'忘隙',
|
||||
yuri_wangxi_info:'主公技,限定技,当有角色因你发动的【行动】而死亡后,若其身份不为【明忠】,则其可以将身份改为忠臣并重新加入游戏,然后将势力改为与你相同,将体力值回复至2点并摸一张牌。',
|
||||
haruko_haofang:'豪放',
|
||||
haruko_haofang_info:'锁定技,你不能使用非转化的延时锦囊牌。你可以将一张延时锦囊牌当做【无中生有】使用。',
|
||||
haruko_zhuishi:'追逝',
|
||||
haruko_zhuishi_info:'一名角色的判定阶段开始时,若其判定区内有牌,则你可以失去1点体力,然后获得其判定区内的所有牌。',
|
||||
ns_chuanshu:'传术',
|
||||
ns_chuanshu_info:'<span class=yellowtext>限定技</span> 当一名其他角色进入濒死状态时,你可以令其选择获得技能【雷击】或【鬼道】,其回复体力至1并摸两张牌。当该被【传术】的角色造成或受到一次伤害后,你摸一张牌。其阵亡后,你重置技能【传术】',
|
||||
ns_xiandao1:'仙道',
|
||||
ns_xiandao1_info:'<font color=#f00>锁定技</font> 游戏开始和回合结束阶段,你随机获得技能【雷击】或【鬼道】,直到下个出牌阶段开始',
|
||||
|
|
|
@ -153,7 +153,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var cards=target.getCards(range[i]);
|
||||
if(cards.length){
|
||||
var card=cards.randomGet();
|
||||
player.gain(card,target,'giveAuto');
|
||||
player.gain(card,target,'giveAuto','bySelf');
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -429,6 +429,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filter:function (event,player){
|
||||
if(event.player.countCards('h')<player.countCards('h')) return false;
|
||||
if(event.card.name=='sha'||event.card.name=='juedou') return true;
|
||||
return false;
|
||||
},
|
||||
content:function (){
|
||||
trigger.getParent().excluded.add(player);
|
||||
|
@ -2288,9 +2289,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return event.skill=='reluanji';
|
||||
},
|
||||
content:function(){
|
||||
player.storage.reluanji2=trigger.card;
|
||||
if(!player.storage.reluanji){
|
||||
player.storage.reluanji=[];
|
||||
player.storage.reluanji2=trigger.card;
|
||||
}
|
||||
for(var i=0;i<trigger.cards.length;i++){
|
||||
player.storage.reluanji.add(get.suit(trigger.cards[i]));
|
||||
|
@ -2329,6 +2330,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
player.draw(trigger.targets.length);
|
||||
delete player.storage.reluanji2;
|
||||
},
|
||||
},
|
||||
}
|
||||
|
@ -6118,28 +6120,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
fenji:{
|
||||
audio:2,
|
||||
trigger:{
|
||||
global:"loseAfter",
|
||||
global:["gainAfter","discardAfter"],
|
||||
},
|
||||
filter:function (event){
|
||||
if(_status.currentPhase!=event.player){
|
||||
if(event.getParent(2).name=='discardPlayerCard'||event.getParent().name=='gainMultiple'||event.getParent().name=='gain'||event.getParent().name=='gainPlayerCard'){
|
||||
for(var i=0;i<event.cards.length;i++){
|
||||
if(event.cards[i].original=='h') return true;
|
||||
}
|
||||
}
|
||||
var player=event[event.name=='gain'?'source':'player'];
|
||||
if(!player||_status.currentPhase==player||player.isDead()) return false;
|
||||
if(event[event.name=='gain'?'bySelf':'notBySelf']!=true) return false;
|
||||
for(var i=0;i<event.cards.length;i++){
|
||||
if(event.cards[i].original=='h') return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
check:function(event,player){
|
||||
return get.attitude(player,event.player)>2;
|
||||
return get.attitude(player,event[event.name=='gain'?'source':'player'])>2;
|
||||
},
|
||||
logTarget:function(event){
|
||||
return event[event.name=='gain'?'source':'player'];
|
||||
},
|
||||
logTarget:'player',
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.line(trigger.player,'green');
|
||||
player.loseHp();
|
||||
"step 1"
|
||||
trigger.player.draw(2);
|
||||
trigger[trigger.name=='gain'?'source':'player'].draw(2);
|
||||
},
|
||||
},
|
||||
leiji:{
|
||||
|
|
|
@ -1086,7 +1086,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
weicheng:{
|
||||
audio:2,
|
||||
trigger:{global:'gainEnd'},
|
||||
forced:true,
|
||||
//forced:true,
|
||||
frequent:true,
|
||||
filter:function(event,player){
|
||||
if(event.source==player&&event.player!=player&&player.hp>player.countCards('h')){
|
||||
|
@ -4216,7 +4216,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audio:'fengshi',
|
||||
trigger:{player:'useCardToPlayered'},
|
||||
filter:function(event,player){
|
||||
return event.target.countCards('e');
|
||||
return event.card.name=='sha'&&event.target.countCards('e');
|
||||
},
|
||||
logTarget:'target',
|
||||
check:function(event,player){
|
||||
|
@ -10398,6 +10398,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
moukui:{
|
||||
trigger:{player:'useCardToPlayered'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return event.card.name=='sha';
|
||||
},
|
||||
audio:2,
|
||||
content:function(){
|
||||
"step 0"
|
||||
|
|
|
@ -162,7 +162,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
else{
|
||||
var card=target.getCards('hej').randomGet();
|
||||
player.gain(card,target,'giveAuto');
|
||||
player.gain(card,target,'giveAuto','bySelf');
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
|
@ -274,7 +274,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"step 1"
|
||||
if(result.index==0){
|
||||
var card=target.getCards('hej').randomGet();
|
||||
player.gain(card,target,'giveAuto');
|
||||
player.gain(card,target,'giveAuto','bySelf');
|
||||
target.addTempSkill('tanbei_effect2','phaseAfter');
|
||||
}
|
||||
else{
|
||||
|
@ -1262,7 +1262,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(card1) list.push(card1);
|
||||
if(card2) list.push(card2);
|
||||
if(list.length>0){
|
||||
player.gain(list,trigger.player,'giveAuto');
|
||||
player.gain(list,trigger.player,'giveAuto','bySelf');
|
||||
}
|
||||
game.delay();
|
||||
},
|
||||
|
@ -2866,7 +2866,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
frequent:true,
|
||||
filter:function (event,player){
|
||||
if(player!=_status.currentPhase) return false;
|
||||
if(event.getParent().triggeredTargets>1) return false;
|
||||
if(event.getParent().triggeredTargets3.length>1) return false;
|
||||
if(get.type(event.card)=='equip'&&get.subtype(event.card)!='equip1') return false;
|
||||
if(event.targets.contains(player)) return true;
|
||||
return false;
|
||||
|
@ -3784,7 +3784,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
frequent:true,
|
||||
filter:function (event,player){
|
||||
if(get.type(event.card)=='equip') return false;
|
||||
if(event.getParent().triggeredTargets>1) return false;
|
||||
if(event.getParent().triggeredTargets3>1) return false;
|
||||
return event.targets.length>0&&!player.countCards('h',{type:'basic',});
|
||||
},
|
||||
content:function (){
|
||||
|
|
|
@ -1967,7 +1967,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
qingxian:{
|
||||
audio:2,
|
||||
group:['qingxian_jilie','qingxian_rouhe'],
|
||||
group:['qingxian_jilie','qingxian_rouhe','qingxian_dying'],
|
||||
ai:{
|
||||
threaten:0.8,
|
||||
maixie:true,
|
||||
|
@ -1982,12 +1982,51 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
subSkill:{
|
||||
dying:{
|
||||
audio:'qingxian',
|
||||
trigger:{global:'dyingAfter'},
|
||||
filter:function(event,player){
|
||||
return player.storage.qingxian&&player.storage.qingxian>0&&!_status.dying.length;
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.storage.qingxian--;
|
||||
player.chooseTarget(get.prompt('qingxian'),function(card,player,target){
|
||||
return target!=player;
|
||||
}).set('ai',function(target){
|
||||
var att=get.attitude(_status.event.player,target);
|
||||
if(target.isHealthy()&&att>0) return 0;
|
||||
if(target.hp==1&&att!=0){
|
||||
if(att>0) return 9;
|
||||
else return 10;
|
||||
}
|
||||
else{
|
||||
return Math.sqrt(Math.abs(att));
|
||||
}
|
||||
}).set('prompt2','当你回复体力后,你可以令一名其他角色执行一项:失去1点体力,随机使用一张装备牌;回复1点体力,弃置一张装备牌。若其以此法使用或弃置的牌为梅花,你回复1点体力');
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
player.logSkill('qingxian',target);
|
||||
event.insert(lib.skill.qingxian.content_choose,{target:target,player:player});
|
||||
}
|
||||
'step 2'
|
||||
if(lib.skill.qingxian_dying.filter(trigger,player)) event.goto(0);
|
||||
}
|
||||
},
|
||||
rouhe:{
|
||||
audio:'qingxian',
|
||||
trigger:{player:'recoverEnd'},
|
||||
direct:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
if(_status.dying.length){
|
||||
if(!player.storage.qingxian) player.storage.qingxian=0;
|
||||
player.storage.qingxian++;
|
||||
event.finish();
|
||||
return;
|
||||
}
|
||||
player.chooseTarget(get.prompt('qingxian'),function(card,player,target){
|
||||
return target!=player;
|
||||
}).set('ai',function(target){
|
||||
|
@ -2148,10 +2187,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
intro:{
|
||||
content:'info'
|
||||
},
|
||||
trigger:{player:'recoverEnd'},
|
||||
trigger:{
|
||||
player:'recoverEnd',
|
||||
global:'dyingAfter',
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
if(_status.dying.length){
|
||||
if(event.triggername=='recoverEnd'){
|
||||
if(!player.storage.juexiang_lie) player.storage.juexiang_lie=0;
|
||||
player.storage.juexiang_lie++;
|
||||
}
|
||||
event.finish();
|
||||
return;
|
||||
}
|
||||
if(event.triggername=='dyingAfter'){
|
||||
if(!player.storage.juexiang_lie){
|
||||
event.finish();
|
||||
return;
|
||||
};
|
||||
player.storage.juexiang_lie--;
|
||||
}
|
||||
player.chooseTarget(get.prompt2('juexiang_lie'),function(card,player,target){
|
||||
return target!=player;
|
||||
}).set('ai',function(target){
|
||||
|
@ -2169,6 +2226,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
target.chooseUseTarget(card,true,'noanimate','nopopup',true);
|
||||
}
|
||||
}
|
||||
if(event.triggername=='dyingAfter'&&player.storage.juexiang_lie>0) event.goto(0);
|
||||
}
|
||||
},
|
||||
rou:{
|
||||
|
@ -4830,15 +4888,24 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
xianzhen2:{
|
||||
mod:{
|
||||
targetInRange:function(card,player,target,now){
|
||||
if(player.storage.xianzhen==target) return true;
|
||||
targetInRange:function(card,player,target){
|
||||
if(target==player.storage.xianzhen) return true;
|
||||
},
|
||||
cardUsable:function(card,player,num){
|
||||
if(card.name=='sha') return Infinity;
|
||||
if(card.name=='sha'&&typeof num=='number') return num+100;
|
||||
},
|
||||
playerEnabled:function(card,player,target){
|
||||
if(card.name=='sha'&&player.storage.xianzhen!=target&&!ui.selected.targets.contains(player.storage.xianzhen)){
|
||||
var num=player.getCardUsable(card)-100;
|
||||
if(num<=0) return false;
|
||||
}
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
unequip:true
|
||||
unequip:true,
|
||||
skillTagFilter:function(player,tag,arg){
|
||||
if(arg.target!=player.storage.xianzhen) return false;
|
||||
},
|
||||
}
|
||||
},
|
||||
xianzhen3:{
|
||||
|
@ -8797,6 +8864,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
logTarget:'player',
|
||||
check:function(event,player){
|
||||
if(event.getParent().excluded.contains(player)) return false;
|
||||
if(get.attitude(player,event.player)>0){
|
||||
return false;
|
||||
}
|
||||
|
@ -10852,7 +10920,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
jieyue4:'节钺',
|
||||
jieyue_info:'结束阶段开始时,你可以弃置一张手牌,然后令一名其他角色选择一项:将一张牌置于你的武将牌上;或令你弃置其一张牌。你武将牌上有牌时,你可以将红色手牌当【闪】、黑色的手牌当【无懈可击】使用或打出。准备阶段开始时,你获得你武将牌上的牌。',
|
||||
xianzhen:'陷阵',
|
||||
xianzhen_info:'出牌阶段,你可以与一名角色拼点。若你赢,你获得以下技能直到回合结束:无视与该角色的距离;无视防具且可使用任意数量的【杀】。若你没赢,你不能使用【杀】直到回合结束。每回合限一次',
|
||||
xianzhen_info:'出牌阶段,你可以与一名角色拼点。若你赢,你获得以下效果直到回合结束:无视与该角色的距离;无视该角色的防具且可对其使用任意数量的【杀】。若你没赢,你不能使用【杀】直到回合结束。每回合限一次',
|
||||
jinjiu:'禁酒',
|
||||
jinjiu_info:'锁定技,你的【酒】均视为【杀】',
|
||||
chunlao:'醇醪',
|
||||
|
|
Loading…
Reference in New Issue