// Constructor public StatusPKData( string ID, string baseID = null, string conditionName = null, string shortName = null, string inflictTextID = null, string healTextID = null, string alreadyTextID = null, string failTextID = null, EffectDatabase.General.DefaultTurns defaultTurns = null, bool combineBaseTags = false, IEnumerable <PokemonSTag> statusTags = null, PokemonCEff[] conditionEffects = null, bool combineBaseEffects = false, EffectDatabase.StatusPKEff.PokemonSE[] effectsNew = null) { this.ID = ID; this.baseID = baseID; this.conditionName = conditionName; this.shortName = shortName; this.inflictTextID = inflictTextID; this.healTextID = healTextID; this.alreadyTextID = alreadyTextID; this.failTextID = failTextID; this.defaultTurns = (defaultTurns == null) ? null : defaultTurns.Clone(); this.combineBaseTags = combineBaseTags; this.statusTags = (statusTags == null) ? new HashSet <PokemonSTag>() : new HashSet <PokemonSTag>(statusTags); this.conditionEffects = (conditionEffects == null) ? new PokemonCEff[0] : new PokemonCEff[conditionEffects.Length]; if (conditionEffects != null) { for (int i = 0; i < conditionEffects.Length; i++) { this.conditionEffects[i] = PokemonCEff.Clone(conditionEffects[i]); } } this.combineBaseEffects = combineBaseEffects; this.effectsNew = new List <EffectDatabase.StatusPKEff.PokemonSE>(); if (effectsNew != null) { List <EffectDatabase.StatusPKEff.PokemonSE> addableEffects = new List <EffectDatabase.StatusPKEff.PokemonSE>(); for (int i = 0; i < effectsNew.Length; i++) { addableEffects.Add(effectsNew[i].Clone()); } this.effectsNew = addableEffects; } }
// Clone public static PokemonCEff Clone(PokemonCEff original) { PokemonCEff cloneEffect = new PokemonCEff( effectType: original.effectType, effectTiming: original.effectTiming, forceEffectDisplay: original.forceEffectDisplay, boolParams: original.boolParams, floatParams: original.floatParams, stringParams: original.stringParams ); return(cloneEffect); }