Reduced queries for storing clan values.

This commit is contained in:
MobiusDevelopment
2021-12-17 22:11:27 +00:00
parent b25618c95c
commit c044fc0319
431 changed files with 969 additions and 1505 deletions

View File

@ -477,7 +477,8 @@ public class ClanTable
{
for (Clan clan : _clans.values())
{
clan.updateInDB();
clan.updateClanInDB();
clan.getVariables().storeMe();
for (ClanWar war : clan.getWarList().values())
{
storeClanWars(war);

View File

@ -141,7 +141,7 @@ public abstract class AbstractDailyMissionHandler extends ListenersContainer
{
if (reward.getId() == SpecialItemType.CLAN_REPUTATION.getClientId())
{
player.getClan().addReputationScore((int) reward.getCount(), true);
player.getClan().addReputationScore((int) reward.getCount());
}
else if (reward.getId() == SpecialItemType.FAME.getClientId())
{

View File

@ -2433,15 +2433,15 @@ public class Player extends Playable
{
if (_lvlJoinedAcademy <= 16)
{
_clan.addReputationScore(Config.JOIN_ACADEMY_MAX_REP_SCORE, true);
_clan.addReputationScore(Config.JOIN_ACADEMY_MAX_REP_SCORE);
}
else if (_lvlJoinedAcademy >= 39)
{
_clan.addReputationScore(Config.JOIN_ACADEMY_MIN_REP_SCORE, true);
_clan.addReputationScore(Config.JOIN_ACADEMY_MIN_REP_SCORE);
}
else
{
_clan.addReputationScore((Config.JOIN_ACADEMY_MAX_REP_SCORE - ((_lvlJoinedAcademy - 16) * 20)), true);
_clan.addReputationScore((Config.JOIN_ACADEMY_MAX_REP_SCORE - ((_lvlJoinedAcademy - 16) * 20)));
}
setLvlJoinedAcademy(0);
// oust pledge member from the academy, cuz he has finished his 2nd class transfer
@ -6885,7 +6885,7 @@ public class Player extends Playable
final Clan clan = player.getClan();
if (clan != null)
{
clan.addReputationScore(150000, true);
clan.addReputationScore(150000);
}
}
player.setTrueHero(true);

View File

@ -859,28 +859,6 @@ public class Clan implements IIdentifiable, INamable
}
}
public void updateInDB()
{
// Update reputation
try (Connection con = DatabaseFactory.getConnection();
PreparedStatement ps = con.prepareStatement("UPDATE clan_data SET reputation_score=? WHERE clan_id=?"))
{
ps.setInt(1, _reputationScore);
ps.setInt(2, _clanId);
ps.execute();
}
catch (Exception e)
{
LOGGER.log(Level.WARNING, "Exception on updateClanScoreInDb(): " + e.getMessage(), e);
}
// Update variables at database
if (_vars != null)
{
_vars.storeMe();
}
}
/**
* Updates in database clan information:
* <ul>
@ -1029,7 +1007,7 @@ public class Clan implements IIdentifiable, INamable
setCrestLargeId(clanData.getInt("crest_large_id"));
setAllyCrestId(clanData.getInt("ally_crest_id"));
setReputationScore(clanData.getInt("reputation_score"), false);
setReputationScore(clanData.getInt("reputation_score"));
setAuctionBiddedAt(clanData.getInt("auction_bid_at"), false);
setNewLeaderId(clanData.getInt("new_leader_id"), false);
@ -1952,17 +1930,17 @@ public class Clan implements IIdentifiable, INamable
return id;
}
public synchronized void addReputationScore(int value, boolean save)
public synchronized void addReputationScore(int value)
{
setReputationScore(_reputationScore + value, save);
setReputationScore(_reputationScore + value);
}
public synchronized void takeReputationScore(int value, boolean save)
public synchronized void takeReputationScore(int value)
{
setReputationScore(_reputationScore - value, save);
setReputationScore(_reputationScore - value);
}
private void setReputationScore(int value, boolean save)
private void setReputationScore(int value)
{
if ((_reputationScore >= 0) && (value < 0))
{
@ -1996,11 +1974,8 @@ public class Clan implements IIdentifiable, INamable
{
_reputationScore = -100000000;
}
broadcastToOnlineMembers(new PledgeShowInfoUpdate(this));
if (save)
{
updateInDB();
}
}
public int getReputationScore()
@ -2348,7 +2323,7 @@ public class Clan implements IIdentifiable, INamable
final int requiredReputation = ClanLevelData.getLevelRequirement(_level);
if (requiredReputation <= _reputationScore)
{
setReputationScore(_reputationScore - requiredReputation, true);
setReputationScore(_reputationScore - requiredReputation);
final SystemMessage cr = new SystemMessage(SystemMessageId.S1_POINT_S_HAVE_BEEN_DEDUCTED_FROM_THE_CLAN_S_REPUTATION);
cr.addInt(requiredReputation);
player.sendPacket(cr);

View File

@ -110,8 +110,8 @@ public class ClanWar
// however, when the other side reputation score is 0 or below, your clan cannot acquire any reputation points from them.
if (victimClan.getReputationScore() > 0)
{
victimClan.takeReputationScore(Config.REPUTATION_SCORE_PER_KILL, false);
killerClan.addReputationScore(Config.REPUTATION_SCORE_PER_KILL, false);
victimClan.takeReputationScore(Config.REPUTATION_SCORE_PER_KILL);
killerClan.addReputationScore(Config.REPUTATION_SCORE_PER_KILL);
}
// System Message notification to clan members
@ -167,7 +167,7 @@ public class ClanWar
final Clan winnerClan = cancelor.getId() == _attackerClanId ? ClanTable.getInstance().getClan(_attackedClanId) : ClanTable.getInstance().getClan(_attackerClanId);
// Reduce reputation.
cancelor.takeReputationScore(5000, true);
cancelor.takeReputationScore(5000);
player.sendPacket(new SurrenderPledgeWar(cancelor.getName(), player.getName()));
SystemMessage sm = new SystemMessage(SystemMessageId.THE_WAR_ENDED_BY_YOUR_DEFEAT_DECLARATION_WITH_THE_S1_CLAN);
sm.addString(winnerClan.getName());

View File

@ -931,7 +931,7 @@ public class Hero
final Clan clan = player.getClan();
if ((clan != null) && (clan.getLevel() >= 5))
{
clan.addReputationScore(Config.HERO_POINTS, true);
clan.addReputationScore(Config.HERO_POINTS);
final SystemMessage sm = new SystemMessage(SystemMessageId.CLAN_MEMBER_C1_WAS_NAMED_A_HERO_S2_POINTS_HAVE_BEEN_ADDED_TO_YOUR_CLAN_REPUTATION);
sm.addString(CharNameTable.getInstance().getNameById(player.getObjectId()));
sm.addInt(Config.HERO_POINTS);

View File

@ -1014,16 +1014,16 @@ public class Castle extends AbstractResidence
if (_formerOwner != ClanTable.getInstance().getClan(getOwnerId()))
{
final int maxreward = Math.max(0, _formerOwner.getReputationScore());
_formerOwner.takeReputationScore(Config.LOOSE_CASTLE_POINTS, true);
_formerOwner.takeReputationScore(Config.LOOSE_CASTLE_POINTS);
final Clan owner = ClanTable.getInstance().getClan(getOwnerId());
if (owner != null)
{
owner.addReputationScore(Math.min(Config.TAKE_CASTLE_POINTS, maxreward), true);
owner.addReputationScore(Math.min(Config.TAKE_CASTLE_POINTS, maxreward));
}
}
else
{
_formerOwner.addReputationScore(Config.CASTLE_DEFENDED_POINTS, true);
_formerOwner.addReputationScore(Config.CASTLE_DEFENDED_POINTS);
}
}
else
@ -1031,7 +1031,7 @@ public class Castle extends AbstractResidence
final Clan owner = ClanTable.getInstance().getClan(getOwnerId());
if (owner != null)
{
owner.addReputationScore(Config.TAKE_CASTLE_POINTS, true);
owner.addReputationScore(Config.TAKE_CASTLE_POINTS);
}
}
}

View File

@ -939,11 +939,11 @@ public class Fort extends AbstractResidence
{
if (removePoints)
{
owner.takeReputationScore(Config.LOOSE_FORT_POINTS, true);
owner.takeReputationScore(Config.LOOSE_FORT_POINTS);
}
else
{
owner.addReputationScore(Config.TAKE_FORT_POINTS, true);
owner.addReputationScore(Config.TAKE_FORT_POINTS);
}
}
}

View File

@ -391,7 +391,7 @@ public class SkillCaster implements Runnable
player.sendPacket(SystemMessageId.THE_CLAN_REPUTATION_IS_TOO_LOW);
return false;
}
clan.takeReputationScore(_skill.getClanRepConsume(), true);
clan.takeReputationScore(_skill.getClanRepConsume());
final SystemMessage msg = new SystemMessage(SystemMessageId.S1_CLAN_REPUTATION_HAS_BEEN_CONSUMED);
msg.addInt(_skill.getClanRepConsume());

View File

@ -339,7 +339,7 @@ public class MultiSellChoose implements IClientIncomingPacket
{
if (clan != null)
{
clan.takeReputationScore((int) totalCount, true);
clan.takeReputationScore((int) totalCount);
final SystemMessage smsg = new SystemMessage(SystemMessageId.S1_POINT_S_HAVE_BEEN_DEDUCTED_FROM_THE_CLAN_S_REPUTATION);
smsg.addLong(totalCount);
player.sendPacket(smsg);
@ -464,7 +464,7 @@ public class MultiSellChoose implements IClientIncomingPacket
{
if (clan != null)
{
clan.addReputationScore((int) totalCount, true);
clan.addReputationScore((int) totalCount);
}
break;
}

View File

@ -225,7 +225,7 @@ public class RequestAcquireSkill implements IClientIncomingPacket
if (repCost > 0)
{
clan.takeReputationScore(repCost, true);
clan.takeReputationScore(repCost);
final SystemMessage cr = new SystemMessage(SystemMessageId.S1_POINT_S_HAVE_BEEN_DEDUCTED_FROM_THE_CLAN_S_REPUTATION);
cr.addInt(repCost);
player.sendPacket(cr);

View File

@ -88,7 +88,7 @@ public class RequestStopPledgeWar implements IClientIncomingPacket
}
// Reduce reputation.
playerClan.takeReputationScore(5000, true);
playerClan.takeReputationScore(5000);
ClanTable.getInstance().deleteClanWars(playerClan.getId(), clan.getId());
for (Player member : playerClan.getOnlineMembers(0))
{

View File

@ -61,7 +61,7 @@ public class RequestExPledgeMasteryReset implements IClientIncomingPacket
return;
}
clan.takeReputationScore(REPUTATION_COST, true);
clan.takeReputationScore(REPUTATION_COST);
clan.removeAllMasteries();
clan.setDevelopmentPoints(0);
player.sendPacket(new ExPledgeMasteryInfo(player));

View File

@ -100,7 +100,7 @@ public class RequestExPledgeMasterySet implements IClientIncomingPacket
}
// Learn.
clan.takeReputationScore(mastery.getClanReputation(), true);
clan.takeReputationScore(mastery.getClanReputation());
clan.addMastery(mastery.getId());
clan.setDevelopmentPoints(clan.getUsedDevelopmentPoints() + 1);
for (Skill skill : mastery.getSkills())

View File

@ -111,7 +111,7 @@ public class RequestExPledgeSkillActivate implements IClientIncomingPacket
}
// Learn.
clan.takeReputationScore(cost, true);
clan.takeReputationScore(cost);
clan.addMasterySkill(_skillId);
player.sendPacket(new ExPledgeSkillInfo(_skillId, 1, 1296000, 2));
}