1.7.5
|
@ -1424,7 +1424,7 @@ card.standard={
|
|||
else event.state=true;
|
||||
event.goto(1);
|
||||
}
|
||||
else if(event.current.next==event.end){
|
||||
else if(event.current.next==event.end||event.end.isDead()){
|
||||
if(event.state==false){
|
||||
trigger.untrigger();
|
||||
trigger.finish();
|
||||
|
@ -1518,7 +1518,7 @@ card.standard={
|
|||
else event.state=true;
|
||||
event.goto(1);
|
||||
}
|
||||
else if(event.current.next==event.end){
|
||||
else if(event.current.next==event.end||event.end.isDead()){
|
||||
if(event.state==false){
|
||||
trigger.untrigger();
|
||||
trigger.cancelled=true;
|
||||
|
|
|
@ -10,6 +10,19 @@ character.boss={
|
|||
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'],
|
||||
boss_zhouyu:['male','wu',6,['huoshen','boss_honglian','boss_xianyin'],['boss','bossallowed'],'zhu'],
|
||||
|
||||
boss_zhuoguiquxie:['male','qun',0,['boss_bianshen'],['boss','bossallowed']],
|
||||
boss_baiwuchang:['male','qun',9,['boss_baolian','boss_qiangzheng','boss_zuijiu','juece','boss_bianshen4'],['hiddenboss','bossallowed']],
|
||||
boss_heiwuchang:['male','qun',9,['boss_guiji','boss_taiping','boss_suoming','boss_xixing','boss_bianshen4'],['hiddenboss','bossallowed']],
|
||||
boss_luocha:['male','qun',12,['boss_modao','boss_yushou','yizhong','boss_moyany'],['hiddenboss','bossallowed']],
|
||||
boss_yecha:['male','qun',11,['boss_modao','boss_mojian','bazhen','boss_danshu'],['hiddenboss','bossallowed']],
|
||||
boss_niutou:['male','qun',7,['boss_baolian','niepan','boss_manjia','boss_xiaoshou','boss_bianshen3'],['hiddenboss','bossallowed']],
|
||||
boss_mamian:['male','qun',6,['boss_guiji','fankui','boss_lianyu','juece','boss_bianshen3'],['hiddenboss','bossallowed']],
|
||||
boss_chi:['male','qun',5,['boss_guimei','boss_didong','boss_shanbeng','boss_bianshen2'],['hiddenboss','bossallowed']],
|
||||
boss_mo:['female','qun',5,['boss_guimei','enyuan','boss_beiming','boss_bianshen2'],['hiddenboss','bossallowed']],
|
||||
boss_wang:['male','qun',5,['boss_guimei','boss_luolei','huilei','boss_bianshen2'],['hiddenboss','bossallowed']],
|
||||
boss_liang:['female','qun',5,['boss_guimei','boss_guihuo','boss_minbao','boss_bianshen2'],['hiddenboss','bossallowed']],
|
||||
|
||||
boss_lvbu1:['male','qun',8,['mashu','wushuang','boss_baonu'],['boss','bossallowed'],'wei'],
|
||||
boss_lvbu2:['male','qun',4,['mashu','wushuang','swd_xiuluo','shenwei','shenji'],['hiddenboss','bossallowed'],'qun'],
|
||||
boss_caiwenji:['female','qun',4,['beige','boss_hujia','boss_guihan'],['boss','bossallowed'],'wei'],
|
||||
|
@ -20,8 +33,490 @@ character.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'],
|
||||
|
||||
},
|
||||
skill:{
|
||||
boss_bianshen2:{
|
||||
mode:['boss'],
|
||||
global:'boss_bianshen2x'
|
||||
},
|
||||
boss_bianshen2x:{
|
||||
trigger:{global:'dieAfter'},
|
||||
forced:true,
|
||||
priority:-10,
|
||||
filter:function(event){
|
||||
if(lib.config.mode!='boss') return false;
|
||||
return event.player==game.boss&&event.player.skills.contains('boss_bianshen2');
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
game.delay();
|
||||
'step 1'
|
||||
game.changeBoss(['boss_niutou','boss_mamian'].randomGet());
|
||||
}
|
||||
},
|
||||
boss_bianshen3:{
|
||||
mode:['boss'],
|
||||
global:'boss_bianshen3x'
|
||||
},
|
||||
boss_bianshen3x:{
|
||||
trigger:{global:'dieAfter'},
|
||||
forced:true,
|
||||
priority:-10,
|
||||
filter:function(event){
|
||||
if(lib.config.mode!='boss') return false;
|
||||
return event.player==game.boss&&event.player.skills.contains('boss_bianshen3');
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
game.delay();
|
||||
'step 1'
|
||||
game.changeBoss(['boss_baiwuchang','boss_heiwuchang'].randomGet());
|
||||
}
|
||||
},
|
||||
boss_bianshen4:{
|
||||
mode:['boss'],
|
||||
global:'boss_bianshen4x'
|
||||
},
|
||||
boss_bianshen4x:{
|
||||
trigger:{global:'dieAfter'},
|
||||
forced:true,
|
||||
priority:-10,
|
||||
filter:function(event){
|
||||
if(lib.config.mode!='boss') return false;
|
||||
return event.player==game.boss&&event.player.skills.contains('boss_bianshen4');
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
game.delay();
|
||||
'step 1'
|
||||
game.changeBoss(['boss_yecha','boss_luocha'].randomGet());
|
||||
}
|
||||
},
|
||||
boss_moyany:{
|
||||
trigger:{player:'loseEnd'},
|
||||
frequent:true,
|
||||
unique:true,
|
||||
filter:function(event,player){
|
||||
return _status.currentPhase!=player;
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.judge(function(card){
|
||||
return get.color(card)=='red'?1:0;
|
||||
});
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.chooseTarget(true,'选择一个目标对其造成两点火焰伤害',function(card,player,target){
|
||||
return player!=target;
|
||||
}).ai=function(target){
|
||||
return ai.get.damageEffect(target,player,player,'fire');
|
||||
}
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
}
|
||||
"step 2"
|
||||
if(result.targets.length){
|
||||
player.line(result.targets,'fire');
|
||||
result.targets[0].damage(2,'fire');
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
effect:{
|
||||
target:function(card){
|
||||
if(get.tag(card,'loseCard')){
|
||||
return [0.5,1];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
boss_danshu:{
|
||||
trigger:{player:'loseEnd'},
|
||||
frequent:true,
|
||||
unique:true,
|
||||
filter:function(event,player){
|
||||
return _status.currentPhase!=player&&player.hp<player.maxHp;
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.judge(function(card){
|
||||
return get.color(card)=='red'?1:0;
|
||||
});
|
||||
"step 1"
|
||||
if(result.color=='red'){
|
||||
player.recover();
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
effect:{
|
||||
target:function(card){
|
||||
if(get.tag(card,'loseCard')){
|
||||
return [0.5,1];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
boss_modao:{
|
||||
trigger:{player:'phaseBegin'},
|
||||
forced:true,
|
||||
content:function(){
|
||||
player.draw(2);
|
||||
}
|
||||
},
|
||||
boss_mojian:{
|
||||
trigger:{player:'phaseUseBegin'},
|
||||
content:function(){
|
||||
var list=[];
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(player.canUse('wanjian',game.players[i])){
|
||||
list.push(game.players[i]);
|
||||
}
|
||||
}
|
||||
list.sort(lib.sort.seat);
|
||||
player.useCard({name:'wanjian'},list);
|
||||
}
|
||||
},
|
||||
boss_yushou:{
|
||||
trigger:{player:'phaseUseBegin'},
|
||||
content:function(){
|
||||
var list=[];
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(player.canUse('nanman',game.players[i])){
|
||||
list.push(game.players[i]);
|
||||
}
|
||||
}
|
||||
list.sort(lib.sort.seat);
|
||||
player.useCard({name:'nanman'},list);
|
||||
}
|
||||
},
|
||||
boss_zuijiu:{
|
||||
trigger:{source:'damageBegin'},
|
||||
filter:function(event){
|
||||
return event.card&&(event.card.name=='sha'||event.card.name=='juedou')&&
|
||||
event.parent.name!='_lianhuan'&&event.parent.name!='_lianhuan2';
|
||||
},
|
||||
forced:true,
|
||||
content:function(){
|
||||
trigger.num++;
|
||||
}
|
||||
},
|
||||
boss_xixing:{
|
||||
trigger:{player:'phaseBegin'},
|
||||
direct:true,
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.chooseTarget('是否发动【吸星】?',function(card,player,target){
|
||||
return player!=target&&target.isLinked();
|
||||
}).ai=function(target){
|
||||
return ai.get.damageEffect(target,player,player,'thunder');
|
||||
}
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.logSkill('boss_xixing',result.targets);
|
||||
result.targets[0].damage('thunder');
|
||||
player.recover();
|
||||
}
|
||||
},
|
||||
},
|
||||
boss_suoming:{
|
||||
trigger:{player:'phaseEnd'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(!game.players[i].isLinked()&&player!=game.players[i]){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
var num=0;
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(!game.players[i].isLinked()&&player!=game.players[i]){
|
||||
num++;
|
||||
}
|
||||
}
|
||||
player.chooseTarget('是否发动【索命】?',[1,num],function(card,player,target){
|
||||
return !target.isLinked()&&player!=target;
|
||||
}).ai=function(target){
|
||||
return -ai.get.attitude(player,target);
|
||||
}
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.logSkill('boss_suoming',result.targets);
|
||||
event.targets=result.targets;
|
||||
event.num=0;
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
}
|
||||
"step 2"
|
||||
if(event.num<event.targets.length){
|
||||
event.targets[event.num].link();
|
||||
event.num++;
|
||||
event.redo();
|
||||
}
|
||||
},
|
||||
},
|
||||
boss_taiping:{
|
||||
trigger:{player:'phaseDrawBegin'},
|
||||
forced:true,
|
||||
content:function(){
|
||||
trigger.num+=2;
|
||||
}
|
||||
},
|
||||
boss_baolian:{
|
||||
trigger:{player:'phaseEnd'},
|
||||
forced:true,
|
||||
content:function(){
|
||||
player.draw(2);
|
||||
}
|
||||
},
|
||||
boss_xiaoshou:{
|
||||
trigger:{player:'phaseEnd'},
|
||||
direct:true,
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.chooseTarget('是否发动【枭首】?',function(card,player,target){
|
||||
return player!=target&&target.hp>=player.hp;
|
||||
}).ai=function(target){
|
||||
return ai.get.damageEffect(target,player,player,'fire');
|
||||
}
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.logSkill('boss_xiaoshou',result.targets);
|
||||
result.targets[0].damage('fire',3);
|
||||
}
|
||||
},
|
||||
},
|
||||
boss_manjia:{
|
||||
group:['boss_manjia1','boss_manjia2']
|
||||
},
|
||||
boss_manjia1:{
|
||||
trigger:{target:'useCardToBefore'},
|
||||
forced:true,
|
||||
priority:6,
|
||||
filter:function(event,player){
|
||||
if(player.get('e','2')) return false;
|
||||
if(event.player.num('s','unequip')) return false;
|
||||
if(event.card.name=='nanman') return true;
|
||||
if(event.card.name=='wanjian') return true;
|
||||
if(event.card.name=='sha'&&!event.card.nature) return true;
|
||||
},
|
||||
content:function(){
|
||||
trigger.untrigger();
|
||||
trigger.finish();
|
||||
},
|
||||
ai:{
|
||||
effect:{
|
||||
target:function(card,player,target,current){
|
||||
if(target.get('e','2')) return;
|
||||
if(player.num('s','unequip')) return;
|
||||
if(card.name=='nanman'||card.name=='wanjian') return 0;
|
||||
if(card.name=='sha'){
|
||||
var equip1=player.get('e','1');
|
||||
if(equip1&&equip1.name=='zhuque') return 2;
|
||||
if(equip1&&equip1.name=='qinggang') return 1;
|
||||
if(!card.nature) return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
boss_manjia2:{
|
||||
trigger:{player:'damageBegin'},
|
||||
filter:function(event,player){
|
||||
if(player.get('e','2')) return false;
|
||||
if(event.nature=='fire') return true;
|
||||
},
|
||||
forced:true,
|
||||
check:function(){
|
||||
return false;
|
||||
},
|
||||
content:function(){
|
||||
trigger.num++;
|
||||
},
|
||||
ai:{
|
||||
effect:{
|
||||
target:function(card,player,target,current){
|
||||
if(target.get('e','2')) return;
|
||||
if(card.name=='sha'){
|
||||
if(card.nature=='fire'||player.skills.contains('zhuque_skill')) return 2;
|
||||
}
|
||||
if(get.tag(card,'fireDamage')&¤t<0) return 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
boss_lianyu:{
|
||||
trigger:{player:'phaseEnd'},
|
||||
unique:true,
|
||||
content:function(){
|
||||
"step 0"
|
||||
event.players=get.players(player);
|
||||
event.players.remove(player);
|
||||
"step 1"
|
||||
if(event.players.length){
|
||||
var current=event.players.shift();
|
||||
player.line(current,'fire');
|
||||
current.damage('fire');
|
||||
event.redo();
|
||||
}
|
||||
},
|
||||
},
|
||||
boss_guiji:{
|
||||
trigger:{player:'phaseJudgeBegin'},
|
||||
forced:true,
|
||||
content:function(){
|
||||
player.discard(player.get('j').randomGet());
|
||||
},
|
||||
filter:function(event ,player){
|
||||
return player.num('j')>0;
|
||||
},
|
||||
ai:{
|
||||
effect:{
|
||||
target:function(card,player,target,current){
|
||||
if(get.type(card)=='delay'&&target.num('j')==0) return 0.1;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
boss_minbao:{
|
||||
global:'boss_minbao2'
|
||||
},
|
||||
boss_minbao2:{
|
||||
trigger:{global:'dieAfter'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return event.player.skills.contains('boss_minbao')&&event.player.isDead();
|
||||
},
|
||||
content:function(){
|
||||
trigger.player.line(player,'fire');
|
||||
player.damage('nosource','fire').animate=false;
|
||||
player.$damage(trigger.player);
|
||||
if(lib.config.animation&&!lib.config.low_performance){
|
||||
player.$fire();
|
||||
}
|
||||
}
|
||||
},
|
||||
boss_guihuo:{
|
||||
trigger:{player:'phaseEnd'},
|
||||
direct:true,
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.chooseTarget('是否发动【鬼火】?',function(card,player,target){
|
||||
return player!=target;
|
||||
}).ai=function(target){
|
||||
return ai.get.damageEffect(target,player,player,'fire');
|
||||
}
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.logSkill('boss_guihuo',result.targets);
|
||||
result.targets[0].damage('fire');
|
||||
}
|
||||
},
|
||||
},
|
||||
boss_luolei:{
|
||||
trigger:{player:'phaseBegin'},
|
||||
direct:true,
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.chooseTarget('是否发动【落雷】?',function(card,player,target){
|
||||
return player!=target;
|
||||
}).ai=function(target){
|
||||
return ai.get.damageEffect(target,player,player,'thunder');
|
||||
}
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.logSkill('boss_luolei',result.targets);
|
||||
result.targets[0].damage('thunder');
|
||||
}
|
||||
},
|
||||
},
|
||||
boss_beiming:{
|
||||
trigger:{player:'dieBegin'},
|
||||
forced:true,
|
||||
filter:function(event){
|
||||
return event.source!=undefined;
|
||||
},
|
||||
content:function(){
|
||||
trigger.source.discard(trigger.source.get('h'));
|
||||
},
|
||||
ai:{
|
||||
threaten:0.7
|
||||
}
|
||||
},
|
||||
boss_shanbeng:{
|
||||
global:'boss_shanbeng2',
|
||||
trigger:{player:'dieBegin'},
|
||||
forced:true,
|
||||
content:function(){
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i].num('e')){
|
||||
player.line(game.players[i],'green');
|
||||
}
|
||||
}
|
||||
game.delay();
|
||||
}
|
||||
},
|
||||
boss_shanbeng2:{
|
||||
trigger:{global:'dieAfter'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return player.num('e')>0&&event.player.skills.contains('boss_shanbeng')&&event.player.isDead();
|
||||
},
|
||||
content:function(){
|
||||
player.discard(player.get('e'));
|
||||
}
|
||||
},
|
||||
boss_didong:{
|
||||
trigger:{player:'phaseEnd'},
|
||||
direct:true,
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.chooseTarget('是否发动【地动】?',function(card,player,target){
|
||||
return player!=target;
|
||||
}).ai=function(target){
|
||||
var att=ai.get.attitude(player,target);
|
||||
if(target.isTurnedOver()){
|
||||
if(att>0){
|
||||
return att+5;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
if(player.isTurnedOver()){
|
||||
return 5-att;
|
||||
}
|
||||
return -att;
|
||||
};
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.logSkill('boss_didong',result.targets);
|
||||
result.targets[0].turnOver();
|
||||
}
|
||||
},
|
||||
},
|
||||
boss_guimei:{
|
||||
mod:{
|
||||
targetEnabled:function(card,player,target){
|
||||
if(get.type(card)=='delay'){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
boss_bianshen:{
|
||||
trigger:{global:'gameStart'},
|
||||
forced:true,
|
||||
popup:false,
|
||||
content:function(){
|
||||
player.init(['boss_chi','boss_mo','boss_wang','boss_liang'].randomGet());
|
||||
game.addVideo('reinit2',player,player.name);
|
||||
}
|
||||
},
|
||||
zhanjiang:{
|
||||
trigger:{player:'phaseBegin'},
|
||||
filter:function(event,player){
|
||||
|
@ -413,6 +908,7 @@ character.boss={
|
|||
player.chooseCardTarget({
|
||||
position:'he',
|
||||
filterTarget:function(card,player,target){
|
||||
if(!lib.character[target.name]) return false;
|
||||
return player!=target&&!target.storage.boss_hujia;
|
||||
},
|
||||
filterCard:true,
|
||||
|
@ -535,6 +1031,7 @@ character.boss={
|
|||
}
|
||||
"step 2"
|
||||
if(result.targets.length){
|
||||
player.line(result.targets);
|
||||
result.targets[0].loseHp();
|
||||
}
|
||||
},
|
||||
|
@ -867,6 +1364,73 @@ character.boss={
|
|||
},
|
||||
},
|
||||
translate:{
|
||||
boss_chi:'魑',
|
||||
boss_mo:'魅',
|
||||
boss_wang:'魍',
|
||||
boss_liang:'魉',
|
||||
boss_niutou:'牛头',
|
||||
boss_mamian:'马面',
|
||||
boss_baiwuchang:'白无常',
|
||||
boss_heiwuchang:'黑无常',
|
||||
boss_luocha:'罗刹',
|
||||
boss_yecha:'夜叉',
|
||||
|
||||
boss_yushou:'驭兽',
|
||||
boss_yushou_info:'出牌阶段开始时,视为你使用了一张[南蛮入侵]',
|
||||
boss_moyany:'魔炎',
|
||||
boss_moyany_info:'每当你于回合外失去牌时,你可以进行一次判定,若结果为红色,你对一名其他角色造成2点火焰伤害',
|
||||
boss_modao:'魔道',
|
||||
boss_modao_info:'锁定技,准备阶段,你摸两张牌',
|
||||
boss_mojian:'魔箭',
|
||||
boss_mojian_info:'出牌阶段开始时,视为你使用了一张[万箭齐发]',
|
||||
boss_danshu:'丹术',
|
||||
boss_danshu_info:'每当你于回合外失去牌时,你可以进行一次判定,若结果为红色,你回复1点体力',
|
||||
|
||||
boss_zuijiu:'醉酒',
|
||||
boss_zuijiu_info:'锁定技,你的【杀】额外造成1点伤害',
|
||||
boss_taiping:'太平',
|
||||
boss_taiping_info:'锁定技,摸牌阶段摸牌时,你的摸牌数量+2',
|
||||
boss_suoming:'索命',
|
||||
boss_suoming_info:'结束阶段,将任意名未被横置的其他角色的武将牌横置',
|
||||
boss_xixing:'吸星',
|
||||
boss_xixing_info:'准备阶段,对任意一名横置的其他角色造成1点雷电伤害,然后回复1点体力',
|
||||
|
||||
boss_baolian:'暴敛',
|
||||
boss_baolian_info:'锁定技,结束阶段,你摸两张牌',
|
||||
boss_manjia:'蛮甲',
|
||||
boss_manjia_info:'锁定技,若你的装备区内没有防具牌,则你视为装备了[藤甲]',
|
||||
boss_xiaoshou:'枭首',
|
||||
boss_xiaoshou_info:'结束阶段,对体力不小于你的一名其他角色造成3点伤害',
|
||||
boss_guiji:'诡计',
|
||||
boss_guiji_info:'锁定技,准备阶段结束时,若你的判定区内有牌,你随机弃置其中一张牌',
|
||||
boss_lianyu:'炼狱',
|
||||
boss_lianyu_info:'结束阶段,对所有其他角色造成1点火焰伤害',
|
||||
|
||||
boss_guihuo:'鬼火',
|
||||
boss_guihuo_info:'结束阶段,对一名其他角色造成1点火焰伤害',
|
||||
boss_minbao:'冥爆',
|
||||
boss_minbao_info:'锁定技,当你死亡时,对场上所有其他角色造成1点火焰伤害',
|
||||
boss_luolei:'落雷',
|
||||
boss_luolei_info:'准备阶段,对一名其他角色造成1点雷电伤害',
|
||||
boss_beiming:'悲鸣',
|
||||
boss_beiming_info:'锁定技,当你死亡时,你令杀死你的角色弃置所有手牌',
|
||||
boss_guimei:'鬼魅',
|
||||
boss_guimei_info:'锁定技,你不能成为延时类锦囊的目标',
|
||||
boss_didong:'地动',
|
||||
boss_didong_info:'结束阶段,令一名其他角色将其武将牌翻面',
|
||||
boss_shanbeng:'山崩',
|
||||
boss_shanbeng_info:'锁定技,当你死亡时,你令所有其他角色弃置其装备区内的所有牌',
|
||||
|
||||
boss_zhuoguiquxie:'捉鬼驱邪',
|
||||
boss_bianshen:'变身',
|
||||
boss_bianshen_info:'游戏开始时,你随机变身为魑、魅、魍、魉中的一个',
|
||||
boss_bianshen2:'变身',
|
||||
boss_bianshen2_info:'你死亡后随机变身为牛头、马面中的一个',
|
||||
boss_bianshen3:'变身',
|
||||
boss_bianshen3_info:'你死亡后随机变身为白无常、黑无常中的一个',
|
||||
boss_bianshen4:'变身',
|
||||
boss_bianshen4_info:'你死亡后随机变身为罗刹、夜叉中的一个',
|
||||
|
||||
zhanjiang:'斩将',
|
||||
zhanjiang_info:'准备阶段开始时,如果其他角色的装备区内有【青釭剑】,你可以获得之',
|
||||
|
||||
|
|
|
@ -245,7 +245,9 @@ character.hearth={
|
|||
},
|
||||
fushi:{
|
||||
enable:'phaseUse',
|
||||
filterTarget:true,
|
||||
filterTarget:function(card,player,target){
|
||||
return target.hp<target.maxHp;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
target.loseMaxHp(true);
|
||||
|
@ -692,7 +694,9 @@ character.hearth={
|
|||
trigger.player.line(player,'thunder');
|
||||
player.damage('nosource','thunder').animate=false;
|
||||
player.$damage(trigger.player);
|
||||
player.$thunder();
|
||||
if(lib.config.animation&&!lib.config.low_performance){
|
||||
player.$thunder();
|
||||
}
|
||||
}
|
||||
},
|
||||
huanwu:{
|
||||
|
|
|
@ -99,6 +99,7 @@ window.characterRank={
|
|||
'hs_tgolem',
|
||||
],
|
||||
am:[
|
||||
'lifeng',
|
||||
'zhugeguo',
|
||||
'sp_caiwenji',
|
||||
'yxs_yingzheng',
|
||||
|
|
|
@ -1016,6 +1016,7 @@ character.refresh={
|
|||
}
|
||||
},
|
||||
qianxin:{
|
||||
skillAnimation:true,
|
||||
audio:2,
|
||||
unique:true,
|
||||
trigger:{source:'damageAfter'},
|
||||
|
@ -1030,7 +1031,6 @@ character.refresh={
|
|||
}
|
||||
},
|
||||
jianyan:{
|
||||
skillAnimation:true,
|
||||
audio:2,
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
|
|
|
@ -1516,7 +1516,7 @@ character.standard={
|
|||
luoshen_info:'回合开始阶段,你可以进行一定判定,若为黑色则可以继续判定,直到出现红色。然后你获得所有黑色的判定牌',
|
||||
qingguo_info:'你可以将一张黑色手牌当[闪]使用或打出',
|
||||
rende_info:'出牌阶段,你可以将任意手牌送给其他角色,若送出的手牌不少于两张,你回复一点体力',
|
||||
jijiang_info:'蜀势力角色可以帮你使用或打出[杀]',
|
||||
jijiang_info:'主公技,蜀势力角色可以帮你使用或打出[杀]',
|
||||
wusheng_info:'你可以将一张红色牌当[杀]使用',
|
||||
paoxiao_info:'出牌阶段,你使用[杀]无数量限制',
|
||||
guanxing_info:'回合开始阶段,你可以观看牌堆顶的x张牌,并将其以任意顺序置于牌堆项或牌堆底,x为存活角色个数且不超过5',
|
||||
|
@ -1528,7 +1528,7 @@ character.standard={
|
|||
jizhi_info:'每当你使用或打出一张非延时锦囊,可以摸一张牌',
|
||||
qicai_info:'锁定技,你使用的锦囊牌无距离限制',
|
||||
zhiheng_info:'出牌阶段,你可以弃置任意张牌并摸等量的牌,每阶段限1次',
|
||||
jiuyuan_info:'锁定技,濒死阶段,吴势力角色对你使用的[桃]额外回复一点体力',
|
||||
jiuyuan_info:'主公技,锁定技,濒死阶段,吴势力角色对你使用的[桃]额外回复一点体力',
|
||||
qixi_info:'你可以将一张黑色牌当[过河拆桥]使用',
|
||||
keji_info:'若你在出牌阶段没有使用[杀],则可跳过弃牌阶段',
|
||||
kurou_info:'出牌阶段,你可以流失一点体力并摸两张牌',
|
||||
|
|
|
@ -4083,6 +4083,7 @@ character.swd={
|
|||
}
|
||||
},
|
||||
intro:{
|
||||
nocount:true,
|
||||
onunmark:function(content,player){
|
||||
player.storage.yishan.length=0;
|
||||
},
|
||||
|
@ -7302,7 +7303,6 @@ character.swd={
|
|||
};
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.discard(result.cards);
|
||||
player.logSkill('huanling',result.targets);
|
||||
player.turnOver();
|
||||
result.targets[0].turnOver();
|
||||
|
|
|
@ -770,7 +770,7 @@ character.woods={
|
|||
lieren_info:'你每使用【杀】造成一次伤害,可与受到该伤害的角色拼点;若你赢,你获得对方的一张牌。',
|
||||
xingshang_info:'你可以立即获得死亡角色的所有牌。',
|
||||
fangzhu_info:'你每受到一次伤害,可令除你以外的任一角色补X张牌,X为你已损失的体力值,然后该角色将其武将牌翻面。',
|
||||
songwei_info:'其他魏势力的角色的判定牌结果为♠或♣且失效后,可以让你摸一张牌。',
|
||||
songwei_info:'主公技,其他魏势力的角色的判定牌结果为♠或♣且失效后,可以让你摸一张牌。',
|
||||
duanliang_info:'出牌阶段,你可以将你的任意一张♠或♣的基本牌或装备牌当【兵粮寸断】使用;你可以对与你距离2以内的角色使用【兵粮寸断】。',
|
||||
haoshi_info:'摸牌阶段,你可以额外摸两张牌,若此时你的手牌数多于五张,你必须将一半(向下取整)的手牌交给场上除你外手牌数最少的一名角色。',
|
||||
dimeng_info:'出牌阶段,你可以选择其他两名角色,你弃掉等同于这两名角色手牌数量之差的牌,然后交换他们的手牌,每回合限一次。',
|
||||
|
@ -778,7 +778,7 @@ character.woods={
|
|||
jiuchi_info:'你可将你的任意一张♠手牌当【酒】使用。',
|
||||
roulin_info:'你对女性角色、女性角色对你使用【杀】时,都需连续使用两张【闪】才能抵消。',
|
||||
benghuai_info:'回合结束阶段,若你的体力不是全场最少的(或之一),你须减1点体力或体力上限。',
|
||||
baonue_info:'其他群雄角色每造成一次伤害,可进行一次判定,若为♠,你回复1点体力。',
|
||||
baonue_info:'主公技,其他群雄角色每造成一次伤害,可进行一次判定,若为♠,你回复1点体力。',
|
||||
luanwu_info:'出牌阶段,可令除你外的所有角色依次对与其距离最近的另一名角色使用一张【杀】,无法如此做者失去1点体力。',
|
||||
wansha_info:'在你的回合,除你以外,只有处于濒死状态的角色才能使用【桃】。',
|
||||
weimu_info:'你不能成为♠或♣锦囊的目标。',
|
||||
|
|
|
@ -816,14 +816,14 @@ character.xianjian={
|
|||
direct:true,
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.discardPlayerCard(trigger.player,'he','是否发动【破云】',[1,2]);
|
||||
player.discardPlayerCard(trigger.player,'he','是否发动【破云】',[1,2]).logSkill=['poyun',trigger.player];
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.storage.xuanning--;
|
||||
if(!player.storage.xuanning){
|
||||
player.unmarkSkill('xuanning');
|
||||
}
|
||||
player.logSkill('poyun',trigger.player);
|
||||
player.syncStorage('xuanning');
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
|
|
|
@ -2315,6 +2315,7 @@ character.yijiang={
|
|||
return false;
|
||||
},
|
||||
content:function(){
|
||||
player.line(trigger.damage,'green');
|
||||
trigger.player.damage();
|
||||
},
|
||||
ai:{
|
||||
|
|
|
@ -2029,7 +2029,9 @@ character.yxs={
|
|||
check:function(card){
|
||||
return 6-ai.get.value(card);
|
||||
},
|
||||
filterCard:true,
|
||||
filterCard:function(card){
|
||||
return !lib.card[card.name].image;
|
||||
},
|
||||
discard:false,
|
||||
lose:false,
|
||||
prepare:function(cards,player,targets){
|
||||
|
|
147
game/game.js
|
@ -16,13 +16,10 @@
|
|||
dieClose:[]
|
||||
};
|
||||
var lib={
|
||||
version:1.74,
|
||||
version:1.75,
|
||||
changeLog:[
|
||||
'界面问题修正',
|
||||
'限制结算速度选项(较卡时建议开启)',
|
||||
'引用配音方法调整',
|
||||
'觉醒技、限定技特效',
|
||||
'烟花、下雪等特效(需在选项-玩法中开启富甲天下)'
|
||||
'挑战模式修复,增加捉鬼驱邪',
|
||||
'完善炉石模式'
|
||||
],
|
||||
configprefix:'noname_0.9_',
|
||||
updates:[],
|
||||
|
@ -2401,13 +2398,13 @@
|
|||
'<li>卡组与职业绑定,每个职业有一个专属技能,每回合限用一次,消耗两点行动值</ul>'+
|
||||
'<div style="margin:10px">职业技能</div><ul style="margin-top:0"><li>祭司:召唤一个随机图腾'+
|
||||
'<li>法师:对一名随从造成一点火焰伤害'+
|
||||
'<li>医生:回复一点体力'+
|
||||
'<li>战士:获得一点护甲,摸一张牌'+
|
||||
'<li>牧师:回复一点体力'+
|
||||
'<li>战士:获得一点护甲'+
|
||||
'<li>术士:牌库中摸两张牌'+
|
||||
'<li>装备一把武器和一个随机非武器装备'+
|
||||
'<li>谋士:召唤一名士兵'+
|
||||
'<li>潜行者:装备一把武器和一个随机非武器装备'+
|
||||
'<li>圣骑士:召唤一名士兵'+
|
||||
'<li>猎人:对敌方主将造成一点伤害'+
|
||||
'<li>蛮人:视为使用一张不计入出杀次数的杀</ul>'+
|
||||
'<li>德鲁伊:视为使用一张不计入出杀次数的杀</ul>'+
|
||||
'<div style="margin:10px">战斗</div><ul style="margin-top:0"><li>游戏流程类似1v1,场上有两名主将进行对抗'+
|
||||
'<li>主将出牌阶段的出牌数量(行动值)有上限,先手为2,后手为3,装备牌不计入出牌上限<li>游戏每进行一轮,主将的出牌上限+1,超过6时减至2并重新累加'+
|
||||
'<li>使用随从牌可召唤一个随从,随从出场时背面朝上。每一方在场的随从数不能超过4<li>随从于摸牌阶段摸牌基数为1,随从的随从牌均视为闪,装备牌均视为杀<li>'+
|
||||
|
@ -3765,6 +3762,14 @@
|
|||
event.dialog.close();
|
||||
"step 2"
|
||||
if(event.result.bool&&event.result.buttons){
|
||||
if(event.logSkill){
|
||||
if(typeof event.logSkill=='string'){
|
||||
player.logSkill(event.logSkill);
|
||||
}
|
||||
else if(Array.isArray(event.logSkill)){
|
||||
player.logSkill.apply(player,event.logSkill);
|
||||
}
|
||||
}
|
||||
var cards=[];
|
||||
for(var i=0;i<event.result.buttons.length;i++){
|
||||
cards.push(event.result.buttons[i].link);
|
||||
|
@ -5265,7 +5270,7 @@
|
|||
updateMarks:function(){
|
||||
for(var i in this.marks){
|
||||
if(i=='ghujia'||(!this.marks[i].querySelector('.image')&&lib.skill[i]&&
|
||||
lib.skill[i].intro&&this.storage[i])){
|
||||
lib.skill[i].intro&&!lib.skill[i].intro.nocount&&this.storage[i])){
|
||||
this.marks[i].classList.add('overflowmark')
|
||||
var num;
|
||||
if(i=='ghujia'){
|
||||
|
@ -6207,7 +6212,7 @@
|
|||
}
|
||||
}
|
||||
if(next.num==undefined) next.num=1;
|
||||
if(next.num==0) _status.event.next.remove(next);
|
||||
if(next.num<=0) _status.event.next.remove(next);
|
||||
next.content=lib.element.playerproto.draw;
|
||||
return next;
|
||||
},
|
||||
|
@ -7288,18 +7293,19 @@
|
|||
return node;
|
||||
}
|
||||
else{
|
||||
var node;
|
||||
if(card==undefined||card.length==0) return;
|
||||
if(false){
|
||||
var left=-52+(Math.random()<0.5?1:-1)*Math.random()*100;
|
||||
var top=-52+(Math.random()<0.5?1:-1)*Math.random()*80;
|
||||
|
||||
var node=this.$throwxy2(card,
|
||||
node=this.$throwxy2(card,
|
||||
'calc(50% '+(left>0?'+':'-')+' '+Math.abs(left)+'px)',
|
||||
'calc(50% '+(top>0?'+':'-')+' '+Math.abs(top)+'px)'
|
||||
);
|
||||
}
|
||||
else{
|
||||
var node=this.$throwordered(card.copy('thrown'));
|
||||
node=this.$throwordered(card.copy('thrown'));
|
||||
}
|
||||
if(time!=undefined){
|
||||
node.fixed=true;
|
||||
|
@ -8121,6 +8127,9 @@
|
|||
if(card[3]) this.node.background.setBackground(bg+'_'+card[3],'card');
|
||||
else this.node.background.setBackground(bg,'card');
|
||||
}
|
||||
else if(lib.card[card[2]].fullimage){
|
||||
this.setBackground('card/'+bg);
|
||||
}
|
||||
else if(lib.card[card[2]].image=='card'){
|
||||
if(card[3]) this.setBackground(bg+'_'+card[3],'card');
|
||||
else this.setBackground(bg,'card');
|
||||
|
@ -8140,13 +8149,23 @@
|
|||
if(lib.card[card[2]].color){
|
||||
this.style.color=lib.card[card[2]].color;
|
||||
}
|
||||
else if(lib.card[card[2]].fullimage){
|
||||
this.style.color='white';
|
||||
}
|
||||
if(lib.card[card[2]].textShadow){
|
||||
this.style.textShadow=lib.card[card[2]].textShadow;
|
||||
}
|
||||
else if(lib.card[card[2]].fullimage){
|
||||
this.style.textShadow='black 0 0 2px';
|
||||
}
|
||||
if(lib.card[card[2]].opacity){
|
||||
this.node.info.style.opacity=lib.card[card[2]].opacity;
|
||||
this.node.name.style.opacity=lib.card[card[2]].opacity;
|
||||
}
|
||||
else if(lib.card[card[2]].fullimage){
|
||||
this.node.info.style.opacity=1;
|
||||
this.node.name.style.opacity=1;
|
||||
}
|
||||
if(lib.card[card[2]].modinfo){
|
||||
this.node.info.innerHTML=lib.card[card[2]].modinfo;
|
||||
}
|
||||
|
@ -8592,8 +8611,9 @@
|
|||
else ui.dialogs[i].hide();
|
||||
}
|
||||
ui.dialog=this;
|
||||
var translate;
|
||||
if(lib.config.remember_dialog&&lib.config.dialog_transform&&!this.classList.contains('fixed')){
|
||||
var translate=lib.config.dialog_transform;
|
||||
translate=lib.config.dialog_transform;
|
||||
this._dragtransform=translate;
|
||||
this.style.transform='translate('+translate[0]+'px,'+translate[1]+'px) scale(0.8)';
|
||||
}
|
||||
|
@ -8872,7 +8892,7 @@
|
|||
ghujia:{
|
||||
intro:{
|
||||
content:function(content,player){
|
||||
return '已有'+get.cnNumber(player.hujia)+'点护甲值<p>每点护甲可以抵挡一点伤害</p>';
|
||||
return '已有'+get.cnNumber(player.hujia)+'点护甲值';
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -8994,7 +9014,7 @@
|
|||
if(lib.config.tao_enemy&&event.dying.side!=player.side&&lib.config.mode!='identity'&&lib.config.mode!='guozhan'){
|
||||
event._result={bool:false}
|
||||
}
|
||||
else if(player.hasSkillTag('save',true)||player.num('h','tao')||
|
||||
else if(player.hasSkillTag('save',true)||player.num('h','tao')||player.num('h','spell_zhiliaoshui')||
|
||||
(player==event.dying&&(player.num('h','jiu')||player.num('h','hufu')||player.num('h','tianxianjiu')))){
|
||||
player.chooseToUse({
|
||||
filterCard:function(card,player){
|
||||
|
@ -9563,9 +9583,7 @@
|
|||
}
|
||||
game.singleHandcard=true;
|
||||
ui.arena.classList.add('single-handcard');
|
||||
ui.fakeme=ui.create.div('.player.controlfakeme');
|
||||
ui.fakeme.line=lib.element.player.line;
|
||||
ui.fakemebg=ui.create.div('.avatar',ui.fakeme).hide();
|
||||
ui.fakeme=ui.create.div('.fakeme.avatar',ui.me);
|
||||
}
|
||||
ui.arena.style.display='';
|
||||
ui.refresh(ui.arena);
|
||||
|
@ -9575,11 +9593,7 @@
|
|||
if(!players.boss){
|
||||
game.singleHandcard=true;
|
||||
ui.arena.classList.add('single-handcard');
|
||||
ui.fakeme=ui.create.div('.player.controlfakeme');
|
||||
ui.fakeme.dataset.position=0;
|
||||
ui.fakeme.line=lib.element.player.line;
|
||||
ui.fakemebg=ui.create.div('.avatar',ui.fakeme).hide();
|
||||
ui.refresh(ui.fakemebg);
|
||||
ui.fakeme=ui.create.div('.fakeme.avatar',ui.me);
|
||||
}
|
||||
ui.arena.dataset.number=8;
|
||||
}
|
||||
|
@ -9634,14 +9648,12 @@
|
|||
|
||||
if(lib.config.mode=='versus'){
|
||||
if(players.bool){
|
||||
ui.fakemebg.show();
|
||||
game.onSwapControl();
|
||||
}
|
||||
}
|
||||
else if(lib.config.mode=='boss'){
|
||||
if(!players.boss){
|
||||
game.onSwapControl();
|
||||
ui.fakemebg.show();
|
||||
}
|
||||
ui.arena.style.display='';
|
||||
ui.refresh(ui.arena);
|
||||
|
@ -9773,6 +9785,21 @@
|
|||
console.log(content);
|
||||
}
|
||||
},
|
||||
bossSwap:function(player,name){
|
||||
player.delete();
|
||||
var boss=ui.create.player().init(name);
|
||||
boss.dataset.position=player.dataset.position;
|
||||
game.playerMap[player.dataset.position]=boss;
|
||||
if(game.me==player){
|
||||
game.me=boss;
|
||||
}
|
||||
game.players.push(boss);
|
||||
game.arrangePlayers();
|
||||
game.boss=boss;
|
||||
ui.arena.appendChild(boss.animate('zoominanim'));
|
||||
boss.setIdentity('zhu');
|
||||
boss.identity='zhu';
|
||||
},
|
||||
stoneSwap:function(info){
|
||||
var player=ui.create.player();
|
||||
player.classList.add('noidentity');
|
||||
|
@ -9816,6 +9843,14 @@
|
|||
console.log(source);
|
||||
}
|
||||
},
|
||||
reinit2:function(source,name){
|
||||
if(source&&name){
|
||||
source.init(name);
|
||||
}
|
||||
else{
|
||||
console.log(source);
|
||||
}
|
||||
},
|
||||
skill:function(player,content){
|
||||
if(typeof content=='string'){
|
||||
lib.skill[content].video(player);
|
||||
|
@ -11323,6 +11358,10 @@
|
|||
if(!ui.restart){
|
||||
ui.restart=ui.create.control('restart',game.reload);
|
||||
}
|
||||
if(ui.tempnowuxie){
|
||||
ui.tempnowuxie.close();
|
||||
delete ui.tempnowuxie;
|
||||
}
|
||||
|
||||
if(ui.revive){
|
||||
ui.revive.close();
|
||||
|
@ -12087,7 +12126,7 @@
|
|||
};
|
||||
if(card.ai.basic.useful==undefined) card.ai.basic.useful=2;
|
||||
if(card.subtype=='equip3'){
|
||||
if(card.ai.basic.equipValue==undefined) card.ai.basic.equipValue=6;
|
||||
if(card.ai.basic.equipValue==undefined) card.ai.basic.equipValue=7;
|
||||
}
|
||||
else if(card.subtype=='equip4'){
|
||||
if(card.ai.basic.equipValue==undefined) card.ai.basic.equipValue=5;
|
||||
|
@ -12394,9 +12433,9 @@
|
|||
game.arrangePlayers();
|
||||
return player;
|
||||
},
|
||||
addFellow:function(position,character){
|
||||
addFellow:function(position,character,animation){
|
||||
game.addVideo('addFellow',null,[position,character]);
|
||||
var player=ui.create.player(ui.arena).animate('start');
|
||||
var player=ui.create.player(ui.arena).animate(animation||'start');
|
||||
player.dataset.position=position||game.players.length+game.dead.length;
|
||||
if(character) player.init(character);
|
||||
game.players.push(player);game.arrangePlayers();
|
||||
|
@ -12806,10 +12845,11 @@
|
|||
else{
|
||||
for(var i in lib.character){
|
||||
if(lib.character[i][4].contains('minskin')) continue;
|
||||
if(lib.character[i][4].contains('boss')&&!
|
||||
lib.character[i][4].contains('bossallowed')) continue;
|
||||
if(lib.character[i][4].contains('hiddenboss')&&!
|
||||
lib.character[i][4].contains('bossallowed')) continue;
|
||||
if(lib.character[i][4].contains('boss')||lib.character[i][4].contains('hiddenboss')){
|
||||
if(lib.config.mode=='boss') continue;
|
||||
if(!lib.character[i][4].contains('bossallowed')) continue;
|
||||
}
|
||||
|
||||
if(lib.character[i][4].contains('stonehidden')) continue;
|
||||
if(lib.config.banned.contains(i)) continue;
|
||||
if(filter&&filter(i)) continue;
|
||||
|
@ -12924,8 +12964,16 @@
|
|||
seperate=seperate(list);
|
||||
dialog.seperate=[];
|
||||
for(var i in seperate){
|
||||
dialog.seperate.push(dialog.add(i));
|
||||
dialog.add([seperate[i],'vcard'],noclick);
|
||||
var link='';
|
||||
var linkcontent=seperate[i];
|
||||
if(i.indexOf('_link:')!=-1){
|
||||
link=i.slice(i.indexOf('_link:')+6);
|
||||
i=i.slice(0,i.indexOf('_link:'));
|
||||
}
|
||||
var nodesep=dialog.add(i);
|
||||
nodesep.link=link;
|
||||
dialog.seperate.push(nodesep);
|
||||
dialog.add([linkcontent,'vcard'],noclick);
|
||||
}
|
||||
}
|
||||
else{
|
||||
|
@ -13728,6 +13776,7 @@
|
|||
var map={};
|
||||
if(info.config){
|
||||
var hiddenNodes=[];
|
||||
var config=lib.config.mode_config[mode]||{};
|
||||
for(var j in info.config){
|
||||
if(j==='update'){
|
||||
continue;
|
||||
|
@ -13735,7 +13784,6 @@
|
|||
var cfg=copyObj(info.config[j]);
|
||||
cfg._name=j;
|
||||
cfg.mode=mode;
|
||||
var config=lib.config.mode_config[mode]||{};
|
||||
if(!config.hasOwnProperty(j)){
|
||||
game.saveConfig(j,cfg.init,mode);
|
||||
}
|
||||
|
@ -13959,13 +14007,13 @@
|
|||
});
|
||||
page.style.paddingBottom='10px';
|
||||
}
|
||||
var config=lib.config;
|
||||
for(var j in info.config){
|
||||
if(j==='update'){
|
||||
continue;
|
||||
}
|
||||
var cfg=copyObj(info.config[j]);
|
||||
cfg._name=j;
|
||||
var config=lib.config;
|
||||
if(!config.hasOwnProperty(j)){
|
||||
if(cfg.type!='autoskill'&&cfg.type!='banskill'){
|
||||
game.saveConfig(j,cfg.init);
|
||||
|
@ -16754,17 +16802,18 @@
|
|||
clearTimeout(ui.roundmenu._resetTimeout);
|
||||
delete ui.roundmenu._resetTimeout;
|
||||
}
|
||||
var translate;
|
||||
if(ui.roundmenu._dragorigin&&ui.roundmenu._dragtransform&&ui.roundmenu._dragtouches){
|
||||
var dx=ui.roundmenu._dragtouches.clientX-ui.roundmenu._dragorigin.clientX;
|
||||
var dy=ui.roundmenu._dragtouches.clientY-ui.roundmenu._dragorigin.clientY;
|
||||
if(dx*dx+dy*dy<1000){
|
||||
ui.click.roundmenu();
|
||||
ui.roundmenu._dragtransform=ui.roundmenu._dragorigintransform;
|
||||
var translate=ui.roundmenu._dragtransform;
|
||||
translate=ui.roundmenu._dragtransform;
|
||||
ui.roundmenu.style.transform='translate('+translate[0]+'px,'+translate[1]+'px)';
|
||||
}
|
||||
else{
|
||||
var translate=ui.roundmenu._dragtransform;
|
||||
translate=ui.roundmenu._dragtransform;
|
||||
translate[0]+=dx;
|
||||
translate[1]+=dy;
|
||||
ui.click.checkroundtranslate();
|
||||
|
@ -16780,10 +16829,11 @@
|
|||
}
|
||||
else if(_status.draggingtouchdialog){
|
||||
delete _status._swipeorigin;
|
||||
var translate;
|
||||
if(_status.draggingtouchdialog._dragorigin&&_status.draggingtouchdialog._dragtransform&&_status.draggingtouchdialog._dragtouches){
|
||||
var dx=_status.draggingtouchdialog._dragtouches.clientX-_status.draggingtouchdialog._dragorigin.clientX;
|
||||
var dy=_status.draggingtouchdialog._dragtouches.clientY-_status.draggingtouchdialog._dragorigin.clientY;
|
||||
var translate=_status.draggingtouchdialog._dragtransform;
|
||||
translate=_status.draggingtouchdialog._dragtransform;
|
||||
translate[0]+=dx;
|
||||
translate[1]+=dy;
|
||||
ui.click.checkdialogtranslate(null,_status.draggingtouchdialog);
|
||||
|
@ -17176,8 +17226,9 @@
|
|||
if(window.inSplash) return;
|
||||
if(_status.draggingdialog){
|
||||
var ddialog=_status.draggingdialog;
|
||||
var translate;
|
||||
if(ddialog._dragorigin&&ddialog._dragtransform){
|
||||
var translate=ddialog._dragtransform;
|
||||
translate=ddialog._dragtransform;
|
||||
translate[0]+=e.x-ddialog._dragorigin.x;
|
||||
translate[1]+=e.y-ddialog._dragorigin.y;
|
||||
ui.click.checkdialogtranslate(null,ddialog);
|
||||
|
@ -17187,13 +17238,14 @@
|
|||
delete _status.draggingdialog;
|
||||
}
|
||||
if(_status.draggingroundmenu){
|
||||
var translate;
|
||||
if(ui.roundmenu._dragorigin&&ui.roundmenu._dragtransform){
|
||||
var dx=e.x-ui.roundmenu._dragorigin.x;
|
||||
var dy=e.y-ui.roundmenu._dragorigin.y;
|
||||
if(dx*dx+dy*dy<25){
|
||||
ui.click.roundmenu();
|
||||
}
|
||||
var translate=ui.roundmenu._dragtransform;
|
||||
translate=ui.roundmenu._dragtransform;
|
||||
translate[0]+=dx;
|
||||
translate[1]+=dy;
|
||||
ui.click.checkroundtranslate();
|
||||
|
@ -19087,6 +19139,7 @@
|
|||
var card=false;
|
||||
if(typeof num!='number') num=1;
|
||||
if(num==0) {card=true;num=1;}
|
||||
if(num<0) num=1;
|
||||
while(num--){
|
||||
if(ui.cardPile.hasChildNodes()==false){
|
||||
if(_status.maxShuffle!=undefined){
|
||||
|
@ -19520,8 +19573,9 @@
|
|||
return num;
|
||||
},
|
||||
tag:function(item,tag,item2){
|
||||
var result;
|
||||
if(get.info(item)&&get.info(item).ai&&get.info(item).ai.tag){
|
||||
var result=get.info(item).ai.tag[tag];
|
||||
result=get.info(item).ai.tag[tag];
|
||||
}
|
||||
if(typeof result=='function') return result(item,item2);
|
||||
return result;
|
||||
|
@ -19980,6 +20034,9 @@
|
|||
uiintro.add('<div class="text center">攻击范围:1</div>');
|
||||
}
|
||||
}
|
||||
else if(lib.card[name]&&lib.card[name].addinfomenu){
|
||||
uiintro.add('<div class="text center">'+lib.card[name].addinfomenu+'</div>');
|
||||
}
|
||||
if(lib.translate[name+'_info'].length<=100){
|
||||
uiintro.add('<div class="text center">'+lib.translate[name+'_info']+'</div>');
|
||||
}
|
||||
|
|
Before Width: | Height: | Size: 8.7 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 184 KiB After Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 185 KiB |
Before Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 64 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 69 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 59 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 44 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 57 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 45 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 33 KiB |