public TraitEffectAfflictPlanets(TraitEffectTypeAfflictPlanets type, BodyTrait parentTrait, StarData star, int duration)
 {
     this.type        = type;
     this.parentTrait = parentTrait;
     this.star        = star;
     this.duration    = duration;
 }
 public ITraitEffect Load(LocationBody location, BodyTrait parentTrait, IkonComposite loadData)
 {
     return(new TraitEffectAfflictPlanets(this, parentTrait, location.Star, loadData[StaticsDB.DurationTraitId].To <int>()));
 }
 public ITraitEffect Instantiate(LocationBody location, BodyTrait parentTrait)
 {
     return(new TraitEffectPassive());
 }
 public ITraitEffect Instantiate(LocationBody location, BodyTrait parentTrait)
 {
     return(new TraitEffectAfflictPlanets(this, parentTrait, location.Star, (int)this.initialDuration));
 }
 public ITraitEffect Load(LocationBody location, BodyTrait bodyTrait, IkonComposite loadData)
 {
     return(new TraitEffectPassive());
 }