public void AssignAllTalentsFromCharacter(Character character, bool clone) { if (clone) { WarriorTalents = (WarriorTalents)character.WarriorTalents.Clone(); PaladinTalents = (PaladinTalents)character.PaladinTalents.Clone(); HunterTalents = (HunterTalents)character.HunterTalents.Clone(); RogueTalents = (RogueTalents)character.RogueTalents.Clone(); PriestTalents = (PriestTalents)character.PriestTalents.Clone(); ShamanTalents = (ShamanTalents)character.ShamanTalents.Clone(); MageTalents = (MageTalents)character.MageTalents.Clone(); WarlockTalents = (WarlockTalents)character.WarlockTalents.Clone(); DruidTalents = (DruidTalents)character.DruidTalents.Clone(); DeathKnightTalents = (DeathKnightTalents)character.DeathKnightTalents.Clone(); } else { _warriorTalents = character._warriorTalents; _paladinTalents = character._paladinTalents; _hunterTalents = character._hunterTalents; _rogueTalents = character._rogueTalents; _priestTalents = character._priestTalents; _shamanTalents = character._shamanTalents; _mageTalents = character._mageTalents; _warlockTalents = character._warlockTalents; _druidTalents = character._druidTalents; _deathKnightTalents = character._deathKnightTalents; } }
public static int ShotRotationGetRightSpec(HunterTalents talents) { int specIndex = 0; int Iter = 0; int SpecTalentCount_BM = 0; for (Iter = 00; Iter < 19; Iter++) { SpecTalentCount_BM += talents.Data[Iter]; } int SpecTalentCount_MM = 0; for (Iter = 19; Iter < 38; Iter++) { SpecTalentCount_MM += talents.Data[Iter]; } int SpecTalentCount_SV = 0; for (Iter = 38; Iter < 58; Iter++) { SpecTalentCount_SV += talents.Data[Iter]; } // No Shot Priority set up, use a default based on talent spec if (SpecTalentCount_BM > SpecTalentCount_MM && SpecTalentCount_BM > SpecTalentCount_SV) { specIndex = (int)CalculationOptionsPanelHunter.Specs.BeastMaster; } if (SpecTalentCount_MM > SpecTalentCount_BM && SpecTalentCount_MM > SpecTalentCount_SV) { specIndex = (int)CalculationOptionsPanelHunter.Specs.Marksman; } if (SpecTalentCount_SV > SpecTalentCount_MM && SpecTalentCount_SV > SpecTalentCount_BM) { specIndex = (int)CalculationOptionsPanelHunter.Specs.Survival; } return specIndex; }