// WCS addon: moneysave
// Saves the money for players when they switch to specator and back.
// Prevents money lost on "restricted race -> forced to specator" and fixes
// the CSS "bug" like players get always eg. $800 when they switch to spec and back.

block load
{
  es_xset wcs_money 0
  es_xkeycreate WCSmoneysave
  alias wcs_moneysavenow  "es playerget cash wcs_money event_var(userid);es_keysetvalue WCSmoneysave event_var(userid) server_var(wcs_money)"
}

event player_team
{
  // check for CSS, DOD:S has no money
  if (server_var(wcs_game) = server_var(wcs_game_css)) do
  {
    // team 2 or 3, give money back (switch back from spec)
    if (event_var(team) >= 2) do
    {
      if (event_var(oldteam) = 1) do
      {
        es_keygetvalue wcs_money WCSmoneysave event_var(userid)
        if (server_var(wcs_money) > 16000) then es_xset wcs_money 16000
        if (server_var(wcs_money) >= 0) then playerset cash event_var(userid) server_var(wcs_money)
      }
    }
  }
}

event player_spawn
{
  if (server_var(wcs_game) = server_var(wcs_game_css)) then wcs_moneysavenow
}

event item_pickup
{
  if (server_var(wcs_game) = server_var(wcs_game_css)) then wcs_moneysavenow
}

event player_disconnect
{
  // clean up the key, set to -1
  es_keysetvalue WCSmoneysave event_var(userid) -1
}

event server
{
  // clean the WCSmoneysave key
  es_xkeydelete WCSmoneysave
  es_xkeycreate WCSmoneysave
}
