chore(Tables): add EnemyAttributeTemplateTable

This commit is contained in:
xeon
2026-02-08 17:22:00 +03:00
parent 6b50c8a447
commit 5bcf875824
6 changed files with 135466 additions and 99 deletions

View File

@@ -15,6 +15,7 @@ pub const WeaponBasicData = @import("Tables/WeaponBasicData.zig");
pub const CharWpnRecommendData = @import("Tables/CharWpnRecommendData.zig");
pub const DomainData = @import("Tables/DomainData.zig");
pub const MapPointData = @import("Tables/MapPointData.zig");
pub const EnemyAttributeTemplateData = @import("Tables/EnemyAttributeTemplateData.zig");
pub const StrToNum = struct {
pub const file = "StrIdNumTable.json";
@@ -34,6 +35,7 @@ num_to_str: StringArrayHashMap(NumToStr),
char_wpn_recommend: StringArrayHashMap(CharWpnRecommendData),
domain_data: StringArrayHashMap(DomainData),
track_map_point: StringArrayHashMap(MapPointData),
enemy_attribute_template: StringArrayHashMap(EnemyAttributeTemplateData),
pub const LoadError = error{
NotStarted,

View File

@@ -1,3 +1,5 @@
const logic = @import("../../logic.zig");
pub const file = "CharacterTable.json";
pub const AttributeDataPack = struct {
@@ -6,105 +8,7 @@ pub const AttributeDataPack = struct {
};
pub const AttributeData = struct {
attrs: []const AttributePair,
};
pub const AttributePair = struct {
attrType: AttributeType,
attrValue: f64,
};
pub const AttributeType = enum(i32) {
level = 0,
max_hp = 1,
atk = 2,
def = 3,
physical_damage_taken_scalar = 4,
fire_damage_taken_scalar = 5,
pulse_damage_taken_scalar = 6,
cryst_damage_taken_scalar = 7,
weight = 8,
critical_rate = 9,
critical_damage_increase = 10,
hatred = 11,
normal_attack_range = 12,
move_speed_scalar = 13,
turn_rate_scalar = 14,
attack_rate = 15,
skill_cooldown_scalar = 16,
normal_attack_damage_increase = 17,
hp_recovery_per_sec = 18,
hp_recovery_per_sec_by_max_hp_ratio = 19,
max_poise = 20,
poise_rec_time = 21,
max_ultimate_sp = 22,
damage_taken_scalar_with_poise = 23,
poise_damage_taken_scalar = 24,
physical_infliction_damage_scalar = 25,
poise_damage_output_scalar = 26,
breaking_attack_damage_taken_scalar = 27,
ultimate_skill_damage_increase = 28,
heal_output_increase = 29,
heal_taken_increase = 30,
poise_rec_time_scalar = 31,
normal_skill_damage_increase = 32,
combo_skill_damage_increase = 33,
knock_down_time_addition = 34,
fire_burst_damage_increase = 35,
pulse_burst_damage_increase = 36,
cryst_burst_damage_increase = 37,
natural_burst_damage_increase = 38,
str = 39,
agi = 40,
wisd = 41,
will = 42,
life_steal = 43,
ultimate_sp_gain_scalar = 44,
atb_cost_addition = 45,
skill_cooldown_addition = 46,
combo_skill_cooldown_scalar = 47,
natural_damage_taken_scalar = 48,
ignite_damage_scalar = 49,
physical_damage_increase = 50,
fire_damage_increase = 51,
pulse_damage_increase = 52,
cryst_damage_increase = 53,
natural_damage_increase = 54,
ether_damage_increase = 55,
fire_abnormal_damage_increase = 56,
pulse_abnormal_damage_increase = 57,
cryst_abnormal_damage_increase = 58,
natural_abnormal_damage_increase = 59,
ether_damage_taken_scalar = 60,
damage_to_broken_unit_increase = 61,
weakness_dmg_scalar = 62,
shelter_dmg_scalar = 63,
physical_enhanced_dmg_increase = 64,
fire_enhanced_dmg_increase = 65,
pulse_enhanced_dmg_increase = 66,
cryst_enhanced_dmg_increase = 67,
natural_enhanced_dmg_increase = 68,
ether_enhanced_dmg_increase = 69,
physical_vulnerable_dmg_increase = 70,
fire_vulnerable_dmg_increase = 71,
pulse_vulnerable_dmg_increase = 72,
cryst_vulnerable_dmg_increase = 73,
natural_vulnerable_dmg_increase = 74,
ether_vulnerable_dmg_increase = 75,
atk_increase_factor_from_str = 76,
atk_increase_factor_from_agi = 77,
atk_increase_factor_from_wisd = 78,
atk_increase_factor_from_will = 79,
physical_dmg_resist_scalar = 80,
natural_dmg_resist_scalar = 81,
cryst_dmg_resist_scalar = 82,
pulse_dmg_resist_scalar = 83,
fire_dmg_resist_scalar = 84,
ether_dmg_resist_scalar = 85,
slow_action_speed_scalar = 86,
physical_and_spell_infliction_enhance = 87,
shield_output_increase = 88,
shield_taken_increase = 89,
attrs: []const logic.attrs.AttributePair,
};
attributes: []const AttributeDataPack,

View File

@@ -0,0 +1,11 @@
const logic = @import("../../logic.zig");
pub const file = "EnemyAttributeTemplateTable.json";
pub const AttributeData = struct {
attrs: []const logic.attrs.AttributePair,
};
levelDependentAttributes: []const AttributeData,
levelIndependentAttributes: AttributeData,
templateId: []const u8,

View File

@@ -6,3 +6,4 @@ pub const event = @import("logic/event.zig");
pub const systems = @import("logic/systems.zig");
pub const queries = @import("logic/queries.zig");
pub const Level = @import("logic/Level.zig");
pub const attrs = @import("logic/attrs.zig");

View File

@@ -0,0 +1,97 @@
pub const AttributePair = struct {
attrType: AttributeType,
attrValue: f64,
};
pub const AttributeType = enum(i32) {
level = 0,
max_hp = 1,
atk = 2,
def = 3,
physical_damage_taken_scalar = 4,
fire_damage_taken_scalar = 5,
pulse_damage_taken_scalar = 6,
cryst_damage_taken_scalar = 7,
weight = 8,
critical_rate = 9,
critical_damage_increase = 10,
hatred = 11,
normal_attack_range = 12,
move_speed_scalar = 13,
turn_rate_scalar = 14,
attack_rate = 15,
skill_cooldown_scalar = 16,
normal_attack_damage_increase = 17,
hp_recovery_per_sec = 18,
hp_recovery_per_sec_by_max_hp_ratio = 19,
max_poise = 20,
poise_rec_time = 21,
max_ultimate_sp = 22,
damage_taken_scalar_with_poise = 23,
poise_damage_taken_scalar = 24,
physical_infliction_damage_scalar = 25,
poise_damage_output_scalar = 26,
breaking_attack_damage_taken_scalar = 27,
ultimate_skill_damage_increase = 28,
heal_output_increase = 29,
heal_taken_increase = 30,
poise_rec_time_scalar = 31,
normal_skill_damage_increase = 32,
combo_skill_damage_increase = 33,
knock_down_time_addition = 34,
fire_burst_damage_increase = 35,
pulse_burst_damage_increase = 36,
cryst_burst_damage_increase = 37,
natural_burst_damage_increase = 38,
str = 39,
agi = 40,
wisd = 41,
will = 42,
life_steal = 43,
ultimate_sp_gain_scalar = 44,
atb_cost_addition = 45,
skill_cooldown_addition = 46,
combo_skill_cooldown_scalar = 47,
natural_damage_taken_scalar = 48,
ignite_damage_scalar = 49,
physical_damage_increase = 50,
fire_damage_increase = 51,
pulse_damage_increase = 52,
cryst_damage_increase = 53,
natural_damage_increase = 54,
ether_damage_increase = 55,
fire_abnormal_damage_increase = 56,
pulse_abnormal_damage_increase = 57,
cryst_abnormal_damage_increase = 58,
natural_abnormal_damage_increase = 59,
ether_damage_taken_scalar = 60,
damage_to_broken_unit_increase = 61,
weakness_dmg_scalar = 62,
shelter_dmg_scalar = 63,
physical_enhanced_dmg_increase = 64,
fire_enhanced_dmg_increase = 65,
pulse_enhanced_dmg_increase = 66,
cryst_enhanced_dmg_increase = 67,
natural_enhanced_dmg_increase = 68,
ether_enhanced_dmg_increase = 69,
physical_vulnerable_dmg_increase = 70,
fire_vulnerable_dmg_increase = 71,
pulse_vulnerable_dmg_increase = 72,
cryst_vulnerable_dmg_increase = 73,
natural_vulnerable_dmg_increase = 74,
ether_vulnerable_dmg_increase = 75,
atk_increase_factor_from_str = 76,
atk_increase_factor_from_agi = 77,
atk_increase_factor_from_wisd = 78,
atk_increase_factor_from_will = 79,
physical_dmg_resist_scalar = 80,
natural_dmg_resist_scalar = 81,
cryst_dmg_resist_scalar = 82,
pulse_dmg_resist_scalar = 83,
fire_dmg_resist_scalar = 84,
ether_dmg_resist_scalar = 85,
slow_action_speed_scalar = 86,
physical_and_spell_infliction_enhance = 87,
shield_output_increase = 88,
shield_taken_increase = 89,
};