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=('