//copy ctor
    public UB_SpellStatus(UB_SpellStatus prius)
    {
        if (prius == null)
        {
            return;
        }

        StatusName        = prius.StatusName;
        Target            = prius.Target;
        UpgradeReq        = prius.UpgradeReq;
        StatusDescription = prius.StatusDescription;
        StatModifierCode  = prius.StatModifierCode;
        ModifyAmount      = prius.ModifyAmount;
        ChanceToApply     = prius.ChanceToApply;
        Turns             = prius.Turns;
        Icon = prius.Icon;
        FX   = prius.FX;
    }
    //copy ctor
    public UB_SpellDetail(UB_SpellDetail prius)
    {
        if (prius == null)
        {
            return;
        }

        Description   = prius.Description;
        Icon          = prius.Icon;
        Target        = prius.Target;
        BaseDmg       = prius.BaseDmg;
        ManaCost      = prius.ManaCost;
        BaseDmg       = prius.BaseDmg;
        UpgradePower  = prius.UpgradePower;
        UpgradeLevels = prius.UpgradeLevels;
        FX            = prius.FX;
        Cooldown      = prius.Cooldown;
        LevelReq      = prius.LevelReq;
        ApplyStatus   = new UB_SpellStatus(prius.ApplyStatus);
    }