This commit is contained in:
libccy 2017-01-16 10:22:48 +08:00
parent 503f5d5769
commit 951723aa87
6 changed files with 201 additions and 24 deletions

View File

@ -1353,7 +1353,7 @@ card.standard={
trigger:{player:'shaMiss'},
direct:true,
filter:function(event,player){
return player.canUse('sha',event.target);
return player.canUse('sha',event.target)&&player.hasSha();
},
content:function(){
"step 0"

View File

@ -3246,7 +3246,7 @@ character.hearth={
ai:{
nohujia:true,
skillTagFilter:function(player){
return player.hp>1;
return player.hp>player.num('h');
},
threaten:function(player,target){
if(!target.hujia) return 0.8;
@ -3263,6 +3263,7 @@ character.hearth={
},
dunji:{
enable:'phaseUse',
usable:1,
filter:function(event,player){
return player.hujia?true:false;
},
@ -3282,7 +3283,9 @@ character.hearth={
order:9,
result:{
target:function(player,target){
return ai.get.damageEffect(target,player,target)+0.5;
var eff=ai.get.damageEffect(target,player,target)+0.5;
if(eff>0&&eff<=0.5) return 0;
return eff;
}
}
}
@ -5454,7 +5457,7 @@ character.hearth={
kuixin_info:'回合结束阶段你可以将你的手牌与一名其他角色交换手牌数之差不能多于1',
lianzhan:'连斩',
lianzhan_info:'出牌阶段结束时你可以摸X张牌X为你本回合使用的卡牌数',
yanshu:'炎',
yanshu:'炎',
yanshu_info:'每回合限一次,当你弃置非基本牌后,你可以获得一张流星火雨',
bingshuang:'冰枪',
bingshuang_info:'你使用锦囊牌造成伤害后,可令目标摸两张牌并翻面',
@ -5472,9 +5475,9 @@ character.hearth={
xinci:'心刺',
xinci_info:'出牌阶段限一次,你可以弃置一张黑色牌令一名角色流失一点体力',
zhongjia:'战甲',
zhongjia_info:'锁定技,每当你受到一次伤害,你获得一点护甲;当你的体力值大于1时,你的护甲不为你抵挡伤害',
zhongjia_info:'锁定技,每当你受到一次伤害,你获得一点护甲;当你的体力值大于手牌数时,你的护甲不为你抵挡伤害',
dunji:'盾击',
dunji_info:'出牌阶段,你可以失去你的所有护甲,并对等量的其他角色各造成一点伤害',
dunji_info:'出牌阶段限一次,你可以失去你的所有护甲,并对等量的其他角色各造成一点伤害',
qiaodong:'巧动',
qiaodong_info:'你可以将一张装备牌当作闪使用或打出',
fengxian:'奉献',

View File

@ -221,9 +221,11 @@ window.characterRank={
'yxs_zhangsanfeng',
'yxs_nandinggeer',
'hs_kazhakusi',
'swd_yeyaxi',
],
bp:[
'dongbai',
'swd_moye',
'guohuanghou',
'yxs_zhaoyong',
'yxs_yangguang',
@ -375,7 +377,6 @@ window.characterRank={
'handang',
'swd_youzhao',
'swd_fu',
'swd_yeyaxi',
'yxs_chengyaojin',
'yxs_yujix',
'swd_jialanduo',
@ -411,7 +412,6 @@ window.characterRank={
'daqiao',
'huatuo',
'swd_luchengxuan',
'swd_moye',
'sp_zhangjiao',
'dongzhuo',
'fazheng',

View File

@ -31,14 +31,14 @@ character.swd={
swd_luchengxuan:['male','wu',4,['ljifeng','lxianglong']],
swd_xiarou:['female','shu',3,['xianghui','huiqi']],
swd_moye:['female','wu',3,['rexue','liuli']],
swd_moye:['female','wu',3,['rexue','liuli','senluo']],
swd_zhaoyun:['male','shu',4,['longdan','pozhen','tanlin']],
swd_hengai:['female','shu',3,['funiao','ningxian','hlingbo']],
swd_duanmeng:['female','shu',4,['xuanying','lieren']],
swd_jiangwu:['male','shu',4,['yijue','dangping']],
swd_tuwei:['male','shu',3,['zhanlu','susheng']],
swd_yeyaxi:['female','shu',3,['rexue','huopu']],
swd_yeyaxi:['female','shu',3,['rexue','huopu','shenyan']],
swd_muyun:['male','wei',4,['zhuhai','polang','jikong']],
swd_lanyin:['female','wei',3,['xingdian','yulin','luomei']],
@ -87,7 +87,7 @@ character.swd={
swd_hanluo:['male','qun',5,['hzhenwei']],
swd_fu:['male','qun',5,['yudun','paoxiao']],
swd_fu:['male','qun',5,['yudun']],
swd_linyue:['male','wei',3,['zhenjiu','lmazui']],
swd_zidashu:['male','wu',3,['shoulie','hudun']],
swd_maixing:['male','wu',3,['toudan','shending']],
@ -143,6 +143,100 @@ character.swd={
swd_luchengxuan:['swd_xiarou'],
},
skill:{
shenyan:{
trigger:{source:'damageBegin'},
skillAnimation:true,
animationColor:'fire',
filter:function(event,player){
return !player.storage.shenyan&&event.nature=='fire';
},
intro:{
content:'limited'
},
mark:true,
logTarget:'player',
init:function(player){
player.storage.shenyan=false;
},
check:function(event,player){
if(ai.get.attitude(player,event.player)>=0) return 0;
if(player.hasUnknown()) return 0;
var num=0;
for(var i=0;i<game.players.length;i++){
if(game.players[i]!=player&&
game.players[i]!=event.player&&
get.distance(event.player,game.players[i])<=1){
var eff=ai.get.damageEffect(game.players[i],player,player,'fire');
if(eff>0){
num++;
}
else if(eff<0){
num--;
}
}
}
return num>0;
},
content:function(){
trigger.num++;
player.addSkill('shenyan2');
player.storage.shenyan=true;
player.unmarkSkill('shenyan');
player.storage.shenyan2=[];
for(var i=0;i<game.players.length;i++){
if(game.players[i]!=player&&
game.players[i]!=trigger.player&&
get.distance(trigger.player,game.players[i])<=1){
player.storage.shenyan2.push(game.players[i]);
}
}
player.storage.shenyan2.sort(lib.sort.seat);
}
},
shenyan2:{
trigger:{global:'damageAfter'},
forced:true,
popup:false,
content:function(){
'step 0'
if(player.storage.shenyan2&&player.storage.shenyan2.length){
var target=player.storage.shenyan2.shift();
player.line(target,'fire');
target.damage('fire');
event.redo();
}
'step 1'
delete player.storage.shenyan2;
player.removeSkill('shenyan2');
}
},
senluo:{
enable:'phaseUse',
usable:1,
filter:function(event,player){
var nh=player.num('h');
for(var i=0;i<game.players.length;i++){
if(game.players[i]!=player&&game.players[i].num('h')<nh) return false;
}
return true;
},
filterTarget:function(card,player,target){
return target!=player&&target.num('h')>0;
},
content:function(){
'step 0'
target.draw();
'step 1'
target.chooseToDiscard(2,'h',true);
},
selectTarget:-1,
ai:{
order:9,
result:{
target:-1
}
}
},
xuanying:{
subSkill:{
sha:{
@ -944,23 +1038,39 @@ character.swd={
if(get.type(card,'trick')=='trick') return false;
},
},
enable:['chooseToUse','chooseToRespond'],
enable:'chooseToUse',
filterCard:function(card){
return get.type(card,'trick')=='trick';
},
selectCard:2,
viewAs:{name:'sha'},
viewAsFilter:function(player){
if(player.num('h',{type:['trick','delay']})<2) return false;
},
check:function(){return 1},
ai:{
effect:{
target:function(card,player,target,current){
if(get.tag(card,'respondSha')&&current<0) return 0.6
}
skillTagFilter:function(player,tag,arg){
if(arg!='use') return false;
if(player.num('h',{type:['trick','delay']})<2) return false;
},
respondSha:true,
order:4,
order:3.1,
useful:-1,
value:-1
},
group:'yudun_count',
subSkill:{
count:{
trigger:{player:'useCard'},
forced:true,
popup:false,
filter:function(event,player){
return event.skill=='yudun'&&_status.currentPhase==player;
},
content:function(){
player.getStat().card.sha--;
}
}
}
},
guozao:{
@ -2501,6 +2611,9 @@ character.swd={
if(!player.storage.pozhou){
player.unmarkSkill('pozhou');
}
else{
player.updateMarks();
}
var target=trigger.player;
var list=[];
for(var i=0;i<target.skills.length;i++){
@ -2518,7 +2631,7 @@ character.swd={
forced:true,
mark:true,
content:function(){
player.enableSkill('pouzhou');
player.enableSkill('pozhou');
player.removeSkill('pozhou3');
},
intro:{
@ -3831,7 +3944,7 @@ character.swd={
},
content:function(){
"step 0"
player.chooseToUse({name:'sha'},'热血:是否对'+get.translation(trigger.player)+'使用一张杀',trigger.player).logSkill='rexue';
player.chooseToUse({name:'sha'},'热血:是否对'+get.translation(trigger.player)+'使用一张杀',trigger.player,-1).logSkill='rexue';
"step 1"
if(result.bool){
player.draw();
@ -8367,6 +8480,8 @@ character.swd={
swd_quxian:'屈娴',
swd_xiyan:'犀衍',
shenyan:'神炎',
shenyan_info:'限定技,当你即将造成火焰伤害时,你可以令此伤害+1并对目标距离1以内的所有其他角色各造成一点火焰伤害',
xuanying:'旋影',
xuanying_info:'你可以横置你的武将牌,视为使用一张无视距离的杀;每当你于回合外失去牌,你可以竖置你的武将牌,视为使用一张无视距离的杀',
wendao:'问道',
@ -8395,7 +8510,7 @@ character.swd={
jinlin_info:'限定技出牌阶段你可以令任意名角色各获得3点护甲获得护甲的角色于每个回合开始阶段失去1点护甲直到首次失去所有护甲或累计以此法失去3点护甲',
huanxia:'幻霞',
huanxia_info:'你可以将一张红色牌当作杀使用,若此杀未造成伤害,你在回合结束时收回此牌',
jingjie:'',
jingjie:'镜',
jingjie_info:'回合开始阶段,你可以流失一点体力,并',
jingjie_old_info:'限定技,出牌阶段,你可以令所有角色弃置所有牌,然后摸两张牌(不触发任何技能)',
kongmo:'恐魔',
@ -8407,7 +8522,7 @@ character.swd={
pingxu:'冯虚',
pingxu_info:'锁定技,当你没有武器牌时,与其他角色的距离-1当你没有防具牌时其他角色与你的距离+1',
yudun:'愚钝',
yudun_info:'锁定技,你无法使用锦囊牌,你可以将两张锦囊牌当作杀使用',
yudun_info:'锁定技,你无法使用锦囊牌;你可以将两张锦囊牌当作一张不计入出杀次数的杀使用',
bingfeng:'冰封',
bingfeng2:'冰封',
bingfeng2_info:'不能使用或打出手牌',
@ -8592,6 +8707,8 @@ character.swd={
miedao2:'灭道',
miedao_info:'锁定技摸牌阶段你额外摸X张牌弃牌阶段你至少须弃X张牌不足则全弃X为你已损失的体力值。',
senluo:'森罗',
senluo_info:'出牌阶段限一次,若你的手牌数为全场最少或之一,你可以令所有有手牌的其他角色摸一张牌并弃置两张手牌',
polang:'破浪',
polang_info:'每当你造成一次伤害,可以一张对方的装备牌',
jikong:'亟空',
@ -8724,9 +8841,9 @@ character.swd={
mailun32:'脉轮',
mailun41:'脉轮',
mailun42:'脉轮',
kunlunjing:'',
kunlunjing1:'',
kunlunjing2:'',
kunlunjing:'镜',
kunlunjing1:'镜',
kunlunjing2:'镜',
susheng:'苏生',
shengshou:'圣手',
huanjian:'幻箭',

View File

@ -8890,6 +8890,9 @@
}
// var name=get.translation(character);
this.node.name.innerHTML=get.slimName(character);
if(this.classList.contains('minskin')&&this.node.name.querySelectorAll('br').length>=4){
this.node.name.classList.add('long');
}
if(!lib.config.show_name||lib.config.game=='hs'){
this.node.name.style.display='none';
}
@ -28389,6 +28392,11 @@
}
// var name=get.translation(item);
node.node.name.innerHTML=get.slimName(item);
if(node.node.name.querySelectorAll('br').length>=4){
node.node.name.classList.add('long');
node.addEventListener('mouseenter',ui.click.buttonnameenter);
node.addEventListener('mouseleave',ui.click.buttonnameleave);
}
// for(var i=0;i<name.length;i++){
// node.node.name.innerHTML+=name[i]+'<br/>';
// }
@ -28755,6 +28763,42 @@
game.saveConfig('favouriteCharacter',lib.config.favouriteCharacter);
}
e.stopPropagation();
},
buttonnameenter:function(){
if(this.buttonscrollinterval){
clearInterval(this.buttonscrollinterval);
}
var node=this.node.name;
if(node.offsetHeight<node.scrollHeight){
var that=this;
that.buttonscrollinterval=setInterval(function(){
if(node.scrollTop+node.offsetHeight>=node.scrollHeight){
clearInterval(that.buttonscrollinterval);
delete that.buttonscrollinterval;
}
else{
node.scrollTop+=2;
}
},16);
}
},
buttonnameleave:function(){
if(this.buttonscrollinterval){
clearInterval(this.buttonscrollinterval);
}
var node=this.node.name;
if(node.offsetHeight<node.scrollHeight){
var that=this;
that.buttonscrollinterval=setInterval(function(){
if(node.scrollTop==0){
clearInterval(that.buttonscrollinterval);
delete that.buttonscrollinterval;
}
else{
node.scrollTop-=2;
}
},16);
}
},
dragtouchdialog:function(e){
if(e.touches.length>1&&
@ -33090,6 +33134,9 @@
uiintro.add('<div class="text center">来源:'+get.translation(lib.card[name].derivationpack+'_card_config')+'包</div>');
}
}
else{
uiintro.add('<div class="text center">'+get.translation(lib.card[name].type)+'牌</div>');
}
uiintro._place_text=uiintro.add('<div class="text" style="display:inline">'+lib.translate[name+'_info']+'</div>');
}
uiintro.add(ui.create.div('.placeholder.slim'));

View File

@ -857,6 +857,10 @@ div:not(.handcards)>.card>.info>span,
.button.character.longcharacter>.name{
overflow: visible;
}
.dialog .buttons>.button.character>.name.long{
transform: scale(0.95);
transform-origin: top left;
}
.card.center{top:calc(50% - 52px);left:calc(50% - 52px);}
.card>.background{font-size: 80px;height: 80px;padding-top: 14px;text-align: center;}
.equips>.card>.background{font-size: 36px;height: 36px;padding-top: 3px;}
@ -1091,6 +1095,12 @@ margin-bottom: 5px;
#arena.slim_player .player.minskin>.name{
top:17px;
}
#arena .player.minskin>.name.long,
#arena.slim_player .player.minskin>.name.long{
transform: scale(0.9);
transform-origin: top left;
top: 13px;
}
#arena .player.linked.minskin>.name,
#arena.slim_player .player.linked.minskin>.name{
transform: rotate(90deg) translate(81px,-66px);