Mangos 10793 - 10834
Code:
Fixed build problems for vc90 after recent vmaps dir move.

VC80/VC100 not affected by this.
Player.h expected DBCStores.h including.

So make it direct.
I must less press random buttons before push in monkey mode.
Use regular map case in all trigger checks.
Check for valid sheath state in creature addon at startup.
Some more warning fixes related to BattleGroundTeamIndex/BattleGroundAVTeamIndex.
Add GetGuidStr() short call for GetObjectGuid().GetString() and use it.
Use ObjectGuid in some battleground structures.

Also fix some catches bugs in code in result.
More ObjectGuid uses in battleground code.
Use ObjectGuid in Mail code.

Some catched bugs fixed in mixed uint32/guid values using cases.
Use ObjectGuid in player loading code.
Restore build at *nix.
Remove code duplication in visibility distance check.

at_same_transport already include player checks at assign and
it move to common if make 3 distance cases exactly same.
Fixed typo in m_PrematureCountDownTimer initila value set.

Just fo note: in fact initial value assign not used because
m_PrematureCountDownTimer always init and used only in case
m_PrematureCountDonw == true
Typo fix and memory layout optimization.
Small cleanup and optimization in transport current point update.
Remove diplicate World::GetQueueSize and rename functions to consistence naming
More ObjectGuids specially in petition code.

Some uint64<->uin32 bugs fixed at read guids from DB in petition code.

Still exist 29 GUID_LOPART uses in code.
Use ObjectGuids in chat commands.

Still exist 15 GUID_LOPART uses in code.
Use ObjectGuid for corpse owner guid.

Still exist 9 GUID_LOPART uses in code.
Use ObjectGuid for aura holder cast item guid.

Still exist 7 GUID_LOPART uses in code.
Convert to ObjectGuid aura cast item guid access function.
Use in social lists API ObjectGuid form.

0 GUID_LOPART uses in code. :)
Remove GUID_LOPART/GUID_HIPART

* Now no correct way access to internal structure of guid in uint64 form.
  For this always must be used ObjectGuid form.
* Guids in uint64 form still used in some cases (many) but it uses as-is
  Main source of uint64 guids is non-converted opcode handlers.
* Also ofc, possible cases wrong created uint64 guids by assign uint32 to uint64.
  For catch all cases need finish convertion to ObjectGuid all non-converted yet code.
Add explicit include for ObjectGuid.h in AchievementMgr.h.
Add dummy effect of spell 47170
Fixed creature's speed recalculation, forgotten DB speed mods are used now

Also properly update speeds at creature entry change(in case there are aura speed bonuses), thanks to Vladimir for pointing
Speedup and cleanup quest counters update code.

* Always use QuestStatus data for current counters set
  This let be sure that that we not have non sync values in client view and server state.
* Remove some access functions for quest update fields that expected to be only updated/set.
Restore anti-cheating check work at buy item
Fixed "unsigned is never < 0" warning.
Clear way access/set UNIT_FIELD_BYTES_*/PLAYER_BYTES* byte fields.

Fix some bugs when all uint32 field modified instead byte parts.
In some cases added byte way set/get but code line itself need additinal reserch/fix
for use correctness in line pos.
Fixed copy-paste typo in prev. commit.
Move specific SQLStorage defines to game dir

This let have in shared dir only generic declarations of class SQLStorage
Not game specific details.
Fix vmap_assembler compilation after vmap folder move

Also make vmap_assembler compile sucessfuly with VC80.
Add VC80 projects and solutions files where missing like vmap_extractor
Fix warnings for TBB projects compilation using Visual Studio 10

Also fix a small typo in prev commit.
Update SpellFamily check functions.

* Move SPELLFAMILY_* to DBCEnums.h and name it as SpellFamily
* Use enum in Unit::GetAura, move family mask code to new SpellEntry helper function.
* Avoid all auras scan in search of triggred spell for 20243.
 Prevent spell_proc_event entries to proc on any spell cast when SpellFamilyName is zero.

Now only spells that actually deal damage or heal will trigger
when neither SpellFamilyName nor ProcEx & PROC_EX_EX_TRIGGER_ALWAYS are set.
Before, setting a SchoolMask would override this check, causing many bogus procs.
Fixed crash at send mail from console

Inspired by patch from rsa.
Spawn pool at aura 63471 dispel in water.
Avoid use unsafe remove auras in aura apply code.

Specailly example Aura::HandleModCharm code where old code
call RemoveSpellsCausingAura or (a) dead and not called,
or (b) will remove aura self at call.

* Added safe for aura holder context version of RemoveSpellsCausingAura
* Cleanup old simple RemoveSpellsCausingAura code also.
 Cleanup shapeshift form code.
YTDB 355
Code:
+ all fixes from forum
+ fix spawn
+ quest scripts
+ mob's gossip menus
+ new templates from WDB
+ processed 46 caches (4.0.1)