[Spells] Update to how Bard Instrument mods are applied to spell effects (#1628)

* new instrument mod spell effect checks

PR split

* format

* Update spdat.cpp

correction, all direct damage spells get modifiers. Made a mistake with the parse, was using wrong mod.

* restriction changes

cure effects can be modified.
decided to keep a list of known effects that are not modified to return false. and will keep the default to be true for anything as to not inhibit custom bard song development

* SE_ProcChance is modified

* Update spdat.cpp

* update

* Update spell_effects.cpp
This commit is contained in:
KayenEQ
2021-10-24 17:07:25 -04:00
committed by GitHub
parent c98f3cfb4c
commit 0b18671e91
3 changed files with 97 additions and 10 deletions
+3 -10
View File
@@ -3360,16 +3360,9 @@ int Mob::CalcSpellEffectValue(uint16 spell_id, int effect_id, int caster_level,
effect_value = CalcSpellEffectValue_formula(formula, base, max, caster_level, spell_id, ticsremaining);
// this doesn't actually need to be a song to get mods, just the right skill
if (EQ::skills::IsBardInstrumentSkill(spells[spell_id].skill) &&
spells[spell_id].effectid[effect_id] != SE_AttackSpeed &&
spells[spell_id].effectid[effect_id] != SE_AttackSpeed2 &&
spells[spell_id].effectid[effect_id] != SE_AttackSpeed3 &&
spells[spell_id].effectid[effect_id] != SE_Lull &&
spells[spell_id].effectid[effect_id] != SE_ChangeFrenzyRad &&
spells[spell_id].effectid[effect_id] != SE_Harmony &&
spells[spell_id].effectid[effect_id] != SE_CurrentMana &&
spells[spell_id].effectid[effect_id] != SE_ManaRegen_v2 &&
spells[spell_id].effectid[effect_id] != SE_AddFaction) {
if (EQ::skills::IsBardInstrumentSkill(spells[spell_id].skill)
&& IsInstrumentModAppliedToSpellEffect(spell_id, spells[spell_id].effectid[effect_id])){
int oval = effect_value;
int mod = ApplySpellEffectiveness(spell_id, instrument_mod, true, caster_id);