Added support for tertiary drop tables
This commit is contained in:
@@ -25,8 +25,9 @@ class DropTableParser {
|
||||
|
||||
try {
|
||||
val table = NPCDropTable()
|
||||
parseTable(tab["main"] as JSONArray, table, false)
|
||||
parseTable(tab["charm"] as JSONArray, table, false, true)
|
||||
parseTable(tab["main"] as JSONArray, table, isAlways = false)
|
||||
parseTable(tab["charm"] as JSONArray, table, isAlways = false, isCharms = true)
|
||||
(tab["tertiary"] as? JSONArray)?.let { parseTable(it, table, isAlways = false, isTertiary = true) }
|
||||
parseTable(tab["default"] as JSONArray, table, true)
|
||||
|
||||
for(n in ids){
|
||||
@@ -42,7 +43,7 @@ class DropTableParser {
|
||||
log(this::class.java, Log.FINE, "Parsed $count drop tables.")
|
||||
}
|
||||
|
||||
private fun parseTable(data: JSONArray, destTable: NPCDropTable, isAlways: Boolean, isCharms: Boolean = false) {
|
||||
private fun parseTable(data: JSONArray, destTable: NPCDropTable, isAlways: Boolean, isTertiary: Boolean = false, isCharms: Boolean = false) {
|
||||
for(it in data){
|
||||
val item = it as JSONObject
|
||||
val id = item["id"].toString().toInt()
|
||||
@@ -56,6 +57,7 @@ class DropTableParser {
|
||||
val weight = item["weight"].toString().toDouble()
|
||||
val newItem = WeightedItem(id,minAmount,maxAmount,weight.toDouble(),isAlways)
|
||||
if(isCharms) destTable.addToCharms(newItem)
|
||||
else if (isTertiary) destTable.addToTertiary(newItem)
|
||||
else destTable.add(newItem)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user