mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-16 22:58:34 +00:00
Implemented SPA 482 SE_Skill_Base_Damage_Mod (#1474)
* Implemented SPA 482 SE_Skill_Base_Damage_Mod Implemented SPA 482 SE_Skill_Base_Damage_Mod Modifies base melee damage by skill Base: pct Limit: skill(-1=ALL), max: none * Update spell_effects.cpp fix to remove unknown spa message
This commit is contained in:
@@ -1177,6 +1177,17 @@ void Mob::ApplyAABonuses(const AA::Rank &rank, StatBonuses *newbon)
|
||||
break;
|
||||
}
|
||||
|
||||
case SE_Skill_Base_Damage_Mod: {
|
||||
// Bad data or unsupported new skill
|
||||
if (base2 > EQ::skills::HIGHEST_SKILL)
|
||||
break;
|
||||
if (base2 == ALL_SKILLS)
|
||||
newbon->DamageModifier3[EQ::skills::HIGHEST_SKILL + 1] += base1;
|
||||
else
|
||||
newbon->DamageModifier3[base2] += base1;
|
||||
break;
|
||||
}
|
||||
|
||||
case SE_SlayUndead: {
|
||||
if (newbon->SlayUndead[1] < base1)
|
||||
newbon->SlayUndead[0] = base1; // Rate
|
||||
@@ -2323,6 +2334,19 @@ void Mob::ApplySpellsBonuses(uint16 spell_id, uint8 casterlevel, StatBonuses *ne
|
||||
break;
|
||||
}
|
||||
|
||||
case SE_Skill_Base_Damage_Mod:
|
||||
{
|
||||
// Bad data or unsupported new skill
|
||||
if (base2 > EQ::skills::HIGHEST_SKILL)
|
||||
break;
|
||||
int skill = base2 == ALL_SKILLS ? EQ::skills::HIGHEST_SKILL + 1 : base2;
|
||||
if (effect_value < 0 && new_bonus->DamageModifier3[skill] > effect_value)
|
||||
new_bonus->DamageModifier3[skill] = effect_value;
|
||||
else if (effect_value > 0 && new_bonus->DamageModifier3[skill] < effect_value)
|
||||
new_bonus->DamageModifier3[skill] = effect_value;
|
||||
break;
|
||||
}
|
||||
|
||||
case SE_MinDamageModifier:
|
||||
{
|
||||
// Bad data or unsupported new skill
|
||||
@@ -4242,6 +4266,18 @@ void Mob::NegateSpellsBonuses(uint16 spell_id)
|
||||
break;
|
||||
}
|
||||
|
||||
case SE_Skill_Base_Damage_Mod:
|
||||
{
|
||||
for (int e = 0; e < EQ::skills::HIGHEST_SKILL + 1; e++)
|
||||
{
|
||||
spellbonuses.DamageModifier3[e] = effect_value;
|
||||
aabonuses.DamageModifier3[e] = effect_value;
|
||||
itembonuses.DamageModifier3[e] = effect_value;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
case SE_MinDamageModifier:
|
||||
{
|
||||
for (int e = 0; e < EQ::skills::HIGHEST_SKILL + 1; e++)
|
||||
|
||||
Reference in New Issue
Block a user