Fixed the buff database entries and updated database migrations (#5076)
Build / Linux (push) Has been cancelled
Build / Windows (push) Has been cancelled

This commit is contained in:
dannuic
2026-05-05 22:23:43 -06:00
committed by GitHub
parent e5ce882b9d
commit 99f99c8b8e
23 changed files with 995 additions and 534 deletions
@@ -42,6 +42,7 @@ public:
uint32_t CasterLevel;
uint32_t DurationFormula;
int32_t TicsRemaining;
int32_t InitialDuration;
uint32_t PoisonCounters;
uint32_t DiseaseCounters;
uint32_t CurseCounters;
@@ -49,12 +50,13 @@ public:
uint32_t HitCount;
uint32_t MeleeRune;
uint32_t MagicRune;
int32_t dot_rune;
uint32_t dot_rune;
int32_t caston_x;
int8_t Persistent;
int32_t caston_y;
int32_t caston_z;
int32_t ExtraDIChance;
uint32_t instrument_mod;
};
static std::string PrimaryKey()
@@ -71,6 +73,7 @@ public:
"CasterLevel",
"DurationFormula",
"TicsRemaining",
"InitialDuration",
"PoisonCounters",
"DiseaseCounters",
"CurseCounters",
@@ -84,6 +87,7 @@ public:
"caston_y",
"caston_z",
"ExtraDIChance",
"instrument_mod",
};
}
@@ -96,6 +100,7 @@ public:
"CasterLevel",
"DurationFormula",
"TicsRemaining",
"InitialDuration",
"PoisonCounters",
"DiseaseCounters",
"CurseCounters",
@@ -109,6 +114,7 @@ public:
"caston_y",
"caston_z",
"ExtraDIChance",
"instrument_mod",
};
}
@@ -155,6 +161,7 @@ public:
e.CasterLevel = 0;
e.DurationFormula = 0;
e.TicsRemaining = 0;
e.InitialDuration = 0;
e.PoisonCounters = 0;
e.DiseaseCounters = 0;
e.CurseCounters = 0;
@@ -168,6 +175,7 @@ public:
e.caston_y = 0;
e.caston_z = 0;
e.ExtraDIChance = 0;
e.instrument_mod = 10;
return e;
}
@@ -210,19 +218,21 @@ public:
e.CasterLevel = row[3] ? static_cast<uint32_t>(strtoul(row[3], nullptr, 10)) : 0;
e.DurationFormula = row[4] ? static_cast<uint32_t>(strtoul(row[4], nullptr, 10)) : 0;
e.TicsRemaining = row[5] ? static_cast<int32_t>(atoi(row[5])) : 0;
e.PoisonCounters = row[6] ? static_cast<uint32_t>(strtoul(row[6], nullptr, 10)) : 0;
e.DiseaseCounters = row[7] ? static_cast<uint32_t>(strtoul(row[7], nullptr, 10)) : 0;
e.CurseCounters = row[8] ? static_cast<uint32_t>(strtoul(row[8], nullptr, 10)) : 0;
e.CorruptionCounters = row[9] ? static_cast<uint32_t>(strtoul(row[9], nullptr, 10)) : 0;
e.HitCount = row[10] ? static_cast<uint32_t>(strtoul(row[10], nullptr, 10)) : 0;
e.MeleeRune = row[11] ? static_cast<uint32_t>(strtoul(row[11], nullptr, 10)) : 0;
e.MagicRune = row[12] ? static_cast<uint32_t>(strtoul(row[12], nullptr, 10)) : 0;
e.dot_rune = row[13] ? static_cast<int32_t>(atoi(row[13])) : 0;
e.caston_x = row[14] ? static_cast<int32_t>(atoi(row[14])) : 0;
e.Persistent = row[15] ? static_cast<int8_t>(atoi(row[15])) : 0;
e.caston_y = row[16] ? static_cast<int32_t>(atoi(row[16])) : 0;
e.caston_z = row[17] ? static_cast<int32_t>(atoi(row[17])) : 0;
e.ExtraDIChance = row[18] ? static_cast<int32_t>(atoi(row[18])) : 0;
e.InitialDuration = row[6] ? static_cast<int32_t>(atoi(row[6])) : 0;
e.PoisonCounters = row[7] ? static_cast<uint32_t>(strtoul(row[7], nullptr, 10)) : 0;
e.DiseaseCounters = row[8] ? static_cast<uint32_t>(strtoul(row[8], nullptr, 10)) : 0;
e.CurseCounters = row[9] ? static_cast<uint32_t>(strtoul(row[9], nullptr, 10)) : 0;
e.CorruptionCounters = row[10] ? static_cast<uint32_t>(strtoul(row[10], nullptr, 10)) : 0;
e.HitCount = row[11] ? static_cast<uint32_t>(strtoul(row[11], nullptr, 10)) : 0;
e.MeleeRune = row[12] ? static_cast<uint32_t>(strtoul(row[12], nullptr, 10)) : 0;
e.MagicRune = row[13] ? static_cast<uint32_t>(strtoul(row[13], nullptr, 10)) : 0;
e.dot_rune = row[14] ? static_cast<uint32_t>(strtoul(row[14], nullptr, 10)) : 0;
e.caston_x = row[15] ? static_cast<int32_t>(atoi(row[15])) : 0;
e.Persistent = row[16] ? static_cast<int8_t>(atoi(row[16])) : 0;
e.caston_y = row[17] ? static_cast<int32_t>(atoi(row[17])) : 0;
e.caston_z = row[18] ? static_cast<int32_t>(atoi(row[18])) : 0;
e.ExtraDIChance = row[19] ? static_cast<int32_t>(atoi(row[19])) : 0;
e.instrument_mod = row[20] ? static_cast<uint32_t>(strtoul(row[20], nullptr, 10)) : 10;
return e;
}
@@ -261,19 +271,21 @@ public:
v.push_back(columns[3] + " = " + std::to_string(e.CasterLevel));
v.push_back(columns[4] + " = " + std::to_string(e.DurationFormula));
v.push_back(columns[5] + " = " + std::to_string(e.TicsRemaining));
v.push_back(columns[6] + " = " + std::to_string(e.PoisonCounters));
v.push_back(columns[7] + " = " + std::to_string(e.DiseaseCounters));
v.push_back(columns[8] + " = " + std::to_string(e.CurseCounters));
v.push_back(columns[9] + " = " + std::to_string(e.CorruptionCounters));
v.push_back(columns[10] + " = " + std::to_string(e.HitCount));
v.push_back(columns[11] + " = " + std::to_string(e.MeleeRune));
v.push_back(columns[12] + " = " + std::to_string(e.MagicRune));
v.push_back(columns[13] + " = " + std::to_string(e.dot_rune));
v.push_back(columns[14] + " = " + std::to_string(e.caston_x));
v.push_back(columns[15] + " = " + std::to_string(e.Persistent));
v.push_back(columns[16] + " = " + std::to_string(e.caston_y));
v.push_back(columns[17] + " = " + std::to_string(e.caston_z));
v.push_back(columns[18] + " = " + std::to_string(e.ExtraDIChance));
v.push_back(columns[6] + " = " + std::to_string(e.InitialDuration));
v.push_back(columns[7] + " = " + std::to_string(e.PoisonCounters));
v.push_back(columns[8] + " = " + std::to_string(e.DiseaseCounters));
v.push_back(columns[9] + " = " + std::to_string(e.CurseCounters));
v.push_back(columns[10] + " = " + std::to_string(e.CorruptionCounters));
v.push_back(columns[11] + " = " + std::to_string(e.HitCount));
v.push_back(columns[12] + " = " + std::to_string(e.MeleeRune));
v.push_back(columns[13] + " = " + std::to_string(e.MagicRune));
v.push_back(columns[14] + " = " + std::to_string(e.dot_rune));
v.push_back(columns[15] + " = " + std::to_string(e.caston_x));
v.push_back(columns[16] + " = " + std::to_string(e.Persistent));
v.push_back(columns[17] + " = " + std::to_string(e.caston_y));
v.push_back(columns[18] + " = " + std::to_string(e.caston_z));
v.push_back(columns[19] + " = " + std::to_string(e.ExtraDIChance));
v.push_back(columns[20] + " = " + std::to_string(e.instrument_mod));
auto results = db.QueryDatabase(
fmt::format(
@@ -301,6 +313,7 @@ public:
v.push_back(std::to_string(e.CasterLevel));
v.push_back(std::to_string(e.DurationFormula));
v.push_back(std::to_string(e.TicsRemaining));
v.push_back(std::to_string(e.InitialDuration));
v.push_back(std::to_string(e.PoisonCounters));
v.push_back(std::to_string(e.DiseaseCounters));
v.push_back(std::to_string(e.CurseCounters));
@@ -314,6 +327,7 @@ public:
v.push_back(std::to_string(e.caston_y));
v.push_back(std::to_string(e.caston_z));
v.push_back(std::to_string(e.ExtraDIChance));
v.push_back(std::to_string(e.instrument_mod));
auto results = db.QueryDatabase(
fmt::format(
@@ -349,6 +363,7 @@ public:
v.push_back(std::to_string(e.CasterLevel));
v.push_back(std::to_string(e.DurationFormula));
v.push_back(std::to_string(e.TicsRemaining));
v.push_back(std::to_string(e.InitialDuration));
v.push_back(std::to_string(e.PoisonCounters));
v.push_back(std::to_string(e.DiseaseCounters));
v.push_back(std::to_string(e.CurseCounters));
@@ -362,6 +377,7 @@ public:
v.push_back(std::to_string(e.caston_y));
v.push_back(std::to_string(e.caston_z));
v.push_back(std::to_string(e.ExtraDIChance));
v.push_back(std::to_string(e.instrument_mod));
insert_chunks.push_back("(" + Strings::Implode(",", v) + ")");
}
@@ -401,19 +417,21 @@ public:
e.CasterLevel = row[3] ? static_cast<uint32_t>(strtoul(row[3], nullptr, 10)) : 0;
e.DurationFormula = row[4] ? static_cast<uint32_t>(strtoul(row[4], nullptr, 10)) : 0;
e.TicsRemaining = row[5] ? static_cast<int32_t>(atoi(row[5])) : 0;
e.PoisonCounters = row[6] ? static_cast<uint32_t>(strtoul(row[6], nullptr, 10)) : 0;
e.DiseaseCounters = row[7] ? static_cast<uint32_t>(strtoul(row[7], nullptr, 10)) : 0;
e.CurseCounters = row[8] ? static_cast<uint32_t>(strtoul(row[8], nullptr, 10)) : 0;
e.CorruptionCounters = row[9] ? static_cast<uint32_t>(strtoul(row[9], nullptr, 10)) : 0;
e.HitCount = row[10] ? static_cast<uint32_t>(strtoul(row[10], nullptr, 10)) : 0;
e.MeleeRune = row[11] ? static_cast<uint32_t>(strtoul(row[11], nullptr, 10)) : 0;
e.MagicRune = row[12] ? static_cast<uint32_t>(strtoul(row[12], nullptr, 10)) : 0;
e.dot_rune = row[13] ? static_cast<int32_t>(atoi(row[13])) : 0;
e.caston_x = row[14] ? static_cast<int32_t>(atoi(row[14])) : 0;
e.Persistent = row[15] ? static_cast<int8_t>(atoi(row[15])) : 0;
e.caston_y = row[16] ? static_cast<int32_t>(atoi(row[16])) : 0;
e.caston_z = row[17] ? static_cast<int32_t>(atoi(row[17])) : 0;
e.ExtraDIChance = row[18] ? static_cast<int32_t>(atoi(row[18])) : 0;
e.InitialDuration = row[6] ? static_cast<int32_t>(atoi(row[6])) : 0;
e.PoisonCounters = row[7] ? static_cast<uint32_t>(strtoul(row[7], nullptr, 10)) : 0;
e.DiseaseCounters = row[8] ? static_cast<uint32_t>(strtoul(row[8], nullptr, 10)) : 0;
e.CurseCounters = row[9] ? static_cast<uint32_t>(strtoul(row[9], nullptr, 10)) : 0;
e.CorruptionCounters = row[10] ? static_cast<uint32_t>(strtoul(row[10], nullptr, 10)) : 0;
e.HitCount = row[11] ? static_cast<uint32_t>(strtoul(row[11], nullptr, 10)) : 0;
e.MeleeRune = row[12] ? static_cast<uint32_t>(strtoul(row[12], nullptr, 10)) : 0;
e.MagicRune = row[13] ? static_cast<uint32_t>(strtoul(row[13], nullptr, 10)) : 0;
e.dot_rune = row[14] ? static_cast<uint32_t>(strtoul(row[14], nullptr, 10)) : 0;
e.caston_x = row[15] ? static_cast<int32_t>(atoi(row[15])) : 0;
e.Persistent = row[16] ? static_cast<int8_t>(atoi(row[16])) : 0;
e.caston_y = row[17] ? static_cast<int32_t>(atoi(row[17])) : 0;
e.caston_z = row[18] ? static_cast<int32_t>(atoi(row[18])) : 0;
e.ExtraDIChance = row[19] ? static_cast<int32_t>(atoi(row[19])) : 0;
e.instrument_mod = row[20] ? static_cast<uint32_t>(strtoul(row[20], nullptr, 10)) : 10;
all_entries.push_back(e);
}
@@ -444,19 +462,21 @@ public:
e.CasterLevel = row[3] ? static_cast<uint32_t>(strtoul(row[3], nullptr, 10)) : 0;
e.DurationFormula = row[4] ? static_cast<uint32_t>(strtoul(row[4], nullptr, 10)) : 0;
e.TicsRemaining = row[5] ? static_cast<int32_t>(atoi(row[5])) : 0;
e.PoisonCounters = row[6] ? static_cast<uint32_t>(strtoul(row[6], nullptr, 10)) : 0;
e.DiseaseCounters = row[7] ? static_cast<uint32_t>(strtoul(row[7], nullptr, 10)) : 0;
e.CurseCounters = row[8] ? static_cast<uint32_t>(strtoul(row[8], nullptr, 10)) : 0;
e.CorruptionCounters = row[9] ? static_cast<uint32_t>(strtoul(row[9], nullptr, 10)) : 0;
e.HitCount = row[10] ? static_cast<uint32_t>(strtoul(row[10], nullptr, 10)) : 0;
e.MeleeRune = row[11] ? static_cast<uint32_t>(strtoul(row[11], nullptr, 10)) : 0;
e.MagicRune = row[12] ? static_cast<uint32_t>(strtoul(row[12], nullptr, 10)) : 0;
e.dot_rune = row[13] ? static_cast<int32_t>(atoi(row[13])) : 0;
e.caston_x = row[14] ? static_cast<int32_t>(atoi(row[14])) : 0;
e.Persistent = row[15] ? static_cast<int8_t>(atoi(row[15])) : 0;
e.caston_y = row[16] ? static_cast<int32_t>(atoi(row[16])) : 0;
e.caston_z = row[17] ? static_cast<int32_t>(atoi(row[17])) : 0;
e.ExtraDIChance = row[18] ? static_cast<int32_t>(atoi(row[18])) : 0;
e.InitialDuration = row[6] ? static_cast<int32_t>(atoi(row[6])) : 0;
e.PoisonCounters = row[7] ? static_cast<uint32_t>(strtoul(row[7], nullptr, 10)) : 0;
e.DiseaseCounters = row[8] ? static_cast<uint32_t>(strtoul(row[8], nullptr, 10)) : 0;
e.CurseCounters = row[9] ? static_cast<uint32_t>(strtoul(row[9], nullptr, 10)) : 0;
e.CorruptionCounters = row[10] ? static_cast<uint32_t>(strtoul(row[10], nullptr, 10)) : 0;
e.HitCount = row[11] ? static_cast<uint32_t>(strtoul(row[11], nullptr, 10)) : 0;
e.MeleeRune = row[12] ? static_cast<uint32_t>(strtoul(row[12], nullptr, 10)) : 0;
e.MagicRune = row[13] ? static_cast<uint32_t>(strtoul(row[13], nullptr, 10)) : 0;
e.dot_rune = row[14] ? static_cast<uint32_t>(strtoul(row[14], nullptr, 10)) : 0;
e.caston_x = row[15] ? static_cast<int32_t>(atoi(row[15])) : 0;
e.Persistent = row[16] ? static_cast<int8_t>(atoi(row[16])) : 0;
e.caston_y = row[17] ? static_cast<int32_t>(atoi(row[17])) : 0;
e.caston_z = row[18] ? static_cast<int32_t>(atoi(row[18])) : 0;
e.ExtraDIChance = row[19] ? static_cast<int32_t>(atoi(row[19])) : 0;
e.instrument_mod = row[20] ? static_cast<uint32_t>(strtoul(row[20], nullptr, 10)) : 10;
all_entries.push_back(e);
}
@@ -537,6 +557,7 @@ public:
v.push_back(std::to_string(e.CasterLevel));
v.push_back(std::to_string(e.DurationFormula));
v.push_back(std::to_string(e.TicsRemaining));
v.push_back(std::to_string(e.InitialDuration));
v.push_back(std::to_string(e.PoisonCounters));
v.push_back(std::to_string(e.DiseaseCounters));
v.push_back(std::to_string(e.CurseCounters));
@@ -550,6 +571,7 @@ public:
v.push_back(std::to_string(e.caston_y));
v.push_back(std::to_string(e.caston_z));
v.push_back(std::to_string(e.ExtraDIChance));
v.push_back(std::to_string(e.instrument_mod));
auto results = db.QueryDatabase(
fmt::format(
@@ -578,6 +600,7 @@ public:
v.push_back(std::to_string(e.CasterLevel));
v.push_back(std::to_string(e.DurationFormula));
v.push_back(std::to_string(e.TicsRemaining));
v.push_back(std::to_string(e.InitialDuration));
v.push_back(std::to_string(e.PoisonCounters));
v.push_back(std::to_string(e.DiseaseCounters));
v.push_back(std::to_string(e.CurseCounters));
@@ -591,6 +614,7 @@ public:
v.push_back(std::to_string(e.caston_y));
v.push_back(std::to_string(e.caston_z));
v.push_back(std::to_string(e.ExtraDIChance));
v.push_back(std::to_string(e.instrument_mod));
insert_chunks.push_back("(" + Strings::Implode(",", v) + ")");
}