Difference between revisions of "Scripting Examples"
From theFarWilds
(New page: Example Scripts: // Fortified AI void configGame() { addAIPlayer("Evil Fish","Crypt Doctor",0); } void beforeStart() { Player aiPlayer=getAIPlayer(0); createEntity("Earthwo...) |
|||
| (6 intermediate revisions by one user not shown) | |||
| Line 1: | Line 1: | ||
| + | [[Scripting]] | ||
Example Scripts: | Example Scripts: | ||
| Line 17: | Line 18: | ||
| − | // | + | // Specifying the Deck |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
void beforeStart() | void beforeStart() | ||
{ | { | ||
| − | Player | + | 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() | |
| − | + | { | |
| + | forEachEntity(); // 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 | ||
} | } | ||
| + | |||
| + | |||
| + | // enchantEntity example | ||
| + | Player aiPlayer=getAIPlayer(0); | ||
| + | Entity entity1 = createEntity("Earthworks",6,6,aiPlayer); | ||
| + | enchantEntity(entity1, "Iron Gate", aiPlayer); | ||
Latest revision as of 23:30, 26 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()
{
forEachEntity(); // 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
}
// enchantEntity example
Player aiPlayer=getAIPlayer(0);
Entity entity1 = createEntity("Earthworks",6,6,aiPlayer);
enchantEntity(entity1, "Iron Gate", aiPlayer);