Right now the spawn event in the action frame for an upgrade uses the same unit type value as the original firewall unit.
Looking at the python starter algo, it creates and upgrades two filters on turn zero. That spawn event list looks like:
“spawn”: [[[27, 14], 2, “1”, 2], [[0, 14], 2, “2”, 2], [[19, 16], 2, “3”, 2], [[8, 16], 2, “4”, 2], [[14, 16], 2, “5”, 2], [[13, 16], 2, “6”, 2], [[19, 15], 0, “7”, 2], [[8, 15], 0, “8”, 2], [[19, 15], 0, “9”, 2], [[8, 15], 0, “10”, 2], [[26, 15], 5, “11”, 2], [[23, 18], 5, “12”, 2], [[10, 24], 5, “13”, 2], [[4, 18], 5, “14”, 2], [[16, 25], 5, “15”, 2]],
You see [[8, 15], 0, "8", 2]
(for the filter) and [[8, 15], 0, "10", 2]
(for the upgrade). Both have 0
(filter) for the unit type value.
This makes it much harder to detect upgrade spawn events!
Can spawn events start using the new unit type value of 7 for upgrades?
I realize there is a bit of a trade-off here as you would need extra information to determine what type of firewall was upgraded, but this would bring it inline with how removal spawn events work (they use unit type value of 6).