public override void SetModule(int id, WeaponModuleType moduleType) { base.SetModule(id, moduleType); if (id == 4) { this._isCharged = moduleType == WeaponModuleType.Legendary; this.Rps = this._isCharged ? DevotionChargedRps : DevotionRps; } }
public WeaponModuleType[] GetModulesState(int weaponNumberOfModules) { var ret = new WeaponModuleType[weaponNumberOfModules]; var baseColors = new[] { CommonColor, RareColor, Rare2Color, EpicColor, LegendaryColor }; for (var i = 0; i < weaponNumberOfModules; i++) { var offsetX = i * 1.46f; var image = ScreenCapture.CaptureScreenRelatively(79.3f + offsetX, 79.5f + offsetX, 92.8f, 93.2f, this.FullScreenMode); //image.SaveTestImage(i.ToString()); var avColor = image.GetAverageColor(); var closestColor = ImageUtils.GetClosestColor(baseColors, avColor); if (closestColor == CommonColor) { ret[i] = WeaponModuleType.Common; } else if (closestColor == RareColor || closestColor == Rare2Color) { ret[i] = WeaponModuleType.Rare; } else if (closestColor == EpicColor) { ret[i] = WeaponModuleType.Epic; } else if (closestColor == LegendaryColor) { ret[i] = WeaponModuleType.Legendary; } else { ret[i] = WeaponModuleType.None; } } return(ret); }