mirror of
https://github.com/araxiaonline/wow-item-generator.git
synced 2026-06-13 03:02:22 -04:00
88 lines
2.5 KiB
Go
88 lines
2.5 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
|
|
"github.com/araxiaonline/endgame-item-generator/models"
|
|
_ "github.com/go-sql-driver/mysql"
|
|
"github.com/joho/godotenv"
|
|
)
|
|
|
|
func main() {
|
|
|
|
godotenv.Load()
|
|
models.Connect()
|
|
|
|
weapon, err := models.DB.GetItem(13982)
|
|
weapon.ScaleDPS(350)
|
|
log.Printf("Weapon: %v-%v", *weapon.MinDmg1, *weapon.MaxDmg1)
|
|
log.Printf("Weapon: %v-%v", *weapon.MinDmg2, *weapon.MaxDmg2)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
bosses, err := models.DB.GetBosses(540)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
for _, boss := range bosses {
|
|
|
|
// log.Printf("Getting loot for Boss: %s\n", boss.Name)
|
|
|
|
items, err := models.DB.GetBossLoot(boss.Entry)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
for _, item := range items {
|
|
|
|
fmt.Printf("\nItem %v Entry: %v ItemLevel %v \n", item.Name, item.Entry, *item.ItemLevel)
|
|
// item.GetStatPercents()
|
|
|
|
if *item.SpellId1 != 0 {
|
|
spell, err := models.DB.GetSpell(*item.SpellId1)
|
|
if err != nil {
|
|
log.Printf("failed to get the spell: %v error: %v", *item.SpellId1, err)
|
|
}
|
|
|
|
log.Printf("Spell %v Spell Effects 1: %v 2: %v, 3: %v \n", spell.Name, spell.Effect1, spell.Effect2, spell.Effect3)
|
|
log.Printf("Spell Aura 1: %v 2: %v, 3: %v \n", spell.EffectAura1, spell.EffectAura2, spell.EffectAura3)
|
|
log.Printf("BasePoints 1: %v 2: %v 3: %v \n", spell.EffectBasePoints1, spell.EffectBasePoints2, spell.EffectBasePoints3)
|
|
log.Printf("RealPointsPerLevel 1: %v 2: %v 3: %v \n", spell.EffectRealPointsPerLevel1, spell.EffectRealPointsPerLevel2, spell.EffectRealPointsPerLevel3)
|
|
log.Printf("DieCasts 1: %v 2: %v 3: %v \n", spell.EffectDieSides1, spell.EffectDieSides2, spell.EffectDieSides3)
|
|
log.Printf("this has a spell that needs scaled up %v", spell.SpellEffectsNeedsScaled())
|
|
log.Printf("this has an aura that needs scaled up %v\n\n", spell.AuraEffectNeedsScaled())
|
|
|
|
convStats, err := spell.ConvertToStats()
|
|
if err != nil {
|
|
log.Printf("Failed to convert spell to stats: %v", err)
|
|
}
|
|
|
|
scaleItemStats := item.GetStatPercents()
|
|
log.Printf("Scaled Item Stats %v", scaleItemStats)
|
|
log.Printf("Scaled Spell Stats: %v\n", convStats)
|
|
|
|
}
|
|
|
|
// stat, value, err := item.GetPrimaryStat()
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
// fmt.Println(stat, value)
|
|
|
|
}
|
|
}
|
|
|
|
// iLevel := 219
|
|
// qual := 3
|
|
// delay := 2.60
|
|
// sub := 0
|
|
// myItem := models.Item{Name: "Hypnotic Blade", ItemLevel: &iLevel, Quality: &qual, Delay: &delay, Subclass: &sub}
|
|
// dps, err := myItem.ScaleDPS()
|
|
|
|
// log.Printf("Item %s DPS: %.1f", myItem.Name, dps)
|
|
defer models.DB.Close()
|
|
}
|