added all dungeons and addl lot

This commit is contained in:
2024-07-13 21:22:49 -04:00
parent 87d6649081
commit 0199f316da

90
main.go
View File

@@ -27,35 +27,97 @@ func main() {
log.SetOutput(io.Discard)
}
bosses, err := models.DB.GetBosses(229)
// main loop
dungeons, err := models.DB.GetDungeons(-1)
if err != nil {
log.Fatal("failed to get bosses")
log.Panicf("failed to get dungeons for expansion %v error: %v", 0, err)
}
for _, boss := range bosses {
for _, dungeon := range dungeons {
log.Printf("+++++Dungeon: %s ID: %v level %v \n", dungeon.Name, dungeon.Id, dungeon.Level)
items, err := models.DB.GetBossLoot(boss.Entry)
log.Printf("Boss: %s Entry: %v has %v items\n", boss.Name, boss.Entry, len(items))
bosses, err := models.DB.GetBosses(dungeon.Id)
if err != nil {
log.Fatal(err)
log.Fatal("failed to get bosses")
}
for _, item := range items {
scaleValue := 305
log.Printf("\nItem %v Entry: %v ItemLevel %v \n", item.Name, item.Entry, *item.ItemLevel)
if dungeon.Level == 60 {
scaleValue = 315
}
_, error := item.ScaleItem(320, 3)
fmt.Print(ItemToSql(item, 80, 3))
if error != nil {
log.Printf("Failed to scale item: %v", error)
}
if dungeon.ExpansionId == 1 && dungeon.Level <= 70 {
scaleValue = 308
}
// stat, value, err := item.GetPrimaryStat()
if dungeon.ExpansionId == 1 && dungeon.Level == 70 {
scaleValue = 315
}
if dungeon.ExpansionId == 2 && dungeon.Level <= 80 {
scaleValue = 309
}
if dungeon.ExpansionId == 2 && dungeon.Level == 80 {
scaleValue = 320
}
for _, boss := range bosses {
items, err := models.DB.GetBossLoot(boss.Entry)
log.Printf("++++++++++ Boss: %s Entry: %v has %v items\n", boss.Name, boss.Entry, len(items))
if err != nil {
log.Fatal(err)
continue
}
for _, item := range items {
_, error := item.ScaleItem(scaleValue, 4)
if error != nil {
log.Printf("Failed to scale item: %v", error)
continue
}
fmt.Printf("\n-- Item %v Entry: %v ItemLevel %v \n", item.Name, item.Entry, *item.ItemLevel)
if scaleValue >= 315 {
fmt.Print(ItemToSql(item, 81, 3))
} else {
fmt.Print(ItemToSql(item, 80, 3))
}
}
}
items2, err := models.DB.GetAddlDungeonDrops(dungeon.Id)
if err != nil {
log.Printf("failed to get additional loot for dungeon %v - err: %v", dungeon.Id, err)
}
for _, item := range items2 {
// reduce item level of dungeon random drops since they are not boss fights
adjScaleValue := scaleValue - 4
_, error := item.ScaleItem(adjScaleValue, 3)
if error != nil {
log.Printf("Failed to scale item: %v", error)
continue
}
fmt.Printf("\n-- Item %v Entry: %v ItemLevel %v \n", item.Name, item.Entry, *item.ItemLevel)
if scaleValue >= 315 {
fmt.Print(ItemToSql(item, 81, 3))
} else {
fmt.Print(ItemToSql(item, 80, 3))
}
}
log.Printf("++++++++++ AdditionalLoot Count: %v\n", len(items2))
}
defer models.DB.Close()