diff --git a/character/sp.js b/character/sp.js index da23f0209..81fc8b3db 100755 --- a/character/sp.js +++ b/character/sp.js @@ -24768,6 +24768,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, dynamicTranslate:{ + shanduan:function(player){ + if(player.storage.shanduan) return '锁定技。①摸牌/出牌/弃牌阶段开始时,你为本回合摸牌阶段摸牌数/攻击范围和使用【杀】的限制次数/手牌上限的默认值从数组R=['+get.translation(player.storage.shanduan)+']中分配数值。②当你于回合外受到伤害后,你令下回合〖善断①〗以此法分配的数值集合R中的最小值+1。'; + return '锁定技。①摸牌/出牌/弃牌阶段开始时,你为本回合摸牌阶段摸牌数/攻击范围和使用【杀】的限制次数/手牌上限的默认值从数组R=[1,2,3,4]中分配数值。②当你于回合外受到伤害后,你令下回合〖善断①〗以此法分配的数值集合R中的最小值+1。'; + }, kunfen:function(player){ if(player.storage.kunfen) return '结束阶段开始时,你可以失去1点体力,然后摸两张牌。'; return '锁定技,结束阶段开始时,你失去1点体力,然后摸两张牌。'; diff --git a/game/game.js b/game/game.js index 12c7e7555..b7681f952 100644 --- a/game/game.js +++ b/game/game.js @@ -21605,7 +21605,7 @@ next.setContent('chooseToGuanxing'); return next; } - $throwEmotion(target,name){ + $throwEmotion(target,name,rotate){ game.addVideo('throwEmotion',this,[target.dataset.position,name]); var getLeft=function(player){ if(player==game.me&&!ui.fakeme&&!ui.chess) return player.getLeft()+player.node.avatar.offsetWidth/2; @@ -21624,8 +21624,19 @@ emotion.style.top=top+'px'; var left2=getLeft(target)-width; var top2=target.getTop()+target.offsetHeight/3-height; + if(['egg','flower','shoe'].contains(name)||rotate){ + var num1=0.95+Math.random()*(1.1-0.95); + var num2=1+Math.random()*(3-1); + var left2=getLeft(target)/num1-width; + var top2=target.getTop()+target.offsetHeight/num2-height; + } + else{ + var left2=getLeft(target)-width; + var top2=target.getTop()+target.offsetHeight/3-height; + } emotion.style['z-index']=10; emotion.style.transform='translateY('+(top2-top)+'px) translateX('+(left2-left)+'px)'; + if(['egg','flower','shoe'].contains(name)||rotate) emotion.firstElementChild.style.transform='rotate(1440deg)'; if(lib.config.background_audio) game.playAudio('effect','throw_'+name+get.rand(1,2)); setTimeout(function(){ emotion.innerHTML=('
'); @@ -22379,10 +22390,10 @@ game.playerMap[this.playerid]=this; return this; } - throwEmotion(target,emotion){ - game.broadcastAll(function(player,target,emotion){ - player.$throwEmotion(target,emotion); - },this,target,emotion); + throwEmotion(target,emotion,rotate){ + game.broadcastAll(function(player,target,emotion,rotate){ + player.$throwEmotion(target,emotion,rotate); + },this,target,emotion,rotate); } emotion(pack,id){ var str=''; @@ -33813,11 +33824,11 @@ } } }, - throwEmotion:function(target,emotion){ + throwEmotion:function(target,emotion,rotate){ if(lib.node.observing.contains(this)) return; var player=lib.playerOL[this.id]; if(player){ - player.throwEmotion(target,emotion); + player.throwEmotion(target,emotion,rotate); } }, emotion:function(id,pack,emotion){