Index: game/Player.cpp =================================================================== --- game/Player.cpp (revision 5691) +++ game/Player.cpp (working copy) @@ -1019,7 +1019,6 @@ UpdateEnchantTime(p_time); UpdateHomebindTime(p_time); - UpdateManaRegen(); // group update SendUpdateToOutOfRangeGroupMembers(); @@ -4021,17 +4020,15 @@ if (level>GT_MAX_LEVEL) level = GT_MAX_LEVEL; - GtOCTRegenMPEntry const *baseRatio = sGtOCTRegenMPStore.LookupEntry((pclass-1)*GT_MAX_LEVEL + level-1); +// GtOCTRegenMPEntry const *baseRatio = sGtOCTRegenMPStore.LookupEntry((pclass-1)*GT_MAX_LEVEL + level-1); GtRegenMPPerSptEntry const *moreRatio = sGtRegenMPPerSptStore.LookupEntry((pclass-1)*GT_MAX_LEVEL + level-1); - if (baseRatio==NULL || moreRatio==NULL) + if (moreRatio==NULL) return 0.0f; // Formula get from PaperDollFrame script - float spirit = GetStat(STAT_SPIRIT); - float baseSpirit = spirit; - if (baseSpirit>50) baseSpirit = 50; - float moreSpirit = spirit - baseSpirit; - float regen = baseSpirit * baseRatio->ratio + moreSpirit * moreRatio->ratio; + float spirit = GetStat(STAT_SPIRIT); + float intellect = GetStat(STAT_INTELLECT); + float regen = sqrt(intellect) * spirit * moreRatio->ratio; return regen; } Index: game/StatSystem.cpp =================================================================== --- game/StatSystem.cpp (revision 5691) +++ game/StatSystem.cpp (working copy) @@ -68,6 +68,7 @@ UpdateAllSpellCritChances(); UpdateAttackPowerAndDamage(true); //SPELL_AURA_MOD_RANGED_ATTACK_POWER_OF_STAT_PERCENT, only intelect currently UpdateArmor(); //SPELL_AURA_MOD_RESISTANCE_OF_INTELLECT_PERCENT, only armor currently + UpdateManaRegen(); break; case STAT_SPIRIT: @@ -113,7 +114,7 @@ UpdateDefenseBonusesMod(); UpdateShieldBlockValue(); UpdateSpellDamageAndHealingBonus(); - + UpdateManaRegen(); for (int i = SPELL_SCHOOL_NORMAL; i < MAX_SPELL_SCHOOL; i++) UpdateResistances(i); Index: shared/Database/DBCfmt.cpp =================================================================== --- shared/Database/DBCfmt.cpp (revision 5691) +++ shared/Database/DBCfmt.cpp (working copy) @@ -38,7 +38,7 @@ const char GtChanceToSpellCritBasefmt[]="f"; const char GtChanceToSpellCritfmt[]="f"; const char GtOCTRegenHPfmt[]="f"; -const char GtOCTRegenMPfmt[]="f"; +//const char GtOCTRegenMPfmt[]="f"; const char GtRegenHPPerSptfmt[]="f"; const char GtRegenMPPerSptfmt[]="f"; const char ItemDisplayTemplateEntryfmt[]="nxxxxxxxxxxixxxxxxxxxxx"; Index: shared/Database/DBCStores.cpp =================================================================== --- shared/Database/DBCStores.cpp (revision 5691) +++ shared/Database/DBCStores.cpp (working copy) @@ -60,7 +60,7 @@ DBCStorage sGtChanceToSpellCritBaseStore(GtChanceToSpellCritBasefmt); DBCStorage sGtChanceToSpellCritStore(GtChanceToSpellCritfmt); DBCStorage sGtOCTRegenHPStore(GtOCTRegenHPfmt); -DBCStorage sGtOCTRegenMPStore(GtOCTRegenMPfmt); +//DBCStorage sGtOCTRegenMPStore(GtOCTRegenMPfmt); -- not used currently DBCStorage sGtRegenHPPerSptStore(GtRegenHPPerSptfmt); DBCStorage sGtRegenMPPerSptStore(GtRegenMPPerSptfmt); @@ -174,7 +174,7 @@ { std::string tmpPath=""; - const uint32 DBCFilesCount = 51; + const uint32 DBCFilesCount = 50; barGoLink bar( DBCFilesCount ); @@ -229,7 +229,7 @@ LoadDBC(bar,bad_dbc_files,sGtChanceToSpellCritStore, dataPath+"dbc/gtChanceToSpellCrit.dbc"); LoadDBC(bar,bad_dbc_files,sGtOCTRegenHPStore, dataPath+"dbc/gtOCTRegenHP.dbc"); - LoadDBC(bar,bad_dbc_files,sGtOCTRegenMPStore, dataPath+"dbc/gtOCTRegenMP.dbc"); +// LoadDBC(bar,bad_dbc_files,sGtOCTRegenMPStore, dataPath+"dbc/gtOCTRegenMP.dbc"); -- not used currently LoadDBC(bar,bad_dbc_files,sGtRegenHPPerSptStore, dataPath+"dbc/gtRegenHPPerSpt.dbc"); LoadDBC(bar,bad_dbc_files,sGtRegenMPPerSptStore, dataPath+"dbc/gtRegenMPPerSpt.dbc"); Index: shared/Database/DBCStores.h =================================================================== --- shared/Database/DBCStores.h (revision 5691) +++ shared/Database/DBCStores.h (working copy) @@ -133,7 +133,7 @@ extern DBCStorage sGtChanceToSpellCritBaseStore; extern DBCStorage sGtChanceToSpellCritStore; extern DBCStorage sGtOCTRegenHPStore; -extern DBCStorage sGtOCTRegenMPStore; +//extern DBCStorage sGtOCTRegenMPStore; -- not used currently extern DBCStorage sGtRegenHPPerSptStore; extern DBCStorage sGtRegenMPPerSptStore; Index: shared/Database/DBCStructure.h =================================================================== --- shared/Database/DBCStructure.h (revision 5691) +++ shared/Database/DBCStructure.h (working copy) @@ -276,10 +276,10 @@ float ratio; }; -struct GtOCTRegenMPEntry -{ - float ratio; -}; +//struct GtOCTRegenMPEntry +//{ +// float ratio; +//}; struct GtRegenHPPerSptEntry {