summaryrefslogtreecommitdiffstats
path: root/sigscript/SigmodWrapper.h
diff options
context:
space:
mode:
Diffstat (limited to 'sigscript/SigmodWrapper.h')
-rw-r--r--sigscript/SigmodWrapper.h128
1 files changed, 128 insertions, 0 deletions
diff --git a/sigscript/SigmodWrapper.h b/sigscript/SigmodWrapper.h
new file mode 100644
index 00000000..1e946ac0
--- /dev/null
+++ b/sigscript/SigmodWrapper.h
@@ -0,0 +1,128 @@
+/*
+ * Copyright 2008 Ben Boeckel <MathStuf@gmail.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __SIGSCRIPT_SIGMODWRAPPER__
+#define __SIGSCRIPT_SIGMODWRAPPER__
+
+// Sigscript includes
+#include "ObjectWrapper.h"
+
+// Sigmod includes
+#include "../sigmod/Hat.h"
+#include "../sigmod/Sigmod.h"
+
+namespace Sigscript
+{
+// Forward declarations
+class AbilityWrapper;
+class AuthorWrapper;
+class BadgeWrapper;
+class CoinListWrapper;
+class EggGroupWrapper;
+class GlobalScriptWrapper;
+class ItemWrapper;
+class ItemTypeWrapper;
+class MapWrapper;
+class MapWarpWrapper;
+class MoveWrapper;
+class NatureWrapper;
+class RulesWrapper;
+class SkinWrapper;
+class SoundWrapper;
+class SpeciesWrapper;
+class SpriteWrapper;
+class StatusWrapper;
+class StoreWrapper;
+class TileWrapper;
+class TimeWrapper;
+class TrainerWrapper;
+class TypeWrapper;
+class WeatherWrapper;
+
+class SIGSCRIPT_EXPORT SigmodWrapper : public ObjectWrapper
+{
+ Q_OBJECT
+
+ public:
+ SigmodWrapper(const Sigmod::Sigmod* sigmod);
+
+ Sigmod::Hat<NatureWrapper*> natureHat();
+
+ AbilityWrapper* ability(const int id);
+ AuthorWrapper* author(const int id);
+ BadgeWrapper* badge(const int id);
+ CoinListWrapper* coinList(const int id);
+ EggGroupWrapper* eggGroup(const int id);
+ GlobalScriptWrapper* globalScript(const int id);
+ ItemWrapper* item(const int id);
+ ItemTypeWrapper* itemType(const int id);
+ MapWrapper* map(const int id);
+ MoveWrapper* move(const int id);
+ NatureWrapper* nature(const int id);
+ SkinWrapper* skin(const int id);
+ SoundWrapper* sound(const int id);
+ SpeciesWrapper* species(const int id);
+ SpriteWrapper* sprite(const int id);
+ StatusWrapper* status(const int id);
+ StoreWrapper* store(const int id);
+ TileWrapper* tile(const int id);
+ TimeWrapper* time(const int id);
+ TrainerWrapper* trainer(const int id);
+ TypeWrapper* type(const int id);
+ WeatherWrapper* weather(const int id);
+
+ Q_SCRIPTABLE Sigmod::Stat stat(const QString& name) const;
+ Q_SCRIPTABLE Sigmod::Direction direction(const QString& direction) const;
+
+ Q_SCRIPTABLE QString title() const;
+ Q_SCRIPTABLE QString version() const;
+ Q_SCRIPTABLE QString description() const;
+ Q_SCRIPTABLE MapWarpWrapper* startWarp();
+ Q_SCRIPTABLE Sigmod::Fraction effectiveness(const TypeWrapper* attacker, const TypeWrapper* defender) const;
+ Q_SCRIPTABLE RulesWrapper* rules();
+
+ Q_SCRIPTABLE AbilityWrapper* ability(const QString& name);
+ Q_SCRIPTABLE AuthorWrapper* author(const QString& name);
+ Q_SCRIPTABLE BadgeWrapper* badge(const QString& name);
+ Q_SCRIPTABLE CoinListWrapper* coinList(const QString& name);
+ Q_SCRIPTABLE EggGroupWrapper* eggGroup(const QString& name);
+ Q_SCRIPTABLE GlobalScriptWrapper* globalScript(const QString& name);
+ Q_SCRIPTABLE ItemWrapper* item(const QString& name);
+ Q_SCRIPTABLE ItemTypeWrapper* itemType(const QString& name);
+ Q_SCRIPTABLE MapWrapper* map(const QString& name);
+ Q_SCRIPTABLE MoveWrapper* move(const QString& name);
+ Q_SCRIPTABLE NatureWrapper* nature(const QString& name);
+ Q_SCRIPTABLE SkinWrapper* skin(const QString& name);
+ Q_SCRIPTABLE SoundWrapper* sound(const QString& name);
+ Q_SCRIPTABLE SpeciesWrapper* species(const QString& name);
+ Q_SCRIPTABLE SpriteWrapper* sprite(const QString& name);
+ Q_SCRIPTABLE StatusWrapper* status(const QString& name);
+ Q_SCRIPTABLE StoreWrapper* store(const QString& name);
+ Q_SCRIPTABLE TileWrapper* tile(const QString& name);
+ Q_SCRIPTABLE TimeWrapper* time(const QString& name);
+ Q_SCRIPTABLE TrainerWrapper* trainer(const QString& name);
+ Q_SCRIPTABLE TypeWrapper* type(const QString& name);
+ Q_SCRIPTABLE WeatherWrapper* weather(const QString& name);
+ private:
+ SigmodWrapper& operator=(const SigmodWrapper& rhs);
+
+ const Sigmod::Sigmod* m_sigmod;
+};
+}
+Q_DECLARE_METATYPE(Sigscript::SigmodWrapper*)
+
+#endif