RebalanceHP should apply to servitor owner.

Contributed by Patrioch.
This commit is contained in:
MobiusDev
2017-09-10 02:05:07 +00:00
parent 9c145fb785
commit cae3b7ffe0
4 changed files with 68 additions and 4 deletions

View File

@@ -165,6 +165,9 @@ public final class RebalanceHP extends AbstractEffect
} }
} }
fullHP += effector.getMaxHp();
fullHP += effector.getCurrentHp();
final double percentHP = currentHPs / fullHP; final double percentHP = currentHPs / fullHP;
for (L2Summon summon : effector.getServitors().values()) for (L2Summon summon : effector.getServitors().values())
{ {
@@ -187,8 +190,21 @@ public final class RebalanceHP extends AbstractEffect
summon.setCurrentHp(newHP); summon.setCurrentHp(newHP);
} }
} }
double newHP = effector.getMaxHp() * percentHP;
if (newHP > effector.getCurrentHp())
{
if (effector.getCurrentHp() > effector.getMaxRecoverableHp())
{
newHP = effector.getCurrentHp();
}
else if (newHP > effector.getMaxRecoverableHp())
{
newHP = effector.getMaxRecoverableHp();
}
}
effector.setCurrentHp(newHP);
} }
} }
} }
} }

View File

@@ -165,6 +165,9 @@ public final class RebalanceHP extends AbstractEffect
} }
} }
fullHP += effector.getMaxHp();
fullHP += effector.getCurrentHp();
final double percentHP = currentHPs / fullHP; final double percentHP = currentHPs / fullHP;
for (L2Summon summon : effector.getServitors().values()) for (L2Summon summon : effector.getServitors().values())
{ {
@@ -187,8 +190,21 @@ public final class RebalanceHP extends AbstractEffect
summon.setCurrentHp(newHP); summon.setCurrentHp(newHP);
} }
} }
double newHP = effector.getMaxHp() * percentHP;
if (newHP > effector.getCurrentHp())
{
if (effector.getCurrentHp() > effector.getMaxRecoverableHp())
{
newHP = effector.getCurrentHp();
}
else if (newHP > effector.getMaxRecoverableHp())
{
newHP = effector.getMaxRecoverableHp();
}
}
effector.setCurrentHp(newHP);
} }
} }
} }
} }

View File

@@ -165,6 +165,9 @@ public final class RebalanceHP extends AbstractEffect
} }
} }
fullHP += effector.getMaxHp();
fullHP += effector.getCurrentHp();
final double percentHP = currentHPs / fullHP; final double percentHP = currentHPs / fullHP;
for (L2Summon summon : effector.getServitors().values()) for (L2Summon summon : effector.getServitors().values())
{ {
@@ -187,8 +190,21 @@ public final class RebalanceHP extends AbstractEffect
summon.setCurrentHp(newHP); summon.setCurrentHp(newHP);
} }
} }
double newHP = effector.getMaxHp() * percentHP;
if (newHP > effector.getCurrentHp())
{
if (effector.getCurrentHp() > effector.getMaxRecoverableHp())
{
newHP = effector.getCurrentHp();
}
else if (newHP > effector.getMaxRecoverableHp())
{
newHP = effector.getMaxRecoverableHp();
}
}
effector.setCurrentHp(newHP);
} }
} }
} }
} }

View File

@@ -165,6 +165,9 @@ public final class RebalanceHP extends AbstractEffect
} }
} }
fullHP += effector.getMaxHp();
fullHP += effector.getCurrentHp();
final double percentHP = currentHPs / fullHP; final double percentHP = currentHPs / fullHP;
for (L2Summon summon : effector.getServitors().values()) for (L2Summon summon : effector.getServitors().values())
{ {
@@ -187,8 +190,21 @@ public final class RebalanceHP extends AbstractEffect
summon.setCurrentHp(newHP); summon.setCurrentHp(newHP);
} }
} }
double newHP = effector.getMaxHp() * percentHP;
if (newHP > effector.getCurrentHp())
{
if (effector.getCurrentHp() > effector.getMaxRecoverableHp())
{
newHP = effector.getCurrentHp();
}
else if (newHP > effector.getMaxRecoverableHp())
{
newHP = effector.getMaxRecoverableHp();
}
}
effector.setCurrentHp(newHP);
} }
} }
} }
} }