diff options
Diffstat (limited to 'battle/Team.cpp')
| -rw-r--r-- | battle/Team.cpp | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/battle/Team.cpp b/battle/Team.cpp new file mode 100644 index 00000000..b840db40 --- /dev/null +++ b/battle/Team.cpp @@ -0,0 +1,77 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: battle/Team.cpp +// Purpose: Base class which is used to interface with the arena +// Author: Ben Boeckel +// Modified by: Ben Boeckel +// Created: Tue Oct 16 2007 19:22:20 +// Copyright: ©2007 Ben Boeckel and Nerdy Productions +// Licence: +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with this program. If not, see <http://www.gnu.org/licenses/>. +///////////////////////////////////////////////////////////////////////////// + +#include "Team.h" + +PokeGen::Battle::Team::Team(PokeMod::Pokemod* par) : + active(0), + parent(par) +{ +} + +void PokeGen::Battle::Team::AddItem(const unsigned i, const unsigned amt) +{ + if (amt) + items[i] = amt; +} + +void PokeGen::Battle::Team::UseItem(const unsigned i) +{ + if (items.contains(i) && (items[i] != UINT_MAX)) + { + --items[i]; + if (!items[i]) + items.remove(i); + } +} + +void PokeGen::Battle::Team::AddPokemon(Pokemon& p) +{ + pokemon.append(&p); +} + +void PokeGen::Battle::Team::SwapPokemon(const unsigned a, const unsigned b) +{ + if ((a < pokemon.size()) && (b < pokemon.size())) + { + Pokemon* temp = pokemon[a]; + pokemon[a] = pokemon[b]; + pokemon[b] = temp; + } +} + +bool PokeGen::Battle::Team::SetActivePokemon(const unsigned a) +{ + if ((a < pokemon.size()) && pokemon[a]->CanFight()) + active = a; +} + +unsigned PokeGen::Battle::Team::CanFight() const +{ + unsigned alive = 0; + for (unsigned i = 0; (i < pokemon.size()) && !alive; ++i) + { + if (pokemon[i]->CanFight()) + ++alive; + } + return alive; +} |
