mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-19 20:41:33 +00:00
[LDoN] Update methods for removing wins/losses
This commit is contained in:
parent
d2f8eead1f
commit
b7eeb3b2f9
@ -2019,7 +2019,7 @@ void Database::ClearRaidLeader(uint32 gid, uint32 rid)
|
|||||||
QueryDatabase(query);
|
QueryDatabase(query);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Database::UpdateAdventureStatsEntry(uint32 char_id, uint8 theme, bool win)
|
void Database::UpdateAdventureStatsEntry(uint32 char_id, uint8 theme, bool win, bool remove)
|
||||||
{
|
{
|
||||||
|
|
||||||
std::string field;
|
std::string field;
|
||||||
@ -2057,16 +2057,26 @@ void Database::UpdateAdventureStatsEntry(uint32 char_id, uint8 theme, bool win)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (win)
|
if (win) {
|
||||||
field += "wins";
|
field += "wins";
|
||||||
else
|
} else {
|
||||||
field += "losses";
|
field += "losses";
|
||||||
|
}
|
||||||
|
|
||||||
std::string query = StringFormat("UPDATE `adventure_stats` SET %s=%s+1 WHERE player_id=%u",field.c_str(), field.c_str(), char_id);
|
std::string modification;
|
||||||
|
|
||||||
|
if (remove){
|
||||||
|
modification = "-1";
|
||||||
|
} else {
|
||||||
|
modification = "+1";
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string query = StringFormat("UPDATE `adventure_stats` SET %s=%s%s WHERE player_id=%u",field.c_str(), field.c_str(), modification.c_str(), char_id);
|
||||||
auto results = QueryDatabase(query);
|
auto results = QueryDatabase(query);
|
||||||
|
|
||||||
if (results.RowsAffected() != 0)
|
if (results.RowsAffected() != 0) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
query = StringFormat("INSERT INTO `adventure_stats` SET %s=1, player_id=%u", field.c_str(), char_id);
|
query = StringFormat("INSERT INTO `adventure_stats` SET %s=1, player_id=%u", field.c_str(), char_id);
|
||||||
QueryDatabase(query);
|
QueryDatabase(query);
|
||||||
|
|||||||
@ -174,7 +174,7 @@ public:
|
|||||||
|
|
||||||
/* Adventure related. */
|
/* Adventure related. */
|
||||||
|
|
||||||
void UpdateAdventureStatsEntry(uint32 char_id, uint8 theme, bool win);
|
void UpdateAdventureStatsEntry(uint32 char_id, uint8 theme, bool win, bool remove = false);
|
||||||
bool GetAdventureStats(uint32 char_id, AdventureStats_Struct *as);
|
bool GetAdventureStats(uint32 char_id, AdventureStats_Struct *as);
|
||||||
|
|
||||||
/* Account Related */
|
/* Account Related */
|
||||||
|
|||||||
@ -5581,23 +5581,23 @@ void Client::RemoveLDoNLoss(uint32 theme_id)
|
|||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
m_pp.ldon_losses_guk -= 1;
|
m_pp.ldon_losses_guk -= 1;
|
||||||
database.UpdateAdventureStatsEntry(CharacterID(), theme_id, false);
|
database.UpdateAdventureStatsEntry(CharacterID(), theme_id, false, true);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
m_pp.ldon_losses_mir -= 1;
|
m_pp.ldon_losses_mir -= 1;
|
||||||
database.UpdateAdventureStatsEntry(CharacterID(), theme_id, false);
|
database.UpdateAdventureStatsEntry(CharacterID(), theme_id, false, true);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
m_pp.ldon_losses_mmc -= 1;
|
m_pp.ldon_losses_mmc -= 1;
|
||||||
database.UpdateAdventureStatsEntry(CharacterID(), theme_id, false);
|
database.UpdateAdventureStatsEntry(CharacterID(), theme_id, false, true);
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
m_pp.ldon_losses_ruj -= 1;
|
m_pp.ldon_losses_ruj -= 1;
|
||||||
database.UpdateAdventureStatsEntry(CharacterID(), theme_id, false);
|
database.UpdateAdventureStatsEntry(CharacterID(), theme_id, false, true);
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
m_pp.ldon_losses_tak -= 1;
|
m_pp.ldon_losses_tak -= 1;
|
||||||
database.UpdateAdventureStatsEntry(CharacterID(), theme_id, false);
|
database.UpdateAdventureStatsEntry(CharacterID(), theme_id, false, true);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
@ -5639,23 +5639,23 @@ void Client::RemoveLDoNWin(uint32 theme_id)
|
|||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
m_pp.ldon_wins_guk -= 1;
|
m_pp.ldon_wins_guk -= 1;
|
||||||
database.UpdateAdventureStatsEntry(CharacterID(), theme_id, true);
|
database.UpdateAdventureStatsEntry(CharacterID(), theme_id, true, true);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
m_pp.ldon_wins_mir -= 1;
|
m_pp.ldon_wins_mir -= 1;
|
||||||
database.UpdateAdventureStatsEntry(CharacterID(), theme_id, true);
|
database.UpdateAdventureStatsEntry(CharacterID(), theme_id, true, true);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
m_pp.ldon_wins_mmc -= 1;
|
m_pp.ldon_wins_mmc -= 1;
|
||||||
database.UpdateAdventureStatsEntry(CharacterID(), theme_id, true);
|
database.UpdateAdventureStatsEntry(CharacterID(), theme_id, true, true);
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
m_pp.ldon_wins_ruj -= 1;
|
m_pp.ldon_wins_ruj -= 1;
|
||||||
database.UpdateAdventureStatsEntry(CharacterID(), theme_id, true);
|
database.UpdateAdventureStatsEntry(CharacterID(), theme_id, true, true);
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
m_pp.ldon_wins_tak -= 1;
|
m_pp.ldon_wins_tak -= 1;
|
||||||
database.UpdateAdventureStatsEntry(CharacterID(), theme_id, true);
|
database.UpdateAdventureStatsEntry(CharacterID(), theme_id, true, true);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user