Number Valued Property vs Numbers

I’m once again fiddling around with my Pokémon project, and I’ve come up against a bit of a wall in something that I thought should be simple.

I’ve given each Pokémon a number called Atk Buff…

Every Pokémon has a number called Atk Buff.	The Atk Buff of a Pokémon is usually 0.

…and I’m trying to use text substitutions and conditions to report the stat changes of a Pokémon:

After examining a Pokémon:
	say "Atk:         [Current Atk] [line break]";
	say "[if Atk Buff is greater than 0]Attack increased by [Atk Buff] stages[end if]";

I’m running up against the following error message:

Problem. In the sentence ‘say “[if Atk Buff is greater than 0]Att […] eased by [Atk Buff] stages[end if]”’, it looks as if you intend ‘Atk Buff is greater than 0’ to be a condition, but that would mean comparing two kinds of value which cannot mix - a numbers valued property and a number - so this must be incorrect.

Can anybody tell me why Atk Buff (a number that each Pokémon has) can’t be compared to 0 (a number)?

You have to refer to Atk Buff of the noun. That’s a number. Atk Buff by itself is the name of a numeric property.

When printing “[Atk Buff]”, Inform is willing to guess what object you mean. But not everywhere.

That’s an annoyingly specific distinction.
Thanks for your help.