@@ -802,38 +802,62 @@ function PassiveTreeViewClass:Draw(build, viewPort, inputEvents)
802802 if keystone and keystone .x and keystone .y then
803803 innerSize = 150 * scale
804804 local keyX , keyY = treeToScreen (keystone .x , keystone .y )
805- DrawImage (self .jewelShadedOuterRing , keyX - outerSize , keyY - outerSize , outerSize * 2 , outerSize * 2 )
806- DrawImage (self .jewelShadedOuterRingFlipped , keyX - outerSize , keyY - outerSize , outerSize * 2 , outerSize * 2 )
807- DrawImage (self .jewelShadedInnerRing , keyX - innerSize , keyY - innerSize , innerSize * 2 , innerSize * 2 )
808- DrawImage (self .jewelShadedInnerRingFlipped , keyX - innerSize , keyY - innerSize , innerSize * 2 , innerSize * 2 )
805+ self : DrawImageRotated (self .jewelShadedOuterRing , keyX , keyY , outerSize * 2 , outerSize * 2 , - 0.8 )
806+ self : DrawImageRotated (self .jewelShadedOuterRingFlipped , keyX , keyY , outerSize * 2 , outerSize * 2 , 1 )
807+ self : DrawImageRotated (self .jewelShadedInnerRing , keyX , keyY , innerSize * 2 , innerSize * 2 , - 1. 2 )
808+ self : DrawImageRotated (self .jewelShadedInnerRingFlipped , keyX , keyY , innerSize * 2 , innerSize * 2 , 1.0 )
809809 end
810810 end
811811 elseif jewel .title :match (" ^Brutal Restraint" ) then
812- DrawImage (self .maraketh1 , scrX - outerSize , scrY - outerSize , outerSize * 2 , outerSize * 2 )
813- DrawImage (self .maraketh2 , scrX - outerSize , scrY - outerSize , outerSize * 2 , outerSize * 2 )
812+ self : DrawImageRotated (self .maraketh1 , scrX , scrY , outerSize * 2 , outerSize * 2 , - 0.7 )
813+ self : DrawImageRotated (self .maraketh2 , scrX , scrY , outerSize * 2 , outerSize * 2 , 0.7 )
814814 elseif jewel .title :match (" ^Elegant Hubris" ) then
815- DrawImage (self .eternal1 , scrX - outerSize , scrY - outerSize , outerSize * 2 , outerSize * 2 )
816- DrawImage (self .eternal2 , scrX - outerSize , scrY - outerSize , outerSize * 2 , outerSize * 2 )
815+ self : DrawImageRotated (self .eternal1 , scrX , scrY , outerSize * 2 , outerSize * 2 , - 0.7 )
816+ self : DrawImageRotated (self .eternal2 , scrX , scrY , outerSize * 2 , outerSize * 2 , 0.7 )
817817 elseif jewel .title :match (" ^Glorious Vanity" ) then
818- DrawImage (self .vaal1 , scrX - outerSize , scrY - outerSize , outerSize * 2 , outerSize * 2 )
819- DrawImage (self .vaal2 , scrX - outerSize , scrY - outerSize , outerSize * 2 , outerSize * 2 )
818+ self : DrawImageRotated (self .vaal1 , scrX , scrY , outerSize * 2 , outerSize * 2 , - 0.7 )
819+ self : DrawImageRotated (self .vaal2 , scrX , scrY , outerSize * 2 , outerSize * 2 , 0.7 )
820820 elseif jewel .title :match (" ^Lethal Pride" ) then
821- DrawImage (self .karui1 , scrX - outerSize , scrY - outerSize , outerSize * 2 , outerSize * 2 )
822- DrawImage (self .karui2 , scrX - outerSize , scrY - outerSize , outerSize * 2 , outerSize * 2 )
821+ self : DrawImageRotated (self .karui1 , scrX , scrY , outerSize * 2 , outerSize * 2 , - 0.7 )
822+ self : DrawImageRotated (self .karui2 , scrX , scrY , outerSize * 2 , outerSize * 2 , 0.7 )
823823 elseif jewel .title :match (" ^Militant Faith" ) then
824- DrawImage (self .templar1 , scrX - outerSize , scrY - outerSize , outerSize * 2 , outerSize * 2 )
825- DrawImage (self .templar2 , scrX - outerSize , scrY - outerSize , outerSize * 2 , outerSize * 2 )
824+ self : DrawImageRotated (self .templar1 , scrX , scrY , outerSize * 2 , outerSize * 2 , - 0.7 )
825+ self : DrawImageRotated (self .templar2 , scrX , scrY , outerSize * 2 , outerSize * 2 , 0.7 )
826826 else
827- DrawImage (self .jewelShadedOuterRing , scrX - outerSize , scrY - outerSize , outerSize * 2 , outerSize * 2 )
828- DrawImage (self .jewelShadedOuterRingFlipped , scrX - outerSize , scrY - outerSize , outerSize * 2 , outerSize * 2 )
829- DrawImage (self .jewelShadedInnerRing , scrX - innerSize , scrY - innerSize , innerSize * 2 , innerSize * 2 )
830- DrawImage (self .jewelShadedInnerRingFlipped , scrX - innerSize , scrY - innerSize , innerSize * 2 , innerSize * 2 )
827+ self : DrawImageRotated (self .jewelShadedOuterRing , scrX , scrY , outerSize * 2 , outerSize * 2 , - 0.7 )
828+ self : DrawImageRotated (self .jewelShadedOuterRingFlipped , scrX , scrY , outerSize * 2 , outerSize * 2 , 0.7 )
829+ self : DrawImageRotated (self .jewelShadedInnerRing , scrX , scrY , innerSize * 2 , innerSize * 2 , - 0.7 )
830+ self : DrawImageRotated (self .jewelShadedInnerRingFlipped , scrX , scrY , innerSize * 2 , innerSize * 2 , 0.7 )
831831 end
832832 end
833833 end
834834 end
835835 end
836836end
837+ function PassiveTreeViewClass :DrawImageRotated (handle , x , y , width , height , angle , ...)
838+ if main .showAnimations == false then
839+ -- Skip rotation and animation
840+ DrawImage (handle , x - width / 2 , y - height / 2 , width , height , ... )
841+ return
842+ end
843+
844+ local t = GetTime () * 0.00003
845+ local rot = angle * t
846+
847+ local hw , hh = width / 2 , height / 2
848+ local cosA , sinA = math.cos (rot ), math.sin (rot )
849+
850+ local x1 = x - hw * cosA + hh * sinA
851+ local y1 = y - hw * sinA - hh * cosA
852+ local x2 = x + hw * cosA + hh * sinA
853+ local y2 = y + hw * sinA - hh * cosA
854+ local x3 = x + hw * cosA - hh * sinA
855+ local y3 = y + hw * sinA + hh * cosA
856+ local x4 = x - hw * cosA - hh * sinA
857+ local y4 = y - hw * sinA + hh * cosA
858+
859+ DrawImageQuad (handle , x1 , y1 , x2 , y2 , x3 , y3 , x4 , y4 , ... )
860+ end
837861
838862-- Draws the given asset at the given position
839863function PassiveTreeViewClass :DrawAsset (data , x , y , scale , isHalf )
0 commit comments