internal GameSpellListener(WorldServer world) : base(world)
 {
     EventHandler.RegisterEvent <SpellDamageInfo>(EventHandler.GlobalDispatcher, GameEvents.ServerDamageDone, OnSpellDamageDone);
     EventHandler.RegisterEvent <SpellHealInfo>(EventHandler.GlobalDispatcher, GameEvents.ServerHealingDone, OnSpellHealingDone);
     EventHandler.RegisterEvent <Unit, SpellInfo, SpellProcessingToken>(EventHandler.GlobalDispatcher, GameEvents.ServerSpellLaunch, OnServerSpellLaunch);
     EventHandler.RegisterEvent <Unit, Unit, SpellInfo, SpellMissType>(EventHandler.GlobalDispatcher, GameEvents.ServerSpellHit, OnServerSpellHit);
     EventHandler.RegisterEvent <Player, Vector3>(EventHandler.GlobalDispatcher, GameEvents.ServerPlayerTeleport, OnServerPlayerTeleport);
     EventHandler.RegisterEvent <Player, SpellCooldown>(EventHandler.GlobalDispatcher, GameEvents.ServerSpellCooldown, OnServerSpellCooldown);
 }
 internal GamePlayerListener(WorldServer world) : base(world)
 {
     EventHandler.RegisterEvent <Player, UnitMoveType, float>(GameEvents.ServerPlayerSpeedChanged, OnPlayerSpeedChanged);
     EventHandler.RegisterEvent <Player, bool>(GameEvents.ServerPlayerRootChanged, OnPlayerRootChanged);
     EventHandler.RegisterEvent <Player, bool>(GameEvents.ServerPlayerMovementControlChanged, OnPlayerMovementControlChanged);
 }