Post by unleashed on Nov 6, 2018 18:31:14 GMT
Hero Colosseum is a mini-game within Xenoverse 2 that was released on Nov 2017. and till this day there are little to no people interested in modding the game ,possibly for it being unpopular
but i made some research into it (with the help of Lazybone and Jackal). and here is a simple guide for modding Hero Colosseum.
things you need for this guide :
•very minimal knowledge on Hex, binary, and decimal numbers
•minimal knowledge on general Xv2 Modding (knowing how to extract the CPKs and replacing their data with loose files, installing the Xv2 Patcher, and using mod tools)
•actually played HC before, it will make understanding this much easier
-------------------------------------------------------------------------------------------------------------------------------------------------------
Tools used in this guide :
HxD (tool to edit any binary file)
XV2 XML SERIALIZER by Lazybone (editing TDB files, quest QXD files)
genser by ETERNITY (editing MSG files)
EMBPACK V2 (LIBXENOVERSE) by olganix (extract DDS from EMB)
PAINT.NET (edit DDS)
Hero Colosseum Editor (edit save file for hero colosseum data)
one important note about Lazybones tool (going to use this alot) is that it may show the value : 65535. which is FF FF in Hex. it means this value is Null. and that it shows its values in Decimal format.
-----------------------------------------------------------------------------------------------------------------
Hero Colosseum (also known as "TTL" , "Table Top Game" , "Minigame","Table Top Logic")
-----------------------------------------------------------------------------------------------------------------
Sections:
•Quest data
•Main game data
•Text data (some data that is related to HC)
•Character data (some data that is related to HC)
•Texture data
--------------------------------------------------------------------------------------------
•Quest data :
there are 3 types of quests in this game mode ,there files can be found in:
\data\quest
HC uses the same quest files as the normal game, these files can be modified with hex editing (or by using Lazybones XML Serializer)
Type of quest files :
TTQ (Table Top Quest) : those are the story missions, they reward you with Character skills and Zeni, starting with Goten and Trunks "Welcome to hero colosseum" and ending with Gogeta "The True Final Battle"
=====================================================================================================
TFB (Table Free Battle , or offline battle) : are the side quests, or the "free" battles that you can do after finishing the story missions, they reward generic and special limit break chips (those which you use to limit break a figure into a different figure or a higher rarity one). starting with Goten free battle, and ending with Goku (Ultra Instinct) battle (they keep adding new battles with each update). note that there are some 'hidden' free battles. those are usually 7 star difficulty and are harder than the rest. those require you to complete the previous free battles in order to unlock them.
=====================================================================================================
TNB (Table NPC Battle) : those are NPC battles and the battles that are outside of the story missions and free battles, (such as the Zarbon, Dodoria, Guldo free battles) you also face generic time patrol opponents (can't remember their names). these battles become available when you progress in the story missions, and they gradually become harder but are not as hard as the free battles and story missions.
=====================================================================================================
----------------------------------------------------------------------------------------------------
•Main game data :
the main data for HC can be found in
\data\system
specifically, TtlList folder.
it contains TDB files (Table Data Base?). and right now (as far as i know) the only tool that can convert these binary files to XML is also Lazybones XML Serializer*. but be noted that its being worked on and has limited support (some values are unknown).
*as time went by, i actually learned how to program and made tools for modding Hero Colosseum, "TTL Workshop" is various tools to edit all the TDB files with ease
TTL_skill_list: this file contains the data for the Character Skills and the Posing skills. including placement effects and trigger squares.
contains 2 sections, SkillList1 (posing skills) and SkillList2 (character skills)
Note that there are normal skills (used by the player) and CPU exclusive skills (noted as "SP" in the game).
which applies for both Character and Posing skills
also Note that the IDs for CPU skills are always shifted far away for normal player IDs. for example : the IDs for the SP posing skills are in the 500 digits, while the normal skills start from ID 0 or 1
the posing skills / character skills may have different "sub sections" to them. the sub sections allow the posing skill / character skill to activate different things with different kind of conditions at the same time, such as a skill may activate when the figure is off or on the field, one may activate at the end of the turn, and one may activate when he is alone on the field, etc..
it basically works like a layer system, where a skill of SubID of 0 will have a higher priority than SubID of 1. etc..
below is an example image of SSGSS Blue Goku (figure Num 280 and 281) Posing skill. increasing his damage dealt by 0.3 (+30%) and decreasing damage taken by -0.1 (-10%)
and in the XML (posing skill ID is 142, and it has 2 sub sections)
another example of a known value is the trigger squares (1 byte). which is I_16
the byte value for such trigger squares is 0x11 (it is shown as 17 in the XML because it is converted to decimal).
to understand this value, you need to convert it to binary format(6 bits, since there are 6 trigger squares)
and read it from left to right.
Character skills have the same exact format and functionally
===========================================================================================================
TtlEnemyDataList: this file contains the enemy data for story missions, free battles, and normal battles
such as his Master level, his Master health. and his figure data.
this file splits into 2 sections : EnemyFigures( defines figure entry ) and EnemySets (the 5 figures that the CPU will use, along with his Master level ,health, etc..)
Section 1 Example (figure ID is in the 1000 digits because its a CPU figure, read below on figure data list)
Section 2 Example
the "ChaneToPlace" is the percentage chance to place that figure on the field on turn 1. input 100 for 100% and the CPU will always place that figure no matter what
===========================================================================================================
TtlFigureDataList: this file contain the figurine data, such as their levels, the EXP required for such levels, stats, rarity, limit break paths, etc
note that there are 2 different kind of figures, normal ones ( used by the player ) and CPU exclusive (used in story missions,free battles, and normal battles)
also note that CPU figures are shifted far away from the normal player ones, the CPU figures IDs are in the 1000 Digits, while normal figure IDs start from 0
file splits into 2 sections : Figures(actual figure data), LevelingXpRequirements(the XP needed to level up for each figure rarity)
note that the rarity is "1" which is "R". here is the rarity list :
0 : N
1 : R
2 : SR
3 : UR
===========================================================================================================
TtlFigurePoseList: this file has the posing data for the figurine, the pose data tells the game which figure should point to which character model (ie :the JRN figure needs to point to Jiren CMS, which is 95 in hex or 149 decimal ), this file also contains the Super Attack and the Ultimate Attack that the figure does
===========================================================================================================
TTLItemList: contains data for defining the limit break chips ,and the shop items (both character skills and limit break chips) which includes their shop data and prices (in TP medals), unlock requirement (quest to unlock, etc..)
note that there are unreleased special limit break chips, those can be found in the text files (read below for text data)
===========================================================================================================
TtlMasterLevelTable: it contains the master (your player) level and how much EXP you need to get to a certain level. pretty self explanatory and easy to edit
===========================================================================================================
----------------------------------------------------------------------------------------------------
•Text data :
can be found "\data\msg"
the text files contain text in game such as story mission and free battle titles, story missions descriptions and dialog, posing skill/character skill names and descriptions, and limit break chips.
Posing skill Text Files :
ttl_skill_ps_name_xx (xx is for language code, en for example)
ttl_skill_ps_eff_detail_xx (this is for viewing the descriptions when viewing the figure info)
ttl_skill_ps_eff_battle_xx (viewing the descriptions IN BATTLE, this is different from the second file as this has multiable sections. for example : a figure may have 2 different parts to his posing skill, one may activate when is alone on the field and the other when he is normally on the field with other figures, both having there own text)
Character skill Text Files : (same concept as Posing skill text files, but its 'cs' instead of 'ps)
ttl_skill_cs_name_xx
ttl_skill_cs_eff_detail_xx
ttl_skill_cs_eff_battle_xx
(MSG files can be viewed using ETERNITY Genser)
----------------------------------------------------------------------------------------------------
•Character data :
can be found \data\chara
you can find normal character data, such as their animations and stuff. but there are 2 files related to HC in them (.aic and .fpf)
.aic (AI Combo) : tells the figure how to punch. it defines all the different combos that the figure can do (including "counter" attacks or follow-up attacks).
i will soon make a tool to edit the AIC file easily.. but for now you can only do it with HxD, format is a little complex
========================================================================================================
.fpf (Figure Pose File?) : this is a special ESK file for Hero Colosseum figures, it controls the figure Pose that you see in-battle.
Lazybone tool can convert this file to XML. this file lists all the bones in a ESK and applies 5 matrix transformations on them. with each matrix having a different purpose. there could also be multiple ESK files (main character ESK, hair ESK, cape ESK, etc etc..)
right now, this file is extremely unknown.
and if you tried to use another figures FPF and replace the CMS ID with the correct CMS id for your figure, weird effects will occur : (credits to Leon Exodio)
this especially happens when the ESK bones don't match.
=========================================================================================================
note that those 2 files only exists if the actual character is a figure in HC, and to add a character into HC you need to add those files yourself if they don't exist (or else the game won't load)
the only thing you can do right now is copy these 2 files from an already existing figure. (read below for "How to add a new figure")
========================================================================================================
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
•Texture data :
can be found in data\ui\texture\ttl
contains UI data for the figures. mostly are in .emb file format
the .emb files can be extracted with EmbPack-v2-LibXenoverse. you can also use PAINT.NET (a free program) to edit and save .dds files (files from the .emb files)
Figure UI data :
figure_xxxx_l
figure_xxxx_m
figure_s
xxxx refears to the figure ID , the same ID that is defined in TtlFigurePoseList
l : the "large" image of the figure, used when viewing the full data for the figure when in-game, this is a 1024 x 1024 transparent image
Example (Ultra Instinct Goku) :
m : the "medium" image of the figure, used when viewing the "card" of the figure data in-game. this is a 512 x 384 transparent image
s : the "small" image of the figure. unlike the large and medium files, all the small images where put into 1 file (figure_s). this is a 192 x 192 transparent image
and don't worry about the "3_character_code.emb" files (like BDK.emb). as those seem beta left-overs.
=====================================================================================================
you can also find generic HC texture data in
data\ui\sprite\ttl
contains generic textures such as trigger square colors, gauges, numbers, in-game text. etc..
=====================================================================================================
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Guide on adding a new figure : Here
but i made some research into it (with the help of Lazybone and Jackal). and here is a simple guide for modding Hero Colosseum.
things you need for this guide :
•very minimal knowledge on Hex, binary, and decimal numbers
•minimal knowledge on general Xv2 Modding (knowing how to extract the CPKs and replacing their data with loose files, installing the Xv2 Patcher, and using mod tools)
•actually played HC before, it will make understanding this much easier
-------------------------------------------------------------------------------------------------------------------------------------------------------
Tools used in this guide :
HxD (tool to edit any binary file)
XV2 XML SERIALIZER by Lazybone (editing TDB files, quest QXD files)
genser by ETERNITY (editing MSG files)
EMBPACK V2 (LIBXENOVERSE) by olganix (extract DDS from EMB)
PAINT.NET (edit DDS)
Hero Colosseum Editor (edit save file for hero colosseum data)
one important note about Lazybones tool (going to use this alot) is that it may show the value : 65535. which is FF FF in Hex. it means this value is Null. and that it shows its values in Decimal format.
-----------------------------------------------------------------------------------------------------------------
Hero Colosseum (also known as "TTL" , "Table Top Game" , "Minigame","Table Top Logic")
-----------------------------------------------------------------------------------------------------------------
Sections:
•Quest data
•Main game data
•Text data (some data that is related to HC)
•Character data (some data that is related to HC)
•Texture data
--------------------------------------------------------------------------------------------
•Quest data :
there are 3 types of quests in this game mode ,there files can be found in:
\data\quest
HC uses the same quest files as the normal game, these files can be modified with hex editing (or by using Lazybones XML Serializer)
Type of quest files :
TTQ (Table Top Quest) : those are the story missions, they reward you with Character skills and Zeni, starting with Goten and Trunks "Welcome to hero colosseum" and ending with Gogeta "The True Final Battle"
=====================================================================================================
TFB (Table Free Battle , or offline battle) : are the side quests, or the "free" battles that you can do after finishing the story missions, they reward generic and special limit break chips (those which you use to limit break a figure into a different figure or a higher rarity one). starting with Goten free battle, and ending with Goku (Ultra Instinct) battle (they keep adding new battles with each update). note that there are some 'hidden' free battles. those are usually 7 star difficulty and are harder than the rest. those require you to complete the previous free battles in order to unlock them.
=====================================================================================================
TNB (Table NPC Battle) : those are NPC battles and the battles that are outside of the story missions and free battles, (such as the Zarbon, Dodoria, Guldo free battles) you also face generic time patrol opponents (can't remember their names). these battles become available when you progress in the story missions, and they gradually become harder but are not as hard as the free battles and story missions.
=====================================================================================================
----------------------------------------------------------------------------------------------------
•Main game data :
the main data for HC can be found in
\data\system
specifically, TtlList folder.
it contains TDB files (Table Data Base?). and right now (as far as i know) the only tool that can convert these binary files to XML is also Lazybones XML Serializer*. but be noted that its being worked on and has limited support (some values are unknown).
*as time went by, i actually learned how to program and made tools for modding Hero Colosseum, "TTL Workshop" is various tools to edit all the TDB files with ease
TTL_skill_list: this file contains the data for the Character Skills and the Posing skills. including placement effects and trigger squares.
contains 2 sections, SkillList1 (posing skills) and SkillList2 (character skills)
Note that there are normal skills (used by the player) and CPU exclusive skills (noted as "SP" in the game).
which applies for both Character and Posing skills
also Note that the IDs for CPU skills are always shifted far away for normal player IDs. for example : the IDs for the SP posing skills are in the 500 digits, while the normal skills start from ID 0 or 1
the posing skills / character skills may have different "sub sections" to them. the sub sections allow the posing skill / character skill to activate different things with different kind of conditions at the same time, such as a skill may activate when the figure is off or on the field, one may activate at the end of the turn, and one may activate when he is alone on the field, etc..
it basically works like a layer system, where a skill of SubID of 0 will have a higher priority than SubID of 1. etc..
below is an example image of SSGSS Blue Goku (figure Num 280 and 281) Posing skill. increasing his damage dealt by 0.3 (+30%) and decreasing damage taken by -0.1 (-10%)
and in the XML (posing skill ID is 142, and it has 2 sub sections)
another example of a known value is the trigger squares (1 byte). which is I_16
the byte value for such trigger squares is 0x11 (it is shown as 17 in the XML because it is converted to decimal).
to understand this value, you need to convert it to binary format(6 bits, since there are 6 trigger squares)
and read it from left to right.
Character skills have the same exact format and functionally
===========================================================================================================
TtlEnemyDataList: this file contains the enemy data for story missions, free battles, and normal battles
such as his Master level, his Master health. and his figure data.
this file splits into 2 sections : EnemyFigures( defines figure entry ) and EnemySets (the 5 figures that the CPU will use, along with his Master level ,health, etc..)
Section 1 Example (figure ID is in the 1000 digits because its a CPU figure, read below on figure data list)
Section 2 Example
the "ChaneToPlace" is the percentage chance to place that figure on the field on turn 1. input 100 for 100% and the CPU will always place that figure no matter what
===========================================================================================================
TtlFigureDataList: this file contain the figurine data, such as their levels, the EXP required for such levels, stats, rarity, limit break paths, etc
note that there are 2 different kind of figures, normal ones ( used by the player ) and CPU exclusive (used in story missions,free battles, and normal battles)
also note that CPU figures are shifted far away from the normal player ones, the CPU figures IDs are in the 1000 Digits, while normal figure IDs start from 0
file splits into 2 sections : Figures(actual figure data), LevelingXpRequirements(the XP needed to level up for each figure rarity)
note that the rarity is "1" which is "R". here is the rarity list :
0 : N
1 : R
2 : SR
3 : UR
===========================================================================================================
TtlFigurePoseList: this file has the posing data for the figurine, the pose data tells the game which figure should point to which character model (ie :the JRN figure needs to point to Jiren CMS, which is 95 in hex or 149 decimal ), this file also contains the Super Attack and the Ultimate Attack that the figure does
===========================================================================================================
TTLItemList: contains data for defining the limit break chips ,and the shop items (both character skills and limit break chips) which includes their shop data and prices (in TP medals), unlock requirement (quest to unlock, etc..)
note that there are unreleased special limit break chips, those can be found in the text files (read below for text data)
===========================================================================================================
TtlMasterLevelTable: it contains the master (your player) level and how much EXP you need to get to a certain level. pretty self explanatory and easy to edit
===========================================================================================================
----------------------------------------------------------------------------------------------------
•Text data :
can be found "\data\msg"
the text files contain text in game such as story mission and free battle titles, story missions descriptions and dialog, posing skill/character skill names and descriptions, and limit break chips.
Posing skill Text Files :
ttl_skill_ps_name_xx (xx is for language code, en for example)
ttl_skill_ps_eff_detail_xx (this is for viewing the descriptions when viewing the figure info)
ttl_skill_ps_eff_battle_xx (viewing the descriptions IN BATTLE, this is different from the second file as this has multiable sections. for example : a figure may have 2 different parts to his posing skill, one may activate when is alone on the field and the other when he is normally on the field with other figures, both having there own text)
Character skill Text Files : (same concept as Posing skill text files, but its 'cs' instead of 'ps)
ttl_skill_cs_name_xx
ttl_skill_cs_eff_detail_xx
ttl_skill_cs_eff_battle_xx
(MSG files can be viewed using ETERNITY Genser)
----------------------------------------------------------------------------------------------------
•Character data :
can be found \data\chara
you can find normal character data, such as their animations and stuff. but there are 2 files related to HC in them (.aic and .fpf)
.aic (AI Combo) : tells the figure how to punch. it defines all the different combos that the figure can do (including "counter" attacks or follow-up attacks).
i will soon make a tool to edit the AIC file easily.. but for now you can only do it with HxD, format is a little complex
========================================================================================================
.fpf (Figure Pose File?) : this is a special ESK file for Hero Colosseum figures, it controls the figure Pose that you see in-battle.
Lazybone tool can convert this file to XML. this file lists all the bones in a ESK and applies 5 matrix transformations on them. with each matrix having a different purpose. there could also be multiple ESK files (main character ESK, hair ESK, cape ESK, etc etc..)
right now, this file is extremely unknown.
and if you tried to use another figures FPF and replace the CMS ID with the correct CMS id for your figure, weird effects will occur : (credits to Leon Exodio)
this especially happens when the ESK bones don't match.
=========================================================================================================
note that those 2 files only exists if the actual character is a figure in HC, and to add a character into HC you need to add those files yourself if they don't exist (or else the game won't load)
the only thing you can do right now is copy these 2 files from an already existing figure. (read below for "How to add a new figure")
========================================================================================================
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
•Texture data :
can be found in data\ui\texture\ttl
contains UI data for the figures. mostly are in .emb file format
the .emb files can be extracted with EmbPack-v2-LibXenoverse. you can also use PAINT.NET (a free program) to edit and save .dds files (files from the .emb files)
Figure UI data :
figure_xxxx_l
figure_xxxx_m
figure_s
xxxx refears to the figure ID , the same ID that is defined in TtlFigurePoseList
l : the "large" image of the figure, used when viewing the full data for the figure when in-game, this is a 1024 x 1024 transparent image
Example (Ultra Instinct Goku) :
m : the "medium" image of the figure, used when viewing the "card" of the figure data in-game. this is a 512 x 384 transparent image
s : the "small" image of the figure. unlike the large and medium files, all the small images where put into 1 file (figure_s). this is a 192 x 192 transparent image
and don't worry about the "3_character_code.emb" files (like BDK.emb). as those seem beta left-overs.
=====================================================================================================
you can also find generic HC texture data in
data\ui\sprite\ttl
contains generic textures such as trigger square colors, gauges, numbers, in-game text. etc..
=====================================================================================================
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Guide on adding a new figure : Here