this is done by this script:
ack -c "World.h" | ack :1 | sed 's/:1//' | xargs grep -c sWorld | grep :0 | sed 's/:0//' | xargs sed -i '/#include "World.h"/d'
i didn't checked every change but gcc haven't complained
1) comparison singed and unsigned values
2) redundent includes
3) wrong constructor :-part field initilization
4) unused not-/*name*/-guarded args in template/virtual functions that not required like args.
5) explicitly list not implemented achievement types.
Also bugs fixed:
1) Drop wrong phase mask 0 check in WorldObject::InSamePhase.
2) ArenaTeamMember::ModifyPersonalRating incorrect work with move points in negative with infinity values in result.
3) ArenaTeam::SaveToDB code send uint64 value to string with arg format %u.
Also disable incorrect used vanity pets/currences/quest items special slotes. All items in its will be send by mail to characters at re-login.
Fixed code for item stacks operations with size > 255.
Implemented ACHIEVEMENT_CRITERIA_TYPE_BUY_BANK_SLOT
Fixed SMSG_CRITERIA_UPDATE structure
Implemented parts of ACHIEVEMENT_CRITERIA_TYPE_REACH_LEVEL - there are still some unknown additional conditions for this criteria type
Fixed sAchievementStore lookup errors caused by an invalid DBCfmt