Fixed cancellation not removing dances.

This commit is contained in:
MobiusDev 2019-03-11 09:56:48 +00:00
parent a3b838200b
commit 0c08e144c4
22 changed files with 341 additions and 44 deletions

View File

@ -140,6 +140,15 @@ public final class CharEffectList
return _actives.stream().filter(b -> b.getSkill().getBuffType().isBuff()).collect(Collectors.toList());
}
/**
* Gets all the active positive effects on this effect list.
* @return all the dances songs on this effect list
*/
public List<BuffInfo> getDances()
{
return _actives.stream().filter(b -> b.getSkill().getBuffType().isDance()).collect(Collectors.toList());
}
/**
* Gets all the active negative effects on this effect list.
* @return all the debuffs on this effect list

View File

@ -1059,11 +1059,10 @@ public final class Formulas
final int cancelMagicLvl = skill.getMagicLevel();
// Prevent initialization.
final List<BuffInfo> buffs = target.getEffectList().getBuffs();
for (int i = buffs.size() - 1; i >= 0; i--) // reverse order
final List<BuffInfo> dances = target.getEffectList().getDances();
for (int i = dances.size() - 1; i >= 0; i--) // reverse order
{
final BuffInfo info = buffs.get(i);
final BuffInfo info = dances.get(i);
if (!info.getSkill().canBeStolen() || ((rate < 100) && !calcCancelSuccess(info, cancelMagicLvl, rate, skill, target)))
{
continue;
@ -1074,6 +1073,25 @@ public final class Formulas
break;
}
}
if (canceled.size() < max)
{
// Prevent initialization.
final List<BuffInfo> buffs = target.getEffectList().getBuffs();
for (int i = buffs.size() - 1; i >= 0; i--) // reverse order
{
final BuffInfo info = buffs.get(i);
if (!info.getSkill().canBeStolen() || ((rate < 100) && !calcCancelSuccess(info, cancelMagicLvl, rate, skill, target)))
{
continue;
}
canceled.add(info);
if (canceled.size() >= max)
{
break;
}
}
}
break;
}
case DEBUFF:

View File

@ -140,6 +140,15 @@ public final class CharEffectList
return _actives.stream().filter(b -> b.getSkill().getBuffType().isBuff()).collect(Collectors.toList());
}
/**
* Gets all the active positive effects on this effect list.
* @return all the dances songs on this effect list
*/
public List<BuffInfo> getDances()
{
return _actives.stream().filter(b -> b.getSkill().getBuffType().isDance()).collect(Collectors.toList());
}
/**
* Gets all the active negative effects on this effect list.
* @return all the debuffs on this effect list

View File

@ -1059,11 +1059,10 @@ public final class Formulas
final int cancelMagicLvl = skill.getMagicLevel();
// Prevent initialization.
final List<BuffInfo> buffs = target.getEffectList().getBuffs();
for (int i = buffs.size() - 1; i >= 0; i--) // reverse order
final List<BuffInfo> dances = target.getEffectList().getDances();
for (int i = dances.size() - 1; i >= 0; i--) // reverse order
{
final BuffInfo info = buffs.get(i);
final BuffInfo info = dances.get(i);
if (!info.getSkill().canBeStolen() || ((rate < 100) && !calcCancelSuccess(info, cancelMagicLvl, rate, skill, target)))
{
continue;
@ -1074,6 +1073,25 @@ public final class Formulas
break;
}
}
if (canceled.size() < max)
{
// Prevent initialization.
final List<BuffInfo> buffs = target.getEffectList().getBuffs();
for (int i = buffs.size() - 1; i >= 0; i--) // reverse order
{
final BuffInfo info = buffs.get(i);
if (!info.getSkill().canBeStolen() || ((rate < 100) && !calcCancelSuccess(info, cancelMagicLvl, rate, skill, target)))
{
continue;
}
canceled.add(info);
if (canceled.size() >= max)
{
break;
}
}
}
break;
}
case DEBUFF:

View File

@ -140,6 +140,15 @@ public final class CharEffectList
return _actives.stream().filter(b -> b.getSkill().getBuffType().isBuff()).collect(Collectors.toList());
}
/**
* Gets all the active positive effects on this effect list.
* @return all the dances songs on this effect list
*/
public List<BuffInfo> getDances()
{
return _actives.stream().filter(b -> b.getSkill().getBuffType().isDance()).collect(Collectors.toList());
}
/**
* Gets all the active negative effects on this effect list.
* @return all the debuffs on this effect list

View File

@ -1059,11 +1059,10 @@ public final class Formulas
final int cancelMagicLvl = skill.getMagicLevel();
// Prevent initialization.
final List<BuffInfo> buffs = target.getEffectList().getBuffs();
for (int i = buffs.size() - 1; i >= 0; i--) // reverse order
final List<BuffInfo> dances = target.getEffectList().getDances();
for (int i = dances.size() - 1; i >= 0; i--) // reverse order
{
final BuffInfo info = buffs.get(i);
final BuffInfo info = dances.get(i);
if (!info.getSkill().canBeStolen() || ((rate < 100) && !calcCancelSuccess(info, cancelMagicLvl, rate, skill, target)))
{
continue;
@ -1074,6 +1073,25 @@ public final class Formulas
break;
}
}
if (canceled.size() < max)
{
// Prevent initialization.
final List<BuffInfo> buffs = target.getEffectList().getBuffs();
for (int i = buffs.size() - 1; i >= 0; i--) // reverse order
{
final BuffInfo info = buffs.get(i);
if (!info.getSkill().canBeStolen() || ((rate < 100) && !calcCancelSuccess(info, cancelMagicLvl, rate, skill, target)))
{
continue;
}
canceled.add(info);
if (canceled.size() >= max)
{
break;
}
}
}
break;
}
case DEBUFF:

View File

@ -140,6 +140,15 @@ public final class CharEffectList
return _actives.stream().filter(b -> b.getSkill().getBuffType().isBuff()).collect(Collectors.toList());
}
/**
* Gets all the active positive effects on this effect list.
* @return all the dances songs on this effect list
*/
public List<BuffInfo> getDances()
{
return _actives.stream().filter(b -> b.getSkill().getBuffType().isDance()).collect(Collectors.toList());
}
/**
* Gets all the active negative effects on this effect list.
* @return all the debuffs on this effect list

View File

@ -1059,11 +1059,10 @@ public final class Formulas
final int cancelMagicLvl = skill.getMagicLevel();
// Prevent initialization.
final List<BuffInfo> buffs = target.getEffectList().getBuffs();
for (int i = buffs.size() - 1; i >= 0; i--) // reverse order
final List<BuffInfo> dances = target.getEffectList().getDances();
for (int i = dances.size() - 1; i >= 0; i--) // reverse order
{
final BuffInfo info = buffs.get(i);
final BuffInfo info = dances.get(i);
if (!info.getSkill().canBeStolen() || ((rate < 100) && !calcCancelSuccess(info, cancelMagicLvl, rate, skill, target)))
{
continue;
@ -1074,6 +1073,25 @@ public final class Formulas
break;
}
}
if (canceled.size() < max)
{
// Prevent initialization.
final List<BuffInfo> buffs = target.getEffectList().getBuffs();
for (int i = buffs.size() - 1; i >= 0; i--) // reverse order
{
final BuffInfo info = buffs.get(i);
if (!info.getSkill().canBeStolen() || ((rate < 100) && !calcCancelSuccess(info, cancelMagicLvl, rate, skill, target)))
{
continue;
}
canceled.add(info);
if (canceled.size() >= max)
{
break;
}
}
}
break;
}
case DEBUFF:

View File

@ -140,6 +140,15 @@ public final class CharEffectList
return _actives.stream().filter(b -> b.getSkill().getBuffType().isBuff()).collect(Collectors.toList());
}
/**
* Gets all the active positive effects on this effect list.
* @return all the dances songs on this effect list
*/
public List<BuffInfo> getDances()
{
return _actives.stream().filter(b -> b.getSkill().getBuffType().isDance()).collect(Collectors.toList());
}
/**
* Gets all the active negative effects on this effect list.
* @return all the debuffs on this effect list

View File

@ -1059,11 +1059,10 @@ public final class Formulas
final int cancelMagicLvl = skill.getMagicLevel();
// Prevent initialization.
final List<BuffInfo> buffs = target.getEffectList().getBuffs();
for (int i = buffs.size() - 1; i >= 0; i--) // reverse order
final List<BuffInfo> dances = target.getEffectList().getDances();
for (int i = dances.size() - 1; i >= 0; i--) // reverse order
{
final BuffInfo info = buffs.get(i);
final BuffInfo info = dances.get(i);
if (!info.getSkill().canBeStolen() || ((rate < 100) && !calcCancelSuccess(info, cancelMagicLvl, rate, skill, target)))
{
continue;
@ -1074,6 +1073,25 @@ public final class Formulas
break;
}
}
if (canceled.size() < max)
{
// Prevent initialization.
final List<BuffInfo> buffs = target.getEffectList().getBuffs();
for (int i = buffs.size() - 1; i >= 0; i--) // reverse order
{
final BuffInfo info = buffs.get(i);
if (!info.getSkill().canBeStolen() || ((rate < 100) && !calcCancelSuccess(info, cancelMagicLvl, rate, skill, target)))
{
continue;
}
canceled.add(info);
if (canceled.size() >= max)
{
break;
}
}
}
break;
}
case DEBUFF:

View File

@ -140,6 +140,15 @@ public final class CharEffectList
return _actives.stream().filter(b -> b.getSkill().getBuffType().isBuff()).collect(Collectors.toList());
}
/**
* Gets all the active positive effects on this effect list.
* @return all the dances songs on this effect list
*/
public List<BuffInfo> getDances()
{
return _actives.stream().filter(b -> b.getSkill().getBuffType().isDance()).collect(Collectors.toList());
}
/**
* Gets all the active negative effects on this effect list.
* @return all the debuffs on this effect list

View File

@ -1059,11 +1059,10 @@ public final class Formulas
final int cancelMagicLvl = skill.getMagicLevel();
// Prevent initialization.
final List<BuffInfo> buffs = target.getEffectList().getBuffs();
for (int i = buffs.size() - 1; i >= 0; i--) // reverse order
final List<BuffInfo> dances = target.getEffectList().getDances();
for (int i = dances.size() - 1; i >= 0; i--) // reverse order
{
final BuffInfo info = buffs.get(i);
final BuffInfo info = dances.get(i);
if (!info.getSkill().canBeStolen() || ((rate < 100) && !calcCancelSuccess(info, cancelMagicLvl, rate, skill, target)))
{
continue;
@ -1074,6 +1073,25 @@ public final class Formulas
break;
}
}
if (canceled.size() < max)
{
// Prevent initialization.
final List<BuffInfo> buffs = target.getEffectList().getBuffs();
for (int i = buffs.size() - 1; i >= 0; i--) // reverse order
{
final BuffInfo info = buffs.get(i);
if (!info.getSkill().canBeStolen() || ((rate < 100) && !calcCancelSuccess(info, cancelMagicLvl, rate, skill, target)))
{
continue;
}
canceled.add(info);
if (canceled.size() >= max)
{
break;
}
}
}
break;
}
case DEBUFF:

View File

@ -140,6 +140,15 @@ public final class CharEffectList
return _actives.stream().filter(b -> b.getSkill().getBuffType().isBuff()).collect(Collectors.toList());
}
/**
* Gets all the active positive effects on this effect list.
* @return all the dances songs on this effect list
*/
public List<BuffInfo> getDances()
{
return _actives.stream().filter(b -> b.getSkill().getBuffType().isDance()).collect(Collectors.toList());
}
/**
* Gets all the active negative effects on this effect list.
* @return all the debuffs on this effect list

View File

@ -1059,11 +1059,10 @@ public final class Formulas
final int cancelMagicLvl = skill.getMagicLevel();
// Prevent initialization.
final List<BuffInfo> buffs = target.getEffectList().getBuffs();
for (int i = buffs.size() - 1; i >= 0; i--) // reverse order
final List<BuffInfo> dances = target.getEffectList().getDances();
for (int i = dances.size() - 1; i >= 0; i--) // reverse order
{
final BuffInfo info = buffs.get(i);
final BuffInfo info = dances.get(i);
if (!info.getSkill().canBeStolen() || ((rate < 100) && !calcCancelSuccess(info, cancelMagicLvl, rate, skill, target)))
{
continue;
@ -1074,6 +1073,25 @@ public final class Formulas
break;
}
}
if (canceled.size() < max)
{
// Prevent initialization.
final List<BuffInfo> buffs = target.getEffectList().getBuffs();
for (int i = buffs.size() - 1; i >= 0; i--) // reverse order
{
final BuffInfo info = buffs.get(i);
if (!info.getSkill().canBeStolen() || ((rate < 100) && !calcCancelSuccess(info, cancelMagicLvl, rate, skill, target)))
{
continue;
}
canceled.add(info);
if (canceled.size() >= max)
{
break;
}
}
}
break;
}
case DEBUFF:

View File

@ -140,6 +140,15 @@ public final class CharEffectList
return _actives.stream().filter(b -> b.getSkill().getBuffType().isBuff()).collect(Collectors.toList());
}
/**
* Gets all the active positive effects on this effect list.
* @return all the dances songs on this effect list
*/
public List<BuffInfo> getDances()
{
return _actives.stream().filter(b -> b.getSkill().getBuffType().isDance()).collect(Collectors.toList());
}
/**
* Gets all the active negative effects on this effect list.
* @return all the debuffs on this effect list

View File

@ -1059,11 +1059,10 @@ public final class Formulas
final int cancelMagicLvl = skill.getMagicLevel();
// Prevent initialization.
final List<BuffInfo> buffs = target.getEffectList().getBuffs();
for (int i = buffs.size() - 1; i >= 0; i--) // reverse order
final List<BuffInfo> dances = target.getEffectList().getDances();
for (int i = dances.size() - 1; i >= 0; i--) // reverse order
{
final BuffInfo info = buffs.get(i);
final BuffInfo info = dances.get(i);
if (!info.getSkill().canBeStolen() || ((rate < 100) && !calcCancelSuccess(info, cancelMagicLvl, rate, skill, target)))
{
continue;
@ -1074,6 +1073,25 @@ public final class Formulas
break;
}
}
if (canceled.size() < max)
{
// Prevent initialization.
final List<BuffInfo> buffs = target.getEffectList().getBuffs();
for (int i = buffs.size() - 1; i >= 0; i--) // reverse order
{
final BuffInfo info = buffs.get(i);
if (!info.getSkill().canBeStolen() || ((rate < 100) && !calcCancelSuccess(info, cancelMagicLvl, rate, skill, target)))
{
continue;
}
canceled.add(info);
if (canceled.size() >= max)
{
break;
}
}
}
break;
}
case DEBUFF:

View File

@ -140,6 +140,15 @@ public final class CharEffectList
return _actives.stream().filter(b -> b.getSkill().getBuffType().isBuff()).collect(Collectors.toList());
}
/**
* Gets all the active positive effects on this effect list.
* @return all the dances songs on this effect list
*/
public List<BuffInfo> getDances()
{
return _actives.stream().filter(b -> b.getSkill().getBuffType().isDance()).collect(Collectors.toList());
}
/**
* Gets all the active negative effects on this effect list.
* @return all the debuffs on this effect list

View File

@ -1059,11 +1059,10 @@ public final class Formulas
final int cancelMagicLvl = skill.getMagicLevel();
// Prevent initialization.
final List<BuffInfo> buffs = target.getEffectList().getBuffs();
for (int i = buffs.size() - 1; i >= 0; i--) // reverse order
final List<BuffInfo> dances = target.getEffectList().getDances();
for (int i = dances.size() - 1; i >= 0; i--) // reverse order
{
final BuffInfo info = buffs.get(i);
final BuffInfo info = dances.get(i);
if (!info.getSkill().canBeStolen() || ((rate < 100) && !calcCancelSuccess(info, cancelMagicLvl, rate, skill, target)))
{
continue;
@ -1074,6 +1073,25 @@ public final class Formulas
break;
}
}
if (canceled.size() < max)
{
// Prevent initialization.
final List<BuffInfo> buffs = target.getEffectList().getBuffs();
for (int i = buffs.size() - 1; i >= 0; i--) // reverse order
{
final BuffInfo info = buffs.get(i);
if (!info.getSkill().canBeStolen() || ((rate < 100) && !calcCancelSuccess(info, cancelMagicLvl, rate, skill, target)))
{
continue;
}
canceled.add(info);
if (canceled.size() >= max)
{
break;
}
}
}
break;
}
case DEBUFF:

View File

@ -140,6 +140,15 @@ public final class CharEffectList
return _actives.stream().filter(b -> b.getSkill().getBuffType().isBuff()).collect(Collectors.toList());
}
/**
* Gets all the active positive effects on this effect list.
* @return all the dances songs on this effect list
*/
public List<BuffInfo> getDances()
{
return _actives.stream().filter(b -> b.getSkill().getBuffType().isDance()).collect(Collectors.toList());
}
/**
* Gets all the active negative effects on this effect list.
* @return all the debuffs on this effect list

View File

@ -1059,11 +1059,10 @@ public final class Formulas
final int cancelMagicLvl = skill.getMagicLevel();
// Prevent initialization.
final List<BuffInfo> buffs = target.getEffectList().getBuffs();
for (int i = buffs.size() - 1; i >= 0; i--) // reverse order
final List<BuffInfo> dances = target.getEffectList().getDances();
for (int i = dances.size() - 1; i >= 0; i--) // reverse order
{
final BuffInfo info = buffs.get(i);
final BuffInfo info = dances.get(i);
if (!info.getSkill().canBeStolen() || ((rate < 100) && !calcCancelSuccess(info, cancelMagicLvl, rate, skill, target)))
{
continue;
@ -1074,6 +1073,25 @@ public final class Formulas
break;
}
}
if (canceled.size() < max)
{
// Prevent initialization.
final List<BuffInfo> buffs = target.getEffectList().getBuffs();
for (int i = buffs.size() - 1; i >= 0; i--) // reverse order
{
final BuffInfo info = buffs.get(i);
if (!info.getSkill().canBeStolen() || ((rate < 100) && !calcCancelSuccess(info, cancelMagicLvl, rate, skill, target)))
{
continue;
}
canceled.add(info);
if (canceled.size() >= max)
{
break;
}
}
}
break;
}
case DEBUFF:

View File

@ -140,6 +140,15 @@ public final class CharEffectList
return _actives.stream().filter(b -> b.getSkill().getBuffType().isBuff()).collect(Collectors.toList());
}
/**
* Gets all the active positive effects on this effect list.
* @return all the dances songs on this effect list
*/
public List<BuffInfo> getDances()
{
return _actives.stream().filter(b -> b.getSkill().getBuffType().isDance()).collect(Collectors.toList());
}
/**
* Gets all the active negative effects on this effect list.
* @return all the debuffs on this effect list

View File

@ -1059,11 +1059,10 @@ public final class Formulas
final int cancelMagicLvl = skill.getMagicLevel();
// Prevent initialization.
final List<BuffInfo> buffs = target.getEffectList().getBuffs();
for (int i = buffs.size() - 1; i >= 0; i--) // reverse order
final List<BuffInfo> dances = target.getEffectList().getDances();
for (int i = dances.size() - 1; i >= 0; i--) // reverse order
{
final BuffInfo info = buffs.get(i);
final BuffInfo info = dances.get(i);
if (!info.getSkill().canBeStolen() || ((rate < 100) && !calcCancelSuccess(info, cancelMagicLvl, rate, skill, target)))
{
continue;
@ -1074,6 +1073,25 @@ public final class Formulas
break;
}
}
if (canceled.size() < max)
{
// Prevent initialization.
final List<BuffInfo> buffs = target.getEffectList().getBuffs();
for (int i = buffs.size() - 1; i >= 0; i--) // reverse order
{
final BuffInfo info = buffs.get(i);
if (!info.getSkill().canBeStolen() || ((rate < 100) && !calcCancelSuccess(info, cancelMagicLvl, rate, skill, target)))
{
continue;
}
canceled.add(info);
if (canceled.size() >= max)
{
break;
}
}
}
break;
}
case DEBUFF: