2Vam:
func void B_MM_AssessEnemy_Sleep() { * * *PrintDebugNpc (PD_MST_FRAME, "B_MM_AssessEnemy_Sleep"); * * *if(!C_BodyStateContains(self, BS_LIE) || (Npc_GetDistToNpc(self, other) < 200)) * * *{ * * * * * *B_MM_AssessEnemy(); * * *}; };
|
Вариант оптимизации НЕ верен, в этом случае вызов функции B_MM_AssessEnemy(); выполняется ВСЕГДА при соблюдении одного из двух условий.
В оригинальном же варианте возможно НЕВЫПОЛНЕНИЕ вызова функции: B_MM_AssessEnemy();
2HikeR:
func void B_MM_AssessEnemy_Sleep() { * PrintDebugNpc (PD_MST_FRAME, "B_MM_AssessEnemy_Sleep"); * * * if (C_BodyStateContains(self,BS_LIE)) * * { * * * * * if (Npc_GetDistToNpc(self,other)<200) * * * * * { * * * * * * * * B_MM_AssessEnemy(); * * * * * }; * * * * * //Если не выполняется вышеописанное условие, в этом случае B_MM_AssessEnemy(); НЕ вызывается, хотя и было выполнено первое условие.
* * } * * else * * { * * * * * B_MM_AssessEnemy(); * * }; };
|
И ИМХО, стоит оставить функцию в первозданном виде.