AFTN.CharacterCharacter 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_outputtype 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_outputval string_of_character : character -> string