AFTN.Character
Character information
type ability_output = {
used_action : bool;
Whether this ability used an action
*)can_use_again_this_turn : bool;
Whether this ability can be used again this turn
*)moved_character_index : int option;
If a character was moved, then the index into the global character list of the character that was moved
*)}
Information about the state of the game after an ability is used
val default_ability_output : ability_output
type character = {
first_name : string;
last_name : string;
rank : string;
max_actions : int;
Max # of actions per turn
*)ability_description : string option;
string
representation of optional character ability
ability : (Map.map -> character -> character list -> ability_output) option;
Function that takes in current game state (map, activate character, all characters) and performs an action
*)}
Character information
type ability_function =
Map.map ->
character ->
character list ->
ability_output
val string_of_character : character -> string