[Rules] Add Multiplier for Heroic Stats. (#3014)

* initial work

* [Rules] Add Multiplier for Heroic Stats.

* Add bots

* update SendStatsWindow

* fix SendStatsWindow
This commit is contained in:
Aeadoin
2023-03-04 18:09:44 -05:00
committed by GitHub
parent e3f9b396ab
commit 83ea9816b8
6 changed files with 91 additions and 55 deletions
+14 -5
View File
@@ -6381,7 +6381,7 @@ void Client::SendStatsWindow(Client* client, bool use_window)
if(CalcMaxMana() > 0) {
cur_name = " M: ";
cur_field = itoa(GetMana());
total_field = itoa(CalcMaxMana());
total_field = itoa(GetMaxMana());
}
else { continue; }
@@ -6436,7 +6436,8 @@ void Client::SendStatsWindow(Client* client, bool use_window)
regen_row_color = color_red;
base_regen_field = itoa(LevelRegen());
item_regen_field = itoa(itembonuses.HPRegen);
item_regen_field = itoa(
itembonuses.HPRegen +(GetHeroicSTA() * RuleR(Character, HeroicStaminaMultiplier) / 20));
cap_regen_field = itoa(CalcHPRegenCap());
spell_regen_field = itoa(spellbonuses.HPRegen);
aa_regen_field = itoa(aabonuses.HPRegen);
@@ -6444,12 +6445,15 @@ void Client::SendStatsWindow(Client* client, bool use_window)
break;
}
case 1: {
if(CalcMaxMana() > 0) {
if(GetMaxMana() > 0) {
regen_row_header = "M: ";
regen_row_color = color_blue;
base_regen_field = itoa(CalcBaseManaRegen());
item_regen_field = itoa(itembonuses.ManaRegen);
int32 heroic_mana_regen = (GetCasterClass() == 'W') ?
GetHeroicWIS() * RuleR(Character, HeroicWisdomMultiplier) / 25 :
GetHeroicINT() * RuleR(Character, HeroicIntelligenceMultiplier) / 25;
item_regen_field = itoa(itembonuses.ManaRegen + heroic_mana_regen);
cap_regen_field = itoa(CalcManaRegenCap());
spell_regen_field = itoa(spellbonuses.ManaRegen);
aa_regen_field = itoa(aabonuses.ManaRegen);
@@ -6463,7 +6467,12 @@ void Client::SendStatsWindow(Client* client, bool use_window)
regen_row_color = color_green;
base_regen_field = itoa(((GetLevel() * 4 / 10) + 2));
item_regen_field = itoa(itembonuses.EnduranceRegen);
double heroic_str = GetHeroicSTR() * RuleR(Character, HeroicStrengthMultiplier);
double heroic_sta = GetHeroicSTA() * RuleR(Character, HeroicStaminaMultiplier);
double heroic_dex = GetHeroicDEX() * RuleR(Character, HeroicDexterityMultiplier);
double heroic_agi = GetHeroicAGI() * RuleR(Character, HeroicAgilityMultiplier);
double heroic_stats = (heroic_str + heroic_sta + heroic_dex + heroic_agi) / 4;
item_regen_field = itoa(itembonuses.EnduranceRegen + heroic_stats);
cap_regen_field = itoa(CalcEnduranceRegenCap());
spell_regen_field = itoa(spellbonuses.EnduranceRegen);
aa_regen_field = itoa(aabonuses.EnduranceRegen);