The following are changes to zone/spells.cpp to fix the misorder of output in the spell logging code. The name of the castee and the name of the spell had been incorrectly inversed. I believe there may also be an issue with the spell power logic, as I haven't seen any spells logged at usage other than 50%. I will need to do more debugging to figure out exactly why.
>...>...>...if (partial && (random > chance - 0.10))
>...>...>...{
>...>...>...>...LogFile->write(EQEMuLog::Normal, "%s casted %s on %s: 50%% Hit!",
caster?caster->GetName():"unknown",
spells[spell_id].name, GetName());
>...>...>...>...return 50;
>...>...>...}
>...>...>...else if (partial && random > chance - 0.0

>...>...>...{
>...>...>...>...LogFile->write(EQEMuLog::Normal, "%s casted %s on %s: 60%% Hit!",
caster?caster->GetName():"unknown",
spells[spell_id].name, GetName());
>...>...>...>...return 60;
>...>...>...}
>...>...>...else if (partial && random > chance - 0.06)
>...>...>...{
>...>...>...>...LogFile->write(EQEMuLog::Normal, "%s casted %s on %s: 70%% Hit!",
caster?caster->GetName():"unknown",
spells[spell_id].name, GetName());
>...>...>...>...return 70;
>...>...>...}
>...>...>...else if (partial && random > chance - 0.04)
>...>...>...{
>...>...>...>...LogFile->write(EQEMuLog::Normal, "%s casted %s on %s: 80%% Hit!",
caster?caster->GetName():"unknown",
spells[spell_id].name, GetName());
>...>...>...>...return 80;
>...>...>...}
>...>...>...else if (partial && random > chance - 0.02)
>...>...>...{
>...>...>...>...LogFile->write(EQEMuLog::Normal, "%s casted %s on %s: 90%% Hit!",
caster?caster->GetName():"unknown",
>... spells[spell_id].name, GetName());
>...>...>...>...return 90;
>...>...>...}
>...>...>...else if (random > chance)
>...>...>...{
>...>...>...>...LogFile->write(EQEMuLog::Normal, "%s casted %s on %s: Full Hit!",
caster?caster->GetName():"unknown",
spells[spell_id].name, GetName());
>...>...>...>...return 100;
>...>...>...}