I'm double-posting, rather than editing, because some developments are serious enough to warrant a bump.
I can get the code working... once the jumps are borked. Observe:
12 2070
02 20A0
82
90
60 20
61 01C5
81
60 01
35
70 0042 -> points to the 73 opcode!
12 1000
02 20A0
03 4160
80
02 20A0
03 4190
80
60 03
33
60 02
32
43
90
02 1000
60 01
42
70 0042 -> points to the 73 opcode!
12 2070
02 1000
82
90
91
61 01C6
92
This code works. Well. Perfectly, in fact. The Neros use attack X ('beak'), but 50% of the time will use attack Y ('healwing') when a party member has less than 50% HP. This goes against all good sense: we'd expect the Neros to refuse to act except when using their attack Y on a char with less than half health, as often the logic branches to the 'end' opcode.
When I fix the logic jumps by substituting $42 with $3F, the game freezes every time an attack is made by the monsters.
This makes no sense whatsoever, unless - and I hesitate to say this - there is an issue with the way that Proud Clod calculates addresses in the AI scripting section. I am, of course, open to other suggestions. I'll see if I can verify the address digits PC generates. If they're consistent, who knows how to explain it?
--
Edit: I understand now. Take a look at the following GIF (I'm quite keen on animations today : ) ):
Basically, when you scroll to the end, Proud Clod doesn't properly 'scroll' the address list. 42 always DID point to the 92 opcode, it's just that PC doesn't 'scroll' the addresses properly once you roll to the end of a script. Make sure you're aware of this when writing your jumps.
This means, in effect, that by 'fixing' the jumps, I actually had the monsters perform 1C5 'as' a 1C5, which is impossible. Initially, I assumed that $20 was being popped somewhere, because it looked like an incorrect 'type'. It looked like an incorrect 'type'... because it was one.