159 lines
3.9 KiB
Lua
159 lines
3.9 KiB
Lua
TFA.ENUM_COUNTER = TFA.ENUM_COUNTER or 0
|
|
|
|
TFA.Enum.InverseStatus = TFA.Enum.InverseStatus or {}
|
|
local upper = string.upper
|
|
|
|
local function gen(input)
|
|
return "STATUS_" .. upper(input)
|
|
end
|
|
|
|
function TFA.AddStatus(input)
|
|
local key = gen(input)
|
|
local getkey = TFA.Enum[key]
|
|
|
|
if not getkey then
|
|
getkey = TFA.ENUM_COUNTER
|
|
TFA.ENUM_COUNTER = TFA.ENUM_COUNTER + 1
|
|
TFA.Enum[key] = getkey
|
|
end
|
|
|
|
TFA.Enum.InverseStatus[getkey] = key
|
|
|
|
return getkey
|
|
end
|
|
|
|
function TFA.GetStatus(input)
|
|
local key = gen(input)
|
|
local getkey = TFA.Enum[key]
|
|
|
|
if not getkey then
|
|
return TFA.AddStatus(input) -- DANGEROUS:
|
|
-- Race condition:
|
|
-- If something go terribly wrong and order of addition of new statuses fuck up
|
|
-- everything will fail horribly!
|
|
end
|
|
|
|
return getkey
|
|
end
|
|
|
|
TFA.AddStatus("idle")
|
|
TFA.AddStatus("draw")
|
|
TFA.AddStatus("holster")
|
|
TFA.AddStatus("holster_final")
|
|
TFA.AddStatus("holster_ready")
|
|
TFA.AddStatus("reloading")
|
|
TFA.AddStatus("reloading_wait")
|
|
|
|
TFA.AddStatus("reloading_loop_start")
|
|
TFA.AddStatus("reloading_loop_start_empty")
|
|
TFA.AddStatus("reloading_loop")
|
|
TFA.AddStatus("reloading_loop_end")
|
|
|
|
TFA.Enum.STATUS_RELOADING_SHOTGUN_START = TFA.Enum.STATUS_RELOADING_LOOP_START
|
|
TFA.Enum.STATUS_RELOADING_SHOTGUN_START_SHELL = TFA.Enum.STATUS_RELOADING_LOOP_START_EMPTY
|
|
TFA.Enum.STATUS_RELOADING_SHOTGUN_LOOP = TFA.Enum.STATUS_RELOADING_LOOP
|
|
TFA.Enum.STATUS_RELOADING_SHOTGUN_END = TFA.Enum.STATUS_RELOADING_LOOP_END
|
|
|
|
TFA.AddStatus("shooting")
|
|
TFA.AddStatus("silencer_toggle")
|
|
TFA.AddStatus("bashing")
|
|
TFA.AddStatus("bashing_wait")
|
|
TFA.AddStatus("inspecting")
|
|
TFA.AddStatus("fidget")
|
|
TFA.AddStatus("firemode")
|
|
|
|
TFA.AddStatus("pump")
|
|
|
|
TFA.AddStatus("knife_slash")
|
|
TFA.AddStatus("knife_stab")
|
|
|
|
TFA.AddStatus("grenade_pull")
|
|
TFA.AddStatus("grenade_ready")
|
|
TFA.AddStatus("grenade_throw")
|
|
|
|
TFA.AddStatus("blocking")
|
|
TFA.AddStatus("blocking_end")
|
|
|
|
TFA.AddStatus("bow_shoot")
|
|
TFA.AddStatus("bow_cancel")
|
|
|
|
TFA.AddStatus("grenade_pull")
|
|
TFA.AddStatus("grenade_throw")
|
|
TFA.AddStatus("grenade_ready")
|
|
TFA.AddStatus("grenade_throw_wait")
|
|
|
|
TFA.Enum.HolsterStatus = {
|
|
[TFA.Enum.STATUS_HOLSTER] = true,
|
|
[TFA.Enum.STATUS_HOLSTER_FINAL] = true,
|
|
[TFA.Enum.STATUS_HOLSTER_READY] = true
|
|
}
|
|
|
|
TFA.Enum.HolsterStatusFinal = {
|
|
[TFA.Enum.STATUS_HOLSTER_FINAL] = true,
|
|
[TFA.Enum.STATUS_HOLSTER_READY] = true
|
|
}
|
|
|
|
TFA.Enum.ReloadStatus = {
|
|
[TFA.Enum.STATUS_RELOADING] = true,
|
|
[TFA.Enum.STATUS_RELOADING_WAIT] = true,
|
|
[TFA.Enum.STATUS_RELOADING_LOOP_START] = true,
|
|
[TFA.Enum.STATUS_RELOADING_LOOP_START_EMPTY] = true,
|
|
[TFA.Enum.STATUS_RELOADING_LOOP] = true,
|
|
[TFA.Enum.STATUS_RELOADING_LOOP_END] = true
|
|
}
|
|
|
|
TFA.Enum.ReadyStatus = {
|
|
[TFA.Enum.STATUS_IDLE] = true,
|
|
[TFA.Enum.STATUS_INSPECTING] = true,
|
|
[TFA.Enum.STATUS_FIDGET] = true
|
|
}
|
|
|
|
TFA.Enum.IronStatus = {
|
|
[TFA.Enum.STATUS_IDLE] = true,
|
|
[TFA.Enum.STATUS_SHOOTING] = true,
|
|
[TFA.Enum.STATUS_PUMP] = true,
|
|
[TFA.Enum.STATUS_FIREMODE] = true--,
|
|
--[TFA.Enum.STATUS_FIDGET] = true
|
|
}
|
|
|
|
TFA.Enum.HUDDisabledStatus = {
|
|
[TFA.Enum.STATUS_IDLE] = true,
|
|
[TFA.Enum.STATUS_SHOOTING] = true,
|
|
[TFA.Enum.STATUS_FIREMODE] = true,
|
|
[TFA.Enum.STATUS_BASHING] = true,
|
|
[TFA.Enum.STATUS_BASHING_WAIT] = true,
|
|
[TFA.Enum.STATUS_HOLSTER] = true,
|
|
[TFA.Enum.STATUS_HOLSTER_FINAL] = true,
|
|
[TFA.Enum.STATUS_HOLSTER_READY] = true,
|
|
[TFA.Enum.STATUS_KNIFE_SLASH] = true,
|
|
[TFA.Enum.STATUS_KNIFE_STAB] = true,
|
|
[TFA.Enum.STATUS_GRENADE_PULL] = true,
|
|
[TFA.Enum.STATUS_GRENADE_READY] = true,
|
|
[TFA.Enum.STATUS_GRENADE_THROW] = true,
|
|
[TFA.Enum.STATUS_BLOCKING] = true,
|
|
[TFA.Enum.STATUS_BLOCKING_END] = true,
|
|
[TFA.Enum.STATUS_PUMP] = true
|
|
}
|
|
|
|
TFA.Enum.BashStatus = {
|
|
[TFA.Enum.STATUS_BASHING] = true,
|
|
[TFA.Enum.STATUS_BASHING_WAIT] = true,
|
|
}
|
|
|
|
TFA.Enum.SHOOT_IDLE = 0
|
|
TFA.Enum.SHOOT_START = 1
|
|
TFA.Enum.SHOOT_LOOP = 2
|
|
TFA.Enum.SHOOT_CHECK = 3
|
|
TFA.Enum.SHOOT_END = 4
|
|
|
|
TFA.Enum.ShootReadyStatus = {
|
|
[TFA.Enum.SHOOT_IDLE] = true,
|
|
[TFA.Enum.SHOOT_END] = true
|
|
}
|
|
|
|
TFA.Enum.ShootLoopingStatus = {
|
|
[TFA.Enum.SHOOT_START] = true,
|
|
[TFA.Enum.SHOOT_LOOP] = true,
|
|
[TFA.Enum.SHOOT_CHECK] = true
|
|
}
|