MaxHp and MaxMp effect heals with a task.

This commit is contained in:
MobiusDev
2019-02-08 02:08:04 +00:00
parent 8b313ed415
commit c3d11803a9
20 changed files with 320 additions and 210 deletions

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.commons.concurrent.ThreadPool;
import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
@@ -39,20 +40,26 @@ public class MaxHp extends AbstractStatEffect
@Override @Override
public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
if (_heal && !effected.isHpBlocked()) if (_heal)
{ {
switch (_mode) if (!effected.isHpBlocked())
{ {
case DIFF: ThreadPool.schedule(() ->
{ {
effected.setCurrentHp(effected.getCurrentHp() + _amount); switch (_mode)
break; {
} case DIFF:
case PER: {
{ effected.setCurrentHp(effected.getCurrentHp() + _amount);
effected.setCurrentHp(effected.getCurrentHp() + (effected.getMaxHp() * (_amount / 100))); break;
break; }
} case PER:
{
effected.setCurrentHp(effected.getCurrentHp() + (effected.getMaxHp() * (_amount / 100)));
break;
}
}
}, 100);
} }
} }
} }

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.commons.concurrent.ThreadPool;
import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
@@ -41,19 +42,22 @@ public class MaxMp extends AbstractStatEffect
{ {
if (_heal) if (_heal)
{ {
switch (_mode) ThreadPool.schedule(() ->
{ {
case DIFF: // DIFF switch (_mode)
{ {
effected.setCurrentMp(effected.getCurrentMp() + _amount); case DIFF:
break; {
effected.setCurrentMp(effected.getCurrentMp() + _amount);
break;
}
case PER:
{
effected.setCurrentMp(effected.getCurrentMp() + (effected.getMaxMp() * (_amount / 100)));
break;
}
} }
case PER: // PER }, 100);
{
effected.setCurrentMp(effected.getCurrentMp() + (effected.getMaxMp() * (_amount / 100)));
break;
}
}
} }
} }
} }

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.commons.concurrent.ThreadPool;
import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
@@ -39,20 +40,26 @@ public class MaxHp extends AbstractStatEffect
@Override @Override
public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
if (_heal && !effected.isHpBlocked()) if (_heal)
{ {
switch (_mode) if (!effected.isHpBlocked())
{ {
case DIFF: ThreadPool.schedule(() ->
{ {
effected.setCurrentHp(effected.getCurrentHp() + _amount); switch (_mode)
break; {
} case DIFF:
case PER: {
{ effected.setCurrentHp(effected.getCurrentHp() + _amount);
effected.setCurrentHp(effected.getCurrentHp() + (effected.getMaxHp() * (_amount / 100))); break;
break; }
} case PER:
{
effected.setCurrentHp(effected.getCurrentHp() + (effected.getMaxHp() * (_amount / 100)));
break;
}
}
}, 100);
} }
} }
} }

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.commons.concurrent.ThreadPool;
import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
@@ -41,19 +42,22 @@ public class MaxMp extends AbstractStatEffect
{ {
if (_heal) if (_heal)
{ {
switch (_mode) ThreadPool.schedule(() ->
{ {
case DIFF: // DIFF switch (_mode)
{ {
effected.setCurrentMp(effected.getCurrentMp() + _amount); case DIFF:
break; {
effected.setCurrentMp(effected.getCurrentMp() + _amount);
break;
}
case PER:
{
effected.setCurrentMp(effected.getCurrentMp() + (effected.getMaxMp() * (_amount / 100)));
break;
}
} }
case PER: // PER }, 100);
{
effected.setCurrentMp(effected.getCurrentMp() + (effected.getMaxMp() * (_amount / 100)));
break;
}
}
} }
} }
} }

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.commons.concurrent.ThreadPool;
import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
@@ -39,20 +40,26 @@ public class MaxHp extends AbstractStatEffect
@Override @Override
public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
if (_heal && !effected.isHpBlocked()) if (_heal)
{ {
switch (_mode) if (!effected.isHpBlocked())
{ {
case DIFF: ThreadPool.schedule(() ->
{ {
effected.setCurrentHp(effected.getCurrentHp() + _amount); switch (_mode)
break; {
} case DIFF:
case PER: {
{ effected.setCurrentHp(effected.getCurrentHp() + _amount);
effected.setCurrentHp(effected.getCurrentHp() + (effected.getMaxHp() * (_amount / 100))); break;
break; }
} case PER:
{
effected.setCurrentHp(effected.getCurrentHp() + (effected.getMaxHp() * (_amount / 100)));
break;
}
}
}, 100);
} }
} }
} }

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.commons.concurrent.ThreadPool;
import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
@@ -41,19 +42,22 @@ public class MaxMp extends AbstractStatEffect
{ {
if (_heal) if (_heal)
{ {
switch (_mode) ThreadPool.schedule(() ->
{ {
case DIFF: // DIFF switch (_mode)
{ {
effected.setCurrentMp(effected.getCurrentMp() + _amount); case DIFF:
break; {
effected.setCurrentMp(effected.getCurrentMp() + _amount);
break;
}
case PER:
{
effected.setCurrentMp(effected.getCurrentMp() + (effected.getMaxMp() * (_amount / 100)));
break;
}
} }
case PER: // PER }, 100);
{
effected.setCurrentMp(effected.getCurrentMp() + (effected.getMaxMp() * (_amount / 100)));
break;
}
}
} }
} }
} }

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.commons.concurrent.ThreadPool;
import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
@@ -39,20 +40,26 @@ public class MaxHp extends AbstractStatEffect
@Override @Override
public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
if (_heal && !effected.isHpBlocked()) if (_heal)
{ {
switch (_mode) if (!effected.isHpBlocked())
{ {
case DIFF: ThreadPool.schedule(() ->
{ {
effected.setCurrentHp(effected.getCurrentHp() + _amount); switch (_mode)
break; {
} case DIFF:
case PER: {
{ effected.setCurrentHp(effected.getCurrentHp() + _amount);
effected.setCurrentHp(effected.getCurrentHp() + (effected.getMaxHp() * (_amount / 100))); break;
break; }
} case PER:
{
effected.setCurrentHp(effected.getCurrentHp() + (effected.getMaxHp() * (_amount / 100)));
break;
}
}
}, 100);
} }
} }
} }

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.commons.concurrent.ThreadPool;
import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
@@ -41,19 +42,22 @@ public class MaxMp extends AbstractStatEffect
{ {
if (_heal) if (_heal)
{ {
switch (_mode) ThreadPool.schedule(() ->
{ {
case DIFF: // DIFF switch (_mode)
{ {
effected.setCurrentMp(effected.getCurrentMp() + _amount); case DIFF:
break; {
effected.setCurrentMp(effected.getCurrentMp() + _amount);
break;
}
case PER:
{
effected.setCurrentMp(effected.getCurrentMp() + (effected.getMaxMp() * (_amount / 100)));
break;
}
} }
case PER: // PER }, 100);
{
effected.setCurrentMp(effected.getCurrentMp() + (effected.getMaxMp() * (_amount / 100)));
break;
}
}
} }
} }
} }

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.commons.concurrent.ThreadPool;
import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
@@ -39,20 +40,26 @@ public class MaxHp extends AbstractStatEffect
@Override @Override
public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
if (_heal && !effected.isHpBlocked()) if (_heal)
{ {
switch (_mode) if (!effected.isHpBlocked())
{ {
case DIFF: ThreadPool.schedule(() ->
{ {
effected.setCurrentHp(effected.getCurrentHp() + _amount); switch (_mode)
break; {
} case DIFF:
case PER: {
{ effected.setCurrentHp(effected.getCurrentHp() + _amount);
effected.setCurrentHp(effected.getCurrentHp() + (effected.getMaxHp() * (_amount / 100))); break;
break; }
} case PER:
{
effected.setCurrentHp(effected.getCurrentHp() + (effected.getMaxHp() * (_amount / 100)));
break;
}
}
}, 100);
} }
} }
} }

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.commons.concurrent.ThreadPool;
import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
@@ -41,19 +42,22 @@ public class MaxMp extends AbstractStatEffect
{ {
if (_heal) if (_heal)
{ {
switch (_mode) ThreadPool.schedule(() ->
{ {
case DIFF: // DIFF switch (_mode)
{ {
effected.setCurrentMp(effected.getCurrentMp() + _amount); case DIFF:
break; {
effected.setCurrentMp(effected.getCurrentMp() + _amount);
break;
}
case PER:
{
effected.setCurrentMp(effected.getCurrentMp() + (effected.getMaxMp() * (_amount / 100)));
break;
}
} }
case PER: // PER }, 100);
{
effected.setCurrentMp(effected.getCurrentMp() + (effected.getMaxMp() * (_amount / 100)));
break;
}
}
} }
} }
} }

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.commons.concurrent.ThreadPool;
import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
@@ -39,20 +40,26 @@ public class MaxHp extends AbstractStatEffect
@Override @Override
public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
if (_heal && !effected.isHpBlocked()) if (_heal)
{ {
switch (_mode) if (!effected.isHpBlocked())
{ {
case DIFF: ThreadPool.schedule(() ->
{ {
effected.setCurrentHp(effected.getCurrentHp() + _amount); switch (_mode)
break; {
} case DIFF:
case PER: {
{ effected.setCurrentHp(effected.getCurrentHp() + _amount);
effected.setCurrentHp(effected.getCurrentHp() + (effected.getMaxHp() * (_amount / 100))); break;
break; }
} case PER:
{
effected.setCurrentHp(effected.getCurrentHp() + (effected.getMaxHp() * (_amount / 100)));
break;
}
}
}, 100);
} }
} }
} }

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.commons.concurrent.ThreadPool;
import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
@@ -41,19 +42,22 @@ public class MaxMp extends AbstractStatEffect
{ {
if (_heal) if (_heal)
{ {
switch (_mode) ThreadPool.schedule(() ->
{ {
case DIFF: // DIFF switch (_mode)
{ {
effected.setCurrentMp(effected.getCurrentMp() + _amount); case DIFF:
break; {
effected.setCurrentMp(effected.getCurrentMp() + _amount);
break;
}
case PER:
{
effected.setCurrentMp(effected.getCurrentMp() + (effected.getMaxMp() * (_amount / 100)));
break;
}
} }
case PER: // PER }, 100);
{
effected.setCurrentMp(effected.getCurrentMp() + (effected.getMaxMp() * (_amount / 100)));
break;
}
}
} }
} }
} }

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.commons.concurrent.ThreadPool;
import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
@@ -39,20 +40,26 @@ public class MaxHp extends AbstractStatEffect
@Override @Override
public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
if (_heal && !effected.isHpBlocked()) if (_heal)
{ {
switch (_mode) if (!effected.isHpBlocked())
{ {
case DIFF: ThreadPool.schedule(() ->
{ {
effected.setCurrentHp(effected.getCurrentHp() + _amount); switch (_mode)
break; {
} case DIFF:
case PER: {
{ effected.setCurrentHp(effected.getCurrentHp() + _amount);
effected.setCurrentHp(effected.getCurrentHp() + (effected.getMaxHp() * (_amount / 100))); break;
break; }
} case PER:
{
effected.setCurrentHp(effected.getCurrentHp() + (effected.getMaxHp() * (_amount / 100)));
break;
}
}
}, 100);
} }
} }
} }

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.commons.concurrent.ThreadPool;
import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
@@ -41,19 +42,22 @@ public class MaxMp extends AbstractStatEffect
{ {
if (_heal) if (_heal)
{ {
switch (_mode) ThreadPool.schedule(() ->
{ {
case DIFF: // DIFF switch (_mode)
{ {
effected.setCurrentMp(effected.getCurrentMp() + _amount); case DIFF:
break; {
effected.setCurrentMp(effected.getCurrentMp() + _amount);
break;
}
case PER:
{
effected.setCurrentMp(effected.getCurrentMp() + (effected.getMaxMp() * (_amount / 100)));
break;
}
} }
case PER: // PER }, 100);
{
effected.setCurrentMp(effected.getCurrentMp() + (effected.getMaxMp() * (_amount / 100)));
break;
}
}
} }
} }
} }

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.commons.concurrent.ThreadPool;
import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
@@ -39,20 +40,26 @@ public class MaxHp extends AbstractStatEffect
@Override @Override
public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
if (_heal && !effected.isHpBlocked()) if (_heal)
{ {
switch (_mode) if (!effected.isHpBlocked())
{ {
case DIFF: ThreadPool.schedule(() ->
{ {
effected.setCurrentHp(effected.getCurrentHp() + _amount); switch (_mode)
break; {
} case DIFF:
case PER: {
{ effected.setCurrentHp(effected.getCurrentHp() + _amount);
effected.setCurrentHp(effected.getCurrentHp() + (effected.getMaxHp() * (_amount / 100))); break;
break; }
} case PER:
{
effected.setCurrentHp(effected.getCurrentHp() + (effected.getMaxHp() * (_amount / 100)));
break;
}
}
}, 100);
} }
} }
} }

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.commons.concurrent.ThreadPool;
import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
@@ -41,19 +42,22 @@ public class MaxMp extends AbstractStatEffect
{ {
if (_heal) if (_heal)
{ {
switch (_mode) ThreadPool.schedule(() ->
{ {
case DIFF: // DIFF switch (_mode)
{ {
effected.setCurrentMp(effected.getCurrentMp() + _amount); case DIFF:
break; {
effected.setCurrentMp(effected.getCurrentMp() + _amount);
break;
}
case PER:
{
effected.setCurrentMp(effected.getCurrentMp() + (effected.getMaxMp() * (_amount / 100)));
break;
}
} }
case PER: // PER }, 100);
{
effected.setCurrentMp(effected.getCurrentMp() + (effected.getMaxMp() * (_amount / 100)));
break;
}
}
} }
} }
} }

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.commons.concurrent.ThreadPool;
import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
@@ -39,20 +40,26 @@ public class MaxHp extends AbstractStatEffect
@Override @Override
public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
if (_heal && !effected.isHpBlocked()) if (_heal)
{ {
switch (_mode) if (!effected.isHpBlocked())
{ {
case DIFF: ThreadPool.schedule(() ->
{ {
effected.setCurrentHp(effected.getCurrentHp() + _amount); switch (_mode)
break; {
} case DIFF:
case PER: {
{ effected.setCurrentHp(effected.getCurrentHp() + _amount);
effected.setCurrentHp(effected.getCurrentHp() + (effected.getMaxHp() * (_amount / 100))); break;
break; }
} case PER:
{
effected.setCurrentHp(effected.getCurrentHp() + (effected.getMaxHp() * (_amount / 100)));
break;
}
}
}, 100);
} }
} }
} }

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.commons.concurrent.ThreadPool;
import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
@@ -41,19 +42,22 @@ public class MaxMp extends AbstractStatEffect
{ {
if (_heal) if (_heal)
{ {
switch (_mode) ThreadPool.schedule(() ->
{ {
case DIFF: // DIFF switch (_mode)
{ {
effected.setCurrentMp(effected.getCurrentMp() + _amount); case DIFF:
break; {
effected.setCurrentMp(effected.getCurrentMp() + _amount);
break;
}
case PER:
{
effected.setCurrentMp(effected.getCurrentMp() + (effected.getMaxMp() * (_amount / 100)));
break;
}
} }
case PER: // PER }, 100);
{
effected.setCurrentMp(effected.getCurrentMp() + (effected.getMaxMp() * (_amount / 100)));
break;
}
}
} }
} }
} }

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.commons.concurrent.ThreadPool;
import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
@@ -39,20 +40,26 @@ public class MaxHp extends AbstractStatEffect
@Override @Override
public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
if (_heal && !effected.isHpBlocked()) if (_heal)
{ {
switch (_mode) if (!effected.isHpBlocked())
{ {
case DIFF: ThreadPool.schedule(() ->
{ {
effected.setCurrentHp(effected.getCurrentHp() + _amount); switch (_mode)
break; {
} case DIFF:
case PER: {
{ effected.setCurrentHp(effected.getCurrentHp() + _amount);
effected.setCurrentHp(effected.getCurrentHp() + (effected.getMaxHp() * (_amount / 100))); break;
break; }
} case PER:
{
effected.setCurrentHp(effected.getCurrentHp() + (effected.getMaxHp() * (_amount / 100)));
break;
}
}
}, 100);
} }
} }
} }

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.commons.concurrent.ThreadPool;
import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
@@ -41,19 +42,22 @@ public class MaxMp extends AbstractStatEffect
{ {
if (_heal) if (_heal)
{ {
switch (_mode) ThreadPool.schedule(() ->
{ {
case DIFF: // DIFF switch (_mode)
{ {
effected.setCurrentMp(effected.getCurrentMp() + _amount); case DIFF:
break; {
effected.setCurrentMp(effected.getCurrentMp() + _amount);
break;
}
case PER:
{
effected.setCurrentMp(effected.getCurrentMp() + (effected.getMaxMp() * (_amount / 100)));
break;
}
} }
case PER: // PER }, 100);
{
effected.setCurrentMp(effected.getCurrentMp() + (effected.getMaxMp() * (_amount / 100)));
break;
}
}
} }
} }
} }