Mac SKILLNEC_ApplyBloodCost: void __cdecl (D2GameStrc* pGame, D2UnitStrc* pUnit)
Mac body reads only [EBP+8] (pGame, passed on to DAMAGE_ApplyDamageToUnit) and [EBP+0xc] (pUnit, checked for type 0 / mode, then used to read the max HP); it ends in a plain RET. Both callers (RaiseSkeletonFromCorpse 0x002647a0, ReviveCorpseCheck 0x0026582d) store exactly [ESP] and [ESP+4] and ignore EAX. The Windows twin 0x005c2ff0 has the same first two args (pGame, pUnit). On Mac the inlined skill args are dropped.
Changes 1, applied together
Set prototype
mac 0x002625easignatureundefined SKILLNEC_ApplyBloodCost(void)→void SKILLNEC_ApplyBloodCost(D2GameStrc* pGame, D2UnitStrc* pUnit)conventionunknown→__cdecl