Extract elemental spirit adjustments.
Thanks to Mode.
This commit is contained in:
@@ -96,6 +96,13 @@ public class ElementalSpirit
|
|||||||
while (_data.getExperience() > getExperienceToNextLevel());
|
while (_data.getExperience() > getExperienceToNextLevel());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void reduceLevel()
|
||||||
|
{
|
||||||
|
_data.setLevel((byte) Math.max(1, _data.getLevel() - 1));
|
||||||
|
_data.setExperience(ElementalSpiritData.getInstance().getSpirit(getType(), getStage()).getMaxExperienceAtLevel((byte) (getLevel() - 1)));
|
||||||
|
resetCharacteristics();
|
||||||
|
}
|
||||||
|
|
||||||
public int getAvailableCharacteristicsPoints()
|
public int getAvailableCharacteristicsPoints()
|
||||||
{
|
{
|
||||||
final int stage = _data.getStage();
|
final int stage = _data.getStage();
|
||||||
@@ -118,7 +125,12 @@ public class ElementalSpirit
|
|||||||
|
|
||||||
public int getExtractAmount()
|
public int getExtractAmount()
|
||||||
{
|
{
|
||||||
return Math.round(_data.getExperience() / ElementalSpiritData.FRAGMENT_XP_CONSUME);
|
int amount = Math.round(_data.getExperience() / ElementalSpiritData.FRAGMENT_XP_CONSUME);
|
||||||
|
if (getLevel() > 1)
|
||||||
|
{
|
||||||
|
amount += ElementalSpiritData.getInstance().getSpirit(getType(), getStage()).getMaxExperienceAtLevel((byte) (getLevel() - 1)) / ElementalSpiritData.FRAGMENT_XP_CONSUME;
|
||||||
|
}
|
||||||
|
return amount;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void resetStage()
|
public void resetStage()
|
||||||
|
@@ -65,7 +65,7 @@ public class ExElementalSpiritExtract implements IClientIncomingPacket
|
|||||||
{
|
{
|
||||||
final int amount = spirit.getExtractAmount();
|
final int amount = spirit.getExtractAmount();
|
||||||
client.sendPacket(new SystemMessage(SystemMessageId.EXTRACTED_S1_S2_SUCCESSFULLY).addItemName(spirit.getExtractItem()).addInt(amount));
|
client.sendPacket(new SystemMessage(SystemMessageId.EXTRACTED_S1_S2_SUCCESSFULLY).addItemName(spirit.getExtractItem()).addInt(amount));
|
||||||
spirit.resetStage();
|
spirit.reduceLevel();
|
||||||
player.addItem("Extract", spirit.getExtractItem(), amount, player, true);
|
player.addItem("Extract", spirit.getExtractItem(), amount, player, true);
|
||||||
|
|
||||||
final UserInfo userInfo = new UserInfo(player);
|
final UserInfo userInfo = new UserInfo(player);
|
||||||
@@ -78,7 +78,7 @@ public class ExElementalSpiritExtract implements IClientIncomingPacket
|
|||||||
|
|
||||||
private boolean checkConditions(PlayerInstance player, ElementalSpirit spirit)
|
private boolean checkConditions(PlayerInstance player, ElementalSpirit spirit)
|
||||||
{
|
{
|
||||||
if (spirit.getExtractAmount() < 1)
|
if ((spirit.getLevel() < 2) || (spirit.getExtractAmount() < 1))
|
||||||
{
|
{
|
||||||
player.sendPacket(SystemMessageId.NOT_ENOUGH_ATTRIBUTE_XP_FOR_EXTRACTION);
|
player.sendPacket(SystemMessageId.NOT_ENOUGH_ATTRIBUTE_XP_FOR_EXTRACTION);
|
||||||
return false;
|
return false;
|
||||||
|
@@ -96,6 +96,13 @@ public class ElementalSpirit
|
|||||||
while (_data.getExperience() > getExperienceToNextLevel());
|
while (_data.getExperience() > getExperienceToNextLevel());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void reduceLevel()
|
||||||
|
{
|
||||||
|
_data.setLevel((byte) Math.max(1, _data.getLevel() - 1));
|
||||||
|
_data.setExperience(ElementalSpiritData.getInstance().getSpirit(getType(), getStage()).getMaxExperienceAtLevel((byte) (getLevel() - 1)));
|
||||||
|
resetCharacteristics();
|
||||||
|
}
|
||||||
|
|
||||||
public int getAvailableCharacteristicsPoints()
|
public int getAvailableCharacteristicsPoints()
|
||||||
{
|
{
|
||||||
final int stage = _data.getStage();
|
final int stage = _data.getStage();
|
||||||
@@ -118,7 +125,12 @@ public class ElementalSpirit
|
|||||||
|
|
||||||
public int getExtractAmount()
|
public int getExtractAmount()
|
||||||
{
|
{
|
||||||
return Math.round(_data.getExperience() / ElementalSpiritData.FRAGMENT_XP_CONSUME);
|
int amount = Math.round(_data.getExperience() / ElementalSpiritData.FRAGMENT_XP_CONSUME);
|
||||||
|
if (getLevel() > 1)
|
||||||
|
{
|
||||||
|
amount += ElementalSpiritData.getInstance().getSpirit(getType(), getStage()).getMaxExperienceAtLevel((byte) (getLevel() - 1)) / ElementalSpiritData.FRAGMENT_XP_CONSUME;
|
||||||
|
}
|
||||||
|
return amount;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void resetStage()
|
public void resetStage()
|
||||||
|
@@ -65,7 +65,7 @@ public class ExElementalSpiritExtract implements IClientIncomingPacket
|
|||||||
{
|
{
|
||||||
final int amount = spirit.getExtractAmount();
|
final int amount = spirit.getExtractAmount();
|
||||||
client.sendPacket(new SystemMessage(SystemMessageId.EXTRACTED_S1_S2_SUCCESSFULLY).addItemName(spirit.getExtractItem()).addInt(amount));
|
client.sendPacket(new SystemMessage(SystemMessageId.EXTRACTED_S1_S2_SUCCESSFULLY).addItemName(spirit.getExtractItem()).addInt(amount));
|
||||||
spirit.resetStage();
|
spirit.reduceLevel();
|
||||||
player.addItem("Extract", spirit.getExtractItem(), amount, player, true);
|
player.addItem("Extract", spirit.getExtractItem(), amount, player, true);
|
||||||
|
|
||||||
final UserInfo userInfo = new UserInfo(player);
|
final UserInfo userInfo = new UserInfo(player);
|
||||||
@@ -78,7 +78,7 @@ public class ExElementalSpiritExtract implements IClientIncomingPacket
|
|||||||
|
|
||||||
private boolean checkConditions(PlayerInstance player, ElementalSpirit spirit)
|
private boolean checkConditions(PlayerInstance player, ElementalSpirit spirit)
|
||||||
{
|
{
|
||||||
if (spirit.getExtractAmount() < 1)
|
if ((spirit.getLevel() < 2) || (spirit.getExtractAmount() < 1))
|
||||||
{
|
{
|
||||||
player.sendPacket(SystemMessageId.NOT_ENOUGH_ATTRIBUTE_XP_FOR_EXTRACTION);
|
player.sendPacket(SystemMessageId.NOT_ENOUGH_ATTRIBUTE_XP_FOR_EXTRACTION);
|
||||||
return false;
|
return false;
|
||||||
|
@@ -96,6 +96,13 @@ public class ElementalSpirit
|
|||||||
while (_data.getExperience() > getExperienceToNextLevel());
|
while (_data.getExperience() > getExperienceToNextLevel());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void reduceLevel()
|
||||||
|
{
|
||||||
|
_data.setLevel((byte) Math.max(1, _data.getLevel() - 1));
|
||||||
|
_data.setExperience(ElementalSpiritData.getInstance().getSpirit(getType(), getStage()).getMaxExperienceAtLevel((byte) (getLevel() - 1)));
|
||||||
|
resetCharacteristics();
|
||||||
|
}
|
||||||
|
|
||||||
public int getAvailableCharacteristicsPoints()
|
public int getAvailableCharacteristicsPoints()
|
||||||
{
|
{
|
||||||
final int stage = _data.getStage();
|
final int stage = _data.getStage();
|
||||||
@@ -118,7 +125,12 @@ public class ElementalSpirit
|
|||||||
|
|
||||||
public int getExtractAmount()
|
public int getExtractAmount()
|
||||||
{
|
{
|
||||||
return Math.round(_data.getExperience() / ElementalSpiritData.FRAGMENT_XP_CONSUME);
|
int amount = Math.round(_data.getExperience() / ElementalSpiritData.FRAGMENT_XP_CONSUME);
|
||||||
|
if (getLevel() > 1)
|
||||||
|
{
|
||||||
|
amount += ElementalSpiritData.getInstance().getSpirit(getType(), getStage()).getMaxExperienceAtLevel((byte) (getLevel() - 1)) / ElementalSpiritData.FRAGMENT_XP_CONSUME;
|
||||||
|
}
|
||||||
|
return amount;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void resetStage()
|
public void resetStage()
|
||||||
|
@@ -65,7 +65,7 @@ public class ExElementalSpiritExtract implements IClientIncomingPacket
|
|||||||
{
|
{
|
||||||
final int amount = spirit.getExtractAmount();
|
final int amount = spirit.getExtractAmount();
|
||||||
client.sendPacket(new SystemMessage(SystemMessageId.EXTRACTED_S1_S2_SUCCESSFULLY).addItemName(spirit.getExtractItem()).addInt(amount));
|
client.sendPacket(new SystemMessage(SystemMessageId.EXTRACTED_S1_S2_SUCCESSFULLY).addItemName(spirit.getExtractItem()).addInt(amount));
|
||||||
spirit.resetStage();
|
spirit.reduceLevel();
|
||||||
player.addItem("Extract", spirit.getExtractItem(), amount, player, true);
|
player.addItem("Extract", spirit.getExtractItem(), amount, player, true);
|
||||||
|
|
||||||
final UserInfo userInfo = new UserInfo(player);
|
final UserInfo userInfo = new UserInfo(player);
|
||||||
@@ -78,7 +78,7 @@ public class ExElementalSpiritExtract implements IClientIncomingPacket
|
|||||||
|
|
||||||
private boolean checkConditions(PlayerInstance player, ElementalSpirit spirit)
|
private boolean checkConditions(PlayerInstance player, ElementalSpirit spirit)
|
||||||
{
|
{
|
||||||
if (spirit.getExtractAmount() < 1)
|
if ((spirit.getLevel() < 2) || (spirit.getExtractAmount() < 1))
|
||||||
{
|
{
|
||||||
player.sendPacket(SystemMessageId.NOT_ENOUGH_ATTRIBUTE_XP_FOR_EXTRACTION);
|
player.sendPacket(SystemMessageId.NOT_ENOUGH_ATTRIBUTE_XP_FOR_EXTRACTION);
|
||||||
return false;
|
return false;
|
||||||
|
@@ -96,6 +96,13 @@ public class ElementalSpirit
|
|||||||
while (_data.getExperience() > getExperienceToNextLevel());
|
while (_data.getExperience() > getExperienceToNextLevel());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void reduceLevel()
|
||||||
|
{
|
||||||
|
_data.setLevel((byte) Math.max(1, _data.getLevel() - 1));
|
||||||
|
_data.setExperience(ElementalSpiritData.getInstance().getSpirit(getType(), getStage()).getMaxExperienceAtLevel((byte) (getLevel() - 1)));
|
||||||
|
resetCharacteristics();
|
||||||
|
}
|
||||||
|
|
||||||
public int getAvailableCharacteristicsPoints()
|
public int getAvailableCharacteristicsPoints()
|
||||||
{
|
{
|
||||||
final int stage = _data.getStage();
|
final int stage = _data.getStage();
|
||||||
@@ -118,7 +125,12 @@ public class ElementalSpirit
|
|||||||
|
|
||||||
public int getExtractAmount()
|
public int getExtractAmount()
|
||||||
{
|
{
|
||||||
return Math.round(_data.getExperience() / ElementalSpiritData.FRAGMENT_XP_CONSUME);
|
int amount = Math.round(_data.getExperience() / ElementalSpiritData.FRAGMENT_XP_CONSUME);
|
||||||
|
if (getLevel() > 1)
|
||||||
|
{
|
||||||
|
amount += ElementalSpiritData.getInstance().getSpirit(getType(), getStage()).getMaxExperienceAtLevel((byte) (getLevel() - 1)) / ElementalSpiritData.FRAGMENT_XP_CONSUME;
|
||||||
|
}
|
||||||
|
return amount;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void resetStage()
|
public void resetStage()
|
||||||
|
@@ -65,7 +65,7 @@ public class ExElementalSpiritExtract implements IClientIncomingPacket
|
|||||||
{
|
{
|
||||||
final int amount = spirit.getExtractAmount();
|
final int amount = spirit.getExtractAmount();
|
||||||
client.sendPacket(new SystemMessage(SystemMessageId.EXTRACTED_S1_S2_SUCCESSFULLY).addItemName(spirit.getExtractItem()).addInt(amount));
|
client.sendPacket(new SystemMessage(SystemMessageId.EXTRACTED_S1_S2_SUCCESSFULLY).addItemName(spirit.getExtractItem()).addInt(amount));
|
||||||
spirit.resetStage();
|
spirit.reduceLevel();
|
||||||
player.addItem("Extract", spirit.getExtractItem(), amount, player, true);
|
player.addItem("Extract", spirit.getExtractItem(), amount, player, true);
|
||||||
|
|
||||||
final UserInfo userInfo = new UserInfo(player);
|
final UserInfo userInfo = new UserInfo(player);
|
||||||
@@ -78,7 +78,7 @@ public class ExElementalSpiritExtract implements IClientIncomingPacket
|
|||||||
|
|
||||||
private boolean checkConditions(PlayerInstance player, ElementalSpirit spirit)
|
private boolean checkConditions(PlayerInstance player, ElementalSpirit spirit)
|
||||||
{
|
{
|
||||||
if (spirit.getExtractAmount() < 1)
|
if ((spirit.getLevel() < 2) || (spirit.getExtractAmount() < 1))
|
||||||
{
|
{
|
||||||
player.sendPacket(SystemMessageId.NOT_ENOUGH_ATTRIBUTE_XP_FOR_EXTRACTION);
|
player.sendPacket(SystemMessageId.NOT_ENOUGH_ATTRIBUTE_XP_FOR_EXTRACTION);
|
||||||
return false;
|
return false;
|
||||||
|
@@ -96,6 +96,13 @@ public class ElementalSpirit
|
|||||||
while (_data.getExperience() > getExperienceToNextLevel());
|
while (_data.getExperience() > getExperienceToNextLevel());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void reduceLevel()
|
||||||
|
{
|
||||||
|
_data.setLevel((byte) Math.max(1, _data.getLevel() - 1));
|
||||||
|
_data.setExperience(ElementalSpiritData.getInstance().getSpirit(getType(), getStage()).getMaxExperienceAtLevel((byte) (getLevel() - 1)));
|
||||||
|
resetCharacteristics();
|
||||||
|
}
|
||||||
|
|
||||||
public int getAvailableCharacteristicsPoints()
|
public int getAvailableCharacteristicsPoints()
|
||||||
{
|
{
|
||||||
final int stage = _data.getStage();
|
final int stage = _data.getStage();
|
||||||
@@ -118,7 +125,12 @@ public class ElementalSpirit
|
|||||||
|
|
||||||
public int getExtractAmount()
|
public int getExtractAmount()
|
||||||
{
|
{
|
||||||
return Math.round(_data.getExperience() / ElementalSpiritData.FRAGMENT_XP_CONSUME);
|
int amount = Math.round(_data.getExperience() / ElementalSpiritData.FRAGMENT_XP_CONSUME);
|
||||||
|
if (getLevel() > 1)
|
||||||
|
{
|
||||||
|
amount += ElementalSpiritData.getInstance().getSpirit(getType(), getStage()).getMaxExperienceAtLevel((byte) (getLevel() - 1)) / ElementalSpiritData.FRAGMENT_XP_CONSUME;
|
||||||
|
}
|
||||||
|
return amount;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void resetStage()
|
public void resetStage()
|
||||||
|
@@ -65,7 +65,7 @@ public class ExElementalSpiritExtract implements IClientIncomingPacket
|
|||||||
{
|
{
|
||||||
final int amount = spirit.getExtractAmount();
|
final int amount = spirit.getExtractAmount();
|
||||||
client.sendPacket(new SystemMessage(SystemMessageId.EXTRACTED_S1_S2_SUCCESSFULLY).addItemName(spirit.getExtractItem()).addInt(amount));
|
client.sendPacket(new SystemMessage(SystemMessageId.EXTRACTED_S1_S2_SUCCESSFULLY).addItemName(spirit.getExtractItem()).addInt(amount));
|
||||||
spirit.resetStage();
|
spirit.reduceLevel();
|
||||||
player.addItem("Extract", spirit.getExtractItem(), amount, player, true);
|
player.addItem("Extract", spirit.getExtractItem(), amount, player, true);
|
||||||
|
|
||||||
final UserInfo userInfo = new UserInfo(player);
|
final UserInfo userInfo = new UserInfo(player);
|
||||||
@@ -78,7 +78,7 @@ public class ExElementalSpiritExtract implements IClientIncomingPacket
|
|||||||
|
|
||||||
private boolean checkConditions(PlayerInstance player, ElementalSpirit spirit)
|
private boolean checkConditions(PlayerInstance player, ElementalSpirit spirit)
|
||||||
{
|
{
|
||||||
if (spirit.getExtractAmount() < 1)
|
if ((spirit.getLevel() < 2) || (spirit.getExtractAmount() < 1))
|
||||||
{
|
{
|
||||||
player.sendPacket(SystemMessageId.NOT_ENOUGH_ATTRIBUTE_XP_FOR_EXTRACTION);
|
player.sendPacket(SystemMessageId.NOT_ENOUGH_ATTRIBUTE_XP_FOR_EXTRACTION);
|
||||||
return false;
|
return false;
|
||||||
|
Reference in New Issue
Block a user