It's on the skimbleshanks page. Scorpiorus.
Grim Reaper, now that we're looking at the right template
:
There's a line in repeatedly_execute - it's line 88 in a new game, but if you've added code before that, I can't give an exact number - that looks like this:
Code: ags
I can't be bothered reading through the whole thing to figure out the sense of it, but it seems to change out of cursor mode 4 (UseInv) if got_inv is -1 (which should be the normal behaviour - like I said, can't be bothered working out the whole thing). When you don't have EGO as the player character, it doesn't update properly and you can't be in mode 4. (To me, it looks like the cursor changes to the Item for a split second then changes back - which would support this idea.)
Changing that line to:
Code: ags
Works for me.
EDIT:
On a related note, it uses player.activeinv in unhandled_event. IIRR, the player pointer didn't update to when you change the player character before V2.7, so you might need to replace that with character[GetPlayerCharacter()].activeinv as well.
Grim Reaper, now that we're looking at the right template

There's a line in repeatedly_execute - it's line 88 in a new game, but if you've added code before that, I can't give an exact number - that looks like this:
got_inv = character[EGO].activeinv;
I can't be bothered reading through the whole thing to figure out the sense of it, but it seems to change out of cursor mode 4 (UseInv) if got_inv is -1 (which should be the normal behaviour - like I said, can't be bothered working out the whole thing). When you don't have EGO as the player character, it doesn't update properly and you can't be in mode 4. (To me, it looks like the cursor changes to the Item for a split second then changes back - which would support this idea.)
Changing that line to:
got_inv = character[GetPlayerCharacter()].activeinv;
Works for me.
EDIT:
On a related note, it uses player.activeinv in unhandled_event. IIRR, the player pointer didn't update to when you change the player character before V2.7, so you might need to replace that with character[GetPlayerCharacter()].activeinv as well.