Difference between revisions of "Scripting"

From theFarWilds
Jump to: navigation, search
Line 31: Line 31:
  
 
Example Scripts:
 
Example Scripts:
<code>// Fortified AI
 
<code>void configGame()
 
{
 
addAIPlayer("Evil Fish","Crypt Doctor",0);
 
}
 
  
void beforeStart()
+
// Fortified AI
{
+
void configGame()
IPlayer aiPlayer=getAIPlayer(0);  
+
{
createEntity("Earthworks",6,6,aiPlayer);
+
addAIPlayer("Evil Fish","Crypt Doctor",0);
createEntity("Earthworks",10,10,aiPlayer);
+
}
createEntity("Axe Captain",6,7,aiPlayer);
+
createEntity("Attrition",-1,-1,aiPlayer);
+
void beforeStart()
}</code>
+
{
 +
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:42, 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);	
}