Precautions for servitor related NPEs.

This commit is contained in:
MobiusDevelopment 2021-05-30 21:28:59 +00:00
parent d4915cb08f
commit 086459920b
2 changed files with 126 additions and 18 deletions

View File

@ -449,54 +449,108 @@ public class ServitorInstance extends Summon implements Runnable
@Override
public double getMAtk(Creature target, Skill skill)
{
return super.getMAtk(target, skill) + (getActingPlayer().getMAtk(target, skill) * (getActingPlayer().getServitorShareBonus(Stat.MAGIC_ATTACK) - 1.0));
final PlayerInstance player = getActingPlayer();
if (player == null)
{
return super.getMAtk(target, skill);
}
return super.getMAtk(target, skill) + (player.getMAtk(target, skill) * (player.getServitorShareBonus(Stat.MAGIC_ATTACK) - 1.0));
}
@Override
public double getMDef(Creature target, Skill skill)
{
return super.getMDef(target, skill) + (getActingPlayer().getMDef(target, skill) * (getActingPlayer().getServitorShareBonus(Stat.MAGIC_DEFENCE) - 1.0));
final PlayerInstance player = getActingPlayer();
if (player == null)
{
return super.getMDef(target, skill);
}
return super.getMDef(target, skill) + (player.getMDef(target, skill) * (player.getServitorShareBonus(Stat.MAGIC_DEFENCE) - 1.0));
}
@Override
public double getPAtk(Creature target)
{
return super.getPAtk(target) + (getActingPlayer().getPAtk(target) * (getActingPlayer().getServitorShareBonus(Stat.POWER_ATTACK) - 1.0));
final PlayerInstance player = getActingPlayer();
if (player == null)
{
return super.getPAtk(target);
}
return super.getPAtk(target) + (player.getPAtk(target) * (player.getServitorShareBonus(Stat.POWER_ATTACK) - 1.0));
}
@Override
public double getPDef(Creature target)
{
return super.getPDef(target) + (getActingPlayer().getPDef(target) * (getActingPlayer().getServitorShareBonus(Stat.POWER_DEFENCE) - 1.0));
final PlayerInstance player = getActingPlayer();
if (player == null)
{
return super.getPDef(target);
}
return super.getPDef(target) + (player.getPDef(target) * (player.getServitorShareBonus(Stat.POWER_DEFENCE) - 1.0));
}
@Override
public int getMAtkSpd()
{
return (int) (super.getMAtkSpd() + (getActingPlayer().getMAtkSpd() * (getActingPlayer().getServitorShareBonus(Stat.MAGIC_ATTACK_SPEED) - 1.0)));
final PlayerInstance player = getActingPlayer();
if (player == null)
{
return super.getMAtkSpd();
}
return (int) (super.getMAtkSpd() + (player.getMAtkSpd() * (player.getServitorShareBonus(Stat.MAGIC_ATTACK_SPEED) - 1.0)));
}
@Override
public int getMaxHp()
{
return (int) (super.getMaxHp() + (getActingPlayer().getMaxHp() * (getActingPlayer().getServitorShareBonus(Stat.MAX_HP) - 1.0)));
final PlayerInstance player = getActingPlayer();
if (player == null)
{
return super.getMaxHp();
}
return (int) (super.getMaxHp() + (player.getMaxHp() * (player.getServitorShareBonus(Stat.MAX_HP) - 1.0)));
}
@Override
public int getMaxMp()
{
return (int) (super.getMaxMp() + (getActingPlayer().getMaxMp() * (getActingPlayer().getServitorShareBonus(Stat.MAX_MP) - 1.0)));
final PlayerInstance player = getActingPlayer();
if (player == null)
{
return super.getMaxMp();
}
return (int) (super.getMaxMp() + (player.getMaxMp() * (player.getServitorShareBonus(Stat.MAX_MP) - 1.0)));
}
@Override
public int getCriticalHit(Creature target, Skill skill)
{
return (int) (super.getCriticalHit(target, skill) + ((getActingPlayer().getCriticalHit(target, skill)) * (getActingPlayer().getServitorShareBonus(Stat.CRITICAL_RATE) - 1.0)));
final PlayerInstance player = getActingPlayer();
if (player == null)
{
return super.getCriticalHit(target, skill);
}
return (int) (super.getCriticalHit(target, skill) + ((player.getCriticalHit(target, skill)) * (player.getServitorShareBonus(Stat.CRITICAL_RATE) - 1.0)));
}
@Override
public double getPAtkSpd()
{
return super.getPAtkSpd() + (getActingPlayer().getPAtkSpd() * (getActingPlayer().getServitorShareBonus(Stat.POWER_ATTACK_SPEED) - 1.0));
final PlayerInstance player = getActingPlayer();
if (player == null)
{
return super.getPAtkSpd();
}
return super.getPAtkSpd() + (player.getPAtkSpd() * (player.getServitorShareBonus(Stat.POWER_ATTACK_SPEED) - 1.0));
}
}

View File

@ -449,54 +449,108 @@ public class ServitorInstance extends Summon implements Runnable
@Override
public double getMAtk(Creature target, Skill skill)
{
return super.getMAtk(target, skill) + (getActingPlayer().getMAtk(target, skill) * (getActingPlayer().getServitorShareBonus(Stat.MAGIC_ATTACK) - 1.0));
final PlayerInstance player = getActingPlayer();
if (player == null)
{
return super.getMAtk(target, skill);
}
return super.getMAtk(target, skill) + (player.getMAtk(target, skill) * (player.getServitorShareBonus(Stat.MAGIC_ATTACK) - 1.0));
}
@Override
public double getMDef(Creature target, Skill skill)
{
return super.getMDef(target, skill) + (getActingPlayer().getMDef(target, skill) * (getActingPlayer().getServitorShareBonus(Stat.MAGIC_DEFENCE) - 1.0));
final PlayerInstance player = getActingPlayer();
if (player == null)
{
return super.getMDef(target, skill);
}
return super.getMDef(target, skill) + (player.getMDef(target, skill) * (player.getServitorShareBonus(Stat.MAGIC_DEFENCE) - 1.0));
}
@Override
public double getPAtk(Creature target)
{
return super.getPAtk(target) + (getActingPlayer().getPAtk(target) * (getActingPlayer().getServitorShareBonus(Stat.POWER_ATTACK) - 1.0));
final PlayerInstance player = getActingPlayer();
if (player == null)
{
return super.getPAtk(target);
}
return super.getPAtk(target) + (player.getPAtk(target) * (player.getServitorShareBonus(Stat.POWER_ATTACK) - 1.0));
}
@Override
public double getPDef(Creature target)
{
return super.getPDef(target) + (getActingPlayer().getPDef(target) * (getActingPlayer().getServitorShareBonus(Stat.POWER_DEFENCE) - 1.0));
final PlayerInstance player = getActingPlayer();
if (player == null)
{
return super.getPDef(target);
}
return super.getPDef(target) + (player.getPDef(target) * (player.getServitorShareBonus(Stat.POWER_DEFENCE) - 1.0));
}
@Override
public int getMAtkSpd()
{
return (int) (super.getMAtkSpd() + (getActingPlayer().getMAtkSpd() * (getActingPlayer().getServitorShareBonus(Stat.MAGIC_ATTACK_SPEED) - 1.0)));
final PlayerInstance player = getActingPlayer();
if (player == null)
{
return super.getMAtkSpd();
}
return (int) (super.getMAtkSpd() + (player.getMAtkSpd() * (player.getServitorShareBonus(Stat.MAGIC_ATTACK_SPEED) - 1.0)));
}
@Override
public int getMaxHp()
{
return (int) (super.getMaxHp() + (getActingPlayer().getMaxHp() * (getActingPlayer().getServitorShareBonus(Stat.MAX_HP) - 1.0)));
final PlayerInstance player = getActingPlayer();
if (player == null)
{
return super.getMaxHp();
}
return (int) (super.getMaxHp() + (player.getMaxHp() * (player.getServitorShareBonus(Stat.MAX_HP) - 1.0)));
}
@Override
public int getMaxMp()
{
return (int) (super.getMaxMp() + (getActingPlayer().getMaxMp() * (getActingPlayer().getServitorShareBonus(Stat.MAX_MP) - 1.0)));
final PlayerInstance player = getActingPlayer();
if (player == null)
{
return super.getMaxMp();
}
return (int) (super.getMaxMp() + (player.getMaxMp() * (player.getServitorShareBonus(Stat.MAX_MP) - 1.0)));
}
@Override
public int getCriticalHit(Creature target, Skill skill)
{
return (int) (super.getCriticalHit(target, skill) + ((getActingPlayer().getCriticalHit(target, skill)) * (getActingPlayer().getServitorShareBonus(Stat.CRITICAL_RATE) - 1.0)));
final PlayerInstance player = getActingPlayer();
if (player == null)
{
return super.getCriticalHit(target, skill);
}
return (int) (super.getCriticalHit(target, skill) + ((player.getCriticalHit(target, skill)) * (player.getServitorShareBonus(Stat.CRITICAL_RATE) - 1.0)));
}
@Override
public double getPAtkSpd()
{
return super.getPAtkSpd() + (getActingPlayer().getPAtkSpd() * (getActingPlayer().getServitorShareBonus(Stat.POWER_ATTACK_SPEED) - 1.0));
final PlayerInstance player = getActingPlayer();
if (player == null)
{
return super.getPAtkSpd();
}
return super.getPAtkSpd() + (player.getPAtkSpd() * (player.getServitorShareBonus(Stat.POWER_ATTACK_SPEED) - 1.0));
}
}