* [Quest API] Add Caster ID Parameter to FindBuff in Perl/Lua
# Perl
- Add `$mob->FindBuff(spell_id, caster_id)`.
# Lua
- Add `mob:FindBuff(spell_id, caster_id)`.
# Notes
- Allows operators to check if the spell ID is cast by a specific entity ID.
- We don't use `Mob*` reference here since the mob may have died, left zone, etc.
* Formatting.
# Notes
- Entities killed by a spell with #cast were not reporting their pre-death entity ID properly.
- Added an `entity_id_override` to `GetTargetDescription()` and added a pre-defined entity ID variable to the cast command so we can message the proper pre-death entity ID.
# Notes
- Allows operators to modify the level gap penalty and level gap required for the penalty for defensive procs' level gap penalty.
- Setting `Spells:DefensiveProcPenaltyLevelGap` to `-1` will disable the penalty.
This is just the packet framework for the Scribe button on recipe books
and the Cast Spell button on books that allow casting spells on
targets. It will need to be hooked up to a content implementation
* -Always load AAs beyond our current expansion (Will need this for refunding invalid AAs).
-AAs beyond our current expansion will no longer be buyable or sendable to clients.
* #reload aa will now reload character aa data.
* Base Implementation of auto grant AA
* -Add DB manifest entry
-Made has already purchased fn a bit better
-Added auto grant to db entry
* -Added grantaa command.
-Reworked grantaa to not spam the client with packets, it still does spam messages because the feedback is important.
* Port suggested changes for Finish AA purchase.
---------
Co-authored-by: KimLS <KimLS@peqtgc.com>
* [Instances] Refine id selection
Since the IDs start above the minimum, we needed to check if the first slot was available.
* Remove else by returning early, add validation before accessing row
---------
Co-authored-by: Akkadius <akkadius1@gmail.com>
* [Instances] Honor reserved instances
Logic to select next available instance id was incorrect.
The correct logic selected the max id + 1 or max reserved + 1, but then it would overwrite if we enabled recycling ids.
Additionally, it was incrementing the reserved ids and assigning ids to the max reserved id vice the next available.
Finally, it was running the logic twice.
* Fix updated SQL to use fmt
* [Charm] Fix to update target windows on charm on/off
* Removed accidental change
* Removed magic #
* reformated brace style in function that was modified
* Use better names for clear variables
* Forgot header with name change
* More header name changes
* [Feature] Change #reload zone to reload zone headers globally.
# Notes
- This allows operators to globally reload zone headers without going to every zone individually to do so.
* Update worldserver.cpp
* Update worldserver.cpp
* [Feature] Add adjustability for AERampage Range.
This functionality is needed for fights like Ture to be accurate, where their ramp range was 101% of their melee safe range.
Example in lua of utilizing this scripting
```
e.self:SetSpecialAbilityParam(SpecialAbility.area_rampage,8,101;
```
* Updates to address comments
* [Bug Fix] Bots will now load AAs properly when spawned.
* formatting
* formatting
* formatting
* formatting
* formatting (for real this time)
* formatting (for real this time)
* Formatting