Reduced queries for storing clan values.
This commit is contained in:
@@ -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!!");
|
||||
|
@@ -528,6 +528,14 @@ public class ClanTable
|
||||
}
|
||||
}
|
||||
|
||||
public void shutdown()
|
||||
{
|
||||
for (Clan clan : _clans.values())
|
||||
{
|
||||
clan.updateClanInDB();
|
||||
}
|
||||
}
|
||||
|
||||
public static ClanTable getInstance()
|
||||
{
|
||||
return SingletonHolder.INSTANCE;
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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
|
||||
}
|
||||
}
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
|
@@ -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));
|
||||
}
|
||||
}
|
||||
|
@@ -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));
|
||||
}
|
||||
}
|
||||
|
@@ -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.");
|
||||
|
@@ -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.");
|
||||
|
@@ -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()));
|
||||
}
|
||||
|
@@ -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);
|
||||
|
@@ -130,7 +130,7 @@ public class TaskRaidPointsReset extends Task
|
||||
break;
|
||||
}
|
||||
}
|
||||
c.setReputationScore(c.getReputationScore() + reputation, true);
|
||||
c.setReputationScore(c.getReputationScore() + reputation);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user