diff --git a/server/gameserver/mt/Param.cc b/server/gameserver/mt/Param.cc index 5b6d57e1..ddb87491 100644 --- a/server/gameserver/mt/Param.cc +++ b/server/gameserver/mt/Param.cc @@ -1,5 +1,7 @@ #include "precompile.h" +#include + #include "mt/Param.h" #include "mt/SafeArea.h" @@ -414,12 +416,28 @@ namespace mt int Param::GetCritEffect(float E) { - + float E_abs = std::fabs(E); + int effect = 0; + for (int i = 0; i < s().crit_effect_range.size(); ++i) { + if (E_abs < s().crit_effect_range.at(i)) { + effect = i +1; + break; + } + } + return effect; } int Param::GetBlockEffect(float E) { - + float E_abs = std::fabs(E); + int effect = 0; + for (int i = 0; i < s().block_effect_range.size(); ++i) { + if (E_abs < s().block_effect_range.at(i)) { + effect = i +1; + break; + } + } + return effect; } }