daystart.qsrc 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. # daystart
  2. !! Calculate the number of the current day since the start of the game.
  3. !!sets daystart_start to current day and must be called only after start date is set
  4. if daystart_start = 0:
  5. if month > 1:daystart_start += 31
  6. if month > 2:
  7. if ((year mod 4 = 0) and (year mod 100 ! 0)) or (year mod 400 = 0):
  8. daystart_start += 29
  9. else
  10. daystart_start += 28
  11. end
  12. end
  13. if month > 3:daystart_start += 31
  14. if month > 4:daystart_start += 30
  15. if month > 5:daystart_start += 31
  16. if month > 6:daystart_start += 30
  17. if month > 7:daystart_start += 31
  18. if month > 8:daystart_start += 31
  19. if month > 9:daystart_start += 30
  20. if month > 10:daystart_start += 31
  21. if month > 11:daystart_start += 30
  22. if month > 12:daystart_start += 31
  23. daystart_start += day
  24. end
  25. daystart = (year - 2016) * 365
  26. !!Leap year correction (+1 for 2016 which has 366 days, and +1 for every 4th year after)
  27. if year > 2016: daystart += 1 + (year - 2016) / 4
  28. i=1
  29. :daystart
  30. if month > i:
  31. daystart += monthsend[i]
  32. i += 1
  33. jump 'daystart'
  34. end
  35. daystart += day
  36. daystart -= daystart_start
  37. daystart += 1
  38. --- daystart ---------------------------------