![]() |
|
#5
|
|||
|
Unless the p1999 folks changed something this is the piece of code from eqemu where the modifier is checked.
// this doesn't actually need to be a song to get mods, just the right skill if (EQEmu::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) { int oval = effect_value; int mod = ApplySpellEffectiveness(caster, spell_id, instrument_mod, true); effect_value = effect_value * mod / 10; Log.Out(Logs:[You must be logged in to view images. Log in or Register.]etail, Logs::Spells, "Effect value %d altered with bard modifier of %d to yeild %d", oval, mod, effect_value); } int32 Mob::ApplySpellEffectiveness(Mob* caster, int16 spell_id, int32 value, bool IsBard) { // 9-17-12: This is likely causing crashes, disabled till can resolve. if (IsBard) return value; ... } So it appears that if it's a bard the instrument_mod value is just passed back and then calculations are performed on that... effect_value * mod / 10 (21 / 10 = 2.1) Perhaps a deeper dive than needed but I thought it was interesting. | ||
|
|
|||
|
|