diff options
Diffstat (limited to 'sigscript/MapTrainerTeamMemberWrapper.cpp')
| -rw-r--r-- | sigscript/MapTrainerTeamMemberWrapper.cpp | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/sigscript/MapTrainerTeamMemberWrapper.cpp b/sigscript/MapTrainerTeamMemberWrapper.cpp new file mode 100644 index 00000000..a7b52c35 --- /dev/null +++ b/sigscript/MapTrainerTeamMemberWrapper.cpp @@ -0,0 +1,84 @@ +/* + * Copyright 2008 Ben Boeckel <MathStuf@gmail.com> + * + * 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/>. + */ + +// Header include +#include "MapTrainerTeamMemberWrapper.h" + +// Pokescripting includes +#include "MapTrainerWrapper.h" +#include "PokemodWrapper.h" + +Pokescripting::MapTrainerTeamMemberWrapper* Pokescripting::MapTrainerTeamMemberWrapper::create(const Pokemod::MapTrainerTeamMember* teamMember, MapTrainerWrapper* parent) +{ + if (!m_instances.contains(Signiture(parent, teamMember->id()))) + m_instances[Signiture(parent, teamMember->id())] = new MapTrainerTeamMemberWrapper(teamMember, parent); + return qobject_cast<MapTrainerTeamMemberWrapper*>(m_instances[Signiture(parent, teamMember->id())]); +} + +Pokescripting::MapTrainerTeamMemberWrapper::MapTrainerTeamMemberWrapper(const Pokemod::MapTrainerTeamMember* teamMember, MapTrainerWrapper* parent) : + ObjectWrapper(teamMember, parent), + m_teamMember(teamMember) +{ +} + +Pokescripting::SpeciesWrapper* Pokescripting::MapTrainerTeamMemberWrapper::species() +{ + return pokemod()->species(m_teamMember->species()); +} + +int Pokescripting::MapTrainerTeamMemberWrapper::level() const +{ + if (value("level").canConvert<int>()) + return value("level").toInt(); + return m_teamMember->level(); +} + +QList<Pokescripting::AbilityWrapper*> Pokescripting::MapTrainerTeamMemberWrapper::abilities() +{ + QList<int> abilityIds = m_teamMember->abilities(); + QList<AbilityWrapper*> abilities; + foreach (int id, abilityIds) + abilities.append(pokemod()->ability(id)); + return abilities; +} + +QList<Pokescripting::ItemWrapper*> Pokescripting::MapTrainerTeamMemberWrapper::items() +{ + QList<int> itemIds = m_teamMember->items(); + QList<ItemWrapper*> items; + foreach (int id, itemIds) + items.append(pokemod()->item(id)); + return items; +} + +QList<Pokescripting::MoveWrapper*> Pokescripting::MapTrainerTeamMemberWrapper::moves() +{ + QList<int> moveIds = m_teamMember->moves(); + QList<MoveWrapper*> moves; + foreach (int id, moveIds) + moves.append(pokemod()->move(id)); + return moves; +} + +QList<Pokescripting::NatureWrapper*> Pokescripting::MapTrainerTeamMemberWrapper::natures() +{ + QList<int> natureIds = m_teamMember->natures(); + QList<NatureWrapper*> natures; + foreach (int id, natureIds) + natures.append(pokemod()->nature(id)); + return natures; +} |
