Example #1
0
    // Clone
    public static BattleTeam Clone(BattleTeam original)
    {
        List <Trainer> trainers = new List <Trainer>();

        for (int i = 0; i < original.trainers.Count; i++)
        {
            trainers.Add(original.trainers[i].Clone());
        }

        BattleTeam cloneTeam = new BattleTeam(
            teamMode: original.teamMode,
            trainers: trainers,
            teamID: original.teamID,
            setupControl: false
            );

        cloneTeam.bProps = BattleTeamProperties.Clone(original.bProps);
        return(cloneTeam);
    }
Example #2
0
    // Constructor
    public BattleTeam(
        TeamMode teamMode       = TeamMode.Single,
        List <Trainer> trainers = null,
        int teamID        = 0,
        bool setupControl = true)
    {
        this.teamMode = teamMode;
        this.teamID   = teamID;
        this.trainers = new List <Trainer>();
        if (trainers != null)
        {
            this.trainers.AddRange(trainers);
            if (setupControl)
            {
                SetTeamPos(this.teamID);
                SetUpTrainerControl();
            }
        }

        bProps = new BattleTeamProperties();
    }
Example #3
0
    // Clone
    public static BattleTeamProperties Clone(BattleTeamProperties original)
    {
        BattleTeamProperties clone = new BattleTeamProperties();

        for (int i = 0; i < original.entryHazards.Count; i++)
        {
            clone.entryHazards.Add(EntryHazard.Clone(original.entryHazards[i]));
        }

        clone.GMaxWildfireStatus = (original.GMaxWildfireStatus == null) ? null : original.GMaxWildfireStatus.Clone();

        for (int i = 0; i < original.lightScreens.Count; i++)
        {
            clone.lightScreens.Add(TeamCondition.Clone(original.lightScreens[i]));
        }
        for (int i = 0; i < original.matBlocks.Count; i++)
        {
            clone.matBlocks.Add(original.matBlocks[i].Clone());
        }

        for (int i = 0; i < original.reflectScreens.Count; i++)
        {
            clone.reflectScreens.Add(ReflectScreen.Clone(original.reflectScreens[i]));
        }

        for (int i = 0; i < original.safeguards.Count; i++)
        {
            clone.safeguards.Add(Safeguard.Clone(original.safeguards[i]));
        }

        clone.protectMovesActive = new List <string>(original.protectMovesActive);

        for (int i = 0; i < original.conditions.Count; i++)
        {
            clone.conditions.Add(TeamCondition.Clone(original.conditions[i]));
        }

        return(clone);
    }