6535 lines
183 KiB
Lua
6535 lines
183 KiB
Lua
local f0_local0 = module
|
|
local f0_local1, f0_local2 = ...
|
|
f0_local0( f0_local1, package.seeall )
|
|
CoD.PrintModuleLoad( _NAME )
|
|
function gradient_bar_factory( f1_arg0, f1_arg1, f1_arg2, f1_arg3, f1_arg4, f1_arg5, f1_arg6, f1_arg7, f1_arg8 )
|
|
local self = LUI.UIImage.new()
|
|
self.id = "cap"
|
|
local f1_local1 = self
|
|
local f1_local2 = self.registerAnimationState
|
|
local f1_local3 = "default"
|
|
local f1_local4 = {
|
|
material = RegisterMaterial( "hud_health_bar_ltcap" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false
|
|
}
|
|
if f1_arg5 then
|
|
local f1_local5 = f1_arg8
|
|
end
|
|
f1_local4.left = f1_local5 or 0
|
|
local f1_local6
|
|
if f1_arg5 then
|
|
f1_local6 = 0
|
|
if not f1_local6 then
|
|
|
|
else
|
|
f1_local4.right = f1_local6
|
|
if f1_arg6 then
|
|
local f1_local7 = f1_arg3
|
|
end
|
|
f1_local4.top = f1_local7 or 0
|
|
if f1_arg6 then
|
|
f1_local6 = 0
|
|
if not f1_local6 then
|
|
|
|
else
|
|
f1_local4.bottom = f1_local6
|
|
f1_local2( f1_local1, f1_local3, f1_local4 )
|
|
self:animateToState( "default" )
|
|
f1_local2 = LUI.UIImage.new()
|
|
f1_local2.id = "fill"
|
|
f1_local2:setupUIScorebar( f1_arg1 )
|
|
f1_local3 = f1_local2
|
|
f1_local1 = f1_local2.registerAnimationState
|
|
f1_local4 = "default"
|
|
f1_local6 = {
|
|
material = RegisterMaterial( "hud_health_bar_mid" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
left = 0,
|
|
right = 0
|
|
}
|
|
if f1_arg6 then
|
|
local f1_local8 = f1_arg3
|
|
end
|
|
f1_local6.top = f1_local8 or 0
|
|
local f1_local9
|
|
if f1_arg6 then
|
|
f1_local9 = 0
|
|
if not f1_local9 then
|
|
|
|
else
|
|
f1_local6.bottom = f1_local9
|
|
f1_local1( f1_local3, f1_local4, f1_local6 )
|
|
f1_local2:animateToState( "default" )
|
|
f1_local1 = LUI.UIHorizontalList.new()
|
|
f1_local1.id = "bar"
|
|
f1_local4 = f1_local1
|
|
f1_local3 = f1_local1.registerAnimationState
|
|
f1_local6 = "default"
|
|
f1_local9 = {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0
|
|
}
|
|
local f1_local10
|
|
if f1_arg7 then
|
|
f1_local10 = 0
|
|
if not f1_local10 then
|
|
if f1_arg5 then
|
|
f1_local10 = -f1_arg8 * 0.6
|
|
if not f1_local10 then
|
|
|
|
else
|
|
f1_local9.left = f1_local10
|
|
if f1_arg7 then
|
|
f1_local10 = 0
|
|
if not f1_local10 then
|
|
if f1_arg5 then
|
|
f1_local10 = 0
|
|
if not f1_local10 then
|
|
|
|
else
|
|
f1_local9.right = f1_local10
|
|
if f1_arg5 then
|
|
f1_local10 = LUI.Alignment.Left
|
|
if not f1_local10 then
|
|
|
|
else
|
|
f1_local9.alignment = f1_local10
|
|
f1_local3( f1_local4, f1_local6, f1_local9 )
|
|
f1_local1:animateToState( "default" )
|
|
f1_local1:addElement( f1_local2 )
|
|
f1_local1:addElement( self )
|
|
f1_local3 = LUI.UIElement.new()
|
|
f1_local3:setUseStencil( true )
|
|
f1_local3.id = f1_arg0 .. "_bar"
|
|
f1_local3:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0
|
|
} )
|
|
f1_local3:animateToState( "default" )
|
|
f1_local3:addElement( f1_local1 )
|
|
f1_local3.colorize = function ( f2_arg0 )
|
|
local f2_local0 = f2_arg0.r * 100 + f2_arg0.g * 10 + f2_arg0.b
|
|
if f1_local3.currentColor ~= f2_local0 then
|
|
f1_local3.currentColor = f2_local0
|
|
f1_local2:registerAnimationState( "current", CoD.ColorizeState( f2_arg0 ) )
|
|
f1_local2:animateToState( "current" )
|
|
self:registerAnimationState( "current", CoD.ColorizeState( f2_arg0 ) )
|
|
self:animateToState( "current" )
|
|
end
|
|
end
|
|
|
|
f1_local3.setMax = function ( f3_arg0, f3_arg1 )
|
|
f1_local2.m_maxScore = f3_arg0
|
|
f1_local2.m_maxWidth = f3_arg1 - f1_arg8 * (f1_arg7 and 1 or 0.4)
|
|
end
|
|
|
|
f1_local3.setMax( f1_arg4, f1_arg2 )
|
|
return f1_local3
|
|
end
|
|
end
|
|
f1_local10 = LUI.Alignment.Right
|
|
end
|
|
end
|
|
f1_local10 = f1_arg8 * 0.6
|
|
end
|
|
else
|
|
if f1_arg5 then
|
|
f1_local10 = 0
|
|
if not f1_local10 then
|
|
|
|
else
|
|
f1_local9.right = f1_local10
|
|
if f1_arg5 then
|
|
f1_local10 = LUI.Alignment.Left
|
|
if not f1_local10 then
|
|
|
|
else
|
|
f1_local9.alignment = f1_local10
|
|
f1_local3( f1_local4, f1_local6, f1_local9 )
|
|
f1_local1:animateToState( "default" )
|
|
f1_local1:addElement( f1_local2 )
|
|
f1_local1:addElement( self )
|
|
f1_local3 = LUI.UIElement.new()
|
|
f1_local3:setUseStencil( true )
|
|
f1_local3.id = f1_arg0 .. "_bar"
|
|
f1_local3:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0
|
|
} )
|
|
f1_local3:animateToState( "default" )
|
|
f1_local3:addElement( f1_local1 )
|
|
f1_local3.colorize = function ( f2_arg0 )
|
|
local f2_local0 = f2_arg0.r * 100 + f2_arg0.g * 10 + f2_arg0.b
|
|
if f1_local3.currentColor ~= f2_local0 then
|
|
f1_local3.currentColor = f2_local0
|
|
f1_local2:registerAnimationState( "current", CoD.ColorizeState( f2_arg0 ) )
|
|
f1_local2:animateToState( "current" )
|
|
self:registerAnimationState( "current", CoD.ColorizeState( f2_arg0 ) )
|
|
self:animateToState( "current" )
|
|
end
|
|
end
|
|
|
|
f1_local3.setMax = function ( f3_arg0, f3_arg1 )
|
|
f1_local2.m_maxScore = f3_arg0
|
|
f1_local2.m_maxWidth = f3_arg1 - f1_arg8 * (f1_arg7 and 1 or 0.4)
|
|
end
|
|
|
|
f1_local3.setMax( f1_arg4, f1_arg2 )
|
|
return f1_local3
|
|
end
|
|
end
|
|
f1_local10 = LUI.Alignment.Right
|
|
end
|
|
end
|
|
f1_local10 = f1_arg8 * 0.6
|
|
end
|
|
f1_local9.right = f1_local10
|
|
if f1_arg5 then
|
|
f1_local10 = LUI.Alignment.Left
|
|
if not f1_local10 then
|
|
|
|
else
|
|
f1_local9.alignment = f1_local10
|
|
f1_local3( f1_local4, f1_local6, f1_local9 )
|
|
f1_local1:animateToState( "default" )
|
|
f1_local1:addElement( f1_local2 )
|
|
f1_local1:addElement( self )
|
|
f1_local3 = LUI.UIElement.new()
|
|
f1_local3:setUseStencil( true )
|
|
f1_local3.id = f1_arg0 .. "_bar"
|
|
f1_local3:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0
|
|
} )
|
|
f1_local3:animateToState( "default" )
|
|
f1_local3:addElement( f1_local1 )
|
|
f1_local3.colorize = function ( f2_arg0 )
|
|
local f2_local0 = f2_arg0.r * 100 + f2_arg0.g * 10 + f2_arg0.b
|
|
if f1_local3.currentColor ~= f2_local0 then
|
|
f1_local3.currentColor = f2_local0
|
|
f1_local2:registerAnimationState( "current", CoD.ColorizeState( f2_arg0 ) )
|
|
f1_local2:animateToState( "current" )
|
|
self:registerAnimationState( "current", CoD.ColorizeState( f2_arg0 ) )
|
|
self:animateToState( "current" )
|
|
end
|
|
end
|
|
|
|
f1_local3.setMax = function ( f3_arg0, f3_arg1 )
|
|
f1_local2.m_maxScore = f3_arg0
|
|
f1_local2.m_maxWidth = f3_arg1 - f1_arg8 * (f1_arg7 and 1 or 0.4)
|
|
end
|
|
|
|
f1_local3.setMax( f1_arg4, f1_arg2 )
|
|
return f1_local3
|
|
end
|
|
end
|
|
f1_local10 = LUI.Alignment.Right
|
|
end
|
|
end
|
|
f1_local10 = 0
|
|
end
|
|
else
|
|
if f1_arg5 then
|
|
f1_local10 = -f1_arg8 * 0.6
|
|
if not f1_local10 then
|
|
|
|
else
|
|
f1_local9.left = f1_local10
|
|
if f1_arg7 then
|
|
f1_local10 = 0
|
|
if not f1_local10 then
|
|
if f1_arg5 then
|
|
f1_local10 = 0
|
|
if not f1_local10 then
|
|
|
|
else
|
|
f1_local9.right = f1_local10
|
|
if f1_arg5 then
|
|
f1_local10 = LUI.Alignment.Left
|
|
if not f1_local10 then
|
|
|
|
else
|
|
f1_local9.alignment = f1_local10
|
|
f1_local3( f1_local4, f1_local6, f1_local9 )
|
|
f1_local1:animateToState( "default" )
|
|
f1_local1:addElement( f1_local2 )
|
|
f1_local1:addElement( self )
|
|
f1_local3 = LUI.UIElement.new()
|
|
f1_local3:setUseStencil( true )
|
|
f1_local3.id = f1_arg0 .. "_bar"
|
|
f1_local3:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0
|
|
} )
|
|
f1_local3:animateToState( "default" )
|
|
f1_local3:addElement( f1_local1 )
|
|
f1_local3.colorize = function ( f2_arg0 )
|
|
local f2_local0 = f2_arg0.r * 100 + f2_arg0.g * 10 + f2_arg0.b
|
|
if f1_local3.currentColor ~= f2_local0 then
|
|
f1_local3.currentColor = f2_local0
|
|
f1_local2:registerAnimationState( "current", CoD.ColorizeState( f2_arg0 ) )
|
|
f1_local2:animateToState( "current" )
|
|
self:registerAnimationState( "current", CoD.ColorizeState( f2_arg0 ) )
|
|
self:animateToState( "current" )
|
|
end
|
|
end
|
|
|
|
f1_local3.setMax = function ( f3_arg0, f3_arg1 )
|
|
f1_local2.m_maxScore = f3_arg0
|
|
f1_local2.m_maxWidth = f3_arg1 - f1_arg8 * (f1_arg7 and 1 or 0.4)
|
|
end
|
|
|
|
f1_local3.setMax( f1_arg4, f1_arg2 )
|
|
return f1_local3
|
|
end
|
|
end
|
|
f1_local10 = LUI.Alignment.Right
|
|
end
|
|
end
|
|
f1_local10 = f1_arg8 * 0.6
|
|
end
|
|
else
|
|
if f1_arg5 then
|
|
f1_local10 = 0
|
|
if not f1_local10 then
|
|
|
|
else
|
|
f1_local9.right = f1_local10
|
|
if f1_arg5 then
|
|
f1_local10 = LUI.Alignment.Left
|
|
if not f1_local10 then
|
|
|
|
else
|
|
f1_local9.alignment = f1_local10
|
|
f1_local3( f1_local4, f1_local6, f1_local9 )
|
|
f1_local1:animateToState( "default" )
|
|
f1_local1:addElement( f1_local2 )
|
|
f1_local1:addElement( self )
|
|
f1_local3 = LUI.UIElement.new()
|
|
f1_local3:setUseStencil( true )
|
|
f1_local3.id = f1_arg0 .. "_bar"
|
|
f1_local3:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0
|
|
} )
|
|
f1_local3:animateToState( "default" )
|
|
f1_local3:addElement( f1_local1 )
|
|
f1_local3.colorize = function ( f2_arg0 )
|
|
local f2_local0 = f2_arg0.r * 100 + f2_arg0.g * 10 + f2_arg0.b
|
|
if f1_local3.currentColor ~= f2_local0 then
|
|
f1_local3.currentColor = f2_local0
|
|
f1_local2:registerAnimationState( "current", CoD.ColorizeState( f2_arg0 ) )
|
|
f1_local2:animateToState( "current" )
|
|
self:registerAnimationState( "current", CoD.ColorizeState( f2_arg0 ) )
|
|
self:animateToState( "current" )
|
|
end
|
|
end
|
|
|
|
f1_local3.setMax = function ( f3_arg0, f3_arg1 )
|
|
f1_local2.m_maxScore = f3_arg0
|
|
f1_local2.m_maxWidth = f3_arg1 - f1_arg8 * (f1_arg7 and 1 or 0.4)
|
|
end
|
|
|
|
f1_local3.setMax( f1_arg4, f1_arg2 )
|
|
return f1_local3
|
|
end
|
|
end
|
|
f1_local10 = LUI.Alignment.Right
|
|
end
|
|
end
|
|
f1_local10 = f1_arg8 * 0.6
|
|
end
|
|
-- ERROR: Infinite loop detected
|
|
end
|
|
end
|
|
f1_local10 = 0
|
|
end
|
|
f1_local9.left = f1_local10
|
|
if f1_arg7 then
|
|
f1_local10 = 0
|
|
if not f1_local10 then
|
|
if f1_arg5 then
|
|
f1_local10 = 0
|
|
if not f1_local10 then
|
|
|
|
else
|
|
-- ERROR: Infinite loop detected
|
|
end
|
|
end
|
|
f1_local10 = f1_arg8 * 0.6
|
|
end
|
|
else
|
|
-- ERROR: Infinite loop detected
|
|
end
|
|
-- ERROR: Infinite loop detected
|
|
end
|
|
end
|
|
f1_local9 = f1_arg3
|
|
end
|
|
end
|
|
f1_local6 = f1_arg3
|
|
end
|
|
end
|
|
f1_local6 = f1_arg8
|
|
end
|
|
|
|
function PauseAction( f4_arg0, f4_arg1 )
|
|
if Engine.GetDvarString( "ui_game_state" ) == "postgame" == false then
|
|
f4_arg0.is_paused = true
|
|
LUI.FlowManager.RequestAddMenu( f4_arg0, "mp_pause_menu", true, f4_arg1.controller, false )
|
|
end
|
|
UpdateHUDVisibility( f4_arg0 )
|
|
end
|
|
|
|
function UnpauseAction( f5_arg0, f5_arg1 )
|
|
f5_arg0.is_paused = false
|
|
UpdateHUDVisibility( f5_arg0 )
|
|
end
|
|
|
|
function PushTechTreeAction( f6_arg0, f6_arg1 )
|
|
f6_arg0.is_tech_tree_open = true
|
|
UpdateHUDVisibility( f6_arg0 )
|
|
end
|
|
|
|
function PopTechTreeAction( f7_arg0, f7_arg1 )
|
|
f7_arg0.is_tech_tree_open = false
|
|
UpdateHUDVisibility( f7_arg0 )
|
|
end
|
|
|
|
function OpenTechTree( f8_arg0, f8_arg1 )
|
|
if LUI.FlowManager.AnyActiveMenusInStack( f8_arg0:getRootParent() ) then
|
|
return
|
|
elseif Game.IsSpectating() then
|
|
return
|
|
elseif Engine.GetDvarString( "ui_game_state" ) == "postgame" then
|
|
return
|
|
elseif Game.GetOmnvar( "ui_alien_player_in_laststand" ) then
|
|
return
|
|
elseif not isPostGame then
|
|
LUI.FlowManager.RequestAddMenu( f8_arg0, "alien_tech_tree", true, f8_arg1.controller, false )
|
|
end
|
|
end
|
|
|
|
function CloseTechTree( f9_arg0, f9_arg1 )
|
|
LUI.FlowManager.RequestLeaveMenuByName( "alien_tech_tree" )
|
|
end
|
|
|
|
function ToggleTechTree( f10_arg0, f10_arg1 )
|
|
local f10_local0 = LUI.FlowManager.IsInStack
|
|
local f10_local1 = f10_arg0:getRootParent()
|
|
if f10_local0( f10_local1.flowManager, "alien_tech_tree" ) then
|
|
CloseTechTree( f10_arg0, f10_arg1 )
|
|
else
|
|
OpenTechTree( f10_arg0, f10_arg1 )
|
|
end
|
|
end
|
|
|
|
function spectating()
|
|
local self = LUI.UIElement.new()
|
|
self.id = "spectating"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
left = 0,
|
|
right = 0,
|
|
bottom = 0
|
|
} )
|
|
self:animateToState( "default" )
|
|
local f11_local1 = LUI.UIText.new()
|
|
f11_local1.id = "spectating"
|
|
f11_local1:setText( Engine.Localize( "@LUA_MENU_SPECTATING_CAPS" ) )
|
|
f11_local1:setTextStyle( CoD.TextStyle.Shadowed )
|
|
f11_local1:registerAnimationState( "default", {
|
|
font = CoD.TextSettings.HudEuroBigFont.Font,
|
|
alignment = LUI.Alignment.Center,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
left = 0,
|
|
bottom = 0,
|
|
right = 0,
|
|
height = CoD.TextSettings.HudEuroBigFont.Height,
|
|
alpha = 0
|
|
} )
|
|
f11_local1:registerAnimationState( "visible", {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
left = 0,
|
|
top = 60,
|
|
right = 0,
|
|
height = CoD.TextSettings.HudEuroBigFont.Height,
|
|
alpha = 0.6
|
|
} )
|
|
f11_local1:registerOmnvarHandler( "ui_session_state", function ( f12_arg0, f12_arg1 )
|
|
if f12_arg1.value == "spectator" then
|
|
f12_arg0:animateToState( "visible", 150 )
|
|
else
|
|
f12_arg0:animateToState( "default", 150 )
|
|
end
|
|
end )
|
|
f11_local1:animateToState( "default" )
|
|
self:addElement( f11_local1 )
|
|
self:addElement( LUI.mp_hud.Hints.spectatorControlsDef() )
|
|
return self
|
|
end
|
|
|
|
function clips_and_ammo()
|
|
local self = LUI.UIElement.new( {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = -33,
|
|
left = 0,
|
|
right = -45,
|
|
alpha = 1
|
|
} )
|
|
self:registerAnimationState( "animateIn", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = -33,
|
|
left = 0,
|
|
right = 55,
|
|
alpha = 0
|
|
} )
|
|
self:registerAnimationState( "animateOut", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = -33,
|
|
bottom = -66,
|
|
left = 0,
|
|
right = -45,
|
|
alpha = 0
|
|
} )
|
|
self.id = "clips_and_ammo"
|
|
local f13_local1 = LUI.UIText.new( {
|
|
font = CoD.TextSettings.HudDigitalNormalFont.Font,
|
|
alignment = LUI.Alignment.Center,
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
left = -105,
|
|
right = -105,
|
|
height = CoD.TextSettings.HudDigitalNormalFont.Height,
|
|
bottom = 0,
|
|
alpha = 0
|
|
} )
|
|
f13_local1:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f13_local1.id = "clipAmmoLeft"
|
|
f13_local1:setupUIBindText( "ClipAmmoLeft" )
|
|
self:addElement( f13_local1 )
|
|
local f13_local2 = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "hud_alien_ammo_bg_line" ),
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
right = -76,
|
|
bottom = -2,
|
|
width = 2,
|
|
height = CoD.TextSettings.HudDigitalNormalFont.Height,
|
|
alpha = 0
|
|
} )
|
|
f13_local2:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f13_local2.id = "hud_alien_ammo_bg_line"
|
|
self:addElement( f13_local2 )
|
|
local f13_local3 = LUI.UIText.new( {
|
|
font = CoD.TextSettings.HudDigitalNormalFont.Font,
|
|
alignment = LUI.Alignment.Center,
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
left = -60,
|
|
right = -60,
|
|
height = CoD.TextSettings.HudDigitalNormalFont.Height,
|
|
bottom = 0
|
|
} )
|
|
f13_local3.id = "clipAmmoRight"
|
|
f13_local3:setupUIBindText( "ClipAmmoRight" )
|
|
self:addElement( f13_local3 )
|
|
local f13_local4 = LUI.UIText.new( {
|
|
font = CoD.TextSettings.HudDigitalNormalFont.Font,
|
|
alignment = LUI.Alignment.Right,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
left = 0,
|
|
right = -21,
|
|
height = CoD.TextSettings.HudDigitalNormalFont.Height,
|
|
bottom = 0,
|
|
alpha = 0.8
|
|
} )
|
|
f13_local4.id = "slash"
|
|
f13_local4:setText( "/" )
|
|
self:addElement( f13_local4 )
|
|
local f13_local5 = LUI.UIText.new( {
|
|
font = CoD.TextSettings.HudDigitalNormalFont.Font,
|
|
alignment = LUI.Alignment.Center,
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
height = CoD.TextSettings.HudDigitalNormalFont.Height,
|
|
bottom = 0,
|
|
right = 0,
|
|
left = 0
|
|
} )
|
|
f13_local5.id = "stockAmmo"
|
|
f13_local5:setupUIBindText( "StockAmmo" )
|
|
self:addElement( f13_local5 )
|
|
self:registerEventHandler( "weapon_change", function ( element, event )
|
|
if string.find( event.weapon_name, "akimbo" ) then
|
|
f13_local1:animateToState( "visible" )
|
|
f13_local2:animateToState( "visible" )
|
|
else
|
|
f13_local1:animateToState( "default" )
|
|
f13_local2:animateToState( "default" )
|
|
end
|
|
end )
|
|
return self
|
|
end
|
|
|
|
function weapon_info()
|
|
local self = LUI.UIImage.new()
|
|
self.id = "hud_alien_ammo_bg"
|
|
self:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "hud_alien_ammo_bg" ),
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
right = 0,
|
|
bottom = 0,
|
|
width = 184,
|
|
height = 97,
|
|
alpha = 0.25
|
|
} )
|
|
self:animateToState( "default" )
|
|
local f15_local1 = LUI.UIImage.new()
|
|
f15_local1.id = "specialammo_icon"
|
|
f15_local1:registerAnimationState( "hidden", {
|
|
material = RegisterMaterial( "alien_dpad_icon_ammo_stun" ),
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
right = -174,
|
|
bottom = -20,
|
|
height = 40,
|
|
width = 40,
|
|
alpha = 0
|
|
} )
|
|
f15_local1:registerAnimationState( "stun", {
|
|
material = RegisterMaterial( "alien_dpad_icon_ammo_stun" ),
|
|
alpha = 1
|
|
} )
|
|
f15_local1:registerAnimationState( "incendiary", {
|
|
material = RegisterMaterial( "alien_dpad_icon_ammo_incendiary" ),
|
|
alpha = 1
|
|
} )
|
|
f15_local1:registerAnimationState( "explosive", {
|
|
material = RegisterMaterial( "alien_dpad_icon_ammo_explosive" ),
|
|
alpha = 1
|
|
} )
|
|
f15_local1:registerAnimationState( "piercing", {
|
|
material = RegisterMaterial( "alien_dpad_icon_ammo_piercing" ),
|
|
alpha = 1
|
|
} )
|
|
f15_local1:registerAnimationState( "combined", {
|
|
material = RegisterMaterial( "alien_dpad_icon_ammo_combined" ),
|
|
alpha = 1
|
|
} )
|
|
f15_local1:animateToState( "hidden" )
|
|
f15_local1:registerOmnvarHandler( "ui_alien_specialammo", function ( f16_arg0, f16_arg1 )
|
|
if f16_arg1.value < 0 then
|
|
f16_arg0:animateToState( "hidden" )
|
|
elseif f16_arg1.value == 1 then
|
|
f16_arg0:animateToState( "stun" )
|
|
elseif f16_arg1.value == 2 then
|
|
f16_arg0:animateToState( "incendiary" )
|
|
elseif f16_arg1.value == 3 then
|
|
f16_arg0:animateToState( "explosive" )
|
|
elseif f16_arg1.value == 4 then
|
|
f16_arg0:animateToState( "piercing" )
|
|
elseif f16_arg1.value == 5 then
|
|
f16_arg0:animateToState( "combined" )
|
|
end
|
|
end )
|
|
local f15_local2 = LUI.UIImage.new()
|
|
f15_local2.id = "turretAmmoIcon"
|
|
f15_local2:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "alien_icon_sentry" ),
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
right = -300,
|
|
bottom = -32,
|
|
height = 40,
|
|
width = 40,
|
|
alpha = 0
|
|
} )
|
|
f15_local2:registerAnimationState( "sentry", {
|
|
material = RegisterMaterial( "alien_icon_sentry" ),
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
right = -300,
|
|
bottom = -32,
|
|
height = 40,
|
|
alpha = 1,
|
|
width = 40
|
|
} )
|
|
f15_local2:registerAnimationState( "minigun", {
|
|
material = RegisterMaterial( "hud_icon_minigun" ),
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
right = -300,
|
|
bottom = -32,
|
|
height = 40,
|
|
width = 70,
|
|
alpha = 1
|
|
} )
|
|
local f15_local3 = LUI.UIText.new()
|
|
f15_local3.id = "turretAmmoCount"
|
|
f15_local3:registerAnimationState( "default", {
|
|
alignment = LUI.Alignment.Right,
|
|
font = CoD.TextSettings.HudDigitalNormalFont.Font,
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
right = -218,
|
|
bottom = -26,
|
|
height = 40,
|
|
width = 40,
|
|
alpha = 0
|
|
} )
|
|
f15_local3:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f15_local3:animateToState( "default" )
|
|
f15_local2:animateToState( "default" )
|
|
f15_local2:registerOmnvarHandler( "ui_alien_turret", function ( f17_arg0, f17_arg1 )
|
|
if f17_arg1.value == 1 then
|
|
f17_arg0:animateToState( "sentry" )
|
|
elseif f17_arg1.value == 2 then
|
|
f17_arg0:animateToState( "minigun" )
|
|
else
|
|
f17_arg0:animateToState( "default" )
|
|
end
|
|
end )
|
|
f15_local3:registerOmnvarHandler( "ui_alien_turret_ammo", function ( f18_arg0, f18_arg1 )
|
|
if f18_arg1.value > 0 then
|
|
f18_arg0:animateToState( "visible" )
|
|
f18_arg0:setText( f18_arg1.value )
|
|
else
|
|
f18_arg0:animateToState( "default" )
|
|
end
|
|
end )
|
|
local f15_local4 = 118
|
|
local f15_local5 = 2
|
|
local f15_local6 = LUI.UIImage.new()
|
|
f15_local6.id = "fillBG"
|
|
f15_local6:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "white" ),
|
|
font = CoD.TextSettings.HudDigitalNormalFont.Font,
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
right = -220,
|
|
bottom = -24,
|
|
height = 8,
|
|
width = f15_local4,
|
|
red = 0,
|
|
green = 0,
|
|
blue = 0,
|
|
alpha = 0
|
|
} )
|
|
f15_local6:animateToState( "default" )
|
|
f15_local6:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
local f15_local7 = LUI.UIImage.new()
|
|
f15_local7.id = "OverheatBar"
|
|
f15_local7:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "white" ),
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
left = -220 - f15_local4 + f15_local5,
|
|
bottom = -26,
|
|
height = 4,
|
|
width = 0,
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
alpha = 0
|
|
} )
|
|
f15_local7:animateToState( "default" )
|
|
f15_local7:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f15_local7:registerOmnvarHandler( "ui_alien_turret_overheat", function ( f19_arg0, f19_arg1 )
|
|
if f19_arg1.value > -1 then
|
|
f15_local6:animateToState( "visible" )
|
|
f19_arg0:animateToState( "visible" )
|
|
elseif f19_arg1.value < 0 then
|
|
f15_local6:animateToState( "default" )
|
|
f19_arg0:animateToState( "default" )
|
|
end
|
|
local f19_local0 = LUI.clamp( f19_arg1.value, 0, 100 ) / 100
|
|
local f19_local1 = CoD.GradientMap( {
|
|
{
|
|
threshold = 0,
|
|
color = {
|
|
r = 1,
|
|
g = 1,
|
|
b = 1
|
|
}
|
|
},
|
|
{
|
|
threshold = 0.5,
|
|
color = {
|
|
r = 1,
|
|
g = 1,
|
|
b = 0
|
|
}
|
|
},
|
|
{
|
|
threshold = 1,
|
|
color = {
|
|
r = 1,
|
|
g = 0,
|
|
b = 0
|
|
}
|
|
}
|
|
}, f19_local0 )
|
|
f19_arg0:registerAnimationState( "updated", {
|
|
material = RegisterMaterial( "white" ),
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
left = -220 - f15_local4 + f15_local5,
|
|
bottom = -26,
|
|
height = 4,
|
|
width = (f15_local4 - 2 * f15_local5) * f19_local0,
|
|
alpha = 1
|
|
} )
|
|
f19_arg0:animateToState( "updated" )
|
|
f19_arg0:registerAnimationState( "current", CoD.ColorizeState( f19_local1 ) )
|
|
f19_arg0:animateToState( "current" )
|
|
end )
|
|
local f15_local8 = LUI.UIText.new()
|
|
f15_local8.id = "weapon"
|
|
f15_local8:setTextStyle( CoD.TextStyle.Shadowed )
|
|
f15_local8:registerAnimationState( "default", CoD.ColorizeState( Colors.primary_text_color, {
|
|
font = CoD.TextSettings.NormalFont.Font,
|
|
alignment = LUI.Alignment.Right,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
left = 0,
|
|
right = -22,
|
|
height = CoD.TextSettings.NormalFont.Height,
|
|
bottom = -58
|
|
} ) )
|
|
f15_local8:animateToState( "default" )
|
|
local f15_local9 = clips_and_ammo()
|
|
local f15_local10 = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "hud_alien_ammo_infinite" ),
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
height = 32,
|
|
bottom = -33,
|
|
width = 64,
|
|
right = -25,
|
|
alpha = 1
|
|
} )
|
|
f15_local10:registerAnimationState( "animateIn", {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
height = 32,
|
|
bottom = -33,
|
|
width = 64,
|
|
right = 50,
|
|
alpha = 0
|
|
} )
|
|
f15_local10:registerAnimationState( "animateOut", {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
height = 32,
|
|
bottom = -66,
|
|
width = 64,
|
|
right = -25,
|
|
alpha = 0
|
|
} )
|
|
f15_local10:animateToState( "animateIn" )
|
|
f15_local10.id = "infiniteAmmo"
|
|
local f15_local11 = LUI.UIElement.new()
|
|
f15_local11.id = "grenades"
|
|
f15_local11:registerAnimationState( "default", {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
bottom = -14,
|
|
height = 16,
|
|
right = -20,
|
|
left = 0
|
|
} )
|
|
f15_local11:animateToState( "default" )
|
|
for f15_local12 = 1, 5, 1 do
|
|
local f15_local15 = f15_local12
|
|
local f15_local16 = LUI.UIImage.new()
|
|
f15_local16:setupUIBindImage( "FragMaterial" )
|
|
f15_local16.id = "grenade_" .. f15_local15
|
|
f15_local16:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
right = (1 - f15_local15) * 12,
|
|
width = 16,
|
|
height = 16,
|
|
alpha = 0
|
|
} )
|
|
f15_local16:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f15_local16:animateToState( "default" )
|
|
f15_local16:registerEventHandler( "grenade_count_update", function ( element, event )
|
|
if event.oldValue < f15_local15 and f15_local15 <= event.newValue then
|
|
f15_local16:animateToState( "visible" )
|
|
elseif f15_local15 <= event.oldValue and event.newValue < f15_local15 then
|
|
f15_local16:animateToState( "default" )
|
|
end
|
|
end )
|
|
f15_local11:addElement( f15_local16 )
|
|
end
|
|
local f15_local12 = LUI.UIElement.new()
|
|
f15_local12:setupUIIntWatch( "FragAmmo" )
|
|
f15_local12.id = "grenade_ammo_watch"
|
|
f15_local12:registerEventHandler( "int_watch_alert", function ( element, event )
|
|
event.name = "grenade_count_update"
|
|
f15_local11:processEvent( event )
|
|
end )
|
|
local f15_local13 = LUI.UIElement.new()
|
|
f15_local13.id = "tacticals"
|
|
f15_local13:registerAnimationState( "default", {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
bottom = -14,
|
|
height = 16,
|
|
right = -110,
|
|
left = 0
|
|
} )
|
|
f15_local13:animateToState( "default" )
|
|
local f15_local14 = LUI.UIText.new()
|
|
f15_local14.id = "tactical_divider"
|
|
f15_local14:setText( "|" )
|
|
f15_local14:registerAnimationState( "default", {
|
|
font = CoD.TextSettings.HudDigitalNormalFont.Font,
|
|
alignment = LUI.Alignment.Right,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
bottom = -12,
|
|
right = 30,
|
|
left = 0,
|
|
alpha = 0.35,
|
|
left = 0,
|
|
right = -80,
|
|
height = CoD.TextSettings.HudDigitalNormalFont.Height
|
|
} )
|
|
f15_local14:animateToState( "default" )
|
|
for f15_local15 = 1, 5, 1 do
|
|
local f15_local18 = f15_local15
|
|
local f15_local19 = LUI.UIImage.new()
|
|
f15_local19:setupUIBindImage( "FlashMaterial" )
|
|
f15_local19.id = "tactical" .. f15_local18
|
|
f15_local19:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
left = (1 - f15_local18) * 10,
|
|
width = 16,
|
|
height = 16,
|
|
alpha = 0
|
|
} )
|
|
f15_local19:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f15_local19:animateToState( "default" )
|
|
f15_local19:registerEventHandler( "tactical_count_update", function ( element, event )
|
|
if event.oldValue < f15_local18 and f15_local18 <= event.newValue then
|
|
f15_local19:animateToState( "visible" )
|
|
elseif f15_local18 <= event.oldValue and event.newValue < f15_local18 then
|
|
f15_local19:animateToState( "default" )
|
|
end
|
|
end )
|
|
f15_local13:addElement( f15_local19 )
|
|
end
|
|
local f15_local15 = LUI.UIElement.new()
|
|
f15_local15:setupUIIntWatch( "FlashAmmo" )
|
|
f15_local15.id = "tactical_ammo_watch"
|
|
f15_local15:registerEventHandler( "int_watch_alert", function ( element, event )
|
|
event.name = "tactical_count_update"
|
|
f15_local13:processEvent( event )
|
|
end )
|
|
local f15_local16 = LUI.UIElement.new()
|
|
f15_local16.id = "weapon_info"
|
|
f15_local16:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 13,
|
|
left = 0,
|
|
right = 17
|
|
} )
|
|
f15_local16:animateToState( "default" )
|
|
f15_local16:addElement( self )
|
|
f15_local16:addElement( f15_local9 )
|
|
f15_local16:addElement( f15_local10 )
|
|
f15_local16:addElement( f15_local8 )
|
|
f15_local16:addElement( f15_local11 )
|
|
f15_local16:addElement( f15_local13 )
|
|
f15_local16:addElement( f15_local12 )
|
|
f15_local16:addElement( f15_local15 )
|
|
f15_local16:addElement( f15_local14 )
|
|
f15_local16:addElement( f15_local1 )
|
|
f15_local16:addElement( f15_local2 )
|
|
f15_local16:addElement( f15_local3 )
|
|
f15_local16:addElement( f15_local6 )
|
|
f15_local16:addElement( f15_local7 )
|
|
f15_local16:registerEventHandler( "weapon_change", function ( element, event )
|
|
if event.display_name then
|
|
f15_local8:setText( event.display_name )
|
|
end
|
|
end )
|
|
f15_local16:registerOmnvarHandler( "ui_alien_unlimited_ammo", function ( f25_arg0, f25_arg1 )
|
|
if f25_arg1.value then
|
|
local f25_local0 = MBh.AnimateSequence( {
|
|
{
|
|
"animateOut",
|
|
200
|
|
},
|
|
{
|
|
"animateIn",
|
|
0
|
|
}
|
|
} )
|
|
f25_local0( f15_local9 )
|
|
f15_local10:animateToState( "default", 150 )
|
|
else
|
|
local f25_local0 = MBh.AnimateSequence( {
|
|
{
|
|
"animateOut",
|
|
200
|
|
},
|
|
{
|
|
"animateIn",
|
|
0
|
|
}
|
|
} )
|
|
f25_local0( f15_local10 )
|
|
f15_local9:animateToState( "default", 150 )
|
|
end
|
|
end )
|
|
return f15_local16
|
|
end
|
|
|
|
function nx1_custom_reticle()
|
|
local f26_local0 = Engine.GetLuiRoot()
|
|
local f26_local1 = f26_local0.m_controllerIndex
|
|
local self = LUI.UIElement.new( {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0
|
|
} )
|
|
self.id = "reticle_hud_root"
|
|
local f26_local3 = function ( f27_arg0, f27_arg1 )
|
|
if f27_arg1 and 0 <= f27_arg1 then
|
|
f27_arg0:animateToState( "visible", 0 )
|
|
f27_arg0:processEvent( {
|
|
name = "update_base_color"
|
|
} )
|
|
f27_arg0:processEvent( {
|
|
name = "set_reticle_charges",
|
|
num_charges = f27_arg1
|
|
} )
|
|
else
|
|
f27_arg0:animateToState( "default", 0 )
|
|
end
|
|
end
|
|
|
|
local f26_local4 = LUI.UIElement.new( {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0,
|
|
alpha = 0
|
|
} )
|
|
f26_local4:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f26_local4.id = "nx1_custom_ret"
|
|
f26_local4:registerOmnvarHandler( "ui_custom_reticle_state", function ( f28_arg0, f28_arg1 )
|
|
f26_local3( f28_arg0, f28_arg1.value )
|
|
end )
|
|
f26_local4:registerEventHandler( "custom_reticle_timer", function ( element, event )
|
|
f26_local3( element, Game.GetOmnvar( "ui_custom_reticle_state" ) )
|
|
end )
|
|
f26_local4:addElement( LUI.UITimer.new( 50, "custom_reticle_timer", nil, false, false, false, false ) )
|
|
local f26_local5 = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "reticle_center_cook_white" ),
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
top = -20,
|
|
bottom = 20,
|
|
left = -20,
|
|
right = 20,
|
|
alpha = 0.5,
|
|
red = 1,
|
|
green = 1,
|
|
blue = 1
|
|
} )
|
|
f26_local5.id = "main_ret_image_id"
|
|
f26_local5:registerAnimationState( "charged", {
|
|
red = 0.9,
|
|
green = 0.6,
|
|
blue = 0
|
|
} )
|
|
f26_local5:registerEventHandler( "update_base_color", function ( element, event )
|
|
local f30_local0 = 10
|
|
if Engine.AliensCheckIsRelicEnabled( f26_local1, "nerf_min_ammo" ) then
|
|
f30_local0 = 5
|
|
end
|
|
if f30_local0 <= Game.GetPlayerClipAmmo( 1 ) then
|
|
element:animateToState( "charged", 0 )
|
|
else
|
|
element:animateToState( "default", 0 )
|
|
end
|
|
end )
|
|
local f26_local6 = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "reticle_nx1_cook" ),
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
red = 0.9,
|
|
green = 0.6,
|
|
blue = 0,
|
|
top = -20,
|
|
bottom = 0,
|
|
left = -20,
|
|
right = 0,
|
|
alpha = 0
|
|
} )
|
|
f26_local6:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f26_local6.id = "main_ret_image_tl_id"
|
|
f26_local6:registerEventHandler( "set_reticle_charges", function ( element, event )
|
|
if event.num_charges and event.num_charges >= 1 then
|
|
element:animateToState( "visible", 0 )
|
|
else
|
|
element:animateToState( "default", 0 )
|
|
end
|
|
end )
|
|
local f26_local7 = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "reticle_nx1_cook" ),
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
red = 0.9,
|
|
green = 0.6,
|
|
blue = 0,
|
|
top = -20,
|
|
bottom = 0,
|
|
left = 20,
|
|
right = 0,
|
|
alpha = 0
|
|
} )
|
|
f26_local7:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f26_local7.id = "main_ret_image_tr_id"
|
|
f26_local7:registerEventHandler( "set_reticle_charges", function ( element, event )
|
|
if event.num_charges and event.num_charges >= 2 then
|
|
element:animateToState( "visible", 0 )
|
|
else
|
|
element:animateToState( "default", 0 )
|
|
end
|
|
end )
|
|
local f26_local8 = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "reticle_nx1_cook" ),
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
red = 0.9,
|
|
green = 0.6,
|
|
blue = 0,
|
|
top = 20,
|
|
bottom = 0,
|
|
left = 20,
|
|
right = 0,
|
|
alpha = 0
|
|
} )
|
|
f26_local8:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f26_local8.id = "main_ret_image_br_id"
|
|
f26_local8:registerEventHandler( "set_reticle_charges", function ( element, event )
|
|
if event.num_charges and event.num_charges >= 3 then
|
|
element:animateToState( "visible", 0 )
|
|
else
|
|
element:animateToState( "default", 0 )
|
|
end
|
|
end )
|
|
local f26_local9 = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "reticle_nx1_cook" ),
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
red = 0.9,
|
|
green = 0.6,
|
|
blue = 0,
|
|
top = 20,
|
|
bottom = 0,
|
|
left = -20,
|
|
right = 0,
|
|
alpha = 0
|
|
} )
|
|
f26_local9:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f26_local9.id = "main_ret_image_bl_id"
|
|
f26_local9:registerEventHandler( "set_reticle_charges", function ( element, event )
|
|
if event.num_charges and event.num_charges >= 4 then
|
|
element:animateToState( "visible", 0 )
|
|
else
|
|
element:animateToState( "default", 0 )
|
|
end
|
|
end )
|
|
self:addElement( f26_local4 )
|
|
f26_local4:addElement( f26_local5 )
|
|
f26_local4:addElement( f26_local6 )
|
|
f26_local4:addElement( f26_local7 )
|
|
f26_local4:addElement( f26_local8 )
|
|
f26_local4:addElement( f26_local9 )
|
|
f26_local3( f26_local4, Game.GetOmnvar( "ui_custom_reticle_state" ) )
|
|
return self
|
|
end
|
|
|
|
f0_local0 = 140
|
|
f0_local1 = 64
|
|
function health_only()
|
|
local f35_local0 = 5
|
|
local f35_local1 = 16
|
|
local self = LUI.UIElement.new()
|
|
self.id = "health"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = -49,
|
|
left = 0,
|
|
right = 0,
|
|
height = 16
|
|
} )
|
|
self:animateToState( "default" )
|
|
local f35_local3 = LUI.UIHorizontalList.new()
|
|
f35_local3.id = "healthBarBG"
|
|
f35_local3:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0,
|
|
alignment = LUI.Alignment.Left,
|
|
alpha = 0.5
|
|
} )
|
|
f35_local3:animateToState( "default" )
|
|
local f35_local4 = LUI.UIImage.new()
|
|
f35_local4.id = "healthBarBGLeftCap"
|
|
f35_local4:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "alien_health_bg_ltcap" ),
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 0,
|
|
left = 0,
|
|
width = f0_local1,
|
|
bottom = 0
|
|
} )
|
|
f35_local4:animateToState( "default" )
|
|
f35_local3:addElement( f35_local4 )
|
|
local f35_local5 = LUI.UIImage.new()
|
|
f35_local5.id = "healthBarBGFill"
|
|
f35_local5:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "white" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 5,
|
|
left = 0,
|
|
right = 0,
|
|
height = 11,
|
|
red = 0,
|
|
green = 0,
|
|
blue = 0
|
|
} )
|
|
f35_local5:animateToState( "default" )
|
|
f35_local3:addElement( f35_local5 )
|
|
local f35_local6 = LUI.UIImage.new()
|
|
f35_local6.id = "healthBarBGRightCap"
|
|
f35_local6:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "alien_health_bg_rtcap" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 3,
|
|
left = 0,
|
|
width = f35_local1,
|
|
height = 16
|
|
} )
|
|
f35_local6:animateToState( "default" )
|
|
f35_local3:addElement( f35_local6 )
|
|
local f35_local7 = LUI.UIElement.new()
|
|
f35_local7.id = "healthBarContainer"
|
|
f35_local7:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 7,
|
|
left = f0_local1,
|
|
right = 0,
|
|
height = 12
|
|
} )
|
|
f35_local7:animateToState( "default" )
|
|
local f35_local8 = LUI.UIElement.new()
|
|
f35_local8.id = "healthBarTicks"
|
|
f35_local8:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 4,
|
|
left = 0,
|
|
right = 0,
|
|
height = 12
|
|
} )
|
|
f35_local8:animateToState( "default" )
|
|
for f35_local9 = 0, f35_local0 - 1, 1 do
|
|
local f35_local12 = LUI.UIImage.new()
|
|
f35_local12.id = "tick_" .. f35_local9
|
|
f35_local12:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "alien_health_bg_tic" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 0,
|
|
left = f0_local1 + f0_local0 * (1 + f35_local9 / 4) - 14,
|
|
width = 12,
|
|
height = 12,
|
|
alpha = 0
|
|
} )
|
|
f35_local12:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f35_local12:animateToState( "default" )
|
|
f35_local8:addElement( f35_local12 )
|
|
f35_local8["tick_" .. f35_local9] = f35_local12
|
|
end
|
|
local f35_local9 = LUI.UIImage.new()
|
|
f35_local9.id = "healthIcon"
|
|
f35_local9:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "hud_health_plus_icon" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 2,
|
|
left = 42,
|
|
width = 13,
|
|
height = 13,
|
|
red = 0.55,
|
|
green = 0.78,
|
|
blue = 0.25
|
|
} )
|
|
f35_local9:animateToState( "default" )
|
|
local f35_local10 = LUI.UIImage.new()
|
|
f35_local10.id = "riotshield"
|
|
f35_local10:registerAnimationState( "hidden", {
|
|
material = RegisterMaterial( "alien_icon_riot_shield" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = -37,
|
|
left = 27,
|
|
width = 32,
|
|
height = 32,
|
|
alpha = 0
|
|
} )
|
|
f35_local10:registerAnimationState( "equipped", {
|
|
material = RegisterMaterial( "alien_icon_riot_shield" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = -35,
|
|
left = 27,
|
|
width = 32,
|
|
height = 32,
|
|
alpha = 1
|
|
} )
|
|
f35_local10:animateToState( "hidden" )
|
|
f35_local10:registerOmnvarHandler( "ui_alien_riotshield_equipped", function ( f36_arg0, f36_arg1 )
|
|
if f36_arg1.value > 0 then
|
|
f36_arg0:animateToState( "equipped" )
|
|
else
|
|
f36_arg0:animateToState( "hidden" )
|
|
end
|
|
end )
|
|
local f35_local11 = LUI.UIText.new()
|
|
f35_local11.id = "counter"
|
|
f35_local11:setTextStyle( CoD.TextStyle.Outlined )
|
|
f35_local11:registerAnimationState( "default", {
|
|
font = CoD.TextSettings.HudEuroMedTinyFont.Font,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
left = 55,
|
|
right = 0,
|
|
top = -5 - CoD.TextSettings.HudEuroMedTinyFont.Height / 2,
|
|
bottom = -5 + CoD.TextSettings.HudEuroMedTinyFont.Height / 2,
|
|
alpha = 1
|
|
} )
|
|
f35_local11:animateToState( "default" )
|
|
f35_local11:registerAnimationState( "hidden", {
|
|
alpha = 0
|
|
} )
|
|
f35_local11:registerOmnvarHandler( "ui_alien_riotshield_equipped", function ( f37_arg0, f37_arg1 )
|
|
if f37_arg1.value > 1 then
|
|
f35_local11:animateToState( "default", 250 )
|
|
else
|
|
f35_local11:animateToState( "hidden", 250 )
|
|
end
|
|
end )
|
|
f35_local11:registerOmnvarHandler( "ui_alien_stowed_riotshield_ammo", function ( f38_arg0, f38_arg1 )
|
|
f35_local11:setText( f38_arg1.value )
|
|
end )
|
|
local f35_local13 = nil
|
|
local f35_local12 = LUI.UIElement.new()
|
|
f35_local12:setupUIIntWatch( "PlayerHealth" )
|
|
f35_local12.id = "health_watch"
|
|
local f35_local14 = function ( f39_arg0, f39_arg1 )
|
|
local f39_local0 = 25
|
|
if f35_local13 then
|
|
if f39_arg1.newValue <= f39_local0 then
|
|
f35_local13.colorize( {
|
|
r = 0.94,
|
|
g = 0.25,
|
|
b = 0
|
|
} )
|
|
elseif f39_local0 < f39_arg1.newValue then
|
|
f35_local13.colorize( {
|
|
r = 0.55,
|
|
g = 0.78,
|
|
b = 0.25
|
|
} )
|
|
end
|
|
end
|
|
end
|
|
|
|
f35_local12:registerEventHandler( "int_watch_alert", f35_local14 )
|
|
local f35_local15 = LUI.UIElement.new()
|
|
f35_local15:setupUIIntWatch( "PlayerMaxHealth" )
|
|
f35_local15.id = "maxHealthWatch"
|
|
f35_local15:registerEventHandler( "int_watch_alert", function ( element, event )
|
|
if event.newValue > 0 then
|
|
if not f35_local13 then
|
|
f35_local13 = gradient_bar_factory( "health", "PlayerHealth", 0, 12, event.newValue, true, false, false, 12 )
|
|
f35_local7:addElement( f35_local13 )
|
|
f35_local14( element, {
|
|
name = "int_watch_alert",
|
|
newValue = Game.GetPlayerHealth()
|
|
} )
|
|
end
|
|
local f40_local0 = f0_local0 * event.newValue / 100
|
|
self:registerAnimationState( "current", {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = -48,
|
|
left = 0,
|
|
right = f40_local0 + f0_local1,
|
|
height = 16
|
|
} )
|
|
f35_local13.setMax( event.newValue, f40_local0 )
|
|
f35_local5:registerAnimationState( "current", {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 5,
|
|
left = 0,
|
|
right = f40_local0 - f35_local1,
|
|
height = 11
|
|
} )
|
|
self:animateToState( "current" )
|
|
f35_local5:animateToState( "current" )
|
|
for f40_local1 = 0, f35_local0 - 1, 1 do
|
|
if 100 + f40_local1 * 25 <= event.newValue then
|
|
f35_local8["tick_" .. f40_local1].animateToState( REG7["tick_" .. f40_local1], "visible" )
|
|
else
|
|
f35_local8["tick_" .. f40_local1].animateToState( REG7["tick_" .. f40_local1], "default" )
|
|
end
|
|
end
|
|
end
|
|
end )
|
|
self:addElement( f35_local3 )
|
|
self:addElement( f35_local9 )
|
|
self:addElement( f35_local7 )
|
|
self:addElement( f35_local8 )
|
|
self:addElement( f35_local12 )
|
|
self:addElement( f35_local15 )
|
|
self:addElement( f35_local10 )
|
|
self:addElement( f35_local11 )
|
|
return self
|
|
end
|
|
|
|
function shield_only()
|
|
local f41_local0 = 8
|
|
local f41_local1 = f0_local0 * 1.25
|
|
local self = LUI.UIElement.new()
|
|
self.id = "shield"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = -31,
|
|
left = 0,
|
|
right = f41_local1 + f0_local1,
|
|
height = 16
|
|
} )
|
|
self:animateToState( "default" )
|
|
local f41_local3 = LUI.UIHorizontalList.new()
|
|
f41_local3.id = "shieldBarBG"
|
|
f41_local3:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0,
|
|
alignment = LUI.Alignment.Left,
|
|
alpha = 0.5
|
|
} )
|
|
f41_local3:animateToState( "default" )
|
|
local f41_local4 = LUI.UIImage.new()
|
|
f41_local4.id = "shieldBarBGLeftCap"
|
|
f41_local4:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "alien_shield_bg_ltcap" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 0,
|
|
left = 0,
|
|
width = f0_local1,
|
|
bottom = 16
|
|
} )
|
|
f41_local4:animateToState( "default" )
|
|
f41_local3:addElement( f41_local4 )
|
|
local f41_local5 = LUI.UIImage.new()
|
|
f41_local5.id = "shieldBarBGFill"
|
|
f41_local5:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "white" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 0,
|
|
left = 0,
|
|
right = f41_local1 - f41_local0,
|
|
height = 4,
|
|
red = 0,
|
|
green = 0,
|
|
blue = 0
|
|
} )
|
|
f41_local5:animateToState( "default" )
|
|
f41_local3:addElement( f41_local5 )
|
|
local f41_local6 = LUI.UIImage.new()
|
|
f41_local6.id = "shieldBarBGRightCap"
|
|
f41_local6:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "alien_shield_bg_rtcap" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = -6,
|
|
left = 0,
|
|
width = f41_local0,
|
|
height = 16
|
|
} )
|
|
f41_local6:animateToState( "default" )
|
|
f41_local3:addElement( f41_local6 )
|
|
local f41_local7 = LUI.UIImage.new()
|
|
f41_local7.id = "shieldBarTick"
|
|
f41_local7:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "alien_shield_tic" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = -9,
|
|
left = f0_local1 + f41_local1 - 10,
|
|
width = f41_local0,
|
|
bottom = 16
|
|
} )
|
|
f41_local7:animateToState( "default" )
|
|
self:addElement( f41_local7 )
|
|
local f41_local8 = LUI.UIElement.new()
|
|
f41_local8.id = "shieldBarContainer"
|
|
f41_local8:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = -1,
|
|
left = f0_local1,
|
|
right = 0,
|
|
height = 4
|
|
} )
|
|
f41_local8:animateToState( "default" )
|
|
local f41_local9 = LUI.UIImage.new()
|
|
f41_local9.id = "shieldIcon"
|
|
f41_local9:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "hud_health_shield_icon" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 2,
|
|
left = 42,
|
|
width = 13,
|
|
height = 13,
|
|
red = 0,
|
|
green = 0.68,
|
|
blue = 0.94
|
|
} )
|
|
f41_local9:animateToState( "default" )
|
|
local f41_local10 = gradient_bar_factory( "shield", "PlayerArmor", f0_local0, 4, 100, true, true, false, 8 )
|
|
f41_local10.colorize( {
|
|
r = 0,
|
|
g = 0.68,
|
|
b = 0.94
|
|
} )
|
|
f41_local8:addElement( f41_local10 )
|
|
self:addElement( f41_local3 )
|
|
self:addElement( f41_local9 )
|
|
self:addElement( f41_local8 )
|
|
self:addElement( f41_local7 )
|
|
return self
|
|
end
|
|
|
|
function health_meter()
|
|
local self = LUI.UIElement.new()
|
|
self.id = "health_meter"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
left = 0,
|
|
right = 0,
|
|
bottom = 0
|
|
} )
|
|
self:animateToState( "default" )
|
|
local f42_local1 = LUI.UIImage.new()
|
|
f42_local1.id = "background"
|
|
f42_local1:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "alien_health_bg_shadow" ),
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = -64,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 286,
|
|
alpha = 0.35
|
|
} )
|
|
f42_local1:animateToState( "default" )
|
|
local f42_local2
|
|
if Game.GetOmnvar( "ui_alien_is_solo" ) or LUI.mp_menus.Aliens.IsChaosMode() then
|
|
f42_local2 = 30
|
|
if not f42_local2 then
|
|
|
|
else
|
|
local f42_local3 = LUI.UIElement.new()
|
|
f42_local3.id = "health_meter"
|
|
f42_local3:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 0,
|
|
bottom = 16,
|
|
left = -25 + f42_local2,
|
|
right = 0,
|
|
alpha = 1
|
|
} )
|
|
f42_local3:registerAnimationState( "animating", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 0,
|
|
bottom = 16,
|
|
left = -5 + f42_local2,
|
|
right = 0,
|
|
alpha = 1
|
|
} )
|
|
f42_local3:registerAnimationState( "hidden", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 0,
|
|
bottom = 16,
|
|
left = -345 + f42_local2,
|
|
right = 0,
|
|
alpha = 0
|
|
} )
|
|
f42_local3:animateToState( "default" )
|
|
f42_local3:addElement( f42_local1 )
|
|
f42_local3:addElement( health_only() )
|
|
f42_local3:addElement( shield_only() )
|
|
local f42_local4 = function ( f43_arg0, f43_arg1 )
|
|
if f43_arg1.value then
|
|
local f43_local0 = MBh.AnimateSequence( {
|
|
{
|
|
"animating",
|
|
125,
|
|
true,
|
|
true
|
|
},
|
|
{
|
|
"hidden",
|
|
250,
|
|
true,
|
|
true
|
|
}
|
|
} )
|
|
f43_local0( f43_arg0, {} )
|
|
else
|
|
local f43_local0 = MBh.AnimateSequence( {
|
|
{
|
|
"animating",
|
|
250,
|
|
true,
|
|
true
|
|
},
|
|
{
|
|
"default",
|
|
125,
|
|
true,
|
|
true
|
|
}
|
|
} )
|
|
f43_local0( f43_arg0, {} )
|
|
end
|
|
end
|
|
|
|
f42_local3:registerOmnvarHandler( "ui_alien_player_in_laststand", f42_local4 )
|
|
local f42_local5 = Game.GetOmnvar( "ui_alien_player_in_laststand" )
|
|
if f42_local5 then
|
|
f42_local4( f42_local3, {
|
|
value = f42_local5
|
|
} )
|
|
end
|
|
self:addElement( f42_local3 )
|
|
if Engine.GetDvarString( "ui_mapname" ) == "mp_alien_beacon" or Engine.GetDvarString( "ui_mapname" ) == "mp_alien_dlc3" or Engine.GetDvarString( "ui_mapname" ) == "mp_alien_last" then
|
|
self:addElement( crafting_items( self ) )
|
|
end
|
|
return self
|
|
end
|
|
end
|
|
f42_local2 = 0
|
|
end
|
|
|
|
function laststand_timer()
|
|
local self = LUI.UIElement.new()
|
|
self.id = "laststand_timer"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
left = 0,
|
|
right = 0,
|
|
bottom = 0
|
|
} )
|
|
self:animateToState( "default" )
|
|
local f44_local1 = LUI.UIElement.new()
|
|
if LUI.mp_menus.Aliens.IsChaosMode() and Engine.UsingSplitscreenUpscaling() then
|
|
f44_local1:registerAnimationState( "default", {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
bottom = -13,
|
|
left = 60,
|
|
width = 32,
|
|
height = 40,
|
|
alpha = 0
|
|
} )
|
|
else
|
|
f44_local1:registerAnimationState( "default", {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
bottom = -14,
|
|
left = -16,
|
|
right = 16,
|
|
height = 32,
|
|
alpha = 0
|
|
} )
|
|
end
|
|
f44_local1:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f44_local1:animateToState( "default" )
|
|
local f44_local2 = LUI.UIImage.new()
|
|
f44_local2.id = "laststand_icon"
|
|
f44_local2:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "alien_icon_laststand" ),
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
left = 0,
|
|
right = 0,
|
|
bottom = 0,
|
|
height = 32
|
|
} )
|
|
f44_local2:animateToState( "default" )
|
|
f44_local1:addElement( f44_local2 )
|
|
local f44_local3 = LUI.UICountdown.new( {} )
|
|
f44_local3.id = "laststand_countdown"
|
|
f44_local3:registerAnimationState( "default", {
|
|
alignment = LUI.Alignment.Center,
|
|
font = CoD.TextSettings.HudDigitalNormalFont.Font,
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
bottom = 20,
|
|
left = 0,
|
|
right = 0,
|
|
height = CoD.TextSettings.HudDigitalNormalFont.Height
|
|
} )
|
|
f44_local3:animateToState( "default" )
|
|
f44_local1:addElement( f44_local3 )
|
|
local f44_local4 = function ( f45_arg0, f45_arg1 )
|
|
if f45_arg1.value > 0 then
|
|
f44_local3:setEndTime( f45_arg1.value )
|
|
if f45_arg0.current_state ~= "visible" then
|
|
f45_arg0:animateToState( "visible", 250 )
|
|
f45_arg0.current_state = "visible"
|
|
end
|
|
elseif f45_arg0.current_state ~= "default" then
|
|
f45_arg0:animateToState( "default", 250 )
|
|
f45_arg0.current_state = "default"
|
|
end
|
|
end
|
|
|
|
f44_local1:registerOmnvarHandler( "ui_laststand_end_milliseconds", f44_local4 )
|
|
local f44_local5 = Game.GetOmnvar( "ui_laststand_end_milliseconds" )
|
|
if f44_local5 and f44_local5 > 0 then
|
|
f44_local4( f44_local1, {
|
|
value = f44_local5
|
|
} )
|
|
end
|
|
self:addElement( f44_local1 )
|
|
return self
|
|
end
|
|
|
|
function nuke_countdown_timer()
|
|
local self = LUI.UIElement.new()
|
|
self.id = "nuke_timer"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
left = 0,
|
|
right = 0,
|
|
bottom = 0
|
|
} )
|
|
self:animateToState( "default" )
|
|
local f46_local1 = Engine.UsingSplitscreenUpscaling() and 10 or 0
|
|
local f46_local2 = LUI.UIElement.new()
|
|
local f46_local3 = Engine.GetDvarString( "ui_mapname" ) == "mp_alien_dlc3"
|
|
local f46_local4 = Engine.GetDvarString( "ui_mapname" ) == "mp_alien_last"
|
|
local f46_local5 = 0
|
|
if f46_local3 then
|
|
f46_local5 = 48
|
|
end
|
|
f46_local2:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 31 + f46_local1,
|
|
left = 0 + f46_local5,
|
|
width = 74,
|
|
height = 32,
|
|
alpha = 0
|
|
} )
|
|
f46_local2:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f46_local2:animateToState( "default" )
|
|
local f46_local6 = "alien_icon_nuke"
|
|
if f46_local3 or f46_local4 then
|
|
f46_local6 = "alien_chaos_waypoint_time"
|
|
end
|
|
local f46_local7 = LUI.UIImage.new()
|
|
f46_local7.id = "nuke_icon"
|
|
f46_local7:registerAnimationState( "default", {
|
|
material = RegisterMaterial( f46_local6 ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
left = -24 + f46_local5,
|
|
top = -15,
|
|
height = 48,
|
|
width = 48
|
|
} )
|
|
f46_local7:animateToState( "default" )
|
|
f46_local2:addElement( f46_local7 )
|
|
local f46_local8 = LUI.UICountdown.new( {} )
|
|
f46_local8.id = "nuke_countdown"
|
|
f46_local8:registerAnimationState( "default", {
|
|
alignment = LUI.Alignment.Center,
|
|
font = CoD.TextSettings.HudDigitalNormalFont.Font,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 30,
|
|
left = 0,
|
|
right = f46_local5 * 2,
|
|
height = CoD.TextSettings.HudDigitalNormalFont.Height
|
|
} )
|
|
f46_local8:animateToState( "default" )
|
|
f46_local2:addElement( f46_local8 )
|
|
f46_local2:registerOmnvarHandler( "ui_alien_nuke_timer", function ( f47_arg0, f47_arg1 )
|
|
if f47_arg1.value > 0 then
|
|
f46_local8:setEndTime( f47_arg1.value )
|
|
if f47_arg0.current_state ~= "visible" then
|
|
f47_arg0:animateToState( "visible", 250 )
|
|
f47_arg0.current_state = "visible"
|
|
end
|
|
elseif f47_arg0.current_state ~= "default" then
|
|
f47_arg0:animateToState( "default", 250 )
|
|
f47_arg0.current_state = "default"
|
|
end
|
|
end )
|
|
self:addElement( f46_local2 )
|
|
return self
|
|
end
|
|
|
|
function self_revives()
|
|
local self = LUI.UIElement.new()
|
|
self.id = "self_revives"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
left = 0,
|
|
right = 0,
|
|
bottom = 0
|
|
} )
|
|
self:animateToState( "default" )
|
|
local f48_local1 = LUI.UIElement.new()
|
|
f48_local1:registerAnimationState( "default", {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
bottom = -10,
|
|
left = 0,
|
|
width = 32,
|
|
height = 3,
|
|
alpha = 0
|
|
} )
|
|
f48_local1:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f48_local1:animateToState( "default" )
|
|
local f48_local2 = function ( f49_arg0, f49_arg1 )
|
|
f49_arg0:setText( f49_arg1 )
|
|
if f49_arg1 > 1 then
|
|
f49_arg0:animateToState( "default", 250 )
|
|
else
|
|
f49_arg0:animateToState( "hidden", 250 )
|
|
end
|
|
end
|
|
|
|
local f48_local3 = LUI.UIText.new()
|
|
f48_local3.id = "counter"
|
|
f48_local3:setTextStyle( CoD.TextStyle.OutlinedMore )
|
|
f48_local3:registerAnimationState( "default", {
|
|
font = CoD.TextSettings.HudIW6SmallFont.Font,
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
left = 0,
|
|
right = 0,
|
|
top = 6 - CoD.TextSettings.HudIW6SmallFont.Height / 2,
|
|
bottom = 6 + CoD.TextSettings.HudIW6SmallFont.Height / 2,
|
|
alpha = 1
|
|
} )
|
|
f48_local3:animateToState( "default" )
|
|
f48_local3:registerAnimationState( "hidden", {
|
|
alpha = 0
|
|
} )
|
|
f48_local1:addElement( f48_local3 )
|
|
f48_local3:registerOmnvarHandler( "ui_alien_selfrevive", function ( f50_arg0, f50_arg1 )
|
|
f48_local2( f50_arg0, f50_arg1.value )
|
|
end )
|
|
f48_local2( f48_local3, Game.GetOmnvar( "ui_alien_selfrevive" ) )
|
|
local f48_local4 = function ( f51_arg0, f51_arg1 )
|
|
if 0 < f51_arg1 then
|
|
f51_arg0:animateToState( "visible", 250 )
|
|
else
|
|
f51_arg0:animateToState( "default", 250 )
|
|
end
|
|
end
|
|
|
|
local f48_local5 = LUI.UIImage.new()
|
|
f48_local5.id = "self_revives_icon"
|
|
f48_local5:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "alien_icon_laststand" ),
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
left = 0,
|
|
right = 0,
|
|
bottom = 0,
|
|
height = 32
|
|
} )
|
|
f48_local5:animateToState( "default" )
|
|
f48_local1:addElement( f48_local5 )
|
|
f48_local1:registerOmnvarHandler( "ui_alien_selfrevive", function ( f52_arg0, f52_arg1 )
|
|
f48_local4( f52_arg0, f52_arg1.value )
|
|
end )
|
|
f48_local4( f48_local1, Game.GetOmnvar( "ui_alien_selfrevive" ) )
|
|
self:addElement( f48_local1 )
|
|
return self
|
|
end
|
|
|
|
function craftSlotCornerElems( f53_arg0, f53_arg1, f53_arg2 )
|
|
local f53_local0 = function ( f54_arg0, f54_arg1 )
|
|
if f54_arg1.value < 1 then
|
|
f54_arg0:animateToState( "default", 100 )
|
|
else
|
|
f54_arg0:animateToState( "visible", 100 )
|
|
end
|
|
end
|
|
|
|
local f53_local1 = function ( f55_arg0, f55_arg1 )
|
|
if f55_arg1.value >= 0 then
|
|
f55_arg0:animateToState( "recipe_complete", 100 )
|
|
end
|
|
end
|
|
|
|
local f53_local2 = function ( f56_arg0, f56_arg1 )
|
|
if f56_arg1.value <= 0 then
|
|
f56_arg0:animateToState( "default", 100 )
|
|
else
|
|
local f56_local0 = MBh.AnimateSequence( {
|
|
{
|
|
"bigger",
|
|
250
|
|
},
|
|
{
|
|
"bright",
|
|
250
|
|
}
|
|
} )
|
|
f56_local0( f56_arg0 )
|
|
Engine.PlaySound( "ui_craft_pickup_part" )
|
|
end
|
|
end
|
|
|
|
local f53_local3 = RegisterMaterial( "alien_crafting_glow1" )
|
|
local f53_local4 = -8
|
|
local f53_local5 = -12
|
|
local f53_local6 = 48
|
|
local f53_local7 = 28
|
|
local self = LUI.UIImage.new( {
|
|
material = f53_local3,
|
|
leftAnchor = true,
|
|
topAnchor = true,
|
|
rightAnchor = false,
|
|
bottomAnchor = false,
|
|
left = f53_arg1 + f53_local5,
|
|
top = f53_arg2 + f53_local4,
|
|
width = f53_local6,
|
|
height = f53_local6,
|
|
alpha = 0
|
|
} )
|
|
self.id = "crafting_slot_glow_" .. tostring( f53_arg0 )
|
|
self:registerAnimationState( "visible", {
|
|
alpha = 0.5
|
|
} )
|
|
self:registerAnimationState( "recipe_complete", {
|
|
alpha = 0.25
|
|
} )
|
|
self:registerOmnvarHandler( "ui_alien_craft_slot_" .. tostring( f53_arg0 ), f53_local0 )
|
|
self:registerOmnvarHandler( "ui_alien_hudcraftinginfo", f53_local1 )
|
|
local f53_local9 = LUI.UIImage.new( {
|
|
leftAnchor = true,
|
|
topAnchor = true,
|
|
rightAnchor = false,
|
|
bottomAnchor = false,
|
|
left = f53_arg1,
|
|
top = f53_arg2,
|
|
width = f53_local7,
|
|
height = f53_local7,
|
|
red = 0.65,
|
|
green = 0.65,
|
|
blue = 0.65,
|
|
alpha = 1
|
|
} )
|
|
f53_local9.id = "crafting_slot_icon_" .. tostring( f53_arg0 )
|
|
f53_local9:registerAnimationState( "bigger", {
|
|
leftAnchor = true,
|
|
topAnchor = true,
|
|
rightAnchor = false,
|
|
bottomAnchor = false,
|
|
left = f53_arg1 - 3,
|
|
top = f53_arg2 - 3,
|
|
width = f53_local7 + 6,
|
|
height = f53_local7 + 6,
|
|
red = 0.65,
|
|
green = 0.65,
|
|
blue = 0.65,
|
|
alpha = 1
|
|
} )
|
|
f53_local9:registerAnimationState( "bright", {
|
|
leftAnchor = true,
|
|
topAnchor = true,
|
|
rightAnchor = false,
|
|
bottomAnchor = false,
|
|
left = f53_arg1,
|
|
top = f53_arg2,
|
|
width = f53_local7,
|
|
height = f53_local7,
|
|
red = 1,
|
|
green = 1,
|
|
blue = 1,
|
|
alpha = 1
|
|
} )
|
|
f53_local9:registerAnimationState( "recipe_complete", {
|
|
alpha = 0.5
|
|
} )
|
|
f53_local9:registerOmnvarHandler( "ui_alien_craft_slot_" .. tostring( f53_arg0 ), f53_local2 )
|
|
f53_local9:registerOmnvarHandler( "ui_alien_hudcraftinginfo", f53_local1 )
|
|
f53_local9:registerEventHandler( "refresh_crafting_ingredients", function ( element, event )
|
|
local f57_local0 = "slot" .. tostring( f53_arg0 ) .. "Material"
|
|
if event[f57_local0] and event[f57_local0] ~= "" then
|
|
element:setImage( RegisterMaterial( event[f57_local0] ) )
|
|
else
|
|
element:animateToState( "default" )
|
|
end
|
|
end )
|
|
f53_local0( self, {
|
|
value = Game.GetOmnvar( "ui_alien_craft_slot_" .. tostring( f53_arg0 ) )
|
|
} )
|
|
f53_local1( self, {
|
|
value = Game.GetOmnvar( "ui_alien_hudcraftinginfo" )
|
|
} )
|
|
f53_local2( f53_local9, {
|
|
value = Game.GetOmnvar( "ui_alien_craft_slot_" .. tostring( f53_arg0 ) )
|
|
} )
|
|
f53_local1( f53_local9, {
|
|
value = Game.GetOmnvar( "ui_alien_hudcraftinginfo" )
|
|
} )
|
|
return f53_local9, self
|
|
end
|
|
|
|
function craftSlotCenterElems( f58_arg0, f58_arg1, f58_arg2 )
|
|
local f58_local0 = function ( f59_arg0, f59_arg1 )
|
|
if f59_arg1.value < 0 then
|
|
f59_arg0:animateToState( "default", 100 )
|
|
else
|
|
local f59_local0 = MBh.AnimateLoop( {
|
|
{
|
|
"default",
|
|
0
|
|
},
|
|
{
|
|
"visible",
|
|
750
|
|
},
|
|
{
|
|
"default",
|
|
750
|
|
}
|
|
} )
|
|
f59_local0( f59_arg0 )
|
|
end
|
|
end
|
|
|
|
local f58_local1 = function ( f60_arg0, f60_arg1 )
|
|
if f60_arg1.value < 0 then
|
|
f60_arg0:animateToState( "default", 100 )
|
|
else
|
|
local f60_local0 = MBh.AnimateLoop( {
|
|
{
|
|
"bigger",
|
|
350
|
|
},
|
|
{
|
|
"visible",
|
|
350
|
|
},
|
|
{
|
|
"visible",
|
|
5000
|
|
}
|
|
} )
|
|
f60_local0( f60_arg0 )
|
|
end
|
|
end
|
|
|
|
local self = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "alien_crafting_glow2" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = f58_arg2 - 26,
|
|
left = f58_arg1 - 18,
|
|
height = 128,
|
|
width = 100,
|
|
alpha = 0
|
|
} )
|
|
self.id = "crafting_slot_glow_" .. tostring( f58_arg0 )
|
|
self:registerAnimationState( "visible", {
|
|
alpha = 0.6
|
|
} )
|
|
self:registerOmnvarHandler( "ui_alien_hudcraftinginfo", f58_local0 )
|
|
self:registerEventHandler( "reset", MBh.AnimateToState( "default" ) )
|
|
local f58_local3 = LUI.UIImage.new( {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = f58_arg2,
|
|
left = f58_arg1,
|
|
height = 64,
|
|
width = 64,
|
|
alpha = 0.35
|
|
} )
|
|
f58_local3.id = "crafting_slot_icon" .. tostring( f58_arg0 )
|
|
f58_local3:registerAnimationState( "visible", {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = f58_arg2,
|
|
left = f58_arg1,
|
|
height = 64,
|
|
width = 64,
|
|
alpha = 1
|
|
} )
|
|
f58_local3:registerAnimationState( "bigger", {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = f58_arg2 - 6,
|
|
left = f58_arg1 - 6,
|
|
height = 70,
|
|
width = 70,
|
|
alpha = 1
|
|
} )
|
|
f58_local3:registerOmnvarHandler( "ui_alien_hudcraftinginfo", f58_local1 )
|
|
f58_local3:registerEventHandler( "refresh_crafting_ingredients", function ( element, event )
|
|
local f61_local0 = "slot" .. tostring( f58_arg0 ) .. "Material"
|
|
if event[f61_local0] and event[f61_local0] ~= "" then
|
|
element:setImage( RegisterMaterial( event[f61_local0] ) )
|
|
else
|
|
element:animateToState( "default" )
|
|
end
|
|
end )
|
|
f58_local0( self, {
|
|
value = Game.GetOmnvar( "ui_alien_hudcraftinginfo" )
|
|
} )
|
|
f58_local1( f58_local3, {
|
|
value = Game.GetOmnvar( "ui_alien_hudcraftinginfo" )
|
|
} )
|
|
return f58_local3, self
|
|
end
|
|
|
|
function crafting_items( f62_arg0 )
|
|
local f62_local0 = function ( f63_arg0, f63_arg1 )
|
|
local f63_local0 = LUI.mp_menus.Aliens
|
|
f63_arg0:processEvent( {
|
|
name = "refresh_crafting_ingredients",
|
|
slot1Material = Engine.TableLookup( f63_local0.AlienCraftingRecipes.File, f63_local0.AlienCraftingRecipes.Cols.Idx, f63_arg1.value, f63_local0.AlienCraftingRecipes.Cols.Slot1Material ),
|
|
slot2Material = Engine.TableLookup( f63_local0.AlienCraftingRecipes.File, f63_local0.AlienCraftingRecipes.Cols.Idx, f63_arg1.value, f63_local0.AlienCraftingRecipes.Cols.Slot2Material ),
|
|
slot3Material = Engine.TableLookup( f63_local0.AlienCraftingRecipes.File, f63_local0.AlienCraftingRecipes.Cols.Idx, f63_arg1.value, f63_local0.AlienCraftingRecipes.Cols.Slot3Material ),
|
|
slot4Material = Engine.TableLookup( f63_local0.AlienCraftingRecipes.File, f63_local0.AlienCraftingRecipes.Cols.Idx, f63_arg1.value, f63_local0.AlienCraftingRecipes.Cols.Slot4Material )
|
|
} )
|
|
end
|
|
|
|
local f62_local1 = 128
|
|
local self = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "alien_icon_craft_widget" ),
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
left = 240,
|
|
bottom = 16,
|
|
height = f62_local1,
|
|
width = f62_local1,
|
|
alpha = 0
|
|
} )
|
|
self.id = "crafting_container"
|
|
self:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
self:registerAnimationState( "invisible", {
|
|
alpha = 0
|
|
} )
|
|
self:registerAnimationState( "tank1", {
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
bottom = 16,
|
|
left = 240,
|
|
height = f62_local1,
|
|
width = f62_local1
|
|
} )
|
|
self:registerAnimationState( "tank2", {
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
bottom = 16,
|
|
left = 270,
|
|
height = f62_local1,
|
|
width = f62_local1
|
|
} )
|
|
self:registerAnimationState( "tank3", {
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
bottom = 16,
|
|
left = 300,
|
|
height = f62_local1,
|
|
width = f62_local1
|
|
} )
|
|
self:registerAnimationState( "tank4", {
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
bottom = 16,
|
|
left = 330,
|
|
height = f62_local1,
|
|
width = f62_local1
|
|
} )
|
|
self:setupUIIntWatch( "PlayerMaxHealth" )
|
|
self:registerEventHandler( "int_watch_alert", function ( element, event )
|
|
if event.newValue == 125 then
|
|
element:animateToState( "tank1", 250 )
|
|
elseif event.newValue == 150 then
|
|
element:animateToState( "tank2", 250 )
|
|
elseif event.newValue == 175 then
|
|
element:animateToState( "tank3", 250 )
|
|
elseif event.newValue == 200 then
|
|
element:animateToState( "tank4", 250 )
|
|
end
|
|
end )
|
|
local f62_local3, f62_local4 = craftSlotCornerElems( 1, 10, 84 )
|
|
local f62_local5, f62_local6 = craftSlotCornerElems( 2, 90, 84 )
|
|
local f62_local7, f62_local8 = craftSlotCornerElems( 3, 50, 14 )
|
|
local f62_local9, f62_local10 = craftSlotCenterElems( 4, 32, 44 )
|
|
self:addElement( f62_local4 )
|
|
self:addElement( f62_local3 )
|
|
self:addElement( f62_local6 )
|
|
self:addElement( f62_local5 )
|
|
self:addElement( f62_local8 )
|
|
self:addElement( f62_local7 )
|
|
self:addElement( f62_local10 )
|
|
self:addElement( f62_local9 )
|
|
local f62_local11 = Game.GetOmnvar( "ui_alien_craft_recipe" )
|
|
f62_local0( self, {
|
|
value = f62_local11
|
|
} )
|
|
if f62_local11 ~= 200 and f62_local11 > 0 then
|
|
self:animateToState( "visible" )
|
|
end
|
|
local f62_local12 = Engine.UsingSplitscreenUpscaling() and -50 or 0
|
|
local f62_local13 = 1.75
|
|
local f62_local14 = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "alien_icon_craft_widget" ),
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
left = -f62_local1 / 2,
|
|
right = f62_local1 / 2,
|
|
top = -f62_local1 / 2 + f62_local12,
|
|
bottom = f62_local1 / 2 + f62_local12,
|
|
alpha = 1
|
|
} )
|
|
f62_local14:registerAnimationState( "enlarged", {
|
|
left = -f62_local1 / 2 * f62_local13,
|
|
right = f62_local1 / 2 * f62_local13,
|
|
top = -f62_local1 / 2 * f62_local13 + f62_local12,
|
|
bottom = f62_local1 / 2 * f62_local13 + f62_local12
|
|
} )
|
|
f62_local14:registerAnimationState( "standard", {
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
left = -f62_local1 / 2,
|
|
right = f62_local1 / 2,
|
|
top = -f62_local1 / 2 + f62_local12,
|
|
bottom = f62_local1 / 2 + f62_local12,
|
|
alpha = 1
|
|
} )
|
|
f62_local14:registerAnimationState( "wait", {} )
|
|
f62_local14:registerAnimationState( "hidden", {
|
|
alpha = 0
|
|
} )
|
|
f62_local14.id = "test_fly_over"
|
|
f62_local14:animateToState( "hidden" )
|
|
f62_arg0:addElement( f62_local14 )
|
|
f62_local14:registerOmnvarHandler( "ui_alien_craft_recipe", function ( f65_arg0, f65_arg1 )
|
|
self:animateToState( "invisible" )
|
|
if f65_arg1.value ~= 200 and f65_arg1.value > 0 then
|
|
f65_arg0:closeChildren()
|
|
self:processEvent( {
|
|
name = "reset"
|
|
} )
|
|
f62_local14:registerAnimationState( "flyover", LUI.MakeFlyOverAnimationState( f65_arg0, self ) )
|
|
local f65_local0 = MBh.AnimateSequence( {
|
|
{
|
|
"default",
|
|
0
|
|
},
|
|
{
|
|
"enlarged",
|
|
75
|
|
},
|
|
{
|
|
"standard",
|
|
75
|
|
}
|
|
} )
|
|
f65_local0( f65_arg0, f65_arg1 )
|
|
Engine.PlaySound( "ui_craft_pickup_schematic" )
|
|
end
|
|
end )
|
|
f62_local14:registerEventHandler( LUI.FormatAnimStateFinishEvent( "standard" ), function ( element, event )
|
|
local f66_local0 = craftSlotCornerElems( 1, 10, 84 )
|
|
local f66_local1 = craftSlotCornerElems( 2, 90, 84 )
|
|
local f66_local2 = craftSlotCornerElems( 3, 50, 14 )
|
|
local f66_local3 = craftSlotCenterElems( 4, 32, 44 )
|
|
f62_local14:addElement( f66_local0 )
|
|
f62_local14:addElement( f66_local1 )
|
|
f62_local14:addElement( f66_local2 )
|
|
f62_local14:addElement( f66_local3 )
|
|
f62_local0( element, {
|
|
value = Game.GetOmnvar( "ui_alien_craft_recipe" )
|
|
} )
|
|
local f66_local4 = MBh.AnimateSequence( {
|
|
{
|
|
"wait",
|
|
2250
|
|
},
|
|
{
|
|
"flyover",
|
|
200
|
|
},
|
|
{
|
|
"hidden",
|
|
0
|
|
}
|
|
} )
|
|
f66_local4( element, event )
|
|
end )
|
|
f62_local14:registerEventHandler( LUI.FormatAnimStateFinishEvent( "hidden" ), function ( element, event )
|
|
self:animateToState( "visible" )
|
|
f62_local0( self, {
|
|
value = Game.GetOmnvar( "ui_alien_craft_recipe" )
|
|
} )
|
|
end )
|
|
return self
|
|
end
|
|
|
|
function locker_key()
|
|
local self = LUI.UIElement.new()
|
|
self.id = "locker_key"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
left = 0,
|
|
bottom = 0,
|
|
top = 0,
|
|
right = 0
|
|
} )
|
|
self:animateToState( "default" )
|
|
local f68_local1 = LUI.UIElement.new()
|
|
f68_local1:registerAnimationState( "default", {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
bottom = -35,
|
|
left = 80,
|
|
width = 32,
|
|
height = 0,
|
|
alpha = 0
|
|
} )
|
|
f68_local1:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f68_local1:animateToState( "default" )
|
|
local f68_local2 = LUI.UIImage.new()
|
|
f68_local2.id = "locker_key_icon"
|
|
f68_local2:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "alien_icon_locker_key" ),
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
left = 0,
|
|
right = 0,
|
|
bottom = 0,
|
|
height = 32
|
|
} )
|
|
f68_local2:animateToState( "default" )
|
|
f68_local1:addElement( f68_local2 )
|
|
local f68_local3 = function ( f69_arg0, f69_arg1 )
|
|
if 0 < f69_arg1 then
|
|
f68_local1:animateToState( "visible", 250 )
|
|
else
|
|
f68_local1:animateToState( "default", 250 )
|
|
end
|
|
end
|
|
|
|
f68_local1:registerOmnvarHandler( "ui_alien_locker_key", function ( f70_arg0, f70_arg1 )
|
|
f68_local3( f70_arg0, f70_arg1.value )
|
|
end )
|
|
f68_local3( f68_local1, Game.GetOmnvar( "ui_alien_locker_key" ) )
|
|
self:addElement( f68_local1 )
|
|
return self
|
|
end
|
|
|
|
function quick_shop_class_skill( f71_arg0 )
|
|
local f71_local0 = 26
|
|
local f71_local1 = 10
|
|
local f71_local2 = 20
|
|
local f71_local3 = 4
|
|
local f71_local4 = 20
|
|
local f71_local5 = 0
|
|
local f71_local6 = 21
|
|
local f71_local7 = {
|
|
"alien_icon_weapon_specialist",
|
|
"alien_icon_tank",
|
|
"alien_icon_engineer",
|
|
"alien_icon_medic"
|
|
}
|
|
local f71_local8 = function ( f72_arg0 )
|
|
local f72_local0
|
|
if 0 >= f72_arg0 or f72_arg0 > #f71_local7 then
|
|
f72_local0 = false
|
|
else
|
|
f72_local0 = true
|
|
end
|
|
return f72_local0
|
|
end
|
|
|
|
f71_arg0.alpha = 0
|
|
local self = LUI.UIElement.new( f71_arg0 )
|
|
self:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
self.id = "quick_shop_class_skill"
|
|
local f71_local10 = function ( f73_arg0 )
|
|
local f73_local0 = Game.GetOmnvar( "ui_alien_class_skill_active" )
|
|
local f73_local1 = Game.GetOmnvar( "ui_alien_class_skill_timer" ) > 0
|
|
local f73_local2 = Game.GetOmnvar( "ui_alien_class_skill_blocked" )
|
|
local f73_local3
|
|
if not f73_local0 and not f73_local1 then
|
|
f73_local3 = not f73_local2
|
|
else
|
|
f73_local3 = false
|
|
end
|
|
local f73_local4 = f73_arg0
|
|
local f73_local5 = f73_arg0.animateToState
|
|
local f73_local6
|
|
if f73_local3 then
|
|
f73_local6 = "default"
|
|
if not f73_local6 then
|
|
|
|
else
|
|
f73_local5( f73_local4, f73_local6, 250 )
|
|
end
|
|
end
|
|
f73_local6 = "dimmed"
|
|
end
|
|
|
|
local f71_local11 = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "alien_dpad_arrow_up" ),
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
height = f71_local1,
|
|
bottom = 0,
|
|
left = -f71_local2 / 2,
|
|
width = f71_local2,
|
|
alpha = 0.6
|
|
} )
|
|
f71_local11:registerAnimationState( "dimmed", {
|
|
alpha = 0.2
|
|
} )
|
|
f71_local11:registerOmnvarHandler( "ui_alien_class_skill_active", f71_local10 )
|
|
f71_local11:registerOmnvarHandler( "ui_alien_class_skill_timer", f71_local10 )
|
|
f71_local11:registerOmnvarHandler( "ui_alien_class_skill_blocked", f71_local10 )
|
|
f71_local10( f71_local11 )
|
|
f71_local11.id = "arrow"
|
|
self:addElement( f71_local11 )
|
|
local f71_local12 = function ( f74_arg0, f74_arg1 )
|
|
if f71_local8( f74_arg1 ) then
|
|
f74_arg0:setImage( RegisterMaterial( f71_local7[f74_arg1] ) )
|
|
end
|
|
end
|
|
|
|
local f71_local13 = function ( f75_arg0 )
|
|
local f75_local0 = Game.GetOmnvar( "ui_alien_class_skill_active" )
|
|
local f75_local1 = Game.GetOmnvar( "ui_alien_class_skill_timer" ) > 0
|
|
if Game.GetOmnvar( "ui_alien_class_skill_blocked" ) then
|
|
f75_arg0:animateToState( "dimmed", 200 )
|
|
elseif f75_local0 then
|
|
local f75_local2 = MBh.AnimateLoop( {
|
|
{
|
|
"active",
|
|
150
|
|
},
|
|
{
|
|
"default",
|
|
400
|
|
}
|
|
} )
|
|
f75_local2( f75_arg0, {} )
|
|
else
|
|
local f75_local2 = f75_arg0
|
|
local f75_local3 = f75_arg0.animateToState
|
|
local f75_local4
|
|
if f75_local1 then
|
|
f75_local4 = "dimmed"
|
|
if not f75_local4 then
|
|
|
|
else
|
|
f75_local3( f75_local2, f75_local4, 500 )
|
|
end
|
|
end
|
|
f75_local4 = "default"
|
|
end
|
|
end
|
|
|
|
local f71_local14 = LUI.UIImage.new( {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
bottom = -f71_local1 - f71_local3,
|
|
width = f71_local0,
|
|
left = -f71_local0 / 2,
|
|
height = f71_local0,
|
|
alpha = 0.8,
|
|
scale = 0
|
|
} )
|
|
f71_local14:registerAnimationState( "dimmed", {
|
|
alpha = 0.2,
|
|
scale = 0
|
|
} )
|
|
f71_local14:registerAnimationState( "active", {
|
|
alpha = 1,
|
|
scale = 0.2
|
|
} )
|
|
f71_local14:registerOmnvarHandler( "ui_alien_class_skill_active", f71_local13 )
|
|
f71_local14:registerOmnvarHandler( "ui_alien_class_skill_timer", f71_local13 )
|
|
f71_local14:registerOmnvarHandler( "ui_alien_class_skill_blocked", f71_local13 )
|
|
f71_local14:registerOmnvarHandler( "ui_alien_class_skill", function ( f76_arg0, f76_arg1 )
|
|
f71_local12( f76_arg0, f76_arg1.value )
|
|
end )
|
|
f71_local12( f71_local14, Game.GetOmnvar( "ui_alien_class_skill" ) )
|
|
f71_local13( f71_local14 )
|
|
f71_local14.id = "icon"
|
|
self:addElement( f71_local14 )
|
|
local f71_local15 = function ( f77_arg0 )
|
|
local f77_local0 = Game.GetOmnvar( "ui_alien_class_skill_timer" ) > 0
|
|
local f77_local1 = f77_arg0
|
|
local f77_local2 = f77_arg0.animateToState
|
|
local f77_local3
|
|
if f77_local0 then
|
|
f77_local3 = "visible"
|
|
if not f77_local3 then
|
|
|
|
else
|
|
f77_local2( f77_local1, f77_local3 )
|
|
end
|
|
end
|
|
f77_local3 = "default"
|
|
end
|
|
|
|
local f71_local16 = LUI.UIElement.new( {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
bottom = -f71_local1 - f71_local3 + f71_local5,
|
|
height = f71_local6,
|
|
left = f71_local4,
|
|
width = 2,
|
|
alpha = 0
|
|
} )
|
|
f71_local16:registerAnimationState( "visible", {
|
|
alpha = 0.6
|
|
} )
|
|
f71_local16:registerOmnvarHandler( "ui_alien_class_skill_timer", f71_local15 )
|
|
f71_local15( f71_local16 )
|
|
f71_local16.id = "cooldown"
|
|
self:addElement( f71_local16 )
|
|
local f71_local17 = LUI.UIImage.new( CoD.ColorizeState( Colors.black, {
|
|
material = RegisterMaterial( "white" ),
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0
|
|
} ) )
|
|
f71_local17.id = "cooldownBG"
|
|
f71_local16:addElement( f71_local17 )
|
|
local f71_local18 = function ( f78_arg0, f78_arg1 )
|
|
if 0 < f78_arg1 then
|
|
if not Game.GetOmnvar( "ui_alien_class_skill_blocked" ) then
|
|
f78_arg0:animateToState( "full", f78_arg1 - Game.GetTime() )
|
|
end
|
|
else
|
|
f78_arg0:animateToState( "default" )
|
|
end
|
|
end
|
|
|
|
local f71_local19 = function ( f79_arg0, f79_arg1 )
|
|
if f79_arg1.value then
|
|
f79_arg0:cancelAnimateToState()
|
|
end
|
|
end
|
|
|
|
local f71_local20 = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "white" ),
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0
|
|
} )
|
|
f71_local20:registerAnimationState( "full", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0
|
|
} )
|
|
f71_local20:registerOmnvarHandler( "ui_alien_class_skill_timer", function ( f80_arg0, f80_arg1 )
|
|
f71_local18( f80_arg0, f80_arg1.value )
|
|
end )
|
|
f71_local20:registerOmnvarHandler( "ui_alien_class_skill_blocked", f71_local19 )
|
|
f71_local18( f71_local20, Game.GetOmnvar( "ui_alien_class_skill_timer" ) )
|
|
f71_local20.id = "cooldownFG"
|
|
f71_local16:addElement( f71_local20 )
|
|
local f71_local21 = function ( f81_arg0, f81_arg1 )
|
|
f81_arg0:animateToState( f71_local8( f81_arg1 ) and "visible" or "default", 150 )
|
|
end
|
|
|
|
self:registerOmnvarHandler( "ui_alien_class_skill", function ( f82_arg0, f82_arg1 )
|
|
f71_local21( f82_arg0, f82_arg1.value )
|
|
end )
|
|
f71_local21( self, Game.GetOmnvar( "ui_alien_class_skill" ) )
|
|
return self
|
|
end
|
|
|
|
function quick_shop_class_skill_secondary( f83_arg0 )
|
|
local f83_local0 = 26
|
|
local f83_local1 = 10
|
|
local f83_local2 = 20
|
|
local f83_local3 = 4
|
|
local f83_local4 = 20
|
|
local f83_local5 = -2
|
|
local f83_local6 = 21
|
|
local f83_local7 = {
|
|
"alien_icon_weapon_specialist",
|
|
"alien_icon_tank",
|
|
"alien_icon_engineer",
|
|
"alien_icon_medic"
|
|
}
|
|
local f83_local8 = function ( f84_arg0 )
|
|
local f84_local0
|
|
if 0 >= f84_arg0 or f84_arg0 > #f83_local7 then
|
|
f84_local0 = false
|
|
else
|
|
f84_local0 = true
|
|
end
|
|
return f84_local0
|
|
end
|
|
|
|
f83_arg0.alpha = 0
|
|
local self = LUI.UIElement.new( f83_arg0 )
|
|
self:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
self.id = "quick_shop_class_skill_secondary"
|
|
local f83_local10 = function ( f85_arg0 )
|
|
local f85_local0 = Game.GetOmnvar( "ui_alien_class_skill_active_secondary" )
|
|
local f85_local1 = Game.GetOmnvar( "ui_alien_class_skill_timer_secondary" ) > 0
|
|
local f85_local2 = Game.GetOmnvar( "ui_alien_class_skill_blocked" )
|
|
local f85_local3
|
|
if not f85_local0 and not f85_local1 then
|
|
f85_local3 = not f85_local2
|
|
else
|
|
f85_local3 = false
|
|
end
|
|
local f85_local4 = f85_arg0
|
|
local f85_local5 = f85_arg0.animateToState
|
|
local f85_local6
|
|
if f85_local3 then
|
|
f85_local6 = "default"
|
|
if not f85_local6 then
|
|
|
|
else
|
|
f85_local5( f85_local4, f85_local6, 250 )
|
|
end
|
|
end
|
|
f85_local6 = "dimmed"
|
|
end
|
|
|
|
local f83_local11 = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "alien_dpad_arrow_up" ),
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
height = f83_local1,
|
|
bottom = 0,
|
|
left = -f83_local2 / 2,
|
|
width = f83_local2,
|
|
alpha = 0.6,
|
|
zRot = 90
|
|
} )
|
|
f83_local11:registerAnimationState( "dimmed", {
|
|
alpha = 0.2
|
|
} )
|
|
f83_local11:registerOmnvarHandler( "ui_alien_class_skill_active_secondary", f83_local10 )
|
|
f83_local11:registerOmnvarHandler( "ui_alien_class_skill_timer_secondary", f83_local10 )
|
|
f83_local11:registerOmnvarHandler( "ui_alien_class_skill_blocked", f83_local10 )
|
|
f83_local10( f83_local11 )
|
|
f83_local11.id = "arrow"
|
|
self:addElement( f83_local11 )
|
|
local f83_local12 = function ( f86_arg0, f86_arg1 )
|
|
if f83_local8( f86_arg1 ) then
|
|
f86_arg0:setImage( RegisterMaterial( f83_local7[f86_arg1] ) )
|
|
end
|
|
end
|
|
|
|
local f83_local13 = function ( f87_arg0 )
|
|
local f87_local0 = Game.GetOmnvar( "ui_alien_class_skill_active_secondary" )
|
|
local f87_local1 = Game.GetOmnvar( "ui_alien_class_skill_timer_secondary" ) > 0
|
|
if Game.GetOmnvar( "ui_alien_class_skill_blocked" ) then
|
|
f87_arg0:animateToState( "dimmed", 200 )
|
|
elseif f87_local0 then
|
|
local f87_local2 = MBh.AnimateLoop( {
|
|
{
|
|
"active",
|
|
150
|
|
},
|
|
{
|
|
"default",
|
|
400
|
|
}
|
|
} )
|
|
f87_local2( f87_arg0, {} )
|
|
else
|
|
local f87_local2 = f87_arg0
|
|
local f87_local3 = f87_arg0.animateToState
|
|
local f87_local4
|
|
if f87_local1 then
|
|
f87_local4 = "dimmed"
|
|
if not f87_local4 then
|
|
|
|
else
|
|
f87_local3( f87_local2, f87_local4, 500 )
|
|
end
|
|
end
|
|
f87_local4 = "default"
|
|
end
|
|
end
|
|
|
|
local f83_local14 = LUI.UIImage.new( {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
bottom = 7,
|
|
width = f83_local0,
|
|
left = -35,
|
|
height = f83_local0,
|
|
alpha = 0.8,
|
|
scale = 0
|
|
} )
|
|
f83_local14:registerAnimationState( "dimmed", {
|
|
alpha = 0.2,
|
|
scale = 0
|
|
} )
|
|
f83_local14:registerAnimationState( "active", {
|
|
alpha = 1,
|
|
scale = 0.2
|
|
} )
|
|
f83_local14:registerOmnvarHandler( "ui_alien_class_skill_active_secondary", f83_local13 )
|
|
f83_local14:registerOmnvarHandler( "ui_alien_class_skill_timer_secondary", f83_local13 )
|
|
f83_local14:registerOmnvarHandler( "ui_alien_class_skill_blocked", f83_local13 )
|
|
f83_local14:registerOmnvarHandler( "ui_alien_class_skill_secondary", function ( f88_arg0, f88_arg1 )
|
|
f83_local12( f88_arg0, f88_arg1.value )
|
|
end )
|
|
f83_local12( f83_local14, Game.GetOmnvar( "ui_alien_class_skill_secondary" ) )
|
|
f83_local13( f83_local14 )
|
|
f83_local14.id = "icon"
|
|
self:addElement( f83_local14 )
|
|
local f83_local15 = function ( f89_arg0 )
|
|
local f89_local0 = Game.GetOmnvar( "ui_alien_class_skill_timer_secondary" ) > 0
|
|
local f89_local1 = f89_arg0
|
|
local f89_local2 = f89_arg0.animateToState
|
|
local f89_local3
|
|
if f89_local0 then
|
|
f89_local3 = "visible"
|
|
if not f89_local3 then
|
|
|
|
else
|
|
f89_local2( f89_local1, f89_local3 )
|
|
end
|
|
end
|
|
f89_local3 = "default"
|
|
end
|
|
|
|
local f83_local16 = LUI.UIElement.new( {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
bottom = 6 + f83_local5,
|
|
height = f83_local6,
|
|
left = -40,
|
|
width = 2,
|
|
alpha = 0
|
|
} )
|
|
f83_local16:registerAnimationState( "visible", {
|
|
alpha = 0.6
|
|
} )
|
|
f83_local16:registerOmnvarHandler( "ui_alien_class_skill_timer_secondary", f83_local15 )
|
|
f83_local15( f83_local16 )
|
|
f83_local16.id = "cooldown"
|
|
self:addElement( f83_local16 )
|
|
local f83_local17 = LUI.UIImage.new( CoD.ColorizeState( Colors.black, {
|
|
material = RegisterMaterial( "white" ),
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0
|
|
} ) )
|
|
f83_local17.id = "cooldownBG"
|
|
f83_local16:addElement( f83_local17 )
|
|
local f83_local18 = function ( f90_arg0, f90_arg1 )
|
|
if 0 < f90_arg1 then
|
|
if not Game.GetOmnvar( "ui_alien_class_skill_blocked" ) then
|
|
f90_arg0:animateToState( "full", f90_arg1 - Game.GetTime() )
|
|
end
|
|
else
|
|
f90_arg0:animateToState( "default" )
|
|
end
|
|
end
|
|
|
|
local f83_local19 = function ( f91_arg0, f91_arg1 )
|
|
if f91_arg1.value then
|
|
f91_arg0:cancelAnimateToState()
|
|
end
|
|
end
|
|
|
|
local f83_local20 = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "white" ),
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0
|
|
} )
|
|
f83_local20:registerAnimationState( "full", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0
|
|
} )
|
|
f83_local20:registerOmnvarHandler( "ui_alien_class_skill_timer_secondary", function ( f92_arg0, f92_arg1 )
|
|
f83_local18( f92_arg0, f92_arg1.value )
|
|
end )
|
|
f83_local20:registerOmnvarHandler( "ui_alien_class_skill_blocked", f83_local19 )
|
|
f83_local18( f83_local20, Game.GetOmnvar( "ui_alien_class_skill_timer_secondary" ) )
|
|
f83_local20.id = "cooldownFG"
|
|
f83_local16:addElement( f83_local20 )
|
|
local f83_local21 = function ( f93_arg0, f93_arg1 )
|
|
f93_arg0:animateToState( f83_local8( f93_arg1 ) and "visible" or "default", 150 )
|
|
end
|
|
|
|
self:registerOmnvarHandler( "ui_alien_class_skill_secondary", function ( f94_arg0, f94_arg1 )
|
|
f83_local21( f94_arg0, f94_arg1.value )
|
|
end )
|
|
f83_local21( self, Game.GetOmnvar( "ui_alien_class_skill_secondary" ) )
|
|
return self
|
|
end
|
|
|
|
function quick_shop_item( f95_arg0, f95_arg1, f95_arg2 )
|
|
local f95_local0 = 40
|
|
local f95_local1 = 8
|
|
local f95_local2 = -3
|
|
local f95_local3 = 100
|
|
local f95_local4 = 20
|
|
local f95_local5 = CoD.TextSettings.HudEuroMedTinyFont
|
|
local f95_local6 = f95_arg2()
|
|
local self = LUI.UIElement.new()
|
|
self.id = f95_local6 .. "_" .. f95_arg0
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0
|
|
} )
|
|
self:animateToState( "default" )
|
|
local f95_local8 = LUI.UIImage.new()
|
|
f95_local8.id = "icon"
|
|
local f95_local9 = f95_arg0 == LUI.Alignment.Top
|
|
local f95_local10 = f95_arg0 == LUI.Alignment.Bottom
|
|
local f95_local11 = f95_arg0 == LUI.Alignment.Left
|
|
local f95_local12 = f95_arg0 == LUI.Alignment.Right
|
|
local f95_local13 = -f95_local0 / 2
|
|
if f95_local9 then
|
|
f95_local13 = -f95_local0 + f95_local1
|
|
if f95_arg1 then
|
|
f95_local13 = f95_local13 - f95_local5.Height
|
|
else
|
|
f95_local13 = f95_local13 - 4
|
|
end
|
|
elseif f95_local10 then
|
|
f95_local13 = 0 - f95_local1
|
|
end
|
|
local f95_local14 = -f95_local0 / 2
|
|
if f95_local11 then
|
|
f95_local14 = -f95_local0 + f95_local1
|
|
elseif f95_local12 then
|
|
f95_local14 = 0 - f95_local1
|
|
end
|
|
f95_local8:registerAnimationState( "default", {
|
|
topAnchor = f95_local9,
|
|
bottomAnchor = f95_local10,
|
|
leftAnchor = f95_local11,
|
|
rightAnchor = f95_local12,
|
|
top = f95_local13,
|
|
bottom = f95_local13 + f95_local0,
|
|
left = f95_local14,
|
|
right = f95_local14 + f95_local0,
|
|
alpha = 0.2
|
|
} )
|
|
f95_local8:registerAnimationState( "enabled", {
|
|
alpha = 0.8
|
|
} )
|
|
f95_local8:animateToState( "default" )
|
|
self:addElement( f95_local8 )
|
|
local f95_local15 = LUI.Alignment.Center
|
|
local f95_local16 = 0
|
|
if f95_local11 then
|
|
f95_local16 = f95_local1 + -f95_local0 / 2
|
|
elseif f95_local12 then
|
|
f95_local16 = -f95_local1 + f95_local0 / 2
|
|
end
|
|
local f95_local17 = nil
|
|
if f95_arg1 then
|
|
f95_local17 = LUI.UIText.new()
|
|
f95_local17.id = "priceTag"
|
|
f95_local17:setText( tostring( f95_arg1() ) )
|
|
f95_local17:setTextStyle( CoD.TextStyle.Outlined )
|
|
f95_local17:registerAnimationState( "default", {
|
|
font = f95_local5.Font,
|
|
alignment = f95_local15,
|
|
topAnchor = f95_local9,
|
|
bottomAnchor = f95_local10,
|
|
leftAnchor = f95_local11,
|
|
rightAnchor = f95_local12,
|
|
top = f95_local13 + f95_local0 + f95_local2,
|
|
bottom = f95_local13 + f95_local0 + f95_local2 + f95_local5.Height,
|
|
left = f95_local16 - 40,
|
|
right = f95_local16 + 40,
|
|
red = Colors.cac_ability_text.r,
|
|
green = Colors.cac_ability_text.g,
|
|
blue = Colors.cac_ability_text.b,
|
|
alpha = 0.4
|
|
} )
|
|
f95_local17:registerAnimationState( "enabled", {
|
|
red = Colors.cac_ability_text.r,
|
|
green = Colors.cac_ability_text.g,
|
|
blue = Colors.cac_ability_text.b,
|
|
alpha = 0.7
|
|
} )
|
|
f95_local17:animateToState( "default" )
|
|
self:addElement( f95_local17 )
|
|
end
|
|
local f95_local18
|
|
if f95_local9 then
|
|
f95_local18 = 6
|
|
if not f95_local18 then
|
|
if f95_local10 then
|
|
f95_local18 = -6 - f95_local4 / 2
|
|
if not f95_local18 then
|
|
|
|
else
|
|
local f95_local19
|
|
if f95_local11 then
|
|
f95_local19 = 6
|
|
if not f95_local19 then
|
|
if f95_local12 then
|
|
f95_local19 = -6 - f95_local4 / 2
|
|
if not f95_local19 then
|
|
|
|
else
|
|
local f95_local20
|
|
if f95_local11 or f95_local12 then
|
|
f95_local20 = f95_local4 / 2
|
|
if not f95_local20 then
|
|
|
|
else
|
|
f95_local20 = f95_local19 + f95_local20
|
|
local f95_local21
|
|
if f95_local9 or f95_local10 then
|
|
f95_local21 = f95_local4 / 2
|
|
if not f95_local21 then
|
|
|
|
else
|
|
f95_local21 = f95_local18 + f95_local21
|
|
local f95_local22 = ""
|
|
if f95_local11 then
|
|
f95_local22 = "alien_dpad_arrow_left"
|
|
elseif f95_local12 then
|
|
f95_local22 = "alien_dpad_arrow_right"
|
|
elseif f95_local9 then
|
|
f95_local22 = "alien_dpad_arrow_up"
|
|
elseif f95_local10 then
|
|
f95_local22 = "alien_dpad_arrow_down"
|
|
end
|
|
local f95_local23 = LUI.UIImage.new()
|
|
f95_local23.id = "arrow"
|
|
f95_local23:registerAnimationState( "default", {
|
|
material = RegisterMaterial( f95_local22 ),
|
|
topAnchor = f95_local9,
|
|
bottomAnchor = f95_local10,
|
|
leftAnchor = f95_local11,
|
|
rightAnchor = f95_local12,
|
|
top = f95_local18,
|
|
bottom = f95_local21,
|
|
left = f95_local19,
|
|
right = f95_local20,
|
|
red = 0.5,
|
|
green = 0.5,
|
|
blue = 0.5,
|
|
alpha = 0.2
|
|
} )
|
|
f95_local23:registerAnimationState( "enabled", CoD.ColorizeState( Colors.white, {
|
|
alpha = 0.8
|
|
} ) )
|
|
f95_local23:animateToState( "default" )
|
|
self:addElement( f95_local23 )
|
|
local f95_local24 = function ( f96_arg0 )
|
|
if f96_arg0.cachedCash then
|
|
if not f95_arg1 or f95_arg1() <= f96_arg0.cachedCash then
|
|
f95_local8:animateToState( "enabled" )
|
|
f95_local23:animateToState( "enabled" )
|
|
if f95_local17 then
|
|
f95_local17:animateToState( "enabled" )
|
|
end
|
|
else
|
|
f95_local8:animateToState( "default" )
|
|
f95_local23:animateToState( "default" )
|
|
if f95_local17 then
|
|
f95_local17:animateToState( "default" )
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
self:registerEventHandler( "cash_change", function ( element, event )
|
|
element.cachedCash = event.newValue
|
|
f95_local24( element )
|
|
end )
|
|
self:registerEventHandler( "ability_levels_change", function ( element, event )
|
|
if f95_local17 and f95_arg1 then
|
|
f95_local17:setText( tostring( f95_arg1() ) )
|
|
end
|
|
f95_local8:setImage( RegisterMaterial( f95_arg2() ) )
|
|
f95_local24( element )
|
|
end )
|
|
return self
|
|
end
|
|
end
|
|
f95_local21 = f95_local4
|
|
end
|
|
end
|
|
f95_local20 = f95_local4
|
|
end
|
|
end
|
|
f95_local19 = -f95_local4 / 2
|
|
end
|
|
else
|
|
if f95_local12 then
|
|
f95_local19 = -6 - f95_local4 / 2
|
|
if not f95_local19 then
|
|
|
|
else
|
|
local f95_local20
|
|
if f95_local11 or f95_local12 then
|
|
f95_local20 = f95_local4 / 2
|
|
if not f95_local20 then
|
|
|
|
else
|
|
f95_local20 = f95_local19 + f95_local20
|
|
local f95_local21
|
|
if f95_local9 or f95_local10 then
|
|
f95_local21 = f95_local4 / 2
|
|
if not f95_local21 then
|
|
|
|
else
|
|
f95_local21 = f95_local18 + f95_local21
|
|
local f95_local22 = ""
|
|
if f95_local11 then
|
|
f95_local22 = "alien_dpad_arrow_left"
|
|
elseif f95_local12 then
|
|
f95_local22 = "alien_dpad_arrow_right"
|
|
elseif f95_local9 then
|
|
f95_local22 = "alien_dpad_arrow_up"
|
|
elseif f95_local10 then
|
|
f95_local22 = "alien_dpad_arrow_down"
|
|
end
|
|
local f95_local23 = LUI.UIImage.new()
|
|
f95_local23.id = "arrow"
|
|
f95_local23:registerAnimationState( "default", {
|
|
material = RegisterMaterial( f95_local22 ),
|
|
topAnchor = f95_local9,
|
|
bottomAnchor = f95_local10,
|
|
leftAnchor = f95_local11,
|
|
rightAnchor = f95_local12,
|
|
top = f95_local18,
|
|
bottom = f95_local21,
|
|
left = f95_local19,
|
|
right = f95_local20,
|
|
red = 0.5,
|
|
green = 0.5,
|
|
blue = 0.5,
|
|
alpha = 0.2
|
|
} )
|
|
f95_local23:registerAnimationState( "enabled", CoD.ColorizeState( Colors.white, {
|
|
alpha = 0.8
|
|
} ) )
|
|
f95_local23:animateToState( "default" )
|
|
self:addElement( f95_local23 )
|
|
local f95_local24 = function ( f96_arg0 )
|
|
if f96_arg0.cachedCash then
|
|
if not f95_arg1 or f95_arg1() <= f96_arg0.cachedCash then
|
|
f95_local8:animateToState( "enabled" )
|
|
f95_local23:animateToState( "enabled" )
|
|
if f95_local17 then
|
|
f95_local17:animateToState( "enabled" )
|
|
end
|
|
else
|
|
f95_local8:animateToState( "default" )
|
|
f95_local23:animateToState( "default" )
|
|
if f95_local17 then
|
|
f95_local17:animateToState( "default" )
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
self:registerEventHandler( "cash_change", function ( element, event )
|
|
element.cachedCash = event.newValue
|
|
f95_local24( element )
|
|
end )
|
|
self:registerEventHandler( "ability_levels_change", function ( element, event )
|
|
if f95_local17 and f95_arg1 then
|
|
f95_local17:setText( tostring( f95_arg1() ) )
|
|
end
|
|
f95_local8:setImage( RegisterMaterial( f95_arg2() ) )
|
|
f95_local24( element )
|
|
end )
|
|
return self
|
|
end
|
|
end
|
|
f95_local21 = f95_local4
|
|
end
|
|
end
|
|
f95_local20 = f95_local4
|
|
end
|
|
end
|
|
f95_local19 = -f95_local4 / 2
|
|
end
|
|
local f95_local20
|
|
if f95_local11 or f95_local12 then
|
|
f95_local20 = f95_local4 / 2
|
|
if not f95_local20 then
|
|
|
|
else
|
|
f95_local20 = f95_local19 + f95_local20
|
|
local f95_local21
|
|
if f95_local9 or f95_local10 then
|
|
f95_local21 = f95_local4 / 2
|
|
if not f95_local21 then
|
|
|
|
else
|
|
f95_local21 = f95_local18 + f95_local21
|
|
local f95_local22 = ""
|
|
if f95_local11 then
|
|
f95_local22 = "alien_dpad_arrow_left"
|
|
elseif f95_local12 then
|
|
f95_local22 = "alien_dpad_arrow_right"
|
|
elseif f95_local9 then
|
|
f95_local22 = "alien_dpad_arrow_up"
|
|
elseif f95_local10 then
|
|
f95_local22 = "alien_dpad_arrow_down"
|
|
end
|
|
local f95_local23 = LUI.UIImage.new()
|
|
f95_local23.id = "arrow"
|
|
f95_local23:registerAnimationState( "default", {
|
|
material = RegisterMaterial( f95_local22 ),
|
|
topAnchor = f95_local9,
|
|
bottomAnchor = f95_local10,
|
|
leftAnchor = f95_local11,
|
|
rightAnchor = f95_local12,
|
|
top = f95_local18,
|
|
bottom = f95_local21,
|
|
left = f95_local19,
|
|
right = f95_local20,
|
|
red = 0.5,
|
|
green = 0.5,
|
|
blue = 0.5,
|
|
alpha = 0.2
|
|
} )
|
|
f95_local23:registerAnimationState( "enabled", CoD.ColorizeState( Colors.white, {
|
|
alpha = 0.8
|
|
} ) )
|
|
f95_local23:animateToState( "default" )
|
|
self:addElement( f95_local23 )
|
|
local f95_local24 = function ( f96_arg0 )
|
|
if f96_arg0.cachedCash then
|
|
if not f95_arg1 or f95_arg1() <= f96_arg0.cachedCash then
|
|
f95_local8:animateToState( "enabled" )
|
|
f95_local23:animateToState( "enabled" )
|
|
if f95_local17 then
|
|
f95_local17:animateToState( "enabled" )
|
|
end
|
|
else
|
|
f95_local8:animateToState( "default" )
|
|
f95_local23:animateToState( "default" )
|
|
if f95_local17 then
|
|
f95_local17:animateToState( "default" )
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
self:registerEventHandler( "cash_change", function ( element, event )
|
|
element.cachedCash = event.newValue
|
|
f95_local24( element )
|
|
end )
|
|
self:registerEventHandler( "ability_levels_change", function ( element, event )
|
|
if f95_local17 and f95_arg1 then
|
|
f95_local17:setText( tostring( f95_arg1() ) )
|
|
end
|
|
f95_local8:setImage( RegisterMaterial( f95_arg2() ) )
|
|
f95_local24( element )
|
|
end )
|
|
return self
|
|
end
|
|
end
|
|
f95_local21 = f95_local4
|
|
end
|
|
end
|
|
f95_local20 = f95_local4
|
|
end
|
|
end
|
|
f95_local18 = -f95_local4 / 2
|
|
end
|
|
else
|
|
if f95_local10 then
|
|
f95_local18 = -6 - f95_local4 / 2
|
|
if not f95_local18 then
|
|
|
|
else
|
|
local f95_local19
|
|
if f95_local11 then
|
|
f95_local19 = 6
|
|
if not f95_local19 then
|
|
if f95_local12 then
|
|
f95_local19 = -6 - f95_local4 / 2
|
|
if not f95_local19 then
|
|
|
|
else
|
|
local f95_local20
|
|
if f95_local11 or f95_local12 then
|
|
f95_local20 = f95_local4 / 2
|
|
if not f95_local20 then
|
|
|
|
else
|
|
f95_local20 = f95_local19 + f95_local20
|
|
local f95_local21
|
|
if f95_local9 or f95_local10 then
|
|
f95_local21 = f95_local4 / 2
|
|
if not f95_local21 then
|
|
|
|
else
|
|
f95_local21 = f95_local18 + f95_local21
|
|
local f95_local22 = ""
|
|
if f95_local11 then
|
|
f95_local22 = "alien_dpad_arrow_left"
|
|
elseif f95_local12 then
|
|
f95_local22 = "alien_dpad_arrow_right"
|
|
elseif f95_local9 then
|
|
f95_local22 = "alien_dpad_arrow_up"
|
|
elseif f95_local10 then
|
|
f95_local22 = "alien_dpad_arrow_down"
|
|
end
|
|
local f95_local23 = LUI.UIImage.new()
|
|
f95_local23.id = "arrow"
|
|
f95_local23:registerAnimationState( "default", {
|
|
material = RegisterMaterial( f95_local22 ),
|
|
topAnchor = f95_local9,
|
|
bottomAnchor = f95_local10,
|
|
leftAnchor = f95_local11,
|
|
rightAnchor = f95_local12,
|
|
top = f95_local18,
|
|
bottom = f95_local21,
|
|
left = f95_local19,
|
|
right = f95_local20,
|
|
red = 0.5,
|
|
green = 0.5,
|
|
blue = 0.5,
|
|
alpha = 0.2
|
|
} )
|
|
f95_local23:registerAnimationState( "enabled", CoD.ColorizeState( Colors.white, {
|
|
alpha = 0.8
|
|
} ) )
|
|
f95_local23:animateToState( "default" )
|
|
self:addElement( f95_local23 )
|
|
local f95_local24 = function ( f96_arg0 )
|
|
if f96_arg0.cachedCash then
|
|
if not f95_arg1 or f95_arg1() <= f96_arg0.cachedCash then
|
|
f95_local8:animateToState( "enabled" )
|
|
f95_local23:animateToState( "enabled" )
|
|
if f95_local17 then
|
|
f95_local17:animateToState( "enabled" )
|
|
end
|
|
else
|
|
f95_local8:animateToState( "default" )
|
|
f95_local23:animateToState( "default" )
|
|
if f95_local17 then
|
|
f95_local17:animateToState( "default" )
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
self:registerEventHandler( "cash_change", function ( element, event )
|
|
element.cachedCash = event.newValue
|
|
f95_local24( element )
|
|
end )
|
|
self:registerEventHandler( "ability_levels_change", function ( element, event )
|
|
if f95_local17 and f95_arg1 then
|
|
f95_local17:setText( tostring( f95_arg1() ) )
|
|
end
|
|
f95_local8:setImage( RegisterMaterial( f95_arg2() ) )
|
|
f95_local24( element )
|
|
end )
|
|
return self
|
|
end
|
|
end
|
|
f95_local21 = f95_local4
|
|
end
|
|
end
|
|
f95_local20 = f95_local4
|
|
end
|
|
end
|
|
f95_local19 = -f95_local4 / 2
|
|
end
|
|
else
|
|
if f95_local12 then
|
|
f95_local19 = -6 - f95_local4 / 2
|
|
if not f95_local19 then
|
|
|
|
else
|
|
local f95_local20
|
|
if f95_local11 or f95_local12 then
|
|
f95_local20 = f95_local4 / 2
|
|
if not f95_local20 then
|
|
|
|
else
|
|
f95_local20 = f95_local19 + f95_local20
|
|
local f95_local21
|
|
if f95_local9 or f95_local10 then
|
|
f95_local21 = f95_local4 / 2
|
|
if not f95_local21 then
|
|
|
|
else
|
|
f95_local21 = f95_local18 + f95_local21
|
|
local f95_local22 = ""
|
|
if f95_local11 then
|
|
f95_local22 = "alien_dpad_arrow_left"
|
|
elseif f95_local12 then
|
|
f95_local22 = "alien_dpad_arrow_right"
|
|
elseif f95_local9 then
|
|
f95_local22 = "alien_dpad_arrow_up"
|
|
elseif f95_local10 then
|
|
f95_local22 = "alien_dpad_arrow_down"
|
|
end
|
|
local f95_local23 = LUI.UIImage.new()
|
|
f95_local23.id = "arrow"
|
|
f95_local23:registerAnimationState( "default", {
|
|
material = RegisterMaterial( f95_local22 ),
|
|
topAnchor = f95_local9,
|
|
bottomAnchor = f95_local10,
|
|
leftAnchor = f95_local11,
|
|
rightAnchor = f95_local12,
|
|
top = f95_local18,
|
|
bottom = f95_local21,
|
|
left = f95_local19,
|
|
right = f95_local20,
|
|
red = 0.5,
|
|
green = 0.5,
|
|
blue = 0.5,
|
|
alpha = 0.2
|
|
} )
|
|
f95_local23:registerAnimationState( "enabled", CoD.ColorizeState( Colors.white, {
|
|
alpha = 0.8
|
|
} ) )
|
|
f95_local23:animateToState( "default" )
|
|
self:addElement( f95_local23 )
|
|
local f95_local24 = function ( f96_arg0 )
|
|
if f96_arg0.cachedCash then
|
|
if not f95_arg1 or f95_arg1() <= f96_arg0.cachedCash then
|
|
f95_local8:animateToState( "enabled" )
|
|
f95_local23:animateToState( "enabled" )
|
|
if f95_local17 then
|
|
f95_local17:animateToState( "enabled" )
|
|
end
|
|
else
|
|
f95_local8:animateToState( "default" )
|
|
f95_local23:animateToState( "default" )
|
|
if f95_local17 then
|
|
f95_local17:animateToState( "default" )
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
self:registerEventHandler( "cash_change", function ( element, event )
|
|
element.cachedCash = event.newValue
|
|
f95_local24( element )
|
|
end )
|
|
self:registerEventHandler( "ability_levels_change", function ( element, event )
|
|
if f95_local17 and f95_arg1 then
|
|
f95_local17:setText( tostring( f95_arg1() ) )
|
|
end
|
|
f95_local8:setImage( RegisterMaterial( f95_arg2() ) )
|
|
f95_local24( element )
|
|
end )
|
|
return self
|
|
end
|
|
end
|
|
f95_local21 = f95_local4
|
|
end
|
|
end
|
|
f95_local20 = f95_local4
|
|
end
|
|
end
|
|
f95_local19 = -f95_local4 / 2
|
|
end
|
|
-- ERROR: Infinite loop detected
|
|
end
|
|
end
|
|
f95_local18 = -f95_local4 / 2
|
|
end
|
|
local f95_local19
|
|
if f95_local11 then
|
|
f95_local19 = 6
|
|
if not f95_local19 then
|
|
if f95_local12 then
|
|
f95_local19 = -6 - f95_local4 / 2
|
|
if not f95_local19 then
|
|
|
|
else
|
|
-- ERROR: Infinite loop detected
|
|
end
|
|
end
|
|
f95_local19 = -f95_local4 / 2
|
|
end
|
|
else
|
|
-- ERROR: Infinite loop detected
|
|
end
|
|
-- ERROR: Infinite loop detected
|
|
end
|
|
|
|
function quick_shop()
|
|
local f99_local0 = Engine.GetLuiRoot()
|
|
local f99_local1 = f99_local0.m_controllerIndex
|
|
local f99_local2 = function ( f100_arg0 )
|
|
return function ()
|
|
local f101_local0 = LUI.mp_menus.Aliens
|
|
return f101_local0.GetFieldForAbility( f101_local0.GetAlienSessionAbility( -1, f100_arg0 ), f101_local0.AlienAbilities.Cols.DpadIcon )
|
|
end
|
|
|
|
end
|
|
|
|
local f99_local3 = function ( f102_arg0 )
|
|
return function ()
|
|
local f103_local0 = LUI.mp_menus.Aliens
|
|
return tonumber( f103_local0.GetFieldForAbility( f103_local0.GetAlienSessionAbility( -1, f102_arg0 ), f103_local0.AlienAbilities.Cols.CurrencyCost ) )
|
|
end
|
|
|
|
end
|
|
|
|
local self = LUI.UIElement.new()
|
|
self.id = "dpad"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
top = -54,
|
|
bottom = 14,
|
|
left = -54,
|
|
right = 44
|
|
} )
|
|
self:animateToState( "default" )
|
|
local f99_local5 = 180
|
|
local f99_local6 = 180
|
|
local f99_local7 = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "hud_dpad_darken" ),
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
height = f99_local6,
|
|
bottom = f99_local6 / 2,
|
|
width = f99_local5,
|
|
right = f99_local5 / 2,
|
|
alpha = 0.4
|
|
} )
|
|
f99_local7.id = "circle"
|
|
self:addElement( f99_local7 )
|
|
local f99_local8 = LUI.UIElement.new( {
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
top = -13,
|
|
bottom = 13,
|
|
left = -32,
|
|
right = 32
|
|
} )
|
|
f99_local8.id = "frame"
|
|
local f99_local9 = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "white" ),
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0,
|
|
red = 0,
|
|
green = 0,
|
|
blue = 0,
|
|
alpha = 0.1
|
|
} )
|
|
f99_local9.id = "frameImage"
|
|
local f99_local10 = LUI.MenuBuilder.BuildRegisteredType( "generic_border", {
|
|
border_red = 0,
|
|
border_green = 0,
|
|
border_blue = 0,
|
|
border_alpha = 0.2
|
|
} )
|
|
f99_local8:addElement( f99_local9 )
|
|
f99_local8:addElement( f99_local10 )
|
|
self:addElement( f99_local8 )
|
|
local f99_local11 = quick_shop_item( LUI.Alignment.Right, f99_local3( "offense" ), f99_local2( "offense" ) )
|
|
local f99_local12 = quick_shop_item( LUI.Alignment.Left, f99_local3( "defense" ), f99_local2( "defense" ) )
|
|
if LUI.mp_menus.Aliens.IsChaosMode() then
|
|
self:addElement( LUI.MenuBuilder.BuildRegisteredType( "quick_shop_freeze_item" ) )
|
|
elseif not Engine.AliensCheckIsRelicEnabled( f99_local1, "nerf_no_deployables" ) then
|
|
local f99_local13 = quick_shop_item( LUI.Alignment.Top, f99_local3( "munition" ), f99_local2( "munition" ) )
|
|
local f99_local14 = quick_shop_item( LUI.Alignment.Bottom, f99_local3( "support" ), f99_local2( "support" ) )
|
|
self:addElement( f99_local13 )
|
|
self:addElement( f99_local14 )
|
|
end
|
|
if LUI.mp_menus.Aliens.IsChaosMode() or not Engine.AliensCheckIsRelicEnabled( f99_local1, "nerf_no_abilities" ) then
|
|
self:addElement( f99_local11 )
|
|
self:addElement( f99_local12 )
|
|
end
|
|
local f99_local13 = LUI.UIText.new()
|
|
f99_local13.id = "value"
|
|
f99_local13:setupUIBindText( "AlienCash", Engine.Localize( "@ALIENS_DOLLARS" ) )
|
|
f99_local13:registerAnimationState( "default", {
|
|
font = CoD.TextSettings.HudIW6SmallFont.Font,
|
|
alignment = LUI.Alignment.Center,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
left = 0,
|
|
right = 0,
|
|
top = -CoD.TextSettings.HudIW6SmallFont.Height / 2,
|
|
bottom = CoD.TextSettings.HudIW6SmallFont.Height / 2,
|
|
red = Colors.frontend_hilite.r,
|
|
green = Colors.frontend_hilite.g,
|
|
blue = Colors.frontend_hilite.b
|
|
} )
|
|
f99_local13:registerAnimationState( "pulse_orange", {
|
|
font = CoD.TextSettings.HudIW6SmallFont.Font,
|
|
alignment = LUI.Alignment.Center,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
left = 0,
|
|
right = 0,
|
|
top = -1.5 * CoD.TextSettings.HudIW6SmallFont.Height / 2,
|
|
bottom = 1.5 * CoD.TextSettings.HudIW6SmallFont.Height / 2,
|
|
red = Colors.orange.r,
|
|
green = Colors.orange.g,
|
|
blue = Colors.orange.b
|
|
} )
|
|
f99_local13:registerAnimationState( "pulse_cyan", {
|
|
font = CoD.TextSettings.HudIW6SmallFont.Font,
|
|
alignment = LUI.Alignment.Center,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
left = 0,
|
|
right = 0,
|
|
top = -1.5 * CoD.TextSettings.HudIW6SmallFont.Height / 2,
|
|
bottom = 1.5 * CoD.TextSettings.HudIW6SmallFont.Height / 2,
|
|
red = Colors.cyan.r,
|
|
green = Colors.cyan.g,
|
|
blue = Colors.cyan.b
|
|
} )
|
|
f99_local13:registerEventHandler( "cash_change", function ( element, event )
|
|
local f104_local0 = 1
|
|
local f104_local1 = "pulse_orange"
|
|
local f104_local2 = Colors.orange
|
|
local f104_local3 = ""
|
|
if event.oldValue < event.newValue then
|
|
f104_local0 = -1
|
|
f104_local1 = "pulse_cyan"
|
|
f104_local2 = Colors.cyan
|
|
f104_local3 = "+"
|
|
end
|
|
local self = MBh.AnimateSequence( {
|
|
{
|
|
f104_local1,
|
|
150
|
|
},
|
|
{
|
|
"default",
|
|
150
|
|
}
|
|
} )
|
|
self( element, {} )
|
|
self = LUI.UIText.new()
|
|
self:setTextStyle( CoD.TextStyle.Shadowed )
|
|
self:setText( f104_local3 .. event.newValue - event.oldValue )
|
|
self:registerAnimationState( "default", {
|
|
font = CoD.TextSettings.HudIW6SmallFont.Font,
|
|
alignment = LUI.Alignment.Center,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
left = 0,
|
|
right = 0,
|
|
top = -CoD.TextSettings.HudIW6SmallFont.Height / 2,
|
|
bottom = CoD.TextSettings.HudIW6SmallFont.Height / 2,
|
|
red = f104_local2.r,
|
|
green = f104_local2.g,
|
|
blue = f104_local2.b,
|
|
alpha = 0.8
|
|
} )
|
|
local f104_local5 = math.random( -40, 40 )
|
|
self:registerAnimationState( "drift", {
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
left = f104_local5,
|
|
right = f104_local5,
|
|
top = f104_local0 * 50 - CoD.TextSettings.HudIW6SmallFont.Height / 2,
|
|
bottom = f104_local0 * 50 + CoD.TextSettings.HudIW6SmallFont.Height / 2
|
|
} )
|
|
self:animateToState( "default" )
|
|
self:animateToState( "drift", 500 )
|
|
self:registerEventHandler( LUI.FormatAnimStateFinishEvent( "drift" ), function ( element, event )
|
|
element:close()
|
|
end )
|
|
element:addElement( self )
|
|
end )
|
|
f99_local13:animateToState( "default" )
|
|
self:addElement( f99_local13 )
|
|
local f99_local14 = quick_shop_class_skill( {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
top = 26,
|
|
bottom = 26,
|
|
left = -5,
|
|
right = -5
|
|
} )
|
|
local f99_local15 = quick_shop_class_skill_secondary( {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
top = 126,
|
|
bottom = 126,
|
|
left = -95,
|
|
right = -95
|
|
} )
|
|
local f99_local16 = LUI.UIElement.new( {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0
|
|
} )
|
|
f99_local16.id = "quick_shop_root"
|
|
local f99_local17 = function ( f106_arg0, f106_arg1 )
|
|
if f106_arg1.value then
|
|
f106_arg0:animateToState( "lowAlpha", 0 )
|
|
else
|
|
f106_arg0:animateToState( "default", 0 )
|
|
end
|
|
end
|
|
|
|
local f99_local18 = LUI.UIElement.new( {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
top = -130 + (Engine.UsingSplitscreenUpscaling() and 6 or 0) - 128,
|
|
height = 256,
|
|
left = -203,
|
|
right = 53,
|
|
alpha = 1
|
|
} )
|
|
f99_local18:registerAnimationState( "lowAlpha", {
|
|
alpha = 0.3
|
|
} )
|
|
f99_local18.id = "quick_shop"
|
|
f99_local18:registerOmnvarHandler( "ui_alien_quick_shop_disabled", f99_local17 )
|
|
f99_local17( f99_local18, {
|
|
value = Game.GetOmnvar( "ui_alien_quick_shop_disabled" )
|
|
} )
|
|
f99_local16:addElement( f99_local18 )
|
|
f99_local18:addElement( self )
|
|
f99_local18:addElement( f99_local14 )
|
|
f99_local18:addElement( f99_local15 )
|
|
return f99_local16
|
|
end
|
|
|
|
function cash_notification( f107_arg0, f107_arg1 )
|
|
assert( f107_arg1 )
|
|
local f107_local0 = 600
|
|
local f107_local1 = 8
|
|
local f107_local2 = 0.75
|
|
local f107_local3 = 80
|
|
local f107_local4 = -140
|
|
local f107_local5 = 50
|
|
local f107_local6 = CoD.TextSettings.HudIW6BigFont
|
|
local self = LUI.UIText.new( CoD.ColorizeState( Colors.frontend_hilite, {
|
|
alignment = LUI.Alignment.Center,
|
|
font = f107_local6.Font,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
left = f107_local4 - f107_local3 / 2,
|
|
top = f107_local5,
|
|
width = f107_local3,
|
|
height = f107_local6.Height
|
|
} ) )
|
|
self.id = "cash_get_" .. f107_arg0
|
|
self:setTextStyle( CoD.TextStyle.Shadowed )
|
|
self:setText( Engine.Localize( "ALIEN_SPLASHES_MONEY", f107_arg1 ) )
|
|
local f107_local8 = nil
|
|
local f107_local9 = f107_local0 / f107_local1 / 1000
|
|
local f107_local10 = 0
|
|
local f107_local11 = 0
|
|
local f107_local12 = -250 - 150 * math.random()
|
|
local f107_local13 = -100 + 200 * math.random()
|
|
local f107_local14 = 800
|
|
local f107_local15 = {}
|
|
local f107_local16 = nil
|
|
local f107_local17 = f107_local2 * f107_local1
|
|
for f107_local18 = 1, f107_local1, 1 do
|
|
f107_local12 = f107_local12 + f107_local14 * f107_local9
|
|
f107_local10 = f107_local10 + f107_local13 * f107_local9
|
|
f107_local11 = f107_local11 + f107_local12 * f107_local9
|
|
f107_local16 = 1
|
|
if f107_local17 <= f107_local18 then
|
|
f107_local16 = 1 - (f107_local18 - f107_local17) / (f107_local1 - f107_local2 * f107_local1)
|
|
end
|
|
f107_local8 = "anim_" .. f107_local18
|
|
self:registerAnimationState( f107_local8, {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
left = f107_local4 - f107_local10 - f107_local3 / 2,
|
|
top = f107_local5 + f107_local11,
|
|
width = f107_local3,
|
|
height = f107_local6.Height,
|
|
alpha = f107_local16
|
|
} )
|
|
table.insert( f107_local15, {
|
|
f107_local8,
|
|
f107_local9 * 1000
|
|
} )
|
|
end
|
|
local f107_local18 = MBh.AnimateSequence( f107_local15 )
|
|
f107_local18( self, {} )
|
|
self:registerEventHandler( LUI.FormatAnimStateFinishEvent( f107_local8 ), function ( element, event )
|
|
element:close()
|
|
end )
|
|
return self
|
|
end
|
|
|
|
function cash_widget()
|
|
local f109_local0 = 0
|
|
local f109_local1 = 8
|
|
local self = LUI.UIElement.new( {
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0
|
|
} )
|
|
self.id = "cash_notifications"
|
|
local f109_local3 = function ( f110_arg0, f110_arg1 )
|
|
if f109_local1 <= f110_arg0:getNumChildren() then
|
|
return
|
|
else
|
|
f109_local0 = f109_local0 + 1
|
|
f110_arg0:addElement( cash_notification( f109_local0, f110_arg1 ) )
|
|
end
|
|
end
|
|
|
|
self:registerEventHandler( "cash_change", function ( element, event )
|
|
local f111_local0 = event.newValue - event.oldValue
|
|
if f111_local0 <= 0 then
|
|
return
|
|
else
|
|
f109_local3( element, f111_local0 )
|
|
end
|
|
end )
|
|
self:registerOmnvarHandler( "ui_alien_cash_overflow", function ( f112_arg0, f112_arg1 )
|
|
f109_local3( f112_arg0, 0 )
|
|
end )
|
|
return self
|
|
end
|
|
|
|
function DrillStateUpdateHandler( f113_arg0, f113_arg1 )
|
|
if f113_arg1.value == 0 then
|
|
f113_arg0:animateToState( "default", 200 )
|
|
f113_arg0.progression.started = false
|
|
f113_arg0.progression:animateToState( "default" )
|
|
else
|
|
f113_arg0:animateToState( "visible", 200 )
|
|
end
|
|
if f113_arg1.value ~= 1 and f113_arg0.progression.started then
|
|
f113_arg0.countdown:freeze()
|
|
f113_arg0.progression:cancelAnimateToState()
|
|
end
|
|
end
|
|
|
|
function DrillTimerUpdateHandler( f114_arg0, f114_arg1 )
|
|
f114_arg0.countdown:setEndTime( f114_arg1.value )
|
|
if f114_arg1.value > 0 then
|
|
f114_arg0.progression.started = true
|
|
f114_arg0.progression.endTime = f114_arg1.value
|
|
f114_arg0.countdown:unfreeze()
|
|
local f114_local0 = (Game.GetTime() - Game.GetOmnvar( "ui_alien_drill_start_milliseconds" )) / (f114_arg1.value - Game.GetOmnvar( "ui_alien_drill_start_milliseconds" ))
|
|
if f114_arg0.isGenerator then
|
|
f114_arg0.progression:registerAnimationState( "current", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
top = 172 - 166 * f114_local0,
|
|
left = -4,
|
|
width = 6,
|
|
bottom = -12
|
|
} )
|
|
else
|
|
f114_arg0.progression:registerAnimationState( "current", {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
top = 6,
|
|
left = -4,
|
|
width = 6,
|
|
height = 166 * f114_local0
|
|
} )
|
|
end
|
|
f114_arg0.progression:animateToState( "current", 0 )
|
|
f114_arg0.progression:animateToState( "full", math.max( 0, f114_arg1.value - Game.GetTime() ), false, false )
|
|
else
|
|
f114_arg0.progression.endTime = nil
|
|
end
|
|
end
|
|
|
|
function DrillHealthTextUpdateHandler( f115_arg0, f115_arg1 )
|
|
f115_arg0.health:setText( Engine.Localize( f115_arg0.isGenerator and "@ALIENS_GENERATOR_HEALTH" or "@ALIENS_DRILL_HEALTH", f115_arg1.value ) )
|
|
end
|
|
|
|
function DrillHealthUpdateHandler( f116_arg0, f116_arg1 )
|
|
if f116_arg0.progression.endTime and f116_arg0.progression.started then
|
|
f116_arg0.progression:cancelAnimateToState()
|
|
end
|
|
local f116_local0 = CoD.GradientMap( {
|
|
{
|
|
threshold = 0,
|
|
color = {
|
|
r = 0.9,
|
|
g = 0.6,
|
|
b = 0
|
|
}
|
|
},
|
|
{
|
|
threshold = 0.33,
|
|
color = {
|
|
r = 0.9,
|
|
g = 0.78,
|
|
b = 0.1
|
|
}
|
|
},
|
|
{
|
|
threshold = 0.67,
|
|
color = {
|
|
r = 0.35,
|
|
g = 0.7,
|
|
b = 0.9
|
|
}
|
|
},
|
|
{
|
|
threshold = 1,
|
|
color = {
|
|
r = 0.35,
|
|
g = 0.7,
|
|
b = 0.9
|
|
}
|
|
}
|
|
}, LUI.clamp( f116_arg1.value, 0, 150 ) / 150 )
|
|
f116_arg0.health:registerAnimationState( "current", CoD.ColorizeState( f116_local0 ) )
|
|
f116_arg0.health:animateToState( "current" )
|
|
f116_arg0.icon:registerAnimationState( "current", CoD.ColorizeState( f116_local0 ) )
|
|
f116_arg0.icon:animateToState( "current" )
|
|
f116_arg0.progression:registerAnimationState( "current", CoD.ColorizeState( f116_local0, {
|
|
alpha = 0.75
|
|
} ) )
|
|
f116_arg0.progression:animateToState( "current" )
|
|
if f116_arg0.progression.endTime and f116_arg0.progression.started then
|
|
f116_arg0.progression:animateToState( "full", math.max( 0, f116_arg0.progression.endTime - Game.GetTime() ), false, false )
|
|
end
|
|
end
|
|
|
|
function DrillMarkersUpdateHandler( f117_arg0, f117_arg1 )
|
|
f117_arg0.gradations:closeChildren()
|
|
f117_arg0.gradations.ticks = {}
|
|
local f117_local0 = string.format( "([^%s]+)", " " )
|
|
local f117_local1 = Engine.TableLookup( "mp/alien/default_cycle_spawn.csv", 0, f117_arg1.value, 2 )
|
|
local f117_local2 = {}
|
|
f117_local1:gsub( f117_local0, function ( f118_arg0 )
|
|
f117_local2[#f117_local2 + 1] = f118_arg0
|
|
end )
|
|
if #f117_local2 == 0 then
|
|
return
|
|
end
|
|
local f117_local3 = tonumber( table.remove( f117_local2, #f117_local2 ) )
|
|
for f117_local7, f117_local8 in ipairs( f117_local2 ) do
|
|
local f117_local9 = tonumber( f117_local8 )
|
|
local self = LUI.UIImage.new()
|
|
self.id = "marker_" .. f117_local9
|
|
self:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "alien_meter_mark" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 160 * f117_local9 / f117_local3 - 4,
|
|
left = 0,
|
|
width = 14,
|
|
height = 8
|
|
} )
|
|
self:animateToState( "default" )
|
|
f117_arg0.gradations:addElement( self )
|
|
local f117_local11 = LUI.UIImage.new()
|
|
f117_local11.id = "markerHL"
|
|
f117_local11:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "white" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 3,
|
|
left = 2,
|
|
width = 5,
|
|
height = 1,
|
|
red = 0.9,
|
|
green = 0.6,
|
|
blue = 0
|
|
} )
|
|
f117_local11:animateToState( "default" )
|
|
self:addElement( f117_local11 )
|
|
local f117_local12 = LUI.UIImage.new()
|
|
f117_local12.id = "markerTick"
|
|
f117_local12:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "alien_meter_fill_tic" ),
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
top = -28,
|
|
left = -2,
|
|
width = 0,
|
|
height = 0,
|
|
alpha = 0
|
|
} )
|
|
f117_local12:registerAnimationState( "ticked", {
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
top = -8,
|
|
left = -10,
|
|
width = 16,
|
|
height = 16,
|
|
alpha = 1
|
|
} )
|
|
f117_local12:animateToState( "default" )
|
|
f117_local12:registerEventHandler( "tick_layer", function ( element, event )
|
|
if event.layer == f117_local7 then
|
|
element:animateToState( "ticked", 400 )
|
|
end
|
|
end )
|
|
self:addElement( f117_local12 )
|
|
end
|
|
end
|
|
|
|
function DrillLayersUpdateHandler( f120_arg0, f120_arg1 )
|
|
f120_arg0:processEvent( {
|
|
name = "tick_layer",
|
|
layer = f120_arg1.value
|
|
} )
|
|
end
|
|
|
|
function drill_meter( f121_arg0 )
|
|
local self = LUI.UIElement.new()
|
|
self.id = "drill_meter"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
left = 0,
|
|
right = 0,
|
|
bottom = 0
|
|
} )
|
|
self:animateToState( "default" )
|
|
local f121_local1 = Engine.UsingSplitscreenUpscaling() and 10 or 0
|
|
local f121_local2 = LUI.UIElement.new()
|
|
f121_local2:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 25 + f121_local1,
|
|
left = 15,
|
|
width = 256,
|
|
height = 256,
|
|
alpha = 0
|
|
} )
|
|
f121_local2.isGenerator = f121_arg0
|
|
f121_local2:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f121_local2:animateToState( "default" )
|
|
local f121_local3 = LUI.UIImage.new()
|
|
f121_local3.id = "background"
|
|
f121_local3:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "alien_drill_meter_bg" ),
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
left = 0,
|
|
right = 0,
|
|
bottom = 0
|
|
} )
|
|
f121_local3:animateToState( "default" )
|
|
f121_local2:addElement( f121_local3 )
|
|
local f121_local4 = f121_local2.isGenerator and 24 or 20
|
|
local f121_local5 = LUI.UIText.new()
|
|
f121_local5.id = "title"
|
|
f121_local5:setText( Engine.Localize( f121_local2.isGenerator and "@ALIENS_GENERATOR_PROGRESS" or "@ALIENS_DRILL_PROGRESS" ) )
|
|
f121_local5:setTextStyle( CoD.TextStyle.OutlinedMore )
|
|
f121_local5:registerAnimationState( "default", {
|
|
font = CoD.TextSettings.BigFont.Font,
|
|
alignment = LUI.Alignment.Left,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
left = f121_local4,
|
|
top = 0,
|
|
right = 0,
|
|
height = CoD.TextSettings.BigFont.Height
|
|
} )
|
|
f121_local5:animateToState( "default" )
|
|
f121_local2:addElement( f121_local5 )
|
|
local f121_local6 = LUI.UIImage.new()
|
|
f121_local6.id = "fillBG"
|
|
f121_local6:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "alien_meter_fill_bg" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 20,
|
|
left = -5,
|
|
width = 16,
|
|
height = 178
|
|
} )
|
|
f121_local6:animateToState( "default" )
|
|
f121_local2:addElement( f121_local6 )
|
|
local f121_local7 = 20
|
|
local f121_local8 = 850
|
|
for f121_local9 = 0, 7, 1 do
|
|
local f121_local12 = LUI.UIImage.new()
|
|
f121_local12.id = "arrow_" .. f121_local9
|
|
local f121_local13 = 16.67 * f121_local7 / f121_local8
|
|
local f121_local14 = f121_local2.isGenerator and -5 or 5
|
|
local f121_local15 = f121_local2.isGenerator and f121_local7 * (f121_local9 + 1) - f121_local13 or f121_local9 * f121_local7
|
|
local f121_local16 = f121_local2.isGenerator and f121_local9 * f121_local7 or f121_local7 * (f121_local9 + 1) - f121_local13
|
|
f121_local12:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "alien_drill_meter_arrow_anim" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
left = 3,
|
|
width = 9,
|
|
height = f121_local14,
|
|
top = f121_local15
|
|
} )
|
|
f121_local12:registerAnimationState( "next", {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
left = 3,
|
|
width = 9,
|
|
height = f121_local14,
|
|
top = f121_local16
|
|
} )
|
|
f121_local12:animateToState( "default" )
|
|
local f121_local17 = MBh.AnimateLoop( {
|
|
{
|
|
"default",
|
|
0
|
|
},
|
|
{
|
|
"next",
|
|
f121_local8
|
|
}
|
|
} )
|
|
f121_local17( f121_local12, nil )
|
|
f121_local6:addElement( f121_local12 )
|
|
end
|
|
f121_local2.progression = LUI.UIImage.new()
|
|
f121_local2.progression.id = "progression"
|
|
f121_local2.progression:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "white" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
top = 6,
|
|
left = -4,
|
|
width = 6,
|
|
height = 0,
|
|
alpha = 0.75
|
|
} )
|
|
f121_local2.progression:registerAnimationState( "full", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
top = 6,
|
|
left = -4,
|
|
width = 6,
|
|
bottom = -12
|
|
} )
|
|
f121_local2.progression:animateToState( "default" )
|
|
f121_local6:addElement( f121_local2.progression )
|
|
f121_local2.gradations = LUI.UIElement.new()
|
|
f121_local2.gradations.id = "gradations"
|
|
f121_local2.gradations:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
top = 6,
|
|
bottom = -12,
|
|
left = -5,
|
|
width = 6
|
|
} )
|
|
f121_local2.gradations:animateToState( "default" )
|
|
f121_local6:addElement( f121_local2.gradations )
|
|
local f121_local9 = LUI.UIImage.new()
|
|
f121_local9.id = "endCap"
|
|
f121_local9:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "alien_meter_mark_end" ),
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
bottom = -3,
|
|
left = -7,
|
|
width = 32,
|
|
height = 16
|
|
} )
|
|
f121_local9:animateToState( "default" )
|
|
local f121_local10 = LUI.UIImage.new()
|
|
f121_local10.id = "endCapHL"
|
|
f121_local10:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "alien_meter_mark_end_highlight" ),
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
top = -3.5,
|
|
left = -5.5,
|
|
width = 8,
|
|
height = 8,
|
|
red = 0.75,
|
|
green = 0.22,
|
|
blue = 0.16
|
|
} )
|
|
f121_local10:animateToState( "default" )
|
|
f121_local9:addElement( f121_local10 )
|
|
f121_local6:addElement( f121_local9 )
|
|
local f121_local11 = LUI.UIElement.new()
|
|
f121_local11.id = "countdownContainer"
|
|
f121_local11:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 20,
|
|
left = 0,
|
|
width = 160,
|
|
height = 30
|
|
} )
|
|
f121_local11:animateToState( "default" )
|
|
local f121_local18 = LUI.UIImage.new()
|
|
f121_local18.id = "countdownBG"
|
|
f121_local18:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "white" ),
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
left = 0,
|
|
bottom = 0,
|
|
right = 0,
|
|
red = 0,
|
|
green = 0,
|
|
blue = 0,
|
|
alpha = 0.25
|
|
} )
|
|
f121_local18:animateToState( "default" )
|
|
f121_local2.countdown = LUI.UICountdown.new( {} )
|
|
f121_local2.countdown.id = "countdown"
|
|
f121_local2.countdown:registerAnimationState( "default", {
|
|
alignment = LUI.Alignment.Center,
|
|
font = CoD.TextSettings.ExtraBigFont.Font,
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = -CoD.TextSettings.ExtraBigFont.Height / 2,
|
|
height = CoD.TextSettings.ExtraBigFont.Height,
|
|
left = 0,
|
|
right = 0,
|
|
alpha = 0
|
|
} )
|
|
f121_local2.countdown:animateToState( "default" )
|
|
local f121_local12 = f121_local2.isGenerator and 24 or 20
|
|
f121_local2.health = LUI.UIText.new( {} )
|
|
f121_local2.health.id = "health"
|
|
f121_local2.health:setTextStyle( CoD.TextStyle.OutlinedMore )
|
|
f121_local2.health:registerAnimationState( "default", {
|
|
alignment = LUI.Alignment.Left,
|
|
font = CoD.TextSettings.HudEuroMedSmallFont.Font,
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = -5,
|
|
height = CoD.TextSettings.HudEuroMedSmallFont.Height,
|
|
left = f121_local12,
|
|
right = 120
|
|
} )
|
|
f121_local2.health:animateToState( "default" )
|
|
f121_local11:addElement( f121_local2.health )
|
|
f121_local2:addElement( f121_local11 )
|
|
local f121_local13 = f121_local2.isGenerator and "alien_icon_conduit" or "alien_drill_icon"
|
|
local f121_local14 = f121_local2.isGenerator and 44 or 32
|
|
f121_local2.icon = LUI.UIImage.new()
|
|
f121_local2.icon.id = "drill_icon"
|
|
f121_local2.icon:registerAnimationState( "default", {
|
|
material = RegisterMaterial( f121_local13 ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = -17,
|
|
left = -20,
|
|
width = f121_local14,
|
|
height = 64
|
|
} )
|
|
f121_local2.icon:animateToState( "default" )
|
|
f121_local2:addElement( f121_local2.icon )
|
|
f121_local2:registerOmnvarHandler( "ui_alien_drill_state", DrillStateUpdateHandler )
|
|
f121_local2:registerOmnvarHandler( "ui_alien_drill_end_milliseconds", DrillTimerUpdateHandler )
|
|
f121_local2:registerOmnvarHandler( "ui_alien_drill_layers_table_line", DrillMarkersUpdateHandler )
|
|
f121_local2:registerOmnvarHandler( "ui_alien_drill_layer_completed", DrillLayersUpdateHandler )
|
|
f121_local2:registerOmnvarHandler( "ui_alien_drill_health_text", function ( f122_arg0, f122_arg1 )
|
|
DrillHealthUpdateHandler( f122_arg0, f122_arg1 )
|
|
DrillHealthTextUpdateHandler( f122_arg0, f122_arg1 )
|
|
end )
|
|
if 0 < Game.GetOmnvar( "ui_alien_drill_state" ) then
|
|
DrillStateUpdateHandler( f121_local2, {
|
|
value = Game.GetOmnvar( "ui_alien_drill_state" )
|
|
} )
|
|
DrillMarkersUpdateHandler( f121_local2, {
|
|
value = Game.GetOmnvar( "ui_alien_drill_layers_table_line" )
|
|
} )
|
|
DrillLayersUpdateHandler( f121_local2, {
|
|
value = Game.GetOmnvar( "ui_alien_drill_layer_completed" )
|
|
} )
|
|
DrillHealthUpdateHandler( f121_local2, {
|
|
value = Game.GetOmnvar( "ui_alien_drill_health_text" )
|
|
} )
|
|
DrillHealthTextUpdateHandler( f121_local2, {
|
|
value = Game.GetOmnvar( "ui_alien_drill_health_text" )
|
|
} )
|
|
DrillTimerUpdateHandler( f121_local2, {
|
|
value = Game.GetOmnvar( "ui_alien_drill_end_milliseconds" )
|
|
} )
|
|
end
|
|
self:addElement( f121_local2 )
|
|
return self
|
|
end
|
|
|
|
function attack_chopper()
|
|
local f123_local0 = {
|
|
AWAY = 0,
|
|
EVADING = 1,
|
|
ATTACKING = 2,
|
|
INCOMING = 3
|
|
}
|
|
local self = LUI.UIElement.new( {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
left = 0,
|
|
right = 0,
|
|
bottom = 0
|
|
} )
|
|
self.id = "attack_chopper"
|
|
local f123_local2 = LUI.UIElement.new( {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 14,
|
|
left = 50,
|
|
width = 64,
|
|
height = 90,
|
|
alpha = 0
|
|
} )
|
|
f123_local2:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f123_local2.id = "attack_chopper_elt"
|
|
self:addElement( f123_local2 )
|
|
local f123_local3 = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "alien_icon_chopper" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 0,
|
|
left = 0,
|
|
width = 64,
|
|
height = 64,
|
|
zRot = -25,
|
|
alpha = 0.8
|
|
} )
|
|
f123_local3.id = "icon"
|
|
f123_local2:addElement( f123_local3 )
|
|
local f123_local4 = LUI.UIText.new( {
|
|
alignment = LUI.Alignment.Center,
|
|
font = CoD.TextSettings.HudEuroMedSmallFont.Font,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 50,
|
|
height = CoD.TextSettings.HudEuroMedSmallFont.Height,
|
|
left = 0,
|
|
right = 0
|
|
} )
|
|
f123_local4.id = "status"
|
|
f123_local4:setTextStyle( CoD.TextStyle.OutlinedMore )
|
|
f123_local2:addElement( f123_local4 )
|
|
local f123_local5 = function ( f124_arg0, f124_arg1 )
|
|
if f124_arg1.value == f123_local0.EVADING then
|
|
f123_local4:setText( Engine.Localize( "@ALIENS_CHOPPER_STATE_EVADING" ) )
|
|
f123_local2:animateToState( "visible", 200 )
|
|
elseif f124_arg1.value == f123_local0.ATTACKING then
|
|
f123_local4:setText( Engine.Localize( "@ALIENS_CHOPPER_STATE_ATTACKING" ) )
|
|
f123_local2:animateToState( "visible", 200 )
|
|
elseif f124_arg1.value == f123_local0.INCOMING then
|
|
f123_local4:setText( Engine.Localize( "@ALIENS_CHOPPER_STATE_INCOMING" ) )
|
|
f123_local2:animateToState( "visible", 200 )
|
|
else
|
|
f123_local2:animateToState( "default", 200 )
|
|
end
|
|
end
|
|
|
|
f123_local2:registerOmnvarHandler( "ui_alien_chopper_state", f123_local5 )
|
|
local f123_local6 = Game.GetOmnvar( "ui_alien_chopper_state" )
|
|
if f123_local6 ~= f123_local0.AWAY then
|
|
f123_local5( f123_local2, {
|
|
value = f123_local6
|
|
} )
|
|
end
|
|
return self
|
|
end
|
|
|
|
f0_local2 = {
|
|
AWAY = 0,
|
|
EARLY_ENCOUNTER = 1,
|
|
FINAL_ENCOUNTER = 2
|
|
}
|
|
local f0_local3 = {
|
|
HIVE = {
|
|
id = 0,
|
|
material = "alien_icon_blockerhive"
|
|
},
|
|
BREEDER = {
|
|
id = 1,
|
|
material = "alien_icon_breeder"
|
|
},
|
|
KRAKEN = {
|
|
id = 2,
|
|
material = "alien_icon_kraken"
|
|
},
|
|
BIOHAZARD = {
|
|
id = 3,
|
|
material = "alien_icon_biohazard"
|
|
},
|
|
ARK_CONSOLE = {
|
|
id = 4,
|
|
material = "alien_icon_console"
|
|
},
|
|
CORTEX = {
|
|
id = 5,
|
|
material = "alien_icon_cortex"
|
|
}
|
|
}
|
|
function GetCurrentBossIcon()
|
|
local f125_local0 = Engine.GetDvarString( "ui_mapname" ) == "mp_alien_town"
|
|
local f125_local1 = Engine.GetDvarString( "ui_mapname" ) == "mp_alien_armory"
|
|
if f125_local0 then
|
|
return f0_local3.HIVE.id
|
|
elseif f125_local1 then
|
|
return f0_local3.BREEDER.id
|
|
else
|
|
return Game.GetOmnvar( "ui_alien_boss_icon" )
|
|
end
|
|
end
|
|
|
|
function GetBossIconMaterial( f126_arg0 )
|
|
local f126_local0 = "white"
|
|
for f126_local4, f126_local5 in pairs( f0_local3 ) do
|
|
if f126_arg0 == f126_local5.id then
|
|
f126_local0 = f126_local5.material
|
|
break
|
|
end
|
|
end
|
|
return RegisterMaterial( f126_local0 )
|
|
end
|
|
|
|
function BossStatusUpdateHandler( f127_arg0, f127_arg1 )
|
|
if f127_arg1.value == f0_local2.EARLY_ENCOUNTER then
|
|
f127_arg0:animateToState( "visible", 200 )
|
|
f127_arg0.extraHealth:animateToState( "visible", 0 )
|
|
elseif f127_arg1.value == f0_local2.FINAL_ENCOUNTER then
|
|
f127_arg0:animateToState( "visible", 200 )
|
|
f127_arg0.extraHealth:animateToState( "default", 0 )
|
|
else
|
|
f127_arg0:animateToState( "default", 200 )
|
|
end
|
|
end
|
|
|
|
function BossProgressionUpdateHandler( f128_arg0, f128_arg1 )
|
|
local f128_local0 = 160
|
|
f128_arg0.progression:registerAnimationState( "updated", {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
bottom = -10,
|
|
left = -3,
|
|
width = 4,
|
|
height = f128_local0 - f128_local0 * f128_arg1.value / 100
|
|
} )
|
|
f128_arg0.progression:animateToState( "updated", 100 )
|
|
if not f128_arg0.bossIcon.pulsating then
|
|
f128_arg0.bossIcon.pulsating = true
|
|
local f128_local1 = MBh.AnimateSequence( {
|
|
{
|
|
"pulse",
|
|
150
|
|
},
|
|
{
|
|
"default",
|
|
150
|
|
}
|
|
} )
|
|
f128_local1( f128_arg0.bossIcon, {} )
|
|
f128_arg0.bossIcon:registerEventHandler( LUI.FormatAnimStateFinishEvent( "default" ), function ( element, event )
|
|
element.pulsating = false
|
|
end )
|
|
end
|
|
end
|
|
|
|
function boss_meter()
|
|
local f130_local0 = Engine.GetDvarString( "ui_mapname" ) == "mp_alien_armory"
|
|
local self = LUI.UIElement.new()
|
|
self.id = "boss_meter"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
left = 0,
|
|
right = 0,
|
|
bottom = 0
|
|
} )
|
|
self:animateToState( "default" )
|
|
local f130_local2 = LUI.UIElement.new( {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 48 + (Engine.UsingSplitscreenUpscaling() and 10 or 0),
|
|
left = 10,
|
|
width = 256,
|
|
height = 256,
|
|
alpha = 0
|
|
} )
|
|
f130_local2:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f130_local2:animateToState( "default" )
|
|
if Engine.GetDvarString( "ui_mapname" ) == "mp_alien_last" then
|
|
f130_local2.bossIconBG = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "white" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = -25,
|
|
left = -16,
|
|
width = 42,
|
|
height = 42,
|
|
red = 0,
|
|
green = 0,
|
|
blue = 0,
|
|
alpha = 0.75,
|
|
zRot = 45
|
|
} )
|
|
f130_local2.bossIconBG.id = "bossIconBG"
|
|
f130_local2:addElement( f130_local2.bossIconBG )
|
|
end
|
|
local f130_local3 = function ( f131_arg0, f131_arg1 )
|
|
f131_arg0:setImage( GetBossIconMaterial( f131_arg1 ) )
|
|
end
|
|
|
|
f130_local2.bossIcon = LUI.UIImage.new( {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = -25,
|
|
left = -16,
|
|
width = 42,
|
|
height = 42,
|
|
alpha = 0.8
|
|
} )
|
|
f130_local2.bossIcon:registerAnimationState( "pulse", {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = -31,
|
|
left = -19,
|
|
width = 48,
|
|
height = 48
|
|
} )
|
|
f130_local2.bossIcon.id = "boss_icon"
|
|
f130_local3( f130_local2.bossIcon, GetCurrentBossIcon() )
|
|
f130_local2.bossIcon:registerOmnvarHandler( "ui_alien_boss_icon", function ( f132_arg0, f132_arg1 )
|
|
f130_local3( f132_arg0, f132_arg1.value )
|
|
end )
|
|
f130_local2:addElement( f130_local2.bossIcon )
|
|
f130_local2.fillBG = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "alien_meter_fill_bg" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 15,
|
|
left = -2,
|
|
width = 16,
|
|
height = 178
|
|
} )
|
|
f130_local2.fillBG.id = "fillBG"
|
|
f130_local2:addElement( f130_local2.fillBG )
|
|
if Engine.GetDvarString( "ui_mapname" ) == "mp_alien_last" then
|
|
f130_local2.quarter_tic_100 = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "alien_meter_mark" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 20,
|
|
left = 2,
|
|
width = 12,
|
|
height = 8
|
|
} )
|
|
f130_local2.quarter_tic_100.id = "quarter_tic_100"
|
|
f130_local2:addElement( f130_local2.quarter_tic_100 )
|
|
f130_local2.quarter_tic_75 = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "alien_meter_mark" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 60,
|
|
left = 2,
|
|
width = 12,
|
|
height = 8
|
|
} )
|
|
f130_local2.quarter_tic_75.id = "quarter_tic_75"
|
|
f130_local2:addElement( f130_local2.quarter_tic_75 )
|
|
f130_local2.quarter_tic_50 = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "alien_meter_mark" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 100,
|
|
left = 2,
|
|
width = 12,
|
|
height = 8
|
|
} )
|
|
f130_local2.quarter_tic_50.id = "quarter_tic_50"
|
|
f130_local2:addElement( f130_local2.quarter_tic_50 )
|
|
f130_local2.quarter_tic_25 = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "alien_meter_mark" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 140,
|
|
left = 2,
|
|
width = 12,
|
|
height = 8
|
|
} )
|
|
f130_local2.quarter_tic_25.id = "quarter_tic_25"
|
|
f130_local2:addElement( f130_local2.quarter_tic_25 )
|
|
end
|
|
f130_local2.extraHealth = LUI.UIImage.new( CoD.ColorizeState( Colors.blue, {
|
|
material = RegisterMaterial( "white" ),
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
bottom = -10,
|
|
left = -3,
|
|
width = 4,
|
|
height = 158,
|
|
alpha = 0
|
|
} ) )
|
|
f130_local2.extraHealth.id = "extraHealth"
|
|
f130_local2.extraHealth:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f130_local2.fillBG:addElement( f130_local2.extraHealth )
|
|
f130_local2.progression = LUI.UIImage.new( CoD.ColorizeState( Colors.orange, {
|
|
material = RegisterMaterial( "white" ),
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
bottom = -10,
|
|
left = -3,
|
|
width = 4,
|
|
height = 0,
|
|
alpha = 0.75
|
|
} ) )
|
|
f130_local2.progression.id = "progression"
|
|
f130_local2.fillBG:addElement( f130_local2.progression )
|
|
local f130_local4 = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "alien_meter_mark_end" ),
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
bottom = -3,
|
|
left = -7,
|
|
width = 32,
|
|
height = 16
|
|
} )
|
|
f130_local4.id = "endCap"
|
|
f130_local2.fillBG:addElement( f130_local4 )
|
|
local f130_local5 = LUI.UIImage.new( CoD.ColorizeState( Colors.orange, {
|
|
material = RegisterMaterial( "alien_meter_mark_end_highlight" ),
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
top = -3.5,
|
|
left = -5.5,
|
|
width = 8,
|
|
height = 8
|
|
} ) )
|
|
f130_local5.id = "endCapHL"
|
|
f130_local4:addElement( f130_local5 )
|
|
f130_local2:registerOmnvarHandler( "ui_alien_boss_progression", BossProgressionUpdateHandler )
|
|
f130_local2:registerOmnvarHandler( "ui_alien_boss_status", BossStatusUpdateHandler )
|
|
if f0_local2.AWAY ~= Game.GetOmnvar( "ui_alien_boss_status" ) then
|
|
BossProgressionUpdateHandler( f130_local2, {
|
|
value = Game.GetOmnvar( "ui_alien_boss_progression" )
|
|
} )
|
|
BossStatusUpdateHandler( f130_local2, {
|
|
value = Game.GetOmnvar( "ui_alien_boss_status" )
|
|
} )
|
|
end
|
|
self:addElement( f130_local2 )
|
|
return self
|
|
end
|
|
|
|
function juiced_timer()
|
|
local self = LUI.UIElement.new()
|
|
self.id = "juiced_timer"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
left = 0,
|
|
right = 0,
|
|
bottom = 0
|
|
} )
|
|
self:animateToState( "default" )
|
|
local f133_local1 = LUI.UIElement.new()
|
|
f133_local1:registerAnimationState( "default", {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
bottom = -14,
|
|
left = -16,
|
|
right = 16,
|
|
height = 32,
|
|
alpha = 0
|
|
} )
|
|
f133_local1:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f133_local1:animateToState( "default" )
|
|
local f133_local2 = LUI.UIImage.new()
|
|
f133_local2.id = "icon"
|
|
f133_local2:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "specialty_juiced" ),
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
left = 0,
|
|
right = 0,
|
|
bottom = 0,
|
|
height = 32
|
|
} )
|
|
f133_local2:animateToState( "default" )
|
|
f133_local1:addElement( f133_local2 )
|
|
local f133_local3 = LUI.UICountdown.new( {} )
|
|
f133_local3.id = "countdown"
|
|
f133_local3:registerAnimationState( "default", {
|
|
alignment = LUI.Alignment.Center,
|
|
font = CoD.TextSettings.HudDigitalNormalFont.Font,
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
bottom = 20,
|
|
left = 0,
|
|
right = 0,
|
|
height = CoD.TextSettings.HudDigitalNormalFont.Height
|
|
} )
|
|
f133_local3:animateToState( "default" )
|
|
f133_local1:addElement( f133_local3 )
|
|
f133_local1:registerDvarHandler( "ui_juiced_end_milliseconds", function ( f134_arg0, f134_arg1 )
|
|
if f134_arg1.value > 0 then
|
|
f133_local3:setEndTime( f134_arg1.value )
|
|
if f134_arg0.current_state ~= "visible" then
|
|
f134_arg0:animateToState( "visible", 250 )
|
|
f134_arg0.current_state = "visible"
|
|
end
|
|
elseif f134_arg0.current_state ~= "default" then
|
|
f134_arg0:animateToState( "default", 250 )
|
|
f134_arg0.current_state = "default"
|
|
end
|
|
end )
|
|
self:addElement( f133_local1 )
|
|
return self
|
|
end
|
|
|
|
function ChallengeUpdate( f135_arg0, f135_arg1, f135_arg2 )
|
|
local f135_local0 = {
|
|
File = "mp/alien/" .. Engine.GetDvarString( "ui_mapname" ) .. "_challenges.csv",
|
|
Index = 0,
|
|
Ref = 1,
|
|
Cycle = 2,
|
|
StrActivate = 3,
|
|
StrComplete = 4,
|
|
StrFail = 5,
|
|
preChallengeText = 7
|
|
}
|
|
if Game.GetOmnvar( "ui_aliens_hardcore" ) then
|
|
f135_local0.File = "mp/alien/" .. Engine.GetDvarString( "ui_mapname" ) .. "_hardcore_challenges.csv"
|
|
end
|
|
f135_arg0.activeIntel = f135_arg0.activeIntel or -1
|
|
local f135_local1 = Game.GetOmnvar( "ui_intel_challenge_scalar" )
|
|
local f135_local2 = Game.GetOmnvar( "ui_intel_target_player" )
|
|
local f135_local3, f135_local4, f135_local5 = nil
|
|
if f135_local2 ~= -1 then
|
|
f135_local3 = Game.GetPlayerName( f135_local2 )
|
|
end
|
|
if f135_arg0.activeIntel >= 0 then
|
|
f135_local5 = Engine.TableLookup( f135_local0.File, f135_local0.Index, f135_arg0.activeIntel, f135_local0.preChallengeText )
|
|
end
|
|
if f135_arg0.activeIntel >= 0 and f135_arg0.preChallenge and f135_local5 ~= "" then
|
|
f135_local4 = Engine.Localize( "@" .. f135_local5 )
|
|
elseif f135_arg0.activeIntel >= 0 and f135_local2 ~= -1 then
|
|
f135_local4 = Engine.Localize( "@" .. Engine.TableLookup( f135_local0.File, f135_local0.Index, f135_arg0.activeIntel, f135_local0.StrActivate ), f135_local3 )
|
|
elseif f135_arg0.activeIntel >= 0 and f135_local1 ~= -1 then
|
|
f135_local4 = Engine.Localize( "@" .. Engine.TableLookup( f135_local0.File, f135_local0.Index, f135_arg0.activeIntel, f135_local0.StrActivate ), f135_local1 )
|
|
elseif f135_arg0.activeIntel >= 0 then
|
|
f135_local4 = Engine.Localize( "@" .. Engine.TableLookup( f135_local0.File, f135_local0.Index, f135_arg0.activeIntel, f135_local0.StrActivate ) )
|
|
else
|
|
f135_local4 = nil
|
|
f135_arg0:processEvent( {
|
|
name = "message_off"
|
|
} )
|
|
end
|
|
if f135_local4 then
|
|
f135_arg2:setText( f135_local4 )
|
|
f135_arg0:processEvent( {
|
|
name = "message_on"
|
|
} )
|
|
end
|
|
end
|
|
|
|
function challenges()
|
|
local f136_local0 = 300
|
|
local self = LUI.UIElement.new()
|
|
self.id = "intelInfoHudId"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
left = 0,
|
|
right = 0,
|
|
bottom = 0
|
|
} )
|
|
self:animateToState( "default" )
|
|
local f136_local2 = Engine.UsingSplitscreenUpscaling() and 45 or 0
|
|
local f136_local3 = LUI.UIElement.new()
|
|
f136_local3:registerAnimationState( "default", {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = -236,
|
|
left = -7 + f136_local2,
|
|
width = 0,
|
|
height = 128,
|
|
alpha = 0
|
|
} )
|
|
f136_local3:registerAnimationState( "active", {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = -236,
|
|
left = -7 + f136_local2,
|
|
width = 512,
|
|
height = 128,
|
|
alpha = 1
|
|
} )
|
|
f136_local3:registerAnimationState( "opening", {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = -236,
|
|
left = -7 + f136_local2,
|
|
width = 592,
|
|
height = 128,
|
|
alpha = 1
|
|
} )
|
|
f136_local3:registerAnimationState( "closing", {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = -236,
|
|
left = -7 + f136_local2,
|
|
width = 552,
|
|
height = 128,
|
|
alpha = 1
|
|
} )
|
|
f136_local3:animateToState( "default" )
|
|
f136_local3:registerEventHandler( "message_on", MBh.AnimateSequence( {
|
|
{
|
|
"default",
|
|
0
|
|
},
|
|
{
|
|
"opening",
|
|
f136_local0 / 2,
|
|
false,
|
|
true
|
|
},
|
|
{
|
|
"active",
|
|
f136_local0 / 2,
|
|
true,
|
|
true
|
|
}
|
|
} ) )
|
|
f136_local3:registerEventHandler( "message_off", MBh.AnimateSequence( {
|
|
{
|
|
"active",
|
|
0
|
|
},
|
|
{
|
|
"closing",
|
|
f136_local0 / 2,
|
|
true,
|
|
true
|
|
},
|
|
{
|
|
"default",
|
|
f136_local0 / 2,
|
|
true,
|
|
false
|
|
}
|
|
} ) )
|
|
local f136_local4 = LUI.UIImage.new()
|
|
f136_local4.id = "background"
|
|
f136_local4:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "hud_message_bg" ),
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
left = 0,
|
|
right = 0,
|
|
bottom = 0
|
|
} )
|
|
f136_local4:animateToState( "default" )
|
|
f136_local3:addElement( f136_local4 )
|
|
local f136_local5 = LUI.UIImage.new()
|
|
f136_local5.id = "challenge_icon"
|
|
f136_local5:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "hud_icon_pl_extinction" ),
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 28,
|
|
left = 0,
|
|
width = 72,
|
|
height = 72,
|
|
alpha = 0.7
|
|
} )
|
|
f136_local5:animateToState( "default" )
|
|
f136_local3:addElement( f136_local5 )
|
|
local f136_local6 = function ( f137_arg0, f137_arg1 )
|
|
local f137_local0 = f137_arg1.value
|
|
if not f137_local0 or f137_local0 < 0 then
|
|
f137_arg0:setText( Engine.Localize( "@ALIENS_CHALLENGE_CAPS" ) )
|
|
elseif f137_local0 == 1 then
|
|
f137_arg0:setText( Engine.Localize( "@ALIEN_COLLECTIBLES_CHALLENGE_NEW" ) )
|
|
elseif f137_local0 == 2 then
|
|
f137_arg0:setText( Engine.Localize( "@ALIEN_COLLECTIBLES_CHALLENGE_BARRIER_HIVE_TITLE" ) )
|
|
end
|
|
end
|
|
|
|
local f136_local7 = LUI.UIText.new()
|
|
f136_local7.id = "header"
|
|
f136_local7:setTextStyle( CoD.TextStyle.Shadowed )
|
|
f136_local7:registerAnimationState( "default", CoD.ColorizeState( Colors.cyan, {
|
|
alignment = LUI.Alignment.Left,
|
|
font = CoD.TextSettings.HudEuroMedSmallFont.Font,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 25,
|
|
left = 20,
|
|
width = 280,
|
|
height = CoD.TextSettings.HudEuroMedSmallFont.Height
|
|
} ) )
|
|
f136_local7:animateToState( "default" )
|
|
f136_local7:registerOmnvarHandler( "ui_intel_title", f136_local6 )
|
|
f136_local3:addElement( f136_local7 )
|
|
local f136_local8 = LUI.UIText.new()
|
|
f136_local8.id = "text"
|
|
f136_local8:setTextStyle( CoD.TextStyle.Shadowed )
|
|
f136_local8:registerAnimationState( "default", {
|
|
alignment = LUI.Alignment.Left,
|
|
font = CoD.TextSettings.HudEuroMedSmallFont.Font,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 45,
|
|
left = 72,
|
|
width = 305,
|
|
height = CoD.TextSettings.HudEuroMedSmallFont.Height
|
|
} )
|
|
f136_local8:animateToState( "default" )
|
|
f136_local3:addElement( f136_local8 )
|
|
local f136_local9 = LUI.UIText.new()
|
|
f136_local9.id = "progress"
|
|
f136_local9:setTextStyle( CoD.TextStyle.Shadowed )
|
|
f136_local9:registerAnimationState( "default", {
|
|
alignment = LUI.Alignment.Right,
|
|
font = CoD.TextSettings.HudEuroMedSmallFont.Font,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 25,
|
|
right = 250,
|
|
left = 0,
|
|
height = CoD.TextSettings.HudEuroMedSmallFont.Height,
|
|
alpha = 0
|
|
} )
|
|
f136_local9:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f136_local9:animateToState( "default" )
|
|
f136_local3:addElement( f136_local9 )
|
|
local f136_local10 = function ( f138_arg0, f138_arg1 )
|
|
local f138_local0 = Game.GetOmnvar( "ui_intel_progress_current" )
|
|
local f138_local1 = Game.GetOmnvar( "ui_intel_progress_max" )
|
|
if not f138_local0 or not f138_local1 or f138_local0 < 0 or f138_local1 < 0 then
|
|
f136_local9:animateToState( "default" )
|
|
else
|
|
f136_local9:setText( f138_local0 .. "/" .. f138_local1 )
|
|
f136_local9:animateToState( "visible" )
|
|
end
|
|
end
|
|
|
|
local f136_local11 = function ( f139_arg0, f139_arg1 )
|
|
local f139_local0 = Game.GetOmnvar( "ui_intel_percent" )
|
|
if not f139_local0 or f139_local0 < 0 then
|
|
f136_local9:animateToState( "default" )
|
|
else
|
|
f136_local9:setText( string.format( "%05.2f", f139_local0 / 100 .. "" ) .. "%" )
|
|
f136_local9:animateToState( "visible" )
|
|
end
|
|
end
|
|
|
|
local f136_local12 = LUI.UICountdown.new( {} )
|
|
f136_local12.id = "countdown"
|
|
f136_local12:registerAnimationState( "default", {
|
|
alignment = LUI.Alignment.Right,
|
|
font = CoD.TextSettings.HudEuroMedSmallFont.Font,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 25,
|
|
right = 330,
|
|
left = 0,
|
|
height = CoD.TextSettings.HudEuroMedSmallFont.Height,
|
|
alpha = 0
|
|
} )
|
|
f136_local12:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f136_local12:animateToState( "default" )
|
|
local f136_local13 = function ( f140_arg0, f140_arg1 )
|
|
if f140_arg1.value > 0 then
|
|
f136_local12:setEndTime( f140_arg1.value )
|
|
if f140_arg0.current_state ~= "visible" then
|
|
f140_arg0:animateToState( "visible", 0 )
|
|
f140_arg0.current_state = "visible"
|
|
end
|
|
elseif f140_arg0.current_state ~= "default" then
|
|
f140_arg0:animateToState( "default", 0 )
|
|
f140_arg0.current_state = "default"
|
|
end
|
|
end
|
|
|
|
f136_local12:registerOmnvarHandler( "ui_intel_timer", f136_local13 )
|
|
f136_local3:addElement( f136_local12 )
|
|
f136_local3:registerOmnvarHandler( "ui_intel_active_index", function ( f141_arg0, f141_arg1 )
|
|
f141_arg0.activeIntel = f141_arg1.value
|
|
ChallengeUpdate( f141_arg0, f141_arg1, f136_local8 )
|
|
end )
|
|
f136_local3:registerOmnvarHandler( "ui_intel_progress_current", f136_local10 )
|
|
f136_local3:registerOmnvarHandler( "ui_intel_progress_max", f136_local10 )
|
|
f136_local3:registerOmnvarHandler( "ui_intel_percent", f136_local11 )
|
|
f136_local3:registerOmnvarHandler( "ui_intel_prechallenge", function ( f142_arg0, f142_arg1 )
|
|
f142_arg0.preChallenge = f142_arg1.value == 1
|
|
ChallengeUpdate( f142_arg0, f142_arg1, f136_local8 )
|
|
end )
|
|
if 0 <= Game.GetOmnvar( "ui_intel_active_index" ) then
|
|
f136_local3.activeIntel = Game.GetOmnvar( "ui_intel_active_index" )
|
|
f136_local3.preChallenge = 1 == Game.GetOmnvar( "ui_intel_prechallenge" )
|
|
f136_local6( f136_local7, {
|
|
value = Game.GetOmnvar( "ui_intel_title" )
|
|
} )
|
|
f136_local13( f136_local12, {
|
|
value = Game.GetOmnvar( "ui_intel_timer" )
|
|
} )
|
|
f136_local11( f136_local3, {} )
|
|
f136_local10( f136_local3, {} )
|
|
ChallengeUpdate( f136_local3, {}, f136_local8 )
|
|
end
|
|
self:addElement( f136_local3 )
|
|
return self
|
|
end
|
|
|
|
function skill_points_reminder()
|
|
local self = LUI.UIElement.new()
|
|
self.id = "reminder"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
left = 0,
|
|
right = 0,
|
|
bottom = 0
|
|
} )
|
|
self:animateToState( "default" )
|
|
local f143_local1 = function ()
|
|
return Engine.Localize( "@ALIENS_SPEND_POINTS_REMINDER", Engine.MarkLocalized( "[{togglescores}]" ) )
|
|
end
|
|
|
|
local f143_local2 = LUI.UIText.new()
|
|
f143_local2:setText( f143_local1() )
|
|
f143_local2:setTextStyle( CoD.TextStyle.Shadowed )
|
|
f143_local2:registerAnimationState( "default", {
|
|
font = CoD.TextSettings.HudIW6SmallFont.Font,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
left = 0,
|
|
right = 0,
|
|
top = 0,
|
|
height = CoD.TextSettings.SmallFont.Height,
|
|
alpha = 1
|
|
} )
|
|
f143_local2:registerAnimationState( "hidden", {
|
|
font = CoD.TextSettings.HudIW6SmallFont.Font,
|
|
alignment = LUI.Alignment.Left,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
left = 0,
|
|
right = 0,
|
|
bottom = 0,
|
|
height = CoD.TextSettings.SmallFont.Height,
|
|
alpha = 0
|
|
} )
|
|
f143_local2:animateToState( "hidden" )
|
|
f143_local2:registerEventHandler( "empty_menu_stack", function ( element, event )
|
|
element:setText( f143_local1() )
|
|
end )
|
|
f143_local2:registerEventHandler( "show_reminder", MBh.AnimateSequence( {
|
|
{
|
|
"hidden",
|
|
0,
|
|
true,
|
|
true
|
|
},
|
|
{
|
|
"default",
|
|
150,
|
|
true,
|
|
true
|
|
}
|
|
} ) )
|
|
f143_local2:registerEventHandler( "hide_reminder", MBh.AnimateToState( "hidden", 150 ) )
|
|
f143_local2:registerEventHandler( "ability_points_change", function ( element, event )
|
|
element.storedValue = event.newValue
|
|
if not Game.GetOmnvar( "ui_alien_player_in_laststand" ) and event.oldValue < event.newValue and event.oldValue == 0 then
|
|
element:processEvent( {
|
|
name = "show_reminder"
|
|
} )
|
|
elseif event.newValue == 0 then
|
|
element:processEvent( {
|
|
name = "hide_reminder"
|
|
} )
|
|
end
|
|
end )
|
|
f143_local2:registerOmnvarHandler( "ui_alien_player_in_laststand", function ( f147_arg0, f147_arg1 )
|
|
if f147_arg1.value then
|
|
f147_arg0:processEvent( {
|
|
name = "hide_reminder"
|
|
} )
|
|
elseif f147_arg0.storedValue and f147_arg0.storedValue >= 1 then
|
|
f147_arg0:processEvent( {
|
|
name = "show_reminder"
|
|
} )
|
|
end
|
|
end )
|
|
self:addElement( f143_local2 )
|
|
return self
|
|
end
|
|
|
|
function flash_message()
|
|
local self = LUI.UIElement.new()
|
|
self.id = "flash_message"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
left = -256,
|
|
right = 0,
|
|
bottom = 0
|
|
} )
|
|
self:animateToState( "default" )
|
|
local f148_local1 = 110
|
|
local f148_local2 = -32
|
|
local f148_local3 = LUI.UIElement.new()
|
|
f148_local3.id = "splashId"
|
|
f148_local3.properties = {
|
|
busy = false,
|
|
queue = {}
|
|
}
|
|
f148_local3:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
leftAnchor = false,
|
|
bottomAnchor = false,
|
|
rightAnchor = false,
|
|
top = f148_local1,
|
|
left = f148_local2 - 500,
|
|
height = 64,
|
|
right = -468,
|
|
alpha = 0,
|
|
scale = -0.15
|
|
} )
|
|
f148_local3:registerAnimationState( "opening", {
|
|
topAnchor = true,
|
|
leftAnchor = false,
|
|
bottomAnchor = false,
|
|
rightAnchor = false,
|
|
top = f148_local1,
|
|
left = f148_local2 + 20,
|
|
height = 64,
|
|
right = 52,
|
|
alpha = 1
|
|
} )
|
|
f148_local3:registerAnimationState( "active", {
|
|
topAnchor = true,
|
|
leftAnchor = false,
|
|
bottomAnchor = false,
|
|
rightAnchor = false,
|
|
top = f148_local1,
|
|
left = f148_local2,
|
|
height = 64,
|
|
right = 32,
|
|
alpha = 1
|
|
} )
|
|
f148_local3:registerAnimationState( "leave", {
|
|
topAnchor = true,
|
|
leftAnchor = false,
|
|
bottomAnchor = false,
|
|
rightAnchor = false,
|
|
top = f148_local1,
|
|
left = f148_local2 + 500,
|
|
height = 64,
|
|
right = 532,
|
|
alpha = 0
|
|
} )
|
|
f148_local3:animateToState( "default" )
|
|
self:addElement( f148_local3 )
|
|
local f148_local4 = LUI.UIImage.new()
|
|
f148_local4.id = "splashBackingImageId"
|
|
f148_local4:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
leftAnchor = true,
|
|
bottomAnchor = false,
|
|
rightAnchor = false,
|
|
top = 0,
|
|
left = f148_local2,
|
|
height = 128,
|
|
width = 512,
|
|
material = RegisterMaterial( "box_alien_intel_hud" )
|
|
} )
|
|
f148_local4:animateToState( "default" )
|
|
local f148_local5 = LUI.UIImage.new()
|
|
f148_local5.id = "splashImageId"
|
|
f148_local5:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
leftAnchor = true,
|
|
bottomAnchor = false,
|
|
rightAnchor = false,
|
|
top = -44,
|
|
left = -86 + f148_local2,
|
|
height = 176,
|
|
width = 176,
|
|
material = RegisterMaterial( "hud_icon_pl_extinction" )
|
|
} )
|
|
f148_local5:registerAnimationState( "nightfall", {
|
|
topAnchor = true,
|
|
leftAnchor = true,
|
|
bottomAnchor = false,
|
|
rightAnchor = false,
|
|
top = -4,
|
|
left = -64 + f148_local2,
|
|
height = 128,
|
|
width = 128,
|
|
material = RegisterMaterial( "alien_icon_intel_hud_nightfall" )
|
|
} )
|
|
f148_local5:registerAnimationState( "intercept", {
|
|
topAnchor = true,
|
|
leftAnchor = true,
|
|
bottomAnchor = false,
|
|
rightAnchor = false,
|
|
top = -4,
|
|
left = -64 + f148_local2,
|
|
height = 128,
|
|
width = 128,
|
|
material = RegisterMaterial( "alien_icon_intel_hud_intercept" )
|
|
} )
|
|
f148_local5:animateToState( "default" )
|
|
local f148_local6 = LUI.UIImage.new()
|
|
f148_local6.id = "overlayImageId"
|
|
f148_local6:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
leftAnchor = false,
|
|
bottomAnchor = false,
|
|
rightAnchor = true,
|
|
top = -64,
|
|
left = 256,
|
|
height = 256,
|
|
width = 256,
|
|
alpha = 0,
|
|
material = RegisterMaterial( "box_alien_intel_hud_overlay" )
|
|
} )
|
|
f148_local6:registerAnimationState( "active", {
|
|
alpha = 1
|
|
} )
|
|
f148_local6:registerAnimationState( "glow_high", {
|
|
alpha = 1
|
|
} )
|
|
f148_local6:registerAnimationState( "glow_low", {
|
|
alpha = 0.1
|
|
} )
|
|
f148_local6:animateToState( "default" )
|
|
local f148_local7 = LUI.UIText.new()
|
|
f148_local7.id = "splashNameId"
|
|
f148_local7:setTextStyle( CoD.TextStyle.OutlinedMore )
|
|
f148_local7:registerAnimationState( "default", CoD.ColorizeState( Colors.alien_frontend_hilite, {
|
|
alignment = LUI.Alignment.Left,
|
|
font = CoD.TextSettings.BoldFont.Font,
|
|
topAnchor = true,
|
|
leftAnchor = true,
|
|
bottomAnchor = false,
|
|
rightAnchor = false,
|
|
top = 20,
|
|
height = CoD.TextSettings.BoldFont.Height,
|
|
left = 32,
|
|
width = 432
|
|
} ) )
|
|
f148_local7:animateToState( "default" )
|
|
local f148_local8 = LUI.UIText.new()
|
|
f148_local8.id = "splashDescId"
|
|
f148_local8:setTextStyle( CoD.TextStyle.OutlinedMore )
|
|
f148_local8:registerAnimationState( "default", CoD.ColorizeState( Colors.white, {
|
|
alignment = LUI.Alignment.Left,
|
|
font = CoD.TextSettings.NormalFont.Font,
|
|
topAnchor = true,
|
|
leftAnchor = true,
|
|
bottomAnchor = false,
|
|
rightAnchor = false,
|
|
top = 24 + CoD.TextSettings.BoldFont.Height,
|
|
height = CoD.TextSettings.NormalFont.Height,
|
|
left = 32,
|
|
width = 432
|
|
} ) )
|
|
f148_local8:animateToState( "default", 0 )
|
|
local f148_local9 = LUI.UIText.new()
|
|
f148_local9.id = "splashCollectedTextId"
|
|
f148_local9:setTextStyle( CoD.TextStyle.OutlinedMore )
|
|
f148_local9:registerAnimationState( "default", CoD.ColorizeState( Colors.primary_text_color, {
|
|
alignment = LUI.Alignment.Left,
|
|
font = CoD.TextSettings.NormalFont.Font,
|
|
topAnchor = true,
|
|
leftAnchor = true,
|
|
bottomAnchor = false,
|
|
rightAnchor = false,
|
|
top = 35 + CoD.TextSettings.BoldFont.Height + CoD.TextSettings.NormalFont.Height,
|
|
height = CoD.TextSettings.NormalFont.Height,
|
|
left = 32,
|
|
width = 432
|
|
} ) )
|
|
f148_local9:animateToState( "default", 0 )
|
|
f148_local3:addElement( f148_local4 )
|
|
f148_local3:addElement( f148_local5 )
|
|
f148_local3:addElement( f148_local6 )
|
|
f148_local3:addElement( f148_local7 )
|
|
f148_local3:addElement( f148_local8 )
|
|
f148_local3:addElement( f148_local9 )
|
|
local f148_local10 = function ( f149_arg0, f149_arg1, f149_arg2, f149_arg3 )
|
|
if f148_local3.properties.busy == true then
|
|
table.insert( f148_local3.properties.queue, {
|
|
title = f149_arg0,
|
|
description = f149_arg1,
|
|
state = f149_arg2,
|
|
collected_text = f149_arg3
|
|
} )
|
|
else
|
|
f148_local3.properties.busy = true
|
|
f148_local7:setText( f149_arg0 )
|
|
f148_local8:setText( f149_arg1 )
|
|
f148_local5:animateToState( f149_arg2 )
|
|
f148_local9:setText( f149_arg3 )
|
|
local f149_local0 = MBh.AnimateSequence( {
|
|
{
|
|
"default",
|
|
150
|
|
},
|
|
{
|
|
"active",
|
|
50
|
|
},
|
|
{
|
|
"glow_high",
|
|
60
|
|
},
|
|
{
|
|
"glow_low",
|
|
1000
|
|
},
|
|
{
|
|
"glow_high",
|
|
50
|
|
},
|
|
{
|
|
"glow_high",
|
|
150
|
|
},
|
|
{
|
|
"glow_low",
|
|
850
|
|
},
|
|
{
|
|
"glow_high",
|
|
50
|
|
},
|
|
{
|
|
"glow_high",
|
|
150
|
|
},
|
|
{
|
|
"glow_low",
|
|
850
|
|
},
|
|
{
|
|
"glow_high",
|
|
50
|
|
},
|
|
{
|
|
"glow_high",
|
|
150
|
|
},
|
|
{
|
|
"glow_low",
|
|
850
|
|
}
|
|
} )
|
|
f149_local0( f148_local6 )
|
|
f149_local0 = MBh.AnimateSequence( {
|
|
{
|
|
"default",
|
|
0
|
|
},
|
|
{
|
|
"opening",
|
|
150
|
|
},
|
|
{
|
|
"active",
|
|
150
|
|
},
|
|
{
|
|
"active",
|
|
4000
|
|
},
|
|
{
|
|
"leave",
|
|
150
|
|
}
|
|
} )
|
|
f149_local0( f148_local3 )
|
|
end
|
|
end
|
|
|
|
f148_local3:registerEventHandler( "transition_complete_leave", function ( element, event )
|
|
element.properties.busy = false
|
|
if #element.properties.queue > 0 then
|
|
local f150_local0 = table.remove( element.properties.queue, 1 )
|
|
f148_local10( f150_local0.title, f150_local0.description, f150_local0.state, f150_local0.collected_text )
|
|
end
|
|
end )
|
|
f148_local3:registerOmnvarHandler( "ui_alien_rankup", function ( f151_arg0, f151_arg1 )
|
|
f148_local10( Engine.Localize( "@ALIENS_PATCH_RANKED_UP" ), Engine.Localize( "@ALIENS_PATCH_RANKED_UP_DESC" ), "default", Engine.Localize( "@ALIENS_PATCH_NEW_RANK", f151_arg1.value ) )
|
|
Engine.PlaySound( "mp_level_up" )
|
|
end )
|
|
f148_local3:registerOmnvarHandler( "ui_alien_award_token", function ( f152_arg0, f152_arg1 )
|
|
if f152_arg1.value > 1 then
|
|
f148_local10( Engine.Localize( "@ALIENS_FOUND_TOKENS", f152_arg1.value ), Engine.Localize( "@ALIENS_TOKEN_DESC" ), "default", "" )
|
|
else
|
|
f148_local10( Engine.Localize( "@ALIENS_FOUND_TOKEN" ), Engine.Localize( "@ALIENS_TOKEN_DESC" ), "default", "" )
|
|
end
|
|
Engine.PlaySound( "mp_level_up" )
|
|
end )
|
|
f148_local3:registerOmnvarHandler( "ui_alien_eggstra_xp", function ( f153_arg0, f153_arg1 )
|
|
if Engine.GetDvarString( "ui_mapname" ) == "mp_alien_armory" then
|
|
f148_local10( Engine.Localize( "@ALIEN_PICKUPS_ARMORY_EGGSTRA_XP" ), Engine.Localize( "@ALIEN_PICKUPS_ARMORY_EGGSTRA_XP_DESC" ), "default", "" )
|
|
elseif Engine.GetDvarString( "ui_mapname" ) == "mp_alien_dlc3" then
|
|
f148_local10( Engine.Localize( "@ALIEN_PICKUPS_DESCENT_EGGSTRA_XP" ), Engine.Localize( "@ALIEN_PICKUPS_DESCENT_EGGSTRA_XP_DESC" ), "default", "" )
|
|
elseif Engine.GetDvarString( "ui_mapname" ) == "mp_alien_last" then
|
|
f148_local10( Engine.Localize( "@MP_ALIEN_LAST_EGGSTRA_XP" ), Engine.Localize( "@MP_ALIEN_LAST_EGGSTRA_XP_DESC" ), "default", "" )
|
|
else
|
|
f148_local10( Engine.Localize( "@ALIEN_PICKUPS_BEACON_EGGSTRA_XP" ), Engine.Localize( "@ALIEN_PICKUPS_BEACON_EGGSTRA_XP_DESC" ), "default", "" )
|
|
end
|
|
Engine.PlaySound( "mp_level_up" )
|
|
end )
|
|
if Engine.GetDvarString( "ui_mapname" ) ~= "mp_alien_town" then
|
|
local f148_local11 = {
|
|
File = "mp/alien/alien_armory_intel.csv",
|
|
Index = 0,
|
|
Title_string_index = 16
|
|
}
|
|
local f148_local12 = Engine.Localize( "@ALIEN_PILLAGE_INTEL_INTERCEPT_FILE_FOUND" )
|
|
local f148_local13 = Engine.Localize( "@ALIEN_PILLAGE_INTEL_NIGHTFALL_FILE_FOUND" )
|
|
if Engine.GetDvarString( "ui_mapname" ) == "mp_alien_beacon" then
|
|
f148_local11.File = "mp/alien/alien_beacon_intel.csv"
|
|
f148_local12 = Engine.Localize( "@ALIEN_PILLAGE_INTEL_MEDUSA_FILE_FOUND" )
|
|
f148_local13 = Engine.Localize( "@ALIEN_PILLAGE_INTEL_ARCHER_LOG_FOUND" )
|
|
elseif Engine.GetDvarString( "ui_mapname" ) == "mp_alien_dlc3" then
|
|
f148_local11.File = "mp/alien/alien_dlc3_intel.csv"
|
|
f148_local12 = Engine.Localize( "@ALIEN_PILLAGE_INTEL_ANCESTOR_INTEL_FOUND" )
|
|
f148_local13 = Engine.Localize( "@ALIEN_PILLAGE_INTEL_ARCHER_LOG_FOUND" )
|
|
elseif Engine.GetDvarString( "ui_mapname" ) == "mp_alien_last" then
|
|
f148_local11.File = "mp/alien/alien_last_intel.csv"
|
|
f148_local12 = Engine.Localize( "@ALIEN_PILLAGE_INTEL_EXODUS_FILE_FOUND" )
|
|
f148_local13 = Engine.Localize( "@ALIEN_PILLAGE_INTEL_EXODUS_FILE_FOUND" )
|
|
end
|
|
f148_local3:registerOmnvarHandler( "ui_alien_intercept_pickup", function ( f154_arg0, f154_arg1 )
|
|
f148_local10( f148_local12, Engine.Localize( "@" .. Engine.TableLookup( f148_local11.File, f148_local11.Index, f154_arg1.value, f148_local11.Title_string_index ) ), "intercept", Engine.Localize( "@ALIEN_PILLAGE_INTEL_EXTINCTION_INTEL_COLLECTED", Game.GetOmnvar( "ui_alien_intel_num_collected" ), LUI.mp_menus.Aliens.GetNumIntelsForCurrentMap() ) )
|
|
end )
|
|
f148_local3:registerOmnvarHandler( "ui_alien_nightfall_pickup", function ( f155_arg0, f155_arg1 )
|
|
f148_local10( f148_local13, Engine.Localize( "@" .. Engine.TableLookup( f148_local11.File, f148_local11.Index, f155_arg1.value, f148_local11.Title_string_index ) ), "nightfall", Engine.Localize( "@ALIEN_PILLAGE_INTEL_EXTINCTION_INTEL_COLLECTED", Game.GetOmnvar( "ui_alien_intel_num_collected" ), LUI.mp_menus.Aliens.GetNumIntelsForCurrentMap() ) )
|
|
end )
|
|
end
|
|
return self
|
|
end
|
|
|
|
function splashes()
|
|
local f156_local0 = {
|
|
File = "mp/alien/splashTable.csv",
|
|
Ref = 0,
|
|
Name = 1,
|
|
Desc = 2,
|
|
Duration = 4
|
|
}
|
|
local self = LUI.UIElement.new()
|
|
self.id = "splashes"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
left = 0,
|
|
right = 0,
|
|
bottom = 0
|
|
} )
|
|
self:animateToState( "default" )
|
|
local f156_local2 = LUI.UIElement.new()
|
|
f156_local2.id = "content"
|
|
f156_local2:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 23,
|
|
left = 0,
|
|
width = 280,
|
|
height = 80
|
|
} )
|
|
f156_local2:animateToState( "default" )
|
|
local f156_local3 = LUI.UIImage.new()
|
|
f156_local3.id = "background"
|
|
f156_local3:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "hud_message_bg" ),
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0
|
|
} )
|
|
f156_local3:animateToState( "default" )
|
|
local f156_local4 = LUI.UIImage.new()
|
|
f156_local4.id = "splashImageId"
|
|
f156_local4:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
leftAnchor = true,
|
|
bottomAnchor = false,
|
|
rightAnchor = false,
|
|
top = 18,
|
|
left = 12,
|
|
height = 64,
|
|
width = 64,
|
|
material = RegisterMaterial( "hud_icon_pl_extinction" )
|
|
} )
|
|
f156_local4:animateToState( "default" )
|
|
local f156_local5 = LUI.UIText.new()
|
|
f156_local5.id = "title"
|
|
f156_local5:registerAnimationState( "default", CoD.ColorizeState( Colors.yellow, {
|
|
font = CoD.TextSettings.SmallFont.Font,
|
|
alignment = LUI.Alignment.Left,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
left = 85,
|
|
width = 447,
|
|
top = -3,
|
|
height = CoD.TextSettings.SmallFont.Height
|
|
} ) )
|
|
f156_local5:animateToState( "default" )
|
|
f156_local2:addElement( f156_local5 )
|
|
local f156_local6 = LUI.UIText.new()
|
|
f156_local6.id = "desc"
|
|
f156_local6:registerAnimationState( "default", {
|
|
font = CoD.TextSettings.SmallFont.Font,
|
|
alignment = LUI.Alignment.Left,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
left = 85,
|
|
width = 447,
|
|
top = 35,
|
|
height = CoD.TextSettings.SmallFont.Height
|
|
} )
|
|
f156_local6:animateToState( "default" )
|
|
f156_local2:addElement( f156_local6 )
|
|
local f156_local7 = LUI.UIElement.new()
|
|
f156_local7.id = "splashes"
|
|
f156_local7:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
top = -13,
|
|
left = -200,
|
|
width = 512,
|
|
height = 110,
|
|
alpha = 1
|
|
} )
|
|
f156_local7:registerAnimationState( "hidden", {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
top = -128,
|
|
left = -200,
|
|
width = 512,
|
|
height = 110,
|
|
alpha = 0
|
|
} )
|
|
f156_local7:animateToState( "hidden" )
|
|
local f156_local8 = function ( f157_arg0, f157_arg1, f157_arg2, f157_arg3, f157_arg4, f157_arg5 )
|
|
local f157_local0 = f157_arg1.value
|
|
if not f157_local0 or f157_local0 == -1 then
|
|
f157_arg0:animateToState( "hidden", 0 )
|
|
return
|
|
else
|
|
local f157_local1 = Engine.Localize( Engine.TableLookupByRow( f156_local0.File, f157_local0, f156_local0.Desc ), f157_arg3, f157_arg4 )
|
|
if not f157_local1 then
|
|
DebugPrint( "WARNING: Missing splash description for row " .. f157_local0 .. " in " .. f156_local0.File )
|
|
return
|
|
else
|
|
local f157_local2 = tonumber( Engine.TableLookupByRow( f156_local0.File, f157_local0, f156_local0.Duration ) ) * 1000
|
|
f156_local5:setText( f157_arg2 )
|
|
f156_local6:setText( f157_local1 )
|
|
f156_local4:setImage( RegisterMaterial( f157_arg5 ) )
|
|
local f157_local3 = MBh.AnimateSequence( {
|
|
{
|
|
"hidden",
|
|
0,
|
|
true,
|
|
true
|
|
},
|
|
{
|
|
"default",
|
|
200,
|
|
false,
|
|
true
|
|
},
|
|
{
|
|
"default",
|
|
f157_local2,
|
|
true,
|
|
true
|
|
},
|
|
{
|
|
"hidden",
|
|
200,
|
|
true,
|
|
false
|
|
}
|
|
} )
|
|
f157_local3( f157_arg0, {} )
|
|
end
|
|
end
|
|
end
|
|
|
|
f156_local7:registerOmnvarHandler( "ui_splash_idx", function ( f158_arg0, f158_arg1 )
|
|
local f158_local0 = f158_arg1.value
|
|
local f158_local1 = Game.GetOmnvar( "ui_splash_optional_number" )
|
|
f156_local8( f158_arg0, f158_arg1, Engine.Localize( Engine.TableLookupByRow( f156_local0.File, f158_local0, f156_local0.Name ), f158_local1 ), f158_local1 )
|
|
end )
|
|
f156_local7:registerOmnvarHandler( "ui_splash_playercard_idx", function ( f159_arg0, f159_arg1 )
|
|
local f159_local0 = Game.GetOmnvar( "ui_splash_playercard_optional_number" )
|
|
local f159_local1 = Game.GetOmnvar( "ui_splash_playercard_clientnum" )
|
|
local f159_local2 = Game.GetPlayerName( f159_local1 )
|
|
local f159_local3 = Game.GetPlayerCard( f159_local1 )
|
|
f156_local8( f159_arg0, f159_arg1, f159_local2, f159_local0, f159_local2, Engine.TableLookup( PatchesTable.File, PatchesTable.Cols.Ref, f159_local3.patch, PatchesTable.Cols.CardImage ) )
|
|
end )
|
|
f156_local7:addElement( f156_local3 )
|
|
f156_local7:addElement( f156_local2 )
|
|
f156_local7:addElement( f156_local4 )
|
|
self:addElement( f156_local7 )
|
|
return self
|
|
end
|
|
|
|
function game_messages()
|
|
local self = LUI.UIElement.new()
|
|
self.id = "gameMessagesID"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
top = 200,
|
|
bottom = 32,
|
|
left = -32,
|
|
right = 32
|
|
} )
|
|
self:animateToState( "default" )
|
|
local f160_local1 = LUI.UIText.new()
|
|
f160_local1.id = "text"
|
|
f160_local1:setTextStyle( CoD.TextStyle.Shadowed )
|
|
f160_local1:registerAnimationState( "default", {
|
|
font = CoD.TextSettings.HudEuroNormalFont.Font,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0,
|
|
alpha = 0
|
|
} )
|
|
f160_local1:registerAnimationState( "opening", {
|
|
font = CoD.TextSettings.HudEuroNormalFont.Font,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
top = 0,
|
|
bottom = 80 + CoD.TextSettings.HudEuroNormalFont.Height,
|
|
left = -256,
|
|
right = 256,
|
|
alpha = 1
|
|
} )
|
|
f160_local1:registerAnimationState( "active", {
|
|
font = CoD.TextSettings.HudEuroNormalFont.Font,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = false,
|
|
rightAnchor = false,
|
|
top = 0,
|
|
bottom = CoD.TextSettings.HudEuroNormalFont.Height,
|
|
left = -256,
|
|
right = 256,
|
|
alpha = 1
|
|
} )
|
|
f160_local1:animateToState( "default" )
|
|
f160_local1:registerEventHandler( "game_message", function ( element, event )
|
|
if event then
|
|
element:setText( event.message )
|
|
local f161_local0 = MBh.AnimateSequence( {
|
|
{
|
|
"opening",
|
|
0
|
|
},
|
|
{
|
|
"active",
|
|
100
|
|
},
|
|
{
|
|
"active",
|
|
2500
|
|
},
|
|
{
|
|
"default",
|
|
100
|
|
}
|
|
} )
|
|
f161_local0( element, event )
|
|
end
|
|
end )
|
|
self:addElement( f160_local1 )
|
|
return self
|
|
end
|
|
|
|
function talker_hud()
|
|
return LUI.MenuBuilder.buildItems( {
|
|
type = "talkerHudDef",
|
|
states = {
|
|
default = {
|
|
topAnchor = true,
|
|
leftAnchor = false,
|
|
bottomAnchor = false,
|
|
rightAnchor = true,
|
|
top = Engine.UsingSplitscreenUpscaling() and 0 or 200,
|
|
right = -20,
|
|
height = 0,
|
|
width = 0
|
|
}
|
|
}
|
|
} )
|
|
end
|
|
|
|
function cursor_hints()
|
|
local self = LUI.UIElement.new()
|
|
self.id = "cursorHints"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
left = 0,
|
|
right = 0,
|
|
bottom = 0
|
|
} )
|
|
self:animateToState( "default" )
|
|
local f163_local1 = LUI.mp_hud.Hints.cursorHintDef()
|
|
f163_local1:registerAnimationState( "default", {
|
|
topAnchor = false,
|
|
leftAnchor = false,
|
|
bottomAnchor = true,
|
|
rightAnchor = false,
|
|
bottom = -93,
|
|
left = -32,
|
|
right = 32,
|
|
height = 64
|
|
} )
|
|
f163_local1:animateToState( "default" )
|
|
self:addElement( f163_local1 )
|
|
return self
|
|
end
|
|
|
|
function hybrid_scope_hints()
|
|
local self = LUI.UIElement.new()
|
|
self.id = "hybridScopeHints"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 40,
|
|
left = 0,
|
|
right = 0,
|
|
bottom = 0
|
|
} )
|
|
self:animateToState( "default" )
|
|
self:addElement( LUI.mp_hud.Hints.toggleHybridHintDef() )
|
|
return self
|
|
end
|
|
|
|
function mantle_hints()
|
|
local self = LUI.UIElement.new()
|
|
self.id = "mantleHints"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
left = 0,
|
|
right = 0,
|
|
bottom = 0
|
|
} )
|
|
self:animateToState( "default" )
|
|
local f165_local1 = LUI.mp_hud.Hints.mantleHintDef()
|
|
f165_local1:registerAnimationState( "default", {
|
|
topAnchor = false,
|
|
leftAnchor = false,
|
|
bottomAnchor = true,
|
|
rightAnchor = false,
|
|
bottom = -20,
|
|
left = -32,
|
|
right = 32,
|
|
height = 64
|
|
} )
|
|
f165_local1:animateToState( "default" )
|
|
self:addElement( f165_local1 )
|
|
return self
|
|
end
|
|
|
|
function match_countdown()
|
|
local self = LUI.UIElement.new()
|
|
self.id = "match_countdown"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0
|
|
} )
|
|
self:animateToState( "default" )
|
|
self:addElement( LUI.mp_hud.MatchStartHud.matchStartHudDef() )
|
|
return self
|
|
end
|
|
|
|
function UpdateHUDVisibility( f167_arg0 )
|
|
local f167_local0 = Game.GetOmnvar( "ui_predator_missile" ) > 0
|
|
local f167_local1
|
|
if Engine.GetDvarString( "ui_mapname" ) ~= "mp_alien_dlc3" or Game.GetOmnvar( "ui_vanguard" ) <= 0 then
|
|
f167_local1 = false
|
|
else
|
|
f167_local1 = true
|
|
end
|
|
local f167_local2 = f167_arg0.is_paused
|
|
local f167_local3 = f167_arg0.is_tech_tree_open
|
|
local f167_local4 = Game.GetOmnvar( "ui_session_state" ) == "spectator"
|
|
local f167_local5 = {}
|
|
local f167_local6 = nil
|
|
if f167_local2 or f167_local3 then
|
|
f167_local6 = true
|
|
elseif f167_local0 then
|
|
f167_local6 = true
|
|
f167_local5 = {
|
|
f167_arg0.spectating,
|
|
f167_arg0.predator
|
|
}
|
|
elseif f167_local1 then
|
|
f167_local6 = true
|
|
f167_local5 = {
|
|
f167_arg0.spectating,
|
|
f167_arg0.vanguardHUD,
|
|
f167_arg0.damageFeedback,
|
|
f167_arg0.cashWidget
|
|
}
|
|
elseif f167_local4 then
|
|
f167_local6 = true
|
|
f167_local5 = {
|
|
f167_arg0.spectating
|
|
}
|
|
else
|
|
f167_local6 = false
|
|
f167_local5 = {
|
|
f167_arg0.predator,
|
|
f167_arg0.vanguardHUD
|
|
}
|
|
end
|
|
local f167_local7 = {}
|
|
for f167_local11, f167_local12 in pairs( f167_local5 ) do
|
|
assert( f167_local12.id )
|
|
f167_local7[f167_local12.id] = true
|
|
end
|
|
for f167_local11, f167_local12 in pairs( f167_arg0.allWidgets ) do
|
|
assert( f167_local12.id )
|
|
local f167_local13 = not f167_local6
|
|
if f167_local7[f167_local12.id] then
|
|
f167_local13 = f167_local6
|
|
end
|
|
local f167_local14
|
|
if f167_local13 then
|
|
f167_local14 = "hud_on"
|
|
if not f167_local14 then
|
|
|
|
elseif f167_local12.current_state ~= f167_local14 then
|
|
f167_local12:processEvent( {
|
|
name = f167_local14
|
|
} )
|
|
f167_local12:animateToState( f167_local14, 100 )
|
|
f167_local12.current_state = f167_local14
|
|
end
|
|
end
|
|
f167_local14 = "hud_off"
|
|
end
|
|
end
|
|
|
|
function addWidget( f168_arg0, f168_arg1, f168_arg2 )
|
|
assert( f168_arg2 )
|
|
f168_arg2:registerAnimationState( "hud_on", {
|
|
alpha = 1,
|
|
scale = 0
|
|
} )
|
|
f168_arg2:registerAnimationState( "hud_off", {
|
|
alpha = 0,
|
|
scale = 0.2
|
|
} )
|
|
if f168_arg1 then
|
|
f168_arg0.fullscreen:addElement( f168_arg2 )
|
|
else
|
|
f168_arg0.scalable:addElement( f168_arg2 )
|
|
end
|
|
table.insert( f168_arg0.allWidgets, f168_arg2 )
|
|
return f168_arg2
|
|
end
|
|
|
|
function alien_hud()
|
|
local self = LUI.UIElement.new()
|
|
self.id = "alien_hud"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0
|
|
} )
|
|
self:registerAnimationState( "hidden", {
|
|
alpha = 0
|
|
} )
|
|
self:animateToState( "default" )
|
|
self.allWidgets = {}
|
|
self.scalable = LUI.UIElement.new()
|
|
self.scalable.id = "scalable"
|
|
self:addElement( self.scalable )
|
|
local f169_local1 = function ()
|
|
local f170_local0, f170_local1, f170_local2, f170_local3 = GameX.GetAdjustedSafeZoneSize()
|
|
local f170_local4 = Engine.UsingSplitscreenUpscaling() and 5 or 15
|
|
self.scalable:registerAnimationState( "current", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
left = f170_local0 + f170_local4,
|
|
top = f170_local1 + f170_local4,
|
|
right = f170_local2 - f170_local4,
|
|
bottom = f170_local3 - f170_local4
|
|
} )
|
|
self.scalable:animateToState( "current" )
|
|
end
|
|
|
|
self:registerEventHandler( "update_hud_margins", f169_local1 )
|
|
f169_local1()
|
|
self.fullscreen = LUI.UIElement.new()
|
|
self.fullscreen.id = "fullscreen"
|
|
self.fullscreen:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0
|
|
} )
|
|
self.fullscreen:animateToState( "default" )
|
|
self:addElement( self.fullscreen )
|
|
self.addWidget = addWidget
|
|
local f169_local2 = false
|
|
local f169_local3 = Engine.GetDvarString( "ui_mapname" )
|
|
if f169_local3 == "mp_alien_dlc3" then
|
|
self.vanguardHUD = self:addWidget( true, LUI.mp_hud.AlienVanguardOverlayHud.alienVanguardOverlayDef() )
|
|
elseif f169_local3 == "mp_alien_last" then
|
|
f169_local2 = true
|
|
self.nx1CustomReticle = self:addWidget( false, nx1_custom_reticle() )
|
|
end
|
|
self.weaponInfoWidget = self:addWidget( false, weapon_info() )
|
|
self.challenges = self:addWidget( false, challenges() )
|
|
self.cursorHint = self:addWidget( false, cursor_hints() )
|
|
self.hybridScopeHints = self:addWidget( false, hybrid_scope_hints() )
|
|
self.damageFeedback = self:addWidget( true, LUI.mp_hud.DamageFeedbackHud.damageFeedbackHudDef() )
|
|
self.gameMessages = self:addWidget( false, game_messages() )
|
|
self.healthMeter = self:addWidget( false, health_meter() )
|
|
self.juicedTimer = self:addWidget( false, juiced_timer() )
|
|
self.mantleHint = self:addWidget( false, mantle_hints() )
|
|
self.predator = self:addWidget( true, LUI.mp_hud.PredatorMissileOverlayHud.predatorMissileOverlayDef() )
|
|
self.quickShopWidget = self:addWidget( false, quick_shop() )
|
|
self.lastStandTimer = self:addWidget( false, laststand_timer() )
|
|
self.attackChopper = self:addWidget( false, attack_chopper() )
|
|
self.capturingHud = self:addWidget( false, LUI.mp_hud.AlienCapturingHud.captureHudDef() )
|
|
self.selfRevives = self:addWidget( false, self_revives() )
|
|
self.lockerKey = self:addWidget( false, locker_key() )
|
|
self.cashWidget = self:addWidget( false, cash_widget() )
|
|
if LUI.mp_menus.Aliens.IsChaosMode() then
|
|
self.chaosMainScore = self:addWidget( false, LUI.MenuBuilder.BuildRegisteredType( "chaos_main_score" ) )
|
|
self.chaosComboMeter = self:addWidget( false, LUI.MenuBuilder.BuildRegisteredType( "chaos_combo_meter" ) )
|
|
self.chaosClock = self:addWidget( false, LUI.MenuBuilder.BuildRegisteredType( "chaos_clock" ) )
|
|
self.chaosPerks = self:addWidget( false, LUI.MenuBuilder.BuildRegisteredType( "chaos_perks" ) )
|
|
self.chaosPerkUnlock = self:addWidget( false, LUI.MenuBuilder.BuildRegisteredType( "chaos_perk_unlock", {
|
|
perksWidget = self.chaosPerks
|
|
} ) )
|
|
self.chaosEventLog = self:addWidget( false, LUI.MenuBuilder.BuildRegisteredType( "chaos_event_log" ) )
|
|
self.chaosSkillIcon = self:addWidget( false, LUI.MenuBuilder.BuildRegisteredType( "chaos_class_skill_item" ) )
|
|
else
|
|
self.splashes = self:addWidget( false, splashes() )
|
|
self.drillMeterWidget = self:addWidget( false, drill_meter( f169_local2 ) )
|
|
self.skillPointsReminder = self:addWidget( false, skill_points_reminder() )
|
|
self.hiveBattle = self:addWidget( false, boss_meter() )
|
|
end
|
|
self.weaponAttachments = self:addWidget( false, LUI.MenuBuilder.buildItems( {
|
|
type = "weaponAttachmentProcessing"
|
|
}, {} ) )
|
|
self.blurUpdate = self:addWidget( false, LUI.MenuBuilder.buildItems( {
|
|
type = "blurProcessing"
|
|
}, {} ) )
|
|
self.spectating = self:addWidget( false, spectating() )
|
|
self.flashMessage = self:addWidget( false, flash_message() )
|
|
self.talkerHud = self:addWidget( false, talker_hud() )
|
|
self.nukeTimer = self:addWidget( false, nuke_countdown_timer() )
|
|
self.hiveBonus = self:addWidget( false, LUI.mp_hud.AlienScoreboards.hive_bonus_scoreboard() )
|
|
self.matchCountdown = self:addWidget( false, match_countdown() )
|
|
self:registerEventHandler( "toggle_pause", PauseAction )
|
|
self:registerEventHandler( "toggle_pause_off", UnpauseAction )
|
|
if not LUI.mp_menus.Aliens.IsChaosMode() then
|
|
self:registerEventHandler( "push_tech_tree", PushTechTreeAction )
|
|
self:registerEventHandler( "pop_tech_tree", PopTechTreeAction )
|
|
self:registerEventHandler( "keybind", function ( element, event )
|
|
if event.command == "+scores" or event.command == "togglescores" then
|
|
ToggleTechTree( element, event )
|
|
end
|
|
end )
|
|
end
|
|
self:registerOmnvarHandler( "ui_alien_show_eog_score", function ( f172_arg0, f172_arg1 )
|
|
self:animateToState( "hidden", 600 )
|
|
f172_arg0:dispatchEventToRoot( {
|
|
name = "round_end_show"
|
|
} )
|
|
end )
|
|
local f169_local4 = function ()
|
|
UpdateHUDVisibility( self )
|
|
end
|
|
|
|
self:registerOmnvarHandler( "ui_predator_missile", f169_local4 )
|
|
self:registerOmnvarHandler( "ui_session_state", f169_local4 )
|
|
if Engine.GetDvarString( "ui_mapname" ) == "mp_alien_dlc3" then
|
|
self:registerOmnvarHandler( "ui_vanguard", f169_local4 )
|
|
end
|
|
f169_local4()
|
|
local f169_local5 = LUI.UIElement.new()
|
|
f169_local5:setupUIIntWatch( "AlienCash" )
|
|
f169_local5.id = "cashWatch"
|
|
f169_local5:registerEventHandler( "int_watch_alert", function ( element, event )
|
|
event.name = "cash_change"
|
|
self.quickShopWidget:processEvent( event )
|
|
self.cashWidget:processEvent( event )
|
|
end )
|
|
local f169_local6 = LUI.UIElement.new()
|
|
f169_local6:setupUIIntWatch( "AlienSkillPoints" )
|
|
f169_local6.id = "points_watch"
|
|
f169_local6:registerEventHandler( "int_watch_alert", function ( element, event )
|
|
event.name = "ability_points_change"
|
|
if self.skillPointsReminder then
|
|
self.skillPointsReminder:processEvent( event )
|
|
end
|
|
self.quickShopWidget:processEvent( event )
|
|
end )
|
|
local f169_local7 = LUI.UIElement.new()
|
|
f169_local7:setupUIIntWatch( "AlienCumulatedSkillsLevel" )
|
|
f169_local7.id = "levels_watch"
|
|
f169_local7:registerEventHandler( "int_watch_alert", function ( element, event )
|
|
event.name = "ability_levels_change"
|
|
self.quickShopWidget:processEvent( event )
|
|
end )
|
|
self:addElement( f169_local5 )
|
|
if not LUI.mp_menus.Aliens.IsChaosMode() then
|
|
self:addElement( f169_local6 )
|
|
end
|
|
self:addElement( f169_local7 )
|
|
return self
|
|
end
|
|
|
|
LUI.MenuBuilder.registerType( "alien_hud", alien_hud )
|
|
LUI.HudManager.registerHud( "alien_hud" )
|
|
LockTable( _M )
|