public SimpleSpellIntegration Copy() { SimpleSpellIntegration sii = new SimpleSpellIntegration { ShowSpellDescription = this.ShowSpellDescription, HitDie = this.HitDie.Copy(), HitConstant = this.HitConstant.Copy(), HitIncludeProfficiency = this.HitIncludeProfficiency, HitIncludeStr = this.HitIncludeStr, HitIncludeDex = this.HitIncludeDex, HitIncludeCon = this.HitIncludeCon, HitIncludeWis = this.HitIncludeWis, HitIncludeCha = this.HitIncludeCha, HitIncludeInt = this.HitIncludeInt, HitIncludeSpellcastingAbility = this.HitIncludeSpellcastingAbility, HitIsSpellSave = this.HitIsSpellSave, DamageIncludeProfficiency = this.DamageIncludeProfficiency, DamageIncludeStr = this.DamageIncludeStr, DamageIncludeDex = this.DamageIncludeDex, DamageIncludeCon = this.DamageIncludeCon, DamageIncludeWis = this.DamageIncludeWis, DamageIncludeCha = this.DamageIncludeCha, DamageIncludeInt = this.DamageIncludeInt, DamageIncludeSpellcastingAbility = this.DamageIncludeSpellcastingAbility, SaveConstant = this.SaveConstant.Copy(), SaveAttr = this.SaveAttr }; foreach (ScalableDamageLine dl in this.Damage) { sii.Damage.Add(dl.Copy()); } return(sii); }