// Second constructor used to create an item from library data. This is the item that is placed in the world
 public Ability(Ability data)
 {
     AbilityName     = data.AbilityName;
     ActionPointCost = data.ActionPointCost;
     BaseCooldown    = data.BaseCooldown;
     currentCooldown = 0;
     Range           = data.Range;
     PrimaryValue    = data.PrimaryValue;
     SecondaryValue  = data.SecondaryValue;
     ValidTargets    = data.ValidTargets;
 }
 // Constructors
 #region
 // First constructor used by ItemLibrary to create initial ability data object
 public Ability(string abilityName, int actionPointCost, int baseCooldown, int range,
                int primaryValue, int secondaryValue, TargettingOptions validTargets)
 {
     AbilityName     = abilityName;
     ActionPointCost = actionPointCost;
     BaseCooldown    = baseCooldown;
     currentCooldown = 0;
     Range           = range;
     PrimaryValue    = primaryValue;
     SecondaryValue  = secondaryValue;
     ValidTargets    = validTargets;
 }