Difference between revisions of "Scripting"

From theFarWilds
Jump to: navigation, search
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); }