Maybe better use retail "fix" and use swimming speed for run/walk mode from PC_paramaters.txt?
moving_speed_begin
FFighter={80; 115; 50; 50; 0; 0; 0; 0}
MFighter={80; 115; 50; 50; 0; 0; 0; 0}
FMagic={78; 120; 50; 50; 0; 0; 0; 0}
MMagic={78; 120; 50; 50; 0; 0; 0; 0}
FElfFighter={90; 125; 50; 50; 0; 0; 0; 0}
MElfFighter={90; 125; 50; 50; 0; 0; 0; 0}
FElfMagic={85; 122; 50; 50; 0; 0; 0; 0}
MElfMagic={85; 122; 50; 50; 0; 0; 0; 0}
FDarkelfFighter={85; 122; 50; 50; 0; 0; 0; 0}
MDarkelfFighter={85; 122; 50; 50; 0; 0; 0; 0}
FDarkelfMagic={85; 122; 50; 50; 0; 0; 0; 0}
MDarkelfMagic={85; 122; 50; 50; 0; 0; 0; 0}
FOrcFighter={70; 117; 50; 50; 0; 0; 0; 0}
MOrcFighter={70; 117; 50; 50; 0; 0; 0; 0}
FShaman={70; 121; 50; 50; 0; 0; 0; 0}
MShaman={70; 121; 50; 50; 0; 0; 0; 0}
FDwarfFighter={80; 115; 50; 50; 0; 0; 0; 0}
MDwarfFighter={80; 115; 50; 50; 0; 0; 0; 0}
FKamaelSoldier={87; 122; 50; 50; 0; 0; 0; 0}
MKamaelSoldier={87; 122; 50; 50; 0; 0; 0; 0}
moving_speed_end
where, {ground_walk; ground_run; swim_underwater_walk; swim_underwater_run; fly_walk; fly_run; swim_surface_walk; swim_surface_run}.
Or continue make shitcode on previous shitcode, aka Shitcode Dev?