v1.9.96.2
This commit is contained in:
parent
1e32d426bd
commit
349a9c728d
|
@ -386,7 +386,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
});
|
||||
"step 1"
|
||||
if(result.control!='cancel2'){
|
||||
player.logSkill('rexingshang');
|
||||
player.logSkill(event.name,trigger.player);
|
||||
if(result.control=='获得牌'){
|
||||
event.togain=trigger.player.getCards('he');
|
||||
player.gain(event.togain,trigger.player,'giveAuto');
|
||||
|
|
|
@ -239,7 +239,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
event.card=result.cards[0];
|
||||
event.prompt=get.translation(player)+'声明了'+get.translation(event.name)+',是否质疑?';
|
||||
event.guessers=game.filterPlayer(function(current){
|
||||
return current!=player;
|
||||
return current!=player&¤t.hp>0;
|
||||
});
|
||||
event.guessers.sort(lib.sort.seat);
|
||||
event.ally=[];
|
||||
|
|
|
@ -2,6 +2,12 @@
|
|||
game.import('character',function(lib,game,ui,get,ai,_status){
|
||||
return {
|
||||
name:'refresh',
|
||||
characterSort:{
|
||||
refresh:{
|
||||
refresh_standard:["re_caocao","re_simayi","re_guojia","re_lidian","re_zhangliao","re_xuzhu","re_xiahoudun","re_zhangfei","re_zhaoyun","re_guanyu","re_machao","re_xushu","re_zhouyu","re_lvmeng","re_ganning","re_luxun","re_daqiao","re_huanggai","re_lvbu","re_gongsunzan","re_huatuo","re_liubei","re_diaochan","re_huangyueying","re_sunquan","re_sunshangxiang","re_zhenji","re_zhugeliang","re_huaxiong"],
|
||||
refresh_ol:["re_zhangjiao","xin_yuji","re_zuoci"],
|
||||
},
|
||||
},
|
||||
connect:true,
|
||||
character:{
|
||||
re_caocao:['male','wei',4,['hujia','new_rejianxiong'],['zhu']],
|
||||
|
@ -35,12 +41,587 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
re_huaxiong:["male","qun",6,["new_reyaowu"]],
|
||||
|
||||
re_zhangjiao:['male','qun',3,['xinleiji','xinguidao','huangtian'],['zhu']],
|
||||
xin_yuji:['male','qun',3,['reguhuo']],
|
||||
re_zuoci:['male','qun',3,['rehuashen','rexinsheng']],
|
||||
},
|
||||
characterIntro:{
|
||||
re_gongsunzan:'群雄之一。出身贵族,因母地位卑贱,只当了郡中小吏。他貌美,声音洪亮,机智善辩。后随卢植于缑氏山中读书,粗通经传。',
|
||||
re_lidian:'字曼成,曹操麾下将领。李典深明大义,不与人争功,崇尚学习与高贵儒雅,尊重博学之士,在军中被称为长者。李典有长者之风,官至破虏将军,三十六岁去世。魏文帝曹丕继位后追谥号为愍侯。',
|
||||
},
|
||||
characterFilter:{
|
||||
re_zuoci:function(mode){
|
||||
return mode=='identity'||mode=='single';
|
||||
}
|
||||
},
|
||||
skill:{
|
||||
rehuashen:{
|
||||
mode:['identity','single'],
|
||||
audio:'huashen1',
|
||||
unique:true,
|
||||
direct:true,
|
||||
content:function(){
|
||||
"step 0"
|
||||
event.videoId=lib.status.videoId++;
|
||||
var cards=player.storage.rehuashen.character.slice(0);
|
||||
if(player.isOnline2()){
|
||||
player.send(function(cards,id){
|
||||
var dialog=ui.create.dialog('是否发动【化身】?',[cards,'character']);
|
||||
dialog.videoId=id;
|
||||
},cards,event.videoId);
|
||||
}
|
||||
event.dialog=ui.create.dialog(get.prompt('rehuashen'),[cards,'character']);
|
||||
event.dialog.videoId=event.videoId;
|
||||
if(!event.isMine()){
|
||||
event.dialog.style.display='none';
|
||||
}
|
||||
if(event.triggername=='rehuashen') event._result={control:'更换技能'};
|
||||
else player.chooseControl('弃置化身','更换技能','cancel2');
|
||||
"step 1"
|
||||
event.control=result.control;
|
||||
if(event.control=='cancel2'){
|
||||
if(player.isOnline2()){
|
||||
player.send('closeDialog',event.videoId);
|
||||
}
|
||||
event.dialog.close();
|
||||
event.finish();return;
|
||||
}
|
||||
if(!event.logged){player.logSkill('rehuashen');event.logged=true}
|
||||
var next=player.chooseButton(true).set('dialog',event.videoId);
|
||||
if(event.control=='弃置化身'){
|
||||
next.set('selectButton',[1,2]);
|
||||
next.set('filterButton',function(button){
|
||||
return button.link!=_status.event.current;
|
||||
});
|
||||
next.set('current',player.storage.rehuashen.current);
|
||||
}
|
||||
var prompt=event.control=='弃置化身'?'选择弃置至多两张化身':'选择要切换的化身';
|
||||
var func=function(id,prompt){
|
||||
var dialog=get.idDialog(id);
|
||||
if(dialog){
|
||||
dialog.content.childNodes[0].innerHTML=prompt;
|
||||
}
|
||||
}
|
||||
if(player.isOnline2()){
|
||||
player.send(func,event.videoId,prompt);
|
||||
}
|
||||
else if(event.isMine()){
|
||||
func(event.videoId,prompt);
|
||||
}
|
||||
"step 2"
|
||||
if(result.bool&&event.control!='弃置化身'){
|
||||
event.card=result.links[0];
|
||||
var func=function(card,id){
|
||||
var dialog=get.idDialog(id);
|
||||
if(dialog){
|
||||
for(var i=0;i<dialog.buttons.length;i++){
|
||||
if(dialog.buttons[i].link==card){
|
||||
dialog.buttons[i].classList.add('selectedx');
|
||||
}
|
||||
else{
|
||||
dialog.buttons[i].classList.add('unselectable');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(player.isOnline2()){
|
||||
player.send(func,event.card,event.videoId);
|
||||
}
|
||||
else if(event.isMine()){
|
||||
func(event.card,event.videoId);
|
||||
}
|
||||
var list=player.storage.rehuashen.map[event.card].slice(0);
|
||||
list.push('返回');
|
||||
player.chooseControl(list);
|
||||
}
|
||||
else{
|
||||
lib.skill.rehuashen.removeHuashen(player,result.links.slice(0));
|
||||
lib.skill.rehuashen.addHuashens(player,result.links.length);
|
||||
}
|
||||
"step 3"
|
||||
if(result.control=='返回'){
|
||||
var func=function(id){
|
||||
var dialog=get.idDialog(id);
|
||||
if(dialog){
|
||||
for(var i=0;i<dialog.buttons.length;i++){
|
||||
dialog.buttons[i].classList.remove('selectedx');
|
||||
dialog.buttons[i].classList.remove('unselectable');
|
||||
}
|
||||
}
|
||||
}
|
||||
if(player.isOnline2()){
|
||||
player.send(func,event.videoId);
|
||||
}
|
||||
else if(event.isMine()){
|
||||
func(event.videoId);
|
||||
}
|
||||
event._result={control:'更换化身'};
|
||||
event.goto(1);
|
||||
return;
|
||||
}
|
||||
if(player.isOnline2()){
|
||||
player.send('closeDialog',event.videoId);
|
||||
}
|
||||
event.dialog.close();
|
||||
if(event.control=='弃置化身') return;
|
||||
if(player.storage.rehuashen.current!=event.card){
|
||||
player.storage.rehuashen.current=event.card;
|
||||
game.broadcastAll(function(character,player){
|
||||
player.sex=lib.character[character][0];
|
||||
player.group=lib.character[character][1];
|
||||
player.node.name.dataset.nature=get.groupnature(player.group);
|
||||
},event.card,player);
|
||||
}
|
||||
var link=result.control;
|
||||
player.storage.rehuashen.current2=link;
|
||||
if(!player.additionalSkills.rehuashen||!player.additionalSkills.rehuashen.contains(link)){
|
||||
player.addAdditionalSkill('rehuashen',link);
|
||||
player.flashAvatar('rehuashen',event.card);
|
||||
game.log(player,'获得技能','#g【'+get.translation(link)+'】');
|
||||
player.popup(link);
|
||||
player.syncStorage('rehuashen');
|
||||
player.updateMarks('rehuashen');
|
||||
}
|
||||
},
|
||||
init:function(player,skill){
|
||||
if(!player.storage[skill]) player.storage[skill]={
|
||||
character:[],
|
||||
map:{},
|
||||
}
|
||||
},
|
||||
group:'rehuashen_init',
|
||||
trigger:{
|
||||
player:['phaseBegin','phaseEnd','rehuashen'],
|
||||
},
|
||||
filter:function(event,player,name){
|
||||
if(name=='phaseBegin'&&game.phaseNumber==1) return false;
|
||||
return player.storage.rehuashen&&player.storage.rehuashen.character.length>0;
|
||||
},
|
||||
addHuashen:function(player){
|
||||
if(!player.storage.rehuashen) return;
|
||||
_status.characterlist.randomSort();
|
||||
var bool=false;
|
||||
for(var i=0;i<_status.characterlist.length;i++){
|
||||
var name=_status.characterlist[i];
|
||||
if(name.indexOf('zuoci')!=-1||name.indexOf('key')==0) continue;
|
||||
var skills=lib.character[name][3];
|
||||
for(var j=0;j<skills.length;j++){
|
||||
var info=lib.skill[skills[j]];
|
||||
if(info.charlotte||(info.unique&&!info.gainable)||info.juexingji||info.limited||info.zhuSkill) skills.splice(j--,1);
|
||||
}
|
||||
if(skills.length){
|
||||
player.storage.rehuashen.character.push(name);
|
||||
player.storage.rehuashen.map[name]=skills;
|
||||
_status.characterlist.remove(name);
|
||||
return name;
|
||||
}
|
||||
}
|
||||
},
|
||||
addHuashens:function(player,num){
|
||||
var list=[];
|
||||
for(var i=0;i<num;i++){
|
||||
var name=lib.skill.rehuashen.addHuashen(player);
|
||||
if(name) list.push(name);
|
||||
}
|
||||
if(list.length){
|
||||
game.log(player,'获得了',get.cnNumber(list.length)+'张','#g化身')
|
||||
lib.skill.rehuashen.drawCharacter(player,list);
|
||||
}
|
||||
},
|
||||
removeHuashen:function(player,links){
|
||||
player.storage.rehuashen.character.removeArray(links);
|
||||
_status.characterlist.addArray(links);
|
||||
game.log(player,'移去了',get.cnNumber(links.length)+'张','#g化身')
|
||||
},
|
||||
drawCharacter:function(player,list){
|
||||
game.broadcastAll(function(player,list){
|
||||
if(player.isUnderControl(true)){
|
||||
var cards=[];
|
||||
for(var i=0;i<list.length;i++){
|
||||
var cardname='huashen_card_'+list[i];
|
||||
lib.card[cardname]={
|
||||
fullimage:true,
|
||||
image:'character:'+list[i]
|
||||
}
|
||||
lib.translate[cardname]=lib.translate[list[i]];
|
||||
cards.push(game.createCard(cardname,'',''));
|
||||
}
|
||||
player.$draw(cards,'nobroadcast');
|
||||
}
|
||||
},player,list);
|
||||
},
|
||||
intro:{
|
||||
onunmark:function(storage,player){
|
||||
_status.characterlist.addArray(storage.character);
|
||||
storage.character=[];
|
||||
},
|
||||
mark:function(dialog,storage,player){
|
||||
if(storage&&storage.current) dialog.addSmall([[storage.current],'character']);
|
||||
if(storage&&storage.current2) dialog.addText('【'+get.translation(storage.current2)+
|
||||
'】'+lib.translate[storage.current2+'_info']);
|
||||
if(storage&&storage.character.length){
|
||||
if(player.isUnderControl(true)){
|
||||
dialog.addSmall([storage.character,'character']);
|
||||
}
|
||||
else{
|
||||
dialog.addText('共有'+get.cnNumber(storage.character.length)+'张“化身”');
|
||||
}
|
||||
}
|
||||
else{
|
||||
return '没有化身';
|
||||
}
|
||||
},
|
||||
content:function(storage,player){
|
||||
return '共有'+get.cnNumber(storage.character.length)+'张“化身”'
|
||||
},
|
||||
markcount:function(storage,player){
|
||||
if(storage&&storage.character) return storage.character.length;
|
||||
return 0;
|
||||
},
|
||||
},
|
||||
},
|
||||
rehuashen_init:{
|
||||
trigger:{
|
||||
global:'gameDrawAfter',
|
||||
player:'enterGame',
|
||||
},
|
||||
forced:true,
|
||||
popup:false,
|
||||
content:function(){
|
||||
lib.skill.rehuashen.addHuashens(player,3);
|
||||
player.syncStorage('rehuashen');
|
||||
player.markSkill('rehuashen');
|
||||
var next=game.createEvent('rehuashen');
|
||||
next.player=player;
|
||||
next._trigger=trigger;
|
||||
next.triggername='rehuashen';
|
||||
next.setContent(lib.skill.rehuashen.content);
|
||||
},
|
||||
},
|
||||
rexinsheng:{
|
||||
mode:['identity','single'],
|
||||
unique:true,
|
||||
audio:'xinsheng',
|
||||
trigger:{player:'damageEnd'},
|
||||
frequent:true,
|
||||
content:function(){
|
||||
lib.skill.rehuashen.addHuashens(player,trigger.num);
|
||||
player.syncStorage('rehuashen');
|
||||
player.updateMarks('rehuashen');
|
||||
},
|
||||
},
|
||||
"reguhuo":{
|
||||
group:["reguhuo_guess","reguhuo_respond","reguhuo_wuxie"],
|
||||
derivation:'rechanyuan',
|
||||
enable:"chooseToUse",
|
||||
filter:function (event,player){
|
||||
if(!player.countCards('h')||player.hasSkill('reguhuo_phase')) return false;
|
||||
var list=['sha','tao','shan','jiu','taoyuan','wugu','juedou','huogong','jiedao','tiesuo','guohe','shunshou','wuzhong','wanjian','nanman'];
|
||||
if(get.mode()=='guozhan'){
|
||||
list=list.concat(['xietianzi','shuiyanqijunx','lulitongxin','lianjunshengyan','chiling','diaohulishan','yuanjiao','huoshaolianying']);
|
||||
}
|
||||
for(var i=0;i<list.length;i++){
|
||||
if(event.filterCard({name:list[i]},player)) return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
chooseButton:{
|
||||
dialog:function (){
|
||||
var list=[];
|
||||
for(var i=0;i<lib.inpile.length;i++){
|
||||
var name=lib.inpile[i];
|
||||
if(name=='wuxie') continue;
|
||||
if(name=='sha'){
|
||||
list.push(['基本','','sha']);
|
||||
list.push(['基本','','sha','fire']);
|
||||
list.push(['基本','','sha','thunder']);
|
||||
}
|
||||
else if(get.type(name)=='trick') list.push(['锦囊','',name]);
|
||||
else if(get.type(name)=='basic') list.push(['基本','',name]);
|
||||
}
|
||||
return ui.create.dialog('蛊惑',[list,'vcard']);
|
||||
},
|
||||
filter:function (button,player){
|
||||
var evt=_status.event.getParent();
|
||||
if(evt&&evt.filterCard){
|
||||
return evt.filterCard({name:button.link[2]},player,evt);
|
||||
}
|
||||
return true;
|
||||
},
|
||||
backup:function (links,player){
|
||||
return {
|
||||
filterCard:true,
|
||||
selectCard:1,
|
||||
viewAs:{name:links[0][2],nature:links[0][3]},
|
||||
}
|
||||
},
|
||||
prompt:function (links,player){
|
||||
return '将一张手牌当'+get.translation(links[0][2])+'使用';
|
||||
},
|
||||
},
|
||||
ai:{
|
||||
save:true,
|
||||
respondShan:true,
|
||||
respondSha:true,
|
||||
skillTagFilter:function(player){
|
||||
if(!player.countCards('h')||player.hasSkill('reguhuo_phase')) return false;
|
||||
},
|
||||
},
|
||||
},
|
||||
"reguhuo_guess":{
|
||||
audio:'guhuo_guess',
|
||||
trigger:{
|
||||
player:"useCardBefore",
|
||||
},
|
||||
filter:function (event,player){
|
||||
return event.skill=="reguhuo_backup"||event.skill=="reguhuo_wuxie";
|
||||
},
|
||||
forced:true,
|
||||
direct:true,
|
||||
priority:15,
|
||||
content:function (){
|
||||
'step 0'
|
||||
player.logSkill('reguhuo_guess');
|
||||
player.addTempSkill('reguhuo_phase');
|
||||
player.popup(trigger.card.name,'metal');
|
||||
player.lose(trigger.cards,ui.special);
|
||||
player.line(trigger.targets,trigger.card.nature);
|
||||
trigger.line=false;
|
||||
event.prompt=get.translation(player)+'声明了'+get.translation(trigger.card.name)+',是否质疑?';
|
||||
event.guessers=game.filterPlayer(function(current){
|
||||
return current!=player&&!current.hasSkill('rechanyuan');
|
||||
});
|
||||
event.guessers.sort(lib.sort.seat);
|
||||
event.ally=[];
|
||||
event.betray=[];
|
||||
'step 1'
|
||||
if(event.guessers.length==0) event.goto(3);
|
||||
else{
|
||||
event.guessers[0].chooseControl('质疑','不质疑').set('prompt',event.prompt).set('ai',function(){
|
||||
if(get.attitude(event.guessers[0],player)>0) return '不质疑';
|
||||
return Math.random()<0.5?'不质疑':'质疑';
|
||||
});
|
||||
}
|
||||
'step 2'
|
||||
if(!result.control) result.control='不质疑';
|
||||
event.guessers[0].chat(result.control);
|
||||
game.delay();
|
||||
if(result.control=='不质疑'){
|
||||
game.log(event.guessers[0],'#g不质疑');
|
||||
event.ally.push(event.guessers[0]);
|
||||
}else{
|
||||
game.log(event.guessers[0],'#y质疑');
|
||||
event.betray.push(event.guessers[0]);
|
||||
}
|
||||
event.guessers.remove(event.guessers[0]);
|
||||
if(event.guessers.length) event.goto(1);
|
||||
'step 3'
|
||||
player.showCards(trigger.cards);
|
||||
if(event.betray.length){
|
||||
if(trigger.card.name==trigger.cards[0].name){
|
||||
event.fake=false;
|
||||
}
|
||||
else{
|
||||
event.fake=true;
|
||||
game.log(player,'使用的','#y'+get.translation(trigger.card.name),'作废了');
|
||||
game.cardsDiscard(trigger.cards);
|
||||
trigger.cancel();
|
||||
game.asyncDraw(event.betray);
|
||||
if(trigger.name=='useCard'&&trigger.parent) trigger.parent.goto(0);
|
||||
}
|
||||
}
|
||||
else event.finish();
|
||||
'step 4'
|
||||
if(event.fake){
|
||||
game.delay();
|
||||
event.finish();
|
||||
}
|
||||
'step 5'
|
||||
var target=event.betray.shift();
|
||||
event.target=target;
|
||||
target.chooseToDiscard('弃置一张牌或失去一点体力','he').ai=lib.skill.qiangxi.check;
|
||||
'step 6'
|
||||
if(!result.bool) target.loseHp();
|
||||
'step 7'
|
||||
target.addSkill('rechanyuan');
|
||||
if(event.betray.length) event.goto(5);
|
||||
},
|
||||
},
|
||||
"reguhuo_respond":{
|
||||
trigger:{
|
||||
player:"chooseToRespondBegin",
|
||||
},
|
||||
filter:function (event,player){
|
||||
if(event.responded) return false;
|
||||
if(!event.filterCard({name:'shan'})&&!event.filterCard({name:'sha'})) return false;
|
||||
if(!player.countCards('h')||player.hasSkill('reguhuo_phase')) return false;
|
||||
return true;
|
||||
},
|
||||
direct:true,
|
||||
content:function (){
|
||||
'step 0'
|
||||
if(trigger.filterCard({name:'shan'})&&lib.filter.cardRespondable({name:'shan'},player,trigger)) event.name='shan';
|
||||
else event.name='sha';
|
||||
player.chooseCard('是否发动【蛊惑】,将一张手牌当做'+get.translation(event.name)+'打出?');
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
player.logSkill('reguhuo_guess');
|
||||
player.addTempSkill('reguhuo_phase');
|
||||
player.popup(event.name,'metal');
|
||||
player.lose(result.cards,ui.special);
|
||||
event.card=result.cards[0];
|
||||
event.prompt=get.translation(player)+'声明了'+get.translation(event.name)+',是否质疑?';
|
||||
event.guessers=game.filterPlayer(function(current){
|
||||
return current!=player&&!current.hasSkill('rechanyuan');
|
||||
});
|
||||
event.guessers.sort(lib.sort.seat);
|
||||
event.ally=[];
|
||||
event.betray=[];
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
if(event.guessers.length==0) event.goto(4);
|
||||
else{
|
||||
event.guessers[0].chooseControl('质疑','不质疑').set('prompt',event.prompt).set('ai',function(){
|
||||
if(get.attitude(event.guessers[0],player)>0) return '不质疑';
|
||||
return Math.random()<0.5?'不质疑':'质疑';
|
||||
});
|
||||
}
|
||||
'step 3'
|
||||
if(!result.control) result.control='不质疑';
|
||||
event.guessers[0].chat(result.control);
|
||||
game.delay();
|
||||
if(result.control=='不质疑'){
|
||||
game.log(event.guessers[0],'#g不质疑');
|
||||
event.ally.push(event.guessers[0]);
|
||||
}else{
|
||||
game.log(event.guessers[0],'#y质疑');
|
||||
event.betray.push(event.guessers[0]);
|
||||
}
|
||||
event.guessers.remove(event.guessers[0]);
|
||||
if(event.guessers.length) event.goto(2);
|
||||
'step 4'
|
||||
var bool=true;
|
||||
player.showCards(event.card);
|
||||
if(event.betray.length){
|
||||
if(event.name==event.card.name){
|
||||
event.fake=false;
|
||||
}
|
||||
else{
|
||||
event.fake=true;
|
||||
game.log(player,'打出的','#y'+get.translation(event.name),'作废了');
|
||||
game.cardsDiscard(event.card);
|
||||
bool=false;
|
||||
game.asyncDraw(event.betray);
|
||||
}
|
||||
}
|
||||
else event.finish();
|
||||
if(bool){
|
||||
trigger.untrigger();
|
||||
trigger.responded=true;
|
||||
trigger.result={bool:true,card:{name:event.name},cards:[event.card]};
|
||||
}
|
||||
'step 5'
|
||||
if(event.fake){
|
||||
game.delay();
|
||||
event.finish();
|
||||
}
|
||||
'step 6'
|
||||
var target=event.betray.shift();
|
||||
event.target=target;
|
||||
target.chooseToDiscard('弃置一张牌或失去一点体力','he').ai=lib.skill.qiangxi.check;
|
||||
'step 7'
|
||||
if(!result.bool) target.loseHp();
|
||||
'step 8'
|
||||
if(target.isAlive()) target.addSkill('rechanyuan');
|
||||
if(event.betray.length) event.goto(6);
|
||||
},
|
||||
ai:{
|
||||
order:4,
|
||||
useful:-1,
|
||||
value:-1,
|
||||
},
|
||||
},
|
||||
"reguhuo_wuxie":{
|
||||
log:false,
|
||||
silent:true,
|
||||
popup:false,
|
||||
enable:"chooseToUse",
|
||||
filterCard:true,
|
||||
viewAsFilter:function (player){
|
||||
return !player.hasSkill('reguhuo_phase')&&player.countCards('h')>0;
|
||||
},
|
||||
viewAs:{
|
||||
name:"wuxie",
|
||||
},
|
||||
check:function(card){
|
||||
if(card.name=='wuxie') return 1000;
|
||||
return 0;
|
||||
},
|
||||
prompt:"将一张手牌当无懈可击使用",
|
||||
threaten:1.2,
|
||||
},
|
||||
reguhuo_phase:{},
|
||||
rechanyuan:{
|
||||
//charlotte:true,
|
||||
firstDo:true,
|
||||
trigger:{
|
||||
player:["phaseBefore","changeHp"],
|
||||
},
|
||||
priority:99,
|
||||
forced:true,
|
||||
popup:false,
|
||||
unique:true,
|
||||
content:function (){
|
||||
if(player.hp<=1){
|
||||
var skills=player.getSkills(true,false);
|
||||
for(var i=0;i<skills.length;i++){
|
||||
var info=get.info(skills[i]);
|
||||
if(skills[i]=='chanyuan'||skills[i]=='rechanyuan'||info.charlotte){
|
||||
skills.splice(i--,1);
|
||||
}
|
||||
}
|
||||
player.disableSkill('rechanyuan',skills);
|
||||
}
|
||||
else player.enableSkill('rechanyuan');
|
||||
},
|
||||
mark:true,
|
||||
intro:{
|
||||
content:function (storage,player,skill){
|
||||
var str='<li>锁定技,你不能质疑于吉,只要你的体力值不大于1,你的其他技能便全部失效。';
|
||||
var list=[];
|
||||
for(var i in player.disabledSkills){
|
||||
if(player.disabledSkills[i].contains(skill)){
|
||||
list.push(i)
|
||||
}
|
||||
}
|
||||
if(list.length){
|
||||
str+='<br><li>失效技能:';
|
||||
for(var i=0;i<list.length;i++){
|
||||
if(lib.translate[list[i]+'_info']){
|
||||
str+=get.translation(list[i])+'、';
|
||||
}
|
||||
}
|
||||
return str.slice(0,str.length-1);
|
||||
}else return str;
|
||||
},
|
||||
},
|
||||
init:function (player,skill){
|
||||
if(player.hp<=1){
|
||||
var skills=player.getSkills(true,false);
|
||||
for(var i=0;i<skills.length;i++){
|
||||
var info=get.info(skills[i]);
|
||||
if(skills[i]=='chanyuan'||skills[i]=='rechanyuan'||info.charlotte){
|
||||
skills.splice(i--,1);
|
||||
}
|
||||
}
|
||||
player.disableSkill(skill,skills);
|
||||
}
|
||||
},
|
||||
onremove:function (player,skill){
|
||||
player.enableSkill(skill);
|
||||
},
|
||||
locked:true,
|
||||
},
|
||||
botu:{
|
||||
audio:2,
|
||||
group:'botu_kanade',
|
||||
|
@ -1594,7 +2175,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
rejiuyuan:{
|
||||
global:'rejiuyuan2'
|
||||
global:'rejiuyuan2',
|
||||
zhuSkill:true,
|
||||
},
|
||||
rejiuyuan2:{
|
||||
audio:'jiuyuan',
|
||||
|
@ -3286,7 +3868,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
|
||||
xinleiji:'雷击',
|
||||
xinguidao:'鬼道',
|
||||
xinleiji_info:'当你使用或打出【闪】或【闪电】时,你可以进行判定。当你的判定牌生效后,若结果为:黑桃,你对一名角色造成2点雷电伤害;梅花:你回复1点体力并对一名其他角色造成1点雷电伤害。',
|
||||
xinleiji_info:'①当你使用或打出【闪】或【闪电】时,你可以进行判定。<br>②当你的判定牌生效后,若结果为:黑桃,你对一名角色造成2点雷电伤害;梅花:你回复1点体力并对一名其他角色造成1点雷电伤害。',
|
||||
xinguidao_info:'一名角色的判定牌生效前,你可以打出一张黑色牌作为判定牌并获得原判定牌。若你以此法打出的牌为黑桃2-9,则你摸一张牌。',
|
||||
reqiangxi:"强袭",
|
||||
"reqiangxi_info":"出牌阶段对每名其他角色限一次,你可以选择一项:1. 失去一点体力并对你攻击范围内的一名其他角色造成一点伤害;2. 弃置一张武器牌并对你攻击范围内的一名其他角色造成一点伤害。",
|
||||
|
@ -3428,6 +4010,27 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
reganglie_info:'每当你受到1点伤害后,可进行一次判定,若结果为红色,你对伤害来源造成1点伤害,若结果为黑色,你弃置其一张牌。',
|
||||
botu:'博图',
|
||||
botu_info:'回合结束时,若你本回合使用的牌包含四种花色,则你可以进行一个额外回合。',
|
||||
|
||||
xin_yuji:'界于吉',
|
||||
re_zuoci:'界左慈',
|
||||
"reguhuo":"蛊惑",
|
||||
"reguhuo_info":"每名角色的回合限一次,你可以扣置一张手牌当一张基本牌或普通锦囊牌使用或打出。其他角色依次选择是否质疑。然后,你展示此牌。若有质疑的角色:若此牌为假,则此牌作废,且所有质疑者各摸一张牌;为真,则所有质疑角色须弃置一张牌或失去1点体力,并获得技能〖缠怨〗。",
|
||||
"reguhuo_guess":"蛊惑",
|
||||
"reguhuo_guess_info":"",
|
||||
rechanyuan:"缠怨",
|
||||
"rechanyuan_info":"锁定技,你不能质疑于吉,只要你的体力值不大于1,你失去你的武将技能。",
|
||||
"reguhuo_respond":"蛊惑",
|
||||
"reguhuo_respond_info":"",
|
||||
"reguhuo_wuxie":"蛊惑",
|
||||
"reguhuo_wuxie_info":"",
|
||||
"reguhuo_phase":"蛊惑",
|
||||
"reguhuo_phase_info":"",
|
||||
rehuashen:'化身',
|
||||
rehuashen_info:'游戏开始后,你随机获得三张未加入游戏的武将牌,选一张置于你面前并声明该武将牌的一项技能,你拥有该技能且同时将性别和势力属性变成与该武将相同直到该化身被替换。你的每个准备阶段和结束后,你可以选择一项:①弃置至多两张未展示的化身牌并重新获得等量化身牌;②更换所展示的化身牌或技能。(你不可声明限定技、觉醒技或主公技)。',
|
||||
rexinsheng:'新生',
|
||||
rexinsheng_info:'当你受到1点伤害后,你可以获得一张新的化身牌。',
|
||||
refresh_standard:'界限突破·标',
|
||||
refresh_ol:'界限突破OL',
|
||||
},
|
||||
};
|
||||
});
|
||||
|
|
|
@ -10,7 +10,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
sp_zlzy:["zhangqiying","lvkai","zhanggong","weiwenzhugezhi","beimihu"],
|
||||
sp_longzhou:["xf_tangzi","xf_huangquan","xf_sufei","sp_liuqi"],
|
||||
sp_zizouqi:["mangyachang","xugong","zhangchangpu"],
|
||||
sp_sbfm:["lisu","xinpi"],
|
||||
sp_sbfm:["lisu","xinpi","zhangwen"],
|
||||
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_guozhan:["shamoke","ganfuren","yuejin","hetaihou","dingfeng","panfeng","jianggan"],
|
||||
|
@ -22,6 +22,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
character:{
|
||||
xinpi:['male','wei',3,['xpchijie','yinju'],['unseen']],
|
||||
lisu:['male','qun',2,['lslixun','lskuizhu']],
|
||||
zhangwen:['male','wu',3,['songshu','sibian']],
|
||||
|
||||
hejin:['male','qun',4,['mouzhu','yanhuo']],
|
||||
hansui:['male','qun',4,['mashu','niluan']],
|
||||
|
@ -166,6 +167,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
//kaisa:["male","western",4,["zhengfu"]],
|
||||
},
|
||||
characterIntro:{
|
||||
zhangwen:'张温(193年—230年),字惠恕,吴郡吴县(今江苏苏州)人。少修节操,容貌奇伟。孙权召拜议郎、选曹尚书,徙太子太傅。黄武三年(224),以辅义中郎将身份出使蜀汉,孙权原先害怕诸葛亮会有意留难张温,但张温不担心。在呈上蜀汉朝廷的文书刻意称颂蜀汉,以表明和解的诚意,重建两国关系。他在蜀汉表现出色,得蜀汉朝廷重视。回东吴后不久,被调进豫章的军队,事业上再无进展。孙权一方面介怀他出使蜀汉时称颂蜀汉,又嫌他声名太盛,恐怕张温不会尽忠地由他任用。当时正好碰上暨艳事件,暨艳是张温引荐的臣子,但他滥用职权,升迁评定等只看自己喜恶。事件被揭发后暨艳及同党徐彪都自杀。孙权见此,于是以张温与暨艳、徐彪等人多有来往而下罪张温,后更将张温发还到家乡吴郡。将军骆统曾上书为张温辩解,但孙权不理会。六年后,张温病逝。',
|
||||
lisu:'李肃(?-192年),五原(治今内蒙古包头西北)人。永汉三年四月,司徒王允、尚书仆射士孙瑞、卓将吕布共谋诛卓。是时,天子有疾新愈,大会未央殿。布使同郡骑都尉肃等、将亲兵十馀人,伪著卫士服守掖门。布怀诏书。卓至,肃等格卓。卓惊呼布所在。布曰“有诏”,遂杀卓,夷三族。后卓女婿中郎将牛辅典兵别屯陕,分遣校尉李傕、郭汜、张济略陈留、颍川诸县。卓死,吕布使李肃至陕,欲以诏命诛辅。辅等逆与肃战,肃败走弘农,布诛肃。',
|
||||
xinpi:'辛毗(生卒年不详),字佐治,颍川阳翟人。三国时期曹魏大臣。原居陇西(郡治在今甘肃临洮县),东汉光武帝建武年间,其先人东迁。当初,辛毗跟随其兄事袁绍。曹操任司空时,征召辛毗,他不受命。官渡战后,辛毗事袁绍的儿子袁谭。公元204年,曹操攻下邺城,上表推荐辛毗任议郎,后为丞相长史。公元220年,曹丕即皇帝位,以辛毗为侍中,赐爵关内侯,后赐广平亭侯。魏明帝即位,封辛毗颍乡侯,食邑三百户,后为卫尉。公元234年,诸葛亮屯兵渭南,司马懿上表魏明帝。魏明帝任辛毗为大将军军师,加使持节号。诸葛亮病逝后,辛毗返回,仍任卫尉。不久,逝世,谥肃侯。',
|
||||
hejin:'何进(?~189年),字遂高,南阳郡宛县(今河南南阳市宛城区)人。东汉时期外戚大臣,灵思皇后之兄。初以妹妹有宠,拜为郎中,出任虎贲中郎将、颍川太守,迁侍中、将作大匠、河南尹。黄巾起义时,拜为大将军,总镇京师,发现并镇压马元义的密谋,封为慎侯。为张大威望,在京师讲武结营,置西园八校尉。汉灵帝驾崩后,粉碎了中常侍蹇硕拥立皇子刘协的图谋,听从袁绍之言,博征智谋之士,内借元舅之资,外据辅政之权,独揽朝中大权。中平六年(189),不纳陈琳和曹操劝谏,阴结军阀董卓,联合袁绍谋诛宦竖。事情败露后,为中常侍张让等人损害,其后代是魏晋高门士族南阳何氏。',
|
||||
hansui:'韩遂(?-215年),字文约。凉州金城郡人。东汉末年军阀、将领,汉末群雄之一。原名韩约,后改名遂。韩遂最初闻名于西州,被羌胡叛军劫持并推举为首领,以诛宦官为名举兵造反,聚众十万,先后败皇甫嵩、张温、董卓、孙坚等名将,使得天下骚动。后受朝廷招安,拥兵割据一方长达三十余年。韩遂曾与马腾结为异姓兄弟,后二人关系破裂。袁绍、曹操相争之际,马腾、韩遂被钟繇说服,依附于曹操。马腾入京后,留其子马超统领部队。马超推举韩遂为都督起兵反叛曹操,为曹操所败,韩遂逃奔凉州,后又为夏侯渊所败,病死(一说被杀),享年七十余岁。',
|
||||
|
@ -579,6 +582,61 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
skill:{
|
||||
//上兵伐谋
|
||||
//伊籍在标包 不会移动
|
||||
songshu:{
|
||||
audio:2,
|
||||
enable:'phaseUse',
|
||||
filter:function(event,player){
|
||||
return !player.hasSkill('songshu_reflectionblue')&&player.countCards('h')>0;
|
||||
},
|
||||
filterTarget:function(card,player,target){
|
||||
return target!=player&&player.canCompare(target);
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseToCompare(target).set('small',get.attitude(player,target)>0);
|
||||
'step 1'
|
||||
if(!result.bool){
|
||||
target.draw(2);
|
||||
player.addTempSkill('songshu_reflectionblue');
|
||||
}
|
||||
},
|
||||
},
|
||||
songshu_reflectionblue:{
|
||||
//不愧是你 马场老贼
|
||||
},
|
||||
sibian:{
|
||||
audio:2,
|
||||
trigger:{player:'phaseDrawBefore'},
|
||||
content:function(){
|
||||
'step 0'
|
||||
trigger.cancel();
|
||||
event.cards=get.cards(4);
|
||||
player.showCards(event.cards);
|
||||
'step 1'
|
||||
cards.sort(function(a,b){
|
||||
return b.number-a.number;
|
||||
});
|
||||
var gains=[];
|
||||
var mx=[cards[0].number,cards[3].number];
|
||||
for(var i=0;i<cards.length;i++){
|
||||
if(mx.contains(cards[i].number)) gains.addArray(cards.splice(i--,1));
|
||||
}
|
||||
player.gain(gains,'gain2');
|
||||
if(cards.length!=2||Math.abs(gains[0].number-gains[1].number)>=game.players.length) event._result={bool:false};
|
||||
else player.chooseTarget('是否令一名手牌数最少的角色获得'+get.translation(cards),function(card,player,target){
|
||||
return target.isMinHandcard();
|
||||
}).ai=function(target){
|
||||
return get.attitude(_status.event.player,target);
|
||||
}
|
||||
'step 2'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
player.line(target);
|
||||
target.gain(cards,'gain2');
|
||||
}
|
||||
else if(cards.length) game.cardsDiscard(cards);
|
||||
},
|
||||
},
|
||||
lslixun:{
|
||||
audio:2,
|
||||
forced:true,
|
||||
|
@ -7048,14 +7106,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
}
|
||||
game.delay(2);
|
||||
if(trigger.name=='respond'){
|
||||
if(trigger.parent.result){
|
||||
trigger.parent.result.bool=false;
|
||||
}
|
||||
}
|
||||
else{
|
||||
trigger.cancel();
|
||||
}
|
||||
trigger.cancel();
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
|
@ -12142,6 +12193,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
backup:function(links,player){
|
||||
return {
|
||||
audio:'aocai',
|
||||
filterCard:function(){return false},
|
||||
selectCard:-1,
|
||||
viewAs:links[0],
|
||||
|
@ -13253,12 +13305,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
niujin:'牛金',
|
||||
xinpi:'辛毗',
|
||||
lisu:'李肃',
|
||||
zhangwen:'张温',
|
||||
|
||||
songshu:'颂蜀',
|
||||
songshu_info:'出牌阶段,你可以和其他角色拼点。若你没赢,其摸两张牌,且你本阶段内不能再发动〖思辨〗',
|
||||
sibian:'思辨',
|
||||
sibian_info:'摸牌阶段,你可以放弃摸牌,改为亮出牌堆顶的四张牌,然后获得其中所有点数最大与点数最小的牌。若获得的牌是两张且点数之差小于存活人数,则你可以将剩余的牌交给手牌数最少的角色。',
|
||||
lslixun:'利熏',
|
||||
lslixun_fate:'利熏',
|
||||
lslixun_info:'锁定技,当你受到伤害时,你防止此伤害,然后获得等同于伤害值的“珠”标记。出牌阶段开始时,你进行一次判定,若结果点数小于“珠”的数量,你弃置等同于“珠”数量的手牌(若弃牌的牌数不够,则失去剩余数量的体力值)。',
|
||||
lskuizhu:'馈珠',
|
||||
lskuizhu_info:'出牌阶段结束时,你可以选择体力值全场最多的一名其他角色,将手牌摸至与该角色相同(最多摸至五张),然后该角色观看你的手牌,弃置任意张手牌并从观看的牌中获得等量的牌。若其获得的牌大于一张,则你选择一项:移去一个“珠”;或令其对其攻击范围内的一名角色造成1点伤害。',
|
||||
|
||||
xpchijie:'持节',
|
||||
xpchijie_info:'每回合限一次,当你成为其他角色使用牌的目标后,你可以获得如下效果:当此牌对其他角色造成伤害时,若此牌已对你造成过伤害,则你防止此伤害;当此牌使用结算完成时,你可以获得此牌对应的所有实体牌。',
|
||||
xpchijie3:'持节',
|
||||
|
|
|
@ -4011,6 +4011,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
chanyuan:{
|
||||
//charlotte:true,
|
||||
firstDo:true,
|
||||
trigger:{
|
||||
player:["phaseBefore","changeHp"],
|
||||
},
|
||||
|
@ -4023,7 +4024,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var skills=player.getSkills(true,false);
|
||||
for(var i=0;i<skills.length;i++){
|
||||
var info=get.info(skills[i]);
|
||||
if(skills[i]=='chanyuan'||info.charlotte){
|
||||
if(skills[i]=='chanyuan'||skills[i]=='rechanyuan'||info.charlotte){
|
||||
skills.splice(i--,1);
|
||||
}
|
||||
}
|
||||
|
@ -4057,7 +4058,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var skills=player.getSkills(true,false);
|
||||
for(var i=0;i<skills.length;i++){
|
||||
var info=get.info(skills[i]);
|
||||
if(skills[i]=='chanyuan'||info.charlotte){
|
||||
if(skills[i]=='chanyuan'||skills[i]=='rechanyuan'||info.charlotte){
|
||||
skills.splice(i--,1);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue