public void SpellCast(Unit caster, Unit target, SpellRepos repos) { if (caster.Type == "Player") { Console.WriteLine("Select a Spell!"); Console.WriteLine(); Console.WriteLine(repos.SpellReposInfo(repos, caster)); Console.WriteLine(); if (caster.ClassType == "Warrior") { warriorSpellRepository.SpellCast(caster, target); } if (caster.ClassType == "Mage") { mageSpellRepository.SpellCast(caster, target); } if (caster.ClassType == "Priest") { priestSpellRepository.SpellCast(caster, target); } if (caster.ClassType == "Paladin") { paladinSpellRepository.SpellCast(caster, target); } if (caster.ClassType == "Hunter") { hunterSpellRepository.SpellCast(caster, target); } if (caster.ClassType == "Necroid") { necroidSpellRepository.SpellCast(caster, target); } if (caster.ClassType == "Naturalist") { naturalistSpellRepository.SpellCast(caster, target); } if (caster.ClassType == "Rogue") { rogueSpellRepository.SpellCast(caster, target); } if (caster.ClassType == "Shaman") { shamanSpellRepository.SpellCast(caster, target); } } else if (caster.Type == "Enemy") { Console.Write("[Enemy] "); if (caster.ClassType == "Beast") { beastSpellRepository.SpellCast(caster, target); } if (caster.ClassType == "Demon") { demonSpellRepository.SpellCast(caster, target); } if (caster.ClassType == "Giant") { giantSpellRepository.SpellCast(caster, target); } if (caster.ClassType == "Gryphon") { gryphonSpellRepository.SpellCast(caster, target); } if (caster.ClassType == "Reptile") { reptileSpellRepository.SpellCast(caster, target); } if (caster.ClassType == "Saint") { saintSpellRepository.SpellCast(caster, target); } if (caster.ClassType == "Skeleton") { skeletonSpellRepository.SpellCast(caster, target); } if (caster.ClassType == "Wyrm") { wyrmSpellRepository.SpellCast(caster, target); } if (caster.ClassType == "Zombie") { zombieSpellRepository.SpellCast(caster, target); } } }