// the powerdice addon.
block load
{
  // new event for powerdice! yeah!
  es_xloadevents declare addons/eventscripts/wcs/WCSaddons/powerdice/es_powerdice.res
  es_exists ex saycommand powerdice
  if (server_var(ex) = 0) then es_xregsaycmd powerdice wcs/WCSaddons/powerdice/wcs_rollthedice "Roll the dice!!"
  // init some stuff
  es_xkeycreate WCSdice
  es_xset wcs_d 0 "dice sum"
  es_xset wcs_d1 0 "dice one"
  es_xset wcs_d2 0  "dice two"
  es_xset wcs_dprice 0 "the dice price"
  es_xset wcs_dlastname 0 "last name who rolled the dice"
  es_xset wcs_dlasttime 0 "last time the user demanded powerdice"
  es_xset wcs_dicenumber 10 "the maximum number for a dice"
  // 19 items you can win. The 1st needs to be empty (because you cannot roll 1 and 0)
  es_xset wcs_prices "NOTHING|helme|tomehp100|necklace|gloves|mole|ringregeneration|reincarnation|longjump|disguiser|tomexp100|sockf50|DEATH|periapthp50|tomexp200|cloak50|claws|cloak75|ringregeneration|immortal4" "items you can win with powerdice"
}

block unload
{
  es_xkeydelete WCSdice
  es_xunregsaycmd powerdice
}

event es_map_start
{
  es_xloadevents addons/eventscripts/wcs/WCSaddons/powerdice/es_powerdice.res
}

event player_disconnect
{
  es_keysetvalue WCSdice event_var(userid) 0
}

event player_spawn
{
  // allow rolling every spawn/round
  es_keysetvalue WCSdice event_var(userid) 1
}

event player_death
{
  es_keysetvalue WCSdice event_var(userid) 0
}

event server
{
  // clean up
  es_xkeydelete WCSdice
  es_xkeycreate WCSdice
}

event round_start
{
  es_xgettime wcs_dlasttime
}

block wcs_rollthedice
{
  es_xgetcmduserid wcs_uid
  // create the powerdice event
	es_xevent initialize powerdice
	es_event setint powerdice userid server_var(wcs_uid)
  es_getplayerteam wcs_tmp server_var(wcs_uid)
  es_event setint powerdice es_userteam server_var(wcs_tmp)
	es_xevent fire powerdice
}

event powerdice
{
  es_xset wcs_tmp 0
  es_keygetvalue wcs_tmp WCSdice event_var(userid)
  es_xgettime wcs_time
  ifx parse("wcs_tmp and (wcs_dlasttime <= (wcs_time + 5))") do
  {
    es_xgettime wcs_dlasttime
    es_tell event_var(userid) #multi #lightgreen| #greenThe Dealer has rolled the dice #lightgreen|
    es_keysetvalue WCSdice event_var(userid) 0
    es_rand wcs_d1 1 server_var(wcs_dicenumber)
    es_rand wcs_d2 1 server_var(wcs_dicenumber)
    es_xmathparse wcs_d "wcs_d1 + wcs_d2"
    es_getplayername wcs_dlastname event_var(userid)
    es_token wcs_tmp server_var(wcs_prices) server_var(wcs_d) |
    es wcs_debuglog POWERDICE rolled server_var(wcs_d1) and server_var(wcs_d2) item: server_var(wcs_tmp)
    es_exists ex key WCSshop server_var(wcs_tmp)
    ifx true(ex) do
    {
      // get the name and give the item
      es_keygetvalue wcs_dprice WCSshop server_var(wcs_tmp) name
      es_tell event_var(userid) #multi #lightgreen| You threw #green server_var(wcs_d1) and server_var(wcs_d2) #lightgreen. Your price is#green server_var(wcs_dprice) |
      es wcs_giveshopitem event_var(userid) server_var(wcs_tmp)
    }
    es_xelse do
    {
      // special if the item is DEATH
      if (server_var(wcs_tmp) = "DEATH") do
      {
        es_tell event_var(userid) #multi #lightgreenYou threw#green server_var(wcs_d) #lightgreenthe #greendeath number#lightgreen. (chance: 10%) Sorry ^_^
        es_sexec event_var(userid) kill
      }
      es_xelse do
      {
        es_tell event_var(userid) #green Item ' server_var(wcs_tmp) 'not found! Check the script code/ask an admin.
      }
    }
  }
  es_xelse do
  {
    es_xformatv wcs_text "You already rolled the dice \nor are not allowed to do so now. \nThe dealer responds every 5 seconds, \nlast one was for %1" wcs_dlastname
    es wcs_notice event_var(userid) server_var(wcs_text)
  }
}
