This commit is contained in:
parent
6f3c9d1858
commit
bd20ede16d
|
@ -1357,7 +1357,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
var source=enemies.randomGet();
|
||||
source.line(player);
|
||||
source.addExpose(0.1);
|
||||
player.damage(source);
|
||||
player.damage(source,'nocard');
|
||||
player.recover();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -645,15 +645,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.chooseCard('选择任意张手牌与星交换',[1,player.countCards('h')]).ai=function(card){
|
||||
return 1;
|
||||
player.chooseCard('选择任意张手牌与“星”交换',[1,Math.min(player.countCards('h'),player.storage.qixing.length)]).ai=function(card){
|
||||
var val=get.value(card);
|
||||
if(val<0) return 10;
|
||||
if(player.skipList.contains('phaseUse')){
|
||||
return val;
|
||||
}
|
||||
return -val;
|
||||
};
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.logSkill('qixing');
|
||||
player.lose(result.cards,ui.special)._triggered=null;
|
||||
player.storage.qixing=player.storage.qixing.concat(result.cards);
|
||||
game.addVideo('storage',player,['qixing',get.cardsInfo(player.storage.qixing),'cards']);
|
||||
player.syncStorage('qixing');
|
||||
event.num=result.cards.length;
|
||||
}
|
||||
else{
|
||||
|
@ -661,12 +666,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
"step 2"
|
||||
player.chooseCardButton(player.storage.qixing,'选择'+event.num+'张牌作为手牌',event.num,true).ai=function(button){
|
||||
if(player.skipList.contains('phaseUse')&&button.link!='du'){
|
||||
return -get.value(button.link);
|
||||
var val=get.value(button.link);
|
||||
if(val<0) return -10;
|
||||
if(player.skipList.contains('phaseUse')){
|
||||
return -val;
|
||||
}
|
||||
return get.value(button.link);
|
||||
return val;
|
||||
}
|
||||
if(player==game.me&&_status.auto){
|
||||
if(player==game.me&&!event.isMine()){
|
||||
game.delay(0.5);
|
||||
}
|
||||
"step 3"
|
||||
|
@ -674,7 +681,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
for(var i=0;i<result.links.length;i++){
|
||||
player.storage.qixing.remove(result.links[i]);
|
||||
}
|
||||
game.addVideo('storage',player,['qixing',get.cardsInfo(player.storage.qixing),'cards']);
|
||||
player.syncStorage('qixing');
|
||||
if(player==game.me&&_status.auto){
|
||||
game.delay(0.5);
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
|
||||
gw_airuiting:['male','wei',4,['kuanglie']],
|
||||
gw_laduoweide:['male','wei',4,['gwxiaoshou']],
|
||||
gw_dagong:['male','qun',4,['tianbian']],
|
||||
gw_dagong:['male','qun',4,['gwtianbian']],
|
||||
|
||||
gw_bulanwang:['male','qun',4,['bolang']],
|
||||
gw_kuite:['male','qun',4,['gwxuezhan']],
|
||||
|
@ -1877,7 +1877,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
}
|
||||
},
|
||||
tianbian:{
|
||||
gwtianbian:{
|
||||
trigger:{player:'phaseUseBegin'},
|
||||
direct:true,
|
||||
content:function(){
|
||||
|
@ -1906,10 +1906,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
player.chooseControl('选项一','选项二','cancel2',function(){
|
||||
return choice;
|
||||
}).set('prompt',get.prompt('tianbian')).set('choiceList',['随机使用一张对全场有正面效果的牌','随机使用一张对全场有负面效果的牌']);
|
||||
}).set('prompt',get.prompt('gwtianbian')).set('choiceList',['随机使用一张对全场有正面效果的牌','随机使用一张对全场有负面效果的牌']);
|
||||
'step 1'
|
||||
if(result.control!='cancel2'){
|
||||
player.logSkill('tianbian');
|
||||
player.logSkill('gwtianbian');
|
||||
var list=[];
|
||||
for(var i in lib.card){
|
||||
if(lib.inpile.contains(i)&&
|
||||
|
@ -2903,8 +2903,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
yunhuo_info:'锁定技,准备阶段,若游戏轮数为4的倍数,你令所有敌方角色随机弃置一张手牌(若没有手牌改为受到一点火焰伤害),然后在此回合结束后获得一个额外回合',
|
||||
yinzhang:'银杖',
|
||||
yinzhang_info:'出牌阶段限一次,你可以弃置一张牌,然后从3张随机亮出的银卡法术中选择一张加入手牌',
|
||||
tianbian:'天变',
|
||||
tianbian_info:'出牌阶段开始时,你可以选择一项:随机使用一张对全场有正面效果的牌;或随机使用一张对全场有负面效果的牌',
|
||||
gwtianbian:'天变',
|
||||
gwtianbian_info:'出牌阶段开始时,你可以选择一项:随机使用一张对全场有正面效果的牌;或随机使用一张对全场有负面效果的牌',
|
||||
gwxiaoshou:'枭首',
|
||||
gwxiaoshou_info:'出牌阶段限两次,你可以弃置一张牌对场上体力值最高(或之一)的一名角色造成一点伤害',
|
||||
kuanglie:'狂猎',
|
||||
|
|
|
@ -774,14 +774,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
event.directindex=result.index;
|
||||
}
|
||||
if(event.directindex==1){
|
||||
event.insert(lib.skill.wylianji.content2,{
|
||||
event.insert(lib.skill.wylianji.content_use,{
|
||||
player:player,
|
||||
target:target,
|
||||
card:card
|
||||
})
|
||||
}
|
||||
else{
|
||||
event.insert(lib.skill.wylianji.content3,{
|
||||
event.insert(lib.skill.wylianji.content_give,{
|
||||
player:target,
|
||||
card:card,
|
||||
targets:game.filterPlayer(function(current){
|
||||
|
@ -790,7 +790,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
});
|
||||
}
|
||||
},
|
||||
content2:function(){
|
||||
content_use:function(){
|
||||
'step 0'
|
||||
player.useCard(card,target);
|
||||
'step 1'
|
||||
|
@ -805,7 +805,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
target.line(player);
|
||||
}
|
||||
},
|
||||
content3:function(){
|
||||
content_give:function(){
|
||||
'step 0'
|
||||
var select=get.select(get.info(card).selectTarget);
|
||||
if(select[1]==-1){
|
||||
|
|
|
@ -672,6 +672,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
result.targets[0].gain(event.togive,'draw');
|
||||
result.targets[0].skip('phaseDraw');
|
||||
result.targets[0].addTempSkill('guijin2',{player:'phaseBegin'});
|
||||
game.log(result.targets[0],'获得了'+get.cnNumber(event.togive.length)+'张','#g“归烬”牌');
|
||||
player.line(result.targets[0],'green');
|
||||
event.goto(1);
|
||||
}
|
||||
|
@ -1505,7 +1506,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
init:function(player){
|
||||
player.storage.qixia=[];
|
||||
},
|
||||
mark:true,
|
||||
// mark:true,
|
||||
intro:{
|
||||
content:function(storage){
|
||||
if(!storage.length){
|
||||
|
@ -1526,7 +1527,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(suit){
|
||||
player.storage.qixia.add(suit);
|
||||
player.syncStorage('qixia');
|
||||
player.updateMarks();
|
||||
player.markSkill('qixia');
|
||||
}
|
||||
},
|
||||
group:'qixia_phase',
|
||||
|
@ -1542,7 +1543,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.insertPhase();
|
||||
player.storage.qixia.length=0;
|
||||
player.syncStorage('qixia');
|
||||
player.updateMarks();
|
||||
player.unmarkSkill('qixia');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -77,7 +77,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
xinxianying:['female','wei',3,['zhongjian','caishi']],
|
||||
wuxian:['female','shu',3,['fumian','daiyan']],
|
||||
xushi:['female','wu',3,['wengua','fuzhu']],
|
||||
caojie:['female','qun',3,['shouxi','huimin']],
|
||||
caojie:['female','qun',3,['shouxi','huimin']],
|
||||
|
||||
caiyong:['male','qun',3,['bizhuan','tongbo']],
|
||||
jikang:['male','wei',3,['qingxian','juexiang']],
|
||||
// xuezong:['male','wu',3,['jianzheng','zhuandui','tianbian']],
|
||||
// qinmi:['male','shu',3,['funan','jiexun']],
|
||||
},
|
||||
characterIntro:{
|
||||
huaxiong:'董卓旗下名将,自荐抵抗山东地区反对董卓的诸侯联军于汜水关前,他先后斩杀济北相鲍信之弟鲍忠和孙坚部将祖茂、以及袁术部将俞涉和韩馥手下潘凤等人,最后关东联军派出关羽与之一对一决斗而被杀。',
|
||||
|
@ -165,6 +170,488 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
liuchen:['liushan'],
|
||||
},
|
||||
skill:{
|
||||
qingxian:{
|
||||
group:['qingxian_jilie','qingxian_rouhe'],
|
||||
subSkill:{
|
||||
rouhe:{
|
||||
trigger:{player:'recoverEnd'},
|
||||
direct:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
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});
|
||||
|
||||
}
|
||||
}
|
||||
},
|
||||
jilie:{
|
||||
trigger:{player:'damageEnd'},
|
||||
filter:function(event,player){
|
||||
return event.source&&event.source.isIn()&&event.source!=player;
|
||||
},
|
||||
check:function(event,player){
|
||||
if(get.attitude(player,event.source)>0&&event.source.isHealthy()){
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
},
|
||||
logTarget:'source',
|
||||
prompt2:'当你受到伤害后,你可以令伤害来源执行一项:失去1点体力,随机使用一张装备牌;回复1点体力,弃置一张装备牌。若其以此法使用或弃置的牌为梅花,你回复1点体力',
|
||||
content:function(){
|
||||
event.insert(lib.skill.qingxian.content_choose,{target:trigger.source,player:player});
|
||||
}
|
||||
}
|
||||
},
|
||||
content_choose:function(){
|
||||
'step 0'
|
||||
var index;
|
||||
if(get.attitude(player,target)>0){
|
||||
if(target.isHealthy()){
|
||||
index=0;
|
||||
}
|
||||
else{
|
||||
index=1;
|
||||
}
|
||||
}
|
||||
else{
|
||||
if(target.isHealthy()&&target.countCards('e')){
|
||||
index=1;
|
||||
}
|
||||
else{
|
||||
index=0;
|
||||
}
|
||||
}
|
||||
player.chooseControlList(
|
||||
['令'+get.translation(target)+'失去1点体力,随机使用一张装备牌',
|
||||
'令'+get.translation(target)+'回复1点体力,弃置一张装备牌'],
|
||||
true,function(event,player){
|
||||
return _status.event.index;
|
||||
}).set('index',index);
|
||||
'step 1'
|
||||
if(result.index==0){
|
||||
target.loseHp();
|
||||
event.card=get.cardPile(function(card){
|
||||
return get.type(card)=='equip';
|
||||
});
|
||||
if(event.card){
|
||||
target.equip(event.card,true).set('delay',true);
|
||||
event.goto(3);
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
}
|
||||
}
|
||||
else{
|
||||
target.recover();
|
||||
if(target.countCards('he',{type:'equip'})){
|
||||
target.chooseToDiscard('he',true,'弃置一张装备牌',function(card){
|
||||
return get.type(card)=='equip';
|
||||
}).set('ai',function(card){
|
||||
var val=-get.value(card);
|
||||
if(get.suit(card)=='club'){
|
||||
val+=_status.event.att*10;
|
||||
}
|
||||
return val;
|
||||
}).set('att',get.sgnAttitude(target,player));
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
}
|
||||
}
|
||||
'step 2'
|
||||
if(result&&result.cards){
|
||||
event.card=result.cards[0];
|
||||
}
|
||||
'step 3'
|
||||
if(event.card&&get.suit(event.card)=='club'){
|
||||
player.recover();
|
||||
}
|
||||
}
|
||||
},
|
||||
juexiang:{
|
||||
trigger:{player:'dieBegin'},
|
||||
direct:true,
|
||||
skillAnimation:true,
|
||||
animationColor:'thunder',
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseTarget(get.prompt('juexiang'),function(card,player,target){
|
||||
return target!=player;
|
||||
}).set('ai',function(target){
|
||||
return get.attitude(_status.event.player,target)/Math.sqrt(target.hp+1);
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var target=result.targets[0]
|
||||
player.logSkill('juexiang',target);
|
||||
target.addSkill(lib.skill.juexiang.derivation.randomGet());
|
||||
target.addTempSkill('juexiang_club',{player:'phaseBegin'});
|
||||
}
|
||||
},
|
||||
derivation:['juexiang_ji','juexiang_lie','juexiang_rou','juexiang_he'],
|
||||
subSkill:{
|
||||
ji:{
|
||||
mark:true,
|
||||
nopop:true,
|
||||
intro:{
|
||||
content:'info'
|
||||
},
|
||||
trigger:{player:'damageEnd'},
|
||||
filter:function(event,player){
|
||||
return event.source&&event.source.isIn()&&event.source!=player;
|
||||
},
|
||||
check:function(event,player){
|
||||
return get.attitude(player,event.source)<0;
|
||||
},
|
||||
logTarget:'source',
|
||||
content:function(){
|
||||
trigger.source.loseHp();
|
||||
var card=get.cardPile(function(card){
|
||||
return get.type(card)=='equip';
|
||||
});
|
||||
if(card){
|
||||
trigger.source.equip(card,true).set('delay',true);
|
||||
}
|
||||
}
|
||||
},
|
||||
lie:{
|
||||
mark:true,
|
||||
nopop:true,
|
||||
intro:{
|
||||
content:'info'
|
||||
},
|
||||
trigger:{player:'recoverEnd'},
|
||||
direct:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseTarget(get.prompt2('juexiang_lie'),function(card,player,target){
|
||||
return target!=player;
|
||||
}).set('ai',function(target){
|
||||
return -get.attitude(player,target)/(1+target.hp);
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
player.logSkill('juexiang_lie',target);
|
||||
target.loseHp();
|
||||
var card=get.cardPile(function(card){
|
||||
return get.type(card)=='equip';
|
||||
});
|
||||
if(card){
|
||||
target.equip(card,true).set('delay',true);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
rou:{
|
||||
mark:true,
|
||||
nopop:true,
|
||||
intro:{
|
||||
content:'info'
|
||||
},
|
||||
trigger:{player:'damageEnd'},
|
||||
filter:function(event,player){
|
||||
return event.source&&event.source.isIn()&&event.source!=player;
|
||||
},
|
||||
check:function(event,player){
|
||||
var att=get.attitude(player,event.source);
|
||||
if(player.isHealthy()){
|
||||
return att<0;
|
||||
}
|
||||
else{
|
||||
return att>0
|
||||
}
|
||||
},
|
||||
logTarget:'source',
|
||||
content:function(){
|
||||
trigger.source.recover();
|
||||
if(trigger.source.countCards('he',{type:'equip'})){
|
||||
trigger.source.chooseToDiscard('he',true,'弃置一张装备牌',function(card){
|
||||
return get.type(card)=='equip';
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
he:{
|
||||
mark:true,
|
||||
nopop:true,
|
||||
intro:{
|
||||
content:'info'
|
||||
},
|
||||
trigger:{player:'recoverEnd'},
|
||||
direct:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseTarget(get.prompt2('juexiang_he'),function(card,player,target){
|
||||
return target!=player;
|
||||
}).set('ai',function(target){
|
||||
var att=get.attitude(_status.event.player,target);
|
||||
if(target.isHealthy()&&target.countCards('he')){
|
||||
return -att;
|
||||
}
|
||||
else{
|
||||
return 10*att/(1+target.hp);
|
||||
}
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
player.logSkill('juexiang_he',target);
|
||||
target.recover();
|
||||
if(target.countCards('he',{type:'equip'})){
|
||||
target.chooseToDiscard('he',true,'弃置一张装备牌',function(card){
|
||||
return get.type(card)=='equip';
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
club:{
|
||||
mark:true,
|
||||
nopop:true,
|
||||
intro:{
|
||||
content:'info'
|
||||
},
|
||||
mod:{
|
||||
targetEnabled:function(card,player,target){
|
||||
if(get.suit(card)=='club'&&player!=target){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
bizhuan:{
|
||||
trigger:{player:'useCardAfter',target:'useCardToBegin'},
|
||||
filter:function(event,player){
|
||||
if(event.name!='useCard'&&event.player==event.target) return false;
|
||||
if(player.storage.bizhuan.length>=4) return false;
|
||||
return get.suit(event.card)=='spade';
|
||||
},
|
||||
init:function(player){
|
||||
player.storage.bizhuan=[];
|
||||
},
|
||||
intro:{
|
||||
content:'cards'
|
||||
},
|
||||
frequent:true,
|
||||
content:function(){
|
||||
var card=get.cards()[0];
|
||||
ui.special.appendChild(card);
|
||||
player.$draw(card);
|
||||
game.delay();
|
||||
player.storage.bizhuan.push(card);
|
||||
player.markSkill('bizhuan');
|
||||
},
|
||||
mod:{
|
||||
maxHandcard:function(player,num){
|
||||
return num+player.storage.bizhuan.length;
|
||||
}
|
||||
}
|
||||
},
|
||||
tongbo:{
|
||||
trigger:{player:'phaseDrawAfter'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return player.storage.bizhuan&&player.storage.bizhuan.length&&event.num>0;
|
||||
},
|
||||
locked:false,
|
||||
content:function(){
|
||||
"step 0"
|
||||
var four=false;
|
||||
var nofour=!player.hasFriend();
|
||||
if(player.storage.bizhuan.length==4){
|
||||
var suits=['club','spade','heart','diamond'];
|
||||
var list=player.getCards('h').concat(player.storage.bizhuan);
|
||||
for(var i=0;i<list.length;i++){
|
||||
suits.remove(get.suit(list[i]));
|
||||
if(suits.length==0){
|
||||
four=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
var suits2=[];
|
||||
if(four){
|
||||
suits2=['club','spade','heart','diamond'];
|
||||
for(var i=0;i<player.storage.bizhuan.length;i++){
|
||||
suits2.remove(get.suit(player.storage.bizhuan[i]));
|
||||
}
|
||||
}
|
||||
player.chooseCard('选择任意张手牌与“书”交换',[1,Math.min(player.countCards('h'),player.storage.bizhuan.length)]).set('ai',function(card){
|
||||
var val=get.value(card);
|
||||
if(_status.event.four&&!_status.event.nofour){
|
||||
var suits=_status.event.suits2.slice(0);
|
||||
for(var i=0;i<ui.selected.cards.length;i++){
|
||||
suits.remove(get.suit(ui.selected.cards[i]));
|
||||
}
|
||||
if(suits.contains(get.suit(card))){
|
||||
if(val<0) return 10;
|
||||
return 1;
|
||||
}
|
||||
else{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else{
|
||||
if(val<0) return 10;
|
||||
if(_status.event.player.skipList.contains('phaseUse')){
|
||||
return val;
|
||||
}
|
||||
return 10-val;
|
||||
}
|
||||
}).set('four',four).set('suits2',suits2).set('nofour',nofour);
|
||||
event.four=four;
|
||||
event.nofour=nofour;
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.logSkill('tongbo');
|
||||
player.lose(result.cards,ui.special)._triggered=null;
|
||||
player.storage.bizhuan=player.storage.bizhuan.concat(result.cards);
|
||||
player.syncStorage('bizhuan');
|
||||
event.num=result.cards.length;
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
}
|
||||
"step 2"
|
||||
var suits2={
|
||||
heart:0,
|
||||
diamond:0,
|
||||
spade:0,
|
||||
club:0
|
||||
};
|
||||
for(var i=0;i<player.storage.bizhuan.length;i++){
|
||||
suits2[get.suit(player.storage.bizhuan[i])]++;
|
||||
}
|
||||
player.chooseCardButton(player.storage.bizhuan,'选择'+event.num+'张牌作为手牌',event.num,true).set('ai',function(button){
|
||||
var val=get.value(button.link);
|
||||
if(_status.event.four||_status.event.nofour){
|
||||
var suits=get.copy(_status.event.suits2);
|
||||
for(var i=0;i<ui.selected.buttons.length;i++){
|
||||
suits[get.suit(ui.selected.buttons[i].link)]--;
|
||||
}
|
||||
var num=suits[get.suit(button.link)];
|
||||
if(_status.event.nofour){
|
||||
for(var i in suits){
|
||||
if(suits[i]==0) return val;
|
||||
}
|
||||
if(num!=2){
|
||||
if(val<=0) return 0.01;
|
||||
return val;
|
||||
}
|
||||
else{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else{
|
||||
if(num>1){
|
||||
if(val<=0) return 0.01;
|
||||
return val;
|
||||
}
|
||||
else{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
if(val<0) return -10;
|
||||
if(_status.event.player.skipList.contains('phaseUse')){
|
||||
return -val;
|
||||
}
|
||||
return val;
|
||||
}
|
||||
}).set('four',event.four).set('suits2',suits2).set('nofour',event.nofour);
|
||||
if(player==game.me&&!event.isMine()){
|
||||
game.delay(0.5);
|
||||
}
|
||||
"step 3"
|
||||
player.gain(result.links)._triggered=null;
|
||||
for(var i=0;i<result.links.length;i++){
|
||||
player.storage.bizhuan.remove(result.links[i]);
|
||||
}
|
||||
player.syncStorage('bizhuan');
|
||||
if(player==game.me&&_status.auto){
|
||||
game.delay(0.5);
|
||||
}
|
||||
"step 4"
|
||||
suits2=['club','spade','heart','diamond'];
|
||||
for(var i=0;i<player.storage.bizhuan.length;i++){
|
||||
suits2.remove(get.suit(player.storage.bizhuan[i]));
|
||||
}
|
||||
if(suits2.length>0){
|
||||
event.finish();
|
||||
}
|
||||
"step 5"
|
||||
event.cards=player.storage.bizhuan.slice(0);
|
||||
player.storage.bizhuan.length=0;
|
||||
player.unmarkSkill('bizhuan');
|
||||
"step 6"
|
||||
if(event.cards.length>1){
|
||||
player.chooseCardButton('将所有“书”交给任意名其他角色',true,event.cards,[1,event.cards.length]).set('ai',function(button){
|
||||
if(ui.selected.buttons.length==0) return 1;
|
||||
return 0;
|
||||
});
|
||||
}
|
||||
else if(event.cards.length==1){
|
||||
event._result={links:event.cards.slice(0),bool:true};
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
}
|
||||
"step 7"
|
||||
if(result.bool){
|
||||
for(var i=0;i<result.links.length;i++){
|
||||
event.cards.remove(result.links[i]);
|
||||
}
|
||||
event.togive=result.links.slice(0);
|
||||
player.chooseTarget('将'+get.translation(result.links)+'交给一名其他角色',true,function(card,player,target){
|
||||
return target!=player;
|
||||
}).set('ai',function(target){
|
||||
var att=get.attitude(_status.event.player,target);
|
||||
if(_status.event.enemy){
|
||||
return -att;
|
||||
}
|
||||
else if(att>0){
|
||||
return att/(1+target.countCards('h'));
|
||||
}
|
||||
else{
|
||||
return att/100;
|
||||
}
|
||||
}).set('enemy',get.value(event.togive[0])<0);
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
}
|
||||
"step 8"
|
||||
if(result.targets.length){
|
||||
result.targets[0].gain(event.togive,'draw');
|
||||
player.line(result.targets[0],'green');
|
||||
game.log(result.targets[0],'获得了'+get.cnNumber(event.togive.length)+'张','#g“书”');
|
||||
event.goto(6);
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
combo:'bizhuan'
|
||||
}
|
||||
},
|
||||
shouxi:{
|
||||
trigger:{target:'shaBefore'},
|
||||
direct:true,
|
||||
|
@ -8212,7 +8699,41 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
wuxian:'吴苋',
|
||||
xushi:'徐氏',
|
||||
caojie:'曹节',
|
||||
xuezong:'薛综',
|
||||
jikang:'嵇康',
|
||||
qinmi:'秦宓',
|
||||
caiyong:'蔡邕',
|
||||
|
||||
bizhuan:'辟撰',
|
||||
bizhuan_bg:'书',
|
||||
bizhuan_info:'当你使用黑桃牌后,或你成为其他角色使用黑桃牌的目标后,你可以将牌堆顶的一张牌置于武将牌上,称为“书”;你至多拥有四张“书”,你每有一张“书” ,手牌上限+1',
|
||||
tongbo:'通博',
|
||||
tongbo_info:'摸牌阶段摸牌后,你可以用任意张牌替换等量的“书”,然后若你的“书”包含四种花色,你将所有“书”交给任意名其他角色',
|
||||
qingxian:'清弦',
|
||||
qingxian_info:'当你受到伤害/回复体力后,你可以令伤害来源/一名其他角色执行一项:失去1点体力,随机使用一张装备牌;回复1点体力,弃置一张装备牌。若其以此法使用或弃置的牌为梅花,你回复1点体力',
|
||||
juexiang:'绝响',
|
||||
juexiang_info:'当你死亡后,你可以令一名角色随机获得“清弦残谱”其中一个技能,然后直到其下回合开始,其不能被选择为其他角色使用梅花牌的目标',
|
||||
juexiang_ji:'激弦',
|
||||
juexiang_ji_info:'当你受到伤害后,你可以令伤害来源失去1点体力,随机使用一张装备',
|
||||
juexiang_lie:'烈弦',
|
||||
juexiang_lie_info:'当你回复体力后,你可以令一名其他角色失去1点体力,随机使用一张装备',
|
||||
juexiang_rou:'柔弦',
|
||||
juexiang_rou_info:'当你受到伤害后,你可以令伤害来源回复1点体力,弃置一张装备',
|
||||
juexiang_he:'和弦',
|
||||
juexiang_he_info:'当你回复体力后,你可以令一名其他角色回复1点体力,弃置一张装备',
|
||||
juexiang_club:'绝响',
|
||||
juexiang_club_bg:'响',
|
||||
juexiang_club_info:'直到下回合开始,不能被选择为其他角色使用梅花牌的目标',
|
||||
jianzheng:'谏征',
|
||||
jianzheng_info:'当一名其他角色使用【杀】指定目标时,若你在其攻击范围内且你不是目标,则你可以将一张手牌置于牌堆顶,取消所有目标,然后若此【杀】不为黑色,你成为目标',
|
||||
zhuandui:'专对',
|
||||
zhuandui_info:'当你使用【杀】指定目标/成为【杀】的目标后,你可以与目标角色/此【杀】使用者拼点,若你赢,此杀不能被【闪】响应/对你无效',
|
||||
tianbian:'天辩',
|
||||
tianbian_info:'你拼点时,可以改为用牌堆顶的一张牌进行拼点;当你拼点的牌亮出后,若此牌花色为红桃,则点数视为K',
|
||||
funan:'复难',
|
||||
funan_info:'其他角色使用或打出牌响应你使用的牌时,你可令其获得你使用的牌(其本回合不能使用或打出这张牌),然后你获得其使用或打出的牌',
|
||||
jiexun:'诫训',
|
||||
jiexun_info:'结束阶段,你可令一名其他角色摸等同于场上方块牌数的牌,然后弃置X张牌(X为此前该技能发动过的次数)。若有角色因此法弃置了所有牌,则你失去“诫训”,然后你发动“复难”时,无须令其获得你使用的牌',
|
||||
shouxi:'守玺',
|
||||
shouxi_info:'当你成为【杀】的目标后,你可声明一种未以此法声明过的基本牌或锦囊牌的牌名。若使用者弃置一张你声明的牌,其获得你的一张牌;若否,则此【杀】对你无效',
|
||||
huimin:'惠民',
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
window.noname_asset_list=[
|
||||
'1.9.39',
|
||||
'1.9.40',
|
||||
'image/background/huangtian_bg.jpg',
|
||||
'image/background/ol_bg.jpg',
|
||||
'image/background/september_bg.jpg',
|
||||
|
@ -305,6 +305,7 @@ window.noname_asset_list=[
|
|||
'image/character/buzhi.jpg',
|
||||
'image/character/caifuren.jpg',
|
||||
'image/character/caiwenji.jpg',
|
||||
'image/character/caiyong.jpg',
|
||||
'image/character/caoang.jpg',
|
||||
'image/character/caocao.jpg',
|
||||
'image/character/caochong.jpg',
|
||||
|
@ -560,6 +561,7 @@ window.noname_asset_list=[
|
|||
'image/character/jiangwei.jpg',
|
||||
'image/character/jianyong.jpg',
|
||||
'image/character/jiaxu.jpg',
|
||||
'image/character/jikang.jpg',
|
||||
'image/character/jiling.jpg',
|
||||
'image/character/jsp_guanyu.jpg',
|
||||
'image/character/jsp_huangyueying.jpg',
|
||||
|
@ -681,6 +683,7 @@ window.noname_asset_list=[
|
|||
'image/character/pangde.jpg',
|
||||
'image/character/pangtong.jpg',
|
||||
'image/character/panzhangmazhong.jpg',
|
||||
'image/character/qinmi.jpg',
|
||||
'image/character/quancong.jpg',
|
||||
'image/character/quyi.jpg',
|
||||
'image/character/re_caocao.jpg',
|
||||
|
@ -862,6 +865,7 @@ window.noname_asset_list=[
|
|||
'image/character/xin_yujin.jpg',
|
||||
'image/character/xinxianying.jpg',
|
||||
'image/character/xizhicai.jpg',
|
||||
'image/character/xuezong.jpg',
|
||||
'image/character/xuhuang.jpg',
|
||||
'image/character/xunyou.jpg',
|
||||
'image/character/xunyu.jpg',
|
||||
|
|
18
game/game.js
18
game/game.js
|
@ -9254,6 +9254,9 @@
|
|||
if(typeof info.prompt2=='function'){
|
||||
next.prompt2=info.prompt2(trigger,player);
|
||||
}
|
||||
else if(typeof info.prompt2=='string'){
|
||||
next.prompt2=info.prompt2;
|
||||
}
|
||||
else if(info.prompt2!=false&&lib.translate[event.skill+'_info']){
|
||||
next.prompt2=lib.translate[event.skill+'_info'];
|
||||
}
|
||||
|
@ -12888,6 +12891,9 @@
|
|||
if(info.equipDelay!='false') game.delayx();
|
||||
}
|
||||
delete player.equiping;
|
||||
if(event.delay){
|
||||
game.delayx();
|
||||
}
|
||||
},
|
||||
addJudge:function(){
|
||||
"step 0"
|
||||
|
@ -19474,6 +19480,11 @@
|
|||
}
|
||||
}
|
||||
else{
|
||||
if(typeof key!='string'){
|
||||
console.log('warning: using non-string object as event key');
|
||||
console.log(key,value);
|
||||
console.log(_status.event);
|
||||
}
|
||||
this[key]=value;
|
||||
this._set.push([key,value]);
|
||||
}
|
||||
|
@ -41931,6 +41942,10 @@
|
|||
if(!info) return 0;
|
||||
if(info.ai){
|
||||
if(info.ai.halfneg) return 0;
|
||||
if(typeof info.ai.combo=='string'&&_status.event.player&&
|
||||
!_status.event.player.hasSkill(info.ai.combo)){
|
||||
return 0;
|
||||
}
|
||||
if(info.ai.neg) return -1;
|
||||
}
|
||||
return 1;
|
||||
|
@ -43029,6 +43044,9 @@
|
|||
}
|
||||
return '未发动';
|
||||
}
|
||||
case 'info':{
|
||||
return lib.translate[skill+'_info'];
|
||||
}
|
||||
case 'cardCount':{
|
||||
if(typeof content=='object'&&typeof content.length=='number'){
|
||||
return '共有'+get.cnNumber(content.length)+'张牌';
|
||||
|
|
|
@ -3,9 +3,9 @@ window.noname_update={
|
|||
// update:'1.9.38.1',
|
||||
changeLog:[
|
||||
'原7武将、新张宝',
|
||||
'诸侯伐董、神之试炼',
|
||||
'武将称号',
|
||||
'bug修复(父魂、截辎、穿心、先辅、魔箭、鹰扬、闪袭、伏骑、机关牌)'
|
||||
// '诸侯伐董、神之试炼',
|
||||
// '武将称号',
|
||||
'bug修复'
|
||||
],
|
||||
files:[
|
||||
// 'game/game.js',
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 57 KiB |
Binary file not shown.
After Width: | Height: | Size: 59 KiB |
Binary file not shown.
After Width: | Height: | Size: 56 KiB |
Binary file not shown.
After Width: | Height: | Size: 41 KiB |
Loading…
Reference in New Issue