From 8bdcf11dc27205a8465e5218d89b02831bfa55c3 Mon Sep 17 00:00:00 2001 From: FajsiEx Date: Thu, 12 Aug 2021 13:15:50 +0200 Subject: [PATCH] + blastive gauge wip & * increase gauge warn flashing intensity --- scripts/gameplay.lua | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/scripts/gameplay.lua b/scripts/gameplay.lua index 5a95fab..24ab0ef 100644 --- a/scripts/gameplay.lua +++ b/scripts/gameplay.lua @@ -711,6 +711,9 @@ local gaugeExcArsFillImage = gfx.CreateSkinImage("gameplay/gauges/excessive_ars/ local gaugePermBgImage = gfx.CreateSkinImage("gameplay/gauges/permissive/gauge_back.png", 0) local gaugePermFillImage = gfx.CreateSkinImage("gameplay/gauges/permissive/gauge_fill.png", 0) +local gaugeBlastiveBgImage = gfx.CreateSkinImage("gameplay/gauges/blastive/gauge_back.png", 0) +local gaugeBlastiveFillImage = gfx.CreateSkinImage("gameplay/gauges/blastive/gauge_fill.png", 0) + function draw_gauge(deltaTime) -- fallbacks in case of unsupported type @@ -735,7 +738,7 @@ function draw_gauge(deltaTime) gaugeBreakpoint = 0.3; if gameplay.gauge.value < 0.3 then - gaugeFillAlpha = 1 - math.abs(gaugeWarnTransitionScale - 0.5); -- 100 -> 50 -> 100 + gaugeFillAlpha = 1 - math.abs(gaugeWarnTransitionScale - 0.25); -- 100 -> 20 -> 100 gaugeWarnTransitionScale = gaugeWarnTransitionScale + deltaTime*10; if gaugeWarnTransitionScale > 1 then @@ -747,7 +750,19 @@ function draw_gauge(deltaTime) gaugeFillImage = gaugePermFillImage; if gameplay.gauge.value < 0.3 then - gaugeFillAlpha = 1 - math.abs(gaugeWarnTransitionScale - 0.5); -- 100 -> 50 -> 100 + gaugeFillAlpha = 1 - math.abs(gaugeWarnTransitionScale - 0.25); -- 100 -> 52 -> 100 + + gaugeWarnTransitionScale = gaugeWarnTransitionScale + deltaTime*10; + if gaugeWarnTransitionScale > 1 then + gaugeWarnTransitionScale = 0; + end + end + elseif gameplay.gauge.type == 3 then -- BLASTIVE RATE + gaugeBgImage = gaugeBlastiveBgImage; + gaugeFillImage = gaugeBlastiveFillImage; + + if gameplay.gauge.value < 0.3 then + gaugeFillAlpha = 1 - math.abs(gaugeWarnTransitionScale - 0.25); -- 100 -> 20 -> 100 gaugeWarnTransitionScale = gaugeWarnTransitionScale + deltaTime*10; if gaugeWarnTransitionScale > 1 then @@ -769,13 +784,16 @@ function draw_gauge(deltaTime) gfx.GlobalAlpha(gaugeFillAlpha); gfx.BeginPath() - gfx.ImageRect(gaugePosX+18, gaugePosY+9+(FillH-(FillH*(gameplay.gauge.value))), FillW, FillH*(gameplay.gauge.value), gaugeFillImage, 1, 0) + gfx.Scissor(gaugePosX+18, gaugePosY+9+(FillH-(FillH*(gameplay.gauge.value))), FillW, FillH*(gameplay.gauge.value)) + gfx.ImageRect(gaugePosX+18, gaugePosY+9, FillW, FillH, gaugeFillImage, 1, 0) + gfx.ResetScissor(); gfx.GlobalAlpha(1); -- Draw the breakpoint line if needed if (gaugeBreakpoint > 0) then gfx.Save() gfx.BeginPath() + gfx.GlobalAlpha(0.75); local lineY = gaugePosY+6+(FillH-(FillH*(gaugeBreakpoint)))