Prohibit recalculateStats while changing class.

This commit is contained in:
MobiusDevelopment 2021-10-28 22:01:07 +00:00
parent ce683c2938
commit c38fa49b72
38 changed files with 247 additions and 0 deletions

View File

@ -2484,6 +2484,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9591,6 +9592,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9686,6 +9688,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
return addSubClass(newClassId, classIndex, isDualClass); return addSubClass(newClassId, classIndex, isDualClass);
@ -9956,6 +9959,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }

View File

@ -660,6 +660,15 @@ public class PlayerStat extends PlayableStat
return (int) getValue(Stat.BROOCH_JEWELS, 0); return (int) getValue(Stat.BROOCH_JEWELS, 0);
} }
@Override
public void recalculateStats(boolean broadcast)
{
if (!getActiveChar().isChangingClass())
{
super.recalculateStats(broadcast);
}
}
@Override @Override
protected void onRecalculateStats(boolean broadcast) protected void onRecalculateStats(boolean broadcast)
{ {

View File

@ -2486,6 +2486,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9594,6 +9595,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9689,6 +9691,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
return addSubClass(newClassId, classIndex, isDualClass); return addSubClass(newClassId, classIndex, isDualClass);
@ -9959,6 +9962,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }

View File

@ -662,6 +662,15 @@ public class PlayerStat extends PlayableStat
return (int) getValue(Stat.BROOCH_JEWELS, 0); return (int) getValue(Stat.BROOCH_JEWELS, 0);
} }
@Override
public void recalculateStats(boolean broadcast)
{
if (!getActiveChar().isChangingClass())
{
super.recalculateStats(broadcast);
}
}
@Override @Override
protected void onRecalculateStats(boolean broadcast) protected void onRecalculateStats(boolean broadcast)
{ {

View File

@ -2488,6 +2488,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9596,6 +9597,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9691,6 +9693,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
return addSubClass(newClassId, classIndex, isDualClass); return addSubClass(newClassId, classIndex, isDualClass);
@ -9961,6 +9964,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }

View File

@ -662,6 +662,15 @@ public class PlayerStat extends PlayableStat
return (int) getValue(Stat.BROOCH_JEWELS, 0); return (int) getValue(Stat.BROOCH_JEWELS, 0);
} }
@Override
public void recalculateStats(boolean broadcast)
{
if (!getActiveChar().isChangingClass())
{
super.recalculateStats(broadcast);
}
}
@Override @Override
protected void onRecalculateStats(boolean broadcast) protected void onRecalculateStats(boolean broadcast)
{ {

View File

@ -2496,6 +2496,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9587,6 +9588,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9682,6 +9684,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
return addSubClass(newClassId, classIndex, isDualClass); return addSubClass(newClassId, classIndex, isDualClass);
@ -9952,6 +9955,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }

View File

@ -661,6 +661,15 @@ public class PlayerStat extends PlayableStat
return (int) getValue(Stat.BROOCH_JEWELS, 0); return (int) getValue(Stat.BROOCH_JEWELS, 0);
} }
@Override
public void recalculateStats(boolean broadcast)
{
if (!getActiveChar().isChangingClass())
{
super.recalculateStats(broadcast);
}
}
@Override @Override
protected void onRecalculateStats(boolean broadcast) protected void onRecalculateStats(boolean broadcast)
{ {

View File

@ -2492,6 +2492,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9577,6 +9578,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9672,6 +9674,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
return addSubClass(newClassId, classIndex, isDualClass); return addSubClass(newClassId, classIndex, isDualClass);
@ -9942,6 +9945,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }

View File

@ -676,6 +676,15 @@ public class PlayerStat extends PlayableStat
return (int) getValue(Stat.AGATHION_SLOTS, 0); return (int) getValue(Stat.AGATHION_SLOTS, 0);
} }
@Override
public void recalculateStats(boolean broadcast)
{
if (!getActiveChar().isChangingClass())
{
super.recalculateStats(broadcast);
}
}
@Override @Override
protected void onRecalculateStats(boolean broadcast) protected void onRecalculateStats(boolean broadcast)
{ {

View File

@ -2492,6 +2492,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9577,6 +9578,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9672,6 +9674,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
return addSubClass(newClassId, classIndex, isDualClass); return addSubClass(newClassId, classIndex, isDualClass);
@ -9942,6 +9945,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }

View File

@ -685,6 +685,15 @@ public class PlayerStat extends PlayableStat
return (int) getValue(Stat.ARTIFACT_SLOTS, 0); return (int) getValue(Stat.ARTIFACT_SLOTS, 0);
} }
@Override
public void recalculateStats(boolean broadcast)
{
if (!getActiveChar().isChangingClass())
{
super.recalculateStats(broadcast);
}
}
@Override @Override
protected void onRecalculateStats(boolean broadcast) protected void onRecalculateStats(boolean broadcast)
{ {

View File

@ -2492,6 +2492,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9583,6 +9584,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9678,6 +9680,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
return addSubClass(newClassId, classIndex, isDualClass); return addSubClass(newClassId, classIndex, isDualClass);
@ -9948,6 +9951,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }

View File

@ -685,6 +685,15 @@ public class PlayerStat extends PlayableStat
return (int) getValue(Stat.ARTIFACT_SLOTS, 0); return (int) getValue(Stat.ARTIFACT_SLOTS, 0);
} }
@Override
public void recalculateStats(boolean broadcast)
{
if (!getActiveChar().isChangingClass())
{
super.recalculateStats(broadcast);
}
}
@Override @Override
protected void onRecalculateStats(boolean broadcast) protected void onRecalculateStats(boolean broadcast)
{ {

View File

@ -2428,6 +2428,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9597,6 +9598,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9692,6 +9694,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
return addSubClass(newClassId, classIndex, isDualClass); return addSubClass(newClassId, classIndex, isDualClass);
@ -9969,6 +9972,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }

View File

@ -683,6 +683,15 @@ public class PlayerStat extends PlayableStat
return (int) getValue(Stat.ARTIFACT_SLOTS, 0); return (int) getValue(Stat.ARTIFACT_SLOTS, 0);
} }
@Override
public void recalculateStats(boolean broadcast)
{
if (!getActiveChar().isChangingClass())
{
super.recalculateStats(broadcast);
}
}
@Override @Override
protected void onRecalculateStats(boolean broadcast) protected void onRecalculateStats(boolean broadcast)
{ {

View File

@ -2458,6 +2458,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9699,6 +9700,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9794,6 +9796,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
return addSubClass(newClassId, classIndex, isDualClass); return addSubClass(newClassId, classIndex, isDualClass);
@ -10071,6 +10074,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }

View File

@ -683,6 +683,15 @@ public class PlayerStat extends PlayableStat
return (int) getValue(Stat.ARTIFACT_SLOTS, 0); return (int) getValue(Stat.ARTIFACT_SLOTS, 0);
} }
@Override
public void recalculateStats(boolean broadcast)
{
if (!getActiveChar().isChangingClass())
{
super.recalculateStats(broadcast);
}
}
@Override @Override
protected void onRecalculateStats(boolean broadcast) protected void onRecalculateStats(boolean broadcast)
{ {

View File

@ -2475,6 +2475,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9725,6 +9726,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9820,6 +9822,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
return addSubClass(newClassId, classIndex, isDualClass); return addSubClass(newClassId, classIndex, isDualClass);
@ -10097,6 +10100,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }

View File

@ -683,6 +683,15 @@ public class PlayerStat extends PlayableStat
return (int) getValue(Stat.ARTIFACT_SLOTS, 0); return (int) getValue(Stat.ARTIFACT_SLOTS, 0);
} }
@Override
public void recalculateStats(boolean broadcast)
{
if (!getActiveChar().isChangingClass())
{
super.recalculateStats(broadcast);
}
}
@Override @Override
protected void onRecalculateStats(boolean broadcast) protected void onRecalculateStats(boolean broadcast)
{ {

View File

@ -2452,6 +2452,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9509,6 +9510,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9604,6 +9606,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
return addSubClass(newClassId, classIndex, isDualClass); return addSubClass(newClassId, classIndex, isDualClass);
@ -9874,6 +9877,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }

View File

@ -657,6 +657,15 @@ public class PlayerStat extends PlayableStat
return (int) getValue(Stat.BROOCH_JEWELS, 0); return (int) getValue(Stat.BROOCH_JEWELS, 0);
} }
@Override
public void recalculateStats(boolean broadcast)
{
if (!getActiveChar().isChangingClass())
{
super.recalculateStats(broadcast);
}
}
@Override @Override
protected void onRecalculateStats(boolean broadcast) protected void onRecalculateStats(boolean broadcast)
{ {

View File

@ -2452,6 +2452,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9509,6 +9510,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9604,6 +9606,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
return addSubClass(newClassId, classIndex, isDualClass); return addSubClass(newClassId, classIndex, isDualClass);
@ -9874,6 +9877,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }

View File

@ -661,6 +661,15 @@ public class PlayerStat extends PlayableStat
return (int) getValue(Stat.BROOCH_JEWELS, 0); return (int) getValue(Stat.BROOCH_JEWELS, 0);
} }
@Override
public void recalculateStats(boolean broadcast)
{
if (!getActiveChar().isChangingClass())
{
super.recalculateStats(broadcast);
}
}
@Override @Override
protected void onRecalculateStats(boolean broadcast) protected void onRecalculateStats(boolean broadcast)
{ {

View File

@ -2450,6 +2450,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9495,6 +9496,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9590,6 +9592,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
return addSubClass(newClassId, classIndex, isDualClass); return addSubClass(newClassId, classIndex, isDualClass);
@ -9860,6 +9863,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }

View File

@ -670,6 +670,15 @@ public class PlayerStat extends PlayableStat
return (int) getValue(Stat.AGATHION_SLOTS, 0); return (int) getValue(Stat.AGATHION_SLOTS, 0);
} }
@Override
public void recalculateStats(boolean broadcast)
{
if (!getActiveChar().isChangingClass())
{
super.recalculateStats(broadcast);
}
}
@Override @Override
protected void onRecalculateStats(boolean broadcast) protected void onRecalculateStats(boolean broadcast)
{ {

View File

@ -2464,6 +2464,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9522,6 +9523,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9617,6 +9619,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
return addSubClass(newClassId, classIndex, isDualClass); return addSubClass(newClassId, classIndex, isDualClass);
@ -9887,6 +9890,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }

View File

@ -705,6 +705,15 @@ public class PlayerStat extends PlayableStat
return type == null ? 0 : getValue(type.getDefenseStat(), base); return type == null ? 0 : getValue(type.getDefenseStat(), base);
} }
@Override
public void recalculateStats(boolean broadcast)
{
if (!getActiveChar().isChangingClass())
{
super.recalculateStats(broadcast);
}
}
@Override @Override
protected void onRecalculateStats(boolean broadcast) protected void onRecalculateStats(boolean broadcast)
{ {

View File

@ -2464,6 +2464,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9522,6 +9523,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9617,6 +9619,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
return addSubClass(newClassId, classIndex, isDualClass); return addSubClass(newClassId, classIndex, isDualClass);
@ -9887,6 +9890,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }

View File

@ -705,6 +705,15 @@ public class PlayerStat extends PlayableStat
return type == null ? 0 : getValue(type.getDefenseStat(), base); return type == null ? 0 : getValue(type.getDefenseStat(), base);
} }
@Override
public void recalculateStats(boolean broadcast)
{
if (!getActiveChar().isChangingClass())
{
super.recalculateStats(broadcast);
}
}
@Override @Override
protected void onRecalculateStats(boolean broadcast) protected void onRecalculateStats(boolean broadcast)
{ {

View File

@ -2390,6 +2390,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9475,6 +9476,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9570,6 +9572,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
return addSubClass(newClassId, classIndex, isDualClass); return addSubClass(newClassId, classIndex, isDualClass);
@ -9842,6 +9845,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }

View File

@ -703,6 +703,15 @@ public class PlayerStat extends PlayableStat
return type == null ? 0 : getValue(type.getDefenseStat(), base); return type == null ? 0 : getValue(type.getDefenseStat(), base);
} }
@Override
public void recalculateStats(boolean broadcast)
{
if (!getActiveChar().isChangingClass())
{
super.recalculateStats(broadcast);
}
}
@Override @Override
protected void onRecalculateStats(boolean broadcast) protected void onRecalculateStats(boolean broadcast)
{ {

View File

@ -2449,6 +2449,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9497,6 +9498,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9592,6 +9594,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
return addSubClass(newClassId, classIndex, isDualClass); return addSubClass(newClassId, classIndex, isDualClass);
@ -9862,6 +9865,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }

View File

@ -661,6 +661,15 @@ public class PlayerStat extends PlayableStat
return (int) getValue(Stat.BROOCH_JEWELS, 0); return (int) getValue(Stat.BROOCH_JEWELS, 0);
} }
@Override
public void recalculateStats(boolean broadcast)
{
if (!getActiveChar().isChangingClass())
{
super.recalculateStats(broadcast);
}
}
@Override @Override
protected void onRecalculateStats(boolean broadcast) protected void onRecalculateStats(boolean broadcast)
{ {

View File

@ -2460,6 +2460,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9629,6 +9630,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9724,6 +9726,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
return addSubClass(newClassId, classIndex, isDualClass); return addSubClass(newClassId, classIndex, isDualClass);
@ -9996,6 +9999,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }

View File

@ -713,6 +713,15 @@ public class PlayerStat extends PlayableStat
return type == null ? 0 : getValue(type.getDefenseStat(), base); return type == null ? 0 : getValue(type.getDefenseStat(), base);
} }
@Override
public void recalculateStats(boolean broadcast)
{
if (!getActiveChar().isChangingClass())
{
super.recalculateStats(broadcast);
}
}
@Override @Override
protected void onRecalculateStats(boolean broadcast) protected void onRecalculateStats(boolean broadcast)
{ {

View File

@ -2491,6 +2491,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9695,6 +9696,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }
@ -9790,6 +9792,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
return addSubClass(newClassId, classIndex, isDualClass); return addSubClass(newClassId, classIndex, isDualClass);
@ -10062,6 +10065,7 @@ public class PlayerInstance extends Playable
finally finally
{ {
_subclassLock = false; _subclassLock = false;
getStat().recalculateStats(false);
} }
} }

View File

@ -713,6 +713,15 @@ public class PlayerStat extends PlayableStat
return type == null ? 0 : getValue(type.getDefenseStat(), base); return type == null ? 0 : getValue(type.getDefenseStat(), base);
} }
@Override
public void recalculateStats(boolean broadcast)
{
if (!getActiveChar().isChangingClass())
{
super.recalculateStats(broadcast);
}
}
@Override @Override
protected void onRecalculateStats(boolean broadcast) protected void onRecalculateStats(boolean broadcast)
{ {