Fix last commit ....

This commit is contained in:
Michael Cook 2013-11-13 18:04:11 -05:00
parent d094a09ded
commit 23ab896dfc
5 changed files with 49 additions and 13 deletions

View File

@ -3,6 +3,7 @@ EQEMu Changelog (Started on Sept 24, 2003 15:50)
== 11/13/2013 ==
demonstar55: Implemented bard song effect cap. You can set the base cap with the rule Character:BaseInstrumentSoftCap, defaults to 36 or "3.6" as it is sometimes referred to.
demonstar55: Fix Echo of Taelosia and Ayonae's Tutelage to increase the mod cap instead of further improving the instrument mod
demonstar55: Implemented Singing/Instrument Mastery as an AA bonus.
== 11/11/2013 ==
demonstar55: Changed the way walk speed is calculated to allow mobs to have their walk speed equal a 100% movement reduction

View File

@ -404,7 +404,7 @@ typedef enum {
#define SE_PetDiscipline 257 // not implemented as bonus - /pet hold
#define SE_TripleBackstab 258 // implemented[AA] - chance to perform a triple backstab
#define SE_CombatStability 259 // implemented[AA] - damage mitigation
#define SE_AddSingingMod 260 // *not implemented
#define SE_AddSingingMod 260 // implemented[AA] - Instrument/Singing Mastery, base1 is the mod, base2 is the ItemType
//#define SE_Unknown261 261 // not used
#define SE_RaiseStatCap 262 // implemented
#define SE_TradeSkillMastery 263 // implemented - lets you raise more than one tradeskill above master.

View File

@ -874,6 +874,26 @@ void Client::ApplyAABonuses(uint32 aaid, uint32 slots, StatBonuses* newbon)
case SE_CombatStability:
newbon->CombatStability += base1;
break;
case SE_AddSingingMod:
switch (base2)
{
case ItemTypeWindInstrument:
newbon->windMod += base1;
break;
case ItemTypeStringedInstrument:
newbon->stringedMod += base1;
break;
case ItemTypeBrassInstrument:
newbon->brassMod += base1;
break;
case ItemTypePercussionInstrument:
newbon->percussionMod += base1;
break;
case ItemTypeSinging:
newbon->singingMod += base1;
break;
}
break;
case SE_PetCriticalHit:
newbon->PetCriticalHit += base1;
break;
@ -2231,6 +2251,27 @@ void Mob::ApplySpellsBonuses(uint16 spell_id, uint8 casterlevel, StatBonuses* ne
newbon->CombatStability += effect_value;
break;
case SE_AddSingingMod:
switch (spells[spell_id].base2[i])
{
case ItemTypeWindInstrument:
newbon->windMod += effect_value;
break;
case ItemTypeStringedInstrument:
newbon->stringedMod += effect_value;
break;
case ItemTypeBrassInstrument:
newbon->brassMod += effect_value;
break;
case ItemTypePercussionInstrument:
newbon->percussionMod += effect_value;
break;
case ItemTypeSinging:
newbon->singingMod += effect_value;
break;
}
break;
case SE_PetAvoidance:
newbon->PetAvoidance += effect_value;
break;

View File

@ -1813,6 +1813,7 @@ uint16 Mob::GetInstrumentMod(uint16 spell_id) const {
effectmod = itembonuses.percussionMod;
else
effectmod = spellbonuses.percussionMod;
effectmod += aabonuses.percussionMod;
break;
case SkillStringedInstruments:
if(itembonuses.stringedMod == 0 && spellbonuses.stringedMod == 0)
@ -1823,6 +1824,7 @@ uint16 Mob::GetInstrumentMod(uint16 spell_id) const {
effectmod = itembonuses.stringedMod;
else
effectmod = spellbonuses.stringedMod;
effectmod += aabonuses.stringedMod;
break;
case SkillWindInstruments:
if(itembonuses.windMod == 0 && spellbonuses.windMod == 0)
@ -1833,6 +1835,7 @@ uint16 Mob::GetInstrumentMod(uint16 spell_id) const {
effectmod = itembonuses.windMod;
else
effectmod = spellbonuses.windMod;
effectmod += aabonuses.windMod;
break;
case SkillBrassInstruments:
if(itembonuses.brassMod == 0 && spellbonuses.brassMod == 0)
@ -1843,6 +1846,7 @@ uint16 Mob::GetInstrumentMod(uint16 spell_id) const {
effectmod = itembonuses.brassMod;
else
effectmod = spellbonuses.brassMod;
effectmod += aabonuses.brassMod;
break;
case SkillSinging:
if(itembonuses.singingMod == 0 && spellbonuses.singingMod == 0)
@ -1851,24 +1855,13 @@ uint16 Mob::GetInstrumentMod(uint16 spell_id) const {
effectmod = itembonuses.singingMod;
else
effectmod = spellbonuses.singingMod;
effectmod += aabonuses.singingMod;
break;
default:
effectmod = 10;
break;
}
// TODO: These shouldn't be hardcoded.
if(spells[spell_id].skill == SkillSinging)
{
effectmod += 2*GetAA(aaSingingMastery);
effectmod += 2*GetAA(aaImprovedSingingMastery);
}
else
{
effectmod += 2*GetAA(aaInstrumentMastery);
effectmod += 2*GetAA(aaImprovedInstrumentMastery);
}
// TODO: These shouldn't be hardcoded.
effectmodcap += GetAA(aaAyonaesTutelage);
effectmodcap += GetAA(aaEchoofTaelosia);

View File

@ -2733,6 +2733,7 @@ bool Mob::SpellEffect(Mob* caster, uint16 spell_id, float partial)
case SE_ImprovedBindWound:
case SE_MaxBindWound:
case SE_CombatStability:
case SE_AddSingingMod:
case SE_PetAvoidance:
case SE_GiveDoubleRiposte:
case SE_Ambidexterity: