辛笨改改改
This commit is contained in:
parent
4042ece7ac
commit
70c7b38f16
|
@ -880,6 +880,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
['diamond',13,'sha'],
|
||||
['diamond',13,'zixin'],
|
||||
['diamond',13,'hualiu'],
|
||||
|
||||
['diamond',5,'muniu'],
|
||||
],
|
||||
help:{
|
||||
'应变篇':('<div style="margin:10px">应变机制</div><ul style="margin-top:0">'+
|
||||
|
|
|
@ -1057,7 +1057,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
for(var k of array){
|
||||
numx+=get.number(k);
|
||||
}
|
||||
if(numx==13) list.push(array);
|
||||
if(numx==num) list.push(array);
|
||||
}
|
||||
if(list.length){
|
||||
list.sort(function(a,b){
|
||||
|
|
|
@ -992,13 +992,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
delete player.storage.jinglve2;
|
||||
delete player.storage.jinglve3;
|
||||
},
|
||||
trigger:{global:['dieEnd','loseAfter']},
|
||||
trigger:{global:['dieEnd','loseEnd','gainEnd']},
|
||||
silent:true,
|
||||
lastDo:true,
|
||||
charlotte:true,
|
||||
filter:function(event,player){
|
||||
if(event.player!=player.storage.jinglve2) return false;
|
||||
return event.name=='die'||(event.cards.contains(player.storage.jinglve3)&&event.getParent().name!='useCard');
|
||||
if(event.name!='gain'&&event.player!=player.storage.jinglve2) return false;
|
||||
return event.name=='die'||(event.cards.contains(player.storage.jinglve3)&&(event.name=='gain'||event.position!=ui.ordering));
|
||||
},
|
||||
content:function(){
|
||||
player.removeSkill('jinglve2');
|
||||
|
@ -1007,9 +1007,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
jinglve3:{
|
||||
audio:'jinglve',
|
||||
trigger:{global:['loseAfter','useCard','phaseAfter']},
|
||||
trigger:{global:['loseAfter','useCard','phaseAfter','cardsDiscardAfter']},
|
||||
filter:function(event,player){
|
||||
if(event.player!=player.storage.jinglve2) return false;
|
||||
if(event.player&&event.player!=player.storage.jinglve2) return false;
|
||||
if(event.name=='phase') return event.player.getCards('hej').contains(player.storage.jinglve3);
|
||||
if(!event.cards.contains(player.storage.jinglve3)) return false;
|
||||
return event.name=='useCard'||get.position(player.storage.jinglve3,true)=='d';
|
||||
|
@ -2082,6 +2082,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
ui.create.dialog(str).videoId=id;
|
||||
};
|
||||
var chooseButton=function(list){
|
||||
var roundmenu=false;
|
||||
if(ui.roundmenu&&ui.roundmenu.display!='none'){
|
||||
roundmenu=true;
|
||||
ui.roundmenu.style.display='none';
|
||||
}
|
||||
var event=_status.event;
|
||||
event.settleed=false;
|
||||
event.finishedx=[];
|
||||
|
@ -2090,7 +2095,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
event.zhengjing_nodes=[];
|
||||
event.map=[];
|
||||
event.dialog=ui.create.dialog('forcebutton','hidden');
|
||||
event.dialog.textPrompt=event.dialog.addText('及时点击卡牌,但不要点到毒了!');
|
||||
event.dialog.textPrompt=event.dialog.add('<div class="text center">及时点击卡牌,但不要点到毒了!</div>');
|
||||
event.switchToAuto=function(){
|
||||
event._result={
|
||||
bool:true,
|
||||
|
@ -2099,6 +2104,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
event.dialog.close();
|
||||
game.resume();
|
||||
_status.imchoosing=false;
|
||||
if(roundmenu) ui.roundmenu.style.display='';
|
||||
};
|
||||
event.dialog.classList.add('fixed');
|
||||
event.dialog.classList.add('scroll1');
|
||||
|
@ -2112,11 +2118,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
event.settleed=true;
|
||||
if(du){
|
||||
if(lib.config.background_speak) game.playAudio('skill','zhengjing_boom');
|
||||
event.dialog.textPrompt.innerHTML=' <br>叫你别点毒你非得点 这下翻车了吧';
|
||||
event.dialog.textPrompt.innerHTML='<div class="text center">叫你别点毒你非得点 这下翻车了吧</div>';
|
||||
}
|
||||
else {
|
||||
if(lib.config.background_speak) game.playAudio('skill','zhengjing_finish');
|
||||
event.dialog.textPrompt.innerHTML=' <br>整理经典结束!共整理出'+get.cnNumber(event.finishedx.length)+'份经典';
|
||||
event.dialog.textPrompt.innerHTML='<div class="text center">整理经典结束!共整理出'+get.cnNumber(event.finishedx.length)+'份经典</div>';
|
||||
}
|
||||
while(event.zhengjing_nodes.length){
|
||||
event.zhengjing_nodes.shift().delete();
|
||||
|
@ -3693,6 +3699,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
ai2:function(target){
|
||||
var att=get.attitude(_status.event.player,target);
|
||||
if(target.hasSkillTag('nogain')) att/=10;
|
||||
if(target.hasJudge('lebu')) att/=5;
|
||||
return att;
|
||||
},
|
||||
prompt:'选择'+get.cnNumber(event.num)+'张牌,交给一名其他角色。',
|
||||
|
@ -5626,14 +5634,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
targetInRange:function(){
|
||||
return true;
|
||||
},
|
||||
aiOrder:function(player,card,num){
|
||||
var name=get.name(card);
|
||||
if(name=='tao') return num+7+Math.pow(player.getDamagedHp(),2);
|
||||
if(name=='sha') return num+6;
|
||||
if(get.subtype(card)=='equip2') return num+get.value(card)/3;
|
||||
},
|
||||
},
|
||||
trigger:{player:'useCard'},
|
||||
forced:true,
|
||||
charlotte:true,
|
||||
//audio:'kuangcai',
|
||||
silent:true,
|
||||
popup:false,
|
||||
//usable:5,
|
||||
filter:function(event,player){
|
||||
if(!player.forceCountChoose||!player.forceCountChoose.phaseUse){
|
||||
return false;
|
||||
|
@ -5650,10 +5662,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.forceCountChoose.phaseUse--;
|
||||
},player);
|
||||
},
|
||||
ai:{
|
||||
presha:true,
|
||||
pretao:true,
|
||||
},
|
||||
},
|
||||
cancel:{
|
||||
trigger:{player:'phaseUseEnd'},
|
||||
|
|
|
@ -12,14 +12,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
old_yijiang3:["liru","old_zhuran","old_fuhuanghou","old_caochong"],
|
||||
old_yijiang4:["old_caozhen","old_chenqun","old_zhuhuan"],
|
||||
old_yijiang5:["old_caoxiu","old_quancong","old_zhuzhi"],
|
||||
old_yijiang67:["ol_zhangrang","ol_liuyu","ol_xinxianying"],
|
||||
old_yijiang67:["ol_zhangrang","ol_liuyu"],
|
||||
old_sp:["old_lingju","old_maliang","old_machao","zhangliang","jsp_caoren","ol_guansuo","old_zhangxingcai","old_huangfusong","ol_maliang","old_wangyun"],
|
||||
old_mobile:["old_caochun","old_majun"],
|
||||
},
|
||||
},
|
||||
character:{
|
||||
fazheng:['male','shu',3,['enyuan','xuanhuo']],
|
||||
ol_xinxianying:['female','wei',3,['caishi','zhongjian']],
|
||||
ol_yuanshu:['male','qun',4,['wangzun','tongji']],
|
||||
pangde:['male','qun',4,['mashu','mengjin']],
|
||||
ol_huaxiong:["male","qun",6,["new_reyaowu"]],
|
||||
|
@ -790,7 +789,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
oldxuanfeng:'旋风',
|
||||
oldxuanfeng_info:'每当你失去一次装备区里的牌时,你可以执行下列两项中的一项:1.视为对任意一名其他角色使用一张【杀】(此【杀】不计入每回合的使用限制);2.对与你距离1以内的一名其他角色造成一点伤害',
|
||||
ol_yuanshu:'旧袁术',
|
||||
ol_xinxianying:'旧辛宪英',
|
||||
fazheng:'旧法正',
|
||||
|
||||
old_standard:'标准包',
|
||||
|
|
|
@ -556,7 +556,7 @@ window.noname_character_rank={
|
|||
'dianwei',
|
||||
're_lusu',
|
||||
'panjun',
|
||||
'xinxianying',
|
||||
'ol_xinxianying',
|
||||
'liubiao',
|
||||
'zhongyao',
|
||||
'liuchen',
|
||||
|
@ -792,6 +792,7 @@ window.noname_character_rank={
|
|||
'ns_caimao',
|
||||
'sp_zhangliao',
|
||||
'jin_simazhao',
|
||||
'xinxianying',
|
||||
'key_haruko',
|
||||
'key_rei',
|
||||
'key_komari',
|
||||
|
@ -860,7 +861,6 @@ window.noname_character_rank={
|
|||
'jianyong',
|
||||
'shen_zhangliao',
|
||||
'lvkai',
|
||||
'ol_xinxianying',
|
||||
'xinpi',
|
||||
'mangyachang',
|
||||
'xin_baosanniang',
|
||||
|
@ -1441,6 +1441,7 @@ window.noname_character_rank={
|
|||
'zhuzhi',
|
||||
'gongsunyuan',
|
||||
'liuyu',
|
||||
'ol_xinxianying',
|
||||
'xinxianying',
|
||||
'qinmi',
|
||||
'wuxian',
|
||||
|
@ -1559,7 +1560,6 @@ window.noname_character_rank={
|
|||
junk:[
|
||||
'sunshao',
|
||||
'duji',
|
||||
'yl_luzhi',
|
||||
'ol_guohuai',
|
||||
'gongsunzan',
|
||||
're_sunce',
|
||||
|
|
|
@ -1859,75 +1859,83 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
trigger.bottom=true;
|
||||
},
|
||||
},
|
||||
"nzry_mingren":{
|
||||
nzry_mingren:{
|
||||
audio:"nzry_mingren_1",
|
||||
init:function (player){
|
||||
if(!player.storage.nzry_mingren) player.storage.nzry_mingren=[];
|
||||
},
|
||||
marktext:"任",
|
||||
intro:{
|
||||
content:'cards',
|
||||
onunmark:function(storage,player){
|
||||
if(storage&&storage.length){
|
||||
player.$throw(storage,1000);
|
||||
game.cardsDiscard(storage);
|
||||
game.log(storage,'被置入了弃牌堆');
|
||||
player.storage.nzry_mingren.length=0;
|
||||
}
|
||||
},
|
||||
onunmark:'throw',
|
||||
},
|
||||
mark:true,
|
||||
group:["nzry_mingren_1","nzry_mingren_2"],
|
||||
subSkill:{
|
||||
'1':{
|
||||
1:{
|
||||
audio:2,
|
||||
trigger:{
|
||||
global:'gameDrawAfter',
|
||||
player:'enterGame',
|
||||
},
|
||||
forced:true,
|
||||
locked:false,
|
||||
filter:function(event,player){
|
||||
return !player.storage.nzry_mingren||!player.storage.nzry_mingren.length;
|
||||
return !player.getStorage('nzry_mingren').length;
|
||||
},
|
||||
content:function (){
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.draw();
|
||||
player.draw(2);
|
||||
'step 1'
|
||||
player.chooseCard('h','请选择一张手牌置于你的武将牌上,称为“任”',true).set('ai',function(card){
|
||||
if(!player.countCards('h')) event.finish();
|
||||
else player.chooseCard('h','将一张手牌置于武将牌上,称为“任”',true).set('ai',function(card){
|
||||
return 6-get.value(card);
|
||||
});
|
||||
'step 2'
|
||||
if(result.bool){
|
||||
player.storage.nzry_mingren.push(result.cards[0]);
|
||||
player.syncStorage('nzry_mingren');
|
||||
player.markAuto('nzry_mingren',result.cards);
|
||||
game.log(player,'将',result.cards[0],'置于其武将牌上');
|
||||
player.lose(result.cards[0],ui.special,'toStorage');
|
||||
};
|
||||
},
|
||||
},
|
||||
'2':{
|
||||
2:{
|
||||
audio:2,
|
||||
trigger:{
|
||||
player:'phaseJieshuBegin',
|
||||
},
|
||||
filter:function(event,player){
|
||||
return player.countCards('h')>0&&player.getStorage('nzry_mingren').length>0;
|
||||
},
|
||||
direct:true,
|
||||
content:function (){
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseCard('h','是否用一张手牌替换“任”?').set('ai',function(card){
|
||||
return 5-get.value(card);
|
||||
player.chooseCard('h','是否用一张手牌替换“任”('+get.translation(player.getStorage('nzry_mingren')[0])+')?').set('ai',function(card){
|
||||
var player=_status.event.player;
|
||||
var color=get.color(card);
|
||||
if(color==get.color(player.getStorage('nzry_mingren')[0])) return false;
|
||||
var num=0;
|
||||
var list=[];
|
||||
player.countCards('h',function(cardx){
|
||||
if(cardx!=card||get.color(cardx)!=color) return false;
|
||||
if(list.contains(cardx.name)) return false;
|
||||
list.push(cardx.name);
|
||||
switch(cardx.name){
|
||||
case 'wuxie':num+=(game.countPlayer()/2.2);break;
|
||||
case 'caochuan':num+=1.1;break;
|
||||
case 'shan':num+=1;break;
|
||||
}
|
||||
});
|
||||
return num*(30-get.value(card));
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
player.logSkill('nzry_mingren');
|
||||
if(player.storage.nzry_mingren!=undefined&&player.storage.nzry_mingren[0]!=undefined){
|
||||
player.gain(player.storage.nzry_mingren[0],'gain2','fromStorage');
|
||||
player.storage.nzry_mingren.remove(player.storage.nzry_mingren[0]);
|
||||
};
|
||||
player.syncStorage('nzry_mingren');
|
||||
player.storage.nzry_mingren.push(result.cards[0]);
|
||||
player.syncStorage('nzry_mingren');
|
||||
game.log(player,'将',result.cards[0],'置于其武将牌上');
|
||||
player.lose(result.cards[0],ui.special,'toStorage');
|
||||
var card=player.getStorage('nzry_mingren')[0];
|
||||
if(card){
|
||||
player.gain(card,'gain2','fromStorage');
|
||||
player.storage.nzry_mingren.remove(card);
|
||||
player.storage.nzry_mingren.push(result.cards[0]);
|
||||
player.syncStorage('nzry_mingren');
|
||||
}
|
||||
};
|
||||
},
|
||||
},
|
||||
|
@ -1941,74 +1949,70 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
mark:true,
|
||||
locked:false,
|
||||
zhuanhuanji:true,
|
||||
marktext:'贞',
|
||||
intro:{
|
||||
content:function(storage,player,skill){
|
||||
if(player.storage.nzry_zhenliang==true) return '你的回合外,当你使用或打出牌进入弃牌堆时,若此牌与“任”类型相同,则你可以令一名角色摸一张牌';
|
||||
return '出牌阶段限一次,你可以选择一名攻击范围内的其他角色,然后弃置X张与“任”颜色相同的牌并对其造成一点伤害(X为你与其的体力差且至少为1)';
|
||||
if(player.storage.nzry_zhenliang==true) return '当你于回合外使用或打出的牌结算完成后,若此牌与“任”颜色相同,则你可以令一名角色摸一张牌。';
|
||||
return '出牌阶段限一次,你可以弃置一张与“任”颜色相同的牌并对攻击范围内的一名角色造成1点伤害。';
|
||||
},
|
||||
},
|
||||
group:["nzry_zhenliang_1","nzry_zhenliang_2"],
|
||||
subSkill:{
|
||||
'1':{
|
||||
prompt:"出牌阶段限一次,你可以选择一名攻击范围内的其他角色,然后弃置X张与“任”颜色相同的牌并对其造成一点伤害(X为你与其的体力差且至少为1)",
|
||||
1:{
|
||||
prompt:'弃置一张与“任”颜色相同的牌,并对攻击范围内的一名角色造成1点伤害。',
|
||||
audio:2,
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
delay:false,
|
||||
filter:function(event,player){
|
||||
if(player.storage.nzry_zhenliang==true) return false;
|
||||
var storage=player.getStorage('nzry_mingren');
|
||||
if(get.itemtype(storage)!='cards') return false;
|
||||
var num=player.countCards('he',{color:get.color(player.storage.nzry_mingren[0])});
|
||||
if(!storage.length) return false;
|
||||
var color=get.color(storage[0]);
|
||||
if(player.countCards('he',function(card){
|
||||
return get.color(card)==color;
|
||||
})==0) return false;
|
||||
return game.hasPlayer(function(current){
|
||||
return current!=player&&
|
||||
player.inRange(current)&&
|
||||
player.storage.nzry_mingren!=undefined&&
|
||||
num>=Math.max(Math.abs(current.hp-player.hp),1);
|
||||
})&&player.storage.nzry_zhenliang!=true;
|
||||
return player.inRange(current);
|
||||
});
|
||||
},
|
||||
position:'he',
|
||||
filterCard:function(card,player){
|
||||
return get.color(card)==get.color(player.getStorage('nzry_mingren')[0]);
|
||||
},
|
||||
filterTarget:function(card,player,target){
|
||||
return target!=player&&
|
||||
player.inRange(target)&&
|
||||
player.countCards('he',{color:get.color(player.storage.nzry_mingren[0])})>=Math.max(Math.abs(target.hp-player.hp),1);
|
||||
return player.inRange(target);
|
||||
},
|
||||
check:function(card){
|
||||
return 6.5-get.value(card);
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseToDiscard('请选择发动【贞良】的牌',Math.max(Math.abs(target.hp-player.hp),1),'he',{color:get.color(player.storage.nzry_mingren[0])},true).set('ai',function(card){
|
||||
return 6-get.value(card);
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
player.storage.nzry_zhenliang=true;
|
||||
target.damage('nocard');
|
||||
};
|
||||
player.storage.nzry_zhenliang=true;
|
||||
target.damage('nocard');
|
||||
},
|
||||
ai:{
|
||||
order:5,
|
||||
result:{
|
||||
target:function(player,target){
|
||||
if(Math.abs(target.hp-player.hp)<=1) return -1;
|
||||
player:function(player,target){
|
||||
return get.damageEffect(target,player,player);
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
'2':{
|
||||
2:{
|
||||
audio:2,
|
||||
trigger:{
|
||||
player:['useCardAfter','respondAfter'],
|
||||
},
|
||||
filter:function (event,player){
|
||||
return _status.currentPhase!=player&&
|
||||
player.storage.nzry_mingren!=undefined&&
|
||||
player.storage.nzry_mingren[0]!=undefined&&
|
||||
get.type(player.storage.nzry_mingren[0])==get.type(event.card)&&
|
||||
player.storage.nzry_zhenliang==true;
|
||||
if(_status.currentPhase==player||player.storage.nzry_zhenliang!=true) return false;
|
||||
var card=player.getStorage('nzry_mingren')[0];
|
||||
return card&&get.color(event.card)==get.color(card);
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.chooseTarget(get.prompt('nzry_zhenliang'),'令一名角色摸一张牌').ai=function(target){
|
||||
return get.attitude(player,target)
|
||||
if(target.hasSkillTag('nogain')) return 0.1;
|
||||
var att=get.attitude(player,target);
|
||||
return att*(Math.max(5-target.countCards('h'),2)+3);
|
||||
};
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
|
@ -7278,8 +7282,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return '转换技,<span class="bluetext">阴:当你成为其他角色【杀】的目标后,你可以与其各摸一张牌,然后其本回合内不能再对你使用牌。</span>阳:当你使用【杀】指定一名角色为目标后,你可以获得其一张牌,然后你本回合内不能再对其使用牌。';
|
||||
},
|
||||
nzry_zhenliang:function(player){
|
||||
if(player.storage.nzry_zhenliang==true) return '转换技,阴:出牌阶段限一次,你可以选择一名攻击范围内的其他角色,然后弃置X张与“任”颜色相同的牌并对其造成一点伤害(X为你与其的体力差且至少为1)。<span class="bluetext">阳:你的回合外,当你使用或打出牌进入弃牌堆时,若此牌与“任”类型相同,则你可以令一名角色摸一张牌。</span>';
|
||||
return '转换技,<span class="bluetext">阴:出牌阶段限一次,你可以选择一名攻击范围内的其他角色,然后弃置X张与“任”颜色相同的牌并对其造成一点伤害(X为你与其的体力差且至少为1)。</span>阳:你的回合外,当你使用或打出牌进入弃牌堆时,若此牌与“任”类型相同,则你可以令一名角色摸一张牌。';
|
||||
if(player.storage.nzry_zhenliang==true) return '转换技,阴:出牌阶段限一次,你可以弃置一张与“任”颜色相同的牌并对攻击范围内的一名角色造成1点伤害。<span class="bluetext">阳:当你于回合外使用或打出的牌结算完成后,若此牌与“任”颜色相同,则你可以令一名角色摸一张牌。</span>';
|
||||
return '转换技,<span class="bluetext">阴:出牌阶段限一次,你可以弃置一张与“任”颜色相同的牌并对攻击范围内的一名角色造成1点伤害。</span>阳:当你于回合外使用或打出的牌结算完成后,若此牌与“任”颜色相同,则你可以令一名角色摸一张牌。';
|
||||
},
|
||||
nzry_chenglve:function(player){
|
||||
if(player.storage.nzry_chenglve==true) return '转换技,出牌阶段限一次,阴:你可以摸一张牌,然后弃置两张手牌。<span class="bluetext">阳:你可以摸两张牌,然后弃置一张手牌。</span>若如此做,直到本回合结束,你使用与弃置牌花色相同的牌无距离和次数限制。';
|
||||
|
@ -7374,9 +7378,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"nzry_shenshi":"审时",
|
||||
"nzry_shenshi_info":"转换技,阴:出牌阶段限一次,你可以将一张牌交给一名手牌数最多的角色,然后对其造成一点伤害,若该角色因此死亡,则你可以令一名角色将手牌摸至四张。阳:其他角色对你造成伤害后,你可以观看该角色的手牌,然后交给其一张牌,当前角色回合结束时,若此牌仍在该角色的区域内,你将手牌摸至四张。",
|
||||
"nzry_mingren":"明任",
|
||||
"nzry_mingren_info":"游戏开始时,你摸一张牌,然后将你的一张手牌置于你的武将牌上,称为“任”。结束阶段,你可以用手牌替换“任”。",
|
||||
"nzry_mingren_info":"游戏开始时,你摸两张牌,然后将一张手牌置于你的武将牌上,称为“任”。结束阶段,你可以用一张手牌替换“任”。",
|
||||
"nzry_zhenliang":"贞良",
|
||||
"nzry_zhenliang_info":"转换技,阴:出牌阶段限一次,你可以选择一名攻击范围内的其他角色,然后弃置X张与“任”颜色相同的牌并对其造成一点伤害(X为你与其的体力差且至少为1)。阳:你的回合外,当你使用或打出牌进入弃牌堆时,若此牌与“任”类型相同,则你可以令一名角色摸一张牌。",
|
||||
"nzry_zhenliang_info":"转换技,阴:出牌阶段限一次,你可以弃置一张与“任”颜色相同的牌并对攻击范围内的一名角色造成1点伤害。阳:当你于回合外使用或打出的牌结算完成后,若此牌与“任”颜色相同,则你可以令一名角色摸一张牌。",
|
||||
"nzry_chenglve1":"成略",
|
||||
"nzry_chenglve":"成略",
|
||||
"nzry_chenglve_info":"转换技,出牌阶段限一次,阴:你可以摸一张牌,然后弃置两张手牌。阳:你可以摸两张牌,然后弃置一张手牌。若如此做,直到本回合结束,你使用与弃置牌花色相同的牌无距离和次数限制。",
|
||||
|
|
154
character/sp.js
154
character/sp.js
|
@ -5,7 +5,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
connect:true,
|
||||
characterSort:{
|
||||
sp:{
|
||||
sp_default:["caoying","simahui","yangxiu","chenlin","caohong","xiahouba","yuanshu","sp_diaochan","sp_zhaoyun","liuxie","zhugejin","zhugeke","guanyinping","simalang","zhangxingcai","fuwan","sp_sunshangxiang","caoang","sp_caoren","zhangbao","maliang","zhugedan","sp_jiangwei","sp_machao","sunhao","shixie","mayunlu","zhanglu","wutugu","sp_caiwenji","zhugeguo","lingju","jsp_guanyu","jsp_huangyueying","sunluyu","zumao","wenpin","daxiaoqiao","tadun","yanbaihu","chengyu","wanglang","sp_pangde","sp_jiaxu","litong","mizhu","buzhi","caochun","dongbai","zhaoxiang","mazhong","dongyun","kanze","heqi","wangyun","sunqian","xizhicai","quyi","luzhi","xujing","yuantanyuanshang","sunshao","zhangling",'guansuo','baosanniang','ol_zhangchangpu','caoshuang','sp_zhangliao','wolongfengchu'],
|
||||
sp_default:["caoying","simahui","yangxiu","chenlin","caohong","xiahouba","yuanshu","sp_diaochan","sp_zhaoyun","liuxie","zhugejin","zhugeke","guanyinping","simalang","zhangxingcai","fuwan","sp_sunshangxiang","caoang","sp_caoren","zhangbao","maliang","zhugedan","sp_jiangwei","sp_machao","sunhao","shixie","mayunlu","zhanglu","wutugu","sp_caiwenji","zhugeguo","lingju","jsp_guanyu","jsp_huangyueying","sunluyu","zumao","wenpin","daxiaoqiao","tadun","yanbaihu","chengyu","wanglang","sp_pangde","sp_jiaxu","litong","mizhu","buzhi","caochun","dongbai","zhaoxiang","mazhong","dongyun","kanze","heqi","wangyun","sunqian","xizhicai","quyi","luzhi","xujing","yuantanyuanshang","sunshao","zhangling",'guansuo','baosanniang','ol_zhangchangpu','caoshuang','sp_zhangliao','wolongfengchu','ol_xinxianying'],
|
||||
sp_zhongdan:["cuiyan","huangfusong"],
|
||||
sp_star:["sp_xiahoushi","jsp_zhaoyun","huangjinleishi","sp_pangtong","sp_daqiao","sp_ganning","sp_xiahoudun","sp_lvmeng","sp_zhangfei","sp_liubei"],
|
||||
sp_sticker:['sp_gongsunzan','sp_simazhao','sp_wangyuanji','sp_xinxianying','sp_liuxie'],
|
||||
|
@ -17,6 +17,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
characterFilter:{},
|
||||
character:{
|
||||
ol_xinxianying:['female','wei',3,['xincaishi','xinzhongjian']],
|
||||
huaxin:['male','wei',3,['wanggui','xibing']],
|
||||
wolongfengchu:['male','shu',4,['youlong','luanfeng']],
|
||||
sp_zhangliao:['male','qun',4,['mubing','ziqu','diaoling']],
|
||||
|
@ -1849,10 +1850,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var att=get.attitude(player,current);
|
||||
if(att==0) return false;
|
||||
if(att<0) return current.countCards('e',function(card){
|
||||
return get.value(card)>0;
|
||||
return get.value(card,current)>5;
|
||||
})>0;
|
||||
return current.countCards('ej',function(card){
|
||||
return get.position(card)=='j'||get.value(card)<=0;
|
||||
return get.position(card)=='j'||get.value(card,current)<=0;
|
||||
})>0;
|
||||
})) return 1;
|
||||
return 0;
|
||||
|
@ -1880,7 +1881,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return get.position(card)=='j'||get.value(card,target)<=0;
|
||||
})) return 2*att;
|
||||
else if(att<0&&target.countCards('e',function(card){
|
||||
return get.value(card)>0;
|
||||
return get.value(card,target)>5;
|
||||
})) return -att;
|
||||
return -1;
|
||||
});
|
||||
|
@ -1905,7 +1906,47 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.gainPlayerCard(target,'ej',true);
|
||||
}
|
||||
'step 3'
|
||||
player.chooseToDiscard(true,'he');
|
||||
player.chooseToDiscard(true,'he').set('ai',function(cardx){
|
||||
var player=_status.event.player;
|
||||
var num=0;
|
||||
var hs=player.getCards('h');
|
||||
var muniu=player.getEquip('muniu');
|
||||
var subs=[];
|
||||
if(muniu&&muniu.cards) hs=hs.concat(muniu.cards);
|
||||
if(get.type(cardx)=='basic'){
|
||||
var shas=hs.filter(function(card){
|
||||
return card!=cardx&&get.name(card,player)=='sha'&&player.hasValueTarget(card);
|
||||
});
|
||||
var numx=player.countCards('h',function(card){
|
||||
return get.type(card,player)!='basic';
|
||||
});
|
||||
num+=Math.min(numx,Math.max(0,shas.length-player.getCardUsable('sha')))*0.7;
|
||||
num+=Math.min(player.getCardUsable('sha')+numx,shas.filter(function(card){
|
||||
return game.countPlayer(function(current){
|
||||
return player.canUse(card,current)&&get.effect(current,card,player,player)>0;
|
||||
})>1;
|
||||
}).length)*1.1;
|
||||
var taos=Math.min(player.maxHp-player.hp,hs.filter(function(card){
|
||||
return cardx!=card&&get.name(card,player)=='tao';
|
||||
}).length);
|
||||
num+=taos*player.getDamagedHp()*1.2;
|
||||
}
|
||||
else{
|
||||
var numx=Math.sqrt(Math.min(5,player.countCards('h',function(card){
|
||||
return get.type(card,player)=='basic';
|
||||
})));
|
||||
if(numx) num+=numx*Math.min(2,hs.filter(function(card){
|
||||
if(card==cardx||get.type(card)!='equip'||!player.hasUseTarget(card)) return false;
|
||||
subs.add(get.subtype(card));
|
||||
return true;
|
||||
}).length)*(2.5+player.countCards('e'))/2.5;
|
||||
num+=hs.filter(function(card){
|
||||
return card!=cardx&&get.type2(card)=='trick'&&player.hasValueTarget(card);
|
||||
}).length*0.65;
|
||||
}
|
||||
if(get.position(cardx)=='e'&&cardx.name!='muniu'&&subs.contains(get.subtype(card))) num+=3;
|
||||
return num*1.5-get.value(cardx);
|
||||
});
|
||||
'step 4'
|
||||
if(result.bool&&result.cards&&result.cards.length){
|
||||
var name=get.type(result.cards[0])=='basic'?'neifa_basic':'neifa_nobasic';
|
||||
|
@ -3462,7 +3503,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
ai:{
|
||||
threaten:1.2,
|
||||
nogain:1
|
||||
nogain:1,
|
||||
skillTagFilter:function(player){
|
||||
return player!=_status.currentPhase;
|
||||
},
|
||||
},
|
||||
group:['zishu_draw','zishu_discard','zishu_mark']
|
||||
},
|
||||
|
@ -3486,6 +3530,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var att=get.attitude(_status.event.player,target);
|
||||
if(att<3) return 0;
|
||||
if(target.hasJudge('lebu')) att/=2;
|
||||
if(target.hasSkillTag('nogain')) att/=10;
|
||||
return att/(1+get.distance(player,target,'absolute'));
|
||||
});
|
||||
'step 1'
|
||||
|
@ -3518,6 +3563,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(target.hasJudge('lebu')) return 0;
|
||||
var att=get.attitude(_status.event.player,target);
|
||||
if(att<3) return 0;
|
||||
if(target.hasSkillTag('nogain')) att/=10;
|
||||
if(target.hasSha()&&_status.event.sha){
|
||||
att/=5;
|
||||
}
|
||||
|
@ -3782,6 +3828,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
next.set('ai',function(target){
|
||||
var player=_status.event.player;
|
||||
var att=get.attitude(player,target)/Math.sqrt(1+target.countCards('h'));
|
||||
if(target.hasSkillTag('nogain')) att/=10;
|
||||
if(player.storage.xianfu2&&player.storage.xianfu2.contains(target)) return att*2;
|
||||
return att;
|
||||
})
|
||||
|
@ -10525,7 +10572,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
ai:{
|
||||
threaten:4.2,
|
||||
nogain:1
|
||||
nogain:1,
|
||||
skillTagFilter:function(player){
|
||||
return player!=_status.currentPhase;
|
||||
},
|
||||
},
|
||||
},
|
||||
manjuan:{
|
||||
|
@ -14896,42 +14946,71 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
expose:0.25,
|
||||
},
|
||||
},
|
||||
"xinfu_yanyu":{
|
||||
xinfu_yanyu:{
|
||||
trigger:{
|
||||
global:"phaseUseBegin",
|
||||
},
|
||||
direct:true,
|
||||
filter:function (event,player){
|
||||
filter:function(event,player){
|
||||
return player.countCards('he')>0;
|
||||
},
|
||||
content:function (){
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseToDiscard(get.prompt('xinfu_yanyu'),get.translation('xinfu_yanyu_info'),'he').set('ai',function(card){
|
||||
var map=_status.event.goon;
|
||||
var type=get.type(card,'trick');
|
||||
if(!map[type]) return -1;
|
||||
return map[type]-get.value(card);
|
||||
}).set('logSkill','xinfu_yanyu').set('goon',function(){
|
||||
var map={
|
||||
basic:0,
|
||||
trick:0.1,
|
||||
};
|
||||
var hs=trigger.player.getCards('h');
|
||||
var sha=false;
|
||||
var jiu=false;
|
||||
for(var i=0;i<hs.length;i++){
|
||||
if(trigger.player.hasValueTarget(hs[i])){
|
||||
if(hs[i].name=='sha'&&!sha){
|
||||
sha=true;
|
||||
map.basic+=2;
|
||||
var next=player.chooseToDiscard(get.prompt('xinfu_yanyu'),get.translation('xinfu_yanyu_info'),'he').set('logSkill','xinfu_yanyu');
|
||||
if(player==trigger.player){
|
||||
next.set('goon',function(){
|
||||
var map={
|
||||
basic:0,
|
||||
trick:0.1,
|
||||
};
|
||||
var hs=trigger.player.getCards('h');
|
||||
var sha=false;
|
||||
var jiu=false;
|
||||
for(var i=0;i<hs.length;i++){
|
||||
if(trigger.player.hasValueTarget(hs[i])){
|
||||
if(hs[i].name=='sha'&&!sha){
|
||||
sha=true;
|
||||
map.basic+=2;
|
||||
}
|
||||
if(hs[i].name=='tao') map.basic+=6;
|
||||
if(hs[i].name=='jiu'){jiu=true;map.basic+=2.5;}
|
||||
if(get.type(hs[i])=='trick') map.trick+=get.value(hs[i],player,'raw');
|
||||
}
|
||||
if(hs[i].name=='tao') map.basic+=6;
|
||||
if(hs[i].name=='jiu'){jiu=true;map.basic+=2.5;}
|
||||
if(get.type(hs[i])=='trick') map.trick+=get.value(hs[i],player,'raw');
|
||||
}
|
||||
}
|
||||
return map;
|
||||
}());
|
||||
return map;
|
||||
}());
|
||||
next.set('ai',function(card){
|
||||
var map=_status.event.goon;
|
||||
var type=get.type(card,'trick');
|
||||
if(!map[type]) return -1;
|
||||
return map[type]-get.value(card);
|
||||
});
|
||||
}
|
||||
else{
|
||||
next.set('ai',function(cardx){
|
||||
var map={
|
||||
basic:0,
|
||||
trick:0,
|
||||
};
|
||||
var hs=trigger.player.getCards('h');
|
||||
var sha=false;
|
||||
var jiu=false;
|
||||
for(var i=0;i<hs.length;i++){
|
||||
if(hs[i]!=cardx&&trigger.player.hasValueTarget(hs[i])){
|
||||
if(hs[i].name=='sha'&&!sha){
|
||||
sha=true;
|
||||
map.basic+=2;
|
||||
}
|
||||
if(hs[i].name=='tao') map.basic+=6;
|
||||
if(hs[i].name=='jiu'){jiu=true;map.basic+=3;}
|
||||
if(get.type(hs[i])=='trick') map.trick+=player.getUseValue(hs[i]);
|
||||
}
|
||||
}
|
||||
var type=get.type(cardx,'trick');
|
||||
if(!map[type]) return -get.value(cardx);
|
||||
return map[type]-get.value(cardx);
|
||||
});
|
||||
}
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
player.storage.xinfu_yanyu=get.type(result.cards[0],'trick');
|
||||
|
@ -14991,7 +15070,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var att=get.attitude(_status.event.player,target);
|
||||
var card=_status.event.card;
|
||||
var val=get.value(card);
|
||||
if(target==_status.currentPhase&&target.hasValueTarget(card)) att=att*2;
|
||||
if(player.storage.xinfu_yanyu2<3&&target==_status.currentPhase&&target.hasValueTarget(card,null,true)) att=att*5;
|
||||
else if(target==player&&!player.hasJudge('lebu')&&get.type(card)=='trick') att=att*3;
|
||||
if(target.hasSkillTag('nogain')) att/=10;
|
||||
return att*val;
|
||||
}).set('card',event.togain);
|
||||
}
|
||||
|
@ -15013,7 +15094,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
forced:true,
|
||||
popup:false,
|
||||
content:function (){
|
||||
content:function(){
|
||||
player.removeAdditionalSkill('xinfu_xiaode');
|
||||
player.removeSkill('xinfu_xiaode_remove');
|
||||
},
|
||||
|
@ -15950,6 +16031,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
xibing:'息兵',
|
||||
xibing_info:'当一名其他角色在其出牌阶段内使用第一张黑色【杀】或黑色普通锦囊牌指定唯一角色为目标后,你可令该角色将手牌摸至当前体力值(至多摸五张)且本回合不能再使用手牌。',
|
||||
xibing_info_guozhan:'当一名其他角色在其出牌阶段内使用第一张黑色【杀】或黑色普通锦囊牌指定唯一角色为目标后,你可令该角色将手牌摸至当前体力(至多摸五张)值且本回合不能再使用手牌。若你与其均明置了所有武将牌,则你可以暗置你与其各一张武将牌且本回合不能再明置此武将牌。',
|
||||
ol_xinxianying:'辛宪英',
|
||||
|
||||
sp_default:"常规",
|
||||
sp_zhongdan:"忠胆英杰",
|
||||
|
|
|
@ -2344,7 +2344,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
order:4,
|
||||
result:{
|
||||
player:function(player,target){
|
||||
if(player.hp==1) return -4;
|
||||
if(player.hp==1) return -8;
|
||||
if(target.countCards('e')>1) return 0;
|
||||
if(player.hp>2||target.countCards('h')>1) return -0.5;
|
||||
return -2;
|
||||
|
@ -2513,7 +2513,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
for(var k of array){
|
||||
numx+=get.number(k);
|
||||
}
|
||||
if(numx==13) list.push(array);
|
||||
if(numx==num) list.push(array);
|
||||
}
|
||||
if(list.length){
|
||||
list.sort(function(a,b){
|
||||
|
@ -4615,7 +4615,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return target.isFriendOf(player)&&target.countDiscardableCards(player,'hej')>0;
|
||||
},get.prompt2('wlcuorui')).set('ai',function(target){
|
||||
if(target.countCards('e',function(card){
|
||||
return card.name!='tengjia'&&get.value(card)<=0;
|
||||
return card.name!='tengjia'&&get.value(card,target)<=0;
|
||||
})) return 10;
|
||||
if(target.countCards('j',function(card){
|
||||
return get.effect(target,{name:card.viewAs||card.name},target,target)<0;
|
||||
|
@ -4762,7 +4762,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'step 0'
|
||||
player.draw();
|
||||
'step 1'
|
||||
player.chooseTarget(function(card,player,target){
|
||||
player.chooseTarget('选择一名体力值最大的敌方角色,对其造成2点伤害',function(card,player,target){
|
||||
return target.isEnemyOf(player)&&!game.hasPlayer(function(current){
|
||||
return current.isEnemyOf(player)&¤t.hp>target.hp;
|
||||
});
|
||||
|
@ -6116,6 +6116,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.addTempSkill(result.control,event.triggername=='damageEnd'?'damageAfter':'phaseJieshu');
|
||||
},
|
||||
group:'pingjian_use',
|
||||
phaseUse_special:['xinfu_lingren'],
|
||||
},
|
||||
pingjian_use:{
|
||||
audio:'pingjian',
|
||||
|
@ -6141,7 +6142,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var skills2=lib.character[name][3];
|
||||
for(var j=0;j<skills2.length;j++){
|
||||
if(player.storage.pingjian.contains(skills2[j])) continue;
|
||||
if(skills.contains(skills2[j])){
|
||||
if(skills.contains(skills2[j])||lib.skill.pingjian.phaseUse_special.contains(skills2[j])){
|
||||
list.add(name);
|
||||
if(!map[name]) map[name]=[];
|
||||
map[name].push(skills2[j]);
|
||||
|
@ -7282,24 +7283,31 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
direct:true,
|
||||
audio:2,
|
||||
audioname:['tw_beimihu'],
|
||||
filter:function(event,player){
|
||||
filter:function(event,player,name){
|
||||
return game.hasPlayer(function(current){
|
||||
if(event.name=='roundStart'&&!current.isMinHp()) return false;
|
||||
if(name=='roundStart'&&!current.isMinHp()) return false;
|
||||
return current!=player&&!current.hasMark('zongkui_mark');
|
||||
});
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseTarget(get.prompt2('zongkui'),function(card,player,target){
|
||||
if(_status.event.round&&!target.isMinHp()) return false;
|
||||
return target!=player&&!target.hasMark('zongkui_mark');
|
||||
}).set('ai',function(target){
|
||||
var num=target.isMinHp()?0.5:(1+Math.random());
|
||||
if(get.attitude(_status.event.player,target)<0){
|
||||
num+=0.5;
|
||||
}
|
||||
return num;
|
||||
}).set('round',event.triggername=='roundStart');
|
||||
var targets=game.filterPlayer(function(current){
|
||||
if(event.triggername=='roundStart'&&!current.isMinHp()) return false;
|
||||
return current!=player&&!current.hasMark('zongkui_mark');
|
||||
});
|
||||
if(event.triggername=='roundStart'&&targets.length==1){
|
||||
event._result={bool:true,targets:targets};
|
||||
}
|
||||
else{
|
||||
var next=player.chooseTarget(get.prompt('zongkui'),'令一名'+(event.triggername=='roundStart'?'体力值最小的':'')+'其他角色获得“傀”标记',function(card,player,target){
|
||||
if(_status.event.round&&!target.isMinHp()) return false;
|
||||
return target!=player&&!target.hasMark('zongkui_mark');
|
||||
}).set('ai',function(target){
|
||||
var num=target.isMinHp()?0.5:1;
|
||||
return num*get.threaten(target);
|
||||
}).set('round',event.triggername=='roundStart');
|
||||
if(event.triggername=='roundStart') next.set('forced',true);
|
||||
}
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
|
@ -8523,7 +8531,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zongkui:'纵傀',
|
||||
zongkui_mark:'纵傀',
|
||||
zongkui_mark_bg:'傀',
|
||||
zongkui_info:'回合开始时,你可以指定一名未拥有“傀”标记的其他角色,令其获得一枚“傀”标记。每轮游戏开始时,你可以指定一名体力值最少且没有“傀”标记的其他角色,令其获得一枚“傀”标记。',
|
||||
zongkui_info:'回合开始时,你可以指定一名未拥有“傀”标记的其他角色,令其获得一枚“傀”标记。每轮游戏开始时,你指定一名体力值最少且没有“傀”标记的其他角色,令其获得一枚“傀”标记。',
|
||||
guju:'骨疽',
|
||||
guju_info:'锁定技,拥有“傀”标记的角色受到伤害后,你摸一张牌。',
|
||||
baijia:'拜假',
|
||||
|
|
|
@ -84,7 +84,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zhangrang:['male','qun',3,['taoluan']],
|
||||
sunziliufang:['male','wei',3,['guizao','jiyu']],
|
||||
|
||||
xinxianying:['female','wei',3,['xinzhongjian','xincaishi']],
|
||||
xinxianying:['female','wei',3,['zhongjian','caishi']],
|
||||
wuxian:['female','shu',3,['fumian','daiyan']],
|
||||
xushi:['female','wu',3,['wengua','fuzhu']],
|
||||
caojie:['female','qun',3,['shouxi','huimin']],
|
||||
|
@ -3451,7 +3451,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filter:function(event,player){
|
||||
if(!player.countCards('h')) return false;
|
||||
if(player.getStat('skill').zhongjian&&!player.hasSkill('zhongjian2')) return false;
|
||||
return true;
|
||||
return game.hasPlayer(function(current){
|
||||
return current!=player&&Math.min(current.hp,current.countCards('h'))>0;
|
||||
});
|
||||
},
|
||||
filterCard:true,
|
||||
check:function(){
|
||||
|
@ -3459,18 +3461,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
discard:false,
|
||||
lose:false,
|
||||
delay:false,
|
||||
filterTarget:function(card,player,target){
|
||||
return target!=player&&target.countCards('h')>0;
|
||||
return target!=player&&target.hp>0&&target.countCards('h')>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.showCards(cards);
|
||||
'step 1'
|
||||
var num=target.countCards('h')-target.hp;
|
||||
if(num<=0){
|
||||
num=1;
|
||||
}
|
||||
var hs=target.getCards('h').randomGets(num);
|
||||
player.choosePlayerCard(target,'h',Math.min(target.countCards('h'),target.hp),true);
|
||||
'step 2'
|
||||
var hs=result.cards;
|
||||
target.showCards(hs);
|
||||
var colors=[];
|
||||
var numbers=[];
|
||||
|
@ -3484,113 +3485,70 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(!event.bool1&&colors.contains(get.color(hs[i]))) event.bool1=true;
|
||||
if(!event.bool2&&numbers.contains(get.number(hs[i]))) event.bool2=true;
|
||||
}
|
||||
'step 2'
|
||||
'step 3'
|
||||
if(event.bool1){
|
||||
player.chooseControl(function(event,player){
|
||||
return _status.event.bool?0:1;
|
||||
}).set('bool',(get.attitude(player,target)>=0||player.countCards('h')<target.countCards('h'))).set('choiceList',['摸一张牌','弃置'+get.translation(target)+'一张牌']);
|
||||
var filterTarget=function(card,player,target){
|
||||
return target!=player&&target.countDiscardableCards(player,'he')>0;
|
||||
}
|
||||
if(!game.hasPlayer(function(current){
|
||||
return filterTarget(null,player,current);
|
||||
})) event._result={bool:false};
|
||||
else player.chooseTarget(filterTarget,'弃置一名其他角色的一张牌或摸一张牌').set('ai',function(target){
|
||||
var att=get.attitude(player,target);
|
||||
if(att>=0) return 0;
|
||||
if(target.countCards('he',function(card){
|
||||
return get.value(card)>5;
|
||||
})) return -att;
|
||||
return 0;
|
||||
});
|
||||
}
|
||||
else{
|
||||
event.goto(4);
|
||||
}
|
||||
'step 3'
|
||||
if(result&&typeof result.index=='number'){
|
||||
if(result.index==0) player.draw();
|
||||
else player.discardPlayerCard(target,'he',true);
|
||||
event.goto(5);
|
||||
}
|
||||
'step 4'
|
||||
if(!result.bool) player.draw();
|
||||
else{
|
||||
var target=result.targets[0];
|
||||
player.line(target,'green');
|
||||
player.discardPlayerCard(target,true,'he');
|
||||
}
|
||||
'step 5'
|
||||
if(event.bool2){
|
||||
player.addTempSkill('zhongjian2');
|
||||
}
|
||||
if(!event.bool1&&!event.bool2){
|
||||
if(player.hasSkill('caishi')&&typeof player.storage.caishi=='number'){
|
||||
player.storage.caishi--;
|
||||
if(player.storage.caishi<=0){
|
||||
player.unmarkSkill('caishi');
|
||||
if(player.storage.caishi<0){
|
||||
player.markSkill('zhongjian');
|
||||
}
|
||||
}
|
||||
else{
|
||||
player.updateMarks();
|
||||
}
|
||||
}
|
||||
else{
|
||||
player.unmarkSkill('zhongjian');
|
||||
if(player.hasSkill('zhongjian3')){
|
||||
player.storage.zhongjian3--;
|
||||
}
|
||||
else{
|
||||
player.addSkill('zhongjian3');
|
||||
}
|
||||
}
|
||||
player.addSkill('caishix');
|
||||
if(typeof player.storage.caishix!='number') player.storage.caishix=0;
|
||||
player.storage.caishix--;
|
||||
player.markSkill('caishix');
|
||||
player.popup('杯具');
|
||||
}
|
||||
},
|
||||
intro:{
|
||||
content:function(storage,player){
|
||||
return '手牌上限'+player.storage.caishi;
|
||||
},
|
||||
markcount:function(storage,player){
|
||||
return player.storage.caishi;
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
order:8,
|
||||
result:{
|
||||
player:function(player,target){
|
||||
var num=Math.max(1,target.countCards('h')-target.hp);
|
||||
if(get.attitude(player,target)<0) return 1.5*num;
|
||||
return num;
|
||||
return Math.min(target.hp,target.countCards('h'));
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
zhongjian2:{},
|
||||
zhongjian3:{
|
||||
init:function(player){
|
||||
player.storage.zhongjian3=-1;
|
||||
},
|
||||
mark:true,
|
||||
onremove:true,
|
||||
intro:{
|
||||
content:'手牌上限#'
|
||||
},
|
||||
mod:{
|
||||
maxHandcard:function(player,num){
|
||||
if(typeof player.storage.zhongjian3=='number') return num+player.storage.zhongjian3;
|
||||
}
|
||||
}
|
||||
},
|
||||
caishi:{
|
||||
audio:2,
|
||||
trigger:{player:'phaseDrawBegin'},
|
||||
direct:true,
|
||||
init:function(player){
|
||||
player.storage.caishi=0;
|
||||
},
|
||||
onremove:function(player){
|
||||
player.unmarkSkill('zhongjian');
|
||||
delete player.storage.caishi;
|
||||
},
|
||||
intro:{
|
||||
content:function(storage){
|
||||
if(storage>0) return '手牌上限+'+storage;
|
||||
if(storage<0) return '手牌上限'+storage;
|
||||
return '手牌上限无变化';
|
||||
},
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
if(player.isHealthy()){
|
||||
event.type=0;
|
||||
player.chooseBool(get.prompt('caishi'),'手牌上限+1,然后本回合你的牌不能对其他角色使用',function(event,player){
|
||||
return player.skipList.contains('phaseUse')||!player.needsToDiscard(1);
|
||||
player.chooseBool(get.prompt('caishi'),'令自己的手牌上限+1',function(){
|
||||
return true;
|
||||
});
|
||||
}
|
||||
else{
|
||||
event.type=1;
|
||||
player.chooseControlList(get.prompt('caishi'),'手牌上限+1,然后本回合你的牌不能对其他角色使用','回复1点体力,然后本回合你的牌不能对自己使用',function(){
|
||||
player.chooseControlList(get.prompt('caishi'),'令自己的手牌上限+1','回复1点体力,然后本回合你的牌不能对自己使用',function(){
|
||||
return 1;
|
||||
});
|
||||
}
|
||||
|
@ -3599,17 +3557,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(result.control!='cancel2'){
|
||||
player.logSkill('caishi');
|
||||
if(result.index==0){
|
||||
player.addTempSkill('caishi2');
|
||||
player.storage.caishi++;
|
||||
if(player.storage.caishi>=0){
|
||||
player.unmarkSkill('zhongjian');
|
||||
if(player.storage.caishi>0){
|
||||
player.markSkill('caishi');
|
||||
}
|
||||
}
|
||||
else{
|
||||
player.updateMarks();
|
||||
}
|
||||
player.addSkill('caishix');
|
||||
if(typeof player.storage.caishix!='number') player.storage.caishix=0;
|
||||
player.storage.caishix++;
|
||||
player.markSkill('caishix');
|
||||
}
|
||||
else if(result.index==1){
|
||||
player.recover();
|
||||
|
@ -3620,25 +3571,29 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
else{
|
||||
if(result.bool){
|
||||
player.logSkill('caishi');
|
||||
player.addTempSkill('caishi2');
|
||||
player.storage.caishi++;
|
||||
if(player.storage.caishi>=0){
|
||||
player.unmarkSkill('zhongjian');
|
||||
if(player.storage.caishi>0){
|
||||
player.markSkill('caishi');
|
||||
}
|
||||
}
|
||||
else{
|
||||
player.updateMarks();
|
||||
}
|
||||
player.addSkill('caishix');
|
||||
if(typeof player.storage.caishix!='number') player.storage.caishix=0;
|
||||
player.storage.caishix++;
|
||||
player.markSkill('caishix');
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
caishix:{
|
||||
intro:{
|
||||
content:function(storage){
|
||||
if(storage>0) return '手牌上限+'+storage;
|
||||
if(storage<0) return '手牌上限'+storage;
|
||||
return '手牌上限无变化';
|
||||
},
|
||||
},
|
||||
mod:{
|
||||
maxHandcard:function(player,num){
|
||||
if(typeof player.storage.caishi=='number') return num+player.storage.caishi;
|
||||
if(typeof player.storage.caishix=='number') return num+player.storage.caishix;
|
||||
},
|
||||
}
|
||||
},
|
||||
charlotte:true,
|
||||
onremove:true,
|
||||
},
|
||||
caishi2:{
|
||||
mod:{
|
||||
|
@ -12150,7 +12105,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
yufan:['re_yufan','yufan'],
|
||||
zhuran:['re_zhuran','xin_zhuran','zhuran','old_zhuran'],
|
||||
liru:['re_liru','xin_liru','liru'],
|
||||
fuhuanghou:['re_fuhuanghou','fuhuanghou','old_fuhuanghou'],
|
||||
fuhuanghou:['re_fuhuanghou','xin_fuhuanghou','fuhuanghou','old_fuhuanghou'],
|
||||
chenqun:['chenqun','old_chenqun'],
|
||||
hanhaoshihuan:['re_hanhaoshihuan','hanhaoshihuan'],
|
||||
caozhen:['caozhen','old_caozhen'],
|
||||
|
@ -12166,7 +12121,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
liuyu:['liuyu','ol_liuyu'],
|
||||
zhangrang:['zhangrang','ol_zhangrang','junk_zhangrang'],
|
||||
jikang:['re_jikang','jikang'],
|
||||
xinxianying:['re_xinxianying','xinxianying','sp_xinxianying','ol_xinxianying'],
|
||||
xinxianying:['re_xinxianying','xinxianying','ol_xinxianying','sp_xinxianying'],
|
||||
},
|
||||
translate:{
|
||||
old_huaxiong:'华雄',
|
||||
|
@ -12235,7 +12190,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
huanghao:'黄皓',
|
||||
zhangrang:'张让',
|
||||
cenhun:'岑昏',
|
||||
xinxianying:'辛宪英',
|
||||
xinxianying:'OL辛宪英',
|
||||
wuxian:'吴苋',
|
||||
xushi:'徐氏',
|
||||
caojie:'曹节',
|
||||
|
@ -12319,9 +12274,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zhongjian_bg:'鉴',
|
||||
zhongjian3:'忠鉴',
|
||||
zhongjian3_bg:'鉴',
|
||||
zhongjian_info:'出牌阶段限一次,你可以展示一张手牌,然后展示手牌数大于体力值的一名其他角色X张手牌(X为其手牌数和体力值之差且至少为1)。若以此法展示的牌与你展示的牌:有颜色相同的,你摸一张牌或弃置其一张牌;有点数相同的,本回合此技能改为“出牌阶段限两次”;均不同,你的手牌上限-1',
|
||||
zhongjian_info:'出牌阶段限一次,你可以展示一张手牌,然后展示一名其他角色的X张手牌(X为其体力值)。若以此法展示的牌与你展示的牌:有颜色相同的,你选择:①摸一张牌。②弃置一名其他角色的一张牌;有点数相同的,本回合此技能改为“出牌阶段限两次”;均不同,你的手牌上限-1',
|
||||
caishi:'才识',
|
||||
caishi_info:'摸牌阶段开始时,你可以选择一项:1.手牌上限+1,然后本回合你的牌不能对其他角色使用;2.回复1点体力,然后本回合你的牌不能对自己使用',
|
||||
caishix:'才识/忠鉴',
|
||||
caishi_info:'摸牌阶段开始时,你可以选择一项:1.手牌上限+1;2.回复1点体力,然后本回合你的牌不能对自己使用',
|
||||
xincaishi:'才识',
|
||||
xincaishi_info:'摸牌阶段,你可以选择一项:1.少摸一张牌,然后本回合发动〖忠鉴〗时可以多展示自己的一张牌;2.本回合手牌上限-1,然后本回合发动〖忠鉴〗时可以多展示对方的一张牌;3.多摸两张牌,本回合不能发动〖忠鉴〗。',
|
||||
guizao:'瑰藻',
|
||||
|
|
|
@ -9923,7 +9923,7 @@
|
|||
shibing_emotion:'士兵表情',
|
||||
xiaosha_emotion:'小杀表情',
|
||||
xiaotao_emotion:'小桃表情',
|
||||
xiaojiu_emotion:'小桃表情',
|
||||
xiaojiu_emotion:'小酒表情',
|
||||
|
||||
pause:'暂停',
|
||||
config:'选项',
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
window.noname_update={
|
||||
version:'1.9.108.5',
|
||||
update:'1.9.108.4.2.1',
|
||||
version:'1.9.108.5.1',
|
||||
update:'1.9.108.5',
|
||||
changeLog:[
|
||||
'公孙康,手杀郭淮、潘璋马忠、伏皇后,新小乔',
|
||||
'卢植、辛宪英技能调整',
|
||||
'应变牌堆加入木牛流马',
|
||||
'bug修复',
|
||||
],
|
||||
files:[
|
||||
|
@ -16,10 +17,10 @@ window.noname_update={
|
|||
//'card/standard.js',
|
||||
//'card/swd.js',
|
||||
//'card/yunchou.js',
|
||||
//'card/yingbian.js',
|
||||
'card/yingbian.js',
|
||||
//'card/zhenfa.js',
|
||||
//'card/zhulu.js',
|
||||
//'character/diy.js',
|
||||
'character/diy.js',
|
||||
//'character/extra.js',
|
||||
//'character/hearth.js',
|
||||
//'character/gujian.js',
|
||||
|
@ -27,14 +28,14 @@ window.noname_update={
|
|||
//'character/hearth.js',
|
||||
'character/mobile.js',
|
||||
//'character/mtg.js',
|
||||
//'character/old.js',
|
||||
'character/old.js',
|
||||
//'character/ow.js',
|
||||
'character/rank.js',
|
||||
'character/refresh.js',
|
||||
//'character/refresh.js',
|
||||
'character/shenhua.js',
|
||||
//'character/sp.js',
|
||||
//'character/sp2.js',
|
||||
'character/tw.js',
|
||||
'character/sp.js',
|
||||
'character/sp2.js',
|
||||
//'character/tw.js',
|
||||
//'character/standard.js',
|
||||
//'character/swd.js',
|
||||
//'character/xianjian.js',
|
||||
|
@ -45,7 +46,7 @@ window.noname_update={
|
|||
//'layout/default/layout.css',
|
||||
//'layout/default/menu.css',
|
||||
//'layout/nova/layout.css',
|
||||
'mode/identity.js',
|
||||
//'mode/identity.js',
|
||||
//'mode/doudizhu.js',
|
||||
//'mode/guozhan.js',
|
||||
//'mode/chess.js',
|
||||
|
@ -55,7 +56,7 @@ window.noname_update={
|
|||
//'mode/brawl.js',
|
||||
//'mode/versus.js',
|
||||
//'mode/boss.js',
|
||||
//'game/game.js',
|
||||
'game/game.js',
|
||||
//'game/keyWords.js',
|
||||
//'game/NoSleep.js',
|
||||
//'game/config.js',
|
||||
|
|
Loading…
Reference in New Issue