.dtt_epg - Synthlight/MHW-Editor GitHub Wiki

//------------------------------------------------
//--- 010 Editor v10.0 Binary Template
//
//      File: rEmPartsGroup
//   Authors: DorfDork & Asterisk
//   Version: 
//   Purpose: 
//  Category: chunk\em\em???\??\data
// File Mask: .dtt_epg
//  ID Bytes: 
//   History: 
//------------------------------------------------
/*
PartIdMR tells us if a monster that appeared in low/high rank is also in master rank.
Otherwise, if a monster only appears in master rank then it will occupy the PartIdLRHR dataset
PartId as a whole tells us which hitzone a flinch correlates to. (e.g) PartId 0 equals the first hitzone, PartId 1 goes to the second hitzone and so on.
*/

typedef enum <int> {
 Red,
 White,
 Orange,
 Green
} KinsectColor;

typedef enum <int> {
 Any,
 Sever,
 Blunt,
 Shot
} DamageType;

typedef struct { //54 bytes
int PartIdLRHR1_Normal<bgcolor=0x8080ff>;
int PartIdLRHR1_Wounded<bgcolor=0x8080ff>;
int PartIdLRHR1_SpecialPhase1<bgcolor=0x8080ff>;
int PartIdLRHR1_SpecialPhase2<bgcolor=0x8080ff>;
int PartIdLRHR1_SpecialPhase3<bgcolor=0x8080ff>;
int PartIdMR1_Normal<bgcolor=0x404080>;
int PartIdMR1_Wounded<bgcolor=0x404080>;
int PartIdMR1_SpecialPhase1<bgcolor=0x404080>;
int PartIdMR1_SpecialPhase2<bgcolor=0x404080>;
int PartIdMR1_SpecialPhase3<bgcolor=0x404080>;
uint unk9<bgcolor=0x000000>;
uint unk10<bgcolor=0x000000>;
uint unk11<bgcolor=0x000000>;
ubyte unk12<bgcolor=0x000000>;
ubyte unk13<bgcolor=0x000000>;
} PartsType1;

typedef struct { //94 bytes
int PartIdLRHR1_Normal<bgcolor=0x8080ff>;
int PartIdLRHR1_Wounded<bgcolor=0x8080ff>;
int PartIdLRHR1_SpecialPhase1<bgcolor=0x8080ff>;
int PartIdLRHR1_SpecialPhase2<bgcolor=0x8080ff>;
int PartIdLRHR1_SpecialPhase3<bgcolor=0x8080ff>;
int PartIdMR1_Normal<bgcolor=0x404080>;
int PartIdMR1_Wounded<bgcolor=0x404080>;
int PartIdMR1_SpecialPhase1<bgcolor=0x404080>;
int PartIdMR1_SpecialPhase2<bgcolor=0x404080>;
int PartIdMR1_SpecialPhase3<bgcolor=0x404080>;
int PartIdLRHR2_Normal<bgcolor=0x8080ff>;
int PartIdLRHR2_Wounded<bgcolor=0x8080ff>;
int PartIdLRHR2_SpecialPhase1<bgcolor=0x8080ff>;
int PartIdLRHR2_SpecialPhase2<bgcolor=0x8080ff>;
int PartIdLRHR2_SpecialPhase3<bgcolor=0x8080ff>;
int PartIdMR2_Normal<bgcolor=0x404080>;
int PartIdMR2_Wounded<bgcolor=0x404080>;
int PartIdMR2_SpecialPhase1<bgcolor=0x404080>;
int PartIdMR2_SpecialPhase2<bgcolor=0x404080>;
int PartIdMR2_SpecialPhase3<bgcolor=0x404080>;
uint unk19<bgcolor=0x000000>;
uint unk20<bgcolor=0x000000>;
uint unk21<bgcolor=0x000000>;
ubyte unk22<bgcolor=0x000000>;
ubyte unk23<bgcolor=0x000000>;
} PartsType2;

typedef struct { //134 bytes
int PartIdLRHR1_Normal<bgcolor=0x8080ff>;
int PartIdLRHR1_Wounded<bgcolor=0x8080ff>;
int PartIdLRHR1_SpecialPhase1<bgcolor=0x8080ff>;
int PartIdLRHR1_SpecialPhase2<bgcolor=0x8080ff>;
int PartIdLRHR1_SpecialPhase3<bgcolor=0x8080ff>;
int PartIdMR1_Normal<bgcolor=0x404080>;
int PartIdMR1_Wounded<bgcolor=0x404080>;
int PartIdMR1_SpecialPhase1<bgcolor=0x404080>;
int PartIdMR1_SpecialPhase2<bgcolor=0x404080>;
int PartIdMR1_SpecialPhase3<bgcolor=0x404080>;
int PartIdLRHR2_Normal<bgcolor=0x8080ff>;
int PartIdLRHR2_Wounded<bgcolor=0x8080ff>;
int PartIdLRHR2_SpecialPhase1<bgcolor=0x8080ff>;
int PartIdLRHR2_SpecialPhase2<bgcolor=0x8080ff>;
int PartIdLRHR2_SpecialPhase3<bgcolor=0x8080ff>;
int PartIdMR2_Normal<bgcolor=0x404080>;
int PartIdMR2_Wounded<bgcolor=0x404080>;
int PartIdMR2_SpecialPhase1<bgcolor=0x404080>;
int PartIdMR2_SpecialPhase2<bgcolor=0x404080>;
int PartIdMR2_SpecialPhase3<bgcolor=0x404080>;
int PartIdLRHR3_Normal<bgcolor=0x8080ff>;
int PartIdLRHR3_Wounded<bgcolor=0x8080ff>;
int PartIdLRHR3_SpecialPhase1<bgcolor=0x8080ff>;
int PartIdLRHR3_SpecialPhase2<bgcolor=0x8080ff>;
int PartIdLRHR3_SpecialPhase3<bgcolor=0x8080ff>;
int PartIdMR3_Normal<bgcolor=0x404080>;
int PartIdMR3_Wounded<bgcolor=0x404080>;
int PartIdMR3_SpecialPhase1<bgcolor=0x404080>;
int PartIdMR3_SpecialPhase2<bgcolor=0x404080>;
int PartIdMR3_SpecialPhase3<bgcolor=0x404080>;
uint unk29<bgcolor=0x000000>;
uint unk30<bgcolor=0x000000>;
uint unk31<bgcolor=0x000000>;
ubyte unk32<bgcolor=0x000000>;
ubyte unk33<bgcolor=0x000000>;
} PartsType3;

typedef struct {
uint FlinchValue<bgcolor=0x205020>;
int SpecialPart1<bgcolor=0x205020>; //For severables
int SpecialPart2<bgcolor=0x205020>; //For severables
int SpecialPart3<bgcolor=0x205020>; //For severables
KinsectColor Color<bgcolor=0x205020>;
uint PartsType<bgcolor=0x205020>;
if (PartsType == 1) {PartsType1 parts1;}
if (PartsType == 2) {PartsType2 parts2;}
if (PartsType == 3) {PartsType3 parts3;}
} Flinches;

typedef struct { //44 bytes
float Timer<bgcolor=0xffffff>; //Time Until Hitzone Change, next zone logic unsure
uint Sever<bgcolor=0xffffff>; 
uint Impact<bgcolor=0xffffff>; 
uint Shot<bgcolor=0xffffff>; 
uint Fire<bgcolor=0xff00ff>; 
uint Water<bgcolor=0xff00ff>; 
uint Ice<bgcolor=0xff00ff>; 
uint Thunder<bgcolor=0xff00ff>; 
uint Dragon<bgcolor=0xff00ff>; 
uint Stun<bgcolor=0xff00ff>; 
uint Stamina<bgcolor=0xff0000>;
} Hitzones;


typedef struct { //23 bytes
DamageType Damage<bgcolor=0x808000>;
uint unk1<bgcolor=0x808000>;
uint unk2<bgcolor=0x808000>;
uint Sever<bgcolor=0xffff00>; 
int unk5<bgcolor=0x808000>;
ubyte Bool_Special<bgcolor=0x808000>; //Set to 0 makes Kulve Horns affected by PB and Nergi tail set to 1 requires spikes to be cut - On Nergi Spikes compared against a 0 byte every hit to body part tied to
ubyte Bool_Blunt<bgcolor=0x808000>; // On nergi spikes compared against 0 byte every time spikes take damage WHILE ACTIVE
ubyte Bool_Shot<bgcolor=0x808000>;
} Severs;


typedef struct { //26 bytes
uint unk1<bgcolor=0x008080>; 
uint unk2<bgcolor=0x80ffff>;
uint unk3<bgcolor=0x80ffff>;
ubyte unk4<bgcolor=0x80ffff>;
uint unk5<bgcolor=0x000000>;
ubyte unk6<bgcolor=0x80ffff>;
ubyte unk7<bgcolor=0x80ffff>;
int unk8<bgcolor=0x80ffff>;
ubyte unk9<bgcolor=0x000000>;
ubyte unk10<bgcolor=0x000000>;
ubyte unk11<bgcolor=0x80ffff>;
} UnkArr;


uint Magic;
uint Header;
uint MonsterID<bgcolor=0x00ffff>; 
uint Section;
uint Health<bgcolor=0x0000ff>; 
uint NumOfFlinches<bgcolor=0x0000ff>; 
Flinches flinches[NumOfFlinches]<optimize=false>;
uint NumOfHitzones<bgcolor=0x0000ff>; 
Hitzones hitzones[NumOfHitzones]<optimize=false>;
uint NumOfSevers<bgcolor=0x0000ff>; 
Severs severs[NumOfSevers]<optimize=false>;
uint NumOfUnks<bgcolor=0x0000ff>; 
UnkArr arr[NumOfUnks];
uint unk1;
uint unk2;
⚠️ **GitHub.com Fallback** ⚠️