This commit is contained in:
libccy 2015-12-30 12:00:49 +08:00
parent 33f96d8ce5
commit 9a43095754
29 changed files with 1168 additions and 181 deletions

View File

@ -1366,7 +1366,14 @@ card.standard={
}
}
}
if(noask) {event._result={bool:false};return;}
if(noask){
if(event.current==game.me&&ui.tempnowuxie){
ui.tempnowuxie.close();
delete ui.tempnowuxie;
}
event._result={bool:false};
return;
}
}
var str=get.translation(event.card.name)+'对'+get.translation(event.source2||event.source)+'将';
if(event.state){

View File

@ -208,6 +208,7 @@ character.diy={
unique:true,
enable:'chooseToUse',
mark:true,
skillAnimation:'epic',
init:function(player){
player.storage.guihan=false;
},

View File

@ -58,6 +58,8 @@ character.extra={
init:function(player){
player.storage.shenfen=false;
},
skillAnimation:true,
animationColor:'metal',
mark:true,
content:function(){
"step 0"
@ -192,6 +194,7 @@ character.extra={
}
},
sbaiyin:{
skillAnimation:'epic',
trigger:{player:'phaseBegin'},
forced:true,
unique:true,
@ -747,6 +750,8 @@ character.extra={
unique:true,
enable:'phaseUse',
audio:3,
animationColor:'fire',
skillAnimation:'legend',
filter:function(event,player){
return !player.storage.yeyan;
},

View File

@ -119,6 +119,9 @@ character.fire={
unique:true,
enable:'chooseToUse',
mark:true,
skillAnimation:true,
animationStr:'涅盘',
animationColor:'fire',
init:function(player){
player.storage.niepan=false;
},

View File

@ -513,6 +513,8 @@ character.gujian={
},
shahun:{
enable:'chooseToUse',
skillAnimation:true,
animationColor:'fire',
filter:function(event,player){
return !player.storage.shahun&&player.hp<=0;
},
@ -882,6 +884,8 @@ character.gujian={
jiehuo:{
unique:true,
forbid:['infinity'],
skillAnimation:true,
animationColor:'fire',
init:function(player){
player.storage.jiehuo=false;
},

View File

@ -8,7 +8,7 @@ character.hearth={
hs_malfurion:['male','wu',4,['jihuo']],
hs_guldan:['male','qun',3,['fenliu','hongxi']],
hs_anduin:['male','qun',3,['shengguang','shijie','anying']],
hs_sthrall:['male','wu',4,['tuteng','guozai']],
hs_sthrall:['male','wu',4,['tuteng','guozai','zuling']],
hs_waleera:['female','qun',3,['jianren','mengun','wlianji']],
hs_medivh:['male','wei',3,['jingxiang','moying','mdzhoufu']],
@ -26,7 +26,7 @@ character.hearth={
hs_malygos:['male','wei',4,['malymowang']],
hs_xuefashi:['male','wei',2,['liehun','xjumo']],
// hs_loatheb:['male','wei',2,[]],
// hs_trueheart:['male','wei',2,[]],
hs_trueheart:['female','qun',3,['qianghua']],
// hs_sainaliusi:['male','wei',2,[]],
// hs_lrhonin:['male','wei',2,[]],
// hs_bolvar:['male','wei',2,[]],
@ -42,7 +42,7 @@ character.hearth={
hs_edwin:['male','qun',3,['lianzhan']],
hs_mijiaojisi:['female','qun',3,['kuixin']],
hs_huzhixiannv:['female','wu',3,['jingmeng','qingliu']],
hs_tgolem:['male','qun',4,['guozaix']],
hs_tgolem:['male','qun',4,['xinwuyan','guozai']],
hs_totemic:['male','wu',3,['s_tuteng']],
hs_xsylvanas:['female','qun',3,['busi','xshixin','xmojian']],
hs_siwangzhiyi:['male','qun',12,['mieshi']],
@ -56,13 +56,59 @@ character.hearth={
hs_malfurion:['hs_malorne'],
},
skill:{
qianghua:{
trigger:{player:'useCardAfter'},
filter:function(event,player){
if(event.parent.name=='qianghua') return false;
if(player.storage.qianghua>=2) return false;
if(_status.currentPhase!=player) return false;
if(event.parent.parent.name!='phaseUse') return false;
if(!event.targets||!event.card) return false;
var type=get.type(event.card);
if(type!='basic'&&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;
if(event.card.name=='toulianghuanzhu') return false;
return true;
},
content:function(){
player.storage.qianghua++;
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
},
group:'qianghua_clear',
subSkill:{
clear:{
trigger:{player:'phaseBegin'},
forced:true,
silent:true,
popup:false,
content:function(){
player.storage.qianghua=0;
}
}
}
},
qianghua2:{},
biri:{
trigger:{global:'useCard'},
priority:15,
filter:function(event,player){
return event.card.name=='sha'&&event.player!=player&&
get.distance(player,event.targets[0])<=1&&
player.num('h',{type:'basic'})>0&&
player.num('h','shan')>0&&
event.targets.contains(player)==false&&event.targets.length==1;
},
direct:true,
@ -72,7 +118,7 @@ character.hearth={
for(var i=0;i<trigger.targets.length;i++){
effect+=ai.get.effect(trigger.targets[i],trigger.card,trigger.player,player);
}
var str='蔽日:是否弃置一张基本牌令'+get.translation(trigger.player);
var str='蔽日:是否弃置一张令'+get.translation(trigger.player);
if(trigger.targets&&trigger.targets.length){
str+='对'+get.translation(trigger.targets);
}
@ -80,17 +126,20 @@ character.hearth={
if(event.isMine()||effect<0){
game.delay(0.5);
}
player.chooseToDiscard('h',{type:'basic'},str).ai=function(card){
var next=player.chooseToDiscard('h',function(card){
return card.name=='shan';
},str);
next.ai=function(card){
if(effect<0){
return 9-ai.get.value(card);
}
return -1;
}
next.logSkill=['biri',trigger.targets];
"step 1"
if(result.bool){
trigger.untrigger();
trigger.finish();
player.logSkill('biri',trigger.targets);
}
},
ai:{
@ -224,7 +273,7 @@ character.hearth={
mod:{
targetEnabled:function(card,player,target,now){
if(player!=target){
if(get.type(card)=='trick'&&!get.tag(card,'multitarget')) return false;
if(get.type(card)=='trick') return false;
}
}
}
@ -534,7 +583,7 @@ character.hearth={
},
guozai:{
enable:'phaseUse',
usable:1,
usable:2,
filter:function(event,player){
return player.num('h')<4;
},
@ -1181,6 +1230,8 @@ character.hearth={
anying:{
unique:true,
enable:'phaseUse',
skillAnimation:'epic',
animationColor:'thunder',
filter:function(event,player){
return !player.storage.anying&&player.num('he',{color:'black'})>1;
},
@ -1741,27 +1792,6 @@ character.hearth={
}
},
tzhenji2:{},
zuling:{
trigger:{player:'phaseBegin'},
forced:true,
filter:function(event,player){
if(player.storage.zuling) return false;
var rand=['tuteng1','tuteng2','tuteng3','tuteng4'];
var num=0;
for(var i=0;i<player.skills.length;i++){
if(rand.contains(player.skills[i])) num++;
if(num>=3) return true;
}
return false;
},
content:function(){
var rand=['tuteng1','tuteng2','tuteng3','tuteng4'];
for(var i=0;i<rand.length;i++){
player.removeSkill(rand[i]);
}
player.storage.zuling=true;
}
},
tzhenji_old:{
trigger:{player:['useCard','respondEnd']},
filter:function(event){
@ -1924,7 +1954,7 @@ character.hearth={
}
}
if(rand.length){
if(event.isMine()&&rand.length>1){
if(event.isMine()&&(rand.length>1||rand2.length>=3)){
var dialog=ui.create.dialog();
for(var i=0;i<rand.length;i++){
randx[i]=['','',rand[i]];
@ -1998,19 +2028,6 @@ character.hearth={
}
}
player.addSkill(event.choice);
if(!player.storage.tuteng_awake){
var rand=['tuteng1','tuteng2','tuteng3','tuteng4',
'tuteng5','tuteng6','tuteng7','tuteng8'];
var num=0;
for(var i=0;i<player.skills.length;i++){
if(rand.contains(player.skills[i])) num++;
if(num>=3){
player.storage.tuteng_awake=true;
player.popup('图腾已解锁');
break;
}
}
}
},
ai:{
order:11,
@ -2027,6 +2044,31 @@ character.hearth={
},
group:'tuteng_lose'
},
zuling:{
skillAnimation:'epic',
animationColor:'thunder',
trigger:{player:'phaseBegin'},
forced:true,
filter:function(event,player){
if(!player.storage.tuteng_awake){
var rand=['tuteng1','tuteng2','tuteng3','tuteng4',
'tuteng5','tuteng6','tuteng7','tuteng8'];
var num=0;
for(var i=0;i<player.skills.length;i++){
if(rand.contains(player.skills[i])) num++;
if(num>=3){
return true;
}
}
}
return false;
},
content:function(){
player.storage.tuteng_awake=true;
player.popup('图腾已解锁');
player.loseMaxHp();
}
},
tuteng_h:{
mod:{
maxHandcard:function(player,num){
@ -2450,7 +2492,10 @@ character.hearth={
hs_xuefashi:'血法师',
hs_ysera:'伊瑟拉',
hs_alextrasza:'阿莱克斯塔',
hs_trueheart:'图哈特',
qianghua:'强化',
qianghua_info:'出牌阶段限两次,你可以令一张你使用的基本牌或非延时锦囊牌额外结算一次',
fushi:'缚誓',
fushi_info:'出牌阶段,你可以令一名已受伤角色失去一点体力上限并回复一点体力',
hs_ronghejuren:'熔核巨人',
@ -2467,7 +2512,7 @@ character.hearth={
hs_sapphiron:'萨菲隆',
biri:'蔽日',
biri_info:'每当距离你1以内的一名其他角色成为杀的惟一目标时若杀的使用者不是你你可以弃置一张基本牌取消之',
biri_info:'每当距离你1以内的一名其他角色成为杀的惟一目标时若杀的使用者不是你你可以弃置一张取消之',
stuxi:'吐息',
stuxi_info:'锁定技,回合结束阶段,你令所有未翻面角色各弃置一张牌',
bingdong:'冰冻',
@ -2477,7 +2522,7 @@ character.hearth={
luoshi:'落石',
luoshi_info:'锁定技,每当你受到一次伤害,你与伤害来源各随机弃置一张牌',
mianyi:'免疫',
mianyi_info:'锁定技,你不能成为其他角色的单体非延时锦囊的目标',
mianyi_info:'锁定技,你不能成为其他角色的非延时锦囊的目标',
jiaohui:'教诲',
jiaohui_info:'回合结束阶段,若你没有于本回合内造成伤害,你可以令一名角色摸两张牌或回复一点体力',
chenshui:'沉睡',
@ -2519,7 +2564,7 @@ character.hearth={
guozai:'过载',
guozai2:'过载',
guozai2_bg:'载',
guozai_info:'出牌阶段限次,你可将手牌补至四张,并于此阶段结束时弃置等量的牌',
guozai_info:'出牌阶段限次,你可将手牌补至四张,并于此阶段结束时弃置等量的牌',
guozaix:'重载',
guozaix2:'重载',
guozaix2_bg:'载',
@ -2588,9 +2633,9 @@ character.hearth={
jingxiang:'镜像',
jingxiang_info:'每当你需要打出卡牌时,你可以观看一名随机角色的手牌并将其视为你的手牌打出',
tuteng:'图腾',
tuteng_info:'出牌阶段,你可以获得一个基础图腾,当你的图腾数量达到3时你解锁全部图腾;每当你受到一次伤害,你随机失去一个图腾',
tuteng_info:'出牌阶段,你可以获得一个基础图腾,你最多可以同时拥有3个图腾;每当你受到一次伤害,你随机失去一个图腾',
zuling:'祖灵',
zuling_info:'觉醒技回合开始阶段若你拥有至少3个图腾你失去所有图腾,并解锁强化图腾',
zuling_info:'觉醒技回合开始阶段若你拥有至少3个图腾你失去一点体力上限,并解锁强化图腾',
tuteng1:'治疗图腾',
tuteng2:'灼热图腾',
tuteng3:'石爪图腾',

View File

@ -46,6 +46,7 @@ character.mountain={
}
},
zhiji:{
skillAnimation:'true',
audio:2,
unique:true,
trigger:{player:'phaseBegin'},
@ -188,6 +189,7 @@ character.mountain={
}
},
ruoyu:{
skillAnimation:true,
audio:2,
unique:true,
trigger:{player:'phaseBegin'},
@ -521,6 +523,7 @@ character.mountain={
}
},
zaoxian:{
skillAnimation:true,
audio:2,
unique:true,
trigger:{player:'phaseBegin'},
@ -613,6 +616,7 @@ character.mountain={
}
},
hunzi:{
skillAnimation:true,
audio:2,
unique:true,
trigger:{player:'phaseBegin'},

View File

@ -54,6 +54,9 @@ window.characterRank={
a:[
'hs_ysera',
'yxs_diaochan',
'liuzan',
'lingcao',
'hs_trueheart',
'swd_wangsiyue',
'swd_lanyin',
'swd_hengai',
@ -63,6 +66,8 @@ window.characterRank={
'hs_bchillmaw',
'shen_zhugeliang',
'gjqt_fanglansheng',
'hs_zhishigushu',
'hs_zhanzhenggushu',
'gjqt_xiayize',
'hs_yngvar',
're_huanggai',
@ -89,12 +94,17 @@ window.characterRank={
'zhongyao',
'liuchen',
'baiwuchang',
'yxs_guiguzi',
'hs_shanlingjuren',
'hs_tgolem',
],
am:[
'zhugeguo',
'sp_caiwenji',
'yxs_yingzheng',
'caorui',
'manchong',
'yxs_xiangyu',
'swd_linyue',
'swd_fuyan',
'pal_xuejian',
@ -148,9 +158,19 @@ window.characterRank={
'hs_siwangzhiyi',
'jg_huangyueying',
'hs_bilanyoulong',
'yxs_direnjie',
'yxs_sunwu',
'zhanglu',
'yxs_kaisa',
'yxs_luban',
'yxs_huamulan',
'yxs_luzhishen',
],
bp:[
'hs_alextrasza',
'hs_sapphiron',
'yxs_zhuyuanzhang',
'yxs_jinke',
'gongsunyuan',
'guotufengji',
'mamian',
@ -160,6 +180,9 @@ window.characterRank={
'xiahoushi',
'heiwuchang',
'zhangsong',
'yxs_yuefei',
'yxs_fuermosi',
'yxs_xiaoqiao',
'zhuhuan',
'yxs_aijiyanhou',
'yxs_bole',
@ -182,6 +205,7 @@ window.characterRank={
'hs_wuther',
'sp_dongzhuo',
'jiangwei',
'yxs_luobinhan',
'liubei',
'mateng',
'wutugu',
@ -198,6 +222,7 @@ window.characterRank={
'sp_zhaoyun',
're_guanyu',
're_huatuo',
'yxs_wangzhaojun',
'swd_jiangwu',
'swd_nicole',
'sp_jiangwei',
@ -226,22 +251,29 @@ window.characterRank={
'panzhangmazhong',
'sunxiu',
'quancong',
'yxs_luocheng',
'yxs_napolun',
],
b:[
'yxs_lishimin',
'pal_linyueru',
'zhuran',
'fuhuanghou',
'xin_masu',
'yxs_chengjisihan',
'masu',
'handang',
'swd_youzhao',
'swd_fu',
'swd_yeyaxi',
'yxs_chengyaojin',
'yxs_yuji',
'swd_jialanduo',
'swd_jiting',
'sp_machao',
're_zhaoyun',
'fuwan',
'hs_jinglinglong',
're_xuzhu',
're_guojia',
'ganfuren',
@ -287,6 +319,8 @@ window.characterRank={
'caoxiu',
'zhuzhi',
'zhangyi',
'yxs_baosi',
'lingju',
],
bm:[
'guohuai',
@ -298,7 +332,9 @@ window.characterRank={
'guanyinping',
'dingfeng',
'mayunlu',
'yxs_mingchenghuanghou',
'pangtong',
'yxs_libai',
'zhugeliangwolong',
'shen_guanyu',
'jiangfei',
@ -327,6 +363,8 @@ window.characterRank={
'madai',
'liru',
're_zhangfei',
'yxs_lvzhi',
'yxs_goujian',
],
c:[
'huaxiong',
@ -349,6 +387,7 @@ window.characterRank={
],
d:[
'menghuo',
'sunru',
'zhoucang',
'weiyan',
'guanyu',

View File

@ -272,6 +272,7 @@ character.refresh={
}
},
qinxue:{
skillAnimation:true,
audio:2,
unique:true,
trigger:{player:'phaseBegin'},
@ -496,6 +497,7 @@ character.refresh={
audio:2,
unique:true,
mark:true,
skillAnimation:true,
trigger:{player:'phaseBegin'},
init:function(player){
player.storage.retishen=false;
@ -1028,6 +1030,7 @@ character.refresh={
}
},
jianyan:{
skillAnimation:true,
audio:2,
enable:'phaseUse',
usable:1,
@ -1119,6 +1122,7 @@ character.refresh={
}
},
fenwei:{
skillAnimation:true,
audio:2,
unique:true,
mark:true,
@ -1314,7 +1318,7 @@ character.refresh={
xunxun_info:'摸牌阶段,你可以放弃摸牌,改为观看牌堆顶的四张牌,然后获得其中的两张牌,将其余的牌以任意顺序置于牌堆底。',
wangxi_info:'每当你对其他角色造成1点伤害后或受到其他角色造成的1点伤害后你可与该角色各摸一张牌。',
reguose_info:'出牌阶段限一次,你可以选择一项:将一张方片花色牌当做【乐不思蜀】使用;或弃置一张方片花色牌并弃置场上的一张【乐不思蜀】。选择完成后,你摸一张牌。',
fenwei_info:'当一名角色使用的锦囊牌指定了至少两名角色为目标时,你可以令此牌对其中任意名角色无效。',
fenwei_info:'限定技,当一名角色使用的锦囊牌指定了至少两名角色为目标时,你可以令此牌对其中任意名角色无效。',
chulao_info:'出牌阶段限一次,若你有牌,你可以选择任意名势力各不相同的其他角色,你弃置你和这些角色的各一张牌。然后以此法弃置黑桃牌的角色各摸一张牌。',
reguicai_info:'在任意角色的判定牌生效前,你可以打出一张牌代替之',
zhuhai_info:'一名其他角色的结束阶段开始时,若该角色本回合造成过伤害,你可以对其使用一张【杀】。',

View File

@ -55,6 +55,7 @@ character.sp={
},
skill:{
danji:{
skillAnimation:true,
trigger:{player:'phaseBegin'},
forced:true,
filter:function(event,player){
@ -195,7 +196,7 @@ character.sp={
'step 0'
var goon=(ai.get.attitude(player,trigger.player)<0);
var next=player.chooseToDiscard('是否对'+get.translation(trigger.player)+'发动【竭缘】?',{color:'black'});
next.ai=function(){
next.ai=function(card){
if(goon){
return 8-ai.get.value(card);
}
@ -251,6 +252,7 @@ character.sp={
intro:{
content:'limited'
},
skillAnimation:'epic',
audio:2,
mark:true,
filter:function(event,player){
@ -396,10 +398,12 @@ character.sp={
if(!event.cards||event.cards.length!=1) return false;
if(_status.currentPhase!=player) return false;
if(!player.storage.fenyin) return false;
if(player.storage.fenyin2>=3) return false;
return get.color(player.storage.fenyin)!=get.color(event.cards[0]);
},
content:function(){
player.draw();
player.storage.fenyin2++;
},
intro:{
content:'card'
@ -422,12 +426,13 @@ character.sp={
}
},
fenyin2:{
trigger:{player:'phaseAfter'},
trigger:{player:'phaseBegin'},
forced:true,
silent:true,
popup:false,
content:function(){
player.storage.fenyin=null;
player.storage.fenyin2=0;
}
},
dujin:{
@ -1106,6 +1111,7 @@ character.sp={
}
},
fengliang:{
skillAnimation:true,
unique:true,
audio:2,
trigger:{player:'dying'},
@ -1309,6 +1315,7 @@ character.sp={
}
},
zuixiang:{
skillAnimation:true,
audio:true,
unique:true,
mark:true,
@ -2206,6 +2213,7 @@ character.sp={
}
},
cunsi:{
skillAnimation:true,
audio:2,
unique:true,
enable:'phaseUse',
@ -2541,6 +2549,7 @@ character.sp={
unique:true
},
xiongyi:{
skillAnimation:true,
unique:true,
enable:'phaseUse',
audio:2,
@ -2670,6 +2679,7 @@ character.sp={
}
},
wuji:{
skillAnimation:true,
audio:2,
trigger:{player:'phaseEnd'},
forced:true,
@ -3576,6 +3586,7 @@ character.sp={
}
},
juyi:{
skillAnimation:true,
audio:true,
trigger:{player:'phaseBegin'},
filter:function(event,player){
@ -3675,6 +3686,7 @@ character.sp={
},
suiren:{
trigger:{player:'phaseBegin'},
skillAnimation:true,
check:function(event,player){
return player.hp==1||(player.hp==2&&player.num('h')<=1);
},
@ -3889,7 +3901,7 @@ character.sp={
fulu:'符箓',
fuji:'助祭',
fenyin:'奋音',
fenyin_info:'你的回合内,当你使用牌时,若此牌与你于此回合内使用的上一张牌颜色不同,则你可以摸一张牌',
fenyin_info:'你的回合内,当你使用牌时,若此牌与你于此回合内使用的上一张牌颜色不同,则你可以摸一张牌每回合最多发动3次',
fuji_info:'当一名角色造成雷电伤害时,你可以令其进行一次判定,若结果为黑色,此伤害+1若结果为红色该角色获得此牌。',
fulu_info:'你可以将【杀】当雷【杀】使用。',
jilei_info:'每当你受到一次伤害,可以令伤害来源不能使用或打出其手牌直到回合结束',

View File

@ -199,6 +199,8 @@ character.swd={
}
},
bingfeng:{
skillAnimation:'epic',
animationColor:'water',
unique:true,
enable:'phaseUse',
filter:function(event,player){
@ -1263,6 +1265,8 @@ character.swd={
}
},
shouyin:{
skillAnimation:'epic',
animationColor:'water',
unique:true,
enable:'chooseToUse',
init:function(player){

View File

@ -1047,7 +1047,7 @@ character.yijiang={
'step 0'
if(target.num('e')){
target.chooseBool('是否将装备区内的所有牌交给'+get.translation(player)+'').ai=function(){
if(player.num('e')>=2) return false;
if(target.num('e')>=3) return false;
return true;
}
}
@ -1650,7 +1650,7 @@ character.yijiang={
return ai.get.attitude(player,event.target)<0;
},
intro:{
content:'cards'
content:'card'
},
content:function(){
var card=trigger.target.get('h').randomGet();
@ -1661,9 +1661,6 @@ character.yijiang={
player.markSkill('taoxi');
player.addTempSkill('taoxi4','phaseAfter');
},
intro:{
content:'card'
},
group:['taoxi2','taoxi3']
},
taoxi2:{
@ -1731,6 +1728,7 @@ character.yijiang={
},
taoxi4:{},
xingshuai:{
skillAnimation:true,
audio:2,
trigger:{player:'dying'},
priority:6,
@ -1879,7 +1877,6 @@ character.yijiang={
trigger:{global:'phaseAfter'},
forced:true,
popup:false,
audio:false,
content:function(){
if(lib.config.glow_phase){
if(_status.currentPhase){
@ -2163,6 +2160,8 @@ character.yijiang={
}
},
fencheng:{
skillAnimation:'epic',
animationColor:'fire',
audio:2,
enable:'phaseUse',
filter:function(event,player){
@ -2323,6 +2322,7 @@ character.yijiang={
}
},
jiefan:{
skillAnimation:true,
audio:2,
unique:true,
mark:true,
@ -2394,6 +2394,7 @@ character.yijiang={
}
},
fuli:{
skillAnimation:true,
audio:2,
unique:true,
enable:'chooseToUse',
@ -2966,6 +2967,7 @@ character.yijiang={
}
},
zili:{
skillAnimation:true,
audio:3,
unique:true,
trigger:{player:'phaseBegin'},
@ -3029,6 +3031,7 @@ character.yijiang={
}
},
xianzhou:{
skillAnimation:true,
audio:2,
unique:true,
enable:'phaseUse',
@ -5237,6 +5240,7 @@ character.yijiang={
}
},
zbaijiang:{
skillAnimation:true,
trigger:{player:'phaseBegin'},
forced:true,
unique:true,
@ -5313,6 +5317,7 @@ character.yijiang={
}
},
zzili:{
skillAnimation:true,
unique:true,
init:function(player){
player.storage.zzili=false;

View File

@ -498,6 +498,7 @@ character.yxs={
}
},
heqin:{
skillAnimation:true,
enable:'phaseUse',
filter:function(event,player){
return !player.storage.heqin;
@ -563,7 +564,34 @@ character.yxs={
}
},
chajue:{
inherit:'zhichi'
trigger:{player:'damageEnd'},
forced:true,
filter:function(event,player){
return _status.currentPhase!=player;
},
content:function(){
player.addTempSkill('chajue2',['phaseAfter','phaseBefore']);
}
},
chajue2:{
trigger:{target:'useCardToBefore'},
forced:true,
priority:15,
filter:function(event,player){
return get.type(event.card)=='trick'||event.card.name=='sha';
},
content:function(){
game.log(player,'发动了察觉,',trigger.card,'对',trigger.target,'失效')
trigger.untrigger();
trigger.finish();
},
ai:{
effect:{
target:function(card,player,target,current){
if(get.type(card)=='trick'||card.name=='sha') return [0,0,0,0];
}
}
}
},
tiewan:{
trigger:{global:'useCardAfter'},
@ -899,6 +927,16 @@ character.yxs={
}
if(suit&&get.suit(card)==suit) return false;
},
cardRespondable:function(card,player){
if(player.skills.contains('ducai2')) return;
var suit;
for(var i=0;i<game.players.length;i++){
if(game.players[i].skills.contains('ducai2')){
suit=get.suit(game.players[i].storage.ducai2);
}
}
if(suit&&get.suit(card)==suit) return false;
},
cardSavable:function(card,player){
if(player.skills.contains('ducai2')) return;
var suit;
@ -1120,6 +1158,7 @@ character.yxs={
}
},
seyou:{
skillAnimation:true,
unique:true,
mark:true,
init:function(player){
@ -2119,6 +2158,7 @@ character.yxs={
heqin3:'和亲',
heqin_info:'限定技,你可以与场上一名男性角色形成【和亲】状态,你与该男性角色于摸牌阶段摸牌数+1。你或者男性角色阵亡【和亲】状态消失',
chajue:'察觉',
chajue2:'察觉',
chajue_info:'锁定技,你的回合外,你每受到一次伤害,任何【杀】或非延时类锦囊均对你无效,直到该回合结束。',
tiewan:'铁腕',
tiewan_info:'每当其他角色使用乐不思蜀时,你可以立即将一张红色牌当作乐不思蜀使用',
@ -2154,7 +2194,7 @@ character.yxs={
ducai:'独裁',
ducai2:'独裁',
ducai3:'独裁',
ducai_info:'出牌阶段限一次,你可以弃置一张牌,则本轮内除你外的角色不能使用与该手牌花色相同的手牌',
ducai_info:'出牌阶段限一次,你可以弃置一张牌,则本轮内除你外的角色不能使用或打出与该手牌花色相同的手牌',
tongling:'统领',
tongling_info:'每当其他角色受到一次伤害时你获得1个统领标记标记上限为3',
fanpu:'反扑',

View File

@ -196,6 +196,7 @@ window.config={
background_audio:true,
background_speak:true,
glow_phase:'yellow',
die_flip:true,
skin:{},
gameRecord:{},
@ -231,6 +232,7 @@ window.config={
vertical_scroll:false,
handcard_scroll:0,
animation:true,
skill_animation:true,
paused:false,
title:false,
right_sidebar:false,

View File

@ -20,7 +20,9 @@
changeLog:[
'界面问题修正',
'限制结算速度选项(较卡时建议开启)',
'引用配音方法调整'
'引用配音方法调整',
'觉醒技、限定技特效',
'烟花、下雪等特效(需在选项-玩法中开启富甲天下)'
],
configprefix:'noname_0.9_',
updates:[],
@ -947,6 +949,10 @@
name:'游戏特效',
init:true,
},
skill_animation:{
name:'技能特效',
init:true,
},
name_font:{
name:'人名字体',
init:'xinwei',
@ -1279,10 +1285,10 @@
}
}
},
coin_free_playpackconfig:{
name:'仅在空闲时显示特效',
init:false,
},
// coin_free_playpackconfig:{
// name:'仅在空闲时显示特效',
// init:false,
// },
update:function(config,map){
for(var i in map){
if(i.indexOf('_playpackconfig')!=-1){
@ -4200,7 +4206,12 @@
str+='发动了';
if(!info.direct){
game.log(player,str,'【'+get.translation(skill)+'】');
player.popup(skill);
if(lib.config.skill_animation&&lib.skill[skill]&&lib.skill[skill].skillAnimation){
player.$skill(lib.skill[skill].animationStr||lib.translate[skill],lib.skill[skill].skillAnimation,lib.skill[skill].animationColor);
}
else{
player.popup(skill);
}
}
if(event.addCount!=false){
if(player.stat[player.stat.length-1].skill[skill]==undefined){
@ -5530,7 +5541,7 @@
setTimeout(function(){
that.classList.remove('playerfocus');
ui.arena.classList.remove('playerfocus');
},1000);
},time);
game.addVideo('playerfocus',this,time);
return this;
},
@ -6600,7 +6611,10 @@
nopop=true;
}
if(lib.translate[name]){
if(!nopop) this.popup(name);
if(lib.config.skill_animation&&lib.skill[name]&&lib.skill[name].skillAnimation){
this.$skill(lib.skill[name].animationStr||lib.translate[name],lib.skill[name].skillAnimation,lib.skill[name].animationColor);
}
else if(!nopop) this.popup(name);
if(typeof targets=='object'&&targets.length){
game.log(this,'对',targets,'发动了','【'+get.translation(name)+'】');
}
@ -6992,7 +7006,7 @@
this.queueTimeout=setTimeout(function(){
player.queueCount--;
if(player.queueCount==0){
player.removeAttribute('style');
player.style.transform='';
player.node.avatar.style.transform='';
player.node.avatar2.style.transform='';
if(player==game.me) ui.me.removeAttribute('style');
@ -7751,6 +7765,23 @@
}
if(list.length) this.$draw(list);
},
$skill:function(name,type,color){
if(typeof type!='string') type='legend';
game.delay(2);
this.playerfocus(1500);
var that=this;
setTimeout(function(){
if(lib.config.animation&&!lib.config.low_performance){
if(lib.config.mode=='chess'){
that['$'+type+'2'](1200);
}
else{
that['$'+type](1200);
}
}
that.$fullscreenpop(name,color);
},300);
},
$fire:function(){
game.addVideo('flame',this,'fire');
var left,top;
@ -7805,7 +7836,8 @@
game.animate.flame(left+this.offsetWidth/2,
top+this.offsetHeight-30,700,'legend');
},
$rare:function(){
$rare:function(time){
time=time||700;
game.addVideo('flame',this,'rare');
var left,top;
if(lib.config.mode=='chess'){
@ -7820,9 +7852,10 @@
top+=15;
}
game.animate.flame(left+this.offsetWidth/2,
top+this.offsetHeight-30,700,'rare');
top+this.offsetHeight-30,time,'rare');
},
$epic:function(){
$epic:function(time){
time=time||700;
game.addVideo('flame',this,'epic');
var left,top;
if(lib.config.mode=='chess'){
@ -7837,9 +7870,10 @@
top+=15;
}
game.animate.flame(left+this.offsetWidth/2,
top+this.offsetHeight-30,700,'epic');
top+this.offsetHeight-30,time,'epic');
},
$legend:function(){
$legend:function(time){
time=time||700;
game.addVideo('flame',this,'legend');
var left,top;
if(lib.config.mode=='chess'){
@ -7854,7 +7888,7 @@
top+=15;
}
game.animate.flame(left+this.offsetWidth/2,
top+this.offsetHeight-30,700,'legend');
top+this.offsetHeight-30,time,'legend');
},
$coin:function(){
game.addVideo('flame',this,'coin');
@ -7907,8 +7941,19 @@
node.dataset.nature=nature||'black';
return node;
},
$fullscreenpop:function(str,nature){
game.addVideo('fullscreenpop',this,[str,nature]);
var node=ui.create.div('.damage',ui.window);
node.innerHTML=str;
node.dataset.nature=nature||'soil';
ui.refresh(node);
node.classList.add('damageadded');
setTimeout(function(){
node.delete();
},1000);
},
$damagepop:function(num,nature){
if(typeof num=='number'){
if(typeof num=='number'||typeof num=='string'){
game.addVideo('damagepop',this,[num,nature]);
var node=ui.create.div('.damage');
if(num>0){
@ -10014,6 +10059,14 @@
console.log(player);
}
},
fullscreenpop:function(player,content){
if(player&&content){
player.$fullscreenpop(content[0],content[1]);
}
else{
console.log(player);
}
},
damagepop:function(player,content){
if(player&&content){
player.$damagepop(content[0],content[1]);
@ -10823,9 +10876,11 @@
ui.refresh(node);
node.show();
node.style.transform='rotate('+(-deg)+'deg) scaleY(1)';
setTimeout(function(){
node.delete();
},total/1.5);
node.addEventListener('webkitTransitionEnd',function(){
setTimeout(function(){
node.delete();
},total/3);
});
},
_linexy:function(path){
var from=[path[0],path[1]];
@ -10916,7 +10971,7 @@
_status.event.next.push(next);
return next;
},
createCard:function(name,suit,number){
createCard:function(name,suit,number,nature){
if(typeof name!='string'){
name='sha';
}
@ -10932,7 +10987,7 @@
if(typeof number!='number'){
number=Math.ceil(Math.random()*13);
}
return ui.create.card(ui.special).init([suit,number,name]);
return ui.create.card(ui.special).init([suit,number,name,nature]);
},
over:function(result){
var i,j,k,num,table,tr,td,dialog;
@ -10960,7 +11015,12 @@
if(typeof _status.coin=='number'){
var coeff=Math.random()*0.4+0.8;
var added=0;
var betWin=false;
if(result=='战斗胜利'){
if(_status.betWin){
betWin=true;
_status.coin+=10;
}
_status.coin+=20;
switch(lib.config.mode){
case 'identity':{
@ -11013,6 +11073,11 @@
}
_status.coin=Math.ceil(_status.coin);
dialog.add(ui.create.div('','获得'+_status.coin+'金'));
if(betWin){
game.changeCoin(20);
dialog.content.appendChild(document.createElement('br'));
dialog.add(ui.create.div('','下注赢得10金'));
}
game.changeCoin(_status.coin);
}
if(true){
@ -17082,6 +17147,7 @@
if(this.classList.contains('selectable')&&
!this.classList.contains('selected')&&
!this.classList.contains('noclick')){
game.print(1)
this._waitingfordrag={clientX:e.touches[0].clientX,clientY:e.touches[0].clientY};
}
},
@ -20699,7 +20765,7 @@
var list=lib.rank.s.concat(lib.rank.ap).concat(lib.rank.a).concat(lib.rank.am).
concat(lib.rank.bp).concat(lib.rank.b).concat(lib.rank.bm).concat(lib.rank.c).concat(lib.rank.d);
for(var i in lib.character){
if(i!='zuoci'&&i.indexOf('boss_')!=0&&!list.contains(i)) console.log(i);
if(i!='zuoci'&&i.indexOf('boss_')!=0&&!list.contains(i)&&!lib.customCharacters.contains(i)) console.log(i);
}
},
h:function(player){

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File

@ -137,7 +137,7 @@ table{table-layout: fixed;}
#arena[data-font_size='20']{
font-size:20px;
}*/
#arena{width:90%;height: 90%;top: calc(5% + 10px);left: 5%;}
#arena{width:90%;height: 90%;top: calc(5% + 10px);left: 5%;z-index: 0}
#arena.right:not(.noleft){left:240px;opacity: 0.6;}
#arena.left:not(.noleft){left:calc(10% - 240px);opacity: 0.6;}
#arena.top{top:-100%;}
@ -167,6 +167,9 @@ table{table-layout: fixed;}
#arena.playerfocus #chess>div:not(.playerfocus):not(.removing){
opacity: 0.3 !important;
}
.player.playerfocus{
transform: scale(1.1);
}
#arena #me>div>div>.card{
position: absolute;
left:8px;
@ -587,18 +590,19 @@ margin-bottom: 5px;
#arena .player.minskin>.name,
#arena.slim_player .player.minskin>.name{
top:16px;
top:17px;
}
#arena .player.linked.minskin>.name,
#arena.slim_player .player.linked.minskin>.name{
transform: rotate(90deg) translate(83px,-65px);
transform: rotate(90deg) translate(81px,-66px);
}
.button.character>.name{
font-family: 'xinwei'
}
.player>.intro{top:87px;left: 18px;}
.player>.damage{
.player>.damage,
#window>.damage{
font-family: 'huangcao','xinwei';
font-size:72px;
width: 100%;
@ -607,6 +611,12 @@ margin-bottom: 5px;
left:0;
opacity: 0;
transform:scale(0.7);
white-space: nowrap;
z-index: 5;
}
#window>.damage{
transform:scale(2);
font-size: 120px;
}
.player[data-position='0']>.damage.dieidentity,
.player:not(.dead)>.damage.dieidentity{
@ -628,7 +638,8 @@ margin-bottom: 5px;
animation-fill-mode: forwards;
-webkit-animation-fill-mode: forwards;
}
.player>.damage.damageadded{
.player>.damage.damageadded,
#window>.damage.damageadded{
opacity: 1;
transform:scale(1);
}
@ -863,7 +874,8 @@ margin-bottom: 5px;
-webkit-animation: drawing 1s;
-webkit-animation-fill-mode: forwards;
}
.card.thrown{position: absolute;opacity: 1;margin:0;z-index: 3}
.card.thrown{position: absolute;opacity: 1;margin:0;z-index: 3;}
#arena>.card.thrown{pointer-events: none}
#arena.thrownhighlight>.card.thrown:not(.thrownhighlight){
opacity: 0.5;
transform:scale(0.95);
@ -1281,7 +1293,7 @@ div[data-color="unknownm"]{
padding-right: 5px;
height: auto;
font-size: 24px;
box-shadow: rgba(0, 0, 0, 0.3) 0 0 0 1px, rgba(0, 0, 0, 0.3) 0 0 5px !important
margin-left: 10px;
}
.coin_menu .content>.caption>.coin_buy>.menubutton.disabled{
opacity: 0.5;

View File

@ -44,6 +44,9 @@
width: 120px;
border-radius: 0px;
}*/
#arena:not(.chess) .player[data-position='0'].playerfocus{
transform: scale(1);
}
#arena:not(.chess) .player[data-position='0']>.equips>div{
width: 45px;
height: 45px;

View File

@ -2065,6 +2065,24 @@ mode.chess={
ui.money.childNodes[2].style.color='#FFE600';
ui.money.childNodes[3].style.fontFamily='huangcao';
ui.money.style.letterSpacing='4px';
for(var i in lib.rank){
if(Array.isArray(lib.rank[i])){
for(var j=0;j<lib.rank[i].length;j++){
if(!lib.character[lib.rank[i][j]]){
lib.rank[i].splice(j--,1);
}
}
}
}
for(var i in lib.rank.rarity){
if(Array.isArray(lib.rank.rarity[i])){
for(var j=0;j<lib.rank.rarity[i].length;j++){
if(!lib.character[lib.rank.rarity[i][j]]){
lib.rank.rarity[i].splice(j--,1);
}
}
}
}
'step 1'
lib.rank.all=lib.rank.s.
concat(lib.rank.ap).

File diff suppressed because it is too large Load Diff

View File

@ -27,6 +27,10 @@ html{
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0, 0.2) 0 2px 10px;
}
.coin_menu .content>.caption>.coin_buy>.menubutton{
box-shadow: rgba(0, 0, 0, 0.3) 0 0 0 1px, rgba(0, 0, 0, 0.3) 0 0 5px !important;
}
.popup.fire{
color: rgb(255,119,63);
}