iw6-lui/lui/mp_menus/playerdatainit.dec.lua
2024-09-12 17:25:45 +02:00

240 lines
10 KiB
Lua

local f0_local0 = function ( f1_arg0, f1_arg1, f1_arg2, f1_arg3 )
if f1_arg0 and Cac.Settings.DataLoc.loadouts.baseClassSlots <= f1_arg0 then
return Engine.TableLookup( "mp/classTable.csv", 0, f1_arg1, 12 )
elseif f1_arg2 == nil or f1_arg2 == "privateMatchSquadMembers" then
return Engine.TableLookup( "mp/classTable.csv", 0, f1_arg1, f1_arg0 % 10 + 1 )
elseif f1_arg3 == 0 then
return Engine.TableLookup( "mp/classTableAssault.csv", 0, f1_arg1, 1 )
elseif f1_arg3 == 1 then
return Engine.TableLookup( "mp/classTableCQB.csv", 0, f1_arg1, 1 )
elseif f1_arg3 == 2 then
return Engine.TableLookup( "mp/classTableAssassin.csv", 0, f1_arg1, 1 )
elseif f1_arg3 == 3 then
return Engine.TableLookup( "mp/classTableHeavyGunner.csv", 0, f1_arg1, 1 )
elseif f1_arg3 == 4 then
return Engine.TableLookup( "mp/classTableSniper.csv", 0, f1_arg1, 1 )
else
return Engine.TableLookup( "mp/classTableAssault.csv", 0, f1_arg1, 1 )
end
end
local f0_local1 = function ( f2_arg0, f2_arg1, f2_arg2 )
local f2_local0 = {}
local f2_local1 = 0
local f2_local2 = Engine.TableLookupByRow( f2_arg0, f2_local1, f2_arg2 )
while f2_local2 ~= "" do
if f2_local2 == f2_arg1 then
f2_local0[#f2_local0 + 1] = f2_local1
end
f2_local1 = f2_local1 + 1
f2_local2 = Engine.TableLookupByRow( f2_arg0, f2_local1, f2_arg2 )
end
return f2_local0
end
local f0_local2 = function ( f3_arg0, f3_arg1, f3_arg2, f3_arg3, f3_arg4, f3_arg5 )
local f3_local0 = f0_local0( f3_arg3, "loadout" .. f3_arg5, f3_arg1, f3_arg2 )
local f3_local1 = f0_local0( f3_arg3, "loadout" .. f3_arg5 .. "Attachment", f3_arg1, f3_arg2 )
local f3_local2 = f0_local0( f3_arg3, "loadout" .. f3_arg5 .. "Attachment2", f3_arg1, f3_arg2 )
local f3_local3 = f0_local0( f3_arg3, "loadout" .. f3_arg5 .. "Attachment3", f3_arg1, f3_arg2 )
local f3_local4 = f0_local0( f3_arg3, "loadout" .. f3_arg5 .. "Camo", f3_arg1, f3_arg2 )
Cac.SetCacConfig( f3_arg0, f3_arg1, f3_arg2, "loadouts", f3_arg3, "weaponSetups", f3_arg4, "weapon", f3_local0 )
Cac.SetCacConfig( f3_arg0, f3_arg1, f3_arg2, "loadouts", f3_arg3, "weaponSetups", f3_arg4, "attachment", 0, f3_local1 )
Cac.SetCacConfig( f3_arg0, f3_arg1, f3_arg2, "loadouts", f3_arg3, "weaponSetups", f3_arg4, "attachment", 1, f3_local2 )
Cac.SetCacConfig( f3_arg0, f3_arg1, f3_arg2, "loadouts", f3_arg3, "weaponSetups", f3_arg4, "attachment", 2, f3_local3 )
Cac.SetCacConfig( f3_arg0, f3_arg1, f3_arg2, "loadouts", f3_arg3, "weaponSetups", f3_arg4, "camo", f3_local4 )
local f3_local5 = {
f3_local1,
f3_local2,
f3_local3
}
local f3_local6 = "none"
for f3_local10, f3_local11 in ipairs( f3_local5 ) do
if f3_local11 and f3_local11 ~= "" and Cac.AttachmentHasReticles( f3_local11 ) then
f3_local6 = Cac.GetReticleDefault( f3_local11 )
break
end
end
Cac.SetCacConfig( f3_arg0, f3_arg1, f3_arg2, "loadouts", f3_arg3, "weaponSetups", f3_arg4, "reticle", f3_local6 )
end
local f0_local3 = function ( f4_arg0, f4_arg1, f4_arg2, f4_arg3, f4_arg4, f4_arg5 )
f0_local2( f4_arg0, f4_arg1, f4_arg2, f4_arg3, 0, "Primary" )
f0_local2( f4_arg0, f4_arg1, f4_arg2, f4_arg3, 1, "Secondary" )
end
local f0_local4 = function ( f5_arg0, f5_arg1, f5_arg2, f5_arg3 )
local f5_local0 = Cac.GetCacConfig( f5_arg0, f5_arg1, f5_arg2, "loadouts", f5_arg3, "perks", Cac.Indices.Grenade.Primary )
local f5_local1 = Cac.GetCacConfig( f5_arg0, f5_arg1, f5_arg2, "loadouts", f5_arg3, "perks", Cac.Indices.Grenade.Secondary )
Cac.SetCacConfig( f5_arg0, f5_arg1, f5_arg2, "loadouts", f5_arg3, "perks", Cac.Indices.Grenade.Primary, f0_local0( f5_arg3, "loadoutEquipment", f5_arg1, f5_arg2 ) )
Cac.SetCacConfig( f5_arg0, f5_arg1, f5_arg2, "loadouts", f5_arg3, "perks", Cac.Indices.Grenade.Secondary, f0_local0( f5_arg3, "loadoutOffhand", f5_arg1, f5_arg2 ) )
end
local f0_local5 = function ( f6_arg0, f6_arg1, f6_arg2, f6_arg3 )
for f6_local0 = 1, 8, 1 do
local f6_local3 = f0_local0( f6_arg3, "loadoutPerk" .. f6_local0, f6_arg1, f6_arg2 )
if f6_local3 then
if f6_local3 == "" then
break
end
local f6_local4 = tonumber( string.sub( f6_local3, 1, 1 ) )
local f6_local5 = tonumber( string.sub( f6_local3, 2, 2 ) )
if f6_local4 then
if not f6_local5 then
break
end
Cac.SetCacConfig( f6_arg0, f6_arg1, f6_arg2, "loadouts", f6_arg3, "abilitiesPicked", f6_local4 - 1, f6_local5 - 1, true )
end
end
end
end
local f0_local6 = function ( f7_arg0, f7_arg1, f7_arg2, f7_arg3 )
for f7_local0 = 0, 5, 1 do
local f7_local3 = f0_local0( f7_arg3, "loadoutStreak" .. f7_local0, f7_arg1, f7_arg2 )
local f7_local4 = "assaultStreaks"
local f7_local5 = f7_local0
if f7_local0 > 2 then
f7_local4 = "supportStreaks"
f7_local5 = f7_local0 - 3
end
Cac.SetCacConfig( f7_arg0, f7_arg1, f7_arg2, "loadouts", f7_arg3, f7_local4, f7_local5, f7_local3 )
end
end
local f0_local7 = function ( f8_arg0, f8_arg1, f8_arg2 )
for f8_local0 = 0, Cac.Settings.DataLoc.loadouts.baseClassSlots - 1, 1 do
Cac.SetCacConfig( f8_arg0, f8_arg1, f8_arg2, "loadouts", f8_local0, "name", Engine.Localize( f0_local0( f8_local0, "loadoutName" ) ) )
f0_local3( f8_arg0, f8_arg1, f8_arg2, f8_local0, 0, "Primary" )
f0_local3( f8_arg0, f8_arg1, f8_arg2, f8_local0, 1, "Secondary" )
f0_local4( f8_arg0, f8_arg1, f8_arg2, f8_local0 )
f0_local5( f8_arg0, f8_arg1, f8_arg2, f8_local0 )
f0_local6( f8_arg0, f8_arg1, f8_arg2, f8_local0 )
if f8_arg1 ~= "privateMatchSquadMembers" then
local f8_local3 = false
if f8_local0 <= 2 then
f8_local3 = true
end
Cac.SetCacConfig( f8_arg0, f8_arg1, f8_arg2, "loadouts", f8_local0, "inUse", f8_local3 )
end
end
end
local f0_local8 = function ( f9_arg0, f9_arg1, f9_arg2, f9_arg3, f9_arg4, f9_arg5 )
local f9_local0 = {
0,
4,
8,
12,
18,
22,
26,
30,
34,
40
}
local f9_local1 = math.random( 1, #f9_local0 )
local f9_local2 = {
0,
4,
9,
13,
27
}
local f9_local3 = math.random( 1, #f9_local2 )
local f9_local4 = Cac.GetGenderFromBodyRef( f9_local0[f9_local1] )
local f9_local5 = 0
if f9_local4 == "m" then
if math.random( 0, 1 ) == 1 then
f9_local5 = 0
else
f9_local5 = 8
end
else
f9_local5 = 20
end
Engine.SetPlayerDataEx( f9_arg0, f9_arg1, f9_arg2, f9_arg3, "name", f9_arg4 )
Engine.SetPlayerDataEx( f9_arg0, f9_arg1, f9_arg2, f9_arg3, "head", f9_local5 )
Engine.SetPlayerDataEx( f9_arg0, f9_arg1, f9_arg2, f9_arg3, "helmet", f9_local2[f9_local3] )
Engine.SetPlayerDataEx( f9_arg0, f9_arg1, f9_arg2, f9_arg3, "body", f9_local0[f9_local1] )
if f9_arg5 then
f0_local7( f9_arg0, f9_arg2, f9_arg3 )
end
end
local f0_local9 = function ( f10_arg0, f10_arg1, f10_arg2, f10_arg3 )
local f10_local0 = Cac.MaxSquadMemberCount( f10_arg2 )
local f10_local1 = f0_local1( "mp/namesTable.csv", "american", 0 )
for f10_local2 = 1, f10_local0, 1 do
local f10_local5 = math.random( f10_local2, #f10_local1 )
f10_local1[f10_local5] = f10_local1[f10_local2]
f10_local1[f10_local2] = f10_local1[f10_local5]
end
for f10_local2 = 1, f10_local0, 1 do
f0_local8( f10_arg0, f10_arg1, f10_arg2, f10_local2 - 1, Engine.TableLookupByRow( "mp/namesTable.csv", f10_local1[f10_local2], 1 ), f10_arg3 )
end
end
local f0_local10 = function ( f11_arg0, f11_arg1 )
local f11_local0 = Engine.GetPlayerDataEx( f11_arg0, f11_arg1, "prestige" )
Engine.SetPlayerDataEx( f11_arg0, f11_arg1, "challengeState", "ch_prestige", f11_local0 + 1 )
Engine.SetPlayerDataEx( f11_arg0, f11_arg1, "challengeProgress", "ch_prestige", f11_local0 + 1 )
if f11_local0 == 10 then
Engine.SetPlayerDataEx( f11_arg0, f11_arg1, "challengeState", "ch_prestige", 2 )
Engine.SetPlayerDataEx( f11_arg0, f11_arg1, "challengeProgress", "ch_prestige", 1 )
end
end
function InitPlayerData( f12_arg0, f12_arg1 )
local f12_local0 = f12_arg1.controller or 0
f0_local9( f12_local0, CoD.StatsGroup.Ranked, "squadMembers", true )
f0_local9( f12_local0, CoD.StatsGroup.Private, "privateMatchSquadMembers", true )
Engine.SetPlayerDataEx( f12_local0, CoD.StatsGroup.Ranked, "squadMembers", 0, "inUse", true )
Engine.SetPlayerDataEx( f12_local0, CoD.StatsGroup.Ranked, "challengeState", "ch_squad_member1_purchase", 2 )
for f12_local1 = 0, Cac.MaxSquadMemberCount( "privateMatchSquadMembers" ) - 1, 1 do
local f12_local4 = f12_local1
Engine.SetPlayerDataEx( f12_local0, CoD.StatsGroup.Private, "privateMatchSquadMembers", 0, "inUse", true )
end
f0_local9( f12_local0, CoD.StatsGroup.Coop, "coopSquadMembers", false )
f0_local10( f12_local0, CoD.StatsGroup.Ranked )
Engine.SetPlayerDataEx( f12_local0, CoD.StatsGroup.Common, "enableBattleBuddy", false )
local f12_local1 = f0_local1( "mp/squadDefaults.csv", "squadname", 0 )
Engine.SetPlayerDataEx( f12_local0, CoD.StatsGroup.Ranked, "squadHQ", "squad_name", Engine.TableLookupByRow( "mp/squadDefaults.csv", f12_local1[math.random( 1, #f12_local1 )], 1 ) )
local f12_local4 = f0_local1( "mp/squadDefaults.csv", "mapname", 0 )
Engine.SetPlayerDataEx( f12_local0, CoD.StatsGroup.Ranked, "squadHQ", "squad_base", Engine.TableLookupByRow( "mp/squadDefaults.csv", f12_local4[math.random( 1, #f12_local4 )], 1 ) )
Engine.SetPlayerDataEx( f12_local0, CoD.StatsGroup.Ranked, "squadHQ", "squad_mode", "war" )
for f12_local5 = 0, 9, 1 do
Engine.SetPlayerDataEx( f12_local0, CoD.StatsGroup.Ranked, "squadHQ", "aiSquadMembers", f12_local5, f12_local5 )
end
InitOperationsData( f12_local0 )
ResetMOTDCounters( f12_local0 )
end
function InitPlayerDataExtended( f13_arg0, f13_arg1 )
local f13_local0 = {
"privateMatchSquadMembers",
"squadMembers"
}
local f13_local1 = f13_arg1.controller
if not f13_local1 then
return
end
for f13_local10, f13_local11 in ipairs( f13_local0 ) do
local f13_local12 = Cac.MaxSquadMemberCount( f13_local11 )
local f13_local13 = Cac.Settings.DataLoc.loadouts.baseClassSlots
local f13_local14 = Cac.Settings.DataLoc.loadouts.maxClassSlots
for f13_local9 = 0, f13_local12 - 1, 1 do
for f13_local5 = 0, f13_local14 - f13_local13 - 1, 1 do
local f13_local8 = f13_local5 + f13_local13
f0_local3( f13_local1, f13_local11, f13_local9, f13_local8, 0, "Primary" )
f0_local3( f13_local1, f13_local11, f13_local9, f13_local8, 1, "Secondary" )
f0_local4( f13_local1, f13_local11, f13_local9, f13_local8 )
f0_local5( f13_local1, f13_local11, f13_local9, f13_local8 )
f0_local6( f13_local1, f13_local11, f13_local9, f13_local8 )
Cac.SetCacConfig( f13_local1, f13_local11, f13_local9, "loadouts", f13_local8, "name", Engine.Localize( "LUA_MENU_EXTRA_LOADOUT", f13_local5 + 1 ) )
end
end
end
end