diff options
author | megamage <none@none> | 2008-11-04 09:23:06 -0600 |
---|---|---|
committer | megamage <none@none> | 2008-11-04 09:23:06 -0600 |
commit | fc9a14a6cf5cff4bf4ba3124e646e09b940729eb (patch) | |
tree | 9605e808e74532072845b7e75510d0f3dbf6e5ee /src/game/SpellAuras.cpp | |
parent | a5045b76849f095929358248d8b51ed8a4fb89bc (diff) |
[svn] Fix 146_world.sql. Do not use default for text. (Ignore this if you have successfully applied 146_world.sql)
Fix HandleAuraModIncreaseHealth, also increase current health.
Merge from Mangos:
2008-11-02 10:53:27 854e0d64e3410b2a1eff6d56705f8e42b4291534 Do not split self caused damage.
(PART) 2008-10-31 12:45:22 e56b671979623570acd358a9b99aa169be22ffba Move tamed pet creating code to new function.
--HG--
branch : trunk
Diffstat (limited to 'src/game/SpellAuras.cpp')
-rw-r--r-- | src/game/SpellAuras.cpp | 43 |
1 files changed, 14 insertions, 29 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 5cecf67d401..21d224ea0e4 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -10,12 +10,12 @@ * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "Common.h" @@ -2911,7 +2911,6 @@ void Aura::HandleModPossess(bool apply, bool Real) if(m_target->GetTypeId() == TYPEID_PLAYER) ((Player*)m_target)->setFactionForRace(m_target->getRace()); - else if(m_target->GetTypeId() == TYPEID_UNIT) { CreatureInfo const *cinfo = ((Creature*)m_target)->GetCreatureInfo(); @@ -4624,36 +4623,22 @@ void Aura::HandleComprehendLanguage(bool apply, bool Real) void Aura::HandleAuraModIncreaseHealth(bool apply, bool Real) { - // Special case with temporary increase max/current health - switch(GetId()) + if(Real) { - case 12976: // Warrior Last Stand triggered spell - case 28726: // Nightmare Seed ( Nightmare Seed ) - case 34511: // Valor (Bulwark of Kings, Bulwark of the Ancient Kings) - case 44055: // Tremendous Fortitude (Battlemaster's Alacrity) + if(apply) { - if(Real) - { - if(apply) - { - m_target->HandleStatModifier(UNIT_MOD_HEALTH, TOTAL_VALUE, float(m_modifier.m_amount), apply); - m_target->ModifyHealth(m_modifier.m_amount); - } - else - { - if (int32(m_target->GetHealth()) > m_modifier.m_amount) - m_target->ModifyHealth(-m_modifier.m_amount); - else - m_target->SetHealth(1); - m_target->HandleStatModifier(UNIT_MOD_HEALTH, TOTAL_VALUE, float(m_modifier.m_amount), apply); - } - } - return; + m_target->HandleStatModifier(UNIT_MOD_HEALTH, TOTAL_VALUE, float(m_modifier.m_amount), apply); + m_target->ModifyHealth(m_modifier.m_amount); + } + else + { + if (int32(m_target->GetHealth()) > m_modifier.m_amount) + m_target->ModifyHealth(-m_modifier.m_amount); + else + m_target->SetHealth(1); + m_target->HandleStatModifier(UNIT_MOD_HEALTH, TOTAL_VALUE, float(m_modifier.m_amount), apply); } } - - // generic case - m_target->HandleStatModifier(UNIT_MOD_HEALTH, TOTAL_VALUE, float(m_modifier.m_amount), apply); } void Aura::HandleAuraModIncreaseMaxHealth(bool apply, bool Real) |