Цитата:
Сообщение от virusav
В итоге при новом значении 1.05f и старом 1.03f получим 0.02f.
Если есть только новое значение, то 1.05f.
|
Всё верно, так и задумано. Дело в том, что если у нас есть старая аура, то мы попросту добавляем разницу между ними (т.к. новая более сильная)
Цитата:
Сообщение от virusav
По идее, можно
Код:
- GetTarget()->HandleStatModifier(UNIT_MOD_ATTACK_POWER, TOTAL_VALUE, float(m_modifier.m_amount), apply);
+ float value = ReplaceByMorePowerfulAura(m_modifier.m_auraname, m_modifier.m_amount);
+ GetTarget()->HandleStatModifier(UNIT_MOD_ATTACK_POWER, TOTAL_VALUE, value, apply);
заменить на
Код:
- GetTarget()->HandleStatModifier(UNIT_MOD_ATTACK_POWER, TOTAL_VALUE, float(m_modifier.m_amount), apply);
+ GetTarget()->HandleStatModifier(UNIT_MOD_ATTACK_POWER, TOTAL_VALUE, float(ReplaceByMorePowerfulAura(m_modifier.m_auraname, m_modifier.m_amount)), apply);
И так в каждой функции.
|
я тоже об этом подумывал, но пугала слишком длинная строчка которая получалсь в итоге %)
У меня просто до сих пор сомнения о надобности параметров тут вообще, но и проверять этот вариант поленился :/ я до сих пор не понял, наследует ли вызванная функция все известное той из которой была вызвана... тут сыграло роль моё нупство в C++