Problem
Healed target's equipped weapon is treated as effectiveness incorrectly.

Reason
gBattleTarget.weaponBefore is set during heal while gBattleTarget.weapon is not, and IsItemEffectiveAgainst accepts bu->weapon as argument, so if the previous battle target's weapon happens to be effective against the current healer, bug happens.
Problem
Healed target's equipped weapon is treated as effectiveness incorrectly.

Reason
gBattleTarget.weaponBeforeis set during heal whilegBattleTarget.weaponis not, andIsItemEffectiveAgainstacceptsbu->weaponas argument, so if the previous battle target's weapon happens to be effective against the current healer, bug happens.