public override void LoadRules(IniFile.IniSection rules) { base.LoadRules(rules); WeaponType = rules.ReadEnum<WeaponType>("WeaponType", null); Action = rules.ReadEnum<Action>("Action", Action.MultiMissile); IsPowered = rules.ReadBool("IsPowered", true); DisableableFromShell = rules.ReadBool("DisableableFromShell"); SidebarFlashTabFrames = rules.ReadInt("SidebarFlashTabFrames", -1); AIDefendAgainst = rules.ReadBool("AIDefendAgainst"); PreClick = rules.ReadBool("PreClick"); PostClick = rules.ReadBool("PostClick"); ShowTimer = rules.ReadBool("ShowTimer"); SpecialSound = Get<Sound>(rules.ReadString("SpecialSound")); StartSound = Get<Sound>(rules.ReadString("StartSound")); Range = rules.ReadFloat("Range", 0); LineMultiplier = rules.ReadInt("LineMultiplier", 0); Type = rules.ReadEnum<AbstractType>("Type", null); PreDependent = rules.ReadEnum<WeaponType>("PreDependent", null); AuxBuilding = Get<BuildingType>(rules.ReadString("AuxBuilding")); UseChargeDrain = rules.ReadBool("UseChargeDrain"); ManualControl = rules.ReadBool("ManualControl"); RechargeTime = rules.ReadFloat("RechargeTime", 5.0f); SidebarImage = rules.ReadString("SidebarImage", ""); }