Code improvements.
This commit is contained in:
@ -27,7 +27,6 @@ import com.l2jmobius.gameserver.ThreadPoolManager;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Summon;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2CubicInstance;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.AutoAttackStop;
|
||||
|
||||
/**
|
||||
@ -54,21 +53,21 @@ public class AttackStanceTaskManager
|
||||
*/
|
||||
public void addAttackStanceTask(L2Character actor)
|
||||
{
|
||||
if (actor != null)
|
||||
if (actor == null)
|
||||
{
|
||||
if (actor.isPlayable())
|
||||
return;
|
||||
}
|
||||
if (actor.isPlayable())
|
||||
{
|
||||
for (L2CubicInstance cubic : actor.getActingPlayer().getCubics().values())
|
||||
{
|
||||
final L2PcInstance player = actor.getActingPlayer();
|
||||
for (L2CubicInstance cubic : player.getCubics().values())
|
||||
if (cubic.getId() != L2CubicInstance.LIFE_CUBIC)
|
||||
{
|
||||
if (cubic.getId() != L2CubicInstance.LIFE_CUBIC)
|
||||
{
|
||||
cubic.doAction();
|
||||
}
|
||||
cubic.doAction();
|
||||
}
|
||||
}
|
||||
_attackStanceTasks.put(actor, System.currentTimeMillis());
|
||||
}
|
||||
_attackStanceTasks.put(actor, System.currentTimeMillis());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -77,14 +76,15 @@ public class AttackStanceTaskManager
|
||||
*/
|
||||
public void removeAttackStanceTask(L2Character actor)
|
||||
{
|
||||
if (actor != null)
|
||||
if (actor == null)
|
||||
{
|
||||
if (actor.isSummon())
|
||||
{
|
||||
actor = actor.getActingPlayer();
|
||||
}
|
||||
_attackStanceTasks.remove(actor);
|
||||
return;
|
||||
}
|
||||
if (actor.isSummon())
|
||||
{
|
||||
actor = actor.getActingPlayer();
|
||||
}
|
||||
_attackStanceTasks.remove(actor);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -94,15 +94,15 @@ public class AttackStanceTaskManager
|
||||
*/
|
||||
public boolean hasAttackStanceTask(L2Character actor)
|
||||
{
|
||||
if (actor != null)
|
||||
if (actor == null)
|
||||
{
|
||||
if (actor.isSummon())
|
||||
{
|
||||
actor = actor.getActingPlayer();
|
||||
}
|
||||
return _attackStanceTasks.containsKey(actor);
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
if (actor.isSummon())
|
||||
{
|
||||
actor = actor.getActingPlayer();
|
||||
}
|
||||
return _attackStanceTasks.containsKey(actor);
|
||||
}
|
||||
|
||||
protected class FightModeScheduler implements Runnable
|
||||
|
@ -79,21 +79,16 @@ public final class DecayTaskManager
|
||||
*/
|
||||
public void add(L2Character character, long delay, TimeUnit timeUnit)
|
||||
{
|
||||
ScheduledFuture<?> decayTask = _decayExecutor.schedule(new DecayTask(character), delay, TimeUnit.SECONDS);
|
||||
ScheduledFuture<?> decayTask = _decayTasks.put(character, _decayExecutor.schedule(new DecayTask(character), delay, TimeUnit.SECONDS));
|
||||
|
||||
decayTask = _decayTasks.put(character, decayTask);
|
||||
// if decay task already existed cancel it so we use the new time
|
||||
if ((decayTask == null) || decayTask.cancel(false))
|
||||
{
|
||||
return;
|
||||
}
|
||||
decayTask = _decayTasks.remove(character);
|
||||
if (decayTask != null)
|
||||
{
|
||||
if (!decayTask.cancel(false))
|
||||
{
|
||||
// old decay task was completed while canceling it remove and cancel the new one
|
||||
decayTask = _decayTasks.remove(character);
|
||||
if (decayTask != null)
|
||||
{
|
||||
decayTask.cancel(false);
|
||||
}
|
||||
}
|
||||
decayTask.cancel(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -16,7 +16,6 @@
|
||||
*/
|
||||
package com.l2jmobius.gameserver.taskmanager;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.logging.Level;
|
||||
@ -104,8 +103,7 @@ public class KnownListUpdateTaskManager
|
||||
|
||||
public void updateRegion(L2WorldRegion region, boolean fullUpdate, boolean forgetObjects)
|
||||
{
|
||||
final Collection<L2Object> vObj = region.getVisibleObjects().values();
|
||||
for (L2Object object : vObj) // and for all members in region
|
||||
for (L2Object object : region.getVisibleObjects().values())
|
||||
{
|
||||
if ((object == null) || !object.isVisible())
|
||||
{
|
||||
@ -124,8 +122,7 @@ public class KnownListUpdateTaskManager
|
||||
{
|
||||
if ((object instanceof L2Playable) || (aggro && regi.isActive()) || fullUpdate)
|
||||
{
|
||||
final Collection<L2Object> inrObj = regi.getVisibleObjects().values();
|
||||
for (L2Object obj : inrObj)
|
||||
for (L2Object obj : regi.getVisibleObjects().values())
|
||||
{
|
||||
if (obj != object)
|
||||
{
|
||||
@ -133,18 +130,13 @@ public class KnownListUpdateTaskManager
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (object instanceof L2Character)
|
||||
else if ((object instanceof L2Character) && regi.isActive())
|
||||
{
|
||||
if (regi.isActive())
|
||||
for (L2Object obj : regi.getVisibleObjects().values())
|
||||
{
|
||||
final Collection<L2Object> inrPls = regi.getVisibleObjects().values();
|
||||
|
||||
for (L2Object obj : inrPls)
|
||||
if (obj != object)
|
||||
{
|
||||
if (obj != object)
|
||||
{
|
||||
object.getKnownList().addKnownObject(obj);
|
||||
}
|
||||
object.getKnownList().addKnownObject(obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -124,15 +124,7 @@ public final class TaskManager
|
||||
@Override
|
||||
public boolean equals(Object object)
|
||||
{
|
||||
if (this == object)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if (!(object instanceof ExecutedTask))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return id == ((ExecutedTask) object).id;
|
||||
return (this == object) || ((object instanceof ExecutedTask) && (id == ((ExecutedTask) object).id));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -197,8 +189,7 @@ public final class TaskManager
|
||||
|
||||
public void registerTask(Task task)
|
||||
{
|
||||
final int key = task.getName().hashCode();
|
||||
_tasks.computeIfAbsent(key, k ->
|
||||
_tasks.computeIfAbsent(task.getName().hashCode(), k ->
|
||||
{
|
||||
task.initializate();
|
||||
return task;
|
||||
|
@ -51,10 +51,7 @@ public class TaskBirthday extends Task
|
||||
@Override
|
||||
public void onTimeElapsed(ExecutedTask task)
|
||||
{
|
||||
// TODO(Zoey76): Fix first run.
|
||||
final int birthdayGiftCount = giveBirthdayGifts(task.getLastActivation());
|
||||
|
||||
_log.info("BirthdayManager: " + birthdayGiftCount + " gifts sent.");
|
||||
_log.info("BirthdayManager: " + giveBirthdayGifts(task.getLastActivation()) + " gifts sent.");
|
||||
}
|
||||
|
||||
private int giveBirthdayGifts(long lastActivation)
|
||||
@ -68,10 +65,7 @@ public class TaskBirthday extends Task
|
||||
{
|
||||
while (rs.next())
|
||||
{
|
||||
String text = Config.ALT_BIRTHDAY_MAIL_TEXT;
|
||||
text = text.replaceAll("$c1", rs.getString("char_name"));
|
||||
text = text.replaceAll("$s1", Integer.toString(rs.getInt("age")));
|
||||
|
||||
final String text = Config.ALT_BIRTHDAY_MAIL_TEXT.replaceAll("$c1", rs.getString("char_name")).replaceAll("$s1", Integer.toString(rs.getInt("age")));
|
||||
final Message msg = new Message(rs.getInt("charId"), Config.ALT_BIRTHDAY_MAIL_SUBJECT, text, MailType.BIRTHDAY);
|
||||
msg.createAttachments().addItem("Birthday", Config.ALT_BIRTHDAY_GIFT, 1, null, null);
|
||||
MailManager.getInstance().sendMessage(msg);
|
||||
|
@ -43,24 +43,25 @@ public class TaskClanLeaderApply extends Task
|
||||
@Override
|
||||
public void onTimeElapsed(ExecutedTask task)
|
||||
{
|
||||
final Calendar cal = Calendar.getInstance();
|
||||
if (cal.get(Calendar.DAY_OF_WEEK) == Config.ALT_CLAN_LEADER_DATE_CHANGE)
|
||||
if (Calendar.getInstance().get(Calendar.DAY_OF_WEEK) != Config.ALT_CLAN_LEADER_DATE_CHANGE)
|
||||
{
|
||||
for (L2Clan clan : ClanTable.getInstance().getClans())
|
||||
{
|
||||
if (clan.getNewLeaderId() != 0)
|
||||
{
|
||||
final L2ClanMember member = clan.getClanMember(clan.getNewLeaderId());
|
||||
if (member == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
clan.setNewLeader(member);
|
||||
}
|
||||
}
|
||||
_log.info(getClass().getSimpleName() + ": launched.");
|
||||
return;
|
||||
}
|
||||
|
||||
for (L2Clan clan : ClanTable.getInstance().getClans())
|
||||
{
|
||||
if (clan.getNewLeaderId() != 0)
|
||||
{
|
||||
final L2ClanMember member = clan.getClanMember(clan.getNewLeaderId());
|
||||
if (member == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
clan.setNewLeader(member);
|
||||
}
|
||||
}
|
||||
_log.info(getClass().getSimpleName() + ": launched.");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -47,26 +47,27 @@ public class TaskVitalityReset extends Task
|
||||
@Override
|
||||
public void onTimeElapsed(ExecutedTask task)
|
||||
{
|
||||
final Calendar cal = Calendar.getInstance();
|
||||
if (cal.get(Calendar.DAY_OF_WEEK) == Config.ALT_VITALITY_DATE_RESET)
|
||||
if (Calendar.getInstance().get(Calendar.DAY_OF_WEEK) != Config.ALT_VITALITY_DATE_RESET)
|
||||
{
|
||||
for (L2PcInstance player : L2World.getInstance().getPlayers())
|
||||
{
|
||||
player.setVitalityPoints(PcStat.MAX_VITALITY_POINTS, false);
|
||||
}
|
||||
|
||||
try (Connection con = DatabaseFactory.getInstance().getConnection();
|
||||
PreparedStatement st = con.prepareStatement("DELETE FROM account_gsdata WHERE var = ?"))
|
||||
{
|
||||
st.setString(1, PcStat.VITALITY_VARIABLE);
|
||||
st.execute();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.WARNING, "", e);
|
||||
}
|
||||
_log.info(getClass().getSimpleName() + ": launched.");
|
||||
return;
|
||||
}
|
||||
|
||||
for (L2PcInstance player : L2World.getInstance().getPlayers())
|
||||
{
|
||||
player.setVitalityPoints(PcStat.MAX_VITALITY_POINTS, false);
|
||||
}
|
||||
|
||||
try (Connection con = DatabaseFactory.getInstance().getConnection();
|
||||
PreparedStatement st = con.prepareStatement("DELETE FROM account_gsdata WHERE var = ?"))
|
||||
{
|
||||
st.setString(1, PcStat.VITALITY_VARIABLE);
|
||||
st.execute();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.WARNING, "", e);
|
||||
}
|
||||
_log.info(getClass().getSimpleName() + ": launched.");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user