Formula

CommonFun.getExpExtra

function CommonFun.getExpExtra(npczone, npctype, stype, mapid)
  local extra = 0
  local mextra = 0
  local cur = os.time()
  if npczone == 1 then
    local starttime = os.time({
      year = 2016,
      month = 2,
      day = 24,
      hour = 9,
      min = 10
    })
    local endtime = os.time({
      year = 2016,
      month = 2,
      day = 28,
      hour = 9,
      min = 10
    })
    if cur >= starttime and cur <= endtime then
      extra = 0.5
    end
  elseif npczone == 3 then
    local starttime = os.time({
      year = 2016,
      month = 2,
      day = 25,
      hour = 9,
      min = 10
    })
    local endtime = os.time({
      year = 2016,
      month = 2,
      day = 28,
      hour = 9,
      min = 10
    })
    if cur >= starttime and cur <= endtime then
      extra = 1
    end
  elseif npczone == 4 then
    local starttime = os.time({
      year = 2016,
      month = 2,
      day = 25,
      hour = 9,
      min = 10
    })
    local endtime = os.time({
      year = 2016,
      month = 2,
      day = 26,
      hour = 9,
      min = 10
    })
    if cur >= starttime and cur <= endtime then
      extra = 2
    end
  elseif npczone == 5 then
    local starttime = os.time({
      year = 2016,
      month = 2,
      day = 25,
      hour = 9,
      min = 10
    })
    local endtime = os.time({
      year = 2016,
      month = 2,
      day = 26,
      hour = 9,
      min = 10
    })
    if cur >= starttime and cur <= endtime then
      extra = 3
    end
  end
  local mapgroup = {
    [1] = 0.5,
    [2] = 2
  }
  local starttime = os.time({
    year = 2016,
    month = 2,
    day = 27,
    hour = 11,
    min = 15
  })
  local endtime = os.time({
    year = 2016,
    month = 2,
    day = 28,
    hour = 11,
    min = 20
  })
  if cur >= starttime and cur <= endtime then
    if stype == 1 then
      if #mapgroup == 0 then
        mextra = 0
      else
        for k, v in pairs(mapgroup) do
          if k == mapid then
            mextra = v
            break
          end
        end
      end
    elseif npczone == 1 and (npctype == 3 or npctype == 4 or npctype == 5) then
      if #mapgroup == 0 then
        mextra = 0
      else
        for k, v in pairs(mapgroup) do
          if k == mapid then
            mextra = v
            break
          end
        end
      end
    end
  end
  return extra + mextra
end