sparrput 821 B

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