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

@@ -24,6 +24,7 @@ import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.data.SchemeBufferTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.sql.ClanTable;
import org.l2jmobius.gameserver.data.sql.OfflineTraderTable;
import org.l2jmobius.gameserver.instancemanager.CastleManorManager;
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
@@ -445,6 +446,10 @@ public class Shutdown extends Thread
GrandBossManager.getInstance().cleanUp();
LOGGER.info("GrandBossManager: All Grand Boss info saved!!");
// Save clan data.
ClanTable.getInstance().shutdown();
LOGGER.info("Clan System: Data saved!!");
// Save data CountStore
TradeManager.getInstance().dataCountStore();
LOGGER.info("TradeController: All count Item Saved!!");

View File

@@ -528,6 +528,14 @@ public class ClanTable
}
}
public void shutdown()
{
for (Clan clan : _clans.values())
{
clan.updateClanInDB();
}
}
public static ClanTable getInstance()
{
return SingletonHolder.INSTANCE;

View File

@@ -167,7 +167,7 @@ public class AdminPledge implements IAdminCommandHandler
showMainPage(activeChar);
return false;
}
clan.setReputationScore(clan.getReputationScore() + points, true);
clan.setReputationScore(clan.getReputationScore() + points);
BuilderUtil.sendSysMessage(activeChar, "You " + (points > 0 ? "add " : "remove ") + Math.abs(points) + " points " + (points > 0 ? "to " : "from ") + clan.getName() + "'s reputation. Their current score is " + clan.getReputationScore());
return true;
}

View File

@@ -2508,15 +2508,15 @@ public class Player extends Playable
{
if (getLvlJoinedAcademy() <= 16)
{
_clan.setReputationScore(_clan.getReputationScore() + 400, true);
_clan.setReputationScore(_clan.getReputationScore() + 400);
}
else if (getLvlJoinedAcademy() >= 39)
{
_clan.setReputationScore(_clan.getReputationScore() + 170, true);
_clan.setReputationScore(_clan.getReputationScore() + 170);
}
else
{
_clan.setReputationScore((_clan.getReputationScore() + 400) - ((getLvlJoinedAcademy() - 16) * 10), true);
_clan.setReputationScore((_clan.getReputationScore() + 400) - ((getLvlJoinedAcademy() - 16) * 10));
}
_clan.broadcastToOnlineMembers(new PledgeShowInfoUpdate(_clan));
@@ -5559,12 +5559,12 @@ public class Player extends Playable
{
if (getClan().getReputationScore() > 0)
{
pk.getClan().setReputationScore(((Player) killer).getClan().getReputationScore() + 2, true);
pk.getClan().setReputationScore(((Player) killer).getClan().getReputationScore() + 2);
pk.getClan().broadcastToOnlineMembers(new PledgeShowInfoUpdate(pk.getClan())); // Update status to all members
}
if (pk.getClan().getReputationScore() > 0)
{
_clan.setReputationScore(_clan.getReputationScore() - 2, true);
_clan.setReputationScore(_clan.getReputationScore() - 2);
_clan.broadcastToOnlineMembers(new PledgeShowInfoUpdate(_clan)); // Update status to all members
}
}

View File

@@ -826,7 +826,7 @@ public class Clan
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);
final int leaderId = clanData.getInt("leader_id");
@@ -1470,7 +1470,7 @@ public class Clan
if (pledgeType != -1)
{
setReputationScore(_reputationScore - 2500, true);
setReputationScore(_reputationScore - 2500);
}
}
catch (Exception e)
@@ -1661,7 +1661,7 @@ public class Clan
return id;
}
public void setReputationScore(int value, boolean save)
public void setReputationScore(int value)
{
if ((_reputationScore >= 0) && (value < 0))
{
@@ -1706,11 +1706,6 @@ public class Clan
{
_reputationScore = -100000000;
}
if (save)
{
updateClanInDB();
}
}
public int getReputationScore()
@@ -2202,7 +2197,7 @@ public class Clan
{
if ((_reputationScore >= 10000) && (_members.size() >= 30))
{
setReputationScore(_reputationScore - 10000, true);
setReputationScore(_reputationScore - 10000);
final SystemMessage cr = new SystemMessage(SystemMessageId.S1_POINTS_HAVE_BEEN_DEDUCTED_FROM_THE_CLAN_S_REPUTATION_SCORE);
cr.addNumber(10000);
player.sendPacket(cr);
@@ -2214,7 +2209,7 @@ public class Clan
{
if ((_reputationScore >= 20000) && (_members.size() >= 80))
{
setReputationScore(_reputationScore - 20000, true);
setReputationScore(_reputationScore - 20000);
final SystemMessage cr = new SystemMessage(SystemMessageId.S1_POINTS_HAVE_BEEN_DEDUCTED_FROM_THE_CLAN_S_REPUTATION_SCORE);
cr.addNumber(20000);
player.sendPacket(cr);
@@ -2226,7 +2221,7 @@ public class Clan
{
if ((_reputationScore >= 40000) && (_members.size() >= 120))
{
setReputationScore(_reputationScore - 40000, true);
setReputationScore(_reputationScore - 40000);
final SystemMessage cr = new SystemMessage(SystemMessageId.S1_POINTS_HAVE_BEEN_DEDUCTED_FROM_THE_CLAN_S_REPUTATION_SCORE);
cr.addNumber(40000);
player.sendPacket(cr);

View File

@@ -339,7 +339,7 @@ public class Hero
final Clan clan = player.getClan();
if (clan != null)
{
clan.setReputationScore(clan.getReputationScore() + 1000, true);
clan.setReputationScore(clan.getReputationScore() + 1000);
clan.broadcastToOnlineMembers(new PledgeShowInfoUpdate(clan));
final SystemMessage sm = new SystemMessage(SystemMessageId.CLAN_MEMBER_S1_WAS_NAMED_A_HERO_2S_POINTS_HAVE_BEEN_ADDED_TO_YOUR_CLAN_S_REPUTATION_SCORE);
sm.addString(name);
@@ -366,7 +366,7 @@ public class Hero
final Clan clan = ClanTable.getInstance().getClanByName(clanName);
if (clan != null)
{
clan.setReputationScore(clan.getReputationScore() + 1000, true);
clan.setReputationScore(clan.getReputationScore() + 1000);
clan.broadcastToOnlineMembers(new PledgeShowInfoUpdate(clan));
final SystemMessage sm = new SystemMessage(SystemMessageId.CLAN_MEMBER_S1_WAS_NAMED_A_HERO_2S_POINTS_HAVE_BEEN_ADDED_TO_YOUR_CLAN_S_REPUTATION_SCORE);
sm.addString(name);

View File

@@ -3489,7 +3489,7 @@ public class SevenSignsFestival implements SpawnListener
{
if (player.getClan() != null)
{
player.getClan().setReputationScore(player.getClan().getReputationScore() + 100, true);
player.getClan().setReputationScore(player.getClan().getReputationScore() + 100);
player.getClan().broadcastToOnlineMembers(new PledgeShowInfoUpdate(player.getClan()));
final SystemMessage sm = new SystemMessage(SystemMessageId.CLAN_MEMBER_S1_WAS_AN_ACTIVE_MEMBER_OF_THE_HIGHEST_RANKED_PARTY_IN_THE_FESTIVAL_OF_DARKNESS_S2_POINTS_HAVE_BEEN_ADDED_TO_YOUR_CLAN_S_REPUTATION_SCORE);
sm.addString(partyMemberName);
@@ -3512,7 +3512,7 @@ public class SevenSignsFestival implements SpawnListener
final Clan clan = ClanTable.getInstance().getClanByName(clanName);
if (clan != null)
{
clan.setReputationScore(clan.getReputationScore() + 100, true);
clan.setReputationScore(clan.getReputationScore() + 100);
clan.broadcastToOnlineMembers(new PledgeShowInfoUpdate(clan));
final SystemMessage sm = new SystemMessage(SystemMessageId.CLAN_MEMBER_S1_WAS_AN_ACTIVE_MEMBER_OF_THE_HIGHEST_RANKED_PARTY_IN_THE_FESTIVAL_OF_DARKNESS_S2_POINTS_HAVE_BEEN_ADDED_TO_YOUR_CLAN_S_REPUTATION_SCORE);
sm.addString(partyMemberName);

View File

@@ -1137,18 +1137,18 @@ public class Castle
if (_formerOwner != ClanTable.getInstance().getClan(getOwnerId()))
{
final int maxreward = Math.max(0, _formerOwner.getReputationScore());
_formerOwner.setReputationScore(_formerOwner.getReputationScore() - 1000, true);
_formerOwner.setReputationScore(_formerOwner.getReputationScore() - 1000);
final Clan owner = ClanTable.getInstance().getClan(getOwnerId());
if (owner != null)
{
owner.setReputationScore(owner.getReputationScore() + Math.min(1000, maxreward), true);
owner.setReputationScore(owner.getReputationScore() + Math.min(1000, maxreward));
owner.broadcastToOnlineMembers(new PledgeShowInfoUpdate(owner));
}
}
else
{
_formerOwner.setReputationScore(_formerOwner.getReputationScore() + 500, true);
_formerOwner.setReputationScore(_formerOwner.getReputationScore() + 500);
}
_formerOwner.broadcastToOnlineMembers(new PledgeShowInfoUpdate(_formerOwner));
@@ -1158,7 +1158,7 @@ public class Castle
final Clan owner = ClanTable.getInstance().getClan(getOwnerId());
if (owner != null)
{
owner.setReputationScore(owner.getReputationScore() + 1000, true);
owner.setReputationScore(owner.getReputationScore() + 1000);
owner.broadcastToOnlineMembers(new PledgeShowInfoUpdate(owner));
}
}

View File

@@ -592,13 +592,13 @@ public class Fort
final Clan owner = ClanTable.getInstance().getClan(getOwnerId());
if (owner != null)
{
owner.setReputationScore(owner.getReputationScore() + Math.min(500, maxreward), true);
owner.setReputationScore(owner.getReputationScore() + Math.min(500, maxreward));
owner.broadcastToOnlineMembers(new PledgeShowInfoUpdate(owner));
}
}
else
{
_formerOwner.setReputationScore(_formerOwner.getReputationScore() + 250, true);
_formerOwner.setReputationScore(_formerOwner.getReputationScore() + 250);
}
_formerOwner.broadcastToOnlineMembers(new PledgeShowInfoUpdate(_formerOwner));
@@ -608,7 +608,7 @@ public class Fort
final Clan owner = ClanTable.getInstance().getClan(getOwnerId());
if (owner != null)
{
owner.setReputationScore(owner.getReputationScore() + 500, true);
owner.setReputationScore(owner.getReputationScore() + 500);
owner.broadcastToOnlineMembers(new PledgeShowInfoUpdate(owner));
}
}

View File

@@ -797,7 +797,7 @@ public class DevastatedCastle
if (clanIdMaxDamage != null)
{
ClanHallTable.getInstance().setOwner(34, clanIdMaxDamage);
clanIdMaxDamage.setReputationScore(clanIdMaxDamage.getReputationScore() + 600, true);
clanIdMaxDamage.setReputationScore(clanIdMaxDamage.getReputationScore() + 600);
update();
Announce("Siege of Devastated castle is over.");

View File

@@ -300,7 +300,7 @@ public class FortressOfResistance
if (clanIdMaxDamage != null)
{
ClanHallTable.getInstance().setOwner(21, clanIdMaxDamage);
clanIdMaxDamage.setReputationScore(clanIdMaxDamage.getReputationScore() + 600, true);
clanIdMaxDamage.setReputationScore(clanIdMaxDamage.getReputationScore() + 600);
update();
Announce("Capture of Partisan Hideout is over.");

View File

@@ -360,7 +360,7 @@ public class MultiSellChoose implements IClientIncomingPacket
else if (e.getItemId() == 65336)
{
final int repCost = player.getClan().getReputationScore() - e.getItemCount();
player.getClan().setReputationScore(repCost, true);
player.getClan().setReputationScore(repCost);
player.sendPacket(new SystemMessage(SystemMessageId.S1_POINTS_HAVE_BEEN_DEDUCTED_FROM_THE_CLAN_S_REPUTATION_SCORE).addNumber(e.getItemCount()));
player.getClan().broadcastToOnlineMembers(new PledgeShowInfoUpdate(player.getClan()));
}

View File

@@ -246,7 +246,7 @@ public class RequestAquireSkill implements IClientIncomingPacket
player.sendPacket(new SystemMessage(SystemMessageId.THE_ATTEMPT_TO_ACQUIRE_THE_SKILL_HAS_FAILED_BECAUSE_OF_AN_INSUFFICIENT_CLAN_REPUTATION_SCORE));
return;
}
player.getClan().setReputationScore(player.getClan().getReputationScore() - repCost, true);
player.getClan().setReputationScore(player.getClan().getReputationScore() - repCost);
player.getClan().addNewSkill(skill);
final SystemMessage cr = new SystemMessage(SystemMessageId.S1_POINTS_HAVE_BEEN_DEDUCTED_FROM_THE_CLAN_S_REPUTATION_SCORE);

View File

@@ -130,7 +130,7 @@ public class TaskRaidPointsReset extends Task
break;
}
}
c.setReputationScore(c.getReputationScore() + reputation, true);
c.setReputationScore(c.getReputationScore() + reputation);
}
}
}