Also use a task for MaxCp effect heal.

This commit is contained in:
MobiusDev
2019-02-08 03:00:02 +00:00
parent 97ee89b3e9
commit c07feccffa
10 changed files with 140 additions and 100 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;
@@ -40,20 +41,23 @@ public class MaxCp extends AbstractStatEffect
public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
if (_heal) if (_heal)
{
ThreadPool.schedule(() ->
{ {
switch (_mode) switch (_mode)
{ {
case DIFF: // DIFF case DIFF:
{ {
effected.setCurrentCp(effected.getCurrentCp() + _amount); effected.setCurrentCp(effected.getCurrentCp() + _amount);
break; break;
} }
case PER: // PER case PER:
{ {
effected.setCurrentCp(effected.getCurrentCp() + (effected.getMaxCp() * (_amount / 100))); effected.setCurrentCp(effected.getCurrentCp() + (effected.getMaxCp() * (_amount / 100)));
break; 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;
@@ -40,20 +41,23 @@ public class MaxCp extends AbstractStatEffect
public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
if (_heal) if (_heal)
{
ThreadPool.schedule(() ->
{ {
switch (_mode) switch (_mode)
{ {
case DIFF: // DIFF case DIFF:
{ {
effected.setCurrentCp(effected.getCurrentCp() + _amount); effected.setCurrentCp(effected.getCurrentCp() + _amount);
break; break;
} }
case PER: // PER case PER:
{ {
effected.setCurrentCp(effected.getCurrentCp() + (effected.getMaxCp() * (_amount / 100))); effected.setCurrentCp(effected.getCurrentCp() + (effected.getMaxCp() * (_amount / 100)));
break; 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;
@@ -40,20 +41,23 @@ public class MaxCp extends AbstractStatEffect
public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
if (_heal) if (_heal)
{
ThreadPool.schedule(() ->
{ {
switch (_mode) switch (_mode)
{ {
case DIFF: // DIFF case DIFF:
{ {
effected.setCurrentCp(effected.getCurrentCp() + _amount); effected.setCurrentCp(effected.getCurrentCp() + _amount);
break; break;
} }
case PER: // PER case PER:
{ {
effected.setCurrentCp(effected.getCurrentCp() + (effected.getMaxCp() * (_amount / 100))); effected.setCurrentCp(effected.getCurrentCp() + (effected.getMaxCp() * (_amount / 100)));
break; 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;
@@ -40,20 +41,23 @@ public class MaxCp extends AbstractStatEffect
public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
if (_heal) if (_heal)
{
ThreadPool.schedule(() ->
{ {
switch (_mode) switch (_mode)
{ {
case DIFF: // DIFF case DIFF:
{ {
effected.setCurrentCp(effected.getCurrentCp() + _amount); effected.setCurrentCp(effected.getCurrentCp() + _amount);
break; break;
} }
case PER: // PER case PER:
{ {
effected.setCurrentCp(effected.getCurrentCp() + (effected.getMaxCp() * (_amount / 100))); effected.setCurrentCp(effected.getCurrentCp() + (effected.getMaxCp() * (_amount / 100)));
break; 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;
@@ -40,20 +41,23 @@ public class MaxCp extends AbstractStatEffect
public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
if (_heal) if (_heal)
{
ThreadPool.schedule(() ->
{ {
switch (_mode) switch (_mode)
{ {
case DIFF: // DIFF case DIFF:
{ {
effected.setCurrentCp(effected.getCurrentCp() + _amount); effected.setCurrentCp(effected.getCurrentCp() + _amount);
break; break;
} }
case PER: // PER case PER:
{ {
effected.setCurrentCp(effected.getCurrentCp() + (effected.getMaxCp() * (_amount / 100))); effected.setCurrentCp(effected.getCurrentCp() + (effected.getMaxCp() * (_amount / 100)));
break; 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;
@@ -40,20 +41,23 @@ public class MaxCp extends AbstractStatEffect
public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
if (_heal) if (_heal)
{
ThreadPool.schedule(() ->
{ {
switch (_mode) switch (_mode)
{ {
case DIFF: // DIFF case DIFF:
{ {
effected.setCurrentCp(effected.getCurrentCp() + _amount); effected.setCurrentCp(effected.getCurrentCp() + _amount);
break; break;
} }
case PER: // PER case PER:
{ {
effected.setCurrentCp(effected.getCurrentCp() + (effected.getMaxCp() * (_amount / 100))); effected.setCurrentCp(effected.getCurrentCp() + (effected.getMaxCp() * (_amount / 100)));
break; 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;
@@ -40,20 +41,23 @@ public class MaxCp extends AbstractStatEffect
public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
if (_heal) if (_heal)
{
ThreadPool.schedule(() ->
{ {
switch (_mode) switch (_mode)
{ {
case DIFF: // DIFF case DIFF:
{ {
effected.setCurrentCp(effected.getCurrentCp() + _amount); effected.setCurrentCp(effected.getCurrentCp() + _amount);
break; break;
} }
case PER: // PER case PER:
{ {
effected.setCurrentCp(effected.getCurrentCp() + (effected.getMaxCp() * (_amount / 100))); effected.setCurrentCp(effected.getCurrentCp() + (effected.getMaxCp() * (_amount / 100)));
break; 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;
@@ -40,20 +41,23 @@ public class MaxCp extends AbstractStatEffect
public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
if (_heal) if (_heal)
{
ThreadPool.schedule(() ->
{ {
switch (_mode) switch (_mode)
{ {
case DIFF: // DIFF case DIFF:
{ {
effected.setCurrentCp(effected.getCurrentCp() + _amount); effected.setCurrentCp(effected.getCurrentCp() + _amount);
break; break;
} }
case PER: // PER case PER:
{ {
effected.setCurrentCp(effected.getCurrentCp() + (effected.getMaxCp() * (_amount / 100))); effected.setCurrentCp(effected.getCurrentCp() + (effected.getMaxCp() * (_amount / 100)));
break; 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;
@@ -40,20 +41,23 @@ public class MaxCp extends AbstractStatEffect
public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
if (_heal) if (_heal)
{
ThreadPool.schedule(() ->
{ {
switch (_mode) switch (_mode)
{ {
case DIFF: // DIFF case DIFF:
{ {
effected.setCurrentCp(effected.getCurrentCp() + _amount); effected.setCurrentCp(effected.getCurrentCp() + _amount);
break; break;
} }
case PER: // PER case PER:
{ {
effected.setCurrentCp(effected.getCurrentCp() + (effected.getMaxCp() * (_amount / 100))); effected.setCurrentCp(effected.getCurrentCp() + (effected.getMaxCp() * (_amount / 100)));
break; 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;
@@ -40,20 +41,23 @@ public class MaxCp extends AbstractStatEffect
public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void continuousInstant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
if (_heal) if (_heal)
{
ThreadPool.schedule(() ->
{ {
switch (_mode) switch (_mode)
{ {
case DIFF: // DIFF case DIFF:
{ {
effected.setCurrentCp(effected.getCurrentCp() + _amount); effected.setCurrentCp(effected.getCurrentCp() + _amount);
break; break;
} }
case PER: // PER case PER:
{ {
effected.setCurrentCp(effected.getCurrentCp() + (effected.getMaxCp() * (_amount / 100))); effected.setCurrentCp(effected.getCurrentCp() + (effected.getMaxCp() * (_amount / 100)));
break; break;
} }
} }
}, 100);
} }
} }
} }