diff options
| author | megamage <none@none> | 2008-10-25 15:46:52 -0500 |
|---|---|---|
| committer | megamage <none@none> | 2008-10-25 15:46:52 -0500 |
| commit | 55c25d894ed0eb53b7aac6b15bdddf0927565165 (patch) | |
| tree | e82dd51823ea72e46ec10a3f27d2b2a2cac5216d /src/game/SpellEffects.cpp | |
| parent | 6fc23ef45ee2702dd3bba8fdd114e6535e773112 (diff) | |
[svn] Add SpellExtraInfoMap. Currently support:
Limited-number-of-players spell; shared damage spell; target-in-line cone spell (e.g. dark glare).
Change angle of cone spells from 120 degree to 60 degree.
--HG--
branch : trunk
Diffstat (limited to 'src/game/SpellEffects.cpp')
| -rw-r--r-- | src/game/SpellEffects.cpp | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index ed27c42eeee..7af5316c693 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -311,26 +311,19 @@ void Spell::EffectSchoolDMG(uint32 effect_idx) damage+= rand()%2 ? damage : 0; } - switch(m_spellInfo->Id) // better way to check unknown + // Meteor like spells (divided damage to targets) + if(spellmgr.GetSpellExtraInfo(m_spellInfo->Id, SPELL_EXTRA_INFO_SHARE_DAMAGE)) { - // Meteor like spells (divided damage to targets) - case 24340: case 26558: case 28884: // Meteor - case 36837: case 38903: case 41276: // Meteor - case 26789: // Shard of the Fallen Star - case 31436: // Malevolent Cleave - case 35181: // Dive Bomb - case 40810: case 43267: case 43268: // Saber Lash - case 42384: // Brutal Swipe - case 45150: // Meteor Slash - { - uint32 count = 0; - for(std::list<TargetInfo>::iterator ihit= m_UniqueTargetInfo.begin();ihit != m_UniqueTargetInfo.end();++ihit) - if(ihit->effectMask & (1<<effect_idx)) - ++count; + uint32 count = 0; + for(std::list<TargetInfo>::iterator ihit= m_UniqueTargetInfo.begin();ihit != m_UniqueTargetInfo.end();++ihit) + if(ihit->effectMask & (1<<effect_idx)) + ++count; - damage /= count; // divide to all targets - break; - } + damage /= count; // divide to all targets + } + + switch(m_spellInfo->Id) // better way to check unknown + { // percent from health with min case 25599: // Thundercrash { |
