aboutsummaryrefslogtreecommitdiff
path: root/src/scripts/eastern_kingdoms
diff options
context:
space:
mode:
authorwin32 <>2010-01-21 13:48:27 +0200
committerwin32 <>2010-01-21 13:48:27 +0200
commit2572e9ef8eacdd5944e8a63cf313c8a3c9ac7faf (patch)
tree9f0fedf87c181ea9a851754e70b3336769bea8f2 /src/scripts/eastern_kingdoms
parent1c310c887b40c8a415f4eb10c5aa7319c6855f4a (diff)
* Add support for basedmg and baserangeddmg values in creature_classlevelstats.
* Remove mindmg, maxdmg, attackpower and ranged field in creature_template and add Dmg_Mod, Rangeddmg_Mod field. --HG-- branch : trunk
Diffstat (limited to 'src/scripts/eastern_kingdoms')
-rw-r--r--src/scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp22
-rw-r--r--src/scripts/eastern_kingdoms/zulgurub/boss_arlokk.cpp7
-rw-r--r--src/scripts/eastern_kingdoms/zulgurub/boss_marli.cpp14
-rw-r--r--src/scripts/eastern_kingdoms/zulgurub/boss_thekal.cpp7
-rw-r--r--src/scripts/eastern_kingdoms/zulgurub/boss_venoxis.cpp7
5 files changed, 39 insertions, 18 deletions
diff --git a/src/scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp b/src/scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp
index dcba83ab249..6a40cecacb6 100644
--- a/src/scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp
+++ b/src/scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp
@@ -270,8 +270,11 @@ struct TRINITY_DLL_DECL boss_malchezaarAI : public ScriptedAI
//damage
const CreatureInfo *cinfo = m_creature->GetCreatureInfo();
- m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, cinfo->mindmg);
- m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, cinfo->maxdmg);
+ const CreatureBaseStats *stats = ((CreatureBaseStats*)m_creature)->GetBaseStats(m_creature->getLevel(), cinfo->unit_class);
+ float mindmg = stats->GenerateMinDmg(cinfo);
+ float maxdmg = stats->GenerateMaxDmg(cinfo);
+ m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, mindmg);
+ m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, maxdmg);
m_creature->UpdateDamagePhysical(BASE_ATTACK);
}
@@ -393,15 +396,18 @@ struct TRINITY_DLL_DECL boss_malchezaarAI : public ScriptedAI
//damage
const CreatureInfo *cinfo = m_creature->GetCreatureInfo();
- m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, 2*cinfo->mindmg);
- m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, 2*cinfo->maxdmg);
+ const CreatureBaseStats *stats = ((CreatureBaseStats*)m_creature)->GetBaseStats(m_creature->getLevel(), cinfo->unit_class);
+ float mindmg = stats->GenerateMinDmg(cinfo);
+ float maxdmg = stats->GenerateMaxDmg(cinfo);
+ m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, 2 * mindmg);
+ m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, 2 * maxdmg);
m_creature->UpdateDamagePhysical(BASE_ATTACK);
- m_creature->SetBaseWeaponDamage(OFF_ATTACK, MINDAMAGE, cinfo->mindmg);
- m_creature->SetBaseWeaponDamage(OFF_ATTACK, MAXDAMAGE, cinfo->maxdmg);
+ m_creature->SetBaseWeaponDamage(OFF_ATTACK, MINDAMAGE, mindmg);
+ m_creature->SetBaseWeaponDamage(OFF_ATTACK, MAXDAMAGE, maxdmg);
//Sigh, updating only works on main attack, do it manually ....
- m_creature->SetFloatValue(UNIT_FIELD_MINOFFHANDDAMAGE, cinfo->mindmg);
- m_creature->SetFloatValue(UNIT_FIELD_MAXOFFHANDDAMAGE, cinfo->maxdmg);
+ m_creature->SetFloatValue(UNIT_FIELD_MINOFFHANDDAMAGE, mindmg);
+ m_creature->SetFloatValue(UNIT_FIELD_MAXOFFHANDDAMAGE, maxdmg);
m_creature->SetAttackTime(OFF_ATTACK, (m_creature->GetAttackTime(BASE_ATTACK)*150)/100);
}
diff --git a/src/scripts/eastern_kingdoms/zulgurub/boss_arlokk.cpp b/src/scripts/eastern_kingdoms/zulgurub/boss_arlokk.cpp
index 7cea97bb7c2..05ab5c81447 100644
--- a/src/scripts/eastern_kingdoms/zulgurub/boss_arlokk.cpp
+++ b/src/scripts/eastern_kingdoms/zulgurub/boss_arlokk.cpp
@@ -234,8 +234,11 @@ struct TRINITY_DLL_DECL boss_arlokkAI : public ScriptedAI
m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
const CreatureInfo *cinfo = m_creature->GetCreatureInfo();
- m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 35)));
- m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 35)));
+ const CreatureBaseStats *stats = ((CreatureBaseStats*)m_creature)->GetBaseStats(m_creature->getLevel(), cinfo->unit_class);
+ float mindmg = stats->GenerateMinDmg(cinfo);
+ float maxdmg = stats->GenerateMaxDmg(cinfo);
+ m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (mindmg +((mindmg/100) * 35)));
+ m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (maxdmg +((maxdmg/100) * 35)));
m_creature->UpdateDamagePhysical(BASE_ATTACK);
if (Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
diff --git a/src/scripts/eastern_kingdoms/zulgurub/boss_marli.cpp b/src/scripts/eastern_kingdoms/zulgurub/boss_marli.cpp
index e4b12ffb972..e240ae5db9a 100644
--- a/src/scripts/eastern_kingdoms/zulgurub/boss_marli.cpp
+++ b/src/scripts/eastern_kingdoms/zulgurub/boss_marli.cpp
@@ -145,8 +145,11 @@ struct TRINITY_DLL_DECL boss_marliAI : public ScriptedAI
DoScriptText(SAY_TRANSFORM, m_creature);
DoCast(m_creature, SPELL_SPIDER_FORM);
const CreatureInfo *cinfo = m_creature->GetCreatureInfo();
- m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 35)));
- m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 35)));
+ const CreatureBaseStats *stats = ((CreatureBaseStats*)m_creature)->GetBaseStats(m_creature->getLevel(), cinfo->unit_class);
+ float mindmg = stats->GenerateMinDmg(cinfo);
+ float maxdmg = stats->GenerateMaxDmg(cinfo);
+ m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (mindmg +((mindmg/100) * 35)));
+ m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (maxdmg +((maxdmg/100) * 35)));
m_creature->UpdateDamagePhysical(BASE_ATTACK);
DoCast(m_creature->getVictim(), SPELL_ENVOLWINGWEB);
@@ -185,8 +188,11 @@ struct TRINITY_DLL_DECL boss_marliAI : public ScriptedAI
{
m_creature->SetDisplayId(15220);
const CreatureInfo *cinfo = m_creature->GetCreatureInfo();
- m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 1)));
- m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 1)));
+ const CreatureBaseStats *stats = ((CreatureBaseStats*)m_creature)->GetBaseStats(m_creature->getLevel(), cinfo->unit_class);
+ float mindmg = stats->GenerateMinDmg(cinfo);
+ float maxdmg = stats->GenerateMaxDmg(cinfo);
+ m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (mindmg +((mindmg/100) * 1)));
+ m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (maxdmg +((maxdmg/100) * 1)));
m_creature->UpdateDamagePhysical(BASE_ATTACK);
PhaseTwo = false;
diff --git a/src/scripts/eastern_kingdoms/zulgurub/boss_thekal.cpp b/src/scripts/eastern_kingdoms/zulgurub/boss_thekal.cpp
index e7002673cd3..3f8b49c8970 100644
--- a/src/scripts/eastern_kingdoms/zulgurub/boss_thekal.cpp
+++ b/src/scripts/eastern_kingdoms/zulgurub/boss_thekal.cpp
@@ -185,8 +185,11 @@ struct TRINITY_DLL_DECL boss_thekalAI : public ScriptedAI
m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
m_creature->SetHealth(int(m_creature->GetMaxHealth()*1.0));
const CreatureInfo *cinfo = m_creature->GetCreatureInfo();
- m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 40)));
- m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 40)));
+ const CreatureBaseStats *stats = ((CreatureBaseStats*)m_creature)->GetBaseStats(m_creature->getLevel(), cinfo->unit_class);
+ float mindmg = stats->GenerateMinDmg(cinfo);
+ float maxdmg = stats->GenerateMaxDmg(cinfo);
+ m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (mindmg +((mindmg/100) * 40)));
+ m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (maxdmg +((maxdmg/100) * 40)));
m_creature->UpdateDamagePhysical(BASE_ATTACK);
DoResetThreat();
PhaseTwo = true;
diff --git a/src/scripts/eastern_kingdoms/zulgurub/boss_venoxis.cpp b/src/scripts/eastern_kingdoms/zulgurub/boss_venoxis.cpp
index 3b094b74b1e..5ea03ab4615 100644
--- a/src/scripts/eastern_kingdoms/zulgurub/boss_venoxis.cpp
+++ b/src/scripts/eastern_kingdoms/zulgurub/boss_venoxis.cpp
@@ -148,8 +148,11 @@ struct TRINITY_DLL_DECL boss_venoxisAI : public ScriptedAI
DoCast(m_creature, SPELL_SNAKE_FORM);
m_creature->SetFloatValue(OBJECT_FIELD_SCALE_X, 2.00f);
const CreatureInfo *cinfo = m_creature->GetCreatureInfo();
- m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 25)));
- m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 25)));
+ const CreatureBaseStats *stats = ((CreatureBaseStats*)m_creature)->GetBaseStats(m_creature->getLevel(), cinfo->unit_class);
+ float mindmg = stats->GenerateMinDmg(cinfo);
+ float maxdmg = stats->GenerateMaxDmg(cinfo);
+ m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (mindmg +((mindmg/100) * 25)));
+ m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (maxdmg +((maxdmg/100) * 25)));
m_creature->UpdateDamagePhysical(BASE_ATTACK);
DoResetThreat();
PhaseTwo = true;