What is the difference between damage_i and damage_f?

I don’t understand the difference between damage_i and damage_f. They are both attributes of the GameUnit class in unit.py. I have the initialization below, but the difference is still unclear since I don’t know what “attackDamageTower” or “attackDamageWalker” are referring to either.

from .game_state import STRUCTURE_TYPES, UNIT_TYPE_TO_INDEX, SUPPORT
type_config = self.config["unitInformation"][UNIT_TYPE_TO_INDEX[self.unit_type]]
...
self.damage_f = type_config.get("attackDamageTower", 0)
self.damage_i = type_config.get("attackDamageWalker", 0)

My best guess right now is that damage_i is the damage a unit can inflict before being upgrading and damage_f is the damage it can inflict after being upgraded, but this is pure speculation and doesn’t really make much sense.

Can anyone clear this up for me?

Thank you in advance!

I discovered json-docs.html in the StarterKit (not much of a discovery but I had no idea it existed), which has specifications for all the unit attributes, including the answer to my question. Apparently damage_i is for the damage a given unit can inflict on mobile units whereas damage_f is the damage a given unit can inflict on a structure unit, thus the names “attackDamageWalker” and “attackDamageTower.”