using System.Collections.Generic;
namespace UXAssist.Common.GameConstants;
///
/// Hard-coded technology IDs used across tech patches.
///
public static class TechIds
{
///
/// Base game tech for "Sorter Cargo Stacking" upgrades.
///
public const int SorterCargoStacking = 3608;
/* Custom sorter cargo stacking techs used by UXAssist (repositioned clones). */
public const int SorterCargoStackingCustomStart = 3301;
public const int SorterCargoStackingCustomEnd = 3306;
/* Combat-related tech ranges disabled in peace mode. */
public static readonly HashSet CombatTechs = CreateCombatTechs();
private static HashSet CreateCombatTechs()
{
(int Start, int End)[] ranges =
[
// Explosive Unit, Crystal Explosive Unit
(1803, 1804),
// Implosion Cannon
(1807, 1807),
// Signal Tower, Planetary Defense System, Jammer Tower, Plasma Turret,
// ammo boxes, shell/missile sets, capsules, drones, corvettes, destroyers, suppressing/EM capsules
(1809, 1825),
// Auto Reconstruction Marking
(2951, 2956),
// Energy Shield
(2801, 2807),
// Kinetic Weapon Damage
(5001, 5006),
// Energy Weapon Damage
(5101, 5106),
// Explosive Weapon Damage
(5201, 5206),
// Combat Drone Damage
(5301, 5305),
// Combat Drone Attack Speed
(5401, 5405),
// Combat Drone Engine
(5601, 5605),
// Combat Drone Durability
(5701, 5705),
// Ground Squadron Expansion
(5801, 5807),
// Space Fleet Expansion
(5901, 5907),
// Enhanced Structure
(6001, 6006),
// Planetary Shield
(6101, 6106)
];
var set = new HashSet();
foreach (var (start, end) in ranges)
{
for (var id = start; id <= end; id++)
{
set.Add(id);
}
}
return set;
}
}