Skills added from bonus stat system.
Thanks to nasseka.
This commit is contained in:
parent
b0c264b576
commit
aa8252283c
@ -71,5 +71,11 @@ public class StatUp extends AbstractEffect
|
||||
}
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
|
||||
// Calculate stat increase skills.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
effected.getActingPlayer().calculateStatIncreaseSkills();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -906,6 +906,8 @@ public class Player extends Playable
|
||||
|
||||
private PlayerRandomCraft _randomCraft = null;
|
||||
|
||||
private ScheduledFuture<?> _statIncreaseSkillTask;
|
||||
|
||||
private final Map<Integer, PetEvolveHolder> _petEvolves = new HashMap<>();
|
||||
|
||||
private final List<QuestTimer> _questTimers = new ArrayList<>();
|
||||
@ -14765,4 +14767,147 @@ public class Player extends Playable
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void calculateStatIncreaseSkills()
|
||||
{
|
||||
// Use a task to prevent multiple execution from effects.
|
||||
if (_statIncreaseSkillTask != null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_statIncreaseSkillTask = ThreadPool.schedule(() ->
|
||||
{
|
||||
Skill knownSkill;
|
||||
double statValue;
|
||||
boolean update = false;
|
||||
|
||||
// Remove stat increase skills.
|
||||
for (int i = CommonSkill.STR_INCREASE_BONUS_1.getId(); i <= CommonSkill.MEN_INCREASE_BONUS_1.getId(); i++)
|
||||
{
|
||||
knownSkill = getKnownSkill(i);
|
||||
if (knownSkill != null)
|
||||
{
|
||||
removeSkill(knownSkill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
// STR bonus.
|
||||
statValue = getStat().getValue(Stat.STAT_STR);
|
||||
if ((statValue >= 60) && (statValue < 70))
|
||||
{
|
||||
addSkill(CommonSkill.STR_INCREASE_BONUS_1.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if ((statValue >= 70) && (statValue < 90))
|
||||
{
|
||||
addSkill(CommonSkill.STR_INCREASE_BONUS_2.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if (statValue >= 90)
|
||||
{
|
||||
addSkill(CommonSkill.STR_INCREASE_BONUS_3.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
|
||||
// INT bonus.
|
||||
statValue = getStat().getValue(Stat.STAT_INT);
|
||||
if ((statValue >= 60) && (statValue < 70))
|
||||
{
|
||||
addSkill(CommonSkill.INT_INCREASE_BONUS_1.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if ((statValue >= 70) && (statValue < 90))
|
||||
{
|
||||
addSkill(CommonSkill.INT_INCREASE_BONUS_2.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if (statValue >= 90)
|
||||
{
|
||||
addSkill(CommonSkill.INT_INCREASE_BONUS_3.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
|
||||
// DEX bonus.
|
||||
statValue = getStat().getValue(Stat.STAT_DEX);
|
||||
if ((statValue >= 50) && (statValue < 60))
|
||||
{
|
||||
addSkill(CommonSkill.DEX_INCREASE_BONUS_1.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if ((statValue >= 60) && (statValue < 80))
|
||||
{
|
||||
addSkill(CommonSkill.DEX_INCREASE_BONUS_2.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if (statValue >= 80)
|
||||
{
|
||||
addSkill(CommonSkill.DEX_INCREASE_BONUS_3.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
|
||||
// WIT bonus.
|
||||
statValue = getStat().getValue(Stat.STAT_WIT);
|
||||
if ((statValue >= 40) && (statValue < 50))
|
||||
{
|
||||
addSkill(CommonSkill.WIT_INCREASE_BONUS_1.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if ((statValue >= 50) && (statValue < 70))
|
||||
{
|
||||
addSkill(CommonSkill.WIT_INCREASE_BONUS_2.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if (statValue >= 70)
|
||||
{
|
||||
addSkill(CommonSkill.WIT_INCREASE_BONUS_3.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
|
||||
// CON bonus.
|
||||
statValue = getStat().getValue(Stat.STAT_CON);
|
||||
if ((statValue >= 50) && (statValue < 65))
|
||||
{
|
||||
addSkill(CommonSkill.CON_INCREASE_BONUS_1.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if ((statValue >= 65) && (statValue < 90))
|
||||
{
|
||||
addSkill(CommonSkill.CON_INCREASE_BONUS_2.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if (statValue >= 90)
|
||||
{
|
||||
addSkill(CommonSkill.CON_INCREASE_BONUS_3.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
|
||||
// MEN bonus.
|
||||
statValue = getStat().getValue(Stat.STAT_MEN);
|
||||
if ((statValue >= 45) && (statValue < 60))
|
||||
{
|
||||
addSkill(CommonSkill.MEN_INCREASE_BONUS_1.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if ((statValue >= 60) && (statValue < 85))
|
||||
{
|
||||
addSkill(CommonSkill.MEN_INCREASE_BONUS_2.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if (statValue >= 85)
|
||||
{
|
||||
addSkill(CommonSkill.MEN_INCREASE_BONUS_3.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
|
||||
// Update skill list.
|
||||
if (update)
|
||||
{
|
||||
sendSkillList();
|
||||
}
|
||||
|
||||
_statIncreaseSkillTask = null;
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
|
@ -59,6 +59,24 @@ public enum CommonSkill
|
||||
PET_SWITCH_STANCE(6054, 1),
|
||||
WEIGHT_PENALTY(4270, 1),
|
||||
POTION_MASTERY(45184, 1),
|
||||
STR_INCREASE_BONUS_1(45191, 1),
|
||||
STR_INCREASE_BONUS_2(45191, 2),
|
||||
STR_INCREASE_BONUS_3(45191, 3),
|
||||
INT_INCREASE_BONUS_1(45192, 1),
|
||||
INT_INCREASE_BONUS_2(45192, 2),
|
||||
INT_INCREASE_BONUS_3(45192, 3),
|
||||
DEX_INCREASE_BONUS_1(45193, 1),
|
||||
DEX_INCREASE_BONUS_2(45193, 2),
|
||||
DEX_INCREASE_BONUS_3(45193, 3),
|
||||
WIT_INCREASE_BONUS_1(45194, 1),
|
||||
WIT_INCREASE_BONUS_2(45194, 2),
|
||||
WIT_INCREASE_BONUS_3(45194, 3),
|
||||
CON_INCREASE_BONUS_1(45195, 1),
|
||||
CON_INCREASE_BONUS_2(45195, 2),
|
||||
CON_INCREASE_BONUS_3(45195, 3),
|
||||
MEN_INCREASE_BONUS_1(45196, 1),
|
||||
MEN_INCREASE_BONUS_2(45196, 2),
|
||||
MEN_INCREASE_BONUS_3(45196, 3),
|
||||
TELEPORT(60018, 1);
|
||||
|
||||
private final SkillHolder _holder;
|
||||
|
@ -357,6 +357,9 @@ public class EnterWorld implements IClientIncomingPacket
|
||||
// Send EtcStatusUpdate
|
||||
player.sendPacket(new EtcStatusUpdate(player));
|
||||
|
||||
// Calculate stat increase skills.
|
||||
player.calculateStatIncreaseSkills();
|
||||
|
||||
// Clan packets
|
||||
if (clan != null)
|
||||
{
|
||||
|
@ -119,6 +119,9 @@ public class ExResetStatusBonus implements IClientIncomingPacket
|
||||
|
||||
player.sendPacket(new UserInfo(player));
|
||||
player.getStat().recalculateStats(true);
|
||||
|
||||
// Calculate stat increase skills.
|
||||
player.calculateStatIncreaseSkills();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -110,5 +110,8 @@ public class ExSetStatusBonus implements IClientIncomingPacket
|
||||
}
|
||||
|
||||
player.sendPacket(new UserInfo(player));
|
||||
|
||||
// Calculate stat increase skills.
|
||||
player.calculateStatIncreaseSkills();
|
||||
}
|
||||
}
|
||||
|
@ -71,5 +71,11 @@ public class StatUp extends AbstractEffect
|
||||
}
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
|
||||
// Calculate stat increase skills.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
effected.getActingPlayer().calculateStatIncreaseSkills();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -930,6 +930,8 @@ public class Player extends Playable
|
||||
|
||||
private PlayerRandomCraft _randomCraft = null;
|
||||
|
||||
private ScheduledFuture<?> _statIncreaseSkillTask;
|
||||
|
||||
private final List<PlayerCollectionData> _collections = new ArrayList<>();
|
||||
private final List<Integer> _collectionFavorites = new ArrayList<>();
|
||||
|
||||
@ -14843,6 +14845,149 @@ public class Player extends Playable
|
||||
});
|
||||
}
|
||||
|
||||
public void calculateStatIncreaseSkills()
|
||||
{
|
||||
// Use a task to prevent multiple execution from effects.
|
||||
if (_statIncreaseSkillTask != null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_statIncreaseSkillTask = ThreadPool.schedule(() ->
|
||||
{
|
||||
Skill knownSkill;
|
||||
double statValue;
|
||||
boolean update = false;
|
||||
|
||||
// Remove stat increase skills.
|
||||
for (int i = CommonSkill.STR_INCREASE_BONUS_1.getId(); i <= CommonSkill.MEN_INCREASE_BONUS_1.getId(); i++)
|
||||
{
|
||||
knownSkill = getKnownSkill(i);
|
||||
if (knownSkill != null)
|
||||
{
|
||||
removeSkill(knownSkill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
// STR bonus.
|
||||
statValue = getStat().getValue(Stat.STAT_STR);
|
||||
if ((statValue >= 60) && (statValue < 70))
|
||||
{
|
||||
addSkill(CommonSkill.STR_INCREASE_BONUS_1.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if ((statValue >= 70) && (statValue < 90))
|
||||
{
|
||||
addSkill(CommonSkill.STR_INCREASE_BONUS_2.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if (statValue >= 90)
|
||||
{
|
||||
addSkill(CommonSkill.STR_INCREASE_BONUS_3.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
|
||||
// INT bonus.
|
||||
statValue = getStat().getValue(Stat.STAT_INT);
|
||||
if ((statValue >= 60) && (statValue < 70))
|
||||
{
|
||||
addSkill(CommonSkill.INT_INCREASE_BONUS_1.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if ((statValue >= 70) && (statValue < 90))
|
||||
{
|
||||
addSkill(CommonSkill.INT_INCREASE_BONUS_2.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if (statValue >= 90)
|
||||
{
|
||||
addSkill(CommonSkill.INT_INCREASE_BONUS_3.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
|
||||
// DEX bonus.
|
||||
statValue = getStat().getValue(Stat.STAT_DEX);
|
||||
if ((statValue >= 50) && (statValue < 60))
|
||||
{
|
||||
addSkill(CommonSkill.DEX_INCREASE_BONUS_1.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if ((statValue >= 60) && (statValue < 80))
|
||||
{
|
||||
addSkill(CommonSkill.DEX_INCREASE_BONUS_2.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if (statValue >= 80)
|
||||
{
|
||||
addSkill(CommonSkill.DEX_INCREASE_BONUS_3.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
|
||||
// WIT bonus.
|
||||
statValue = getStat().getValue(Stat.STAT_WIT);
|
||||
if ((statValue >= 40) && (statValue < 50))
|
||||
{
|
||||
addSkill(CommonSkill.WIT_INCREASE_BONUS_1.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if ((statValue >= 50) && (statValue < 70))
|
||||
{
|
||||
addSkill(CommonSkill.WIT_INCREASE_BONUS_2.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if (statValue >= 70)
|
||||
{
|
||||
addSkill(CommonSkill.WIT_INCREASE_BONUS_3.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
|
||||
// CON bonus.
|
||||
statValue = getStat().getValue(Stat.STAT_CON);
|
||||
if ((statValue >= 50) && (statValue < 65))
|
||||
{
|
||||
addSkill(CommonSkill.CON_INCREASE_BONUS_1.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if ((statValue >= 65) && (statValue < 90))
|
||||
{
|
||||
addSkill(CommonSkill.CON_INCREASE_BONUS_2.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if (statValue >= 90)
|
||||
{
|
||||
addSkill(CommonSkill.CON_INCREASE_BONUS_3.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
|
||||
// MEN bonus.
|
||||
statValue = getStat().getValue(Stat.STAT_MEN);
|
||||
if ((statValue >= 45) && (statValue < 60))
|
||||
{
|
||||
addSkill(CommonSkill.MEN_INCREASE_BONUS_1.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if ((statValue >= 60) && (statValue < 85))
|
||||
{
|
||||
addSkill(CommonSkill.MEN_INCREASE_BONUS_2.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if (statValue >= 85)
|
||||
{
|
||||
addSkill(CommonSkill.MEN_INCREASE_BONUS_3.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
|
||||
// Update skill list.
|
||||
if (update)
|
||||
{
|
||||
sendSkillList();
|
||||
}
|
||||
|
||||
_statIncreaseSkillTask = null;
|
||||
}, 500);
|
||||
}
|
||||
|
||||
public List<PlayerCollectionData> getCollections()
|
||||
{
|
||||
return _collections;
|
||||
|
@ -59,6 +59,24 @@ public enum CommonSkill
|
||||
PET_SWITCH_STANCE(6054, 1),
|
||||
WEIGHT_PENALTY(4270, 1),
|
||||
POTION_MASTERY(45184, 1),
|
||||
STR_INCREASE_BONUS_1(45191, 1),
|
||||
STR_INCREASE_BONUS_2(45191, 2),
|
||||
STR_INCREASE_BONUS_3(45191, 3),
|
||||
INT_INCREASE_BONUS_1(45192, 1),
|
||||
INT_INCREASE_BONUS_2(45192, 2),
|
||||
INT_INCREASE_BONUS_3(45192, 3),
|
||||
DEX_INCREASE_BONUS_1(45193, 1),
|
||||
DEX_INCREASE_BONUS_2(45193, 2),
|
||||
DEX_INCREASE_BONUS_3(45193, 3),
|
||||
WIT_INCREASE_BONUS_1(45194, 1),
|
||||
WIT_INCREASE_BONUS_2(45194, 2),
|
||||
WIT_INCREASE_BONUS_3(45194, 3),
|
||||
CON_INCREASE_BONUS_1(45195, 1),
|
||||
CON_INCREASE_BONUS_2(45195, 2),
|
||||
CON_INCREASE_BONUS_3(45195, 3),
|
||||
MEN_INCREASE_BONUS_1(45196, 1),
|
||||
MEN_INCREASE_BONUS_2(45196, 2),
|
||||
MEN_INCREASE_BONUS_3(45196, 3),
|
||||
TELEPORT(60018, 1);
|
||||
|
||||
private final SkillHolder _holder;
|
||||
|
@ -361,6 +361,9 @@ public class EnterWorld implements IClientIncomingPacket
|
||||
// Send EtcStatusUpdate
|
||||
player.sendPacket(new EtcStatusUpdate(player));
|
||||
|
||||
// Calculate stat increase skills.
|
||||
player.calculateStatIncreaseSkills();
|
||||
|
||||
// Clan packets
|
||||
if (clan != null)
|
||||
{
|
||||
|
@ -119,6 +119,9 @@ public class ExResetStatusBonus implements IClientIncomingPacket
|
||||
|
||||
player.sendPacket(new UserInfo(player));
|
||||
player.getStat().recalculateStats(true);
|
||||
|
||||
// Calculate stat increase skills.
|
||||
player.calculateStatIncreaseSkills();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -110,5 +110,8 @@ public class ExSetStatusBonus implements IClientIncomingPacket
|
||||
}
|
||||
|
||||
player.sendPacket(new UserInfo(player));
|
||||
|
||||
// Calculate stat increase skills.
|
||||
player.calculateStatIncreaseSkills();
|
||||
}
|
||||
}
|
||||
|
@ -71,5 +71,11 @@ public class StatUp extends AbstractEffect
|
||||
}
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
|
||||
// Calculate stat increase skills.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
effected.getActingPlayer().calculateStatIncreaseSkills();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -930,6 +930,8 @@ public class Player extends Playable
|
||||
|
||||
private PlayerRandomCraft _randomCraft = null;
|
||||
|
||||
private ScheduledFuture<?> _statIncreaseSkillTask;
|
||||
|
||||
private final List<PlayerCollectionData> _collections = new ArrayList<>();
|
||||
private final List<Integer> _collectionFavorites = new ArrayList<>();
|
||||
|
||||
@ -14843,6 +14845,149 @@ public class Player extends Playable
|
||||
});
|
||||
}
|
||||
|
||||
public void calculateStatIncreaseSkills()
|
||||
{
|
||||
// Use a task to prevent multiple execution from effects.
|
||||
if (_statIncreaseSkillTask != null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_statIncreaseSkillTask = ThreadPool.schedule(() ->
|
||||
{
|
||||
Skill knownSkill;
|
||||
double statValue;
|
||||
boolean update = false;
|
||||
|
||||
// Remove stat increase skills.
|
||||
for (int i = CommonSkill.STR_INCREASE_BONUS_1.getId(); i <= CommonSkill.MEN_INCREASE_BONUS_1.getId(); i++)
|
||||
{
|
||||
knownSkill = getKnownSkill(i);
|
||||
if (knownSkill != null)
|
||||
{
|
||||
removeSkill(knownSkill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
// STR bonus.
|
||||
statValue = getStat().getValue(Stat.STAT_STR);
|
||||
if ((statValue >= 60) && (statValue < 70))
|
||||
{
|
||||
addSkill(CommonSkill.STR_INCREASE_BONUS_1.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if ((statValue >= 70) && (statValue < 90))
|
||||
{
|
||||
addSkill(CommonSkill.STR_INCREASE_BONUS_2.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if (statValue >= 90)
|
||||
{
|
||||
addSkill(CommonSkill.STR_INCREASE_BONUS_3.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
|
||||
// INT bonus.
|
||||
statValue = getStat().getValue(Stat.STAT_INT);
|
||||
if ((statValue >= 60) && (statValue < 70))
|
||||
{
|
||||
addSkill(CommonSkill.INT_INCREASE_BONUS_1.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if ((statValue >= 70) && (statValue < 90))
|
||||
{
|
||||
addSkill(CommonSkill.INT_INCREASE_BONUS_2.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if (statValue >= 90)
|
||||
{
|
||||
addSkill(CommonSkill.INT_INCREASE_BONUS_3.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
|
||||
// DEX bonus.
|
||||
statValue = getStat().getValue(Stat.STAT_DEX);
|
||||
if ((statValue >= 50) && (statValue < 60))
|
||||
{
|
||||
addSkill(CommonSkill.DEX_INCREASE_BONUS_1.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if ((statValue >= 60) && (statValue < 80))
|
||||
{
|
||||
addSkill(CommonSkill.DEX_INCREASE_BONUS_2.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if (statValue >= 80)
|
||||
{
|
||||
addSkill(CommonSkill.DEX_INCREASE_BONUS_3.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
|
||||
// WIT bonus.
|
||||
statValue = getStat().getValue(Stat.STAT_WIT);
|
||||
if ((statValue >= 40) && (statValue < 50))
|
||||
{
|
||||
addSkill(CommonSkill.WIT_INCREASE_BONUS_1.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if ((statValue >= 50) && (statValue < 70))
|
||||
{
|
||||
addSkill(CommonSkill.WIT_INCREASE_BONUS_2.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if (statValue >= 70)
|
||||
{
|
||||
addSkill(CommonSkill.WIT_INCREASE_BONUS_3.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
|
||||
// CON bonus.
|
||||
statValue = getStat().getValue(Stat.STAT_CON);
|
||||
if ((statValue >= 50) && (statValue < 65))
|
||||
{
|
||||
addSkill(CommonSkill.CON_INCREASE_BONUS_1.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if ((statValue >= 65) && (statValue < 90))
|
||||
{
|
||||
addSkill(CommonSkill.CON_INCREASE_BONUS_2.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if (statValue >= 90)
|
||||
{
|
||||
addSkill(CommonSkill.CON_INCREASE_BONUS_3.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
|
||||
// MEN bonus.
|
||||
statValue = getStat().getValue(Stat.STAT_MEN);
|
||||
if ((statValue >= 45) && (statValue < 60))
|
||||
{
|
||||
addSkill(CommonSkill.MEN_INCREASE_BONUS_1.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if ((statValue >= 60) && (statValue < 85))
|
||||
{
|
||||
addSkill(CommonSkill.MEN_INCREASE_BONUS_2.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
else if (statValue >= 85)
|
||||
{
|
||||
addSkill(CommonSkill.MEN_INCREASE_BONUS_3.getSkill(), false);
|
||||
update = true;
|
||||
}
|
||||
|
||||
// Update skill list.
|
||||
if (update)
|
||||
{
|
||||
sendSkillList();
|
||||
}
|
||||
|
||||
_statIncreaseSkillTask = null;
|
||||
}, 500);
|
||||
}
|
||||
|
||||
public List<PlayerCollectionData> getCollections()
|
||||
{
|
||||
return _collections;
|
||||
|
@ -59,6 +59,24 @@ public enum CommonSkill
|
||||
PET_SWITCH_STANCE(6054, 1),
|
||||
WEIGHT_PENALTY(4270, 1),
|
||||
POTION_MASTERY(45184, 1),
|
||||
STR_INCREASE_BONUS_1(45191, 1),
|
||||
STR_INCREASE_BONUS_2(45191, 2),
|
||||
STR_INCREASE_BONUS_3(45191, 3),
|
||||
INT_INCREASE_BONUS_1(45192, 1),
|
||||
INT_INCREASE_BONUS_2(45192, 2),
|
||||
INT_INCREASE_BONUS_3(45192, 3),
|
||||
DEX_INCREASE_BONUS_1(45193, 1),
|
||||
DEX_INCREASE_BONUS_2(45193, 2),
|
||||
DEX_INCREASE_BONUS_3(45193, 3),
|
||||
WIT_INCREASE_BONUS_1(45194, 1),
|
||||
WIT_INCREASE_BONUS_2(45194, 2),
|
||||
WIT_INCREASE_BONUS_3(45194, 3),
|
||||
CON_INCREASE_BONUS_1(45195, 1),
|
||||
CON_INCREASE_BONUS_2(45195, 2),
|
||||
CON_INCREASE_BONUS_3(45195, 3),
|
||||
MEN_INCREASE_BONUS_1(45196, 1),
|
||||
MEN_INCREASE_BONUS_2(45196, 2),
|
||||
MEN_INCREASE_BONUS_3(45196, 3),
|
||||
TELEPORT(60018, 1);
|
||||
|
||||
private final SkillHolder _holder;
|
||||
|
@ -361,6 +361,9 @@ public class EnterWorld implements IClientIncomingPacket
|
||||
// Send EtcStatusUpdate
|
||||
player.sendPacket(new EtcStatusUpdate(player));
|
||||
|
||||
// Calculate stat increase skills.
|
||||
player.calculateStatIncreaseSkills();
|
||||
|
||||
// Clan packets
|
||||
if (clan != null)
|
||||
{
|
||||
|
@ -119,6 +119,9 @@ public class ExResetStatusBonus implements IClientIncomingPacket
|
||||
|
||||
player.sendPacket(new UserInfo(player));
|
||||
player.getStat().recalculateStats(true);
|
||||
|
||||
// Calculate stat increase skills.
|
||||
player.calculateStatIncreaseSkills();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -110,5 +110,8 @@ public class ExSetStatusBonus implements IClientIncomingPacket
|
||||
}
|
||||
|
||||
player.sendPacket(new UserInfo(player));
|
||||
|
||||
// Calculate stat increase skills.
|
||||
player.calculateStatIncreaseSkills();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user