This commit is contained in:
libccy 2017-02-19 13:54:28 +08:00
parent 256b04b565
commit bf80a74e2d
13 changed files with 110 additions and 10 deletions

View File

@ -187,6 +187,7 @@ character.extra={
wuqian:{ wuqian:{
audio:2, audio:2,
enable:'phaseUse', enable:'phaseUse',
derivation:'wushuang',
filter:function(event,player){ filter:function(event,player){
return player.storage.baonu>=2&&!player.hasSkill('wushuang'); return player.storage.baonu>=2&&!player.hasSkill('wushuang');
}, },

View File

@ -1040,6 +1040,7 @@ character.gujian={
enable:'chooseToUse', enable:'chooseToUse',
skillAnimation:true, skillAnimation:true,
animationColor:'fire', animationColor:'fire',
derivation:'juejing',
filter:function(event,player){ filter:function(event,player){
return !player.storage.shahun&&player.hp<=0; return !player.storage.shahun&&player.hp<=0;
}, },

View File

@ -4110,6 +4110,7 @@ character.hearth={
enable:'phaseUse', enable:'phaseUse',
skillAnimation:'epic', skillAnimation:'epic',
animationColor:'thunder', animationColor:'thunder',
derivation:'xinci',
filter:function(event,player){ filter:function(event,player){
return !player.storage.anying&&player.num('he',{color:'black'})>1; return !player.storage.anying&&player.num('he',{color:'black'})>1;
}, },

View File

@ -458,6 +458,7 @@ character.refresh={
skillAnimation:true, skillAnimation:true,
audio:2, audio:2,
unique:true, unique:true,
derivation:'gongxin',
trigger:{player:'phaseBegin'}, trigger:{player:'phaseBegin'},
forced:true, forced:true,
filter:function(event,player){ filter:function(event,player){
@ -1203,6 +1204,7 @@ character.refresh={
unique:true, unique:true,
trigger:{source:'damageAfter'}, trigger:{source:'damageAfter'},
forced:true, forced:true,
derivation:'jianyan',
filter:function(event,player){ filter:function(event,player){
return player.hp<player.maxHp; return player.hp<player.maxHp;
}, },

View File

@ -574,6 +574,7 @@ character.shenhua={
audio:2, audio:2,
unique:true, unique:true,
priority:-10, priority:-10,
derivation:'guanxing',
trigger:{player:'phaseBegin'}, trigger:{player:'phaseBegin'},
forced:true, forced:true,
filter:function(event,player){ filter:function(event,player){
@ -710,6 +711,7 @@ character.shenhua={
unique:true, unique:true,
zhuSkill:true, zhuSkill:true,
keepSkill:true, keepSkill:true,
derivation:'jijiang',
trigger:{player:'phaseBegin'}, trigger:{player:'phaseBegin'},
forced:true, forced:true,
filter:function(event,player){ filter:function(event,player){
@ -1010,6 +1012,7 @@ character.shenhua={
} }
return false; return false;
}, },
derivation:'jixi',
content:function(){ content:function(){
"step 0" "step 0"
player.judge(function(card){ player.judge(function(card){
@ -1156,6 +1159,7 @@ character.shenhua={
hunzi:{ hunzi:{
skillAnimation:true, skillAnimation:true,
audio:2, audio:2,
derivation:['reyingzi','yinghun'],
unique:true, unique:true,
trigger:{player:'phaseBegin'}, trigger:{player:'phaseBegin'},
filter:function(event,player){ filter:function(event,player){

View File

@ -804,6 +804,7 @@ character.sp={
player.storage.yjixi=0; player.storage.yjixi=0;
player.storage.yjixi2=false; player.storage.yjixi2=false;
}, },
derivation:'wangzun',
trigger:{player:'phaseEnd'}, trigger:{player:'phaseEnd'},
forced:true, forced:true,
filter:function(event,player){ filter:function(event,player){
@ -3808,6 +3809,7 @@ character.sp={
audio:2, audio:2,
skillAnimation:true, skillAnimation:true,
animationColor:'fire', animationColor:'fire',
derivation:'xintan',
filter:function(event,player){ filter:function(event,player){
return player.storage.fentian&&player.storage.fentian.length>=3&&!player.storage.zhiri; return player.storage.fentian&&player.storage.fentian.length>=3&&!player.storage.zhiri;
}, },
@ -4906,6 +4908,7 @@ character.sp={
skillAnimation:true, skillAnimation:true,
unique:true, unique:true,
audio:2, audio:2,
derivation:'tiaoxin',
trigger:{player:'dying'}, trigger:{player:'dying'},
priority:10, priority:10,
forced:true, forced:true,
@ -5682,6 +5685,7 @@ character.sp={
audio:2, audio:2,
unique:true, unique:true,
forceunique:true, forceunique:true,
derivation:'xiaoji',
trigger:{player:'phaseBegin'}, trigger:{player:'phaseBegin'},
filter:function(event,player){ filter:function(event,player){
if(player.storage.fanxiang) return false; if(player.storage.fanxiang) return false;
@ -6131,6 +6135,7 @@ character.sp={
unique:true, unique:true,
enable:'phaseUse', enable:'phaseUse',
mark:true, mark:true,
derivation:'yongjue',
filter:function(event,player){ filter:function(event,player){
return !player.storage.cunsi&&player.num('h')&&!player.isTurnedOver(); return !player.storage.cunsi&&player.num('h')&&!player.isTurnedOver();
}, },
@ -7532,6 +7537,7 @@ character.sp={
juyi:{ juyi:{
skillAnimation:true, skillAnimation:true,
audio:true, audio:true,
derivation:['benghuai','weizhong'],
trigger:{player:'phaseBegin'}, trigger:{player:'phaseBegin'},
filter:function(event,player){ filter:function(event,player){
return player.maxHp>game.players.length&&player.hp<player.maxHp&&!player.storage.juyi; return player.maxHp>game.players.length&&player.hp<player.maxHp&&!player.storage.juyi;
@ -7915,7 +7921,7 @@ character.sp={
fentian:'焚天', fentian:'焚天',
fentian_info:'锁定技,结束阶段开始时,若你的手牌数少于体力值,你须选择一名攻击范围内的角色,将其一张牌置于你的武将牌上,称为“焚”。锁定技,你的攻击范围+XX为“焚”的数量', fentian_info:'锁定技,结束阶段开始时,若你的手牌数少于体力值,你须选择一名攻击范围内的角色,将其一张牌置于你的武将牌上,称为“焚”。锁定技,你的攻击范围+XX为“焚”的数量',
zhiri:'炙日', zhiri:'炙日',
zhiri_info:'觉醒技准备阶段开始时若“焚”数不小于3你减1点体力上限然后获得技能“心惔”(出牌阶段限一次,你可以移去两张“焚”并选择一名角色,该角色失去一点体力)', zhiri_info:'觉醒技准备阶段开始时若“焚”数不小于3你减1点体力上限然后获得技能“心惔”',
meibu:'魅步', meibu:'魅步',
meibu_info:'一名其他角色的出牌阶段开始时,若你不在其攻击范围内,你可以令该角色的锦囊牌均视为【杀】,直到该角色以此法使用了一张【杀】或回合结束。若如此做,则直到回合结束,视为你在其攻击范围内', meibu_info:'一名其他角色的出牌阶段开始时,若你不在其攻击范围内,你可以令该角色的锦囊牌均视为【杀】,直到该角色以此法使用了一张【杀】或回合结束。若如此做,则直到回合结束,视为你在其攻击范围内',
mumu:'穆穆', mumu:'穆穆',

View File

@ -28,6 +28,9 @@ character.standard={
lvbu:['male','qun',4,['wushuang']], lvbu:['male','qun',4,['wushuang']],
diaochan:['female','qun',3,['lijian','biyue']], diaochan:['female','qun',3,['lijian','biyue']],
}, },
characterIntro:{
chenlin:'hhh'
},
perfectPair:{ perfectPair:{
xiahoudun:['xiahouyuan'], xiahoudun:['xiahouyuan'],
zhenji:['caopi'], zhenji:['caopi'],

View File

@ -472,6 +472,7 @@ character.swd={
hxunzhi:{ hxunzhi:{
unique:true, unique:true,
enable:'phaseUse', enable:'phaseUse',
derivation:['wusheng','paoxiao'],
filter:function(event,player){ filter:function(event,player){
return !player.storage.hxunzhi; return !player.storage.hxunzhi;
}, },

View File

@ -45,6 +45,7 @@ character.xianjian={
trigger:{player:'dyingAfter'}, trigger:{player:'dyingAfter'},
forced:true, forced:true,
mark:true, mark:true,
derivation:'longhuo',
intro:{ intro:{
content:'limited' content:'limited'
}, },
@ -1542,6 +1543,7 @@ character.xianjian={
trigger:{player:'dieBegin'}, trigger:{player:'dieBegin'},
direct:true, direct:true,
unique:true, unique:true,
derivation:'changnian2',
content:function(){ content:function(){
"step 0" "step 0"
player.chooseTarget(get.prompt('changnian'),function(card,player,target){ player.chooseTarget(get.prompt('changnian'),function(card,player,target){
@ -1582,6 +1584,7 @@ character.xianjian={
changnian2:{ changnian2:{
trigger:{player:'phaseEnd'}, trigger:{player:'phaseEnd'},
forced:true, forced:true,
nopop:true,
content:function(){ content:function(){
player.draw(); player.draw();
}, },
@ -2556,6 +2559,7 @@ character.xianjian={
wangyou_info:'其他角色的结束阶段,你可以弃置一张牌,令此回合内受过伤害的所有角色各摸一张牌', wangyou_info:'其他角色的结束阶段,你可以弃置一张牌,令此回合内受过伤害的所有角色各摸一张牌',
changnian:'长念', changnian:'长念',
changnian2:'追思', changnian2:'追思',
changnian2_info:'锁定技,结束阶段,你摸一张牌',
changnian_info:'你死亡时,可以将所有牌交给一名其他角色,令其获得技能【追思】', changnian_info:'你死亡时,可以将所有牌交给一名其他角色,令其获得技能【追思】',
sajin:'洒金', sajin:'洒金',
sajin_info:'出牌阶段限一次,你可以弃置一张手牌并指定任意名角色进行判定,若判定颜色与你弃置的牌相同,该角色回复一点体力', sajin_info:'出牌阶段限一次,你可以弃置一张手牌并指定任意名角色进行判定,若判定颜色与你弃置的牌相同,该角色回复一点体力',

View File

@ -3910,6 +3910,7 @@ character.yijiang={
selectCard:2, selectCard:2,
position:'h', position:'h',
audio:2, audio:2,
derivation:['wusheng','paoxiao'],
viewAs:{name:'sha'}, viewAs:{name:'sha'},
prompt:'将两张手牌当杀使用或打出', prompt:'将两张手牌当杀使用或打出',
check:function(card){ check:function(card){
@ -7216,6 +7217,7 @@ character.yijiang={
trigger:{player:'phaseBegin'}, trigger:{player:'phaseBegin'},
forced:true, forced:true,
unique:true, unique:true,
derivation:['zyexin','zzili'],
init:function(player){ init:function(player){
player.storage.zbaijiang=false; player.storage.zbaijiang=false;
}, },
@ -7294,6 +7296,7 @@ character.yijiang={
init:function(player){ init:function(player){
player.storage.zzili=false; player.storage.zzili=false;
}, },
derivation:'zpaiyi',
trigger:{player:'phaseBegin'}, trigger:{player:'phaseBegin'},
filter:function(event,player){ filter:function(event,player){
return player.storage.zyexin.length>=4&&!player.storage.zzili; return player.storage.zyexin.length>=4&&!player.storage.zzili;

View File

@ -29,6 +29,7 @@
video:[], video:[],
_onDB:[], _onDB:[],
skilllist:[], skilllist:[],
characterIntro:{},
characterPack:{}, characterPack:{},
cardPack:{}, cardPack:{},
onresize:[], onresize:[],
@ -33827,6 +33828,40 @@
if(lib.config.favouriteCharacter.contains(name)){ if(lib.config.favouriteCharacter.contains(name)){
fav.classList.add('active'); fav.classList.add('active');
} }
var intro=ui.create.div('.characterintro',uiintro,lib.characterIntro[name]||'123');
var intro2=ui.create.div('.characterintro.intro2',uiintro);
var list=lib.character[name][3];
var skills=ui.create.div('.characterskill',uiintro);
if(lib.config.mousewheel){
skills.onmousewheel=ui.click.mousewheel;
}
var clickSkill=function(){
var current=this.parentNode.querySelector('.active');
if(current){
current.classList.remove('active');
}
this.classList.add('active');
intro2.innerHTML='<span style="font-weight:bold;margin-right:5px">'+get.translation(this.link)+'</span>'+lib.translate[this.link+'_info'];
var info=get.info(this.link);
if(info.derivation){
var derivation=info.derivation;
if(typeof derivation=='string'){
derivation=[derivation];
}
for(var i=0;i<derivation.length;i++){
intro2.innerHTML+='<br><br><span style="font-weight:bold;margin-right:5px">'+get.translation(derivation[i])+'</span>'+lib.translate[derivation[i]+'_info'];
}
}
//trySkillAudio
}
for(var i=0;i<list.length;i++){
var current=ui.create.div('.menubutton.large',skills,clickSkill,get.translation(list[i]));
current.link=list[i];
if(i==0){
clickSkill.call(current);
}
}
uiintro.addEventListener(lib.config.touchscreen?'touchend':'click',ui.click.touchpop); uiintro.addEventListener(lib.config.touchscreen?'touchend':'click',ui.click.touchpop);
layer.addEventListener(lib.config.touchscreen?'touchend':'click',clicklayer); layer.addEventListener(lib.config.touchscreen?'touchend':'click',clicklayer);

View File

@ -176,6 +176,7 @@
left: 10px; left: 10px;
top: 10px; top: 10px;
overflow: hidden; overflow: hidden;
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0, 0.45) 0 3px 10px !important;
} }
.menubg.charactercard>.menubutton.large{ .menubg.charactercard>.menubutton.large{
width: 85px; width: 85px;
@ -204,10 +205,46 @@
pointer-events: none; pointer-events: none;
opacity: 0.6; opacity: 0.6;
} }
#window:not(.nopointer) .menubg.charactercard .menubutton:not(.ava), #window:not(.nopointer) .menubg.charactercard .menubutton:not(.ava):not(.intro),
#window:not(.nopointer) .menubg.charactercard>.ava>.avatars>div{ #window:not(.nopointer) .menubg.charactercard>.ava>.avatars>div{
cursor: pointer; cursor: pointer;
} }
.menubg.charactercard>.characterskill{
left: 191px;
padding-left: 9px;
padding-right: 10px;
width: 290px;
top: 125px;
height: 50px;
white-space: nowrap;
overflow-x: scroll;
}
.menubg.charactercard>.characterskill>.menubutton.large{
height: 20px;
line-height: 20px;
padding: 5px;
margin-top: 10px;
position: relative;
font-size: 20px;
margin-right: 10px;
}
.menubg.charactercard .characterintro{
left: 200px;
width: 280px;
height: 105px;
padding: 5px;
overflow: scroll;
border-radius: 4px;
box-shadow: rgba(0,0,0,0.2) 0 0 0 1px;
}
.menubg.charactercard .characterintro:not(.intro2){
top: 10px;
bottom: auto;
}
.menubg.charactercard .characterintro.intro2{
top: auto;
bottom: 10px;
}
.menubg.charactercard>.ava>.avatars{ .menubg.charactercard>.ava>.avatars{
opacity: 0; opacity: 0;
pointer-events: none; pointer-events: none;
@ -255,14 +292,14 @@
pointer-events: none; pointer-events: none;
} }
.menubg.charactercard>.ava>.avatar{ .menubg.charactercard>.ava>.avatar{
left: 3px; left: 0;
top: 3px; top: 0;
width: calc(100% - 6px); width: calc(100% - 0px);
height: calc(100% - 6px); height: calc(100% - 0px);
background-position: 50% 0; background-position: 50% 0;
border-radius: 4px !important; border-radius: 0px !important;
z-index: 1; z-index: 1;
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0, 0.45) 0 0 5px; box-shadow: none;
} }
.menu.main>.menu-tab{ .menu.main>.menu-tab{
height:37px; height:37px;

View File

@ -2867,6 +2867,7 @@ mode.boss={
unique:true, unique:true,
enable:'chooseToUse', enable:'chooseToUse',
mark:true, mark:true,
derivation:['tinqin','boss_huixin'],
init:function(player){ init:function(player){
player.storage.boss_guihan=false; player.storage.boss_guihan=false;
}, },
@ -3039,6 +3040,7 @@ mode.boss={
trigger:{player:'niepanAfter'}, trigger:{player:'niepanAfter'},
forced:true, forced:true,
unique:true, unique:true,
derivation:['shenwei','zhuyu'],
content:function(){ content:function(){
player.addSkill('kanpo'); player.addSkill('kanpo');
player.addSkill('shenwei'); player.addSkill('shenwei');