[12437] Implement spell 24324
Change default reaction on aggro for non-combat movement mobs

This will prevent npcs with non-combat-movement to interrupt (scripted) in-combat movement when AttackStart is called
[12438] Limit targets of spell 10258

Also add positive exception for this one
[12439] Implement spells 19869 and 20037

Also add stacking exception for spells 19832 and 23014
[12440] Add support for condition_id to spell_area table

Add a new column `condition_id` to table `spell_area`
This column is intended to replace the columns
- quest_start
- quest_start_active
- quest_end
- racemask
- gender

Attention DB-Devs: A tool for convertion will be linked in the comments :)
Final removal of these no more required columns will be done after some time, so that you can adapt and provide UPDATE support for this change :)

Also simplify and gernalize the apply/remove code for these spell-area auras
SQL-Changes for spell_area.condition_id

Add first step of spell_area.conditionId

Add second step of spell_area.conditionId

This removes caching by quest_id
This will be slightly slower, but only expected in case of quest-accept/remove cases.

Some improvements and generalisations
[12441] Add condition_id support to npc_spellclick_spells

The new condition_id column is intended to replace these columns:
- quest_start
- quest_start_active
- quest_end
[12442] Reorder handling in Creature::SetDeathState(JUST_ALIVE) case

This will behave more logical in case of root/stunn or similar auras which are to be loaded by _addon tables
[12443] Prevent annoying client freezes

It appears it is possible for the client freezes if movement of stunned mobs is sent (combined flags of SPLINE_ENABLED and SPLINE_ROOTED).
This fix cannot be considered proper, but there should be no sideeffects.

HUGE thanks for kid10 figuring the source of some of these freezes by manually testing individual commits.
Unexpected source(*) is [12225] (ec6772948572f304f97e956c83cb34b2)

(*) Well, the thing that made these freezes visual... - I consider these source to be older and much better hidden!
[12444] Remove dropped SingletonImpl.h file from VC project files
[12445] Add const Group member iteration
[12446] Implement CONDITION_DEAD_OR_AWAY

Usage of value1:
* 0: return true if player is dead (or NULL)
* 1: return true if all members of player's group is dead (or no player)
* 2: return true if all players in an instance are dead
* 3: return true if the source-creature is dead
Usage of value2:
  if value2 is provided, then this is taken as range. if the player is outside of this range the condition returns true as well
[12447] Implement SCRIPT_COMMAND_TERMINATE_COND

This command is used to terminate a script execution based on a condition (from `conditions` table)
* datalong = condition_id
* datalong2 = fail-quest
* data_flags & SCRIPT_FLAG_COMMAND_ADDITIONAL terminate when condition is false. ELSE(normal case) terminate when condition is true
[12448] Fix typo. Thanks also to vladimir for pointing

Signed-off-by: Schmoozerd <schmoozerd@cmangos>
[12449] Fix send-speed opcode sending

SMSG_FORCE_*_SPEED_CHANGE is only sent to the player whose speed changes
Also it appears that the other MSG_MOVE_SET_*_SPEED/RATE should be wrapped into SMSG_COMPRESSED_MOVES (not yet implemented)

Thanks to lyn for pointing to the problem, and researching it down to these opcode sendings as well as testing
[12450] Implement new TempSummon types

* Add TEMPSUMMON_TIMED_OR_DEAD_DESPAWN to remove a creature after a time or when it despawns
* Add TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN to remove a creature after a time or when it died
[12451] Implement virtual void HealedBy
[12452] Implement some spells for Black Temple

Dummy spells 40869, 41333 and add stacking exception for entries 40401, 40447, 39908 and 40017
[12453] Fix Claw Rage spells

This will provide proper target for spell 43149 and will implement dummy aura 42583
[12454] Implement spell 33676
[12455] Simplify use of CombatReach