void Player::UpdateAllRunesRegen() { if (getClass() != CLASS_DEATH_KNIGHT) return; uint32 runeIndex = GetPowerIndex(POWER_RUNES); if (runeIndex == MAX_POWERS) return; PowerTypeEntry const* runeEntry = sDB2Manager.GetPowerTypeEntry(POWER_RUNES); uint32 cooldown = GetRuneBaseCooldown(); SetStatFloatValue(UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER + runeIndex, float(1 * IN_MILLISECONDS) / float(cooldown) - runeEntry->RegenerationPeace); SetStatFloatValue(UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER + runeIndex, float(1 * IN_MILLISECONDS) / float(cooldown) - runeEntry->RegenerationCombat); }
void Player::UpdateRuneRegen(RuneType rune) { if (rune >= NUM_RUNE_TYPES) return; uint32 cooldown = 0; for (uint32 i = 0; i < MAX_RUNES; ++i) if (GetBaseRune(i) == rune) { cooldown = GetRuneBaseCooldown(i); break; } if (cooldown <= 0) return; float regen = float(1 * IN_MILLISECONDS) / float(cooldown); SetFloatValue(PLAYER_FIELD_RUNE_REGEN + uint8(rune), regen); }
void Player::UpdateRuneRegen() { float const regen = float(1 * IN_MILLISECONDS) / GetRuneBaseCooldown(); for (uint8 i = 0; i < NUM_RUNE_TYPES; ++i) SetFloatValue(PLAYER_RUNE_REGEN_1 + i, regen); }