Difference between revisions of "Scripting"
| Line 1: | Line 1: | ||
This is the start of the scripting API. It will be expanded over time. If you want something ask for it in the forum. | This is the start of the scripting API. It will be expanded over time. If you want something ask for it in the forum. | ||
| + | |||
| + | ---- | ||
Functions you can implement: | Functions you can implement: | ||
| Line 7: | Line 9: | ||
void beforeStart(); // Do things here before any action. Place creatures and buildings, change their decks etc. | void beforeStart(); // Do things here before any action. Place creatures and buildings, change their decks etc. | ||
| − | void afterAction(); | + | void afterAction(); // not yet |
| − | void playersTurn(IPlayer player); | + | void playersTurn(IPlayer player); // not yet |
| − | bool canPass(IPlayer player); | + | bool canPass(IPlayer player); // not yet |
// called when the real players try to pass. This is so you can ensure they do a particular action before passing. | // called when the real players try to pass. This is so you can ensure they do a particular action before passing. | ||
Functions you can call: | Functions you can call: | ||
| + | IEntity createEntity(string CardName, int x_coord , int y_coord,IPlayer controller ); | ||
| + | IEntity createEntity(string CardName ,ILocation loc,IPlayer controller); | ||
| + | IEntity createEntity(string CardName ,ILocation loc); | ||
| + | ILocation createLocation(int x,int y); | ||
| + | IPlayer getAIPlayer(int index) | ||
| + | void addAIPlayer(string PlayerName,string Avatar,int teamID); | ||
| + | // can only call this from configGame() | ||
| + | // all parameters are ignored for now | ||
| + | |||
| + | ---- | ||
Example Scripts: | Example Scripts: | ||
| + | // Fortified AI | ||
| + | void configGame() | ||
| + | { | ||
| + | addAIPlayer("Evil Fish","Crypt Doctor",0); | ||
| + | } | ||
| + | |||
| + | void beforeStart() | ||
| + | { | ||
| + | IPlayer aiPlayer=getAIPlayer(0); | ||
| + | createEntity("Earthworks",6,6,aiPlayer); | ||
| + | createEntity("Earthworks",10,10,aiPlayer); | ||
| + | createEntity("Axe Captain",6,7,aiPlayer); | ||
| + | createEntity("Attrition",-1,-1,aiPlayer); | ||
| + | } | ||
Revision as of 15:27, 16 March 2010
This is the start of the scripting API. It will be expanded over time. If you want something ask for it in the forum.
Functions you can implement:
void setupGame(); // Sets up the game state such as # of players, Map Size, if they need to set a deck or not, etc
void beforeStart(); // Do things here before any action. Place creatures and buildings, change their decks etc.
void afterAction(); // not yet
void playersTurn(IPlayer player); // not yet
bool canPass(IPlayer player); // not yet // called when the real players try to pass. This is so you can ensure they do a particular action before passing.
Functions you can call:
IEntity createEntity(string CardName, int x_coord , int y_coord,IPlayer controller );
IEntity createEntity(string CardName ,ILocation loc,IPlayer controller);
IEntity createEntity(string CardName ,ILocation loc);
ILocation createLocation(int x,int y);
IPlayer getAIPlayer(int index)
void addAIPlayer(string PlayerName,string Avatar,int teamID);
// can only call this from configGame()
// all parameters are ignored for now
Example Scripts: // Fortified AI void configGame() { addAIPlayer("Evil Fish","Crypt Doctor",0); }
void beforeStart() { IPlayer aiPlayer=getAIPlayer(0); createEntity("Earthworks",6,6,aiPlayer); createEntity("Earthworks",10,10,aiPlayer); createEntity("Axe Captain",6,7,aiPlayer); createEntity("Attrition",-1,-1,aiPlayer); }