/* * Copyright 2008 Ben Boeckel * * 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 . */ // 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(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()) return value("level").toInt(); return m_teamMember->level(); } QList Pokescripting::MapTrainerTeamMemberWrapper::abilities() { QList abilityIds = m_teamMember->abilities(); QList abilities; foreach (int id, abilityIds) abilities.append(pokemod()->ability(id)); return abilities; } QList Pokescripting::MapTrainerTeamMemberWrapper::items() { QList itemIds = m_teamMember->items(); QList items; foreach (int id, itemIds) items.append(pokemod()->item(id)); return items; } QList Pokescripting::MapTrainerTeamMemberWrapper::moves() { QList moveIds = m_teamMember->moves(); QList moves; foreach (int id, moveIds) moves.append(pokemod()->move(id)); return moves; } QList Pokescripting::MapTrainerTeamMemberWrapper::natures() { QList natureIds = m_teamMember->natures(); QList natures; foreach (int id, natureIds) natures.append(pokemod()->nature(id)); return natures; }