A Brief Survey of Monster AI Files - Ezekial711/MonsterHunterWorldModding GitHub Wiki
Monster behaviour and AI cover a wide range of topics and file formats, this is a short overview of what is involved in this subjects. This is by no means exhaustive, as most of the documentation and knowledge is not centralized and in many cases is not verified either.
Files
Monster behavior specifics are widely spread around a multitude of formats, here we present the core of the behavioural elements grouped by domain:
Decisions and Actions:
THK
THK are Think Table Files. They specify a monster series of action and reactions within a specific context. THK correspond to a specific situation such as Combat, Searching, Flashed, Enrage Start, Player Find, etc. This situation are admittedly lopsided in terms of density and richness. Combat tends to be significantly more involved than most others. Similarly the Global THK is not directly executed by the game but used as a library by all other THKs and is normally the biggest of hte THK files in a monster's folder by a significant margin.
THKLst
THKLst are Think List Files. They specify the mapping between files to contexts. Editing the THKLst (or creating a new one), allows mapping differnet THK files to different behavior. One can specify which THK to be used for Combat, which one for Flashed, or Mounted, etc.
Map Data
SOBJ
SOBJ or Set Object Files are in charge of placing objects in the map. This family of files applies to much more than just monsters. But monsters have a significant place within its uses. SOBJ allow specifying spawn points, location of tracks, monster pathing waypoints and a slew of other map positioning related details. [TODO - Link Dave Template and SOBJ Editing tutorial]
ALNK
ALNK or Area Linker Files are in charge of determining monster transition routes. They compell monsters to move out of areas that are not start or end point of routes and ensure monsters "reach a destination" and don't "idle in corridors". If your monster appears to be constantly quitting out of combat or failing to initiate combat, ALNK is the top suspect. [TODO - Link Template and Dave Tool]
NAVWAY
Navigation Waypoints are in charge of defining the pathing mesh for the entire map. If a monster is outside the area defined by them they will always seek to return to the closest legal point. They will ignore any other file or situation on this process. Monsters will de-aggro and de-enrage if they find themselves outside of the legal pathing mesh. Re-enraging might hold their attention briefly but they will continue to try to reach a legal area.
ZON
Zone files determine special conditions on the monster and the player. For example they are what stops monsters from entering camp areas and stop a player from clutch clawing or mounting inside a camp.
Attack Properties
COL
Collision files determine the hitboxes of most monsters physical attacks as well as the damage and attributes of each attack.
SHLP
Shell files determine the hitboxes, visual properties and children shells of monster projectile attacks.
Interrupts
EM DMG
Determines the actions a monster takes when certain trigger conditions occurr. For example the animation to use when flinched in the air, when flinched in the ground, animation on specific part breaks, etc.
MPI
Corresponds to the visual aspects of interrupts. Performs operations on mesh visibility and TIML execution on events and state changes.
Data Table Files
Data table files are prefaced by dtt in their extension they correspond to most monster's numerical data:
- AGR (Enemy Angry): Rage multipliers
- EPG (Enemy Parts Groups): Hitzone Values and Part HP
- EDA (Enemy Damage Attribute): Status Values
- UNQ (Unique): Monster Unique Parameters