sparrput 643 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. # sparrput
  2. if arrsize('ARGS') < 6:
  3. 'ERROR: sparrput called incorrectly. report to a maintainer'
  4. end
  5. i = arrsize('$sparrnam')
  6. s = ARGS[5]
  7. !{Check for prev spatter by same guy}
  8. i2 = 0
  9. :sparrputloop
  10. if i2 < i:
  11. if sparrloc[i2] = ARGS[1] and $sparrnam[i2] = $ARGS[0]:
  12. i = i2
  13. !{Use existing spread value if greater than provided}
  14. if s < sparrslc[i]: s = sparrslc[i]
  15. else
  16. i2 += 1
  17. jump 'sparrputloop'
  18. end
  19. end
  20. $sparrnam[i] = $ARGS[0]
  21. sparrloc[i] = ARGS[1]
  22. sparrppt[i] = ARGS[2]
  23. if ARGS[3]:
  24. sparridt[i] = ARGS[3]
  25. end
  26. sparrvol[i] += ARGS[4]
  27. sparrslc[i] = s
  28. sparrage[i] = 0
  29. RESULT = i
  30. --- sparrput ---------------------------------