@aidolu12: Yes, it's extremely difficult to do CIL changes by only looking at the CIL code. It's way better to look at the C# code to at least understand how the engine works before guessing how you can tweak it (it requires reading C# but that's always better than CIL).
You can see the C# code in
Memoria's Github page, or using a tool like dnSpy or dotPeek.
For your particular question, it's not particulary easy in CIL, but you might change the method "BattleHUD::GoToBattleResult" and add this kind of lines:
Code: [Select]
Code:
call 0x6000F5D // FF9StateSystem::get_Battleldfld 0x4002267 // BattleState::FF9Battleldfld 0x4002230 // FF9StateBattleSystem::btl_listldfld 0x4000226 // BTL_DATA::nextldfld 0x400022A // BTL_DATA::curldfld 0x4000809 // POINTS::hpcall 0x6000F5D // FF9StateSystem::get_Battleldfld 0x4002267 // BattleState::FF9Battleldfld 0x4002230 // FF9StateBattleSystem::btl_listldfld 0x4000226 // BTL_DATA::nextldfld 0x4000229 // BTL_DATA::maxldfld 0x4000809 // POINTS::hpldc.i4.4divaddcall 0x6000F5D // FF9StateSystem::get_Battleldfld 0x4002267 // BattleState::FF9Battleldfld 0x4002230 // FF9StateBattleSystem::btl_listldfld 0x4000226 // BTL_DATA::nextldfld 0x400022A // BTL_DATA::curstfld 0x4000809 // POINTS::hp
This only restores 25% of max HP of the 1st character only (and doesn't even check if it goes over the max HP limit)...
Best is to use Memoria for that and add these lines instead, since you can surely use local variables when replacing C# code:
Code: [Select]
Code:
for (BTL_DATA next = FF9StateSystem.Battle.FF9Battle.btl_list.next; next != null; next = next.next) if (next.bi.player != 0 && next.cur.hp>0) next.cur.hp = min(next.cur.hp + next.max.hp / 4, next.max.hp);
Much simpler indeed ^^'
@Gordo98: What you want to do is not related to AI but to the battle system, so CIL code or C# again :/
And increasing the duration of status effects is not possible with HW, as explained
here. The best you can do is to change the tick for poison/venom/regen.