<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://redmine.mygui.info/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://redmine.mygui.info/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jed</id>
		<title>theFarWilds - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://redmine.mygui.info/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jed"/>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Special:Contributions/Jed"/>
		<updated>2026-05-20T21:10:43Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.21.1</generator>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/DlgBox_Functions</id>
		<title>DlgBox Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/DlgBox_Functions"/>
				<updated>2010-08-11T01:56:44Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;test 2&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/DlgBox_Functions</id>
		<title>DlgBox Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/DlgBox_Functions"/>
				<updated>2010-08-11T01:50:44Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: New page: test&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;test&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Battle_Draft</id>
		<title>Battle Draft</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Battle_Draft"/>
				<updated>2010-07-09T14:36:19Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In a Battle Draft all the cards are shared between both players. You each see the same hand of 14 cards. When one person plays a card it is gone for both players.&lt;br /&gt;
The deck is 6 packs from 2 random domains. &lt;br /&gt;
&lt;br /&gt;
Battle Drafting requires a different strategy than most other formats. You have a much better idea of what the enemy is capable of and must constantly work to spoil his plans. Often you must play cards just to prevent the enemy from using them.&lt;br /&gt;
&lt;br /&gt;
Currently it costs 40 gold (or 4 [[Power]]) to enter and the winner gets 76 gold.&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Card_Functions</id>
		<title>Card Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Card_Functions"/>
				<updated>2010-06-10T13:30:29Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: /* Methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
A card object represents a TFW playing card (and all the associated properties).&lt;br /&gt;
&lt;br /&gt;
== Constructors ==&lt;br /&gt;
No global constructors; returned by Player.getHandCard() and Player.getDeckCard().&lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
 string '''getName'''();&lt;br /&gt;
 // returns the title of the card, e.g., &amp;quot;Tangler&amp;quot; or &amp;quot;Crypt Doctor&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 int '''getType'''();&lt;br /&gt;
 // returns the type of card: CREATURE,BUILDING,ENCHANTMENT,ITEM,SPELL&lt;br /&gt;
 &lt;br /&gt;
 int '''getID'''();&lt;br /&gt;
 // returns the ID of the Card&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Card_Functions</id>
		<title>Card Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Card_Functions"/>
				<updated>2010-06-10T11:58:17Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: /* Methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
A card object represents a TFW playing card (and all the associated properties).&lt;br /&gt;
&lt;br /&gt;
== Constructors ==&lt;br /&gt;
No global constructors; returned by Player.getHandCard() and Player.getDeckCard().&lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
 string '''getName'''();&lt;br /&gt;
 // returns the label of the card, e.g., &amp;quot;Tangler&amp;quot; or &amp;quot;Crypt Doctor&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 int '''getType'''();&lt;br /&gt;
 // returns the type of card: CREATURE,BUILDING,ENCHANTMENT,ITEM,SPELL&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Autodraw</id>
		<title>Autodraw</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Autodraw"/>
				<updated>2010-05-09T14:02:25Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Far Wilds tries to make sure you are always able to increase your domain level. It does this by sometimes changing the next card you would draw.&lt;br /&gt;
&lt;br /&gt;
1) When the game starts, any default base building (any [[Grove]], [[Graveyard]], etc.) in your Army is added to a list of External Cards.&lt;br /&gt;
&lt;br /&gt;
2) If you don't have a Base in play or in your hand, you will draw the first available one from your Army if you have the domain to play it.&lt;br /&gt;
&lt;br /&gt;
3) If you have a card in hand that you don't have the domain for and you don't have a card that gives you that domain in hand that you can play, you will draw a card from your Army that gives you that domain if you have one. If there isn't a card in your Army then you will draw one from your External Card list. &lt;br /&gt;
&lt;br /&gt;
4) If you don't have a domain providing card in hand that you have the domain to play, you will draw the first domain providing card in your deck. If there isn't a card in your Army then you will draw one from your External Card list. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This means that if you start with one Grove in your Army and later it is destroyed. You will keep drawing Groves as long as you need them.&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Global_Functions</id>
		<title>Global Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Global_Functions"/>
				<updated>2010-05-08T01:54:29Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
'''Global functions''' can be called from anywhere in your scripts.&lt;br /&gt;
&lt;br /&gt;
 [[Entity_Functions|Entity]] '''createEntity'''( string CardName, int x_coord, int y_coord, Player controller );&lt;br /&gt;
 [[Entity_Functions|Entity]] '''createEntity'''( string CardName,Location loc, Player controller );&lt;br /&gt;
 [[Entity_Functions|Entity]] '''createEntity'''( string CardName,Location loc );&lt;br /&gt;
 &lt;br /&gt;
 Location '''createLocation'''( int x, int y );&lt;br /&gt;
 &lt;br /&gt;
 int getMapWidth();&lt;br /&gt;
 int getMapHeight();&lt;br /&gt;
 &lt;br /&gt;
 Player '''getAIPlayer'''( int index );&lt;br /&gt;
 &lt;br /&gt;
 Player '''getHumanPlayer'''( int index );&lt;br /&gt;
 &lt;br /&gt;
 void '''setTerrain'''( Location loc, int topo, int veg );&lt;br /&gt;
 int '''getTopo'''( Location loc );&lt;br /&gt;
 int '''getVeg'''( Location loc );&lt;br /&gt;
 // topo: OCEAN=1, SOGGY=2, FLAT=3, HILLS=4, MOUNTAIN=5&lt;br /&gt;
 // veg: DESERT=1 ,GRASS=2 ,TREES=3&lt;br /&gt;
 &lt;br /&gt;
 [[Entity_Functions|Entity]] '''getFigure'''( Location loc );&lt;br /&gt;
 &lt;br /&gt;
 void '''forEachEntity'''();&lt;br /&gt;
 // call [[Hook Functions|entityCallback()]] once for each [[Entity_Functions|Entity]] in the game.&lt;br /&gt;
 &lt;br /&gt;
 void '''enchantEntity'''( [[Entity_Functions|Entity]] toEnchant, string enchantName, Player enchantController );&lt;br /&gt;
 &lt;br /&gt;
 void '''endGame'''( Player winner );&lt;br /&gt;
 &lt;br /&gt;
 void '''flipTheScript'''( int scriptID );&lt;br /&gt;
 // changes what script is being used for the game&lt;br /&gt;
 // doesn't preserve global variables yet&lt;br /&gt;
 &lt;br /&gt;
 int '''rand'''( int max );&lt;br /&gt;
 // return an integer from 0 to max-1&lt;br /&gt;
 &lt;br /&gt;
 bool '''randChance'''( float chance );&lt;br /&gt;
 // return true with probability equal to chance&lt;br /&gt;
 &lt;br /&gt;
 void '''infoBox'''( string title, string text );&lt;br /&gt;
 // display text in a pop up box to all the players&lt;br /&gt;
 &lt;br /&gt;
 void '''statusMsg'''( Player from, string msg );&lt;br /&gt;
 // Prints a message from a player in the battle log. &lt;br /&gt;
 // just pass an empty player to make the message from the server&lt;br /&gt;
 &lt;br /&gt;
 void '''wipeEffect'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''fogMap'''();&lt;br /&gt;
 // All spaces are returned to deep fog for all players&lt;br /&gt;
 &lt;br /&gt;
 void '''lightFog'''(Player player,int x1 ,int y1,int x2,int y2);&lt;br /&gt;
 // sets the a range of spaces to light fog. A box from x1,y1 to x2,y2 &lt;br /&gt;
 // wont have any effect if called in configGame or beforeStart&lt;br /&gt;
 &lt;br /&gt;
 // Functions for persisting data from game to game for a particular user&lt;br /&gt;
 // Talk to me if you want to use these&lt;br /&gt;
 int getCampID();&lt;br /&gt;
 void saveData(Player,int key,int value);&lt;br /&gt;
 int loadData(Player,int key);&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Config_Functions</id>
		<title>Config Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Config_Functions"/>
				<updated>2010-04-25T13:51:44Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: /* Methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
These '''config functions''' may only be called from inside [[Hook Functions|configGame()]].&lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
 void '''addAIPlayer'''( string name, string avatar, int team );&lt;br /&gt;
 // all parameters are ignored for now&lt;br /&gt;
 &lt;br /&gt;
 void '''setMapSize'''( int x, int y );&lt;br /&gt;
 // 3 &amp;lt;= x &amp;lt;= 17&lt;br /&gt;
 // 3 &amp;lt;= y &amp;lt;= 17&lt;br /&gt;
 &lt;br /&gt;
 void '''setNumPlayers'''( int numPlayers );&lt;br /&gt;
 // 1 &amp;lt;= n &amp;lt;= 4&lt;br /&gt;
 &lt;br /&gt;
 void '''setGloryGoal'''( int gloryGoal );&lt;br /&gt;
 &lt;br /&gt;
 void '''setMapSeed'''( int mapSeed );&lt;br /&gt;
 // you can set this if you always want the script to be on the same map&lt;br /&gt;
 &lt;br /&gt;
 void '''setNumFluxWells'''( int numFluxWells );&lt;br /&gt;
 &lt;br /&gt;
 void '''dontNeedDecks'''();&lt;br /&gt;
 // won't ask the player to set a deck when they join&lt;br /&gt;
 &lt;br /&gt;
 void '''setTurnTime'''(int timeInSec);&lt;br /&gt;
 void '''setPlayerTimeLimit'''(int timeInSec);&lt;br /&gt;
 // time limit for the whole game&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Hook_Timeline</id>
		<title>Hook Timeline</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Hook_Timeline"/>
				<updated>2010-04-23T16:40:35Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
&lt;br /&gt;
 Player clicks the Play: link&lt;br /&gt;
 game instance starts on the server&lt;br /&gt;
 No players are connected to the game&lt;br /&gt;
 Script is loaded&lt;br /&gt;
 any #include is loaded&lt;br /&gt;
 '''configGame'''() is called &lt;br /&gt;
 map is created&lt;br /&gt;
 wait for players to join&lt;br /&gt;
 all players have joined and selected decks&lt;br /&gt;
 '''beforeStart'''() is called&lt;br /&gt;
 flux wells are placed&lt;br /&gt;
 '''duringStart'''() is called&lt;br /&gt;
 places with starting light fog are revealed to players&lt;br /&gt;
 players draw their cards&lt;br /&gt;
 '''afterStart'''() is called&lt;br /&gt;
 Game on&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Hook_Functions</id>
		<title>Hook Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Hook_Functions"/>
				<updated>2010-04-23T16:38:06Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: /* Implemented */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
The scripts you write interact with the game via a collection of hook functions. These functions are called by the game at the appropriate times and execute your code. [[Hook Timeline]]&lt;br /&gt;
&lt;br /&gt;
== Implemented ==&lt;br /&gt;
 void '''configGame'''(); &lt;br /&gt;
 // Sets up the game state such as # of players, Map Size, if they need to set a deck or not, etc&lt;br /&gt;
 [[Config Functions]]&lt;br /&gt;
 &lt;br /&gt;
 bool '''isDeckValid'''([[Player Functions|Player]] player);&lt;br /&gt;
 // if you want to implement non-standard deck requirements&lt;br /&gt;
 // use statusMsg to tell them why their deck is invalid&lt;br /&gt;
 &lt;br /&gt;
 void '''beforeStart'''(); &lt;br /&gt;
 // Do things here before any action. Place creatures and buildings, change their decks etc.&lt;br /&gt;
 &lt;br /&gt;
 bool '''duringStart'''();&lt;br /&gt;
 // return true if you want the normal fog&lt;br /&gt;
 // Should only need this to change the starting fog.&lt;br /&gt;
 &lt;br /&gt;
 void '''afterStart'''();&lt;br /&gt;
 // Send any welcome messages here&lt;br /&gt;
 &lt;br /&gt;
 void '''onNewRound'''();&lt;br /&gt;
 // called after all the new round events&lt;br /&gt;
 &lt;br /&gt;
 void '''onPlayersTurn'''([[Player Functions|Player]] player);&lt;br /&gt;
  &lt;br /&gt;
 bool '''entityCallback'''(Entity entity)&lt;br /&gt;
 // called for each entity in the game if you call forEachEntity();&lt;br /&gt;
 &lt;br /&gt;
 void '''onDialogResponse'''([[Player Functions|Player]] player,int resp);&lt;br /&gt;
 &lt;br /&gt;
 bool '''canPass'''([[Player Functions|Player]] player);&lt;br /&gt;
 // called when the real players try to pass.&lt;br /&gt;
 // This is so you can ensure they do a particular action before passing.&lt;br /&gt;
 &lt;br /&gt;
 bool '''canAct'''([[Player Functions|Player]] player,Action action);&lt;br /&gt;
 &lt;br /&gt;
 void '''afterAction'''(Action action);&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Global_Functions</id>
		<title>Global Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Global_Functions"/>
				<updated>2010-04-18T11:24:33Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
'''Global functions''' can be called from anywhere in your scripts.&lt;br /&gt;
&lt;br /&gt;
 [[Entity_Functions|Entity]] '''createEntity'''( string CardName, int x_coord, int y_coord, Player controller );&lt;br /&gt;
 [[Entity_Functions|Entity]] '''createEntity'''( string CardName,Location loc, Player controller );&lt;br /&gt;
 [[Entity_Functions|Entity]] '''createEntity'''( string CardName,Location loc );&lt;br /&gt;
 &lt;br /&gt;
 Location '''createLocation'''( int x, int y );&lt;br /&gt;
 &lt;br /&gt;
 int getMapWidth();&lt;br /&gt;
 int getMapHeight();&lt;br /&gt;
 &lt;br /&gt;
 Player '''getAIPlayer'''( int index );&lt;br /&gt;
 &lt;br /&gt;
 Player '''getHumanPlayer'''( int index );&lt;br /&gt;
 &lt;br /&gt;
 void '''setTerrain'''( Location loc, int topo, int veg );&lt;br /&gt;
 int '''getTopo'''( Location loc );&lt;br /&gt;
 int '''getVeg'''( Location loc );&lt;br /&gt;
 // topo: OCEAN=1, SOGGY=2, FLAT=3, HILLS=4, MOUNTAIN=5&lt;br /&gt;
 // veg: DESERT=1 ,GRASS=2 ,TREES=3&lt;br /&gt;
 &lt;br /&gt;
 [[Entity_Functions|Entity]] '''getFigure'''( Location loc );&lt;br /&gt;
 &lt;br /&gt;
 void '''forEachEntity'''();&lt;br /&gt;
 // call [[Hook Functions|entityCallback()]] once for each [[Entity_Functions|Entity]] in the game.&lt;br /&gt;
 &lt;br /&gt;
 void '''enchantEntity'''( [[Entity_Functions|Entity]] toEnchant, string enchantName, Player enchantController );&lt;br /&gt;
 &lt;br /&gt;
 void '''endGame'''( Player winner );&lt;br /&gt;
 &lt;br /&gt;
 void '''flipTheScript'''( int scriptID );&lt;br /&gt;
 // changes what script is being used for the game&lt;br /&gt;
 // doesn't preserve global variables yet&lt;br /&gt;
 &lt;br /&gt;
 int '''rand'''( int max );&lt;br /&gt;
 // return an integer from 0 to max-1&lt;br /&gt;
 &lt;br /&gt;
 bool '''randChance'''( float chance );&lt;br /&gt;
 // return true with probability equal to chance&lt;br /&gt;
 &lt;br /&gt;
 void '''infoBox'''( string title, string text );&lt;br /&gt;
 // display text in a pop up box to all the players&lt;br /&gt;
 &lt;br /&gt;
 void '''statusMsg'''( Player from, string msg );&lt;br /&gt;
 // Prints a message from a player in the battle log. &lt;br /&gt;
 // just pass an empty player to make the message from the server&lt;br /&gt;
 &lt;br /&gt;
 void '''wipeEffect'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''fogMap'''();&lt;br /&gt;
 // All spaces are returned to deep fog for all players&lt;br /&gt;
 &lt;br /&gt;
 void '''lightFog'''(Player player,int x1 ,int y1,int x2,int y2);&lt;br /&gt;
 // sets the a range of spaces to light fog. A box from x1,y1 to x2,y2 &lt;br /&gt;
 // wont have any effect if called in configGame or beforeStart&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Hook_Timeline</id>
		<title>Hook Timeline</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Hook_Timeline"/>
				<updated>2010-04-17T20:21:26Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
&lt;br /&gt;
 Player clicks the Play: link&lt;br /&gt;
 game instance starts on the server&lt;br /&gt;
 No players are connected to the game&lt;br /&gt;
 Script is loaded&lt;br /&gt;
 any #include is loaded&lt;br /&gt;
 '''configGame'''() is called &lt;br /&gt;
 wait for players to join&lt;br /&gt;
 all players have joined and selected decks&lt;br /&gt;
 '''beforeStart'''() is called&lt;br /&gt;
 map is created&lt;br /&gt;
 flux wells are placed&lt;br /&gt;
 players draw their cards&lt;br /&gt;
 '''afterStart'''() is called&lt;br /&gt;
 Game on&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Hook_Timeline</id>
		<title>Hook Timeline</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Hook_Timeline"/>
				<updated>2010-04-17T19:42:37Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
&lt;br /&gt;
 Player clicks the Play: link&lt;br /&gt;
 Script is loaded&lt;br /&gt;
 any #include is loaded&lt;br /&gt;
 '''configGame'''() is called&lt;br /&gt;
 wait for others to join&lt;br /&gt;
 all players have joined and selected decks&lt;br /&gt;
 '''beforeStart'''() is called&lt;br /&gt;
 map is created&lt;br /&gt;
 flux wells are placed&lt;br /&gt;
 players draw their cards&lt;br /&gt;
 '''afterStart'''() is called&lt;br /&gt;
 Game on&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Hook_Timeline</id>
		<title>Hook Timeline</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Hook_Timeline"/>
				<updated>2010-04-17T19:40:55Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
&lt;br /&gt;
 Player clicks the Play: link&lt;br /&gt;
 Script is loaded&lt;br /&gt;
 any #include is loaded&lt;br /&gt;
 '''configGame'''() is called&lt;br /&gt;
 wait for others to join&lt;br /&gt;
 all players have joined and selected decks&lt;br /&gt;
 '''beforeStart'''() is called&lt;br /&gt;
 map is created&lt;br /&gt;
 flux wells are placed&lt;br /&gt;
 players draw their cards&lt;br /&gt;
 '''afterStart'''() is called&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Hook_Timeline</id>
		<title>Hook Timeline</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Hook_Timeline"/>
				<updated>2010-04-17T19:33:11Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: New page: Category:Scripts  Player clicks the Play: link Script is loaded any #include is loaded '''configGame'''() is called wait for others to join all players have joined and selected decks '...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
&lt;br /&gt;
Player clicks the Play: link&lt;br /&gt;
Script is loaded&lt;br /&gt;
any #include is loaded&lt;br /&gt;
'''configGame'''() is called&lt;br /&gt;
wait for others to join&lt;br /&gt;
all players have joined and selected decks&lt;br /&gt;
'''beforeStart'''() is called&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Hook_Functions</id>
		<title>Hook Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Hook_Functions"/>
				<updated>2010-04-17T19:16:23Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
The scripts you write interact with the game via a collection of hook functions. These functions are called by the game at the appropriate times and execute your code. [[Hook Timeline]]&lt;br /&gt;
&lt;br /&gt;
== Implemented ==&lt;br /&gt;
 void '''configGame'''(); &lt;br /&gt;
 // Sets up the game state such as # of players, Map Size, if they need to set a deck or not, etc&lt;br /&gt;
 [[Config Functions]]&lt;br /&gt;
 &lt;br /&gt;
 bool '''isDeckValid'''([[Player Functions|Player]] player);&lt;br /&gt;
 // if you want to implement non-standard deck requirements&lt;br /&gt;
 // use statusMsg to tell them why their deck is invalid&lt;br /&gt;
 &lt;br /&gt;
 void '''beforeStart'''(); &lt;br /&gt;
 // Do things here before any action. Place creatures and buildings, change their decks etc.&lt;br /&gt;
 &lt;br /&gt;
 void '''afterStart'''();&lt;br /&gt;
 // Send any welcome messages here&lt;br /&gt;
 &lt;br /&gt;
 void '''onNewRound'''();&lt;br /&gt;
 // called after all the new round events&lt;br /&gt;
 &lt;br /&gt;
 void '''onPlayersTurn'''([[Player Functions|Player]] player);&lt;br /&gt;
  &lt;br /&gt;
 bool '''entityCallback'''(Entity entity)&lt;br /&gt;
 // called for each entity in the game if you call forEachEntity();&lt;br /&gt;
 &lt;br /&gt;
 void '''onDialogResponse'''([[Player Functions|Player]] player,int resp);&lt;br /&gt;
 &lt;br /&gt;
 bool '''canPass'''([[Player Functions|Player]] player);&lt;br /&gt;
 // called when the real players try to pass.&lt;br /&gt;
 // This is so you can ensure they do a particular action before passing.&lt;br /&gt;
 &lt;br /&gt;
 bool '''canAct'''([[Player Functions|Player]] player,Action action);&lt;br /&gt;
 &lt;br /&gt;
 void '''afterAction'''(Action action);&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Location_Functions</id>
		<title>Location Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Location_Functions"/>
				<updated>2010-04-16T14:20:25Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: /* Methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
A location object represents a particular hex on the playing map.  Note that the TFW [[Coordinate System]] is transposed -- the x-axis is vertical and the y-axis is horizontal.  Labeling starts from zero.&lt;br /&gt;
&lt;br /&gt;
== Constructors ==&lt;br /&gt;
 Location '''createLocation'''( int x, int y );&lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
 bool '''isAloft'''(); &lt;br /&gt;
 // false if an Aloft guy is grounded after melee&lt;br /&gt;
 &lt;br /&gt;
 bool '''isValid'''();&lt;br /&gt;
 &lt;br /&gt;
 int '''distance'''(Location);&lt;br /&gt;
 &lt;br /&gt;
 int '''getX'''();&lt;br /&gt;
 int '''getY'''();&lt;br /&gt;
 &lt;br /&gt;
 Player '''getController'''();&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Preprocessor</id>
		<title>Preprocessor</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Preprocessor"/>
				<updated>2010-04-14T20:23:08Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
&lt;br /&gt;
 '''#include''' &amp;lt;scriptID&amp;gt;&lt;br /&gt;
 this will include a script in with yours so you can make common function libraries&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
 #include 236&lt;br /&gt;
 &lt;br /&gt;
 void beforeStart()&lt;br /&gt;
 {&lt;br /&gt;
     some_function_defined_in_236();&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Preprocessor</id>
		<title>Preprocessor</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Preprocessor"/>
				<updated>2010-04-14T20:22:43Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
&lt;br /&gt;
 #'''include''' &amp;lt;scriptID&amp;gt;&lt;br /&gt;
 this will include a script in with yours so you can make common function libraries&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
 #include 236&lt;br /&gt;
 &lt;br /&gt;
 void beforeStart()&lt;br /&gt;
 {&lt;br /&gt;
     some_function_defined_in_236();&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Preprocessor</id>
		<title>Preprocessor</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Preprocessor"/>
				<updated>2010-04-14T19:15:23Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: New page: Category:Scripts   //'''include''' &amp;lt;scriptID&amp;gt;  this will include a script in with yours so you can make common function libraries  == Example ==  //include 236    void beforeStart()  {...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
&lt;br /&gt;
 //'''include''' &amp;lt;scriptID&amp;gt;&lt;br /&gt;
 this will include a script in with yours so you can make common function libraries&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
 //include 236&lt;br /&gt;
 &lt;br /&gt;
 void beforeStart()&lt;br /&gt;
 {&lt;br /&gt;
     some_function_defined_in_236();&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Scripting</id>
		<title>Scripting</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Scripting"/>
				<updated>2010-04-14T19:12:41Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: /* API */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
Scripts are written in [http://www.angelcode.com/angelscript/sdk/docs/manual/index.html AngelScript], it has syntax similar to C.  Create your scripts [http://thefarwilds.com/story/login.html here].  If you want something ask for it in the [http://thefarwilds.com/forum/viewforum.php?f=14 forum].&lt;br /&gt;
&lt;br /&gt;
The scripts you write interact with the game via a collection of [[Hook Functions]].  These hook functions are called by the game at the appropriate times and execute your code.  See the [[#Examples]] section for more details.&lt;br /&gt;
&lt;br /&gt;
== API ==&lt;br /&gt;
* [[Preprocessor]]&lt;br /&gt;
* [[Hook Functions]]&lt;br /&gt;
* [[Global Functions]]&lt;br /&gt;
* [[Config Functions]]&lt;br /&gt;
* [[Player Functions]]&lt;br /&gt;
* [[Entity Functions]]&lt;br /&gt;
* [[Location Functions]]&lt;br /&gt;
* [[DlgBox Functions]]&lt;br /&gt;
* [[Card Functions]]&lt;br /&gt;
* [[Action Functions]]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
[[Scripting Examples]]&lt;br /&gt;
&lt;br /&gt;
== Helpful Hints ==&lt;br /&gt;
[[Coordinate System]] : Coordinates in TFW are a bit weird. This page explains.&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Hook_Functions</id>
		<title>Hook Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Hook_Functions"/>
				<updated>2010-04-14T19:10:57Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: /* Implemented */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
The scripts you write interact with the game via a collection of hook functions. These functions are called by the game at the appropriate times and execute your code.&lt;br /&gt;
&lt;br /&gt;
== Implemented ==&lt;br /&gt;
 void '''configGame'''(); &lt;br /&gt;
 // Sets up the game state such as # of players, Map Size, if they need to set a deck or not, etc&lt;br /&gt;
 [[Config Functions]]&lt;br /&gt;
 &lt;br /&gt;
 bool '''isDeckValid'''([[Player Functions|Player]] player);&lt;br /&gt;
 // if you want to implement non-standard deck requirements&lt;br /&gt;
 // use statusMsg to tell them why their deck is invalid&lt;br /&gt;
 &lt;br /&gt;
 void '''beforeStart'''(); &lt;br /&gt;
 // Do things here before any action. Place creatures and buildings, change their decks etc.&lt;br /&gt;
 &lt;br /&gt;
 void '''afterStart'''();&lt;br /&gt;
 // Send any welcome messages here&lt;br /&gt;
 &lt;br /&gt;
 void '''onNewRound'''();&lt;br /&gt;
 // called after all the new round events&lt;br /&gt;
 &lt;br /&gt;
 void '''onPlayersTurn'''([[Player Functions|Player]] player);&lt;br /&gt;
  &lt;br /&gt;
 bool '''entityCallback'''(Entity entity)&lt;br /&gt;
 // called for each entity in the game if you call forEachEntity();&lt;br /&gt;
 &lt;br /&gt;
 void '''onDialogResponse'''([[Player Functions|Player]] player,int resp);&lt;br /&gt;
 &lt;br /&gt;
 bool '''canPass'''([[Player Functions|Player]] player);&lt;br /&gt;
 // called when the real players try to pass.&lt;br /&gt;
 // This is so you can ensure they do a particular action before passing.&lt;br /&gt;
 &lt;br /&gt;
 bool '''canAct'''([[Player Functions|Player]] player,Action action);&lt;br /&gt;
 &lt;br /&gt;
 void '''afterAction'''(Action action);&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Action_Functions</id>
		<title>Action Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Action_Functions"/>
				<updated>2010-04-14T19:09:37Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: New page: Category:Scripts An action object represents an action either about to happen or that already happened or that you are building to have happen.  == Example ==  void afterAction(Action ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
An action object represents an action either about to happen or that already happened or that you are building to have happen.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
 void afterAction(Action action)&lt;br /&gt;
 {&lt;br /&gt;
        if(action.getCardActor().getName()==&amp;quot;Bindweed&amp;quot;)&lt;br /&gt;
 	{&lt;br /&gt;
 		Entity target=action.getEntityTarget(0);&lt;br /&gt;
 		if( target.getController()==gAIPlayer)&lt;br /&gt;
 		{&lt;br /&gt;
 			string msg=&amp;quot;Bindweed on the enemy????&amp;quot;;&lt;br /&gt;
                        statusMsg(nullPlayer,msg);&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Constructors ==&lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
&lt;br /&gt;
 int '''getType'''();&lt;br /&gt;
 // possible values: MOVE, MELEE, SHOOT, OTHER &lt;br /&gt;
 &lt;br /&gt;
 Player '''getController'''();&lt;br /&gt;
 &lt;br /&gt;
 Card '''getCardActor'''();&lt;br /&gt;
 // Card will be invalid if this wasn't a card that acted&lt;br /&gt;
 &lt;br /&gt;
 Entity '''getEntityActor'''();&lt;br /&gt;
 // Entity will be invalid if this wasn't an Entity that acted&lt;br /&gt;
  &lt;br /&gt;
 Entity '''getEntityTarget'''(int index)&lt;br /&gt;
 &lt;br /&gt;
 Location '''getLocTarget'''(int index)&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Entity_Functions</id>
		<title>Entity Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Entity_Functions"/>
				<updated>2010-04-14T18:53:21Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: /* Methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
Each '''entity object''' represents a creature, building, enchantment, corpse, or ruin.  Collectively, these objects define the current game state.&lt;br /&gt;
&lt;br /&gt;
== Constructors ==&lt;br /&gt;
 Entity createEntity( string cardName, int x_coord, int y_coord, [[Player Functions|Player]] controller );&lt;br /&gt;
 &lt;br /&gt;
 Entity createEntity( string cardName, Location loc, [[Player Functions|Player]] controller );&lt;br /&gt;
 &lt;br /&gt;
 Entity createEntity( string cardName, Location loc );&lt;br /&gt;
&lt;br /&gt;
See also getFigure( Location loc ).&lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
 bool '''isValid'''();&lt;br /&gt;
 // check to see if entity was created successfully&lt;br /&gt;
 &lt;br /&gt;
 bool '''doesExist'''();&lt;br /&gt;
 // check to see if entity has been removed&lt;br /&gt;
 &lt;br /&gt;
 string '''getName'''();&lt;br /&gt;
 &lt;br /&gt;
 [[Player Functions|Player]] '''getController'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''setController'''( [[Player Functions|Player]] controller );&lt;br /&gt;
 &lt;br /&gt;
 bool '''isType'''( int type );&lt;br /&gt;
 // Types: CREATURE=1, BUILDING=2, ENCHANTMENT=3, ITEM=4, MARKER(Corpse,Flux Well,Ruin)=5, WORLD_ENCHANT=6&lt;br /&gt;
 &lt;br /&gt;
 Location '''getLoc'''();&lt;br /&gt;
 &lt;br /&gt;
 bool '''moveEntity'''( Location );&lt;br /&gt;
 // returns false if unsuccessful (e.g., trying to move figure into occupied location)&lt;br /&gt;
 &lt;br /&gt;
 void '''remove'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''destroy'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''sacrifice'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''setDim'''( bool dimOrNot );&lt;br /&gt;
 &lt;br /&gt;
 bool '''isDim'''();&lt;br /&gt;
 &lt;br /&gt;
 int '''addTokens'''(string tokenName,int delta);&lt;br /&gt;
 // returns the number of that token after the add.&lt;br /&gt;
 // delta can be negative&lt;br /&gt;
 // some common tokens: attack,maxhp,vision,speed,range&lt;br /&gt;
 // also: age,work,entrench,sleep,vigor,spawn,soul,termite&lt;br /&gt;
 // you can look in helpers/counters.xml for a complete list&lt;br /&gt;
 // Example: ent.addToken(&amp;quot;attack&amp;quot;,1); &lt;br /&gt;
 // it is case sensitive&lt;br /&gt;
 &lt;br /&gt;
 int '''numTokens'''(string tokenName);&lt;br /&gt;
 &lt;br /&gt;
 int '''getCurHealth'''();&lt;br /&gt;
 &lt;br /&gt;
 int '''getMaxHealth'''();&lt;br /&gt;
 &lt;br /&gt;
 string '''otherName'''();&lt;br /&gt;
 // returns the name of the corpse, ruin, &lt;br /&gt;
 // or construction site building that this was or will be&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Entity_Functions</id>
		<title>Entity Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Entity_Functions"/>
				<updated>2010-04-14T12:46:37Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: /* Methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
Each '''entity object''' represents a creature, building, enchantment, corpse, or ruin.  Collectively, these objects define the current game state.&lt;br /&gt;
&lt;br /&gt;
== Constructors ==&lt;br /&gt;
 Entity createEntity( string cardName, int x_coord, int y_coord, [[Player Functions|Player]] controller );&lt;br /&gt;
 &lt;br /&gt;
 Entity createEntity( string cardName, Location loc, [[Player Functions|Player]] controller );&lt;br /&gt;
 &lt;br /&gt;
 Entity createEntity( string cardName, Location loc );&lt;br /&gt;
&lt;br /&gt;
See also getFigure( Location loc ).&lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
 bool '''isValid'''();&lt;br /&gt;
 // check to see if entity was created successfully&lt;br /&gt;
 &lt;br /&gt;
 bool '''doesExist'''();&lt;br /&gt;
 // check to see if entity has been removed&lt;br /&gt;
 &lt;br /&gt;
 string '''getName'''();&lt;br /&gt;
 &lt;br /&gt;
 [[Player Functions|Player]] '''getController'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''setController'''( [[Player Functions|Player]] controller );&lt;br /&gt;
 &lt;br /&gt;
 bool '''isType'''( int type );&lt;br /&gt;
 // Types: CREATURE=1, BUILDING=2, ENCHANTMENT=3, ITEM=4, MARKER(Corpse,Flux Well,Ruin)=5, WORLD_ENCHANT=6&lt;br /&gt;
 &lt;br /&gt;
 Location '''getLoc'''();&lt;br /&gt;
 &lt;br /&gt;
 bool '''moveEntity'''( Location );&lt;br /&gt;
 // returns false if unsuccessful (e.g., trying to move figure into occupied location)&lt;br /&gt;
 &lt;br /&gt;
 void '''remove'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''destroy'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''sacrifice'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''setDim'''( bool dimOrNot );&lt;br /&gt;
 &lt;br /&gt;
 bool '''isDim'''();&lt;br /&gt;
 &lt;br /&gt;
 int '''addTokens'''(string tokenName,int delta);&lt;br /&gt;
 // returns the number of that token after the add.&lt;br /&gt;
 // delta can be negative&lt;br /&gt;
 // some common tokens: attack,maxhp,vision,speed,range&lt;br /&gt;
 // also: age,work,entrench,sleep,vigor,spawn,soul,termite&lt;br /&gt;
 // you can look in helpers/counters.xml for a complete list&lt;br /&gt;
 // Example: ent.addToken(&amp;quot;attack&amp;quot;,1); &lt;br /&gt;
 // it is case sensitive&lt;br /&gt;
 &lt;br /&gt;
 int '''numTokens'''(string tokenName);&lt;br /&gt;
 &lt;br /&gt;
 string '''otherName'''();&lt;br /&gt;
 // returns the name of the corpse, ruin, &lt;br /&gt;
 // or construction site building that this was or will be&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Player_Functions</id>
		<title>Player Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Player_Functions"/>
				<updated>2010-04-13T02:05:26Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: /* Constructors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
Each '''player object''' represents a human or ai player.&lt;br /&gt;
&lt;br /&gt;
== Constructors ==&lt;br /&gt;
 Player '''getAIPlayer'''( int index );&lt;br /&gt;
 &lt;br /&gt;
 Player '''getHumanPlayer'''( int index );&lt;br /&gt;
 &lt;br /&gt;
 Player '''getPlayer'''( int index );&lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
 bool '''isValid'''();&lt;br /&gt;
 &lt;br /&gt;
 bool '''isHuman'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''addToHand'''( string cardName );&lt;br /&gt;
 &lt;br /&gt;
 void '''addToDeck'''( string cardName, int index );&lt;br /&gt;
 &lt;br /&gt;
 Card '''getDeckCard'''( int index );&lt;br /&gt;
 &lt;br /&gt;
 Card '''getHandCard'''( int index );&lt;br /&gt;
 &lt;br /&gt;
 void '''removeHandCard'''( int index );&lt;br /&gt;
 &lt;br /&gt;
 void '''removeDeckCard'''( int index );&lt;br /&gt;
 &lt;br /&gt;
 void '''drawCard'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''shuffleDeck'''();&lt;br /&gt;
 &lt;br /&gt;
 int '''deckSize'''();&lt;br /&gt;
 &lt;br /&gt;
 int '''handSize'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''addFlux'''( int delta );&lt;br /&gt;
 &lt;br /&gt;
 void '''addGlory'''( int delta );&lt;br /&gt;
 &lt;br /&gt;
 int '''getFlux'''();&lt;br /&gt;
 &lt;br /&gt;
 int '''getGlory'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''setTeam'''( int teamId );&lt;br /&gt;
 // set to zero for no team&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Player_Functions</id>
		<title>Player Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Player_Functions"/>
				<updated>2010-04-13T02:05:08Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: /* Constructors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
Each '''player object''' represents a human or ai player.&lt;br /&gt;
&lt;br /&gt;
== Constructors ==&lt;br /&gt;
 Player '''getAIPlayer'''( int index );&lt;br /&gt;
 &lt;br /&gt;
 Player '''getHumanPlayer'''( int index );&lt;br /&gt;
&lt;br /&gt;
 Player '''getPlayer'''( int index );&lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
 bool '''isValid'''();&lt;br /&gt;
 &lt;br /&gt;
 bool '''isHuman'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''addToHand'''( string cardName );&lt;br /&gt;
 &lt;br /&gt;
 void '''addToDeck'''( string cardName, int index );&lt;br /&gt;
 &lt;br /&gt;
 Card '''getDeckCard'''( int index );&lt;br /&gt;
 &lt;br /&gt;
 Card '''getHandCard'''( int index );&lt;br /&gt;
 &lt;br /&gt;
 void '''removeHandCard'''( int index );&lt;br /&gt;
 &lt;br /&gt;
 void '''removeDeckCard'''( int index );&lt;br /&gt;
 &lt;br /&gt;
 void '''drawCard'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''shuffleDeck'''();&lt;br /&gt;
 &lt;br /&gt;
 int '''deckSize'''();&lt;br /&gt;
 &lt;br /&gt;
 int '''handSize'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''addFlux'''( int delta );&lt;br /&gt;
 &lt;br /&gt;
 void '''addGlory'''( int delta );&lt;br /&gt;
 &lt;br /&gt;
 int '''getFlux'''();&lt;br /&gt;
 &lt;br /&gt;
 int '''getGlory'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''setTeam'''( int teamId );&lt;br /&gt;
 // set to zero for no team&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Player_Functions</id>
		<title>Player Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Player_Functions"/>
				<updated>2010-04-13T02:04:28Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: /* Methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
Each '''player object''' represents a human or ai player.&lt;br /&gt;
&lt;br /&gt;
== Constructors ==&lt;br /&gt;
 Player getAIPlayer( int index );&lt;br /&gt;
 &lt;br /&gt;
 Player getHumanPlayer( int index );&lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
 bool '''isValid'''();&lt;br /&gt;
 &lt;br /&gt;
 bool '''isHuman'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''addToHand'''( string cardName );&lt;br /&gt;
 &lt;br /&gt;
 void '''addToDeck'''( string cardName, int index );&lt;br /&gt;
 &lt;br /&gt;
 Card '''getDeckCard'''( int index );&lt;br /&gt;
 &lt;br /&gt;
 Card '''getHandCard'''( int index );&lt;br /&gt;
 &lt;br /&gt;
 void '''removeHandCard'''( int index );&lt;br /&gt;
 &lt;br /&gt;
 void '''removeDeckCard'''( int index );&lt;br /&gt;
 &lt;br /&gt;
 void '''drawCard'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''shuffleDeck'''();&lt;br /&gt;
 &lt;br /&gt;
 int '''deckSize'''();&lt;br /&gt;
 &lt;br /&gt;
 int '''handSize'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''addFlux'''( int delta );&lt;br /&gt;
 &lt;br /&gt;
 void '''addGlory'''( int delta );&lt;br /&gt;
 &lt;br /&gt;
 int '''getFlux'''();&lt;br /&gt;
 &lt;br /&gt;
 int '''getGlory'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''setTeam'''( int teamId );&lt;br /&gt;
 // set to zero for no team&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Hook_Functions</id>
		<title>Hook Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Hook_Functions"/>
				<updated>2010-04-09T14:11:45Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
The scripts you write interact with the game via a collection of hook functions. These functions are called by the game at the appropriate times and execute your code.&lt;br /&gt;
&lt;br /&gt;
== Implemented ==&lt;br /&gt;
 void '''configGame'''(); &lt;br /&gt;
 // Sets up the game state such as # of players, Map Size, if they need to set a deck or not, etc&lt;br /&gt;
 [[Config Functions]]&lt;br /&gt;
 &lt;br /&gt;
 bool '''isDeckValid'''([[Player Functions|Player]] player);&lt;br /&gt;
 // if you want to implement non-standard deck requirements&lt;br /&gt;
 // use statusMsg to tell them why their deck is invalid&lt;br /&gt;
 &lt;br /&gt;
 void '''beforeStart'''(); &lt;br /&gt;
 // Do things here before any action. Place creatures and buildings, change their decks etc.&lt;br /&gt;
 &lt;br /&gt;
 void '''afterStart'''();&lt;br /&gt;
 // Send any welcome messages here&lt;br /&gt;
 &lt;br /&gt;
 void '''onNewRound'''();&lt;br /&gt;
 // called after all the new round events&lt;br /&gt;
 &lt;br /&gt;
 void '''onPlayersTurn'''([[Player Functions|Player]] player);&lt;br /&gt;
  &lt;br /&gt;
 bool '''entityCallback'''(Entity entity)&lt;br /&gt;
 // called for each entity in the game if you call forEachEntity();&lt;br /&gt;
 &lt;br /&gt;
 void '''onDialogResponse'''([[Player Functions|Player]] player,int resp);&lt;br /&gt;
 &lt;br /&gt;
 bool '''canPass'''([[Player Functions|Player]] player);&lt;br /&gt;
 // called when the real players try to pass.&lt;br /&gt;
 // This is so you can ensure they do a particular action before passing.&lt;br /&gt;
 &lt;br /&gt;
 bool '''canAct'''([[Player Functions|Player]] player,Action action);&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Entity_Functions</id>
		<title>Entity Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Entity_Functions"/>
				<updated>2010-04-08T01:50:46Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: /* Methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
Each '''entity object''' represents a creature, building, enchantment, corpse, or ruin.  Collectively, these objects define the current game state.&lt;br /&gt;
&lt;br /&gt;
== Constructors ==&lt;br /&gt;
 Entity createEntity( string cardName, int x_coord, int y_coord, [[Player Functions|Player]] controller );&lt;br /&gt;
 &lt;br /&gt;
 Entity createEntity( string cardName, Location loc, [[Player Functions|Player]] controller );&lt;br /&gt;
 &lt;br /&gt;
 Entity createEntity( string cardName, Location loc );&lt;br /&gt;
&lt;br /&gt;
See also getFigure( Location loc ).&lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
 bool '''isValid'''();&lt;br /&gt;
 // check to see if entity was created successfully&lt;br /&gt;
 &lt;br /&gt;
 bool '''doesExist'''();&lt;br /&gt;
 // check to see if entity has been removed&lt;br /&gt;
 &lt;br /&gt;
 string '''getName'''();&lt;br /&gt;
 &lt;br /&gt;
 [[Player Functions|Player]] '''getController'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''setController'''( [[Player Functions|Player]] controller );&lt;br /&gt;
 &lt;br /&gt;
 bool '''isType'''( int type );&lt;br /&gt;
 // Types: CREATURE=1, BUILDING=2, ENCHANTMENT=3, ITEM=4, MARKER(Corpse,Flux Well,Ruin)=5, WORLD_ENCHANT=6&lt;br /&gt;
 &lt;br /&gt;
 Location '''getLoc'''();&lt;br /&gt;
 &lt;br /&gt;
 bool '''moveEntity'''( Location );&lt;br /&gt;
 // returns false if unsuccessful (e.g., trying to move figure into occupied location)&lt;br /&gt;
 &lt;br /&gt;
 void '''remove'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''destroy'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''sacrifice'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''setDim'''( bool dimOrNot );&lt;br /&gt;
 &lt;br /&gt;
 bool '''isDim'''();&lt;br /&gt;
 &lt;br /&gt;
 int '''addTokens'''(string tokenName,int delta);&lt;br /&gt;
 // returns the number of that token after the add.&lt;br /&gt;
 // delta can be negative&lt;br /&gt;
 &lt;br /&gt;
 int '''numTokens'''(string tokenName);&lt;br /&gt;
 &lt;br /&gt;
 string '''otherName'''();&lt;br /&gt;
 // returns the name of the corpse, ruin, &lt;br /&gt;
 // or construction site building that this was or will be&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Entity_Functions</id>
		<title>Entity Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Entity_Functions"/>
				<updated>2010-04-08T01:42:50Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: /* Constructors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
Each '''entity object''' represents a creature, building, enchantment, corpse, or ruin.  Collectively, these objects define the current game state.&lt;br /&gt;
&lt;br /&gt;
== Constructors ==&lt;br /&gt;
 Entity createEntity( string cardName, int x_coord, int y_coord, [[Player Functions|Player]] controller );&lt;br /&gt;
 &lt;br /&gt;
 Entity createEntity( string cardName, Location loc, [[Player Functions|Player]] controller );&lt;br /&gt;
 &lt;br /&gt;
 Entity createEntity( string cardName, Location loc );&lt;br /&gt;
&lt;br /&gt;
See also getFigure( Location loc ).&lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
 bool '''isValid'''();&lt;br /&gt;
 // check to see if entity was created successfully&lt;br /&gt;
 &lt;br /&gt;
 bool '''doesExist'''();&lt;br /&gt;
 // check to see if entity has been removed&lt;br /&gt;
 &lt;br /&gt;
 string '''getName'''();&lt;br /&gt;
 &lt;br /&gt;
 Player '''getController'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''setController'''( Player controller );&lt;br /&gt;
 &lt;br /&gt;
 bool '''isType'''( int type );&lt;br /&gt;
 // Types: CREATURE=1, BUILDING=2, ENCHANTMENT=3, ITEM=4, MARKER(Corpse,Flux Well,Ruin)=5, WORLD_ENCHANT=6&lt;br /&gt;
 &lt;br /&gt;
 Location '''getLoc'''();&lt;br /&gt;
 &lt;br /&gt;
 bool '''moveEntity'''( Location );&lt;br /&gt;
 // returns false if unsuccessful (e.g., trying to move figure into occupied location)&lt;br /&gt;
 &lt;br /&gt;
 void '''remove'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''destroy'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''sacrifice'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''setDim'''( bool dimOrNot );&lt;br /&gt;
 &lt;br /&gt;
 bool '''isDim'''();&lt;br /&gt;
 &lt;br /&gt;
 int '''addTokens'''(string tokenName,int delta);&lt;br /&gt;
 // returns the number of that token after the add.&lt;br /&gt;
 // delta can be negative&lt;br /&gt;
 &lt;br /&gt;
 int '''numTokens'''(string tokenName);&lt;br /&gt;
 &lt;br /&gt;
 string '''otherName'''();&lt;br /&gt;
 // returns the name of the corpse, ruin, &lt;br /&gt;
 // or construction site building that this was or will be&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Hook_Functions</id>
		<title>Hook Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Hook_Functions"/>
				<updated>2010-04-08T01:42:10Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: /* Implemented */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
The scripts you write interact with the game via a collection of hook functions. These functions are called by the game at the appropriate times and execute your code.&lt;br /&gt;
&lt;br /&gt;
== Implemented ==&lt;br /&gt;
 void '''configGame'''(); &lt;br /&gt;
 // Sets up the game state such as # of players, Map Size, if they need to set a deck or not, etc&lt;br /&gt;
 [[Config Functions]]&lt;br /&gt;
 &lt;br /&gt;
 bool '''isDeckValid'''([[Player Functions|Player]] player);&lt;br /&gt;
 // if you want to implement non-standard deck requirements&lt;br /&gt;
 // use statusMsg to tell them why their deck is invalid&lt;br /&gt;
 &lt;br /&gt;
 void '''beforeStart'''(); &lt;br /&gt;
 // Do things here before any action. Place creatures and buildings, change their decks etc.&lt;br /&gt;
 &lt;br /&gt;
 void '''afterStart'''();&lt;br /&gt;
 // Send any welcome messages here&lt;br /&gt;
 &lt;br /&gt;
 void '''onNewRound'''();&lt;br /&gt;
 // called after all the new round events&lt;br /&gt;
 &lt;br /&gt;
 void '''onPlayersTurn'''([[Player Functions|Player]] player);&lt;br /&gt;
  &lt;br /&gt;
 bool '''entityCallback'''(Entity entity)&lt;br /&gt;
 // called for each entity in the game if you call forEachEntity();&lt;br /&gt;
 &lt;br /&gt;
 void '''onDialogResponse'''([[Player Functions|Player]] player,int resp);&lt;br /&gt;
&lt;br /&gt;
== Not implemented yet ==&lt;br /&gt;
 void '''afterAction'''();&lt;br /&gt;
 &lt;br /&gt;
 bool '''canPass'''(Player player);&lt;br /&gt;
 // called when the real players try to pass.&lt;br /&gt;
 // This is so you can ensure they do a particular action before passing.&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Hook_Functions</id>
		<title>Hook Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Hook_Functions"/>
				<updated>2010-04-07T18:04:36Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: /* Implemented */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
The scripts you write interact with the game via a collection of hook functions. These functions are called by the game at the appropriate times and execute your code.&lt;br /&gt;
&lt;br /&gt;
== Implemented ==&lt;br /&gt;
 void '''configGame'''(); &lt;br /&gt;
 // Sets up the game state such as # of players, Map Size, if they need to set a deck or not, etc&lt;br /&gt;
 [[Config Functions]]&lt;br /&gt;
 &lt;br /&gt;
 bool '''isDeckValid'''(Player player);&lt;br /&gt;
 // if you want to implement non-standard deck requirements&lt;br /&gt;
 // use statusMsg to tell them why their deck is invalid&lt;br /&gt;
 &lt;br /&gt;
 void '''beforeStart'''(); &lt;br /&gt;
 // Do things here before any action. Place creatures and buildings, change their decks etc.&lt;br /&gt;
 &lt;br /&gt;
 void '''afterStart'''();&lt;br /&gt;
 // Send any welcome messages here&lt;br /&gt;
 &lt;br /&gt;
 void '''onNewRound'''();&lt;br /&gt;
 // called after all the new round events&lt;br /&gt;
 &lt;br /&gt;
 void '''onPlayersTurn'''(Player player);&lt;br /&gt;
  &lt;br /&gt;
 bool '''entityCallback'''(Entity entity)&lt;br /&gt;
 // called for each entity in the game if you call forEachEntity();&lt;br /&gt;
 &lt;br /&gt;
 void '''onDialogResponse'''(Player player,int resp);&lt;br /&gt;
&lt;br /&gt;
== Not implemented yet ==&lt;br /&gt;
 void '''afterAction'''();&lt;br /&gt;
 &lt;br /&gt;
 bool '''canPass'''(Player player);&lt;br /&gt;
 // called when the real players try to pass.&lt;br /&gt;
 // This is so you can ensure they do a particular action before passing.&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Hook_Functions</id>
		<title>Hook Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Hook_Functions"/>
				<updated>2010-04-07T18:04:20Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: /* Implemented */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
The scripts you write interact with the game via a collection of hook functions. These functions are called by the game at the appropriate times and execute your code.&lt;br /&gt;
&lt;br /&gt;
== Implemented ==&lt;br /&gt;
 void '''configGame'''(); &lt;br /&gt;
 // Sets up the game state such as # of players, Map Size, if they need to set a deck or not, etc&lt;br /&gt;
 [[Config Functions]]&lt;br /&gt;
 &lt;br /&gt;
 bool isDeckValid(Player player);&lt;br /&gt;
 // if you want to implement non-standard deck requirements&lt;br /&gt;
 // use statusMsg to tell them why their deck is invalid&lt;br /&gt;
 &lt;br /&gt;
 void '''beforeStart'''(); &lt;br /&gt;
 // Do things here before any action. Place creatures and buildings, change their decks etc.&lt;br /&gt;
 &lt;br /&gt;
 void '''afterStart'''();&lt;br /&gt;
 // Send any welcome messages here&lt;br /&gt;
 &lt;br /&gt;
 void '''onNewRound'''();&lt;br /&gt;
 // called after all the new round events&lt;br /&gt;
 &lt;br /&gt;
 void '''onPlayersTurn'''(Player player);&lt;br /&gt;
  &lt;br /&gt;
 bool '''entityCallback'''(Entity entity)&lt;br /&gt;
 // called for each entity in the game if you call forEachEntity();&lt;br /&gt;
 &lt;br /&gt;
 void '''onDialogResponse'''(Player player,int resp);&lt;br /&gt;
&lt;br /&gt;
== Not implemented yet ==&lt;br /&gt;
 void '''afterAction'''();&lt;br /&gt;
 &lt;br /&gt;
 bool '''canPass'''(Player player);&lt;br /&gt;
 // called when the real players try to pass.&lt;br /&gt;
 // This is so you can ensure they do a particular action before passing.&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Location_Functions</id>
		<title>Location Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Location_Functions"/>
				<updated>2010-04-06T12:57:57Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: /* Methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
A location object represents a particular hex on the playing map.  Note that the TFW [[Coordinate System]] is transposed -- the x-axis is vertical and the y-axis is horizontal.  Labeling starts from zero.&lt;br /&gt;
&lt;br /&gt;
== Constructors ==&lt;br /&gt;
 Location '''createLocation'''( int x, int y );&lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
 bool '''isAloft'''(); &lt;br /&gt;
 // false if an Aloft guy is grounded after melee&lt;br /&gt;
 &lt;br /&gt;
 bool '''isValid'''();&lt;br /&gt;
 &lt;br /&gt;
 int '''distance'''(Location);&lt;br /&gt;
 &lt;br /&gt;
 int '''getX'''();&lt;br /&gt;
 int '''getY'''();&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Entity_Functions</id>
		<title>Entity Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Entity_Functions"/>
				<updated>2010-04-06T12:56:15Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
Each '''entity object''' represents a creature, building, enchantment, corpse, or ruin.  Collectively, these objects define the current game state.&lt;br /&gt;
&lt;br /&gt;
== Constructors ==&lt;br /&gt;
 Entity createEntity( string cardName, int x_coord, int y_coord, Player controller );&lt;br /&gt;
 &lt;br /&gt;
 Entity createEntity( string cardName, Location loc, Player controller );&lt;br /&gt;
 &lt;br /&gt;
 Entity createEntity( string cardName, Location loc );&lt;br /&gt;
&lt;br /&gt;
See also getFigure( Location loc ).&lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
 bool '''isValid'''();&lt;br /&gt;
 // check to see if entity was created successfully&lt;br /&gt;
 &lt;br /&gt;
 bool '''doesExist'''();&lt;br /&gt;
 // check to see if entity has been removed&lt;br /&gt;
 &lt;br /&gt;
 string '''getName'''();&lt;br /&gt;
 &lt;br /&gt;
 Player '''getController'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''setController'''( Player controller );&lt;br /&gt;
 &lt;br /&gt;
 bool '''isType'''( int type );&lt;br /&gt;
 // Types: CREATURE=1, BUILDING=2, ENCHANTMENT=3, ITEM=4, MARKER(Corpse,Flux Well,Ruin)=5, WORLD_ENCHANT=6&lt;br /&gt;
 &lt;br /&gt;
 Location '''getLoc'''();&lt;br /&gt;
 &lt;br /&gt;
 bool '''moveEntity'''( Location );&lt;br /&gt;
 // returns false if unsuccessful (e.g., trying to move figure into occupied location)&lt;br /&gt;
 &lt;br /&gt;
 void '''remove'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''destroy'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''sacrifice'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''setDim'''( bool dimOrNot );&lt;br /&gt;
 &lt;br /&gt;
 bool '''isDim'''();&lt;br /&gt;
 &lt;br /&gt;
 int '''addTokens'''(string tokenName,int delta);&lt;br /&gt;
 // returns the number of that token after the add.&lt;br /&gt;
 // delta can be negative&lt;br /&gt;
 &lt;br /&gt;
 int '''numTokens'''(string tokenName);&lt;br /&gt;
 &lt;br /&gt;
 string '''otherName'''();&lt;br /&gt;
 // returns the name of the corpse, ruin, &lt;br /&gt;
 // or construction site building that this was or will be&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Entity_Functions</id>
		<title>Entity Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Entity_Functions"/>
				<updated>2010-04-05T16:06:18Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
Each '''entity object''' represents a creature, building, enchantment, corpse, or ruin.  Collectively, these objects define the current game state.&lt;br /&gt;
&lt;br /&gt;
== Constructors ==&lt;br /&gt;
 Entity createEntity( string cardName, int x_coord, int y_coord, Player controller );&lt;br /&gt;
 &lt;br /&gt;
 Entity createEntity( string cardName, Location loc, Player controller );&lt;br /&gt;
 &lt;br /&gt;
 Entity createEntity( string cardName, Location loc );&lt;br /&gt;
&lt;br /&gt;
See also getFigure( Location loc ).&lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
 bool '''isValid'''();&lt;br /&gt;
 // check to see if entity was created successfully&lt;br /&gt;
 &lt;br /&gt;
 bool '''doesExist'''();&lt;br /&gt;
 // check to see if entity has been removed&lt;br /&gt;
&lt;br /&gt;
 string '''getName'''();&lt;br /&gt;
 &lt;br /&gt;
 Player '''getController'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''setController'''( Player controller );&lt;br /&gt;
 &lt;br /&gt;
 bool '''isType'''( int type );&lt;br /&gt;
 // Types: CREATURE=1, BUILDING=2, ENCHANTMENT=3, ITEM=4, MARKER(Corpse,Flux Well,Ruin)=5, WORLD_ENCHANT=6&lt;br /&gt;
 &lt;br /&gt;
 Location '''getLoc'''();&lt;br /&gt;
 &lt;br /&gt;
 bool '''moveEntity'''( Location );&lt;br /&gt;
 // returns false if unsuccessful (e.g., trying to move figure into occupied location)&lt;br /&gt;
 &lt;br /&gt;
 void '''remove'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''destroy'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''sacrifice'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''setDim'''( bool dimOrNot );&lt;br /&gt;
 &lt;br /&gt;
 bool '''isDim'''();&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Global_Functions</id>
		<title>Global Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Global_Functions"/>
				<updated>2010-04-05T16:04:57Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
'''Global functions''' can be called from anywhere in your scripts.&lt;br /&gt;
&lt;br /&gt;
 [[Entity_Functions|Entity]] '''createEntity'''( string CardName, int x_coord, int y_coord, Player controller );&lt;br /&gt;
 [[Entity_Functions|Entity]] '''createEntity'''( string CardName,Location loc, Player controller );&lt;br /&gt;
 [[Entity_Functions|Entity]] '''createEntity'''( string CardName,Location loc );&lt;br /&gt;
 &lt;br /&gt;
 Location '''createLocation'''( int x, int y );&lt;br /&gt;
 &lt;br /&gt;
 int getMapWidth();&lt;br /&gt;
 int getMapHeight();&lt;br /&gt;
 &lt;br /&gt;
 Player '''getAIPlayer'''( int index );&lt;br /&gt;
 &lt;br /&gt;
 Player '''getHumanPlayer'''( int index );&lt;br /&gt;
 &lt;br /&gt;
 void '''setTerrain'''( Location loc, int topo, int veg );&lt;br /&gt;
 int '''getTopo'''( Location loc );&lt;br /&gt;
 int '''getVeg'''( Location loc );&lt;br /&gt;
 // topo: OCEAN=1, SOGGY=2, FLAT=3, HILLS=4, MOUNTAIN=5&lt;br /&gt;
 // veg: DESERT=1 ,GRASS=2 ,TREES=3&lt;br /&gt;
 &lt;br /&gt;
 [[Entity_Functions|Entity]] '''getFigure'''( Location loc );&lt;br /&gt;
 &lt;br /&gt;
 void '''forEachEntity'''();&lt;br /&gt;
 // call [[Hook Functions|entityCallback()]] once for each [[Entity_Functions|Entity]] in the game.&lt;br /&gt;
 &lt;br /&gt;
 void '''enchantEntity'''( [[Entity_Functions|Entity]] toEnchant, string enchantName, Player enchantController );&lt;br /&gt;
 &lt;br /&gt;
 void '''endGame'''( Player winner );&lt;br /&gt;
 &lt;br /&gt;
 void '''flipTheScript'''( int scriptID );&lt;br /&gt;
 // changes what script is being used for the game&lt;br /&gt;
 // doesn't preserve global variables yet&lt;br /&gt;
 &lt;br /&gt;
 int '''rand'''( int max );&lt;br /&gt;
 // return an integer from 0 to max-1&lt;br /&gt;
 &lt;br /&gt;
 bool '''randChance'''( float chance );&lt;br /&gt;
 // return true with probability equal to chance&lt;br /&gt;
 &lt;br /&gt;
 void '''infoBox'''( string title, string text );&lt;br /&gt;
 // display text in a pop up box to all the players&lt;br /&gt;
 &lt;br /&gt;
 void '''statusMsg'''( Player from, string msg );&lt;br /&gt;
 // Prints a message from a player in the battle log. &lt;br /&gt;
 // just pass an empty player to make the message from the server&lt;br /&gt;
 &lt;br /&gt;
 void '''wipeEffect'''();&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Scripting</id>
		<title>Scripting</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Scripting"/>
				<updated>2010-04-05T13:24:13Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: /* API */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
Scripts are written in [http://www.angelcode.com/angelscript/sdk/docs/manual/index.html AngelScript], it has syntax similar to C.  Create your scripts [http://thefarwilds.com/story/login.html here].  If you want something ask for it in the [http://thefarwilds.com/forum/viewforum.php?f=14 forum].&lt;br /&gt;
&lt;br /&gt;
The scripts you write interact with the game via a collection of [[Hook Functions]].  These hook functions are called by the game at the appropriate times and execute your code.  See the [[#Examples]] section for more details.&lt;br /&gt;
&lt;br /&gt;
== API ==&lt;br /&gt;
* [[Hook Functions]]&lt;br /&gt;
* [[Global Functions]]&lt;br /&gt;
* [[Config Functions]]&lt;br /&gt;
* [[Player Functions]]&lt;br /&gt;
* [[Entity Functions]]&lt;br /&gt;
* [[Location Functions]]&lt;br /&gt;
* [[DlgBox Functions]]&lt;br /&gt;
* [[Card Functions]]&lt;br /&gt;
* [[Action Functions]]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
[[Scripting Examples]]&lt;br /&gt;
&lt;br /&gt;
== Helpful Hints ==&lt;br /&gt;
[[Coordinate System]] : Coordinates in TFW are a bit weird. This page explains.&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Global_Functions</id>
		<title>Global Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Global_Functions"/>
				<updated>2010-04-05T13:02:39Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripts]]&lt;br /&gt;
'''Global functions''' can be called from anywhere in your scripts.&lt;br /&gt;
&lt;br /&gt;
 [[Entity_Functions|Entity]] '''createEntity'''( string CardName, int x_coord, int y_coord, Player controller );&lt;br /&gt;
 [[Entity_Functions|Entity]] '''createEntity'''( string CardName,Location loc, Player controller );&lt;br /&gt;
 [[Entity_Functions|Entity]] '''createEntity'''( string CardName,Location loc );&lt;br /&gt;
 &lt;br /&gt;
 Location '''createLocation'''( int x, int y );&lt;br /&gt;
 &lt;br /&gt;
 Player '''getAIPlayer'''( int index );&lt;br /&gt;
 &lt;br /&gt;
 Player '''getHumanPlayer'''( int index );&lt;br /&gt;
 &lt;br /&gt;
 void '''setTerrain'''( Location loc, int topo, int veg );&lt;br /&gt;
 int '''getTopo'''( Location loc );&lt;br /&gt;
 int '''getVeg'''( Location loc );&lt;br /&gt;
 // topo: ocean=1, soggy=2, flat=3, hills=4, mountain=5&lt;br /&gt;
 // veg: desert=1 ,grass=2 ,forest=3&lt;br /&gt;
 &lt;br /&gt;
 [[Entity_Functions|Entity]] '''getFigure'''( Location loc );&lt;br /&gt;
 &lt;br /&gt;
 void '''forEachEntity'''();&lt;br /&gt;
 // call [[Hook Functions|entityCallback()]] once for each [[Entity_Functions|Entity]] in the game.&lt;br /&gt;
 &lt;br /&gt;
 void '''enchantEntity'''( [[Entity_Functions|Entity]] toEnchant, string enchantName, Player enchantController );&lt;br /&gt;
 &lt;br /&gt;
 void '''endGame'''( Player winner );&lt;br /&gt;
 &lt;br /&gt;
 void '''flipTheScript'''( int scriptID );&lt;br /&gt;
 // changes what script is being used for the game&lt;br /&gt;
 // doesn't preserve global variables yet&lt;br /&gt;
 &lt;br /&gt;
 int '''rand'''( int max );&lt;br /&gt;
 // return an integer from 0 to max-1&lt;br /&gt;
 &lt;br /&gt;
 bool '''randChance'''( float chance );&lt;br /&gt;
 // return true with probability equal to chance&lt;br /&gt;
 &lt;br /&gt;
 void '''infoBox'''( string title, string text );&lt;br /&gt;
 // display text in a pop up box to all the players&lt;br /&gt;
 &lt;br /&gt;
 void '''statusMsg'''( Player from, string msg );&lt;br /&gt;
 // Prints a message from a player in the battle log. &lt;br /&gt;
 // just pass an empty player to make the message from the server&lt;br /&gt;
 &lt;br /&gt;
 void '''wipeEffect'''();&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Location_Functions</id>
		<title>Location Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Location_Functions"/>
				<updated>2010-04-01T23:46:18Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Scripting]]&lt;br /&gt;
&lt;br /&gt;
 bool isValid();&lt;br /&gt;
 bool isAloft(); &lt;br /&gt;
 // false if an Aloft guy is grounded after melee&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Global_Functions</id>
		<title>Global Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Global_Functions"/>
				<updated>2010-03-27T16:16:02Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Scripting]]&lt;br /&gt;
Global Functions that you can call from your scripts:&lt;br /&gt;
&lt;br /&gt;
 Entity '''createEntity'''(string CardName, int x_coord , int y_coord,Player controller );&lt;br /&gt;
 Entity '''createEntity'''(string CardName ,Location loc,Player controller);&lt;br /&gt;
 Entity '''createEntity'''(string CardName ,Location loc);&lt;br /&gt;
 &lt;br /&gt;
 Location '''createLocation'''(int x,int y);&lt;br /&gt;
 &lt;br /&gt;
 Player '''getAIPlayer'''(int index)&lt;br /&gt;
 Player '''getHumanPlayer'''(int index)&lt;br /&gt;
 &lt;br /&gt;
 void '''setTerrain'''(Location loc,int topo,int veg)&lt;br /&gt;
 int '''getTopo'''(Location loc);&lt;br /&gt;
 int '''getVeg'''(Location loc);&lt;br /&gt;
 // topo: ocean=1, soggy=2, flat=3, hills=4, mountain=5&lt;br /&gt;
 // veg: desert=1 ,grass=2 ,forest=3&lt;br /&gt;
 &lt;br /&gt;
 Entity '''getFigure'''(Location where);&lt;br /&gt;
 &lt;br /&gt;
 void '''forEachEntity'''();&lt;br /&gt;
 // this will cause the game to call the entityCallback() function you write &lt;br /&gt;
 // once for each Entity in the game.&lt;br /&gt;
 &lt;br /&gt;
 void '''enchantEntity'''(Entity toEnchant,string enchantName,Player enchantController); &lt;br /&gt;
   &lt;br /&gt;
 void '''endGame'''(Player winner);&lt;br /&gt;
 void '''flipTheScript'''(int scriptID); &lt;br /&gt;
 // changes what script is being used for the game&lt;br /&gt;
 // doesn't preserve global variables yet&lt;br /&gt;
 &lt;br /&gt;
 int rand(int max);&lt;br /&gt;
 // returns an int from 0 to max-1 &lt;br /&gt;
 bool randChance(float chance);&lt;br /&gt;
 // returns true with probability equal to chance&lt;br /&gt;
 &lt;br /&gt;
 void '''infoBox'''(string title,string text);  &lt;br /&gt;
 // displays text in a pop up box to all the players&lt;br /&gt;
 void '''statusMsg'''(Player from,string msg);&lt;br /&gt;
 // Prints a message from a player in the battle log. &lt;br /&gt;
 // just pass an empty player to make the message from the server&lt;br /&gt;
 void '''wipeEffect'''();&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Hook_Functions</id>
		<title>Hook Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Hook_Functions"/>
				<updated>2010-03-27T16:15:37Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Scripting]]&lt;br /&gt;
These are functions you can implement in your scripts. They are call at the appropriate times by the game.&lt;br /&gt;
&lt;br /&gt;
 void '''configGame'''(); &lt;br /&gt;
 // Sets up the game state such as # of players, Map Size, if they need to set a deck or not, etc&lt;br /&gt;
 [[Config Functions]]&lt;br /&gt;
 &lt;br /&gt;
 void '''beforeStart'''(); &lt;br /&gt;
 // Do things here before any action. Place creatures and buildings, change their decks etc.&lt;br /&gt;
 &lt;br /&gt;
 void '''afterStart'''();&lt;br /&gt;
 // Send any welcome messages here&lt;br /&gt;
 &lt;br /&gt;
 void '''onNewRound'''();&lt;br /&gt;
 // called after all the new round events&lt;br /&gt;
 &lt;br /&gt;
 void '''onPlayersTurn'''(Player player); &lt;br /&gt;
 bool '''entityCallback'''(Entity entity)&lt;br /&gt;
 // called for each entity in the game if you call forEachEntity();&lt;br /&gt;
 &lt;br /&gt;
 void '''onDialogResponse'''(Player player,int resp);&lt;br /&gt;
&lt;br /&gt;
 void '''afterAction'''(); // not yet&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 bool '''canPass'''(Player player); // not yet&lt;br /&gt;
 // called when the real players try to pass. &lt;br /&gt;
 // This is so you can ensure they do a particular action before passing.&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Hook_Functions</id>
		<title>Hook Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Hook_Functions"/>
				<updated>2010-03-27T16:15:00Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Scripting]]&lt;br /&gt;
These are functions you can implement in your scripts. They are call at the appropriate times by the game.&lt;br /&gt;
&lt;br /&gt;
 void '''configGame'''(); &lt;br /&gt;
 // Sets up the game state such as # of players, Map Size, if they need to set a deck or not, etc&lt;br /&gt;
 [[Config Functions]]&lt;br /&gt;
 &lt;br /&gt;
 void '''beforeStart'''(); &lt;br /&gt;
 // Do things here before any action. Place creatures and buildings, change their decks etc.&lt;br /&gt;
 &lt;br /&gt;
 void '''afterStart'''();&lt;br /&gt;
 // Send any welcome messages here&lt;br /&gt;
 &lt;br /&gt;
 void '''onNewRound'''();&lt;br /&gt;
 // called after all the new round events&lt;br /&gt;
 &lt;br /&gt;
 bool '''entityCallback'''(Entity entity)&lt;br /&gt;
 // called for each entity in the game if you call forEachEntity();&lt;br /&gt;
 &lt;br /&gt;
 void '''onDialogResponse'''(Player player,int resp);&lt;br /&gt;
&lt;br /&gt;
 void '''afterAction'''(); // not yet&lt;br /&gt;
 &lt;br /&gt;
 void '''onPlayersTurn'''(Player player);  // not yet&lt;br /&gt;
 &lt;br /&gt;
 bool '''canPass'''(Player player); // not yet&lt;br /&gt;
 // called when the real players try to pass. &lt;br /&gt;
 // This is so you can ensure they do a particular action before passing.&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Global_Functions</id>
		<title>Global Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Global_Functions"/>
				<updated>2010-03-26T18:11:28Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Scripting]]&lt;br /&gt;
Global Functions that you can call from your scripts:&lt;br /&gt;
&lt;br /&gt;
 Entity '''createEntity'''(string CardName, int x_coord , int y_coord,Player controller );&lt;br /&gt;
 Entity '''createEntity'''(string CardName ,Location loc,Player controller);&lt;br /&gt;
 Entity '''createEntity'''(string CardName ,Location loc);&lt;br /&gt;
 &lt;br /&gt;
 Location '''createLocation'''(int x,int y);&lt;br /&gt;
 &lt;br /&gt;
 Player '''getAIPlayer'''(int index)&lt;br /&gt;
 Player '''getHumanPlayer'''(int index)&lt;br /&gt;
 &lt;br /&gt;
 void '''setTerrain'''(Location loc,int topo,int veg)&lt;br /&gt;
 int '''getTopo'''(Location loc);&lt;br /&gt;
 int '''getVeg'''(Location loc);&lt;br /&gt;
 // topo: ocean=1, soggy=2, flat=3, hills=4, mountain=5&lt;br /&gt;
 // veg: desert=1 ,grass=2 ,forest=3&lt;br /&gt;
 &lt;br /&gt;
 Entity '''getFigure'''(Location where);&lt;br /&gt;
 &lt;br /&gt;
 void '''forEachEntity'''();&lt;br /&gt;
 // this will cause the game to call the entityCallback() function you write &lt;br /&gt;
 // once for each Entity in the game.&lt;br /&gt;
 &lt;br /&gt;
 void '''enchantEntity'''(Entity toEnchant,string enchantName,Player enchantController); // not yet&lt;br /&gt;
   &lt;br /&gt;
 void '''endGame'''(Player winner);&lt;br /&gt;
 void '''flipTheScript'''(int scriptID); &lt;br /&gt;
 // changes what script is being used for the game&lt;br /&gt;
 // doesn't preserve global variables yet&lt;br /&gt;
 &lt;br /&gt;
 int rand(int max);&lt;br /&gt;
 // returns an int from 0 to max-1 &lt;br /&gt;
 bool randChance(float chance);&lt;br /&gt;
 // returns true with probability equal to chance&lt;br /&gt;
 &lt;br /&gt;
 void '''infoBox'''(string title,string text);  &lt;br /&gt;
 // displays text in a pop up box to all the players&lt;br /&gt;
 void '''statusMsg'''(Player from,string msg);&lt;br /&gt;
 // Prints a message from a player in the battle log. &lt;br /&gt;
 // just pass an empty player to make the message from the server&lt;br /&gt;
 void '''wipeEffect'''();&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Hook_Functions</id>
		<title>Hook Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Hook_Functions"/>
				<updated>2010-03-25T13:15:55Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Scripting]]&lt;br /&gt;
These are functions you can implement in your scripts. They are call at the appropriate times by the game.&lt;br /&gt;
&lt;br /&gt;
 void '''configGame'''(); &lt;br /&gt;
 // Sets up the game state such as # of players, Map Size, if they need to set a deck or not, etc&lt;br /&gt;
 [[Config Functions]]&lt;br /&gt;
 &lt;br /&gt;
 void '''beforeStart'''(); &lt;br /&gt;
 // Do things here before any action. Place creatures and buildings, change their decks etc.&lt;br /&gt;
 &lt;br /&gt;
 void '''onNewRound'''();&lt;br /&gt;
 // called after all the new round events&lt;br /&gt;
 &lt;br /&gt;
 bool '''entityCallback'''(Entity entity)&lt;br /&gt;
 // called for each entity in the game if you call forEachEntity();&lt;br /&gt;
 &lt;br /&gt;
 void '''onDialogResponse'''(Player player,int resp);&lt;br /&gt;
&lt;br /&gt;
 void '''afterAction'''(); // not yet&lt;br /&gt;
 &lt;br /&gt;
 void '''onPlayersTurn'''(Player player);  // not yet&lt;br /&gt;
 &lt;br /&gt;
 bool '''canPass'''(Player player); // not yet&lt;br /&gt;
 // called when the real players try to pass. &lt;br /&gt;
 // This is so you can ensure they do a particular action before passing.&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Entity_Functions</id>
		<title>Entity Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Entity_Functions"/>
				<updated>2010-03-23T20:50:16Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Scripting]]&lt;br /&gt;
Entity Functions are called on the Entity object. For example&lt;br /&gt;
&lt;br /&gt;
 Entity ent=getFigure(createLocation(3,3));&lt;br /&gt;
 ent.remove();&lt;br /&gt;
&lt;br /&gt;
List of functions:&lt;br /&gt;
 bool '''isValid'''();&lt;br /&gt;
 bool '''doesExist'''();&lt;br /&gt;
 // isValid will tell you if the Entity returned by some other function is valid&lt;br /&gt;
 // doesExist can be used where you are holding on to an Entity for awhile&lt;br /&gt;
 // it checks to see if it has been removed from the game&lt;br /&gt;
 // getName() and other functions will work on an Entity that is valid but doesn't exist&lt;br /&gt;
&lt;br /&gt;
 string '''getName'''();&lt;br /&gt;
 &lt;br /&gt;
 Player '''getController'''();&lt;br /&gt;
 void '''setController'''(Player);&lt;br /&gt;
 &lt;br /&gt;
 bool '''isType'''(int type);&lt;br /&gt;
 // Types: Creature=1, Building=2,Enchantment=3,Item=4,(Corpse,Flux Well,Ruin)=5,World Enchantment=6&lt;br /&gt;
 &lt;br /&gt;
 Location '''getLoc'''();&lt;br /&gt;
 bool '''moveEntity'''(Location);&lt;br /&gt;
 // returns false if it can't move there&lt;br /&gt;
 &lt;br /&gt;
 void '''remove'''();&lt;br /&gt;
 void '''destroy'''();&lt;br /&gt;
 void '''sacrifice'''();&lt;br /&gt;
 &lt;br /&gt;
 void '''setDim'''(bool dimOrNot);&lt;br /&gt;
 bool '''isDim'''();&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Player_Functions</id>
		<title>Player Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Player_Functions"/>
				<updated>2010-03-23T20:45:58Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Scripting]]&lt;br /&gt;
Player Functions are called on the Player object. For example&lt;br /&gt;
&lt;br /&gt;
 Player player=getAIPlayer(0);&lt;br /&gt;
 player.drawCard();&lt;br /&gt;
&lt;br /&gt;
List of functions:&lt;br /&gt;
 bool '''isValid'''();&lt;br /&gt;
 void '''addToHand'''(string cardName)&lt;br /&gt;
 void '''addToDeck'''(string cardName,int index)&lt;br /&gt;
 Card '''getDeckCard'''(int index)&lt;br /&gt;
 Card '''getHandCard'''(int index)&lt;br /&gt;
 void '''removeHandCard'''(int index)&lt;br /&gt;
 void '''removeDeckCard'''(int index)&lt;br /&gt;
 void '''drawCard'''()&lt;br /&gt;
 void '''shuffleDeck'''()&lt;br /&gt;
 int '''deckSize'''()&lt;br /&gt;
 int '''handSize'''()&lt;br /&gt;
 void '''addFlux'''(int delta)&lt;br /&gt;
 void '''addGlory'''(int delta)&lt;br /&gt;
 int '''getFlux'''()&lt;br /&gt;
 int '''getGlory'''()&lt;br /&gt;
 void '''setTeam'''(int teamID);&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Global_Functions</id>
		<title>Global Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Global_Functions"/>
				<updated>2010-03-23T20:43:31Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Scripting]]&lt;br /&gt;
Global Functions that you can call from your scripts:&lt;br /&gt;
&lt;br /&gt;
 Entity '''createEntity'''(string CardName, int x_coord , int y_coord,Player controller );&lt;br /&gt;
 Entity '''createEntity'''(string CardName ,Location loc,Player controller);&lt;br /&gt;
 Entity '''createEntity'''(string CardName ,Location loc);&lt;br /&gt;
 &lt;br /&gt;
 Location '''createLocation'''(int x,int y);&lt;br /&gt;
 &lt;br /&gt;
 Player '''getAIPlayer'''(int index)&lt;br /&gt;
 Player '''getHumanPlayer'''(int index)&lt;br /&gt;
 &lt;br /&gt;
 void '''setTerrain'''(Location loc,int topo,int veg)&lt;br /&gt;
 int '''getTopo'''(Location loc);&lt;br /&gt;
 int '''getVeg'''(Location loc);&lt;br /&gt;
 // topo: ocean=1, soggy=2, flat=3, hills=4, mountain=5&lt;br /&gt;
 // veg: desert=1 ,grass=2 ,forest=3&lt;br /&gt;
 &lt;br /&gt;
 Entity '''getFigure'''(Location where);&lt;br /&gt;
 &lt;br /&gt;
 void '''forEachEntity'''();&lt;br /&gt;
 // this will cause the game to call the entityCallback() function you write &lt;br /&gt;
 // once for each Entity in the game.&lt;br /&gt;
 &lt;br /&gt;
 void '''enchantEntity'''(Entity toEnchant,string enchantName,Player enchantController); // not yet&lt;br /&gt;
   &lt;br /&gt;
 void '''endGame'''(Player winner);&lt;br /&gt;
 void '''flipTheScript'''(int scriptID); &lt;br /&gt;
 // changes what script is being used for the game&lt;br /&gt;
 // doesn't preserve global variables yet&lt;br /&gt;
  &lt;br /&gt;
 void '''infoBox'''(string title,string text);  &lt;br /&gt;
 // displays text in a pop up box to all the players&lt;br /&gt;
 void '''statusMsg'''(Player from,string msg);&lt;br /&gt;
 // Prints a message from a player in the battle log. &lt;br /&gt;
 // just pass an empty player to make the message from the server&lt;br /&gt;
 void '''wipeEffect'''();&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Global_Functions</id>
		<title>Global Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Global_Functions"/>
				<updated>2010-03-23T20:42:58Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Scripting]]&lt;br /&gt;
Global Functions that you can call from your scripts:&lt;br /&gt;
&lt;br /&gt;
 Entity '''createEntity'''(string CardName, int x_coord , int y_coord,Player controller );&lt;br /&gt;
 Entity '''createEntity'''(string CardName ,Location loc,Player controller);&lt;br /&gt;
 Entity '''createEntity'''(string CardName ,Location loc);&lt;br /&gt;
 &lt;br /&gt;
 Location '''createLocation'''(int x,int y);&lt;br /&gt;
 &lt;br /&gt;
 Player '''getAIPlayer'''(int index)&lt;br /&gt;
 Player '''getHumanPlayer'''(int index)&lt;br /&gt;
 &lt;br /&gt;
 void '''setTerrain'''(Location loc,int topo,int veg)&lt;br /&gt;
 int '''getTopo'''(Location loc);&lt;br /&gt;
 int '''getVeg'''(Location loc);&lt;br /&gt;
 // topo: ocean=1, soggy=2, flat=3, hills=4, mountain=5&lt;br /&gt;
 // veg: desert=1 ,grass=2 ,forest=3&lt;br /&gt;
 &lt;br /&gt;
 Entity '''getFigure'''(Location where);&lt;br /&gt;
 &lt;br /&gt;
 void '''forEachEntity'''();&lt;br /&gt;
 // this will cause the game to call the entityCallback() function you write once for each Entity in the game.&lt;br /&gt;
 &lt;br /&gt;
 void '''enchantEntity'''(Entity toEnchant,string enchantName,Player enchantController); // not yet&lt;br /&gt;
   &lt;br /&gt;
 void '''endGame'''(Player winner);&lt;br /&gt;
 void '''flipTheScript'''(int scriptID); &lt;br /&gt;
 // changes what script is being used for the game&lt;br /&gt;
 // doesn't preserve global variables yet&lt;br /&gt;
  &lt;br /&gt;
 void '''infoBox'''(string title,string text);  &lt;br /&gt;
 // displays text in a pop up box to all the players&lt;br /&gt;
 void statusMsg(Player from,string msg);&lt;br /&gt;
 // Prints a message from a player in the battle log. &lt;br /&gt;
 // just pass an empty player to make the message from the server&lt;br /&gt;
 void '''wipeEffect'''();&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	<entry>
		<id>http://redmine.mygui.info/wiki/index.php/Card_Functions</id>
		<title>Card Functions</title>
		<link rel="alternate" type="text/html" href="http://redmine.mygui.info/wiki/index.php/Card_Functions"/>
				<updated>2010-03-23T20:38:54Z</updated>
		
		<summary type="html">&lt;p&gt;Jed: New page: Scripting Card Functions are called on the Card object. For example   Card card=getAIPlayer(0).getHandCard(0);  if(card.getName()==&amp;quot;Tangler&amp;quot;)  { // ...  List of functions:  string '''g...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Scripting]]&lt;br /&gt;
Card Functions are called on the Card object. For example&lt;br /&gt;
&lt;br /&gt;
 Card card=getAIPlayer(0).getHandCard(0);&lt;br /&gt;
 if(card.getName()==&amp;quot;Tangler&amp;quot;)&lt;br /&gt;
 { // ...&lt;br /&gt;
&lt;br /&gt;
List of functions:&lt;br /&gt;
 string '''getName'''();&lt;/div&gt;</summary>
		<author><name>Jed</name></author>	</entry>

	</feed>