* Load table data to std::map instead SQLStorage and add check loaded spell existance.
* Drop from table not existed spells.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
* Added a new SQL table, spell_proc_item_enchant, for "custom" ppmRates on Item Enchants that do not use auras.
With table data this must fix ppm for effect from 8033 and ranks enchanting, and item 6947/10918 and ranks enchanting.
* Implemented SPELLMOD_FREQUENCY_OF_SUCCESS (26).
That must fix work talent 14113, spell 32645 with ranks, glyph 41094 and item set effect 64917 in frequency part.
Thanks to MaS0n as author alternative patch that partly used in this patch.
Thanks to Thenecromancer as author alternative patch that ideas inspire MaS0n's patch writing and then this patch also.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
Note: mindmg/maxdmg in creature_template expected including attackpower part in its.
attackpower field only show part of attackpower not affected by AP multiplier.
Thanks also to Seizer for take part in reseach and patch review.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
* Implement DoT apply for 47897 and ranks.
* Implement propertly aura state update at add/remove 47897/348 and ranks
* Update checks for 29722 and ranks for bonus damage
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
* Fixed place, basic dependent from 2 auras type at target and damage calculation.
* Avoid double apply spell bonus from original effect and talent self.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This is first patch in series for resolve all problem suggested by different authors.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
After switch to 3.x.x all data get explcitly from ClassMask fields in spell.dbc
and no need in custom values.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
Note: for avoid double counting must be removed C++ scripts and EventAI scripts that do same thing in old way.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
Also implement KillCreditN field check at loading.
* Apply SPELL_AURA_MOD_MECHANIC_DAMAGE_TAKEN_PERCENT in melee binus for special attacks
* In damage calulcation spell 5221 and ranks considered have MECHANIC_BLEED.
* Drop more dead code related to 33878/33876 and ranks.
* Table expected to be store data mirror same data in code:
- explicit spell ids with related expected spell properties like effects, spell family or auras
- implicit requirements for select some spell sets like spell family masks, icons or visual values
* For check can be used .debug spellcheck _console_ only command.
* Main purpose table and related command check code parts for outdated data at client switch.
It also can be used for check data in patch writing time to be sure code correctness.
* Some fixes added for used UDB data base at not applied old mangos sql update and drop some wrong data.
* Primary key added to avoid button duplicates for (race,class) pair.
* This update expected to fix recently problems with empty action bars for new created characters
Note: This sql update not affect existed characters.
Old version break stored action spell ids, but this is not critical damage so
restore data at applied damage not done in fix. But it will fix errors at new characters creating.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
* Propertly work with uint32 spell ids in player action bar
* Fix in same time bug with not save equipment set button with id==0
* Merge misc field in character_action and playercreateinfo_action to action field as 3 byte
* Propertly load uint32 spell ids from character_spell
* Fixed types for some pet/creature related structure for spell id storing.
Adds new fields gender, level, xp, money, playerBytes, playerBytes2 and playerFlags to characters table.
The update will not work if your database contains characters with an old data field (not fitting to the actual client version).
It's recommended to backup your character database before applying this patch.
Signed-off-by: hunuza <hunuza@gmail.com>
Real query added. In fact this queary only need if your npc_trainer table have unfixed yet
outdated spell 64904. In other case it work in same way as old empty sql update version.
* Replace 64904 by 64901 in spellbook and action bars.
* Implement proper max mana percent buff
* Implement proper target selection.
* Move group/raid targets seelction code to functions for reuse code.
* New fields in `npc_spellclick_spells` for allow set npc spell click mode from quest to infinity
or to another quest, or from reward quest.
* Not expect (and forbid set UNIT_NPC_FLAG_SPELLCLICK in DB and set it at `npc_spellclick_spells` loading.
* Apply some speedups for creature checks affected by spel click state
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
* Also implement this table reload
* Static Spell::SendCastResult function for call not from spell code.
Can be also used in scripts where need send explicitly spell cast error to client.