Description
-----------
    Adds deathmatch mode, elimination mode, spawn protection to the game.
    Spawn protection works independently from deathmatch inself, you can
    use in separately. Usefull for gungame.
    
    http://forums.alliedmods.net/showthread.php?t=103242

    Complementary plugins:
        - disable round end
            sm_bot_endround - http://forums.alliedmods.net/showthread.php?t=80662

Plugins
-------
    sm_ggdm.smx                 - Deathmatch, elimination
    sm_ggdm_spawnprotection.smx - Spawn protection
    sm_ggdm_spawns.smx          - Random spawnpoints
    
Commands and Cvars
------------------
    sm_ggdm_version             - GunGame Deathmatch version.
    sm_ggdm_removeragdolls      - Remove ragdolls 1 is on, 0 is off (default 1).
    sm_ggdm_sptime              - Sets the amount of seconds users will be protected 
                                  from getting killed on their respawn (default 2).
    sm_ggdm_spchangecolor         - Change color on spawn protected players (default 1).
    sm_ggdm_elimination         - Elimination mode 1 is on, 0 is off (default 0). You 
                                  will be respawned only after your killer will be killed.
    sm_ggdm_respawntime         - Time before respawn (default 2.0).
    sm_ggdm_removeweapons       - Remove weapons on player death (default 1).

    sm_ggdm_spawn_menu          - Edits GG DM spawn points.

Requirements
------------
    Counter-Strike: Source
    SourceMod 1.2.0+
        
Credits
-------
    * Thanks to tigerox for GG4 DEATHMATCH ADDON version 1.2
    http://forums.alliedmods.net/showthread.php?t=87198

    * Thanks to TechKnow for Gungame-Deathmatch version 1.5
    http://forums.alliedmods.net/showthread.php?p=725749
    
    * Thanks to L. Duke for  Dissolve (player ragdolls) version 1.0.0.2
    http://forums.alliedmods.net/showthread.php?t=71084
    
    * Thanks to Fredd for SurfTools version 1.6
    http://forums.alliedmods.net/showthread.php?t=60002
    
    * Thanks to AlliedModders LLC for CSS:DM 2.1.0.446
    http://forums.alliedmods.net/showthread.php?t=58388

    * Thanks to Kigen for weapon removement on player death code.
    
Changelog    
---------
    1.5.4:
        * Removed autospawn timer and added player_team and joinclass hook.
            Now new connected players and those who changed team
            will be spawned only after they will have been joined player class.
        
    1.5.3:
        + Added cvar to enable/disable color changing on spawn protected players.
        * Fixed not to slay player on spawn sometimes if it spawns in one second 
            with autospawn timer.

    1.5.2:
        * Renamed plugin to DeathMatch:SM.
        + Added cvar to set time before respawn (sm_ggdm_respawntime, default 2.0).
        + Added cvar to disable weapon removement (sm_ggdm_removeweapons, default 1).
        * Spawn protection plugin and deathmatch plugin are splited to two independent plugins.
    
    1.5.1:
        * Optimized cpu usage in elimination mode.
        * Fixed autorespawn for elimination mode.

    1.5:
        + Added elimination support. Added cvar sm_ggdm_elimination.
    
    1.4:
        + Added spawn points.
    
    1.3:
        + Added spawn protection.
        + Added alpha color on spawn protected players.
        - Removed all messages. 
        
    1.2 by tigerox:
        * Basically all code from TechKnow's GG-Deathmatch V1.5
        * Fixed stopping respawn after round end (works now)
        * Added code to remove ragdolls, from L. Duke's Dissolver 1.0.0.2
        * Removed useless chat announcments
        * Recommend using with SpawnProtection Beta 1.4
        * 
        * --next version--
        * --!stuck respawn command like in gg4
        * --Spawn protections
        * --deathmatch team balancer, 

TODO
----
    + Add option to enable noblock when spawnprotected.
      Think about it. Maybe this logic should be in noblock 
      plugin only.
    + Add option to select random spawns algorythm.
      For example: 
        * distance - search spawn in some distance from 
          other players (like now it is implenemted)
        * random - random spawn points
        * cycle - cycle through all spawnpoints
        * betterrandom - better random spawns (check 
            last spawn point)
        * randomcycle - randomize cycle every map start
            and cycle through all spawn points
      For now only distance is implemented. It is much
      cpu expensive because of calculating distances
      every spawn.
    + When players kill themselves in elimination mode, 
      they respawn. Is it possible to stop this?
      Add option to disable respawn for self-killers.
      Or maybe another timer for self-killers.
    + How about an on/off cvar?
    + Add server console command to start autorespawn timer.
      (normaly started on round start)
