diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2009-02-09 05:25:12 -0500 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2009-02-09 05:25:12 -0500 |
| commit | 653e738133e5f54e16e2484d6a9475ba1b02853d (patch) | |
| tree | 6e959732ade41272f3ed3bd8801a996e999d7a14 /sigencore/TeamMember.cpp | |
| parent | 62add64f02b1738e42b779a498facbe6d3a50979 (diff) | |
| download | sigen-653e738133e5f54e16e2484d6a9475ba1b02853d.tar.gz sigen-653e738133e5f54e16e2484d6a9475ba1b02853d.tar.xz sigen-653e738133e5f54e16e2484d6a9475ba1b02853d.zip | |
Reorganized the Action enumeration to be flexible and have script overrides
Diffstat (limited to 'sigencore/TeamMember.cpp')
| -rw-r--r-- | sigencore/TeamMember.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/sigencore/TeamMember.cpp b/sigencore/TeamMember.cpp index 67cdea3f..403cce2d 100644 --- a/sigencore/TeamMember.cpp +++ b/sigencore/TeamMember.cpp @@ -22,6 +22,7 @@ #include "Arena.h" #include "Containment.h" #include "Player.h" +#include "RunScript.h" // Sigscript includes #include "../sigscript/AbilityWrapper.h" @@ -78,9 +79,19 @@ int Sigencore::actionPriority(TeamMember* teamMember, const TeamMember::Action& case TeamMember::Timeout: priority = INT_MAX; break; - case TeamMember::Invalid: - priority = INT_MAX - 1; + default: + { + bool ok; + ObjectMap objects; + objects["arena"] = teamMember->arena(); + objects["owner"] = teamMember; + objects["sigmod"] = teamMember->sigmod(); + Kross::Action* kaction = globalScript(teamMember->sigmod(), QString("battleaction-priority-%1").arg(action.first), QUuid::createUuid().toString()); + priority = kaction->callFunction("priority").toInt(&ok); + if (!ok) + priority = 0; break; + } } return priority; } |
