| Line 86: |
Line 86: |
| | -- * Equipment iterators. | | -- * Equipment iterators. |
| | | | |
| − | function Iterator.equipmentBy(context, n, pred, pre) | + | function Iterator.equipmentBy(context, n, pred, pre, empty) |
| | local predKey = stringKey('pred', context, n) | | local predKey = stringKey('pred', context, n) |
| | if predKey then | | if predKey then |
| Line 129: |
Line 129: |
| | end | | end |
| | current = e._name | | current = e._name |
| | + | if empty and not current then |
| | + | current = empty |
| | + | end |
| | i = i + 1 | | i = i + 1 |
| | preFlag = true | | preFlag = true |
| Line 172: |
Line 175: |
| | end | | end |
| | end | | end |
| | + | ) |
| | + | end |
| | + | |
| | + | function Iterator.equipmentByIdWithEmptyWithHeaders(context, n) |
| | + | local from = numberKey('from', context, n, 1) |
| | + | local to = numberKey('to', context, n, 500) |
| | + | local prevMod = 0 |
| | + | return Iterator.equipmentBy( |
| | + | context, n, |
| | + | function(e) |
| | + | return e._id >= from and e._id <= to |
| | + | end, |
| | + | function(e) |
| | + | local currentMod = (e._id - 1) % 10 |
| | + | if currentMod <= prevMod then |
| | + | prevMod = currentMod |
| | + | local title = string.format("No. %s - %s", U.pad(e._id - currentMod, 3, "0"), U.pad(e._id - currentMod + 9, 3, "0")) |
| | + | return string.format("!#[[Equipment#%s|%s]]", title, title) |
| | + | else |
| | + | prevMod = currentMod |
| | + | return false |
| | + | end |
| | + | end, |
| | + | "-" |
| | ) | | ) |
| | end | | end |