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

124 lines
4.9 KiB
Lua

Rank = {}
RankTable = {
File = "mp/rankTable.csv",
AlienFile = "mp/alien/rankTable.csv",
Cols = {
RankId = 0,
Rank = 1,
MinXp = 2,
XpToNextLevel = 3,
ShortRankName = 4,
FullRankName = 5,
RankIcon = 6,
MaxXp = 7,
Level = 13,
DisplayLevel = 14,
InGameRank = 16,
UnlockString = 17
}
}
RankIconTable = {
File = "mp/rankIconTable.csv",
AlienFile = "mp/alien/rankIconTable.csv",
Cols = {
RankId = 0,
Standard = 1,
Prestige1 = 2
}
}
Rank.GetMaxRank = function ( f1_arg0 )
local f1_local0 = nil
if not f1_arg0 or f1_arg0 == CoD.PlayMode.Core or f1_arg0 == CoD.PlayMode.SquadVsSquad then
f1_local0 = tonumber( Engine.TableLookup( RankTable.File, 0, "maxrank", 1 ) )
assert( f1_local0 ~= nil, "Rank.GetMaxRank() : Could not read max rank (MP)" )
elseif f1_arg0 == CoD.PlayMode.Aliens then
f1_local0 = tonumber( Engine.TableLookup( RankTable.AlienFile, 0, "maxrank", 1 ) )
assert( f1_local0 ~= nil, "Rank.GetMaxRank() : Could not read max rank (ALIENS)" )
else
DebugPrint( "[WARNING] Rank.GetMaxRank() : Unsupported CodPlayMode [" .. f1_arg0 .. "]!" )
f1_local0 = 0
end
return f1_local0
end
Rank.GetRankDisplay = function ( f2_arg0, f2_arg1 )
local f2_local0 = nil
if not f2_arg1 or f2_arg1 == CoD.PlayMode.Core or f2_arg1 == CoD.PlayMode.SquadVsSquad then
f2_local0 = Engine.TableLookup( RankTable.File, RankTable.Cols.RankId, f2_arg0, RankTable.Cols.DisplayLevel )
elseif f2_arg1 == CoD.PlayMode.Aliens then
f2_local0 = Engine.TableLookup( RankTable.AlienFile, RankTable.Cols.RankId, f2_arg0, RankTable.Cols.DisplayLevel )
else
DebugPrint( "[WARNING] Rank.GetRankDisplay() : Unsupported CodPlayMode [" .. f2_arg1 .. "]!" )
f2_local0 = ""
end
return f2_local0
end
Rank.GetRankMinXP = function ( f3_arg0, f3_arg1 )
local f3_local0 = nil
if not f3_arg1 or f3_arg1 == CoD.PlayMode.Core or f3_arg1 == CoD.PlayMode.SquadVsSquad then
f3_local0 = tonumber( Engine.TableLookup( RankTable.File, RankTable.Cols.RankId, f3_arg0, RankTable.Cols.MinXp ) )
elseif f3_arg1 == CoD.PlayMode.Aliens then
f3_local0 = tonumber( Engine.TableLookup( RankTable.AlienFile, RankTable.Cols.RankId, f3_arg0, RankTable.Cols.MinXp ) )
else
DebugPrint( "[WARNING] Rank.GetRankMinXP() : Unsupported CodPlayMode [" .. f3_arg1 .. "]!" )
f3_local0 = 0
end
return f3_local0
end
Rank.GetRankMaxXP = function ( f4_arg0, f4_arg1 )
local f4_local0 = nil
if not f4_arg1 or f4_arg1 == CoD.PlayMode.Core or f4_arg1 == CoD.PlayMode.SquadVsSquad then
f4_local0 = tonumber( Engine.TableLookup( RankTable.File, RankTable.Cols.RankId, f4_arg0, RankTable.Cols.MaxXp ) )
assert( f4_local0 ~= nil, "Rank.GetRankMaxXP() : Could not read max XP for rank (MP)" )
elseif f4_arg1 == CoD.PlayMode.Aliens then
f4_local0 = tonumber( Engine.TableLookup( RankTable.AlienFile, RankTable.Cols.RankId, f4_arg0, RankTable.Cols.MaxXp ) )
assert( f4_local0 ~= nil, "Rank.GetRankMaxXP() : Could not read max XP for rank (ALIENS)" )
else
DebugPrint( "[WARNING] Rank.GetRankMaxXP() : Unsupported CodPlayMode [" .. f4_arg1 .. "]!" )
f4_local0 = 0
end
return f4_local0
end
Rank.GetRankXPToNext = function ( f5_arg0, f5_arg1 )
local f5_local0 = nil
if not f5_arg1 or f5_arg1 == CoD.PlayMode.Core or f5_arg1 == CoD.PlayMode.SquadVsSquad then
f5_local0 = tonumber( Engine.TableLookup( RankTable.File, RankTable.Cols.RankId, f5_arg0, RankTable.Cols.XpToNextLevel ) )
elseif f5_arg1 == CoD.PlayMode.Aliens then
f5_local0 = tonumber( Engine.TableLookup( RankTable.AlienFile, RankTable.Cols.RankId, f5_arg0, RankTable.Cols.XpToNextLevel ) )
else
DebugPrint( "[WARNING] Rank.GetRankXPToNext() : Unsupported CodPlayMode [" .. f5_arg1 .. "]!" )
f5_local0 = 0
end
return f5_local0
end
Rank.GetRankIcon = function ( f6_arg0, f6_arg1, f6_arg2 )
local f6_local0 = nil
if not f6_arg2 or f6_arg2 == CoD.PlayMode.Core or f6_arg2 == CoD.PlayMode.SquadVsSquad then
f6_local0 = Engine.TableLookup( RankIconTable.File, RankIconTable.Cols.RankId, f6_arg0, RankIconTable.Cols.Standard + f6_arg1 )
elseif f6_arg2 == CoD.PlayMode.Aliens then
f6_local0 = Engine.TableLookup( RankIconTable.AlienFile, RankIconTable.Cols.RankId, f6_arg0, RankIconTable.Cols.Standard + f6_arg1 )
else
DebugPrint( "[WARNING] Rank.GetRankIcon() : Unsupported CodPlayMode [" .. f6_arg2 .. "]!" )
f6_local0 = ""
end
return f6_local0
end
Rank.GetFullRank = function ( f7_arg0, f7_arg1 )
local f7_local0 = nil
if not f7_arg1 or f7_arg1 == CoD.PlayMode.Core or f7_arg1 == CoD.PlayMode.SquadVsSquad then
f7_local0 = Engine.Localize( "@" .. Engine.TableLookup( RankTable.File, RankTable.Cols.RankId, f7_arg0, RankTable.Cols.FullRankName ) )
elseif f7_arg1 == CoD.PlayMode.Aliens then
f7_local0 = Engine.Localize( "@" .. Engine.TableLookup( RankTable.AlienFile, RankTable.Cols.RankId, f7_arg0, RankTable.Cols.FullRankName ) )
else
DebugPrint( "[WARNING] Rank.GetFullRank() : Unsupported CodPlayMode [" .. f7_arg1 .. "]!" )
f7_local0 = ""
end
return f7_local0
end