✅ Get ability timing
| Category | Ability |
| Status | Passing |
| Test | tests/test_action_timing.py::test_get_ability_timing |
PRECONDITIONS:
Preconditions
- Known ability timings from game data
Action
- get_ability_timing for several known units
Expected Postconditions
-
"001" (Duban) ability[0] — type=Passive → AbilityTiming.PASSIVE
-
"003" (Sabnock) ability[0] — timing=quick → AbilityTiming.QUICK
-
"061" (Malthus) ability[0] — timing=None, type=Action → AbilityTiming.ACTION
-
"061" (Malthus) ability[1] — timing=allied → AbilityTiming.ALLIED
-
"013" (Flauros) ability[0] — timing=universal → AbilityTiming.UNIVERSAL
Assertions
assert get_ability_timing("001", 0) == AbilityTiming.PASSIVE
assert get_ability_timing("003", 0) == AbilityTiming.QUICK
assert get_ability_timing("061", 0) == AbilityTiming.ACTION
assert get_ability_timing("061", 1) == AbilityTiming.ALLIED
assert get_ability_timing("013", 0) == AbilityTiming.UNIVERSAL