This commit is contained in:
libccy 2017-02-03 18:57:04 +08:00
parent 8507da92d7
commit de5b82fed8
9 changed files with 684 additions and 41 deletions

View File

@ -102,13 +102,13 @@ card.hearth={
var js=target.get('j');
if(js.length){
var jj=js[0].viewAs?{name:js[0].viewAs}:js[0];
if(jj.name=='guohe') return 3;
if(jj.name=='zhaomingdan') return 3;
if(js.length==1&&ai.get.effect(target,jj,target,player)>=0){
return 0.5;
return 0;
}
return 3;
}
return 0.5;
return 0.1;
}
}
}

View File

@ -218,6 +218,9 @@ character.gujian={
}
event.finish();
}
else if(info.notarget){
player.useCard(card);
}
else{
var next=player.chooseTarget('选择'+get.translation(name)+'的目标');
next._get_card=card;
@ -716,6 +719,7 @@ character.gujian={
filter:function(event,player){
return event.source&&event.source!=player&&event.source.num('h')>0;
},
logTarget:'source',
content:function(){
"step 0"
trigger.source.chooseCard('交给'+get.translation(player)+'一张手牌',true).ai=function(card){
@ -1637,7 +1641,7 @@ character.gujian={
yanjia:'偃甲',
yanjia_info:'出牌阶段,你可以将两张装备牌合成为一张强化装备',
xiuhua:'袖花',
xiuhua_info:'每当一件装备因被替换或弃置进入弃牌堆,你可以获得之',
xiuhua_info:'每当一件其他角色的装备因被替换或弃置进入弃牌堆,你可以获得之',
liuying:'流影',
liuying_info:'每当你使用一张杀,你可以指定一名不是此杀目标的角色并进行一次判定,若结果是黑色,将其追加为杀的额外目标并可以再次判定',
boyun:'拨云',

View File

@ -248,7 +248,7 @@ character.ow={
unique:true,
init2:function(player){
if(!player.storage.zhongdun){
player.changeHujia(game.players.length);
player.changeHujia(8);
player.storage.zhongdun=true;
}
},
@ -2973,7 +2973,7 @@ character.ow={
mengji:'猛击',
mengji_info:'锁定技,若你已发动重盾,当你没有护甲时,你的杀造成的伤害+1',
zhongdun:'重盾',
zhongdun_info:'游戏开始时,你获得等同于游戏人数护甲;出牌阶段限一次,你可以弃置一张牌并将一点护甲分给一名没有护甲的其他角色',
zhongdun_info:'游戏开始时,你获得8点护甲;出牌阶段限一次,你可以弃置一张牌并将一点护甲分给一名没有护甲的其他角色',
paotai:'炮台',
paotai2:'炮台',
paotai_info:'出牌阶段你可以弃置一张杀布置或升级一个炮台最高3级回合结束阶段炮台有一定机率对一名随机敌人造成一点火焰伤害每当你受到一点伤害炮台降低一级',

View File

@ -318,7 +318,11 @@ character.standard={
tiandu:{
audio:4,
trigger:{player:'judgeEnd'},
frequent:true,
frequent:'check',
check:function(event){
if(event.result.card.name=='du') return false;
return true;
},
filter:function(event,player){
if(get.owner(event.result.card)){
return false;

View File

@ -4073,7 +4073,7 @@ character.swd={
var att=ai.get.attitude(player,trigger.player);
var nh=player.num('h');
var next=player.chooseToDiscard(get.prompt('susheng',trigger.player));
next.logSkill='susheng';
next.logSkill=['susheng',trigger.player];
next.ai=function(card){
if(att>3||(att>1&&nh>2)){
return ai.get.unuseful2(card);

View File

@ -5,8 +5,6 @@ play.boss={
lib.characterPack.mode_extension_boss={
boss_zhangchunhua:['female','wei',4,['jueqing','wuxin','shangshix'],['boss','bossallowed'],'wei'],
boss_zhenji:['female','wei',4,['tashui','lingbo','jiaoxia','fanghua'],['boss','bossallowed'],'wei'],
// boss_liubei:['male','shu',5,['lingfeng'],['boss','bossallowed'],'qun'],
// boss_zhugeliang:['male','shu',4,[],['boss','bossallowed'],'qun'],
boss_huangyueying:['female','shu',4,['boss_gongshen','boss_jizhi','qicai','boss_guiyin'],['boss','bossallowed'],'wei'],
boss_pangtong:['male','shu',4,['boss_tianyu','qiwu','niepan','boss_yuhuo'],['boss','bossallowed'],'zhu'],
boss_zhaoyun:['male','shu',1,['boss_juejing','longhun','zhanjiang'],['boss','bossallowed'],'qun'],
@ -41,6 +39,12 @@ play.boss={
boss_huatuo:['male','qun',6,['chulao','mazui','boss_shengshou','guizhen','wuqin'],['boss','bossallowed'],'wu'],
boss_dongzhuo:['male','qun',20,['jiuchi','boss_qiangzheng','boss_baolin'],['boss','bossallowed'],'shu'],
// boss_shuijing:['male','qun',8,[],['boss','bossallowed'],'wei'],
boss_liubei:['male','shu',12,['xiaoxiong','boss_zhangwu'],['boss','bossallowed'],'qun'],
boss_zhugeliang:['male','shu',Infinity,['xiangxing','yueyin','fengqi','gaiming'],['boss','bossallowed'],'qun'],
boss_guojia:['male','wei',4,['tiandu','boss_guimou','boss_yuance','boss_qizuo'],['boss','bossallowed'],'zhu'],
boss_caocao:['male','wei',12,['boss_guixin','xiongcai'],['boss','bossallowed'],'wei'],
};
for(var i in lib.characterPack.mode_extension_boss){
lib.characterPack.mode_extension_boss[i][4].push('mode:boss');

View File

@ -3722,7 +3722,7 @@
}
},
init:{
bind:function(){
init:function(){
if(window.cordovaLoadTimeout){
clearTimeout(window.cordovaLoadTimeout);
delete window.cordovaLoadTimeout;
@ -4172,8 +4172,7 @@
_status.windowLoaded=true;
}
};
},
init:function(){
if(window.noname_update){
lib.version=window.noname_update.version;
lib.changeLog=window.noname_update.changeLog;
@ -5264,6 +5263,7 @@
proceed();
}
localStorage.removeItem(lib.configprefix+'directstart');
delete lib.init.init;
},
startOnline:function(){
'step 0'
@ -15502,7 +15502,7 @@
// else{
// trigger.start=trigger.source||trigger.player;
// }
var str=get.translation(trigger.player.name)+'濒死,是否帮助?<br><div class="text center">当前体力:'+trigger.player.hp+'</div>';
var str=get.translation(trigger.player.name)+'濒死,是否帮助?<br><div class="text center" style="margin-top:10px">当前体力:'+trigger.player.hp+'</div>';
_status.dying=event.dying;
if(lib.config.tao_enemy&&event.dying.side!=player.side&&lib.config.mode!='identity'&&lib.config.mode!='guozhan'){
event._result={bool:false}
@ -23238,6 +23238,9 @@
if(mode.indexOf('mode_')!=0){
page.appendChild(cfgnode);
}
else{
page.style.paddingTop='8px';
}
var banCard=function(e){
if(_status.clicked){
_status.clicked=false;
@ -33092,10 +33095,26 @@
}
break;
}
case 'character':case 'characters':{
if(typeof content=='string'){
content=[content];
}
if(dialog&&Array.isArray(content)){
dialog.addAuto([content,'character']);
return false;
}
else{
if(content&&content.length){
return get.translation(content);
}
return false;
}
break;
}
default:{
if(typeof type=='string'){
type=type.replace(/#/g,content);
type.replace(/\$/g,get.cnNumber(content));
type.replace(/&/g,get.cnNumber(content));
return type;
}
else if(typeof type=='function'){
@ -34245,6 +34264,5 @@
}
},
};
lib.init.bind();
lib.init.init();
}());

View File

@ -1,8 +1,9 @@
window.noname_update={
version:'1.9.7.2',
version:'1.9.7.3',
update:'1.9.7',
changeLog:[
'bug修复',
'新boss',
],
files:[
'game/game.js',
@ -10,23 +11,25 @@ window.noname_update={
// 'game/package.js',
// 'game/asset.js',
// 'game/source.js',
// 'card/hearth.js',
'card/hearth.js',
'card/swd.js',
// 'card/gujian.js',
// 'card/sp.js',
// 'card/guozhan.js',
// 'character/rank.js',
// 'character/extra.js',
// 'character/ow.js',
'character/ow.js',
// 'character/hearth.js',
// 'character/refresh.js',
// 'character/shenhua.js',
'character/standard.js',
// 'character/sp.js',
// 'character/xianjian.js',
// 'character/swd.js',
'character/swd.js',
// 'character/yxs.js',
'character/gujian.js',
'character/yijiang.js',
// 'mode/boss.js',
'mode/boss.js',
// 'mode/chess.js',
// 'mode/versus.js',
// 'mode/guozhan.js',
@ -39,5 +42,6 @@ window.noname_update={
// 'layout/mobile/layout.css',
// 'layout/newlayout/global.css',
// 'layout/mode/stone.css',
'extension/boss/extension.js',
]
}

View File

@ -78,7 +78,8 @@ mode.boss={
var list=[];
for(var i in lib.character){
var info=lib.character[i];
if(info[4].contains('boss')&&get.config(i+'_boss_config')){
if(info[4].contains('boss')){
if(lib.characterPack.mode_boss[i]&&!get.config(i+'_boss_config')) continue;
var cfg=i+'_bossconfig';
if(get.config(cfg)==undefined){
game.saveConfig(cfg,true,true);
@ -188,8 +189,8 @@ mode.boss={
var rect=event.current.getBoundingClientRect();
var boss=ui.create.player();
boss.getId();
boss.init(event.current.name);
game.boss=boss;
boss.init(event.current.name);
boss.side=true;
boss.node.equips.style.opacity='0';
if(!event.noslide){
@ -423,10 +424,10 @@ mode.boss={
// boss_shuijing:['male','qun',8,[],['boss','bossallowed'],'wei'],
// boss_sunshangxiang:['male','qun',8,[],['boss','bossallowed'],'wei'],
// boss_liubei:['male','shu',5,['lingfeng'],['boss','bossallowed'],'qun'],
// boss_zhugeliang:['male','shu',4,[],['boss','bossallowed'],'qun'],
// boss_guojia:['male','wei',4,[],['boss','bossallowed'],'zhu'],
// boss_caocao:['male','wei',4,[],['boss','bossallowed'],'wei'],
boss_liubei:['male','shu',12,['xiaoxiong','boss_zhangwu'],['boss','bossallowed'],'qun'],
boss_zhugeliang:['male','shu',Infinity,['xiangxing','yueyin','fengqi','gaiming'],['boss','bossallowed'],'qun'],
boss_guojia:['male','wei',4,['tiandu','boss_guimou','boss_yuance','boss_qizuo'],['boss','bossallowed'],'zhu'],
boss_caocao:['male','wei',12,['boss_guixin','xiongcai'],['boss','bossallowed'],'wei'],
}
},
init:function(){
@ -823,20 +824,582 @@ mode.boss={
},
},
skill:{
_bossswap:{
trigger:{player:['phaseBegin','chooseToUseBegin','chooseToRespondBegin','chooseToDiscardBegin','chooseToCompareBegin',
'chooseButtonBegin','chooseCardBegin','chooseTargetBegin','chooseCardTargetBegin','chooseControlBegin',
'chooseBoolBegin','choosePlayerCardBegin','discardPlayerCardBegin','gainPlayerCardBegin']},
forced:true,
priority:100,
popup:false,
boss_qizuo:{
trigger:{player:'useCardAfter'},
filter:function(event,player){
if(!get.config('single_control')) return false;
if(event.autochoose&&event.autochoose()) return false;
return player.isUnderControl();
if(event.parent.name=='boss_qizuo') return false;
if(!event.targets||!event.card) return false;
if(event.card&&event.card.name=='wuxie') return false;
var type=get.type(event.card);
if(type!='trick') return false;
var card=game.createCard(event.card.name,event.card.suit,event.card.number,event.card.nature);
for(var i=0;i<event.targets.length;i++){
if(!event.targets[i].isAlive()) return false;
if(!player.canUse({name:event.card.name},event.targets[i],false,false)){
return false;
}
}
return true;
},
check:function(event,player){
if(event.card.name=='tiesuo') return false;
return true;
},
content:function(){
game.modeSwapPlayer(player);
var card=game.createCard(trigger.card.name,trigger.card.suit,trigger.card.number,trigger.card.nature);
player.useCard(card,trigger.targets);
},
ai:{
threaten:1.3
},
},
boss_guimou:{
trigger:{player:'phaseEnd'},
frequent:true,
content:function(){
var list=game.filterPlayer(function(target){
return target!=player&&!target.isMad();
});
if(list.length){
var target=list.randomGet();
player.line(target,'green');
target.goMad({player:'phaseAfter'});
}
}
},
boss_yuance:{
trigger:{global:'damageEnd'},
filter:function(event){
return event.source&&event.source!=event.player&&event.source.isAlive()&&event.player.isAlive();
},
direct:true,
content:function(){
'step 0'
var att1=ai.get.attitude(player,trigger.player);
var att2=ai.get.attitude(player,trigger.source);
var targets=player.getEnemies();
var stop=false;
for(var i=0;i<targets.length;i++){
var skills=targets[i].get('s');
for(var j=0;j<skills.length;j++){
if(get.tag(skills[j],'rejudge',targets[i])){
stop=true;break;
}
}
}
var rand=Math.random()<0.5?'选项一':'选项二';
player.chooseControl('选项一','选项二','cancel2',function(){
if(att1==0&&att2==0) return rand;
if(att1*att2>=0){
if(att1+att2>0){
return '选项二';
}
else{
return '选项一';
}
}
else{
if(trigger.player.isHealthy()&&trigger.source.isHealthy()) return rand;
if(trigger.player.isHealthy()){
if(att1<0) return '选项二';
if(att1>0&&!stop) return '选项一';
}
if(trigger.source.isHealthy()){
if(att2<0) return '选项二';
if(att2>0&&!stop) return '选项一';
}
if(stop) return 'cancel2';
return rand;
}
}).set('prompt',get.prompt('boss_yuance')+
'<br><br><div class="text">选项一:若结果为黑色,受伤害角色失去一点体力,否则伤害来源失去一点体力</div><br><div class="text">选项二:若结果为红色,受伤害角色回复一点体力,否则伤害来源回复一点体力</div>');
'step 1'
var att1=ai.get.attitude(player,trigger.player);
var att2=ai.get.attitude(player,trigger.source);
if(result.control=='选项一'){
event.type=1;
player.judge(function(card){
if(get.color(card)=='black'){
if(att1>0) return -1;
if(att1<0) return 1;
}
else{
if(att2>0) return -1;
if(att2<0) return 1;
}
return 0;
});
}
else if(result.control=='选项二'){
event.type=2;
player.judge(function(card){
if(get.color(card)=='red'){
if(trigger.player.isDamaged()){
if(att1>0) return 1;
if(att1<0) return -1;
}
}
else{
if(trigger.source.isDamaged()){
if(att2>0) return 1;
if(att2<0) return -1;
}
}
return 0;
});
}
else{
event.finish();
}
'step 2'
if(event.type==1){
if(result.color=='black'){
trigger.player.loseHp();
}
else{
trigger.source.loseHp();
}
}
else{
if(result.color=='red'){
trigger.player.recover();
}
else{
trigger.source.recover();
}
}
}
},
boss_guixin:{
trigger:{global:'drawAfter'},
forced:true,
logTarget:'player',
filter:function(event,player){
return event.result&&event.result.length>=2&&event.player!=player;
},
content:function(){
'step 0'
trigger.player.chooseCard(function(card){
return trigger.result.contains(card);
},'归心:交给'+get.translation(player)+'一张牌',true);
'step 1'
if(result.bool){
player.gain(result.cards,trigger.player);
trigger.player.$give(1,player);
}
}
},
xiongcai:{
unique:true,
trigger:{player:'phaseAfter'},
direct:true,
init:function(player){
player.storage.xiongcai=[];
// player.storage.xiongcai2=0;
},
intro:{
content:'characters'
},
content:function(){
'step 0'
// if(player.storage.xiongcai2<1){
// player.storage.xiongcai2++;
// event.finish();
// }
// else{
// player.storage.xiongcai2=0;
// }
'step 1'
player.logSkill('xiongcai');
var list=[];
var list2=[];
var players=game.players.concat(game.dead);
for(var i=0;i<players.length;i++){
list2.add(players[i].name);
list2.add(players[i].name1);
list2.add(players[i].name2);
}
for(var i in lib.character){
if(lib.character[i][1]!='wei') continue;
if(lib.character[i][4].contains('boss')) continue;
if(lib.character[i][4].contains('minskin')) continue;
if(player.storage.xiongcai.contains(i)) continue;
if(list2.contains(i)) continue;
list.push(i);
}
var name=list.randomGet();
player.storage.xiongcai.push(name);
player.markSkill('xiongcai');
var skills=lib.character[name][3];
for(var i=0;i<skills.length;i++){
player.addSkill(skills[i]);
}
event.dialog=ui.create.dialog('<div class="text center">'+get.translation(player)+'发动了【雄才】',[[name],'character']);
game.delay(2);
'step 2'
event.dialog.close();
}
},
xiaoxiong:{
trigger:{global:'useCardAfter'},
forced:true,
unique:true,
forceunique:true,
filter:function(event,player){
var type=get.type(event.card,'trick');
return event.player!=player&&(type=='basic'||type=='trick');
},
content:function(){
player.gain(game.createCard(trigger.card),'gain2');
}
},
boss_zhangwu:{
global:'boss_zhangwu_ai',
trigger:{player:'damageEnd'},
check:function(event,player){
return event.source&&ai.get.damageEffect(event.source,player,player)>0;
},
filter:function(event){
return event.source&&event.source.isAlive();
},
logTarget:'source',
content:function(){
'step 0'
var target=trigger.source;
if(target.num('h')==0){
target.damage();
event.finish();
}
else{
target.chooseControl('discard_card','get_damage',function(){
if(ai.get.damageEffect(target,player,target)>=0) return 'get_damage';
var nh=target.num('h');
if(nh==1||target.hp<=2||target.hasSkillTag('noh')) return 'discard_card';
return 'get_damage';
})
}
'step 1'
var target=trigger.source;
if(result.control=='discard_card'){
target.discard(target.get('h'));
}
else{
target.damage();
}
},
ai:{
maixie:true
}
},
boss_zhangwu_ai:{
ai:{
effect:{
target:function(card,player,target){
if(get.tag(card,'recover')&&card.name!='recover'){
for(var i=0;i<game.players.length;i++){
if(game.players[i].hasSkill('xiaoxiong')&&ai.get.attitude(target,game.players[i])<0){
return 'zeroplayertarget';
}
}
}
}
}
}
},
yueyin:{
unique:true,
mark:true,
intro:{
content:function(storage,player){
var str='扣减'+(7-player.storage.xiangxing_count)+'点体力后失去下一枚星;';
str+='防上禳星伤害条件:'+lib.translate['xiangxing'+player.storage.xiangxing+'_info'];
return str;
},
markcount:function(storage,player){
return Math.max(0,7-player.storage.xiangxing_count);
}
},
skipDamage:{
x7:function(player){
return player.num('h')==0;
},
x6:function(player,event){
return event.nature=='fire';
},
x5:function(player,event){
return event.nature=='thunder';
},
x4:function(player,event){
return event.name=='loseHp';
},
x3:function(player,event){
for(var i=0;i<game.players.length;i++){
if(game.players[i]!=player&&game.players[i].num('e')>=4) return true;
}
return false;
},
x2:function(player){
return player.num('j')>=2;
},
x1:function(){
return game.players.length==2;
}
},
},
xiangxing:{
unique:true,
init:function(player){
player.storage.xiangxing=7;
player.storage.xiangxing_count=0;
player.addSkill('xiangxing7');
},
mark:true,
intro:{
content:'当前有#枚星'
},
trigger:{player:['damageEnd','loseHpEnd']},
forced:true,
popup:false,
content:function(){
'step 0'
var num=trigger.num;
if(num){
player.storage.xiangxing_count+=num;
}
if(player.storage.xiangxing_count>=7){
if(player.hasSkill('yueyin')&&lib.skill.yueyin.skipDamage['x'+player.storage.xiangxing](player,trigger)){
event.goto(3);
}
player.removeSkill('xiangxing'+player.storage.xiangxing);
player.storage.xiangxing--;
player.storage.xiangxing_count=0;
player.updateMarks();
if(player.storage.xiangxing){
player.addSkill('xiangxing'+player.storage.xiangxing);
}
else{
player.awakenSkill('xiangxing');
}
player.popup('xiangxing');
game.log(player,'失去了一枚星');
}
else{
player.updateMarks();
event.finish();
}
'step 1'
var list=game.players.slice(0);
list.remove(player);
list.sort(lib.sort.seat);
var list2=[];
for(var i=0;i<list.length;i++){
list2.push(0);
}
for(var i=0;i<7;i++){
list2[Math.floor(Math.random()*list2.length)]++;
}
event.list=list;
event.list2=list2;
'step 2'
if(event.list.length){
var target=event.list.shift();
target.damage(event.list2.shift(),'thunder');
player.line(target,'thunder');
event.redo();
}
'step 3'
if(player.storage.xiangxing==0){
player.maxHp=3;
player.update();
}
},
},
fengqi:{
trigger:{player:['phaseBegin','phaseEnd']},
direct:true,
content:function(){
'step 0'
var list={basic:[],equip:[],trick:[],delay:[]};
for(var i=0;i<lib.inpile.length;i++){
var name=lib.inpile[i];
var info=lib.card[name];
if(info.autoViewAs||name=='yuansuhuimie') continue;
if(lib.filter.cardEnabled({name:name},player)){
if(!list[info.type]){
list[info.type]=[];
}
list[info.type].push([get.translation(lib.card[name].type),'',name]);
}
}
list.trick.sort(lib.sort.name);
var dialog=ui.create.dialog('风起',[list.trick,'vcard']);
// for(var i in list){
// dialog.addText(get.translation(i)+'牌');
// dialog.add([list[i],'vcard']);
// }
var rand1=Math.random()<1/3;
var rand2=Math.random()<0.5;
var rand3=Math.random()<1/3;
var rand4=Math.random()<1/3;
player.chooseButton(dialog).ai=function(button){
var name=button.link[2];
if(player.hp<=1){
switch(name){
case 'zhiliaobo':return 1;
case 'dunpaigedang':return 0.8;
case 'nanman':return 0.5;
default:return 0;
}
}
if(rand3&&name=='fengyinzhidan') return 1.5;
if(rand4&&player.num('h')<=1){
switch(name){
case 'zengbin':return 1;
case 'wuzhong':return 0.8;
default:return 0;
}
}
if(player.hasSkill('qinglonglingzhu')){
if(rand2) return name=='chiyuxi'?0.8:0;
return name=='jingleishan'?0.8:0;
}
if(rand2) return name=='wanjian'?0.8:0;
return name=='nanman'?0.8:0;
}
'step 1'
if(result.bool){
var name=result.links[0][2];
var info=lib.card[name];
var card=game.createCard(name);
if(info.selectTarget==-1){
var targets=[];
for(var i=0;i<game.players.length;i++){
if(lib.filter.filterTarget(card,player,game.players[i])){
targets.push(game.players[i]);
}
}
if(targets.length){
targets.sort(lib.sort.seat);
// player.addTempSkill('fengqi2',{player:'useCardAfter'});
player.useCard(card,targets);
}
event.finish();
}
else if(info.notarget){
// player.addTempSkill('fengqi2',{player:'useCardAfter'});
player.useCard(card);
}
else{
var next=player.chooseTarget('选择'+get.translation(name)+'的目标');
next._get_card=card;
next.filterTarget=lib.filter.filterTarget;
next.ai=ai.get.effect;
if(typeof info.selectTarget=='function'){
next.selectTarget=info.selectTarget;
}
else{
next.selectTarget=get.select(info.selectTarget);
}
event.card=card;
}
}
else{
event.finish();
}
'step 2'
if(result.bool){
// player.addTempSkill('fengqi2',{player:'useCardAfter'});
player.useCard(event.card,result.targets);
}
},
ai:{
threaten:1.5,
}
},
fengqi2:{
ai:{
playernowuxie:true
}
},
gaiming:{
trigger:{player:'judgeBefore'},
direct:true,
priority:1,
unique:true,
content:function(){
"step 0"
event.cards=get.cards(7);
player.chooseCardButton(true,event.cards,'改命:选择一张牌作为你的'+trigger.judgestr+'判定结果').ai=function(button){
if(ai.get.attitude(player,trigger.player)>0){
return 1+trigger.judge(button.link);
}
if(ai.get.attitude(player,trigger.player)<0){
return 1-trigger.judge(button.link);
}
return 0;
};
"step 1"
if(!result.bool){
event.finish();
return;
}
player.logSkill('gaiming',trigger.player);
var card=result.links[0];
event.cards.remove(card);
var judgestr=get.translation(trigger.player)+'的'+trigger.judgestr+'判定';
event.videoId=lib.status.videoId++;
event.dialog=ui.create.dialog(judgestr);
event.dialog.classList.add('center');
event.dialog.videoId=event.videoId;
game.addVideo('judge1',player,[get.cardInfo(card),judgestr,event.videoId]);
for(var i=0;i<event.cards.length;i++) ui.discardPile.appendChild(event.cards[i]);
// var node=card.copy('thrown','center',ui.arena).animate('start');
var node;
if(game.chess){
node=card.copy('thrown','center',ui.arena).animate('start');
}
else{
node=player.$throwordered(card.copy(),true);
}
node.classList.add('thrownhighlight');
ui.arena.classList.add('thrownhighlight');
if(card){
trigger.untrigger();
trigger.finish();
trigger.result={
card:card,
judge:trigger.judge(card),
node:node,
number:get.number(card),
suit:get.suit(card),
color:get.color(card),
};
if(trigger.result.judge>0){
trigger.result.bool=true;
trigger.player.popup('洗具');
}
if(trigger.result.judge<0){
trigger.result.bool=false;
trigger.player.popup('杯具');
}
game.log(trigger.player,'的判定结果为',card);
trigger.direct=true;
trigger.position.appendChild(card);
game.delay(2);
}
else{
event.finish();
}
"step 2"
ui.arena.classList.remove('thrownhighlight');
event.dialog.close();
game.addVideo('judge2',null,event.videoId);
ui.clear();
var card=trigger.result.card;
trigger.position.appendChild(card);
trigger.result.node.delete();
game.delay();
},
},
tiandao:{
@ -2766,8 +3329,8 @@ mode.boss={
priority:100,
audio:2,
mode:['identity','guozhan','boss','stone'],
init:function(){
if(get.mode()=='boss'){
init:function(player){
if(get.mode()=='boss'&&player==game.boss){
lib.onwash.push(function(){
if(!_status.boss_baonuwash){
_status.boss_baonuwash=true;
@ -2997,7 +3560,23 @@ mode.boss={
}
}
}
}
},
_bossswap:{
trigger:{player:['phaseBegin','chooseToUseBegin','chooseToRespondBegin','chooseToDiscardBegin','chooseToCompareBegin',
'chooseButtonBegin','chooseCardBegin','chooseTargetBegin','chooseCardTargetBegin','chooseControlBegin',
'chooseBoolBegin','choosePlayerCardBegin','discardPlayerCardBegin','gainPlayerCardBegin']},
forced:true,
priority:100,
popup:false,
filter:function(event,player){
if(!get.config('single_control')) return false;
if(event.autochoose&&event.autochoose()) return false;
return player.isUnderControl();
},
content:function(){
game.modeSwapPlayer(player);
},
},
},
translate:{
zhu:'神',
@ -3046,6 +3625,36 @@ mode.boss={
boss_guojia:'世之奇士',
boss_caocao:'魏武大帝',
boss_guimou:'鬼谋',
boss_guimou_info:'回合结束阶段,你可以令一名随机的其他角色进入混乱状态直到其下一回合结束',
boss_yuance:'远策',
boss_yuance_info:'每当一名角色受到其他角色的伤害你可以选择一项并进行一次判定1. 若结果为黑色受伤害角色失去一点体力否则伤害来源失去一点体力2. 若结果为红色,受伤害角色回复一点体力,否则伤害来源回复一点体力',
boss_qizuo:'奇佐',
boss_qizuo_info:'你可以令你的非延时锦囊牌额外结算一次',
boss_guixin:'归心',
boss_guixin_info:'锁定技其他角色摸牌时若摸牌数不少于2须将摸到的牌中的一张交给你',
xiongcai:'雄才',
xiongcai_info:'锁定技,你在回合结束后随机获得一个魏势力角色的所有技能',
xiaoxiong:'枭雄',
xiaoxiong_info:'锁定技,每当一名其他角色使用一张基本牌或锦囊牌,你获得一张与之同名的牌',
boss_zhangwu:'章武',
boss_zhangwu_info:'每当你受到一次伤害,你可以令伤害来源选择一项:弃置所有手牌,或受到一点伤害',
xiangxing:'禳星',
xiangxing_info:'锁定技游戏开始时你获得7枚星每当你累计扣减7点体力你失去一枚星并造成7点雷属性伤害随机分配给其他角色当你失去全部星后你的体力上限变为3',
yueyin:'月隐',
yueyin_info:'锁定技,你的每一枚星对应的一个特定条件,当你失去星时,若满足此条件,则不造成伤害',
xiangxing7_info:'你没有手牌',
xiangxing6_info:'此次受到的是火属性伤害',
xiangxing5_info:'此次受到的是雷属性伤害',
xiangxing4_info:'此次为失去体力',
xiangxing3_info:'一名其他角色有至少4件装备',
xiangxing2_info:'你的判定区内至少有2张牌',
xiangxing1_info:'场上只有2名存活角色',
gaiming:'改命',
gaiming_info:'锁定技在你的判定牌生效前你观看牌堆顶的7张牌并选择一张作为判定结果此结果不可更改',
fengqi:'风起',
fengqi_info:'回合开始和结束阶段,你可以视为使用任意一张非延时锦囊牌',
jiaoxia:'皎霞',
jiaoxia_info:'每当你成为红色牌的目标,你可以摸一张牌',
lingbo:'凌波',