Total War: WARHAMMER III

Total War: WARHAMMER III

Helper UI
Compatibility submods/integration
I started putting together general compat for other mods which change fatigue effects, and wanted to put down some notes here for others who might attempt it, in case I never get around to finishing it.

Essentially, fill in fatigue effects for script/_lib/mod/table_fatigue.klissan.lua. For example, SFO values:

-- unit_fatigue_effects_tables local fatigue_effects_table = { -- applying accuracy and resistance reductions will require specific impl elsewhere ["scalar_speed"] = {1.00, 0.95, 0.9, 0.85, 0.8, 0.75}, ["stat_armour"] = {1.00, 0.95, 0.9, 0.85, 0.8, 0.75}, ["stat_charge_bonus"] = {1.00, 0.95, 0.9, 0.85, 0.8, 0.75}, ["stat_melee_attack"] = {1.00, 0.95, 0.9, 0.85, 0.8, 0.75}, ["stat_melee_damage_ap"] = {1.00, 0.95, 0.9, 0.85, 0.8, 0.75}, ["stat_melee_damage_base"] = {1.00, 0.95, 0.9, 0.85, 0.8, 0.75}, ["stat_melee_defence"] = {1.00, 0.95, 0.9, 0.85, 0.8, 0.75}, ["stat_reload_time"] = {1.00, 0.9, 0.8, 0.7 , 0.6, 0.5}, --TODO stat reload in cco script ["scalar_missile_damage_base"] = {1.00, 1.00, 1.00, 1.00, 1.00, 1.00}, ["scalar_missile_damage_ap"] = {1.00, 1.00, 1.00, 1.00, 1.00, 1.00}, ["scalar_missile_explosion_damage_base"] = {1.00, 1.00, 1.00, 1.00, 1.00, 1.00}, ["scalar_missile_explosion_damage_ap"] = {1.00, 1.00, 1.00, 1.00, 1.00, 1.00}, } -- kv_morale_tables local fatigue_effects_leadership = {0, 0, 0, -2, -4, -6} local fatigue_states_table = { "fresh", "active", "winded", "tired", "very_tired", "exhausted", } Klissan_H:register_function{function() common:set_context_value('fatigue_effects', fatigue_effects_table) end, is_battle=true} Klissan_H:register_function{function() common:set_context_value('fatigue_effects_leadership', fatigue_effects_leadership) end, is_battle=true} Klissan_H:register_function{function() common:set_context_value('fatigue_states', fatigue_states_table) end, is_battle=true}

The first nontrivial step after that is taking a look at resistances_row in the unit_information xml to incorporate fatigue effects for resist values.

Accuracy isn't displayed at the moment. I'm not otherwise a TW modder but my understanding is that the overall ranged accuracy calculation involves many factors and the accuracy stat alone is not sufficiently useful to display.