[
  {
    "Index": "0x2000",
    "ReturnType": "int",
    "Name": "AI_MYHP_LESS_OR_EQUAL_THAN",
    "Description": "Specify if the user's HP percentage is below or equal than the specified",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2001",
    "ReturnType": "int",
    "Name": "AI_MYSP_LESS_OR_EQUAL_THAN",
    "Description": "Specify if the user's SP percentage is below or equal than the specified",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2002",
    "ReturnType": "int",
    "Name": "AI_FR_HP_LESS_OR_EQUAL_THAN",
    "Description": "Specify if the Enemy's (POV from Enemy) companion HP percentage is below or equal than the specified",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2003",
    "ReturnType": "int",
    "Name": "AI_EN_HP_LESS_OR_EQUAL_THAN",
    "Description": "Specify if the Party Members' (POV from Enemy) companion HP percentage is below or equal than the specified",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2004",
    "ReturnType": "int",
    "Name": "AI_EN_HP_MORE_OR_EQUAL_THAN",
    "Description": "Specify if the Party Members' (POV from Enemy) companion HP percentage is more or equal than the specified",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2005",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0005",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2006",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0006",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2007",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0007",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2008",
    "ReturnType": "int",
    "Name": "AI_CHK_ENEMY_SURVIVE_LESS_OR_EQUAL_THAN",
    "Description": "THIS IS CHECKING HOW MANY ENEMY ALIVE REGARDLESS OF THE POV",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2009",
    "ReturnType": "int",
    "Name": "AI_CHK_ALLIES_LESS_OR_EQUAL_THAN",
    "Description": "THIS IS CHECKING HOW MANY PARTY MEMBERS ALIVE REGARDLESS OF THE POV",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x200a",
    "ReturnType": "int",
    "Name": "AI_MY_AILMENT_UNKNOWN",
    "Description": "It may be checking ailment but it still needs testing because another function with similar function has existed",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x200b",
    "ReturnType": "int",
    "Name": "AI_FR_HOJO",
    "Description": "This is checking the buff/debuff from the Enemies' companion (POV from Enemy)",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x200c",
    "ReturnType": "int",
    "Name": "AI_EN_HAS_AILMENT",
    "Description": "This is checking the ailment from the Party Members' companion (POV from Enemy)",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x200d",
    "ReturnType": "int",
    "Name": "AI_FR_HAS_AILMENTUNKNOWN",
    "Description": "This is checking the ailment from the Enemies' companion (POV from Enemy). However, it needs further testing",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x200e",
    "ReturnType": "int",
    "Name": "AI_FRID_IS_PRESENT_OR_ALIVE",
    "Description": "This is checking if certain Enemy ID is alive or present in the current battle. (POV from Enemy) NOTE: Death also counts towards this",
    "Parameters": [
      {
        "Type": "PartyUnit",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x200f",
    "ReturnType": "int",
    "Name": "AI_ENID_IS_PRESENT_OR_ALIVE",
    "Description": "This is checking if certain Party Member ID is alive or present in the current battle. (POV from Enemy) NOTE: Death also counts towards this.",
    "Parameters": [
      {
        "Type": "PartyUnit",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2010",
    "ReturnType": "int",
    "Name": "AI_EN_HOJO",
    "Description": "This is checking the buff/debuff from the Party Members' companion (POV from Enemy)",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2011",
    "ReturnType": "int",
    "Name": "AI_EN_HOJOUNKNOWN",
    "Description": "This function is checking hojo based on the original flow upon inspection but currently unsure and untested",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2012",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0012",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2013",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0013",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2014",
    "ReturnType": "int",
    "Name": "AI_CHK_MY_FIRSTTURN",
    "Description": "This is checking if the user's turn is the first or not. NOTE: This function is only effective if the user has two turns in a row. The function will check out of those two turns if the first turn is current or not. The prime example usage of this function is Shadow Mitsuo",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2015",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0015",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2016",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0016",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2017",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0017",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2018",
    "ReturnType": "int",
    "Name": "AI_CHK_MYWEAKNESS",
    "Description": "This function checks the user's weakness affinity",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2019",
    "ReturnType": "int",
    "Name": "AI_ALLY_HAS_REFLECT",
    "Description": "This function checks the Enemy's Repel affinity (POV From Enemy)",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x201a",
    "ReturnType": "int",
    "Name": "AI_EN_HAS_NULL",
    "Description": "This function checks the Party Member's Null affinity (POV From Enemy)",
    "Parameters": [
      {
        "Type": "SkillElement",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x201b",
    "ReturnType": "int",
    "Name": "AI_ALLY_HAS_DRAIN",
    "Description": "This function checks the Enemy's Drain affinity (POV From Enemy)",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x201c",
    "ReturnType": "int",
    "Name": "AI_EN_HAS_REFLECT",
    "Description": "This function checks the Party Member's Repel affinity (POV From Enemy)",
    "Parameters": [
      {
        "Type": "SkillElement",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x201d",
    "ReturnType": "int",
    "Name": "AI_ALLY_HAS_NULL",
    "Description": "This function checks the Enemy's Null affinity (POV From Enemy)",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x201e",
    "ReturnType": "int",
    "Name": "AI_EN_HAS_ABSORB",
    "Description": "This function checks the Party Member's Drain affinity (POV From Enemy)",
    "Parameters": [
      {
        "Type": "SkillElement",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x201f",
    "ReturnType": "int",
    "Name": "AI_ALLY_HAS_WEAK",
    "Description": "This function checks the Enemy's Weak affinity (POV From Enemy)",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2020",
    "ReturnType": "int",
    "Name": "AI_EN_HAS_WEAK",
    "Description": "This function checks the Party Member's Weak affinity (POV From Enemy)",
    "Parameters": [
      {
        "Type": "SkillElement",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2021",
    "ReturnType": "int",
    "Name": "AI_MY_USES_ELEMENT_SKILL",
    "Description": "Check when the user is using Element Skill during its turn",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2022",
    "ReturnType": "int",
    "Name": "AI_ALLY_OR_SELF_USES_ELEMENT_SKILL",
    "Description": "Check when the enemy is using Element Skill during their turn (POV from ENEMY). It can also check SELF",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2023",
    "ReturnType": "int",
    "Name": "AI_EN_USES_ELEMENT_SKILL",
    "Description": "Check when the party member is using Element Skill during their turn (POV from ENEMY).",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2024",
    "ReturnType": "int",
    "Name": "AI_SKILL_WAS_USED",
    "Description": "This is checking the last skill used from the enemy",
    "Parameters": [
      {
        "Type": "BattleSkill",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2025",
    "ReturnType": "int",
    "Name": "AI_ALLY_USES_SKILL",
    "Description": "This is checking which Skill ID if used from the Enemy (POV from Enemy)",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2026",
    "ReturnType": "int",
    "Name": "AI_EN_USES_SKILL",
    "Description": "This is checking which Skill ID if used from the Party Member (POV from Enemy)",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2027",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0027",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2028",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0028",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2029",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0029",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x202a",
    "ReturnType": "int",
    "Name": "AI_CHK_MYTURNCOUNT_LESS_OR_EQUAL_THAN",
    "Description": "This is checking if the turn count specific for that user is less or equal than the specified.",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x202b",
    "ReturnType": "int",
    "Name": "AI_CHK_MYTURNCOUNT_MORE_OR_EQUAL_THAN",
    "Description": "This is checking if the turn count specific for that user is more or equal than the specified",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x202c",
    "ReturnType": "void",
    "Name": "AI_TAR_RND",
    "Description": "Target randomly",
    "Parameters": [
    ]
  },
  {
    "Index": "0x202d",
    "ReturnType": "void",
    "Name": "AI_TAR_LOWHP",
    "Description": "Target the lowest HP user",
    "Parameters": [
    ]
  },
  {
    "Index": "0x202e",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_002E",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x202f",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_002F",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2030",
    "ReturnType": "void",
    "Name": "AI_TAR_UNI_HAS_AILMENT",
    "Description": "Target the unit that has ailment",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2031",
    "ReturnType": "void",
    "Name": "AI_TAR_NOTAILMENT",
    "Description": "Target anyone that has no ailment",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2032",
    "ReturnType": "void",
    "Name": "AI_TAR_UNIT",
    "Description": "Target specific unit. Specify the ID",
    "Parameters": [
      {
        "Type": "PartyUnit",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2033",
    "ReturnType": "void",
    "Name": "AI_TAR_SELF",
    "Description": "Target itself",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2034",
    "ReturnType": "void",
    "Name": "AI_TAR_OTHERTHANSELF",
    "Description": "Target other than itself",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2035",
    "ReturnType": "void",
    "Name": "AI_TAR_EN_HAS_NULL",
    "Description": "Target the Party Members that has Null Affinity. (POV from ENEMY)",
    "Parameters": [
      {
        "Type": "SkillElement",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2036",
    "ReturnType": "void",
    "Name": "AI_TAR_EN_HAS_REFLECT",
    "Description": "Target the Party Members that has Repel Affinity. (POV from ENEMY)",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2037",
    "ReturnType": "void",
    "Name": "AI_TAR_EN_HAS_ABSORB",
    "Description": "Target the Party Members that has Drain Affinity. (POV from ENEMY)",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2038",
    "ReturnType": "void",
    "Name": "AI_TAR_EN_HAS_WEAK",
    "Description": "Target the Party Members that has Weak Affinity. (POV from ENEMY)",
    "Parameters": [
      {
        "Type": "SkillElement",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2039",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_0039",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x203a",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_003A",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x203b",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_003B",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x203c",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_003C",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x203d",
    "ReturnType": "void",
    "Name": "AI_ATTACK",
    "Description": "Command the enemy to do basic attack only",
    "Parameters": [
    ]
  },
  {
    "Index": "0x203e",
    "ReturnType": "void",
    "Name": "AI_USE_SKILL",
    "Description": "Command the enemy to use specific skill ID",
    "Parameters": [
      {
        "Type": "BattleSkill",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x203f",
    "ReturnType": "void",
    "Name": "AI_RUN_AWAY",
    "Description": "Command the enemy to run away",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2040",
    "ReturnType": "void",
    "Name": "AI_WAIT",
    "Description": "Command the enemy to waste turn by waiting doing nothing",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2041",
    "ReturnType": "void",
    "Name": "AI_SUMMON",
    "Description": "Summon 1 enemy in the battle. Specify the ID",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2042",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_0042",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2043",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_0043",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2044",
    "ReturnType": "void",
    "Name": "AI_TAR_DOWN",
    "Description": "Target party member that have Down ailment condition",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2045",
    "ReturnType": "void",
    "Name": "AI_TAR_AILMENT",
    "Description": "Target party member that have ailment",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2046",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0046",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2047",
    "ReturnType": "int",
    "Name": "AI_IS_ENEMY_DOWN",
    "Description": "This is checking if the party members are DOWN",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2048",
    "ReturnType": "void",
    "Name": "AI_SKIP_MY_TURN",
    "Description": "Commands the enemy to skip their turn, doing nothing",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2049",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_0049",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x204a",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_004A",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x204b",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_004B",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x204c",
    "ReturnType": "void",
    "Name": "AI_TAR_EN_HAS_WEAK_BUTNOTGUARDING_OR_DOWN",
    "Description": "This is targeting the party members who has Weak Affinity but when they are not guarding or in down condition",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x204d",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_004D",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x204e",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_004E",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x204f",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_004F",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2050",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_0050",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2051",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0051",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2052",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0052",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2053",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0053",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2054",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0054",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2055",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0055",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2056",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0056",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2057",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0057",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2058",
    "ReturnType": "int",
    "Name": "AI_CHK_EN_WEAKNESS_STANDING_BUT_NOGUARDING",
    "Description": "This is checking if the party members has Weak Affinity and standing but when they are not guarding",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2059",
    "ReturnType": "void",
    "Name": "AI_SUMMONTWO",
    "Description": "Summon two enemies. Specify their ID",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x205a",
    "ReturnType": "int",
    "Name": "AI_FRID_HP_LESS_OR_EQUAL_THAN",
    "Description": "This is checking if the enemy ID's HP is less or equal than the specified (POV from Enemy). Specify ID and then HP %",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x205b",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_005B",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x205c",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_005C",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x205d",
    "ReturnType": "int",
    "Name": "AI_CHK_FRID_AILMENT",
    "Description": "This is checking if the enemy ID's HP has ailment (POV from Enemy). Specify ID and then ailment value",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x205e",
    "ReturnType": "int",
    "Name": "AI_FRID_HOJO",
    "Description": "This is checking if the enemy ID's HP has buff/debuff (POV from Enemy). Specify ID and then buff/debuff value",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": "Unknown type; assumed int"
      }
    ]
  },
  {
    "Index": "0x205f",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_005F",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2060",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0060",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2061",
    "ReturnType": "int",
    "Name": "AI_CHK_FRID_WEAK_TO_UNKNOWN",
    "Description": "Upon the inspection of original flow, this function is checking if the enemy ID's HP has Weak Affinity (POV from Enemy). Specify ID and then affinity element. However, since another function with similar function has existed, it is unknown if this function is the same or not. Need further testing",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2062",
    "ReturnType": "int",
    "Name": "AI_FRID_WEAK_TO",
    "Description": "This is checking if the enemy ID's HP has Weak Affinity (POV from Enemy). Specify ID and then affinity element",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "SkillElement",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2063",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0063",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2064",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0064",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2065",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0065",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2066",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0066",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2067",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_0067",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2068",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_0068",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2069",
    "ReturnType": "int",
    "Name": "AI_CHK_IF_TURN_ON_ENEMY_OR_PARTYALLY",
    "Description": "This is checking if the turn is an enemy or party members. First digit is 0 if Party, 1 if Enemy. Second digit is the Enemy or Party member's ID",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x206a",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_006A",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x206b",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_006B",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x206c",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_006C",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x206d",
    "ReturnType": "int",
    "Name": "AI_EN_IS_WEAK_TOUNKNOWN",
    "Description": "This function is checking if party members have weak affinity. However, since other functions with similar function has existed, it needs further testing if this function really does what it says",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x206e",
    "ReturnType": "int",
    "Name": "AI_CHK_EN_HAS_WEAK_BUTNOTGUARDING_OR_DOWN",
    "Description": "This is checking if the party member has weak affinity but is not guarding or in Down state",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x206f",
    "ReturnType": "int",
    "Name": "AI_CHK_EN_HAS_WEAK_BUTNOTGUARDING_OR_DOWN_AFTER1MORE",
    "Description": "This is checking if the party member has weak affinity but is not guarding or in Down state after getting 1 more",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2070",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0070",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2071",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0071",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2072",
    "ReturnType": "int",
    "Name": "AI_CHK_ELEMENTUNKNOWN",
    "Description": "UNKNOWN. It is not known what this function does yet",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2073",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0073",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2074",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0074",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2075",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0075",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2076",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0076",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2077",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0077",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2078",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0078",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2079",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0079",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x207a",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_007A",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x207b",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_007B",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x207c",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_007C",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x207d",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_007D",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x207e",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_007E",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x207f",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_007F",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2080",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0080",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2081",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0081",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2082",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0082",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2083",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0083",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2084",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0084",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2085",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0085",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2086",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0086",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param3",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2087",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0087",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param3",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2088",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0088",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param3",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2089",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0089",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x208a",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_008A",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x208b",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_008B",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x208c",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_008C",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x208d",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_008D",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x208e",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_008E",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x208f",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_008F",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2090",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0090",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2091",
    "ReturnType": "void",
    "Name": "AI_CHANGE_AFFINITY_SET",
    "Description": "This function changes the affinity set from the UNIT.TBL. Specify the Enemy ID to change the affinity the same that it has",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2092",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0092",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2093",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0093",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2094",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0094",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2095",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_0095",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2096",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_0096",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2097",
    "ReturnType": "int",
    "Name": "AI_GET_RANDOM_NUMBER_BELOW",
    "Description": "Get the random number below specified",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2098",
    "ReturnType": "void",
    "Name": "AI_TAR_NOTENID",
    "Description": "This function targets those who are not specified.",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2099",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0099",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x209a",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_009A",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x209b",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_009B",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x209c",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_009C",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x209d",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_009D",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param3",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x209e",
    "ReturnType": "int",
    "Name": "AI_CHK_ENID_HAS_LESS_OR_EQUAL_HP",
    "Description": "This function checks Party Member's ID who has less or equal HP percentage specified.",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x209f",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_009F",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20a0",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00A0",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20a1",
    "ReturnType": "int",
    "Name": "AI_CHK_UNIT_AILMENT",
    "Description": "This function checks any unit that has ailment",
    "Parameters": [
      {
        "Type": "int",
        "Name": "PartyUnit",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20a2",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00A2",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": "Unknown type; assumed int"
      }
    ]
  },
  {
    "Index": "0x20a3",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00A3",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20a4",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00A4",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20a5",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00A5",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20a6",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00A6",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20a7",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00A7",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20a8",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00A8",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20a9",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00A9",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20aa",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00AA",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20ab",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00AB",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20ac",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00AC",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20ad",
    "ReturnType": "int",
    "Name": "GET_COUNT",
    "Description": "This functions gets the stored count value. First digit is the stored count, second digit is the value stored.",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20ae",
    "ReturnType": "void",
    "Name": "SET_COUNT",
    "Description": "This functions sets the stored count value. First digit is the stored count, second digit is the value stored.",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20af",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00AF",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20b0",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00B0",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20b1",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00B1",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20b2",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00B2",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20b3",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00B3",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20b4",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00B4",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20b5",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00B5",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20b6",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00B6",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20b7",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00B7",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x20b8",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_00B8",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x20b9",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00B9",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param3",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20ba",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00BA",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20bb",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_00BB",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x20bc",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_00BC",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x20bd",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_00BD",
    "Description": "",
    "Parameters": [
      {
        "Type": "float",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "float",
        "Name": "param2",
        "Description": ""
      },
      {
        "Type": "float",
        "Name": "param3",
        "Description": ""
      },
      {
        "Type": "float",
        "Name": "param4",
        "Description": ""
      },
      {
        "Type": "float",
        "Name": "param5",
        "Description": ""
      },
      {
        "Type": "float",
        "Name": "param6",
        "Description": ""
      },
      {
        "Type": "float",
        "Name": "param7",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param8",
        "Description": "Unknown type; assumed int"
      }
    ]
  },
  {
    "Index": "0x20be",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_00BE",
    "Description": "",
    "Parameters": [
      {
        "Type": "float",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "float",
        "Name": "param2",
        "Description": ""
      },
      {
        "Type": "float",
        "Name": "param3",
        "Description": ""
      },
      {
        "Type": "float",
        "Name": "param4",
        "Description": ""
      },
      {
        "Type": "float",
        "Name": "param5",
        "Description": ""
      },
      {
        "Type": "float",
        "Name": "param6",
        "Description": ""
      },
      {
        "Type": "float",
        "Name": "param7",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20bf",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_00BF",
    "Description": "",
    "Parameters": [
      {
        "Type": "float",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "float",
        "Name": "param2",
        "Description": ""
      },
      {
        "Type": "float",
        "Name": "param3",
        "Description": ""
      },
      {
        "Type": "float",
        "Name": "param4",
        "Description": ""
      },
      {
        "Type": "float",
        "Name": "param5",
        "Description": ""
      },
      {
        "Type": "float",
        "Name": "param6",
        "Description": ""
      },
      {
        "Type": "float",
        "Name": "param7",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20c0",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_00C0",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20c1",
    "ReturnType": "void",
    "Name": "AI_TEDDIE_MESSAGE_HARDCODE",
    "Description": "395, 0 is it's going to attack but only when it is Teddie's Navi",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20c2",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_00C2",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x20c3",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_00C3",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x20c4",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_00C4",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x20c5",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_00C5",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x20c6",
    "ReturnType": "void",
    "Name": "AI_TAR_EN_HAS_HOJO",
    "Description": "This function targets the party members that have buff/debuff",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20c7",
    "ReturnType": "void",
    "Name": "AI_TAR_EN_NOTHOJO",
    "Description": "This function targets the party members that have no buff/debuff",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20c8",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00C8",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20c9",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00C9",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20ca",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_00CA",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20cb",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00CB",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20cc",
    "ReturnType": "int",
    "Name": "AI_MY_HOJO",
    "Description": "This function checks the user's buff/debuff",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": "Unknown type; assumed int"
      }
    ]
  },
  {
    "Index": "0x20cd",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00CD",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20ce",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00CE",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x20cf",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00CF",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x20d0",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00D0",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20d1",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00D1",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20d2",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00D2",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20d3",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00D3",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20d4",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00D4",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20d5",
    "ReturnType": "void",
    "Name": "AI_ACT_MSGMOMENTARYCHILD_OR_OKINA",
    "Description": "This is the function that shows message popup when fighting okina or memomentary child in vanilla.",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20d6",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00D6",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20d7",
    "ReturnType": "int",
    "Name": "AI_CHK_AILMENT_ON_FRID_DURING_ITS_TURN",
    "Description": "This checks Enemy's ID if they have ailment during the user's turn. First digit is the ailment value, Second Digit is the Enemy's ID",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20d8",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00D8",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20d9",
    "ReturnType": "int",
    "Name": "AI_CHK_IS_MYTURN_FIRSTACT",
    "Description": "Only use this for enemy that has 2 turns act in a row",
    "Parameters": [
    ]
  },
  {
    "Index": "0x20da",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00DA",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20db",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_00DB",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20dc",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_00DC",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20dd",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_00DD",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x20de",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_00DE",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x20df",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_00DF",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x20e0",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00E0",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x20e1",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00E1",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x20e2",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00E2",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x20e3",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00E3",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20e4",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00E4",
    "Description": "Code function name: btlAICommand____sub_810BCABC",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20e5",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00E5",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x20e6",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00E6",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20e7",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00E7",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20e8",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00E8",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x20e9",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00E9",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20ea",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00EA",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20eb",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00EB",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20ec",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00EC",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20ed",
    "ReturnType": "int",
    "Name": "AI_CHK_EN_HAS_RESIST",
    "Description": "This checks the Party members affinity if they have Resist affinity",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20ee",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00EE",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20ef",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00EF",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20f0",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00F0",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20f1",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00F1",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20f2",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00F2",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20f3",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00F3",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20f4",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00F4",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20f5",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00F5",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20f6",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00F6",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20f7",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00F7",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20f8",
    "ReturnType": "void",
    "Name": "SET_ORDER",
    "Description": "Sets party member id given to tactic given",
    "Parameters": [
      {
        "Type": "int",
        "Name": "id",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "tactic",
        "Description": "0 through 4. 0 being Act Freely, 4 being Direct Commands"
      }
    ]
  },
  {
    "Index": "0x20f9",
    "ReturnType": "int",
    "Name": "GET_ORDER",
    "Description": "Gets current tactic from given id",
    "Parameters": [
      {
        "Type": "int",
        "Name": "id",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20fa",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_00FA",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20fb",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_00FB",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20fc",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_00FC",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x20fd",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_00FD",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param3",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param4",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param5",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20fe",
    "ReturnType": "void",
    "Name": "AI_battleposition",
    "Description": "This function is positioning the enemy in the battle. It is used for Boss battle which uses script file.",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      },
      {
        "Type": "float",
        "Name": "param3",
        "Description": ""
      },
      {
        "Type": "float",
        "Name": "param4",
        "Description": ""
      },
      {
        "Type": "float",
        "Name": "param5",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x20ff",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_00FF",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2100",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0100",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2101",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0101",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2102",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0102",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2103",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0103",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2104",
    "ReturnType": "void",
    "Name": "AI_USE_SUMMON_SKILL",
    "Description": "This function is for Shadow Yukiko. It is unknown what the 2nd, 3rd and 4th digits are for",
    "Parameters": [
      {
        "Type": "BattleSkill",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param3",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param4",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2105",
    "ReturnType": "void",
    "Name": "AI_PERSONA_USE_SKILL",
    "Description": "This function is for Margaret and Adachi. The function is the same as using skill. Specify Persona ID and then Skill ID",
    "Parameters": [
      {
        "Type": "PersonaUnit",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "BattleSkill",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2106",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_0106",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2107",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_0107",
    "Description": "Code function name: x_x_sub_810BEAB4",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2108",
    "ReturnType": "int",
    "Name": "AI_CHK_MITSUO_HAS_BLOCK",
    "Description": "This function is specific for Mitsuo. This checks if Mitsuo has a block or not",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2109",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0109",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x210a",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_010A",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x210b",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_010B",
    "Description": "Code function name: x_x_sub_810BF37C",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x210c",
    "ReturnType": "void",
    "Name": "AI_TAR_FRID_NOTAILMENT",
    "Description": "This is targeting the enemy who has no ailment. (POV from Enemy)",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x210d",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_010D",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x210e",
    "ReturnType": "int",
    "Name": "AI_CHK_FRID_HAS_AILMENT",
    "Description": "This is checking enemy's ID that has ailment. Specify enemy's ID and then ailment value",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x210f",
    "ReturnType": "void",
    "Name": "AI_TAR_ENID_NOTHOJO",
    "Description": "This targets Party members ID that has no buff/debuff. Specify Party Member's ID and then ailment value",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2110",
    "ReturnType": "int",
    "Name": "AI_FRID_HOJOUNKNOWN",
    "Description": "This function is checking Buff/debuff but is unsure what it does actually since other similar functions have existed. Need further test.",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2111",
    "ReturnType": "int",
    "Name": "AI_CHK_ENID_HOJO",
    "Description": "This is checking party member's ID that has buff/debuff. Specify party member's ID and then buff/debuff value",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2112",
    "ReturnType": "void",
    "Name": "AI_TAR_HIGHESTHP",
    "Description": "Target the user who has the highest HP value",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2113",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0113",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2114",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0114",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2115",
    "ReturnType": "void",
    "Name": "AI_ACT_MSGYOSUKE",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2116",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0116",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2117",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0117",
    "Description": "Code function name: btlAICommand____sub_810BDD3A",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2118",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0118",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2119",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0119",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x211a",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_011A",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x211b",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_011B",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x211c",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_011C",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x211d",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_011D",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x211e",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_011E",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param3",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param4",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param5",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param6",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x211f",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_011F",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2120",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_0120",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param2",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param3",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param4",
        "Description": ""
      },
      {
        "Type": "int",
        "Name": "param5",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2121",
    "ReturnType": "void",
    "Name": "AI_ACT_MSG",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2122",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_0122",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2123",
    "ReturnType": "void",
    "Name": "AI_FUNCTION_0123",
    "Description": "",
    "Parameters": [
    ]
  },
  {
    "Index": "0x2124",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0124",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  },
  {
    "Index": "0x2125",
    "ReturnType": "int",
    "Name": "AI_FUNCTION_0125",
    "Description": "",
    "Parameters": [
      {
        "Type": "int",
        "Name": "param1",
        "Description": ""
      }
    ]
  }
]