Training camp improvements.
This commit is contained in:
@@ -114,15 +114,7 @@ public final class Recruiter extends AbstractNpcAI
|
|||||||
// @Sdw: Here we are supposed to send ExUserInfoEquipSlot with a fake equip of a SLS, feels ugly to me, not doing it.
|
// @Sdw: Here we are supposed to send ExUserInfoEquipSlot with a fake equip of a SLS, feels ugly to me, not doing it.
|
||||||
player.setTraingCampInfo(new TrainingHolder(player.getObjectId(), player.getClassIndex(), player.getLevel(), System.currentTimeMillis(), -1));
|
player.setTraingCampInfo(new TrainingHolder(player.getObjectId(), player.getClassIndex(), player.getLevel(), System.currentTimeMillis(), -1));
|
||||||
final long timeRemaining = Config.TRAINING_CAMP_MAX_DURATION - trainingCampDuration;
|
final long timeRemaining = Config.TRAINING_CAMP_MAX_DURATION - trainingCampDuration;
|
||||||
if (trainingCampDuration > 0)
|
|
||||||
{
|
|
||||||
player.sendPacket(new ExTrainingZone_Admission(player.getLevel(), 0L, timeRemaining));
|
player.sendPacket(new ExTrainingZone_Admission(player.getLevel(), 0L, timeRemaining));
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
player.sendPacket(new ExTrainingZone_Admission(player));
|
|
||||||
}
|
|
||||||
|
|
||||||
startQuestTimer("finish", TimeUnit.SECONDS.toMillis(timeRemaining), npc, player);
|
startQuestTimer("finish", TimeUnit.SECONDS.toMillis(timeRemaining), npc, player);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -147,10 +139,8 @@ public final class Recruiter extends AbstractNpcAI
|
|||||||
final long trainingTime = Math.max(0, holder.getTrainingTime(TimeUnit.MINUTES));
|
final long trainingTime = Math.max(0, holder.getTrainingTime(TimeUnit.MINUTES));
|
||||||
if (trainingTime > 0)
|
if (trainingTime > 0)
|
||||||
{
|
{
|
||||||
long expGained = 0;
|
final long expGained = (long) ((trainingTime * (ExperienceData.getInstance().getExpForLevel(holder.getLevel()) * ExperienceData.getInstance().getTrainingRate(holder.getLevel()))) / TrainingHolder.getTrainingDivider()) / 60;
|
||||||
long spGained = 0;
|
final long spGained = expGained / 250L;
|
||||||
expGained = (long) ((trainingTime * (ExperienceData.getInstance().getExpForLevel(holder.getLevel()) * ExperienceData.getInstance().getTrainingRate(holder.getLevel()))) / TrainingHolder.getTrainingDivider());
|
|
||||||
spGained = expGained / 250L;
|
|
||||||
String html = getHtm(player.getHtmlPrefix(), "4378-04.htm");
|
String html = getHtm(player.getHtmlPrefix(), "4378-04.htm");
|
||||||
html = html.replace("%training_level%", String.valueOf(holder.getLevel()));
|
html = html.replace("%training_level%", String.valueOf(holder.getLevel()));
|
||||||
html = html.replace("%training_time%", String.valueOf(trainingTime));
|
html = html.replace("%training_time%", String.valueOf(trainingTime));
|
||||||
@@ -186,7 +176,7 @@ public final class Recruiter extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
player.sendPacket(SystemMessageId.CALCULATING_XP_AND_SP_OBTAINED_FROM_TRAINING);
|
player.sendPacket(SystemMessageId.CALCULATING_XP_AND_SP_OBTAINED_FROM_TRAINING);
|
||||||
|
|
||||||
final long expGained = (long) (trainingTime * (ExperienceData.getInstance().getExpForLevel(player.getLevel()) * ExperienceData.getInstance().getTrainingRate(player.getLevel()))) / TrainingHolder.getTrainingDivider();
|
final long expGained = (long) ((trainingTime * (ExperienceData.getInstance().getExpForLevel(player.getLevel()) * ExperienceData.getInstance().getTrainingRate(player.getLevel()))) / TrainingHolder.getTrainingDivider()) / 60;
|
||||||
final long spGained = expGained / 250;
|
final long spGained = expGained / 250;
|
||||||
player.addExpAndSp(expGained, spGained);
|
player.addExpAndSp(expGained, spGained);
|
||||||
|
|
||||||
@@ -215,6 +205,7 @@ public final class Recruiter extends AbstractNpcAI
|
|||||||
if ((holder != null) && (holder.getObjectId() == player.getObjectId()))
|
if ((holder != null) && (holder.getObjectId() == player.getObjectId()))
|
||||||
{
|
{
|
||||||
holder.setEndTime(System.currentTimeMillis());
|
holder.setEndTime(System.currentTimeMillis());
|
||||||
|
player.setTraingCampInfo(holder);
|
||||||
player.enableAllSkills();
|
player.enableAllSkills();
|
||||||
player.setIsInvul(false);
|
player.setIsInvul(false);
|
||||||
player.setInvisible(false);
|
player.setInvisible(false);
|
||||||
|
@@ -53,6 +53,7 @@ public class NotifyTrainingRoomEnd implements IClientIncomingPacket
|
|||||||
if (holder.isTraining())
|
if (holder.isTraining())
|
||||||
{
|
{
|
||||||
holder.setEndTime(System.currentTimeMillis());
|
holder.setEndTime(System.currentTimeMillis());
|
||||||
|
activeChar.setTraingCampInfo(holder);
|
||||||
activeChar.enableAllSkills();
|
activeChar.enableAllSkills();
|
||||||
activeChar.setIsInvul(false);
|
activeChar.setIsInvul(false);
|
||||||
activeChar.setInvisible(false);
|
activeChar.setInvisible(false);
|
||||||
|
@@ -19,7 +19,6 @@ package com.l2jmobius.gameserver.network.serverpackets.training;
|
|||||||
import com.l2jmobius.Config;
|
import com.l2jmobius.Config;
|
||||||
import com.l2jmobius.commons.network.PacketWriter;
|
import com.l2jmobius.commons.network.PacketWriter;
|
||||||
import com.l2jmobius.gameserver.data.xml.impl.ExperienceData;
|
import com.l2jmobius.gameserver.data.xml.impl.ExperienceData;
|
||||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
|
||||||
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
||||||
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
|
|
||||||
@@ -33,14 +32,6 @@ public class ExTrainingZone_Admission implements IClientOutgoingPacket
|
|||||||
private final double _maxExp;
|
private final double _maxExp;
|
||||||
private final double _maxSp;
|
private final double _maxSp;
|
||||||
|
|
||||||
public ExTrainingZone_Admission(L2PcInstance player)
|
|
||||||
{
|
|
||||||
_timeElapsed = 0;
|
|
||||||
_timeRemaining = Config.TRAINING_CAMP_MAX_DURATION;
|
|
||||||
_maxExp = (ExperienceData.getInstance().getExpForLevel(player.getLevel()) * ExperienceData.getInstance().getTrainingRate(player.getLevel())) / Config.TRAINING_CAMP_MAX_DURATION;
|
|
||||||
_maxSp = _maxExp / 250d;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ExTrainingZone_Admission(int level, long timeElapsed, long timeRemaing)
|
public ExTrainingZone_Admission(int level, long timeElapsed, long timeRemaing)
|
||||||
{
|
{
|
||||||
_timeElapsed = timeElapsed;
|
_timeElapsed = timeElapsed;
|
||||||
|
@@ -114,15 +114,7 @@ public final class Recruiter extends AbstractNpcAI
|
|||||||
// @Sdw: Here we are supposed to send ExUserInfoEquipSlot with a fake equip of a SLS, feels ugly to me, not doing it.
|
// @Sdw: Here we are supposed to send ExUserInfoEquipSlot with a fake equip of a SLS, feels ugly to me, not doing it.
|
||||||
player.setTraingCampInfo(new TrainingHolder(player.getObjectId(), player.getClassIndex(), player.getLevel(), System.currentTimeMillis(), -1));
|
player.setTraingCampInfo(new TrainingHolder(player.getObjectId(), player.getClassIndex(), player.getLevel(), System.currentTimeMillis(), -1));
|
||||||
final long timeRemaining = Config.TRAINING_CAMP_MAX_DURATION - trainingCampDuration;
|
final long timeRemaining = Config.TRAINING_CAMP_MAX_DURATION - trainingCampDuration;
|
||||||
if (trainingCampDuration > 0)
|
|
||||||
{
|
|
||||||
player.sendPacket(new ExTrainingZone_Admission(player.getLevel(), 0L, timeRemaining));
|
player.sendPacket(new ExTrainingZone_Admission(player.getLevel(), 0L, timeRemaining));
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
player.sendPacket(new ExTrainingZone_Admission(player));
|
|
||||||
}
|
|
||||||
|
|
||||||
startQuestTimer("finish", TimeUnit.SECONDS.toMillis(timeRemaining), npc, player);
|
startQuestTimer("finish", TimeUnit.SECONDS.toMillis(timeRemaining), npc, player);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -147,10 +139,8 @@ public final class Recruiter extends AbstractNpcAI
|
|||||||
final long trainingTime = Math.max(0, holder.getTrainingTime(TimeUnit.MINUTES));
|
final long trainingTime = Math.max(0, holder.getTrainingTime(TimeUnit.MINUTES));
|
||||||
if (trainingTime > 0)
|
if (trainingTime > 0)
|
||||||
{
|
{
|
||||||
long expGained = 0;
|
final long expGained = (long) ((trainingTime * (ExperienceData.getInstance().getExpForLevel(holder.getLevel()) * ExperienceData.getInstance().getTrainingRate(holder.getLevel()))) / TrainingHolder.getTrainingDivider()) / 60;
|
||||||
long spGained = 0;
|
final long spGained = expGained / 250L;
|
||||||
expGained = (long) ((trainingTime * (ExperienceData.getInstance().getExpForLevel(holder.getLevel()) * ExperienceData.getInstance().getTrainingRate(holder.getLevel()))) / TrainingHolder.getTrainingDivider());
|
|
||||||
spGained = expGained / 250L;
|
|
||||||
String html = getHtm(player.getHtmlPrefix(), "4378-04.htm");
|
String html = getHtm(player.getHtmlPrefix(), "4378-04.htm");
|
||||||
html = html.replace("%training_level%", String.valueOf(holder.getLevel()));
|
html = html.replace("%training_level%", String.valueOf(holder.getLevel()));
|
||||||
html = html.replace("%training_time%", String.valueOf(trainingTime));
|
html = html.replace("%training_time%", String.valueOf(trainingTime));
|
||||||
@@ -186,7 +176,7 @@ public final class Recruiter extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
player.sendPacket(SystemMessageId.CALCULATING_XP_AND_SP_OBTAINED_FROM_TRAINING);
|
player.sendPacket(SystemMessageId.CALCULATING_XP_AND_SP_OBTAINED_FROM_TRAINING);
|
||||||
|
|
||||||
final long expGained = (long) (trainingTime * (ExperienceData.getInstance().getExpForLevel(player.getLevel()) * ExperienceData.getInstance().getTrainingRate(player.getLevel()))) / TrainingHolder.getTrainingDivider();
|
final long expGained = (long) ((trainingTime * (ExperienceData.getInstance().getExpForLevel(player.getLevel()) * ExperienceData.getInstance().getTrainingRate(player.getLevel()))) / TrainingHolder.getTrainingDivider()) / 60;
|
||||||
final long spGained = expGained / 250;
|
final long spGained = expGained / 250;
|
||||||
player.addExpAndSp(expGained, spGained);
|
player.addExpAndSp(expGained, spGained);
|
||||||
|
|
||||||
@@ -215,6 +205,7 @@ public final class Recruiter extends AbstractNpcAI
|
|||||||
if ((holder != null) && (holder.getObjectId() == player.getObjectId()))
|
if ((holder != null) && (holder.getObjectId() == player.getObjectId()))
|
||||||
{
|
{
|
||||||
holder.setEndTime(System.currentTimeMillis());
|
holder.setEndTime(System.currentTimeMillis());
|
||||||
|
player.setTraingCampInfo(holder);
|
||||||
player.enableAllSkills();
|
player.enableAllSkills();
|
||||||
player.setIsInvul(false);
|
player.setIsInvul(false);
|
||||||
player.setInvisible(false);
|
player.setInvisible(false);
|
||||||
|
@@ -53,6 +53,7 @@ public class NotifyTrainingRoomEnd implements IClientIncomingPacket
|
|||||||
if (holder.isTraining())
|
if (holder.isTraining())
|
||||||
{
|
{
|
||||||
holder.setEndTime(System.currentTimeMillis());
|
holder.setEndTime(System.currentTimeMillis());
|
||||||
|
activeChar.setTraingCampInfo(holder);
|
||||||
activeChar.enableAllSkills();
|
activeChar.enableAllSkills();
|
||||||
activeChar.setIsInvul(false);
|
activeChar.setIsInvul(false);
|
||||||
activeChar.setInvisible(false);
|
activeChar.setInvisible(false);
|
||||||
|
@@ -19,7 +19,6 @@ package com.l2jmobius.gameserver.network.serverpackets.training;
|
|||||||
import com.l2jmobius.Config;
|
import com.l2jmobius.Config;
|
||||||
import com.l2jmobius.commons.network.PacketWriter;
|
import com.l2jmobius.commons.network.PacketWriter;
|
||||||
import com.l2jmobius.gameserver.data.xml.impl.ExperienceData;
|
import com.l2jmobius.gameserver.data.xml.impl.ExperienceData;
|
||||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
|
||||||
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
||||||
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
|
|
||||||
@@ -33,14 +32,6 @@ public class ExTrainingZone_Admission implements IClientOutgoingPacket
|
|||||||
private final double _maxExp;
|
private final double _maxExp;
|
||||||
private final double _maxSp;
|
private final double _maxSp;
|
||||||
|
|
||||||
public ExTrainingZone_Admission(L2PcInstance player)
|
|
||||||
{
|
|
||||||
_timeElapsed = 0;
|
|
||||||
_timeRemaining = Config.TRAINING_CAMP_MAX_DURATION;
|
|
||||||
_maxExp = (ExperienceData.getInstance().getExpForLevel(player.getLevel()) * ExperienceData.getInstance().getTrainingRate(player.getLevel())) / Config.TRAINING_CAMP_MAX_DURATION;
|
|
||||||
_maxSp = _maxExp / 250d;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ExTrainingZone_Admission(int level, long timeElapsed, long timeRemaing)
|
public ExTrainingZone_Admission(int level, long timeElapsed, long timeRemaing)
|
||||||
{
|
{
|
||||||
_timeElapsed = timeElapsed;
|
_timeElapsed = timeElapsed;
|
||||||
|
@@ -114,15 +114,7 @@ public final class Recruiter extends AbstractNpcAI
|
|||||||
// @Sdw: Here we are supposed to send ExUserInfoEquipSlot with a fake equip of a SLS, feels ugly to me, not doing it.
|
// @Sdw: Here we are supposed to send ExUserInfoEquipSlot with a fake equip of a SLS, feels ugly to me, not doing it.
|
||||||
player.setTraingCampInfo(new TrainingHolder(player.getObjectId(), player.getClassIndex(), player.getLevel(), System.currentTimeMillis(), -1));
|
player.setTraingCampInfo(new TrainingHolder(player.getObjectId(), player.getClassIndex(), player.getLevel(), System.currentTimeMillis(), -1));
|
||||||
final long timeRemaining = Config.TRAINING_CAMP_MAX_DURATION - trainingCampDuration;
|
final long timeRemaining = Config.TRAINING_CAMP_MAX_DURATION - trainingCampDuration;
|
||||||
if (trainingCampDuration > 0)
|
|
||||||
{
|
|
||||||
player.sendPacket(new ExTrainingZone_Admission(player.getLevel(), 0L, timeRemaining));
|
player.sendPacket(new ExTrainingZone_Admission(player.getLevel(), 0L, timeRemaining));
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
player.sendPacket(new ExTrainingZone_Admission(player));
|
|
||||||
}
|
|
||||||
|
|
||||||
startQuestTimer("finish", TimeUnit.SECONDS.toMillis(timeRemaining), npc, player);
|
startQuestTimer("finish", TimeUnit.SECONDS.toMillis(timeRemaining), npc, player);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -147,10 +139,8 @@ public final class Recruiter extends AbstractNpcAI
|
|||||||
final long trainingTime = Math.max(0, holder.getTrainingTime(TimeUnit.MINUTES));
|
final long trainingTime = Math.max(0, holder.getTrainingTime(TimeUnit.MINUTES));
|
||||||
if (trainingTime > 0)
|
if (trainingTime > 0)
|
||||||
{
|
{
|
||||||
long expGained = 0;
|
final long expGained = (long) ((trainingTime * (ExperienceData.getInstance().getExpForLevel(holder.getLevel()) * ExperienceData.getInstance().getTrainingRate(holder.getLevel()))) / TrainingHolder.getTrainingDivider()) / 60;
|
||||||
long spGained = 0;
|
final long spGained = expGained / 250L;
|
||||||
expGained = (long) ((trainingTime * (ExperienceData.getInstance().getExpForLevel(holder.getLevel()) * ExperienceData.getInstance().getTrainingRate(holder.getLevel()))) / TrainingHolder.getTrainingDivider());
|
|
||||||
spGained = expGained / 250L;
|
|
||||||
String html = getHtm(player.getHtmlPrefix(), "4378-04.htm");
|
String html = getHtm(player.getHtmlPrefix(), "4378-04.htm");
|
||||||
html = html.replace("%training_level%", String.valueOf(holder.getLevel()));
|
html = html.replace("%training_level%", String.valueOf(holder.getLevel()));
|
||||||
html = html.replace("%training_time%", String.valueOf(trainingTime));
|
html = html.replace("%training_time%", String.valueOf(trainingTime));
|
||||||
@@ -186,7 +176,7 @@ public final class Recruiter extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
player.sendPacket(SystemMessageId.CALCULATING_XP_AND_SP_OBTAINED_FROM_TRAINING);
|
player.sendPacket(SystemMessageId.CALCULATING_XP_AND_SP_OBTAINED_FROM_TRAINING);
|
||||||
|
|
||||||
final long expGained = (long) (trainingTime * (ExperienceData.getInstance().getExpForLevel(player.getLevel()) * ExperienceData.getInstance().getTrainingRate(player.getLevel()))) / TrainingHolder.getTrainingDivider();
|
final long expGained = (long) ((trainingTime * (ExperienceData.getInstance().getExpForLevel(player.getLevel()) * ExperienceData.getInstance().getTrainingRate(player.getLevel()))) / TrainingHolder.getTrainingDivider()) / 60;
|
||||||
final long spGained = expGained / 250;
|
final long spGained = expGained / 250;
|
||||||
player.addExpAndSp(expGained, spGained);
|
player.addExpAndSp(expGained, spGained);
|
||||||
|
|
||||||
@@ -215,6 +205,7 @@ public final class Recruiter extends AbstractNpcAI
|
|||||||
if ((holder != null) && (holder.getObjectId() == player.getObjectId()))
|
if ((holder != null) && (holder.getObjectId() == player.getObjectId()))
|
||||||
{
|
{
|
||||||
holder.setEndTime(System.currentTimeMillis());
|
holder.setEndTime(System.currentTimeMillis());
|
||||||
|
player.setTraingCampInfo(holder);
|
||||||
player.enableAllSkills();
|
player.enableAllSkills();
|
||||||
player.setIsInvul(false);
|
player.setIsInvul(false);
|
||||||
player.setInvisible(false);
|
player.setInvisible(false);
|
||||||
|
@@ -53,6 +53,7 @@ public class NotifyTrainingRoomEnd implements IClientIncomingPacket
|
|||||||
if (holder.isTraining())
|
if (holder.isTraining())
|
||||||
{
|
{
|
||||||
holder.setEndTime(System.currentTimeMillis());
|
holder.setEndTime(System.currentTimeMillis());
|
||||||
|
activeChar.setTraingCampInfo(holder);
|
||||||
activeChar.enableAllSkills();
|
activeChar.enableAllSkills();
|
||||||
activeChar.setIsInvul(false);
|
activeChar.setIsInvul(false);
|
||||||
activeChar.setInvisible(false);
|
activeChar.setInvisible(false);
|
||||||
|
@@ -19,7 +19,6 @@ package com.l2jmobius.gameserver.network.serverpackets.training;
|
|||||||
import com.l2jmobius.Config;
|
import com.l2jmobius.Config;
|
||||||
import com.l2jmobius.commons.network.PacketWriter;
|
import com.l2jmobius.commons.network.PacketWriter;
|
||||||
import com.l2jmobius.gameserver.data.xml.impl.ExperienceData;
|
import com.l2jmobius.gameserver.data.xml.impl.ExperienceData;
|
||||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
|
||||||
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
||||||
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
|
|
||||||
@@ -33,14 +32,6 @@ public class ExTrainingZone_Admission implements IClientOutgoingPacket
|
|||||||
private final double _maxExp;
|
private final double _maxExp;
|
||||||
private final double _maxSp;
|
private final double _maxSp;
|
||||||
|
|
||||||
public ExTrainingZone_Admission(L2PcInstance player)
|
|
||||||
{
|
|
||||||
_timeElapsed = 0;
|
|
||||||
_timeRemaining = Config.TRAINING_CAMP_MAX_DURATION;
|
|
||||||
_maxExp = (ExperienceData.getInstance().getExpForLevel(player.getLevel()) * ExperienceData.getInstance().getTrainingRate(player.getLevel())) / Config.TRAINING_CAMP_MAX_DURATION;
|
|
||||||
_maxSp = _maxExp / 250d;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ExTrainingZone_Admission(int level, long timeElapsed, long timeRemaing)
|
public ExTrainingZone_Admission(int level, long timeElapsed, long timeRemaing)
|
||||||
{
|
{
|
||||||
_timeElapsed = timeElapsed;
|
_timeElapsed = timeElapsed;
|
||||||
|
@@ -114,15 +114,7 @@ public final class Recruiter extends AbstractNpcAI
|
|||||||
// @Sdw: Here we are supposed to send ExUserInfoEquipSlot with a fake equip of a SLS, feels ugly to me, not doing it.
|
// @Sdw: Here we are supposed to send ExUserInfoEquipSlot with a fake equip of a SLS, feels ugly to me, not doing it.
|
||||||
player.setTraingCampInfo(new TrainingHolder(player.getObjectId(), player.getClassIndex(), player.getLevel(), System.currentTimeMillis(), -1));
|
player.setTraingCampInfo(new TrainingHolder(player.getObjectId(), player.getClassIndex(), player.getLevel(), System.currentTimeMillis(), -1));
|
||||||
final long timeRemaining = Config.TRAINING_CAMP_MAX_DURATION - trainingCampDuration;
|
final long timeRemaining = Config.TRAINING_CAMP_MAX_DURATION - trainingCampDuration;
|
||||||
if (trainingCampDuration > 0)
|
|
||||||
{
|
|
||||||
player.sendPacket(new ExTrainingZone_Admission(player.getLevel(), 0L, timeRemaining));
|
player.sendPacket(new ExTrainingZone_Admission(player.getLevel(), 0L, timeRemaining));
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
player.sendPacket(new ExTrainingZone_Admission(player));
|
|
||||||
}
|
|
||||||
|
|
||||||
startQuestTimer("finish", TimeUnit.SECONDS.toMillis(timeRemaining), npc, player);
|
startQuestTimer("finish", TimeUnit.SECONDS.toMillis(timeRemaining), npc, player);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -147,10 +139,8 @@ public final class Recruiter extends AbstractNpcAI
|
|||||||
final long trainingTime = Math.max(0, holder.getTrainingTime(TimeUnit.MINUTES));
|
final long trainingTime = Math.max(0, holder.getTrainingTime(TimeUnit.MINUTES));
|
||||||
if (trainingTime > 0)
|
if (trainingTime > 0)
|
||||||
{
|
{
|
||||||
long expGained = 0;
|
final long expGained = (long) ((trainingTime * (ExperienceData.getInstance().getExpForLevel(holder.getLevel()) * ExperienceData.getInstance().getTrainingRate(holder.getLevel()))) / TrainingHolder.getTrainingDivider()) / 60;
|
||||||
long spGained = 0;
|
final long spGained = expGained / 250L;
|
||||||
expGained = (long) ((trainingTime * (ExperienceData.getInstance().getExpForLevel(holder.getLevel()) * ExperienceData.getInstance().getTrainingRate(holder.getLevel()))) / TrainingHolder.getTrainingDivider());
|
|
||||||
spGained = expGained / 250L;
|
|
||||||
String html = getHtm(player.getHtmlPrefix(), "4378-04.htm");
|
String html = getHtm(player.getHtmlPrefix(), "4378-04.htm");
|
||||||
html = html.replace("%training_level%", String.valueOf(holder.getLevel()));
|
html = html.replace("%training_level%", String.valueOf(holder.getLevel()));
|
||||||
html = html.replace("%training_time%", String.valueOf(trainingTime));
|
html = html.replace("%training_time%", String.valueOf(trainingTime));
|
||||||
@@ -186,7 +176,7 @@ public final class Recruiter extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
player.sendPacket(SystemMessageId.CALCULATING_XP_AND_SP_OBTAINED_FROM_TRAINING);
|
player.sendPacket(SystemMessageId.CALCULATING_XP_AND_SP_OBTAINED_FROM_TRAINING);
|
||||||
|
|
||||||
final long expGained = (long) (trainingTime * (ExperienceData.getInstance().getExpForLevel(player.getLevel()) * ExperienceData.getInstance().getTrainingRate(player.getLevel()))) / TrainingHolder.getTrainingDivider();
|
final long expGained = (long) ((trainingTime * (ExperienceData.getInstance().getExpForLevel(player.getLevel()) * ExperienceData.getInstance().getTrainingRate(player.getLevel()))) / TrainingHolder.getTrainingDivider()) / 60;
|
||||||
final long spGained = expGained / 250;
|
final long spGained = expGained / 250;
|
||||||
player.addExpAndSp(expGained, spGained);
|
player.addExpAndSp(expGained, spGained);
|
||||||
|
|
||||||
@@ -215,6 +205,7 @@ public final class Recruiter extends AbstractNpcAI
|
|||||||
if ((holder != null) && (holder.getObjectId() == player.getObjectId()))
|
if ((holder != null) && (holder.getObjectId() == player.getObjectId()))
|
||||||
{
|
{
|
||||||
holder.setEndTime(System.currentTimeMillis());
|
holder.setEndTime(System.currentTimeMillis());
|
||||||
|
player.setTraingCampInfo(holder);
|
||||||
player.enableAllSkills();
|
player.enableAllSkills();
|
||||||
player.setIsInvul(false);
|
player.setIsInvul(false);
|
||||||
player.setInvisible(false);
|
player.setInvisible(false);
|
||||||
|
@@ -53,6 +53,7 @@ public class NotifyTrainingRoomEnd implements IClientIncomingPacket
|
|||||||
if (holder.isTraining())
|
if (holder.isTraining())
|
||||||
{
|
{
|
||||||
holder.setEndTime(System.currentTimeMillis());
|
holder.setEndTime(System.currentTimeMillis());
|
||||||
|
activeChar.setTraingCampInfo(holder);
|
||||||
activeChar.enableAllSkills();
|
activeChar.enableAllSkills();
|
||||||
activeChar.setIsInvul(false);
|
activeChar.setIsInvul(false);
|
||||||
activeChar.setInvisible(false);
|
activeChar.setInvisible(false);
|
||||||
|
@@ -19,7 +19,6 @@ package com.l2jmobius.gameserver.network.serverpackets.training;
|
|||||||
import com.l2jmobius.Config;
|
import com.l2jmobius.Config;
|
||||||
import com.l2jmobius.commons.network.PacketWriter;
|
import com.l2jmobius.commons.network.PacketWriter;
|
||||||
import com.l2jmobius.gameserver.data.xml.impl.ExperienceData;
|
import com.l2jmobius.gameserver.data.xml.impl.ExperienceData;
|
||||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
|
||||||
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
||||||
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
|
|
||||||
@@ -33,14 +32,6 @@ public class ExTrainingZone_Admission implements IClientOutgoingPacket
|
|||||||
private final double _maxExp;
|
private final double _maxExp;
|
||||||
private final double _maxSp;
|
private final double _maxSp;
|
||||||
|
|
||||||
public ExTrainingZone_Admission(L2PcInstance player)
|
|
||||||
{
|
|
||||||
_timeElapsed = 0;
|
|
||||||
_timeRemaining = Config.TRAINING_CAMP_MAX_DURATION;
|
|
||||||
_maxExp = (ExperienceData.getInstance().getExpForLevel(player.getLevel()) * ExperienceData.getInstance().getTrainingRate(player.getLevel())) / Config.TRAINING_CAMP_MAX_DURATION;
|
|
||||||
_maxSp = _maxExp / 250d;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ExTrainingZone_Admission(int level, long timeElapsed, long timeRemaing)
|
public ExTrainingZone_Admission(int level, long timeElapsed, long timeRemaing)
|
||||||
{
|
{
|
||||||
_timeElapsed = timeElapsed;
|
_timeElapsed = timeElapsed;
|
||||||
|
@@ -53,6 +53,7 @@ public class NotifyTrainingRoomEnd implements IClientIncomingPacket
|
|||||||
if (holder.isTraining())
|
if (holder.isTraining())
|
||||||
{
|
{
|
||||||
holder.setEndTime(System.currentTimeMillis());
|
holder.setEndTime(System.currentTimeMillis());
|
||||||
|
activeChar.setTraingCampInfo(holder);
|
||||||
activeChar.enableAllSkills();
|
activeChar.enableAllSkills();
|
||||||
activeChar.setIsInvul(false);
|
activeChar.setIsInvul(false);
|
||||||
activeChar.setInvisible(false);
|
activeChar.setInvisible(false);
|
||||||
|
@@ -19,7 +19,6 @@ package com.l2jmobius.gameserver.network.serverpackets.training;
|
|||||||
import com.l2jmobius.Config;
|
import com.l2jmobius.Config;
|
||||||
import com.l2jmobius.commons.network.PacketWriter;
|
import com.l2jmobius.commons.network.PacketWriter;
|
||||||
import com.l2jmobius.gameserver.data.xml.impl.ExperienceData;
|
import com.l2jmobius.gameserver.data.xml.impl.ExperienceData;
|
||||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
|
||||||
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
||||||
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
|
|
||||||
@@ -33,14 +32,6 @@ public class ExTrainingZone_Admission implements IClientOutgoingPacket
|
|||||||
private final double _maxExp;
|
private final double _maxExp;
|
||||||
private final double _maxSp;
|
private final double _maxSp;
|
||||||
|
|
||||||
public ExTrainingZone_Admission(L2PcInstance player)
|
|
||||||
{
|
|
||||||
_timeElapsed = 0;
|
|
||||||
_timeRemaining = Config.TRAINING_CAMP_MAX_DURATION;
|
|
||||||
_maxExp = (ExperienceData.getInstance().getExpForLevel(player.getLevel()) * ExperienceData.getInstance().getTrainingRate(player.getLevel())) / Config.TRAINING_CAMP_MAX_DURATION;
|
|
||||||
_maxSp = _maxExp / 250d;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ExTrainingZone_Admission(int level, long timeElapsed, long timeRemaing)
|
public ExTrainingZone_Admission(int level, long timeElapsed, long timeRemaing)
|
||||||
{
|
{
|
||||||
_timeElapsed = timeElapsed;
|
_timeElapsed = timeElapsed;
|
||||||
|
Reference in New Issue
Block a user