diff options
Diffstat (limited to 'sigbattle/TeamMember.cpp')
| -rw-r--r-- | sigbattle/TeamMember.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/sigbattle/TeamMember.cpp b/sigbattle/TeamMember.cpp index b0742380..c7ce437a 100644 --- a/sigbattle/TeamMember.cpp +++ b/sigbattle/TeamMember.cpp @@ -51,16 +51,23 @@ // C includes #include <cmath> -int Sigbattle::actionPriority(const TeamMember* teamMember, const TeamMember::Action& action) +int Sigbattle::actionPriority(TeamMember* teamMember, const TeamMember::Action& action) { int priority = INT_MAX; switch (action.first) { case TeamMember::Attack: - if (teamMember->hasValueOfType<int>("priority")) - - priority = teamMember->sigmod()->move(action.second.first.toString())->priority(); + { + QString move = action.second.first.toString(); + if (teamMember->hasValueOfType<int>(QString("move-priority-%1").arg(move))) + { + priority = teamMember->valueOfType<int>(QString("move-priority-%1").arg(move)); + teamMember->removeValue(QString("move-priority-%1").arg(move)); + } + else + priority = teamMember->sigmod()->move(move)->priority(); break; + } case TeamMember::Item: priority = INT_MIN / 3; break; |
