diff --git a/card/swd.js b/card/swd.js
index 2c3365ac7..d476d53ca 100644
--- a/card/swd.js
+++ b/card/swd.js
@@ -4418,7 +4418,7 @@ card.swd={
lingjiandai:'零件袋',
lingjiandai_info:'出牌阶段对自己使用,获得3张随机零件',
mujiaren:'木甲人',
- mujiaren_info:'出牌阶段限用一次,将你手牌中的非基本牌(含此张)替换为随机的机关牌',
+ mujiaren_info:'出牌阶段限用一次,获得一张随机机关牌,并将你手牌中的非基本牌替换为随机的机关牌',
jiguanyaoshu:'机关要术',
jiguanyaoshu_skill:'巧匠',
jiguanyaoshu_skill_info:'每当你于回合外失去装备区内的牌,你获得一个随机零件',
diff --git a/character/hearth.js b/character/hearth.js
index 9f4eabba1..fb77ffa28 100644
--- a/character/hearth.js
+++ b/character/hearth.js
@@ -334,7 +334,9 @@ character.hearth={
lianjin:{
enable:'phaseUse',
usable:2,
- filterCard:true,
+ filterCard:function(card){
+ return get.type(card)!='hsyaoshui';
+ },
check:function(card){
return 8-ai.get.value(card)
},
@@ -444,6 +446,9 @@ character.hearth={
targets.sort(lib.sort.seat);
}
else{
+ if(target.isDead()){
+ return;
+ }
targets.push(target);
}
player.useCard(game.createCard({name:name,suit:get.suit(card),number:card.number}),targets);
@@ -452,6 +457,7 @@ character.hearth={
},
ai:{
order:9.1,
+ threaten:1.5,
result:{
target:function(player,target,card){
var info=get.info(card);
@@ -563,6 +569,7 @@ character.hearth={
}
},
ai:{
+ maixie:true,
effect:{
target:function(card,player,target){
if(player.hasSkill('jueqing')) return [1,-2];
diff --git a/character/ow.js b/character/ow.js
index fc8302759..de698e73c 100644
--- a/character/ow.js
+++ b/character/ow.js
@@ -84,7 +84,10 @@ character.ow={
content:function(){
player.gain(game.createCard(get.typeCard('hslingjian').randomGet()),'gain2');
},
- group:'maoding2'
+ group:'maoding2',
+ ai:{
+ threaten:1.5
+ }
},
maoding2:{
enable:'phaseUse',
@@ -96,7 +99,7 @@ character.ow={
return !target.hujia;
},
selectCard:2,
- usable:1,
+ // usable:1,
content:function(){
target.changeHujia();
},
@@ -170,11 +173,12 @@ character.ow={
forced:true,
popup:false,
filter:function(event,player){
- return player.storage.paotai>0;
+ return player.storage.paotai>0&&event.num>0;
},
content:function(){
- player.storage.paotai--;
- if(player.storage.paotai==0){
+ player.storage.paotai-=trigger.num;
+ if(player.storage.paotai<=0){
+ player.storage.paotai=0;
player.unmarkSkill('paotai');
}
else{
@@ -2597,22 +2601,42 @@ character.ow={
content:function(storage,player){
var str='';
if(player.storage.shanxian_h.length){
- str+='手牌区:'+get.translation(player.storage.shanxian_h);
+ if(player.isUnderControl(true)){
+ str+='手牌区:'+get.translation(player.storage.shanxian_h);
+ }
+ else{
+ str+='手牌区:'+(player.storage.shanxian_h.length)+'张牌';
+ }
}
if(player.storage.shanxian_e.length){
if(str.length) str+='、';
- str+='装备区:'+get.translation(player.storage.shanxian_e);
+ if(player.isUnderControl(true)){
+ str+='装备区:'+get.translation(player.storage.shanxian_e);
+ }
+ else{
+ str+='装备区:'+(player.storage.shanxian_e.length)+'张牌';
+ }
}
return str;
},
mark:function(dialog,content,player){
if(player.storage.shanxian_h.length){
- dialog.add('
手牌区
');
- dialog.addSmall(player.storage.shanxian_h);
+ if(player.isUnderControl(true)){
+ dialog.add('手牌区
');
+ dialog.addSmall(player.storage.shanxian_h);
+ }
+ else{
+ dialog.add('手牌区:'+player.storage.shanxian_h.length+'张牌
');
+ }
}
if(player.storage.shanxian_e.length){
- dialog.add('装备区
');
- dialog.addSmall(player.storage.shanxian_e);
+ if(player.isUnderControl(true)){
+ dialog.add('装备区
');
+ dialog.addSmall(player.storage.shanxian_e);
+ }
+ else{
+ dialog.add('装备区:'+player.storage.shanxian_e.length+'张牌
');
+ }
}
},
},
@@ -2730,10 +2754,10 @@ character.ow={
zhongdun_info:'游戏开始时,你获得等同于游戏人数护甲;出牌阶段限一次,你可以弃置一张牌并将一点护甲分给一名没有护甲的其他角色',
paotai:'炮台',
paotai2:'炮台',
- paotai_info:'出牌阶段,你可以弃置一张杀布置或升级一个炮台(最高3级);回合结束阶段,炮台有一定机率对一名随机敌人造成一点火焰伤害;每当你受到一次伤害,炮台降低一级',
+ paotai_info:'出牌阶段,你可以弃置一张杀布置或升级一个炮台(最高3级);回合结束阶段,炮台有一定机率对一名随机敌人造成一点火焰伤害;每当你受到一点伤害,炮台降低一级',
maoding:'铆钉',
maoding2:'铆钉',
- maoding_info:'每当你造成或受到一次伤害,你可以获得一个零件;出牌限阶段限一次,你可以弃置两张零件牌令一名没有护甲的角色获得一点护甲',
+ maoding_info:'每当你造成或受到一次伤害,你可以获得一个零件;出牌限阶段,你可以弃置两张零件牌令一名没有护甲的角色获得一点护甲',
fengshi:'风矢',
fengshi2:'风矢',
fengshi_info:'锁定技,在一合内每当你使用一张牌,你的攻击范围+1;你的杀增加20%的概率强制命中;你的杀造成伤害后增加20%的概率令伤害+1',
diff --git a/character/shenhua.js b/character/shenhua.js
index 6a0ff7cb0..4d0d9f655 100644
--- a/character/shenhua.js
+++ b/character/shenhua.js
@@ -2708,8 +2708,8 @@ character.shenhua={
save:true,
result:{
player:function(player){
- if(player.hp<=1) return 10;
- if(player.hp==2&&player.num('he')<=1) return 10;
+ if(player.hp==0) return 10;
+ if(player.hp<=2&&player.num('he')<=1) return 10;
return 0;
}
},
diff --git a/character/xianjian.js b/character/xianjian.js
index b54dca465..201c2769f 100644
--- a/character/xianjian.js
+++ b/character/xianjian.js
@@ -490,7 +490,7 @@ character.xianjian={
event.finish();
}
'step 2'
- player.chooseCard('将两张牌置于牌堆顶(先选择的在上)',2,true);
+ player.chooseCard('将两张牌置于牌堆顶(先选择的在上)',2,'he',true);
'step 3'
if(result.bool){
player.lose(result.cards,ui.special);
@@ -540,6 +540,7 @@ character.xianjian={
}
"step 1"
if(result.bool){
+ player.logSkill('zhangmu');
player.showCards(result.cards);
trigger.untrigger();
trigger.responded=true;
diff --git a/character/yijiang.js b/character/yijiang.js
index a633c8542..8df082d9d 100644
--- a/character/yijiang.js
+++ b/character/yijiang.js
@@ -3233,6 +3233,7 @@ character.yijiang={
huomo_sha:{
enable:'chooseToUse',
viewAs:{name:'sha'},
+ position:'he',
viewAsFilter:function(player){
if(!player.storage.huomo) player.storage.huomo={};
if(player.storage.huomo.sha) return false;
@@ -3291,6 +3292,7 @@ character.yijiang={
}
return false;
},
+ position:'he',
precontent:function(){
'step 0'
var card=event.result.cards[0];
@@ -3350,6 +3352,7 @@ character.yijiang={
'step 2'
ui.cardPile.insertBefore(event.card,ui.cardPile.firstChild);
},
+ position:'he',
filterCard:function(card){
return get.type(card)!='basic'&&get.color(card)=='black';
},
diff --git a/game/game.js b/game/game.js
index 4a0471c11..0e42db98f 100644
--- a/game/game.js
+++ b/game/game.js
@@ -1209,6 +1209,20 @@
game.saveConfig('fewplayer',item);
if(ui.arena) ui.arena.setNumber(ui.arena.dataset.number);
}
+ },
+ player_height:{
+ name:'手杀布局角色高度',
+ init:'default',
+ unfrequent:true,
+ item:{
+ short:'减短',
+ default:'默认',
+ long:'增长',
+ },
+ onclick:function(item){
+ game.saveConfig('player_height',item);
+ ui.arena.dataset.player_height=item;
+ }
},
target_shake:{
name:'目标特效',
@@ -1233,20 +1247,23 @@
mark:'标记'
},
onclick:function(style){
+ var list=[];
for(var i=0;i.player:not(.minskin):not(*[data-position='0']){
+ height: 200px !important;
+}
+#arena:not(.fewplayer)[data-player_height='short']>.player:not(.minskin):not(*[data-position='0']){
+ height: 180px !important;
+}
#arena:not(.fewplayer)>.player:not(.minskin):not(*[data-position='0'])>.equips{
transform: scale(0.8);
transform-origin: bottom left;
}
#arena:not(.fewplayer)>.player:not(.minskin):not(*[data-position='0'])>.avatar,
#arena:not(.fewplayer)>.player:not(.minskin):not(*[data-position='0'])>.avatar2{
- width: 106px !important;
- height: 206px !important;
+ width: calc(100% - 14px) !important;
+ height: calc(100% - 14px) !important;
background-position: 50% !important;
}
#arena.uslim_player:not(.fewplayer)>.player:not(.minskin):not(*[data-position='0'])>.avatar,
#arena.uslim_player:not(.fewplayer)>.player:not(.minskin):not(*[data-position='0'])>.avatar2{
- width: 114px !important;
- height: 214px !important;
+ width: calc(100% - 6px) !important;
+ height: calc(100% - 6px) !important;
background-position: 50% !important;
}
#arena:not(.fewplayer)>.player.fullskin2:not(.minskin):not(*[data-position='0'])>.avatar,
#arena:not(.fewplayer)>.player.fullskin2:not(.minskin):not(*[data-position='0'])>.avatar2{
- height: 110px !important;
+ height: 50% !important;
background-position: 0 0 !important;
border-radius: 8px !important;
}
#arena.uslim_player:not(.fewplayer)>.player.fullskin2:not(.minskin):not(*[data-position='0'])>.avatar,
#arena.uslim_player:not(.fewplayer)>.player.fullskin2:not(.minskin):not(*[data-position='0'])>.avatar2{
- height: 107px !important;
+ height: calc(50% + 4px) !important;
}
#window[data-radius_size='reduce'] #arena:not(.fewplayer)>.player.fullskin2:not(.minskin):not(*[data-position='0'])>.avatar,
#window[data-radius_size='reduce'] #arena:not(.fewplayer)>.player.fullskin2:not(.minskin):not(*[data-position='0'])>.avatar2{
@@ -43,13 +49,25 @@
}
#arena:not(.fewplayer)>.player.fullskin2:not(.minskin):not(.unseen2):not(*[data-position='0'])>.avatar{
border-radius: 8px 8px 0 0 !important;
- height: 124px !important;
+ height: calc(50% + 14px) !important;
-webkit-clip-path: polygon(-10px -10px, 116px -10px, 116px 92px, 106px 92px, 0px 114px, -10px 114px);
}
+#arena:not(.fewplayer)[data-player_height='default']>.player.fullskin2:not(.minskin):not(.unseen2):not(*[data-position='0'])>.avatar{
+ -webkit-clip-path: polygon(-10px -10px, 116px -10px, 116px 82px, 106px 82px, 0px 104px, -10px 104px);
+}
+#arena:not(.fewplayer)[data-player_height='short']>.player.fullskin2:not(.minskin):not(.unseen2):not(*[data-position='0'])>.avatar{
+ -webkit-clip-path: polygon(-10px -10px, 116px -10px, 116px 72px, 106px 72px, 0px 94px, -10px 94px);
+}
#arena.uslim_player:not(.fewplayer)>.player.fullskin2:not(.minskin):not(.unseen2):not(*[data-position='0'])>.avatar{
- height: 128px !important;
+ height: calc(50% + 18px) !important;
-webkit-clip-path: polygon(-10px -10px, 124px -10px, 124px 96px, 114px 96px, 0px 118px, -10px 118px);
}
+#arena.uslim_player:not(.fewplayer)[data-player_height='default']>.player.fullskin2:not(.minskin):not(.unseen2):not(*[data-position='0'])>.avatar{
+ -webkit-clip-path: polygon(-10px -10px, 124px -10px, 124px 86px, 114px 86px, 0px 108px, -10px 108px);
+}
+#arena.uslim_player:not(.fewplayer)[data-player_height='short']>.player.fullskin2:not(.minskin):not(.unseen2):not(*[data-position='0'])>.avatar{
+ -webkit-clip-path: polygon(-10px -10px, 124px -10px, 124px 76px, 114px 76px, 0px 98px, -10px 98px);
+}
#window[data-radius_size='reduce'] #arena:not(.fewplayer)>.player.fullskin2:not(.minskin):not(.unseen2):not(*[data-position='0'])>.avatar{
border-radius: 4px 4px 0 0 !important;
}
@@ -61,14 +79,14 @@
}
#arena:not(.fewplayer)>.player.fullskin2:not(.minskin):not(.unseen):not(*[data-position='0'])>.avatar2{
border-radius: 0 0 8px 8px !important;
- top: 89px !important;
- height: 124px !important;
+ top: calc(50% - 21px) !important;
+ height: calc(50% + 14px) !important;
background-position: 0 10px !important;
-webkit-clip-path: polygon(-10px 32px, 0 32px, 106px 10px, 116px 10px, 116px 134px, -10px 134px);
}
#arena.uslim_player:not(.fewplayer)>.player.fullskin2:not(.minskin):not(.unseen):not(*[data-position='0'])>.avatar2{
- top: 89px !important;
- height: 128px !important;
+ top: calc(50% - 21px) !important;
+ height: calc(50% + 18px) !important;
-webkit-clip-path: polygon(-10px 32px, 0 32px, 114px 10px, 124px 10px, 124px 138px, -10px 138px);
}
#window[data-radius_size='reduce'] #arena:not(.fewplayer)>.player.fullskin2:not(.minskin):not(.unseen):not(*[data-position='0'])>.avatar2{
@@ -81,7 +99,7 @@
border-radius: 0 0 16px 16px !important;
}
#arena:not(.fewplayer)>.player.fullskin2:not(.minskin):not(*[data-position='0'])>.avatar2{
- top: 103px !important;
+ top: calc(50% - 7px) !important;
}
#arena:not(.fewplayer)>.player:not(.minskin):not(*[data-position='0'])>.identity{
left: 102px;
@@ -92,20 +110,20 @@
#arena:not(.fewplayer)>.player:not(.minskin):not(*[data-position='0'])>.hp:not(.actcount).text{
left: 89px;
}
-#arena:not(.fewplayer).player.fullskin2 .avatar2{
+#arena:not(.fewplayer)>.player.fullskin2 .avatar2{
z-index: 2;
}
-#arena:not(.fewplayer).player.unseen:not(.unseen2) .count{
+#arena:not(.fewplayer)>.player.unseen:not(.unseen2) .count{
text-align: left;
border-radius:3px 0 0 3px;
}
-#arena:not(.fewplayer).player.unseen2 .count{
+#arena:not(.fewplayer)>.player.unseen2 .count{
border-radius: 3px;
text-align: center;
}
#arena:not(.fewplayer) .timerbar>div{
- top: 205px;
+ top: calc(100% - 15px);
width: 96px;
left: 12px;
}
diff --git a/layout/long2/layout.css b/layout/long2/layout.css
index ef760639d..cb37afc4f 100644
--- a/layout/long2/layout.css
+++ b/layout/long2/layout.css
@@ -19,19 +19,29 @@
bottom:150px;
height: 40px;
}
+/*#control>div{
+ height: 40px;
+ font-family: 'xinwei';
+ font-size: 30px;
+ line-height: 34px;
+}*/
#arena:not(.chess)>#me,
#arena:not(.chess)>#mebg,
#arena:not(.chess)>#autonode{
- bottom: 50px;
- width: calc(100% - 20px);
- left: 20px;
- top: auto;
- height: 120px;
+ bottom:30px;
+ width: calc(5000% / 47);
+ left:calc(-150% / 47);
+ top:auto;
+ border-radius:0 !important;
+ height:120px;
}
#arena:not(.chess)>#autonode{
width: calc(5000% / 47 - 240px);
left:calc(-150% / 47 + 120px);
}
+#arena:not(.mobile).single-handcard #handcards1{
+ width: calc(100% - 120px);
+}
#window.leftbar #arena:not(.chess)>#me,
#window.leftbar #arena:not(.chess)>#mebg,
#window.leftbar #arena:not(.chess)>#autonode,
@@ -60,8 +70,8 @@
top:calc(100% - 120px);
}
#arena:not(.chess):not(.single-handcard) #handcards1{
- width: calc(100% - 100px);
- left: 100px;
+ width:calc(100% - 240px);
+ left:calc(150% / 47 - 300% / 94 + 625% / 47 - 105px + 120px);
}
#handcards2{
display:none;
@@ -87,18 +97,14 @@
#window[data-radius_size='reduce'] #me>.fakeme.avatar{
border-radius:0px;
}
-#arena>.player[data-position='0']{
- left: 0;
- top: calc(100% - 220px);
-}
-#arena:not(.mobile):not(.single-handcard) #handcards1>div{
- left: 0;
+#arena>.player[data-position='0']:not(.minskin){
+ top: calc(100% - 238px);
}
#arena>.player:not(.minskin){
width: 120px !important;
- height: 180px !important;
+ height: 200px !important;
}
#arena>.player:not(.minskin)>.equips{
transform: scale(0.8);
@@ -186,6 +192,14 @@
#arena>.player:not(.minskin)>.hp:not(.actcount).text{
left: 89px;
}
+#arena>.player.fullskin2 .avatar2{
+ z-index: 2;
+}
+#arena>.player .count{
+ text-align: center;
+ border-radius: 3px;
+ z-index: 3;
+}
.timerbar>div{
top: 205px;
@@ -201,6 +215,8 @@
#arena[data-number='8']>.player[data-position='5']{top:0;left:calc(-300% / 94 + 1875% / 47 - 315px + 240px);}
#arena[data-number='8']>.player[data-position='6']{top:calc(8% - 32px);left:calc(-300% / 94 + 1250% / 47 - 210px + 120px);}
#arena[data-number='8']>.player[data-position='7']{top:calc(30% - 120px);left:calc(-300% / 94 + 625% / 47 - 105px);}
+#arena[data-number='8']>.player[data-position='0']{left:calc(-300% / 94 + 625% / 47 - 105px);}
+#arena>.player[data-position='0']{left:0;}
@media screen and (min-width: 1105px){
#arena[data-number='8']>.player[data-position='1']{left:calc(100% - 120px);}
#arena[data-number='8']>.player[data-position='2']{left:calc(500% / 6 - 100px);}
@@ -209,6 +225,7 @@
#arena[data-number='8']>.player[data-position='5']{left:calc(200% / 6 - 40px);}
#arena[data-number='8']>.player[data-position='6']{left:calc(100% / 6 - 20px);}
#arena[data-number='8']>.player[data-position='7']{left:0;}
+ #arena[data-number='8']>.player[data-position='0']{left:0;}
}
/*--------位置(7人)------*/
#arena[data-number='7']>.player[data-position='1']{top:calc(30% - 120px);left:calc(100% - 120px);}
diff --git a/layout/mobile/layout.css b/layout/mobile/layout.css
index f7c56f6c6..adc15d6ad 100644
--- a/layout/mobile/layout.css
+++ b/layout/mobile/layout.css
@@ -222,9 +222,9 @@
text-align: right;
}
#arena.uslim_player .player:not([data-position='0'])>.count{
- z-index: 3;
- border-radius: 2px;
- text-align: center;
+ z-index: 3 !important;
+ border-radius: 2px !important;
+ text-align: center !important;
}
#arena:not(.chess) .player[data-position='0']>.hp.actcount{
top:10px;
diff --git a/layout/newlayout/global.css b/layout/newlayout/global.css
index bec2f88b6..8270aa22d 100644
--- a/layout/newlayout/global.css
+++ b/layout/newlayout/global.css
@@ -21,6 +21,9 @@
height: 174px;
left:3px;
top:3px;
+}
+#arena:not(.mobile).uslim_player .player:not(.minskin):not(.fakeme) .avatar,
+#arena.mobile.uslim_player .player:not(.minskin):not(.fakeme):not(*[data-position='0']) .avatar{
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px;
}
#window>.player.minskin>.avatar{
diff --git a/mode/chess.js b/mode/chess.js
index e30de5144..a928d2160 100644
--- a/mode/chess.js
+++ b/mode/chess.js
@@ -4675,10 +4675,19 @@ mode.chess={
return num+get.cardCount(true,player)-get.cardCount('sha',player);
}
},
- attackFrom:function(from,to,distance){
- return distance-1;
- }
},
+ trigger:{player:'useCard'},
+ frequent:true,
+ filter:function(event){
+ return event.card&&event.card.name=='sha';
+ },
+ usable:1,
+ content:function(){
+ player.draw();
+ },
+ ai:{
+ threaten:1.5
+ }
},
pianyi:{
trigger:{player:'phaseEnd'},
@@ -5191,7 +5200,7 @@ mode.chess={
lingdong:'灵动',
lingdong_info:'回合结束阶段,你可以移动X个格,X为你回合内出杀的次数',
lianshe:'箭舞',
- lianshe_info:'你的攻击范围+1;回合内,你回合内,每当你使用一张不是杀的牌,你可以额外使用一张杀',
+ lianshe_info:'当你于一个回合中首次使用杀时,你可以摸一张牌;在你的回合内,每当你使用一张不是杀的牌,你可以额外使用一张杀',
zhiming:'穿杨',
zhiming_info:'锁定技,当你使用杀造成伤害时,若你不在目标的攻击范围内,此伤害+1',
sanjiansheji:'散箭',
@@ -5511,7 +5520,7 @@ mode.chess={
//
// chess_lvbu:['male','qun',3,['']],
chess_sunshangxiang:['female','wu',3,['lingdong','lianshe','gongji']],
- chess_diaochan:['female','qun',3,['xingzhui','pianyi']],
+ chess_diaochan:['female','qun',3,['xingzhui','pianyi','biyue']],
// chess_huatuo:['male','qun',3,['zhenjiu','mazui']],
// chess_zhangjiao:['male','qun',3,['']],
// chess_menghuo:['male','qun',3,['']],