Fixed traits exit called more than once.

Contributed by Sahar.
This commit is contained in:
MobiusDev
2018-04-06 02:52:31 +00:00
parent 34f65304b0
commit e6eb02a63e
14 changed files with 105 additions and 0 deletions

View File

@@ -57,6 +57,11 @@ public final class AttackTrait extends AbstractEffect
{ {
for (Entry<TraitType, Float> trait : _attackTraits.entrySet()) for (Entry<TraitType, Float> trait : _attackTraits.entrySet())
{ {
if (charStat.getAttackTraitsCount()[trait.getKey().ordinal()] == 0)
{
return;
}
charStat.getAttackTraits()[trait.getKey().ordinal()] /= trait.getValue(); charStat.getAttackTraits()[trait.getKey().ordinal()] /= trait.getValue();
charStat.getAttackTraitsCount()[trait.getKey().ordinal()]--; charStat.getAttackTraitsCount()[trait.getKey().ordinal()]--;
} }

View File

@@ -76,11 +76,21 @@ public final class DefenceTrait extends AbstractEffect
{ {
if (trait.getValue() < 2.0f) if (trait.getValue() < 2.0f)
{ {
if (charStat.getDefenceTraitsCount()[trait.getKey().ordinal()] == 0)
{
return;
}
charStat.getDefenceTraits()[trait.getKey().ordinal()] /= trait.getValue(); charStat.getDefenceTraits()[trait.getKey().ordinal()] /= trait.getValue();
charStat.getDefenceTraitsCount()[trait.getKey().ordinal()]--; charStat.getDefenceTraitsCount()[trait.getKey().ordinal()]--;
} }
else else
{ {
if (charStat.getTraitsInvul()[trait.getKey().ordinal()] == 0)
{
return;
}
charStat.getTraitsInvul()[trait.getKey().ordinal()]--; charStat.getTraitsInvul()[trait.getKey().ordinal()]--;
} }
} }

View File

@@ -57,6 +57,11 @@ public final class AttackTrait extends AbstractEffect
{ {
for (Entry<TraitType, Float> trait : _attackTraits.entrySet()) for (Entry<TraitType, Float> trait : _attackTraits.entrySet())
{ {
if (charStat.getAttackTraitsCount()[trait.getKey().ordinal()] == 0)
{
return;
}
charStat.getAttackTraits()[trait.getKey().ordinal()] /= trait.getValue(); charStat.getAttackTraits()[trait.getKey().ordinal()] /= trait.getValue();
charStat.getAttackTraitsCount()[trait.getKey().ordinal()]--; charStat.getAttackTraitsCount()[trait.getKey().ordinal()]--;
} }

View File

@@ -76,11 +76,21 @@ public final class DefenceTrait extends AbstractEffect
{ {
if (trait.getValue() < 2.0f) if (trait.getValue() < 2.0f)
{ {
if (charStat.getDefenceTraitsCount()[trait.getKey().ordinal()] == 0)
{
return;
}
charStat.getDefenceTraits()[trait.getKey().ordinal()] /= trait.getValue(); charStat.getDefenceTraits()[trait.getKey().ordinal()] /= trait.getValue();
charStat.getDefenceTraitsCount()[trait.getKey().ordinal()]--; charStat.getDefenceTraitsCount()[trait.getKey().ordinal()]--;
} }
else else
{ {
if (charStat.getTraitsInvul()[trait.getKey().ordinal()] == 0)
{
return;
}
charStat.getTraitsInvul()[trait.getKey().ordinal()]--; charStat.getTraitsInvul()[trait.getKey().ordinal()]--;
} }
} }

View File

@@ -57,6 +57,11 @@ public final class AttackTrait extends AbstractEffect
{ {
for (Entry<TraitType, Float> trait : _attackTraits.entrySet()) for (Entry<TraitType, Float> trait : _attackTraits.entrySet())
{ {
if (charStat.getAttackTraitsCount()[trait.getKey().ordinal()] == 0)
{
return;
}
charStat.getAttackTraits()[trait.getKey().ordinal()] /= trait.getValue(); charStat.getAttackTraits()[trait.getKey().ordinal()] /= trait.getValue();
charStat.getAttackTraitsCount()[trait.getKey().ordinal()]--; charStat.getAttackTraitsCount()[trait.getKey().ordinal()]--;
} }

View File

@@ -76,11 +76,21 @@ public final class DefenceTrait extends AbstractEffect
{ {
if (trait.getValue() < 2.0f) if (trait.getValue() < 2.0f)
{ {
if (charStat.getDefenceTraitsCount()[trait.getKey().ordinal()] == 0)
{
return;
}
charStat.getDefenceTraits()[trait.getKey().ordinal()] /= trait.getValue(); charStat.getDefenceTraits()[trait.getKey().ordinal()] /= trait.getValue();
charStat.getDefenceTraitsCount()[trait.getKey().ordinal()]--; charStat.getDefenceTraitsCount()[trait.getKey().ordinal()]--;
} }
else else
{ {
if (charStat.getTraitsInvul()[trait.getKey().ordinal()] == 0)
{
return;
}
charStat.getTraitsInvul()[trait.getKey().ordinal()]--; charStat.getTraitsInvul()[trait.getKey().ordinal()]--;
} }
} }

View File

@@ -57,6 +57,11 @@ public final class AttackTrait extends AbstractEffect
{ {
for (Entry<TraitType, Float> trait : _attackTraits.entrySet()) for (Entry<TraitType, Float> trait : _attackTraits.entrySet())
{ {
if (charStat.getAttackTraitsCount()[trait.getKey().ordinal()] == 0)
{
return;
}
charStat.getAttackTraits()[trait.getKey().ordinal()] /= trait.getValue(); charStat.getAttackTraits()[trait.getKey().ordinal()] /= trait.getValue();
charStat.getAttackTraitsCount()[trait.getKey().ordinal()]--; charStat.getAttackTraitsCount()[trait.getKey().ordinal()]--;
} }

View File

@@ -76,11 +76,21 @@ public final class DefenceTrait extends AbstractEffect
{ {
if (trait.getValue() < 2.0f) if (trait.getValue() < 2.0f)
{ {
if (charStat.getDefenceTraitsCount()[trait.getKey().ordinal()] == 0)
{
return;
}
charStat.getDefenceTraits()[trait.getKey().ordinal()] /= trait.getValue(); charStat.getDefenceTraits()[trait.getKey().ordinal()] /= trait.getValue();
charStat.getDefenceTraitsCount()[trait.getKey().ordinal()]--; charStat.getDefenceTraitsCount()[trait.getKey().ordinal()]--;
} }
else else
{ {
if (charStat.getTraitsInvul()[trait.getKey().ordinal()] == 0)
{
return;
}
charStat.getTraitsInvul()[trait.getKey().ordinal()]--; charStat.getTraitsInvul()[trait.getKey().ordinal()]--;
} }
} }

View File

@@ -59,6 +59,11 @@ public final class AttackTrait extends AbstractEffect
{ {
for (Entry<TraitType, Float> trait : _attackTraits.entrySet()) for (Entry<TraitType, Float> trait : _attackTraits.entrySet())
{ {
if (charStat.getAttackTraitsCount()[trait.getKey().ordinal()] == 0)
{
return;
}
charStat.getAttackTraits()[trait.getKey().ordinal()] /= trait.getValue(); charStat.getAttackTraits()[trait.getKey().ordinal()] /= trait.getValue();
charStat.getAttackTraitsCount()[trait.getKey().ordinal()]--; charStat.getAttackTraitsCount()[trait.getKey().ordinal()]--;
} }

View File

@@ -78,11 +78,21 @@ public final class DefenceTrait extends AbstractEffect
{ {
if (trait.getValue() < 2.0f) if (trait.getValue() < 2.0f)
{ {
if (charStat.getDefenceTraitsCount()[trait.getKey().ordinal()] == 0)
{
return;
}
charStat.getDefenceTraits()[trait.getKey().ordinal()] /= trait.getValue(); charStat.getDefenceTraits()[trait.getKey().ordinal()] /= trait.getValue();
charStat.getDefenceTraitsCount()[trait.getKey().ordinal()]--; charStat.getDefenceTraitsCount()[trait.getKey().ordinal()]--;
} }
else else
{ {
if (charStat.getTraitsInvul()[trait.getKey().ordinal()] == 0)
{
return;
}
charStat.getTraitsInvul()[trait.getKey().ordinal()]--; charStat.getTraitsInvul()[trait.getKey().ordinal()]--;
} }
} }

View File

@@ -57,6 +57,11 @@ public final class AttackTrait extends AbstractEffect
{ {
for (Entry<TraitType, Float> trait : _attackTraits.entrySet()) for (Entry<TraitType, Float> trait : _attackTraits.entrySet())
{ {
if (charStat.getAttackTraitsCount()[trait.getKey().ordinal()] == 0)
{
return;
}
charStat.getAttackTraits()[trait.getKey().ordinal()] /= trait.getValue(); charStat.getAttackTraits()[trait.getKey().ordinal()] /= trait.getValue();
charStat.getAttackTraitsCount()[trait.getKey().ordinal()]--; charStat.getAttackTraitsCount()[trait.getKey().ordinal()]--;
} }

View File

@@ -76,11 +76,21 @@ public final class DefenceTrait extends AbstractEffect
{ {
if (trait.getValue() < 2.0f) if (trait.getValue() < 2.0f)
{ {
if (charStat.getDefenceTraitsCount()[trait.getKey().ordinal()] == 0)
{
return;
}
charStat.getDefenceTraits()[trait.getKey().ordinal()] /= trait.getValue(); charStat.getDefenceTraits()[trait.getKey().ordinal()] /= trait.getValue();
charStat.getDefenceTraitsCount()[trait.getKey().ordinal()]--; charStat.getDefenceTraitsCount()[trait.getKey().ordinal()]--;
} }
else else
{ {
if (charStat.getTraitsInvul()[trait.getKey().ordinal()] == 0)
{
return;
}
charStat.getTraitsInvul()[trait.getKey().ordinal()]--; charStat.getTraitsInvul()[trait.getKey().ordinal()]--;
} }
} }

View File

@@ -57,6 +57,11 @@ public final class AttackTrait extends AbstractEffect
{ {
for (Entry<TraitType, Float> trait : _attackTraits.entrySet()) for (Entry<TraitType, Float> trait : _attackTraits.entrySet())
{ {
if (charStat.getAttackTraitsCount()[trait.getKey().ordinal()] == 0)
{
return;
}
charStat.getAttackTraits()[trait.getKey().ordinal()] /= trait.getValue(); charStat.getAttackTraits()[trait.getKey().ordinal()] /= trait.getValue();
charStat.getAttackTraitsCount()[trait.getKey().ordinal()]--; charStat.getAttackTraitsCount()[trait.getKey().ordinal()]--;
} }

View File

@@ -76,11 +76,21 @@ public final class DefenceTrait extends AbstractEffect
{ {
if (trait.getValue() < 2.0f) if (trait.getValue() < 2.0f)
{ {
if (charStat.getDefenceTraitsCount()[trait.getKey().ordinal()] == 0)
{
return;
}
charStat.getDefenceTraits()[trait.getKey().ordinal()] /= trait.getValue(); charStat.getDefenceTraits()[trait.getKey().ordinal()] /= trait.getValue();
charStat.getDefenceTraitsCount()[trait.getKey().ordinal()]--; charStat.getDefenceTraitsCount()[trait.getKey().ordinal()]--;
} }
else else
{ {
if (charStat.getTraitsInvul()[trait.getKey().ordinal()] == 0)
{
return;
}
charStat.getTraitsInvul()[trait.getKey().ordinal()]--; charStat.getTraitsInvul()[trait.getKey().ordinal()]--;
} }
} }