This commit is contained in:
libccy 2016-01-04 16:59:37 +08:00
parent 752c8bc46a
commit 146c769201
228 changed files with 4317 additions and 448 deletions

View File

@ -1424,7 +1424,7 @@ card.standard={
else event.state=true; else event.state=true;
event.goto(1); event.goto(1);
} }
else if(event.current.next==event.end){ else if(event.current.next==event.end||event.end.isDead()){
if(event.state==false){ if(event.state==false){
trigger.untrigger(); trigger.untrigger();
trigger.finish(); trigger.finish();
@ -1518,7 +1518,7 @@ card.standard={
else event.state=true; else event.state=true;
event.goto(1); event.goto(1);
} }
else if(event.current.next==event.end){ else if(event.current.next==event.end||event.end.isDead()){
if(event.state==false){ if(event.state==false){
trigger.untrigger(); trigger.untrigger();
trigger.cancelled=true; trigger.cancelled=true;

View File

@ -10,6 +10,19 @@ character.boss={
boss_pangtong:['male','shu',4,['boss_tianyu','qiwu','niepan','boss_yuhuo'],['boss','bossallowed'],'zhu'], 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_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_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_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_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'], 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_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_dongzhuo:['male','qun',20,['jiuchi','boss_qiangzheng','boss_baolin'],['boss','bossallowed'],'shu'],
// boss_shuijing:['male','qun',8,[],['boss','bossallowed'],'wei'], // boss_shuijing:['male','qun',8,[],['boss','bossallowed'],'wei'],
}, },
skill:{ 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')&&current<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:{ zhanjiang:{
trigger:{player:'phaseBegin'}, trigger:{player:'phaseBegin'},
filter:function(event,player){ filter:function(event,player){
@ -413,6 +908,7 @@ character.boss={
player.chooseCardTarget({ player.chooseCardTarget({
position:'he', position:'he',
filterTarget:function(card,player,target){ filterTarget:function(card,player,target){
if(!lib.character[target.name]) return false;
return player!=target&&!target.storage.boss_hujia; return player!=target&&!target.storage.boss_hujia;
}, },
filterCard:true, filterCard:true,
@ -535,6 +1031,7 @@ character.boss={
} }
"step 2" "step 2"
if(result.targets.length){ if(result.targets.length){
player.line(result.targets);
result.targets[0].loseHp(); result.targets[0].loseHp();
} }
}, },
@ -867,6 +1364,73 @@ character.boss={
}, },
}, },
translate:{ 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:'斩将',
zhanjiang_info:'准备阶段开始时,如果其他角色的装备区内有【青釭剑】,你可以获得之', zhanjiang_info:'准备阶段开始时,如果其他角色的装备区内有【青釭剑】,你可以获得之',

View File

@ -245,7 +245,9 @@ character.hearth={
}, },
fushi:{ fushi:{
enable:'phaseUse', enable:'phaseUse',
filterTarget:true, filterTarget:function(card,player,target){
return target.hp<target.maxHp;
},
content:function(){ content:function(){
'step 0' 'step 0'
target.loseMaxHp(true); target.loseMaxHp(true);
@ -692,8 +694,10 @@ character.hearth={
trigger.player.line(player,'thunder'); trigger.player.line(player,'thunder');
player.damage('nosource','thunder').animate=false; player.damage('nosource','thunder').animate=false;
player.$damage(trigger.player); player.$damage(trigger.player);
if(lib.config.animation&&!lib.config.low_performance){
player.$thunder(); player.$thunder();
} }
}
}, },
huanwu:{ huanwu:{
enable:'phaseUse', enable:'phaseUse',

View File

@ -99,6 +99,7 @@ window.characterRank={
'hs_tgolem', 'hs_tgolem',
], ],
am:[ am:[
'lifeng',
'zhugeguo', 'zhugeguo',
'sp_caiwenji', 'sp_caiwenji',
'yxs_yingzheng', 'yxs_yingzheng',

View File

@ -1016,6 +1016,7 @@ character.refresh={
} }
}, },
qianxin:{ qianxin:{
skillAnimation:true,
audio:2, audio:2,
unique:true, unique:true,
trigger:{source:'damageAfter'}, trigger:{source:'damageAfter'},
@ -1030,7 +1031,6 @@ character.refresh={
} }
}, },
jianyan:{ jianyan:{
skillAnimation:true,
audio:2, audio:2,
enable:'phaseUse', enable:'phaseUse',
usable:1, usable:1,

View File

@ -1516,7 +1516,7 @@ character.standard={
luoshen_info:'回合开始阶段,你可以进行一定判定,若为黑色则可以继续判定,直到出现红色。然后你获得所有黑色的判定牌', luoshen_info:'回合开始阶段,你可以进行一定判定,若为黑色则可以继续判定,直到出现红色。然后你获得所有黑色的判定牌',
qingguo_info:'你可以将一张黑色手牌当[闪]使用或打出', qingguo_info:'你可以将一张黑色手牌当[闪]使用或打出',
rende_info:'出牌阶段,你可以将任意手牌送给其他角色,若送出的手牌不少于两张,你回复一点体力', rende_info:'出牌阶段,你可以将任意手牌送给其他角色,若送出的手牌不少于两张,你回复一点体力',
jijiang_info:'蜀势力角色可以帮你使用或打出[杀]', jijiang_info:'主公技,蜀势力角色可以帮你使用或打出[杀]',
wusheng_info:'你可以将一张红色牌当[杀]使用', wusheng_info:'你可以将一张红色牌当[杀]使用',
paoxiao_info:'出牌阶段,你使用[杀]无数量限制', paoxiao_info:'出牌阶段,你使用[杀]无数量限制',
guanxing_info:'回合开始阶段你可以观看牌堆顶的x张牌并将其以任意顺序置于牌堆项或牌堆底x为存活角色个数且不超过5', guanxing_info:'回合开始阶段你可以观看牌堆顶的x张牌并将其以任意顺序置于牌堆项或牌堆底x为存活角色个数且不超过5',
@ -1528,7 +1528,7 @@ character.standard={
jizhi_info:'每当你使用或打出一张非延时锦囊,可以摸一张牌', jizhi_info:'每当你使用或打出一张非延时锦囊,可以摸一张牌',
qicai_info:'锁定技,你使用的锦囊牌无距离限制', qicai_info:'锁定技,你使用的锦囊牌无距离限制',
zhiheng_info:'出牌阶段你可以弃置任意张牌并摸等量的牌每阶段限1次', zhiheng_info:'出牌阶段你可以弃置任意张牌并摸等量的牌每阶段限1次',
jiuyuan_info:'锁定技,濒死阶段,吴势力角色对你使用的[桃]额外回复一点体力', jiuyuan_info:'主公技,锁定技,濒死阶段,吴势力角色对你使用的[桃]额外回复一点体力',
qixi_info:'你可以将一张黑色牌当[过河拆桥]使用', qixi_info:'你可以将一张黑色牌当[过河拆桥]使用',
keji_info:'若你在出牌阶段没有使用[杀],则可跳过弃牌阶段', keji_info:'若你在出牌阶段没有使用[杀],则可跳过弃牌阶段',
kurou_info:'出牌阶段,你可以流失一点体力并摸两张牌', kurou_info:'出牌阶段,你可以流失一点体力并摸两张牌',

View File

@ -4083,6 +4083,7 @@ character.swd={
} }
}, },
intro:{ intro:{
nocount:true,
onunmark:function(content,player){ onunmark:function(content,player){
player.storage.yishan.length=0; player.storage.yishan.length=0;
}, },
@ -7302,7 +7303,6 @@ character.swd={
}; };
"step 1" "step 1"
if(result.bool){ if(result.bool){
player.discard(result.cards);
player.logSkill('huanling',result.targets); player.logSkill('huanling',result.targets);
player.turnOver(); player.turnOver();
result.targets[0].turnOver(); result.targets[0].turnOver();

View File

@ -770,7 +770,7 @@ character.woods={
lieren_info:'你每使用【杀】造成一次伤害,可与受到该伤害的角色拼点;若你赢,你获得对方的一张牌。', lieren_info:'你每使用【杀】造成一次伤害,可与受到该伤害的角色拼点;若你赢,你获得对方的一张牌。',
xingshang_info:'你可以立即获得死亡角色的所有牌。', xingshang_info:'你可以立即获得死亡角色的所有牌。',
fangzhu_info:'你每受到一次伤害可令除你以外的任一角色补X张牌X为你已损失的体力值然后该角色将其武将牌翻面。', fangzhu_info:'你每受到一次伤害可令除你以外的任一角色补X张牌X为你已损失的体力值然后该角色将其武将牌翻面。',
songwei_info:'其他魏势力的角色的判定牌结果为♠或♣且失效后,可以让你摸一张牌。', songwei_info:'主公技,其他魏势力的角色的判定牌结果为♠或♣且失效后,可以让你摸一张牌。',
duanliang_info:'出牌阶段你可以将你的任意一张♠或♣的基本牌或装备牌当【兵粮寸断】使用你可以对与你距离2以内的角色使用【兵粮寸断】。', duanliang_info:'出牌阶段你可以将你的任意一张♠或♣的基本牌或装备牌当【兵粮寸断】使用你可以对与你距离2以内的角色使用【兵粮寸断】。',
haoshi_info:'摸牌阶段,你可以额外摸两张牌,若此时你的手牌数多于五张,你必须将一半(向下取整)的手牌交给场上除你外手牌数最少的一名角色。', haoshi_info:'摸牌阶段,你可以额外摸两张牌,若此时你的手牌数多于五张,你必须将一半(向下取整)的手牌交给场上除你外手牌数最少的一名角色。',
dimeng_info:'出牌阶段,你可以选择其他两名角色,你弃掉等同于这两名角色手牌数量之差的牌,然后交换他们的手牌,每回合限一次。', dimeng_info:'出牌阶段,你可以选择其他两名角色,你弃掉等同于这两名角色手牌数量之差的牌,然后交换他们的手牌,每回合限一次。',
@ -778,7 +778,7 @@ character.woods={
jiuchi_info:'你可将你的任意一张♠手牌当【酒】使用。', jiuchi_info:'你可将你的任意一张♠手牌当【酒】使用。',
roulin_info:'你对女性角色、女性角色对你使用【杀】时,都需连续使用两张【闪】才能抵消。', roulin_info:'你对女性角色、女性角色对你使用【杀】时,都需连续使用两张【闪】才能抵消。',
benghuai_info:'回合结束阶段,若你的体力不是全场最少的(或之一)你须减1点体力或体力上限。', benghuai_info:'回合结束阶段,若你的体力不是全场最少的(或之一)你须减1点体力或体力上限。',
baonue_info:'其他群雄角色每造成一次伤害可进行一次判定若为♠你回复1点体力。', baonue_info:'主公技,其他群雄角色每造成一次伤害可进行一次判定若为♠你回复1点体力。',
luanwu_info:'出牌阶段可令除你外的所有角色依次对与其距离最近的另一名角色使用一张【杀】无法如此做者失去1点体力。', luanwu_info:'出牌阶段可令除你外的所有角色依次对与其距离最近的另一名角色使用一张【杀】无法如此做者失去1点体力。',
wansha_info:'在你的回合,除你以外,只有处于濒死状态的角色才能使用【桃】。', wansha_info:'在你的回合,除你以外,只有处于濒死状态的角色才能使用【桃】。',
weimu_info:'你不能成为♠或♣锦囊的目标。', weimu_info:'你不能成为♠或♣锦囊的目标。',

View File

@ -816,14 +816,14 @@ character.xianjian={
direct:true, direct:true,
content:function(){ content:function(){
"step 0" "step 0"
player.discardPlayerCard(trigger.player,'he','是否发动【破云】',[1,2]); player.discardPlayerCard(trigger.player,'he','是否发动【破云】',[1,2]).logSkill=['poyun',trigger.player];
"step 1" "step 1"
if(result.bool){ if(result.bool){
player.storage.xuanning--; player.storage.xuanning--;
if(!player.storage.xuanning){ if(!player.storage.xuanning){
player.unmarkSkill('xuanning'); player.unmarkSkill('xuanning');
} }
player.logSkill('poyun',trigger.player); player.syncStorage('xuanning');
} }
}, },
ai:{ ai:{

View File

@ -2315,6 +2315,7 @@ character.yijiang={
return false; return false;
}, },
content:function(){ content:function(){
player.line(trigger.damage,'green');
trigger.player.damage(); trigger.player.damage();
}, },
ai:{ ai:{

View File

@ -2029,7 +2029,9 @@ character.yxs={
check:function(card){ check:function(card){
return 6-ai.get.value(card); return 6-ai.get.value(card);
}, },
filterCard:true, filterCard:function(card){
return !lib.card[card.name].image;
},
discard:false, discard:false,
lose:false, lose:false,
prepare:function(cards,player,targets){ prepare:function(cards,player,targets){

View File

@ -16,13 +16,10 @@
dieClose:[] dieClose:[]
}; };
var lib={ var lib={
version:1.74, version:1.75,
changeLog:[ changeLog:[
'界面问题修正', '挑战模式修复,增加捉鬼驱邪',
'限制结算速度选项(较卡时建议开启)', '完善炉石模式'
'引用配音方法调整',
'觉醒技、限定技特效',
'烟花、下雪等特效(需在选项-玩法中开启富甲天下)'
], ],
configprefix:'noname_0.9_', configprefix:'noname_0.9_',
updates:[], updates:[],
@ -2401,13 +2398,13 @@
'<li>卡组与职业绑定,每个职业有一个专属技能,每回合限用一次,消耗两点行动值</ul>'+ '<li>卡组与职业绑定,每个职业有一个专属技能,每回合限用一次,消耗两点行动值</ul>'+
'<div style="margin:10px">职业技能</div><ul style="margin-top:0"><li>祭司:召唤一个随机图腾'+ '<div style="margin:10px">职业技能</div><ul style="margin-top:0"><li>祭司:召唤一个随机图腾'+
'<li>法师:对一名随从造成一点火焰伤害'+ '<li>法师:对一名随从造成一点火焰伤害'+
'<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场上有两名主将进行对抗'+ '<div style="margin:10px">战斗</div><ul style="margin-top:0"><li>游戏流程类似1v1场上有两名主将进行对抗'+
'<li>主将出牌阶段的出牌数量行动值有上限先手为2后手为3装备牌不计入出牌上限<li>游戏每进行一轮,主将的出牌上限+1超过6时减至2并重新累加'+ '<li>主将出牌阶段的出牌数量行动值有上限先手为2后手为3装备牌不计入出牌上限<li>游戏每进行一轮,主将的出牌上限+1超过6时减至2并重新累加'+
'<li>使用随从牌可召唤一个随从随从出场时背面朝上。每一方在场的随从数不能超过4<li>随从于摸牌阶段摸牌基数为1随从的随从牌均视为闪装备牌均视为杀<li>'+ '<li>使用随从牌可召唤一个随从随从出场时背面朝上。每一方在场的随从数不能超过4<li>随从于摸牌阶段摸牌基数为1随从的随从牌均视为闪装备牌均视为杀<li>'+
@ -3765,6 +3762,14 @@
event.dialog.close(); event.dialog.close();
"step 2" "step 2"
if(event.result.bool&&event.result.buttons){ 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=[]; var cards=[];
for(var i=0;i<event.result.buttons.length;i++){ for(var i=0;i<event.result.buttons.length;i++){
cards.push(event.result.buttons[i].link); cards.push(event.result.buttons[i].link);
@ -5265,7 +5270,7 @@
updateMarks:function(){ updateMarks:function(){
for(var i in this.marks){ for(var i in this.marks){
if(i=='ghujia'||(!this.marks[i].querySelector('.image')&&lib.skill[i]&& 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') this.marks[i].classList.add('overflowmark')
var num; var num;
if(i=='ghujia'){ if(i=='ghujia'){
@ -6207,7 +6212,7 @@
} }
} }
if(next.num==undefined) next.num=1; 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; next.content=lib.element.playerproto.draw;
return next; return next;
}, },
@ -7288,18 +7293,19 @@
return node; return node;
} }
else{ else{
var node;
if(card==undefined||card.length==0) return; if(card==undefined||card.length==0) return;
if(false){ if(false){
var left=-52+(Math.random()<0.5?1:-1)*Math.random()*100; 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 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% '+(left>0?'+':'-')+' '+Math.abs(left)+'px)',
'calc(50% '+(top>0?'+':'-')+' '+Math.abs(top)+'px)' 'calc(50% '+(top>0?'+':'-')+' '+Math.abs(top)+'px)'
); );
} }
else{ else{
var node=this.$throwordered(card.copy('thrown')); node=this.$throwordered(card.copy('thrown'));
} }
if(time!=undefined){ if(time!=undefined){
node.fixed=true; node.fixed=true;
@ -8121,6 +8127,9 @@
if(card[3]) this.node.background.setBackground(bg+'_'+card[3],'card'); if(card[3]) this.node.background.setBackground(bg+'_'+card[3],'card');
else this.node.background.setBackground(bg,'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'){ else if(lib.card[card[2]].image=='card'){
if(card[3]) this.setBackground(bg+'_'+card[3],'card'); if(card[3]) this.setBackground(bg+'_'+card[3],'card');
else this.setBackground(bg,'card'); else this.setBackground(bg,'card');
@ -8140,13 +8149,23 @@
if(lib.card[card[2]].color){ if(lib.card[card[2]].color){
this.style.color=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){ if(lib.card[card[2]].textShadow){
this.style.textShadow=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){ if(lib.card[card[2]].opacity){
this.node.info.style.opacity=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; 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){ if(lib.card[card[2]].modinfo){
this.node.info.innerHTML=lib.card[card[2]].modinfo; this.node.info.innerHTML=lib.card[card[2]].modinfo;
} }
@ -8592,8 +8611,9 @@
else ui.dialogs[i].hide(); else ui.dialogs[i].hide();
} }
ui.dialog=this; ui.dialog=this;
var translate;
if(lib.config.remember_dialog&&lib.config.dialog_transform&&!this.classList.contains('fixed')){ 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._dragtransform=translate;
this.style.transform='translate('+translate[0]+'px,'+translate[1]+'px) scale(0.8)'; this.style.transform='translate('+translate[0]+'px,'+translate[1]+'px) scale(0.8)';
} }
@ -8872,7 +8892,7 @@
ghujia:{ ghujia:{
intro:{ intro:{
content:function(content,player){ 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'){ if(lib.config.tao_enemy&&event.dying.side!=player.side&&lib.config.mode!='identity'&&lib.config.mode!='guozhan'){
event._result={bool:false} 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==event.dying&&(player.num('h','jiu')||player.num('h','hufu')||player.num('h','tianxianjiu')))){
player.chooseToUse({ player.chooseToUse({
filterCard:function(card,player){ filterCard:function(card,player){
@ -9563,9 +9583,7 @@
} }
game.singleHandcard=true; game.singleHandcard=true;
ui.arena.classList.add('single-handcard'); ui.arena.classList.add('single-handcard');
ui.fakeme=ui.create.div('.player.controlfakeme'); ui.fakeme=ui.create.div('.fakeme.avatar',ui.me);
ui.fakeme.line=lib.element.player.line;
ui.fakemebg=ui.create.div('.avatar',ui.fakeme).hide();
} }
ui.arena.style.display=''; ui.arena.style.display='';
ui.refresh(ui.arena); ui.refresh(ui.arena);
@ -9575,11 +9593,7 @@
if(!players.boss){ if(!players.boss){
game.singleHandcard=true; game.singleHandcard=true;
ui.arena.classList.add('single-handcard'); ui.arena.classList.add('single-handcard');
ui.fakeme=ui.create.div('.player.controlfakeme'); ui.fakeme=ui.create.div('.fakeme.avatar',ui.me);
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.arena.dataset.number=8; ui.arena.dataset.number=8;
} }
@ -9634,14 +9648,12 @@
if(lib.config.mode=='versus'){ if(lib.config.mode=='versus'){
if(players.bool){ if(players.bool){
ui.fakemebg.show();
game.onSwapControl(); game.onSwapControl();
} }
} }
else if(lib.config.mode=='boss'){ else if(lib.config.mode=='boss'){
if(!players.boss){ if(!players.boss){
game.onSwapControl(); game.onSwapControl();
ui.fakemebg.show();
} }
ui.arena.style.display=''; ui.arena.style.display='';
ui.refresh(ui.arena); ui.refresh(ui.arena);
@ -9773,6 +9785,21 @@
console.log(content); 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){ stoneSwap:function(info){
var player=ui.create.player(); var player=ui.create.player();
player.classList.add('noidentity'); player.classList.add('noidentity');
@ -9816,6 +9843,14 @@
console.log(source); console.log(source);
} }
}, },
reinit2:function(source,name){
if(source&&name){
source.init(name);
}
else{
console.log(source);
}
},
skill:function(player,content){ skill:function(player,content){
if(typeof content=='string'){ if(typeof content=='string'){
lib.skill[content].video(player); lib.skill[content].video(player);
@ -11323,6 +11358,10 @@
if(!ui.restart){ if(!ui.restart){
ui.restart=ui.create.control('restart',game.reload); ui.restart=ui.create.control('restart',game.reload);
} }
if(ui.tempnowuxie){
ui.tempnowuxie.close();
delete ui.tempnowuxie;
}
if(ui.revive){ if(ui.revive){
ui.revive.close(); ui.revive.close();
@ -12087,7 +12126,7 @@
}; };
if(card.ai.basic.useful==undefined) card.ai.basic.useful=2; if(card.ai.basic.useful==undefined) card.ai.basic.useful=2;
if(card.subtype=='equip3'){ 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'){ else if(card.subtype=='equip4'){
if(card.ai.basic.equipValue==undefined) card.ai.basic.equipValue=5; if(card.ai.basic.equipValue==undefined) card.ai.basic.equipValue=5;
@ -12394,9 +12433,9 @@
game.arrangePlayers(); game.arrangePlayers();
return player; return player;
}, },
addFellow:function(position,character){ addFellow:function(position,character,animation){
game.addVideo('addFellow',null,[position,character]); 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; player.dataset.position=position||game.players.length+game.dead.length;
if(character) player.init(character); if(character) player.init(character);
game.players.push(player);game.arrangePlayers(); game.players.push(player);game.arrangePlayers();
@ -12806,10 +12845,11 @@
else{ else{
for(var i in lib.character){ for(var i in lib.character){
if(lib.character[i][4].contains('minskin')) continue; if(lib.character[i][4].contains('minskin')) continue;
if(lib.character[i][4].contains('boss')&&! if(lib.character[i][4].contains('boss')||lib.character[i][4].contains('hiddenboss')){
lib.character[i][4].contains('bossallowed')) continue; if(lib.config.mode=='boss') continue;
if(lib.character[i][4].contains('hiddenboss')&&! if(!lib.character[i][4].contains('bossallowed')) continue;
lib.character[i][4].contains('bossallowed')) continue; }
if(lib.character[i][4].contains('stonehidden')) continue; if(lib.character[i][4].contains('stonehidden')) continue;
if(lib.config.banned.contains(i)) continue; if(lib.config.banned.contains(i)) continue;
if(filter&&filter(i)) continue; if(filter&&filter(i)) continue;
@ -12924,8 +12964,16 @@
seperate=seperate(list); seperate=seperate(list);
dialog.seperate=[]; dialog.seperate=[];
for(var i in seperate){ for(var i in seperate){
dialog.seperate.push(dialog.add(i)); var link='';
dialog.add([seperate[i],'vcard'],noclick); 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{ else{
@ -13728,6 +13776,7 @@
var map={}; var map={};
if(info.config){ if(info.config){
var hiddenNodes=[]; var hiddenNodes=[];
var config=lib.config.mode_config[mode]||{};
for(var j in info.config){ for(var j in info.config){
if(j==='update'){ if(j==='update'){
continue; continue;
@ -13735,7 +13784,6 @@
var cfg=copyObj(info.config[j]); var cfg=copyObj(info.config[j]);
cfg._name=j; cfg._name=j;
cfg.mode=mode; cfg.mode=mode;
var config=lib.config.mode_config[mode]||{};
if(!config.hasOwnProperty(j)){ if(!config.hasOwnProperty(j)){
game.saveConfig(j,cfg.init,mode); game.saveConfig(j,cfg.init,mode);
} }
@ -13959,13 +14007,13 @@
}); });
page.style.paddingBottom='10px'; page.style.paddingBottom='10px';
} }
var config=lib.config;
for(var j in info.config){ for(var j in info.config){
if(j==='update'){ if(j==='update'){
continue; continue;
} }
var cfg=copyObj(info.config[j]); var cfg=copyObj(info.config[j]);
cfg._name=j; cfg._name=j;
var config=lib.config;
if(!config.hasOwnProperty(j)){ if(!config.hasOwnProperty(j)){
if(cfg.type!='autoskill'&&cfg.type!='banskill'){ if(cfg.type!='autoskill'&&cfg.type!='banskill'){
game.saveConfig(j,cfg.init); game.saveConfig(j,cfg.init);
@ -16754,17 +16802,18 @@
clearTimeout(ui.roundmenu._resetTimeout); clearTimeout(ui.roundmenu._resetTimeout);
delete ui.roundmenu._resetTimeout; delete ui.roundmenu._resetTimeout;
} }
var translate;
if(ui.roundmenu._dragorigin&&ui.roundmenu._dragtransform&&ui.roundmenu._dragtouches){ if(ui.roundmenu._dragorigin&&ui.roundmenu._dragtransform&&ui.roundmenu._dragtouches){
var dx=ui.roundmenu._dragtouches.clientX-ui.roundmenu._dragorigin.clientX; var dx=ui.roundmenu._dragtouches.clientX-ui.roundmenu._dragorigin.clientX;
var dy=ui.roundmenu._dragtouches.clientY-ui.roundmenu._dragorigin.clientY; var dy=ui.roundmenu._dragtouches.clientY-ui.roundmenu._dragorigin.clientY;
if(dx*dx+dy*dy<1000){ if(dx*dx+dy*dy<1000){
ui.click.roundmenu(); ui.click.roundmenu();
ui.roundmenu._dragtransform=ui.roundmenu._dragorigintransform; 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)'; ui.roundmenu.style.transform='translate('+translate[0]+'px,'+translate[1]+'px)';
} }
else{ else{
var translate=ui.roundmenu._dragtransform; translate=ui.roundmenu._dragtransform;
translate[0]+=dx; translate[0]+=dx;
translate[1]+=dy; translate[1]+=dy;
ui.click.checkroundtranslate(); ui.click.checkroundtranslate();
@ -16780,10 +16829,11 @@
} }
else if(_status.draggingtouchdialog){ else if(_status.draggingtouchdialog){
delete _status._swipeorigin; delete _status._swipeorigin;
var translate;
if(_status.draggingtouchdialog._dragorigin&&_status.draggingtouchdialog._dragtransform&&_status.draggingtouchdialog._dragtouches){ if(_status.draggingtouchdialog._dragorigin&&_status.draggingtouchdialog._dragtransform&&_status.draggingtouchdialog._dragtouches){
var dx=_status.draggingtouchdialog._dragtouches.clientX-_status.draggingtouchdialog._dragorigin.clientX; var dx=_status.draggingtouchdialog._dragtouches.clientX-_status.draggingtouchdialog._dragorigin.clientX;
var dy=_status.draggingtouchdialog._dragtouches.clientY-_status.draggingtouchdialog._dragorigin.clientY; var dy=_status.draggingtouchdialog._dragtouches.clientY-_status.draggingtouchdialog._dragorigin.clientY;
var translate=_status.draggingtouchdialog._dragtransform; translate=_status.draggingtouchdialog._dragtransform;
translate[0]+=dx; translate[0]+=dx;
translate[1]+=dy; translate[1]+=dy;
ui.click.checkdialogtranslate(null,_status.draggingtouchdialog); ui.click.checkdialogtranslate(null,_status.draggingtouchdialog);
@ -17176,8 +17226,9 @@
if(window.inSplash) return; if(window.inSplash) return;
if(_status.draggingdialog){ if(_status.draggingdialog){
var ddialog=_status.draggingdialog; var ddialog=_status.draggingdialog;
var translate;
if(ddialog._dragorigin&&ddialog._dragtransform){ if(ddialog._dragorigin&&ddialog._dragtransform){
var translate=ddialog._dragtransform; translate=ddialog._dragtransform;
translate[0]+=e.x-ddialog._dragorigin.x; translate[0]+=e.x-ddialog._dragorigin.x;
translate[1]+=e.y-ddialog._dragorigin.y; translate[1]+=e.y-ddialog._dragorigin.y;
ui.click.checkdialogtranslate(null,ddialog); ui.click.checkdialogtranslate(null,ddialog);
@ -17187,13 +17238,14 @@
delete _status.draggingdialog; delete _status.draggingdialog;
} }
if(_status.draggingroundmenu){ if(_status.draggingroundmenu){
var translate;
if(ui.roundmenu._dragorigin&&ui.roundmenu._dragtransform){ if(ui.roundmenu._dragorigin&&ui.roundmenu._dragtransform){
var dx=e.x-ui.roundmenu._dragorigin.x; var dx=e.x-ui.roundmenu._dragorigin.x;
var dy=e.y-ui.roundmenu._dragorigin.y; var dy=e.y-ui.roundmenu._dragorigin.y;
if(dx*dx+dy*dy<25){ if(dx*dx+dy*dy<25){
ui.click.roundmenu(); ui.click.roundmenu();
} }
var translate=ui.roundmenu._dragtransform; translate=ui.roundmenu._dragtransform;
translate[0]+=dx; translate[0]+=dx;
translate[1]+=dy; translate[1]+=dy;
ui.click.checkroundtranslate(); ui.click.checkroundtranslate();
@ -19087,6 +19139,7 @@
var card=false; var card=false;
if(typeof num!='number') num=1; if(typeof num!='number') num=1;
if(num==0) {card=true;num=1;} if(num==0) {card=true;num=1;}
if(num<0) num=1;
while(num--){ while(num--){
if(ui.cardPile.hasChildNodes()==false){ if(ui.cardPile.hasChildNodes()==false){
if(_status.maxShuffle!=undefined){ if(_status.maxShuffle!=undefined){
@ -19520,8 +19573,9 @@
return num; return num;
}, },
tag:function(item,tag,item2){ tag:function(item,tag,item2){
var result;
if(get.info(item)&&get.info(item).ai&&get.info(item).ai.tag){ 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); if(typeof result=='function') return result(item,item2);
return result; return result;
@ -19980,6 +20034,9 @@
uiintro.add('<div class="text center">攻击范围1</div>'); 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){ if(lib.translate[name+'_info'].length<=100){
uiintro.add('<div class="text center">'+lib.translate[name+'_info']+'</div>'); uiintro.add('<div class="text center">'+lib.translate[name+'_info']+'</div>');
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 184 KiB

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
image/card/spell_anyinglieyan.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
image/card/spell_aoshuzhihui.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
image/card/spell_baofengxue.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
image/card/spell_bianxingshu.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
image/card/spell_bingdong.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

BIN
image/card/spell_chenmo.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

BIN
image/card/spell_cigu.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
image/card/spell_cisha.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
image/card/spell_daoshan.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
image/card/spell_diyulieyan.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

BIN
image/card/spell_dunpaimengji.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
image/card/spell_emozhinu.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

BIN
image/card/spell_fengxian.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
image/card/spell_fennuzhichui.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
image/card/spell_fuchouzhinu.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
image/card/spell_hanbingjian.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
image/card/spell_huoqiushu.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
image/card/spell_kuaisusheji.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

BIN
image/card/spell_naluzhiguang.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
image/card/spell_nuxi.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
image/card/spell_shengliaoshu.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
image/card/spell_shixue.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

BIN
image/card/spell_sijidaifa.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
image/card/spell_xiaoguibaopo.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
image/card/spell_xiaoshi.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
image/card/spell_xuanfengzhan.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
image/card/spell_yanmie.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
image/card/spell_yaoshu.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
image/card/spell_yemanpaoxiao.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
image/card/spell_zhansha.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

BIN
image/card/spell_ziranzhili.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
image/card/spell_zuzhou.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Some files were not shown because too many files have changed in this diff Show More