summaryrefslogtreecommitdiffstats
path: root/sigbattle/TeamMember.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sigbattle/TeamMember.cpp')
-rw-r--r--sigbattle/TeamMember.cpp15
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;