diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2009-01-19 01:07:41 -0500 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2009-01-19 01:07:41 -0500 |
| commit | 0bfedb4fb62e99f370a59987b819e7cc387f258b (patch) | |
| tree | b0b0fe5b9c130e7a3014346abae53f263fdacccc | |
| parent | c28c1c5e8b8aa17be290d0289802a3bc9878ac1b (diff) | |
Added Move documentation
| -rw-r--r-- | sigmod/Move.cpp | 4 | ||||
| -rw-r--r-- | sigmod/Move.h | 188 |
2 files changed, 192 insertions, 0 deletions
diff --git a/sigmod/Move.cpp b/sigmod/Move.cpp index 7641dd8a..ba82c229 100644 --- a/sigmod/Move.cpp +++ b/sigmod/Move.cpp @@ -15,6 +15,10 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ +/** + * \file sigmod/Move.cpp + */ + // Header include #include "Move.h" diff --git a/sigmod/Move.h b/sigmod/Move.h index d492d209..45d1d0db 100644 --- a/sigmod/Move.h +++ b/sigmod/Move.h @@ -15,6 +15,10 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ +/** + * \file sigmod/Move.h + */ + #ifndef SIGMOD_MOVE #define SIGMOD_MOVE @@ -30,43 +34,227 @@ namespace Sigmod // Forward declarations class Sigmod; +/** + * \class Sigmod::Move Move.h sigmod/Move.h + * \brief Class describing a move. + * + * Moves are the standard action in battle. They typically hinder enemies or + * benefit allies. Most of the damage during battle is inflicted through moves. + */ class SIGMOD_EXPORT Move : public Object { Q_OBJECT public: + /** + * Copy constructor. + * + * \param move The move to copy. + */ Move(const Move& move); + /** + * Create a new move belonging to \p parent and id \p id. + * + * \param parent The parent of the move. + * \param id The id number for the move. + */ Move(const Sigmod* parent, const int id); + /** + * Data copy constructor. Copies the data from \p move as a child of \p parent with id \p id. + * + * \param move The move to copy the data from. + * \param parent The parent of the move. + * \param id The id number for the move. + */ Move(const Move& move, const Sigmod* parent, const int id); + /** + * XML data constructor. + * + * \param xml The XML structure to extract the data from. + * \param parent The parent of the move. + * \param id The id number for the move. + */ Move(const QDomElement& xml, const Sigmod* parent, const int id = -1); + /** + * Check to make sure the move's values are valid. + * \note This does not check the scripts for validity. + */ void validate(); + /** + * Load data from XML. + * + * \param xml The XML structure to extract data from. + */ void load(const QDomElement& xml); + /** + * Get the data for the move in XML format. + * + * \return The XML structure representing the move. + */ QDomElement save() const; + /** + * Sets the name of the move. + * + * \param name The name of the move. + */ void setName(const QString& name); + /** + * Sets the accuracy of the move. If an accuracy check fails, no effects are done (except + * for effects that occur when the move misses). + * + * \param accuracy The accuracy of the move. + */ void setAccuracy(const Sigcore::Fraction& accuracy); + /** + * Sets the power of the move. If the power is 0, no damage calculations are done. All + * attacks do at least one hit point of damage. + * + * \param power The power of the move. + */ void setPower(const int power); + /** + * Sets the id of the type of the move. + * + * \param type The id of the type of the move. + */ void setType(const int type); + /** + * Sets whether the move uses special stats or not. + * + * \param special Whether the move uses special stats or not. + */ void setSpecial(const bool special); + /** + * Sets the number of power points for the move. It can be increased by items or other + * effects, but this is a minimum. + * + * \param powerPoints The number of power points for the move. + */ void setPowerPoints(const int powerPoints); + /** + * Sets the priority of the move when attacking. It can be changed using the priority + * script during battle. + * + * \param priority The priority of the move when attacking. + */ void setPriority(const int priority); + /** + * Sets the description of the move. It should be brief, but still descriptive. + * + * \param description A description of the move. + */ void setDescription(const QString& description); + /** + * Set the script for the move when in battle. This script defines the behavior of the move when in a battle. + * The following objects are available to the script: + * + * - \b owner -- The \link Sigencore::TeamMember team member \endlink which owns the instance of the move. + * - \b client -- The \link Sigencore::Client client \endlink which owns \b owner. + * - \b sigmod -- The \link Sigscript::SigmodWrapper wrapper \endlink for the \link Sigmod sigmod \endlink in use. + * - \b arena -- The \link Sigencore::Arena arena \endlink the move is being used in. + * + * \param battleScript The script for the move when in battle. + */ void setBattleScript(const Sigcore::Script& battleScript); + /** + * Set the script for the move when on the world map. This script defines the behavior of the move when on the world map. + * The following objects are available to the script: + * + * - \b owner -- The \link Sigencore::TeamMember team member \endlink which owns the instance of the move. + * - \b client -- The \link Sigencore::Client client \endlink which owns \b owner. + * - \b sigmod -- The \link Sigscript::SigmodWrapper wrapper \endlink for the \link Sigmod sigmod \endlink in use. + * - \b world -- The \link Sigworld::Map map \endlink for the \link Map map \endlink the move is on. + * + * If the move does nothing outside of battle, the script should be empty. + * + * \param worldScript The script for the move when on the world map. + */ void setWorldScript(const Sigcore::Script& worldScript); + /** + * Set the script that determines the priority of the move. This script allows the move to change its priority based on what + * is happening in the \link Sigencore::Arena arena \endlink. The following objects are available to the script: + * + * - \b owner -- The \link Sigencore::TeamMember team member \endlink which owns the instance of the move. + * - \b client -- The \link Sigencore::Client client \endlink which owns \b owner. + * - \b sigmod -- The \link Sigscript::SigmodWrapper wrapper \endlink for the \link Sigmod sigmod \endlink in use. + * - \b arena -- The \link Sigencore::Arena arena \endlink the move is being used in. + * + * To override the priority given by the move, set the \p move-priority-%name (where "%name" is the name of the move) + * value in \p owner. Setting it in the \link Sigscript::SigmodWrapper sigmod wrapper \endlink will cause all instances of the + * move to have the new priority. + * + * \param priorityScript The script that determines the priority of the move. + */ void setPriorityScript(const Sigcore::Script& priorityScript); + /** + * \sa setMove + * + * \return The name of the move. + */ QString name() const; + /** + * \sa setAccuracy + * + * \return The accuracy of the move. + */ Sigcore::Fraction accuracy() const; + /** + * \sa setPower + * + * \return The power of the move. + */ int power() const; + /** + * \sa setType + * + * \return The id of the type of the move. + */ int type() const; + /** + * \sa setSpecial + * + * \return Whether the move uses pecial stats or not. + */ bool special() const; + /** + * \sa setPowerPoints + * + * \return The number of power points the move has. + */ int powerPoints() const; + /** + * \sa setPriority + * + * \return The priority of the move. + */ int priority() const; + /** + * \sa setDescription + * + * \return A description of the move. + */ QString description() const; + /** + * \sa setBattleScript + * + * \return The script for the move in battle. + */ Sigcore::Script battleScript() const; + /** + * \sa setWorldScript + * + * \return The script for the move when in the world map. + */ Sigcore::Script worldScript() const; + /** + * \sa setPriorityScript + * + * \return The script for determining priority in battle. + */ Sigcore::Script priorityScript() const; bool nameCheck(const QString& name) const; |
