From d1eb604239e648cab0dc5dc0cc8b2e5bfa7e1e48 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Sat, 10 Jan 2009 17:47:20 -0500 Subject: Checking items in MapTrainerTeamMember includes count checking as well --- sigmod/MapTrainerTeamMember.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'sigmod/MapTrainerTeamMember.cpp') diff --git a/sigmod/MapTrainerTeamMember.cpp b/sigmod/MapTrainerTeamMember.cpp index caaec773..a40cd832 100644 --- a/sigmod/MapTrainerTeamMember.cpp +++ b/sigmod/MapTrainerTeamMember.cpp @@ -108,8 +108,7 @@ SETTER_LIST_LIMIT(MapTrainerTeamMember, Ability, ability, sigmod()->rules()->max void Sigmod::MapTrainerTeamMember::setItem(const int item, const int count) { - TBOUNDS("item count", 0, INT_MAX, count); - if (count && itemCheck(item) && (!m_item.contains(item) || (count != m_item[item]))) + if (count && itemCheck(item, count) && (!m_item.contains(item) || (count != m_item[item]))) { const QList items = m_item.keys(); int total = count; @@ -152,7 +151,10 @@ GETTER_LIST(MapTrainerTeamMember, nature) CHECK_INDEX(MapTrainerTeamMember, int, species, sigmod(), species) CHECK_BOUNDS(MapTrainerTeamMember, int, level, 1, sigmod()->rules()->maxLevel()) CHECK_INDEX(MapTrainerTeamMember, int, ability, sigmod(), ability) -CHECK_INDEX(MapTrainerTeamMember, int, item, sigmod(), item) +CHECK_BEGIN_ARRAY(MapTrainerTeamMember, int, item, count, int, item) + IBOUNDS(item, sigmod(), item); + TBOUNDS_MOD(item_count, 0, sigmod()->rules()->maxHeldItems(), count) +CHECK_END() CHECK_BEGIN(MapTrainerTeamMember, int, move) IBOUNDS(move, sigmod(), move); if (!canLearn(move)) -- cgit