Fixed use AP dynamic mods (bonuses from stats)
Apply ITEM_MOD_ATTACK_POWER for ranged AP
Implement feral AP from weapon dps for druids
Signed-off-by: DiSlord <dislord@nomail.com>
* Now player can join to BG after logout during 5 minutes, if BG in progress.
* All players after server crash or restart should appear at the battlemaster
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
* Load homebind data early in Player::LoadFromDB and use instead initital race points
in cases need some safe point if current coordinate broken by some reason.
* Store BG entry point in to WorldLocation and simplify calls.
* Set bg entry point at GM teleports to battleground for correct
auto-recall position at battleground end.
* Replace max bg type checks by DBC valid index check
* Use in functions and fields BattlegroundTypeId type instead uint32
* Fixed wrong use bg queue ids instead bg type ids in queue update/remove function calls.
Many bg have same raw values for type id and queue id but some can be affected by this bug:
BATTLEGROUND_EY, BATTLEGROUND_SA, and all areans (with small arena/team size exceptions)
* Move Battlemaster to bg type ids map fron ObjectMgr to BatteleGroundMgr.
* Remobe redundent for header itself includes for BG headers.
* Use Auction location enum instead raw valus.
* Store phase mask for creatures/gameobjects/corpse in DB
* Propertly set phase for summoned creatures/gameobjects/pets/corpses/spell related dynobjects
* Select proper phase for spawned creature/gameobjects and save it in DB
TODO: in game commands.
* Use WorldObject phase mask field instead explicit aura scan. This allow have phase for any world objects.
* Add phase checks to packet broadcasters/object searchers. This let correctly work say/yell/area
and multi/random target spells/aggro assistance in phased areas or target selection.
* In GM-mode character presense (see and visible) in all phases except normal visibility efects including GM-visibility.
TODO: summoned objects phase set base at owner phase, load phase mask for creatures/gameobjects from DB, in game commands.
* Allow use spell shift-link in .aura and .unaura commands
* Drop commented code and update .reset level command for support DK case.
Also command for other classes will reset leve not to 1 but to config starting level value
Case description: Spell save fail at attempt save into `character_spell` "new" spell loaded from DB
with exactly same settings after it learned from spell cast triggered by loading another spell from DB.
Reapeatable for shamans with known talent 16268.
Also speedup code with remove redundent Player::_removeSpell function.
* Fixed profession unlearn using skill unlearn button in skill list
* Update action bar to spell low rank at unlearn spell only for .unlearn command.
This will avoid show unexpected "Learned spell" chat message for low rank at unlearing
high rank and at all ranks unlearning.
* Support Htrade shift link (it created by client at click by crafting profession spell icon in spellbook)
in spell comands.
* Support "all" second arg for .learn for learning not provided spell id but it's all ranks.
* Drop support range for .unlearn command but support instead "all" second arg for unlearn not specific spell id but it's all ranks.
* In .list auras output print spell names as shift links for better readable view.
* Add to beggining Chat.cpp lists all supported by commands shift-links (client generated and server-side)
* Mark spells learned in result character creating, another spell learning, skill grow,
quest reward as dependent and not store its in `character_spell`.
* Prevent re-learning known spell in expected state
* Prevent re-learning low rank spell as active if higher rank known.
* New type of non-stacked ranked spells check: skill dependent spell bonuses.
* Activate (show propetly and cast if need) lesser spell rank
for non-stackable in spellbooks spells at unlearn high rank
* Heroic mode player amount for instances in DB. Can be used for any instances but added for heroic raid instance.
* Output transfer error at max playrs limit.
* FIXME notes ;) for raid required implementing store 2 reset time and do global reset for 2 modes. But currently raid have inmmap entry data
same reset time for both cases.
* Update instances list where mounts allowed.
* Simplify and fix code for SMSG_RAID_INSTANCE_INFO.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
* Replace reqClass by reqSkillVlaue field in `skill_discovery_template`
and check expected skill points amount for specific reipe discovery.
* Add new `spell_loot_template` loot table for store item selection data for spells.
At this moment for expclicit recipes discovery spells.
* Code cleanups.