Difference between revisions of "Scripting Examples"
From theFarWilds
| Line 45: | Line 45: | ||
void onNewRound() | void onNewRound() | ||
{ | { | ||
| − | forEachEnity(); | + | forEachEnity(); // loop through all the Entities |
} | } | ||
bool entityCallback(Entity ent) | bool entityCallback(Entity ent) | ||
{ | { | ||
| − | if(ent.isType()==2) | + | if(ent.isType()==2) // Is it a building |
{ | { | ||
ent.remove(); | ent.remove(); | ||
| − | return(false); | + | return(false); // don't need to call entityCallback anymore |
} | } | ||
| − | return(true); | + | return(true); // we haven't found a building yet so keep checking |
} | } | ||
Revision as of 12:13, 21 March 2010
Scripting Example Scripts:
// Fortified AI
void configGame()
{
addAIPlayer("Evil Fish","Crypt Doctor",0);
}
void beforeStart()
{
Player aiPlayer=getAIPlayer(0);
createEntity("Earthworks",6,6,aiPlayer);
createEntity("Earthworks",10,10,aiPlayer);
createEntity("Axe Captain",6,7,aiPlayer);
createEntity("Attrition",-1,-1,aiPlayer);
}
// Specifying the Deck
void beforeStart()
{
Player player=getHumanPlayer(0);
int ds=player.deckSize();
for(int n=0; n<ds; n++)
{
player.removeDeckCard(0);
}
player.addToDeck("Graveyard",0);
player.addToDeck("Red Imp",0);
player.addToDeck("Red Imp",0);
player.addToDeck("Black Plague",0);
player.addToDeck("Crypt Doctor",0);
player.addToDeck("Hypnotic Banshee",0);
player.addToDeck("Nether Plasma",0);
player.addToDeck("Dank Pit",0);
player.shuffleDeck();
}
// Using entityCallback
// This removes the oldest building each round
void onNewRound()
{
forEachEnity(); // loop through all the Entities
}
bool entityCallback(Entity ent)
{
if(ent.isType()==2) // Is it a building
{
ent.remove();
return(false); // don't need to call entityCallback anymore
}
return(true); // we haven't found a building yet so keep checking
}