mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-19 13:28:25 +00:00
[Spells] Implemented SPA 476 SE_Weapons_Stance and Live-like AA Enable/Disable Toggle (#1477)
* Work started on SPA 476 defines * bonus structure add bonus structure set up * updates spa476 updates spa476 * spell bonus now functional spell bonus working well. * major update with debug messages aa, item and spell now working * Pre clean up, effect implemented working for AA, spells, items, all checked for stacking issues. * removed debug messages removed debug messages * spdat description added spdat description added * minor fix removed debug shout removed unneeded code check. * syntax updates, minor fixes syntax updates, minor fixes * syntax fixes syntax fixes * improvements to code moved function to check at swap item. Easier to manage and more live like behavior. Required minor adjustment Still working on AA toggle. * updates to aa buy, functionalish * Syntax / Formatting * Add break / default to switch * updates * completed v2 * Major revisions Main function check moved to when items are swapped and out of when ever bonus are recalculated. AA Toggle and data structure now more accurate to live. * Update aa.cpp * debug removed * implemented SE_Buy_AA_Rank Closer to live. * Update aa.cpp broadening AA toggle to be more general use. * improved various checks aa toggle is now broadly implemented to be usable with any passive effect. Co-authored-by: Akkadius <akkadius1@gmail.com>
This commit is contained in:
+20
-1
@@ -2950,6 +2950,13 @@ bool Mob::SpellEffect(Mob* caster, uint16 spell_id, float partial, int level_ove
|
||||
break;
|
||||
}
|
||||
|
||||
case SE_Weapon_Stance: {
|
||||
if (IsClient()) {
|
||||
CastToClient()->ApplyWeaponsStance();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case SE_PersistentEffect:
|
||||
MakeAura(spell_id);
|
||||
break;
|
||||
@@ -3229,6 +3236,7 @@ bool Mob::SpellEffect(Mob* caster, uint16 spell_id, float partial, int level_ove
|
||||
case SE_AddExtraAttackPct_1h_Primary:
|
||||
case SE_AddExtraAttackPct_1h_Secondary:
|
||||
case SE_Skill_Base_Damage_Mod:
|
||||
case SE_Buy_AA_Rank:
|
||||
|
||||
{
|
||||
break;
|
||||
@@ -4359,6 +4367,17 @@ void Mob::BuffFadeBySlot(int slot, bool iRecalcBonuses)
|
||||
}
|
||||
}
|
||||
|
||||
case SE_Weapon_Stance:
|
||||
{
|
||||
/*
|
||||
If we click off the spell buff (or fades naturally) giving us
|
||||
Weapon Stance effects it should remove all associated buff.
|
||||
*/
|
||||
if (weaponstance.spellbonus_buff_spell_id) {
|
||||
BuffFadeBySpellID(weaponstance.spellbonus_buff_spell_id);
|
||||
}
|
||||
weaponstance.spellbonus_enabled = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6585,7 +6604,7 @@ bool Mob::TryDivineSave()
|
||||
}
|
||||
}
|
||||
|
||||
SpellOnTarget(4789, this); //Touch of the Divine=4789, an Invulnerability/HoT/Purify effect
|
||||
SpellOnTarget(SPELL_TOUCH_OF_THE_DIVINE, this); //Touch of the Divine=4789, an Invulnerability/HoT/Purify effect
|
||||
SendHPUpdate();
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user