*Fix talent Will of the NEcropolis

*Backout unintentional change from ra299f0b248.

--HG--
branch : trunk
This commit is contained in:
QAston
2010-07-31 23:39:03 +02:00
parent e0af5f9220
commit 73b481073d
3 changed files with 23 additions and 4 deletions

View File

@@ -1938,6 +1938,25 @@ void Unit::CalcAbsorbResist(Unit *pVictim, SpellSchoolMask schoolMask, DamageEff
RemainingDamage -= absorbed;
}
continue;
case 52284: // Will of the Necropolis
case 52285:
case 52286:
{
int32 remainingHp = (int32)pVictim->GetHealth() - RemainingDamage;
// min pct of hp is stored in effect 0 of talent spell
uint32 rank = spellmgr.GetSpellRank(spellProto->Id);
SpellEntry const * talentProto = sSpellStore.LookupEntry(spellmgr.GetSpellWithRank(49189, rank));
int32 minHp = (float)pVictim->GetMaxHealth() * (float)SpellMgr::CalculateSpellEffectAmount(talentProto, 0, (*i)->GetCaster()) / 100.0f;
// Damage that would take you below [effect0] health or taken while you are at [effect0]
if (remainingHp < minHp)
{
uint32 absorbed = uint32(currentAbsorb * RemainingDamage * 0.01f);
RemainingDamage -= absorbed;
}
continue;
}
case 48707: // Anti-Magic Shell (on self)
{
// damage absorbed by Anti-Magic Shell energizes the DK with additional runic power.

View File

@@ -682,7 +682,7 @@ int32 AuraEffect::CalculateAmount(Unit * caster)
}
}
// Hand of Salvation
else if (GetSpellProto()->SpellFamilyName == SPELLFAMILY_PALADIN && m_spellProto->SpellFamilyFlags[0] & 0x00000100)
else if (GetSpellProto()->SpellFamilyName == SPELLFAMILY_PALADIN && GetSpellProto()->SpellFamilyFlags[0] & 0x00000100)
{
//Glyph of Salvation
if (caster->GetGUID() == GetBase()->GetUnitOwner()->GetGUID())

View File

@@ -85,14 +85,14 @@ class DBCStorage
Field *fields = NULL;
QueryResult_AutoPtr result = QueryResult_AutoPtr(NULL);
// Load data from sql
if (false/*sql*/)
if (sql)
{
std::string query = "SELECT * FROM " + sql->sqlTableName;
if (sql->indexPos >= 0)
query +=" ORDER BY " + *sql->indexName + " DESC";
query += ";";
/*
result = WorldDatabase.Query(query.c_str());
if (result)
{
@@ -108,7 +108,7 @@ class DBCStorage
sLog.outError("Invalid index pos for dbc:'%s'", sql->sqlTableName.c_str());
return false;
}
}*/
}
}
char * sqlDataTable;
fieldCount = dbc.GetCols();