Fixed Porta (20213) callSkill failed warning.

This commit is contained in:
MobiusDevelopment 2020-09-01 22:27:25 +00:00
parent 31440495f4
commit 1b0b9c308b
17 changed files with 459 additions and 289 deletions

View File

@ -17,6 +17,7 @@
package handlers.effecthandlers; package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
@ -61,30 +62,39 @@ public class CallPc extends AbstractEffect
final PlayerInstance target = effected.getActingPlayer(); final PlayerInstance target = effected.getActingPlayer();
final PlayerInstance player = effector.getActingPlayer(); final PlayerInstance player = effector.getActingPlayer();
if (checkSummonTargetStatus(target, player)) if (player != null)
{ {
if ((_itemId != 0) && (_itemCount != 0)) if (checkSummonTargetStatus(target, player))
{ {
if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount) if ((_itemId != 0) && (_itemCount != 0))
{ {
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING); if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount)
{
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING);
sm.addItemName(_itemId);
target.sendPacket(sm);
return;
}
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target);
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); sm.addItemName(_itemId);
target.sendPacket(sm); target.sendPacket(sm);
return;
} }
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target); target.addScript(new SummonRequestHolder(player));
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId());
target.sendPacket(sm); confirm.getSystemMessage().addString(player.getName());
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ());
confirm.addTime(30000);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
target.addScript(new SummonRequestHolder(player)); }
else if (target != null)
final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId()); {
confirm.getSystemMessage().addString(player.getName()); final WorldObject previousTarget = target.getTarget();
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ()); target.teleToLocation(effector);
confirm.addTime(30000); target.setTarget(previousTarget);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
} }

View File

@ -17,6 +17,7 @@
package handlers.effecthandlers; package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
@ -61,30 +62,39 @@ public class CallPc extends AbstractEffect
final PlayerInstance target = effected.getActingPlayer(); final PlayerInstance target = effected.getActingPlayer();
final PlayerInstance player = effector.getActingPlayer(); final PlayerInstance player = effector.getActingPlayer();
if (checkSummonTargetStatus(target, player)) if (player != null)
{ {
if ((_itemId != 0) && (_itemCount != 0)) if (checkSummonTargetStatus(target, player))
{ {
if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount) if ((_itemId != 0) && (_itemCount != 0))
{ {
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING); if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount)
{
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING);
sm.addItemName(_itemId);
target.sendPacket(sm);
return;
}
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target);
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); sm.addItemName(_itemId);
target.sendPacket(sm); target.sendPacket(sm);
return;
} }
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target); target.addScript(new SummonRequestHolder(player));
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId());
target.sendPacket(sm); confirm.getSystemMessage().addString(player.getName());
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ());
confirm.addTime(30000);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
target.addScript(new SummonRequestHolder(player)); }
else if (target != null)
final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId()); {
confirm.getSystemMessage().addString(player.getName()); final WorldObject previousTarget = target.getTarget();
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ()); target.teleToLocation(effector);
confirm.addTime(30000); target.setTarget(previousTarget);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
} }

View File

@ -17,6 +17,7 @@
package handlers.effecthandlers; package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
@ -61,30 +62,39 @@ public class CallPc extends AbstractEffect
final PlayerInstance target = effected.getActingPlayer(); final PlayerInstance target = effected.getActingPlayer();
final PlayerInstance player = effector.getActingPlayer(); final PlayerInstance player = effector.getActingPlayer();
if (checkSummonTargetStatus(target, player)) if (player != null)
{ {
if ((_itemId != 0) && (_itemCount != 0)) if (checkSummonTargetStatus(target, player))
{ {
if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount) if ((_itemId != 0) && (_itemCount != 0))
{ {
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING); if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount)
{
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING);
sm.addItemName(_itemId);
target.sendPacket(sm);
return;
}
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target);
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); sm.addItemName(_itemId);
target.sendPacket(sm); target.sendPacket(sm);
return;
} }
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target); target.addScript(new SummonRequestHolder(player));
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId());
target.sendPacket(sm); confirm.getSystemMessage().addString(player.getName());
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ());
confirm.addTime(30000);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
target.addScript(new SummonRequestHolder(player)); }
else if (target != null)
final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId()); {
confirm.getSystemMessage().addString(player.getName()); final WorldObject previousTarget = target.getTarget();
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ()); target.teleToLocation(effector);
confirm.addTime(30000); target.setTarget(previousTarget);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
} }

View File

@ -17,6 +17,7 @@
package handlers.effecthandlers; package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
@ -61,30 +62,39 @@ public class CallPc extends AbstractEffect
final PlayerInstance target = effected.getActingPlayer(); final PlayerInstance target = effected.getActingPlayer();
final PlayerInstance player = effector.getActingPlayer(); final PlayerInstance player = effector.getActingPlayer();
if (checkSummonTargetStatus(target, player)) if (player != null)
{ {
if ((_itemId != 0) && (_itemCount != 0)) if (checkSummonTargetStatus(target, player))
{ {
if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount) if ((_itemId != 0) && (_itemCount != 0))
{ {
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING); if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount)
{
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING);
sm.addItemName(_itemId);
target.sendPacket(sm);
return;
}
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target);
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); sm.addItemName(_itemId);
target.sendPacket(sm); target.sendPacket(sm);
return;
} }
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target); target.addScript(new SummonRequestHolder(player));
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId());
target.sendPacket(sm); confirm.getSystemMessage().addString(player.getName());
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ());
confirm.addTime(30000);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
target.addScript(new SummonRequestHolder(player)); }
else if (target != null)
final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId()); {
confirm.getSystemMessage().addString(player.getName()); final WorldObject previousTarget = target.getTarget();
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ()); target.teleToLocation(effector);
confirm.addTime(30000); target.setTarget(previousTarget);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
} }

View File

@ -17,6 +17,7 @@
package handlers.effecthandlers; package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
@ -61,30 +62,39 @@ public class CallPc extends AbstractEffect
final PlayerInstance target = effected.getActingPlayer(); final PlayerInstance target = effected.getActingPlayer();
final PlayerInstance player = effector.getActingPlayer(); final PlayerInstance player = effector.getActingPlayer();
if (checkSummonTargetStatus(target, player)) if (player != null)
{ {
if ((_itemId != 0) && (_itemCount != 0)) if (checkSummonTargetStatus(target, player))
{ {
if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount) if ((_itemId != 0) && (_itemCount != 0))
{ {
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING); if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount)
{
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING);
sm.addItemName(_itemId);
target.sendPacket(sm);
return;
}
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target);
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); sm.addItemName(_itemId);
target.sendPacket(sm); target.sendPacket(sm);
return;
} }
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target); target.addScript(new SummonRequestHolder(player));
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId());
target.sendPacket(sm); confirm.getSystemMessage().addString(player.getName());
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ());
confirm.addTime(30000);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
target.addScript(new SummonRequestHolder(player)); }
else if (target != null)
final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId()); {
confirm.getSystemMessage().addString(player.getName()); final WorldObject previousTarget = target.getTarget();
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ()); target.teleToLocation(effector);
confirm.addTime(30000); target.setTarget(previousTarget);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
} }

View File

@ -17,6 +17,7 @@
package handlers.effecthandlers; package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
@ -61,30 +62,39 @@ public class CallPc extends AbstractEffect
final PlayerInstance target = effected.getActingPlayer(); final PlayerInstance target = effected.getActingPlayer();
final PlayerInstance player = effector.getActingPlayer(); final PlayerInstance player = effector.getActingPlayer();
if (checkSummonTargetStatus(target, player)) if (player != null)
{ {
if ((_itemId != 0) && (_itemCount != 0)) if (checkSummonTargetStatus(target, player))
{ {
if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount) if ((_itemId != 0) && (_itemCount != 0))
{ {
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING); if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount)
{
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING);
sm.addItemName(_itemId);
target.sendPacket(sm);
return;
}
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target);
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); sm.addItemName(_itemId);
target.sendPacket(sm); target.sendPacket(sm);
return;
} }
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target); target.addScript(new SummonRequestHolder(player));
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId());
target.sendPacket(sm); confirm.getSystemMessage().addString(player.getName());
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ());
confirm.addTime(30000);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
target.addScript(new SummonRequestHolder(player)); }
else if (target != null)
final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId()); {
confirm.getSystemMessage().addString(player.getName()); final WorldObject previousTarget = target.getTarget();
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ()); target.teleToLocation(effector);
confirm.addTime(30000); target.setTarget(previousTarget);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
} }

View File

@ -17,6 +17,7 @@
package handlers.effecthandlers; package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
@ -61,30 +62,39 @@ public class CallPc extends AbstractEffect
final PlayerInstance target = effected.getActingPlayer(); final PlayerInstance target = effected.getActingPlayer();
final PlayerInstance player = effector.getActingPlayer(); final PlayerInstance player = effector.getActingPlayer();
if (checkSummonTargetStatus(target, player)) if (player != null)
{ {
if ((_itemId != 0) && (_itemCount != 0)) if (checkSummonTargetStatus(target, player))
{ {
if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount) if ((_itemId != 0) && (_itemCount != 0))
{ {
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING); if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount)
{
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING);
sm.addItemName(_itemId);
target.sendPacket(sm);
return;
}
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target);
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); sm.addItemName(_itemId);
target.sendPacket(sm); target.sendPacket(sm);
return;
} }
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target); target.addScript(new SummonRequestHolder(player));
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId());
target.sendPacket(sm); confirm.getSystemMessage().addString(player.getName());
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ());
confirm.addTime(30000);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
target.addScript(new SummonRequestHolder(player)); }
else if (target != null)
final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId()); {
confirm.getSystemMessage().addString(player.getName()); final WorldObject previousTarget = target.getTarget();
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ()); target.teleToLocation(effector);
confirm.addTime(30000); target.setTarget(previousTarget);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
} }

View File

@ -17,6 +17,7 @@
package handlers.effecthandlers; package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
@ -61,30 +62,39 @@ public class CallPc extends AbstractEffect
final PlayerInstance target = effected.getActingPlayer(); final PlayerInstance target = effected.getActingPlayer();
final PlayerInstance player = effector.getActingPlayer(); final PlayerInstance player = effector.getActingPlayer();
if (checkSummonTargetStatus(target, player)) if (player != null)
{ {
if ((_itemId != 0) && (_itemCount != 0)) if (checkSummonTargetStatus(target, player))
{ {
if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount) if ((_itemId != 0) && (_itemCount != 0))
{ {
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING); if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount)
{
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING);
sm.addItemName(_itemId);
target.sendPacket(sm);
return;
}
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target);
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); sm.addItemName(_itemId);
target.sendPacket(sm); target.sendPacket(sm);
return;
} }
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target); target.addScript(new SummonRequestHolder(player));
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId());
target.sendPacket(sm); confirm.getSystemMessage().addString(player.getName());
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ());
confirm.addTime(30000);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
target.addScript(new SummonRequestHolder(player)); }
else if (target != null)
final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId()); {
confirm.getSystemMessage().addString(player.getName()); final WorldObject previousTarget = target.getTarget();
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ()); target.teleToLocation(effector);
confirm.addTime(30000); target.setTarget(previousTarget);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
} }

View File

@ -20,6 +20,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.gameserver.SevenSigns; import org.l2jmobius.gameserver.SevenSigns;
import org.l2jmobius.gameserver.instancemanager.InstanceManager; import org.l2jmobius.gameserver.instancemanager.InstanceManager;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.conditions.Condition; import org.l2jmobius.gameserver.model.conditions.Condition;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
@ -66,30 +67,39 @@ public class CallPc extends AbstractEffect
final PlayerInstance target = info.getEffected().getActingPlayer(); final PlayerInstance target = info.getEffected().getActingPlayer();
final PlayerInstance player = info.getEffector().getActingPlayer(); final PlayerInstance player = info.getEffector().getActingPlayer();
if (checkSummonTargetStatus(target, player)) if (player != null)
{ {
if ((_itemId != 0) && (_itemCount != 0)) if (checkSummonTargetStatus(target, player))
{ {
if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount) if ((_itemId != 0) && (_itemCount != 0))
{ {
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING); if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount)
{
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING);
sm.addItemName(_itemId);
target.sendPacket(sm);
return;
}
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target);
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_HAS_DISAPPEARED);
sm.addItemName(_itemId); sm.addItemName(_itemId);
target.sendPacket(sm); target.sendPacket(sm);
return;
} }
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target); target.addScript(new SummonRequestHolder(player));
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_HAS_DISAPPEARED);
sm.addItemName(_itemId); final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId());
target.sendPacket(sm); confirm.getSystemMessage().addString(player.getName());
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ());
confirm.addTime(30000);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
target.addScript(new SummonRequestHolder(player)); }
else if (target != null)
final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId()); {
confirm.getSystemMessage().addString(player.getName()); final WorldObject previousTarget = target.getTarget();
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ()); target.teleToLocation(info.getEffector());
confirm.addTime(30000); target.setTarget(previousTarget);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
} }

View File

@ -20,6 +20,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.gameserver.SevenSigns; import org.l2jmobius.gameserver.SevenSigns;
import org.l2jmobius.gameserver.instancemanager.InstanceManager; import org.l2jmobius.gameserver.instancemanager.InstanceManager;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.conditions.Condition; import org.l2jmobius.gameserver.model.conditions.Condition;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
@ -66,30 +67,39 @@ public class CallPc extends AbstractEffect
final PlayerInstance target = info.getEffected().getActingPlayer(); final PlayerInstance target = info.getEffected().getActingPlayer();
final PlayerInstance player = info.getEffector().getActingPlayer(); final PlayerInstance player = info.getEffector().getActingPlayer();
if (checkSummonTargetStatus(target, player)) if (player != null)
{ {
if ((_itemId != 0) && (_itemCount != 0)) if (checkSummonTargetStatus(target, player))
{ {
if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount) if ((_itemId != 0) && (_itemCount != 0))
{ {
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING); if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount)
{
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING);
sm.addItemName(_itemId);
target.sendPacket(sm);
return;
}
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target);
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_HAS_DISAPPEARED);
sm.addItemName(_itemId); sm.addItemName(_itemId);
target.sendPacket(sm); target.sendPacket(sm);
return;
} }
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target); target.addScript(new SummonRequestHolder(player));
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_HAS_DISAPPEARED);
sm.addItemName(_itemId); final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId());
target.sendPacket(sm); confirm.getSystemMessage().addString(player.getName());
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ());
confirm.addTime(30000);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
target.addScript(new SummonRequestHolder(player)); }
else if (target != null)
final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId()); {
confirm.getSystemMessage().addString(player.getName()); final WorldObject previousTarget = target.getTarget();
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ()); target.teleToLocation(info.getEffector());
confirm.addTime(30000); target.setTarget(previousTarget);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
} }

View File

@ -17,6 +17,7 @@
package handlers.effecthandlers; package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
@ -61,30 +62,39 @@ public class CallPc extends AbstractEffect
final PlayerInstance target = effected.getActingPlayer(); final PlayerInstance target = effected.getActingPlayer();
final PlayerInstance player = effector.getActingPlayer(); final PlayerInstance player = effector.getActingPlayer();
if (checkSummonTargetStatus(target, player)) if (player != null)
{ {
if ((_itemId != 0) && (_itemCount != 0)) if (checkSummonTargetStatus(target, player))
{ {
if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount) if ((_itemId != 0) && (_itemCount != 0))
{ {
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING); if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount)
{
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING);
sm.addItemName(_itemId);
target.sendPacket(sm);
return;
}
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target);
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); sm.addItemName(_itemId);
target.sendPacket(sm); target.sendPacket(sm);
return;
} }
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target); target.addScript(new SummonRequestHolder(player));
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId());
target.sendPacket(sm); confirm.getSystemMessage().addString(player.getName());
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ());
confirm.addTime(30000);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
target.addScript(new SummonRequestHolder(player)); }
else if (target != null)
final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId()); {
confirm.getSystemMessage().addString(player.getName()); final WorldObject previousTarget = target.getTarget();
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ()); target.teleToLocation(effector);
confirm.addTime(30000); target.setTarget(previousTarget);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
} }

View File

@ -17,6 +17,7 @@
package handlers.effecthandlers; package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
@ -61,30 +62,39 @@ public class CallPc extends AbstractEffect
final PlayerInstance target = effected.getActingPlayer(); final PlayerInstance target = effected.getActingPlayer();
final PlayerInstance player = effector.getActingPlayer(); final PlayerInstance player = effector.getActingPlayer();
if (checkSummonTargetStatus(target, player)) if (player != null)
{ {
if ((_itemId != 0) && (_itemCount != 0)) if (checkSummonTargetStatus(target, player))
{ {
if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount) if ((_itemId != 0) && (_itemCount != 0))
{ {
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING); if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount)
{
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING);
sm.addItemName(_itemId);
target.sendPacket(sm);
return;
}
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target);
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); sm.addItemName(_itemId);
target.sendPacket(sm); target.sendPacket(sm);
return;
} }
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target); target.addScript(new SummonRequestHolder(player));
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId());
target.sendPacket(sm); confirm.getSystemMessage().addString(player.getName());
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ());
confirm.addTime(30000);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
target.addScript(new SummonRequestHolder(player)); }
else if (target != null)
final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId()); {
confirm.getSystemMessage().addString(player.getName()); final WorldObject previousTarget = target.getTarget();
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ()); target.teleToLocation(effector);
confirm.addTime(30000); target.setTarget(previousTarget);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
} }

View File

@ -17,6 +17,7 @@
package handlers.effecthandlers; package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
@ -61,30 +62,39 @@ public class CallPc extends AbstractEffect
final PlayerInstance target = effected.getActingPlayer(); final PlayerInstance target = effected.getActingPlayer();
final PlayerInstance player = effector.getActingPlayer(); final PlayerInstance player = effector.getActingPlayer();
if (checkSummonTargetStatus(target, player)) if (player != null)
{ {
if ((_itemId != 0) && (_itemCount != 0)) if (checkSummonTargetStatus(target, player))
{ {
if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount) if ((_itemId != 0) && (_itemCount != 0))
{ {
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING); if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount)
{
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING);
sm.addItemName(_itemId);
target.sendPacket(sm);
return;
}
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target);
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); sm.addItemName(_itemId);
target.sendPacket(sm); target.sendPacket(sm);
return;
} }
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target); target.addScript(new SummonRequestHolder(player));
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId());
target.sendPacket(sm); confirm.getSystemMessage().addString(player.getName());
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ());
confirm.addTime(30000);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
target.addScript(new SummonRequestHolder(player)); }
else if (target != null)
final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId()); {
confirm.getSystemMessage().addString(player.getName()); final WorldObject previousTarget = target.getTarget();
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ()); target.teleToLocation(effector);
confirm.addTime(30000); target.setTarget(previousTarget);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
} }

View File

@ -17,6 +17,7 @@
package handlers.effecthandlers; package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
@ -61,30 +62,39 @@ public class CallPc extends AbstractEffect
final PlayerInstance target = effected.getActingPlayer(); final PlayerInstance target = effected.getActingPlayer();
final PlayerInstance player = effector.getActingPlayer(); final PlayerInstance player = effector.getActingPlayer();
if (checkSummonTargetStatus(target, player)) if (player != null)
{ {
if ((_itemId != 0) && (_itemCount != 0)) if (checkSummonTargetStatus(target, player))
{ {
if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount) if ((_itemId != 0) && (_itemCount != 0))
{ {
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING); if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount)
{
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING);
sm.addItemName(_itemId);
target.sendPacket(sm);
return;
}
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target);
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); sm.addItemName(_itemId);
target.sendPacket(sm); target.sendPacket(sm);
return;
} }
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target); target.addScript(new SummonRequestHolder(player));
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId());
target.sendPacket(sm); confirm.getSystemMessage().addString(player.getName());
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ());
confirm.addTime(30000);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
target.addScript(new SummonRequestHolder(player)); }
else if (target != null)
final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId()); {
confirm.getSystemMessage().addString(player.getName()); final WorldObject previousTarget = target.getTarget();
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ()); target.teleToLocation(effector);
confirm.addTime(30000); target.setTarget(previousTarget);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
} }

View File

@ -17,6 +17,7 @@
package handlers.effecthandlers; package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
@ -61,30 +62,39 @@ public class CallPc extends AbstractEffect
final PlayerInstance target = effected.getActingPlayer(); final PlayerInstance target = effected.getActingPlayer();
final PlayerInstance player = effector.getActingPlayer(); final PlayerInstance player = effector.getActingPlayer();
if (checkSummonTargetStatus(target, player)) if (player != null)
{ {
if ((_itemId != 0) && (_itemCount != 0)) if (checkSummonTargetStatus(target, player))
{ {
if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount) if ((_itemId != 0) && (_itemCount != 0))
{ {
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING); if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount)
{
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING);
sm.addItemName(_itemId);
target.sendPacket(sm);
return;
}
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target);
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); sm.addItemName(_itemId);
target.sendPacket(sm); target.sendPacket(sm);
return;
} }
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target); target.addScript(new SummonRequestHolder(player));
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId());
target.sendPacket(sm); confirm.getSystemMessage().addString(player.getName());
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ());
confirm.addTime(30000);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
target.addScript(new SummonRequestHolder(player)); }
else if (target != null)
final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId()); {
confirm.getSystemMessage().addString(player.getName()); final WorldObject previousTarget = target.getTarget();
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ()); target.teleToLocation(effector);
confirm.addTime(30000); target.setTarget(previousTarget);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
} }

View File

@ -17,6 +17,7 @@
package handlers.effecthandlers; package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
@ -61,30 +62,39 @@ public class CallPc extends AbstractEffect
final PlayerInstance target = effected.getActingPlayer(); final PlayerInstance target = effected.getActingPlayer();
final PlayerInstance player = effector.getActingPlayer(); final PlayerInstance player = effector.getActingPlayer();
if (checkSummonTargetStatus(target, player)) if (player != null)
{ {
if ((_itemId != 0) && (_itemCount != 0)) if (checkSummonTargetStatus(target, player))
{ {
if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount) if ((_itemId != 0) && (_itemCount != 0))
{ {
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING); if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount)
{
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING);
sm.addItemName(_itemId);
target.sendPacket(sm);
return;
}
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target);
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); sm.addItemName(_itemId);
target.sendPacket(sm); target.sendPacket(sm);
return;
} }
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target); target.addScript(new SummonRequestHolder(player));
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId());
target.sendPacket(sm); confirm.getSystemMessage().addString(player.getName());
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ());
confirm.addTime(30000);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
target.addScript(new SummonRequestHolder(player)); }
else if (target != null)
final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId()); {
confirm.getSystemMessage().addString(player.getName()); final WorldObject previousTarget = target.getTarget();
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ()); target.teleToLocation(effector);
confirm.addTime(30000); target.setTarget(previousTarget);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
} }

View File

@ -17,6 +17,7 @@
package handlers.effecthandlers; package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
@ -61,30 +62,39 @@ public class CallPc extends AbstractEffect
final PlayerInstance target = effected.getActingPlayer(); final PlayerInstance target = effected.getActingPlayer();
final PlayerInstance player = effector.getActingPlayer(); final PlayerInstance player = effector.getActingPlayer();
if (checkSummonTargetStatus(target, player)) if (player != null)
{ {
if ((_itemId != 0) && (_itemCount != 0)) if (checkSummonTargetStatus(target, player))
{ {
if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount) if ((_itemId != 0) && (_itemCount != 0))
{ {
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING); if (target.getInventory().getInventoryItemCount(_itemId, 0) < _itemCount)
{
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_REQUIRED_FOR_SUMMONING);
sm.addItemName(_itemId);
target.sendPacket(sm);
return;
}
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target);
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); sm.addItemName(_itemId);
target.sendPacket(sm); target.sendPacket(sm);
return;
} }
target.getInventory().destroyItemByItemId("Consume", _itemId, _itemCount, player, target); target.addScript(new SummonRequestHolder(player));
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
sm.addItemName(_itemId); final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId());
target.sendPacket(sm); confirm.getSystemMessage().addString(player.getName());
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ());
confirm.addTime(30000);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
target.addScript(new SummonRequestHolder(player)); }
else if (target != null)
final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId()); {
confirm.getSystemMessage().addString(player.getName()); final WorldObject previousTarget = target.getTarget();
confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ()); target.teleToLocation(effector);
confirm.addTime(30000); target.setTarget(previousTarget);
confirm.addRequesterId(player.getObjectId());
target.sendPacket(confirm);
} }
} }