Proper summon request holder.
This commit is contained in:
		@@ -77,8 +77,8 @@ public class CallPc extends AbstractEffect
 | 
			
		||||
				sm.addItemName(_itemId);
 | 
			
		||||
				target.sendPacket(sm);
 | 
			
		||||
			}
 | 
			
		||||
			target.addScript(new SummonRequestHolder(player));
 | 
			
		||||
			
 | 
			
		||||
			target.addScript(new SummonRequestHolder(player, skill));
 | 
			
		||||
			final ConfirmDlg confirm = new ConfirmDlg(SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId());
 | 
			
		||||
			confirm.getSystemMessage().addString(player.getName());
 | 
			
		||||
			confirm.getSystemMessage().addZoneName(player.getX(), player.getY(), player.getZ());
 | 
			
		||||
 
 | 
			
		||||
@@ -117,7 +117,7 @@ public class TeleportToPlayer extends AbstractEffect
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			effector.teleToLocation(effector.getTarget(), true, null);
 | 
			
		||||
			effector.teleToLocation(target, true, null);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -16,30 +16,30 @@
 | 
			
		||||
 */
 | 
			
		||||
package org.l2jmobius.gameserver.model.holders;
 | 
			
		||||
 | 
			
		||||
import org.l2jmobius.gameserver.model.Location;
 | 
			
		||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
 | 
			
		||||
import org.l2jmobius.gameserver.model.skills.Skill;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @author UnAfraid
 | 
			
		||||
 * @author Mobius
 | 
			
		||||
 */
 | 
			
		||||
public class SummonRequestHolder
 | 
			
		||||
{
 | 
			
		||||
	private final PlayerInstance _target;
 | 
			
		||||
	private final Skill _skill;
 | 
			
		||||
	private final PlayerInstance _summoner;
 | 
			
		||||
	private final Location _location;
 | 
			
		||||
	
 | 
			
		||||
	public SummonRequestHolder(PlayerInstance destination, Skill skill)
 | 
			
		||||
	public SummonRequestHolder(PlayerInstance summoner)
 | 
			
		||||
	{
 | 
			
		||||
		_target = destination;
 | 
			
		||||
		_skill = skill;
 | 
			
		||||
		_summoner = summoner;
 | 
			
		||||
		_location = new Location(summoner.getX(), summoner.getY(), summoner.getZ(), summoner.getHeading());
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	public PlayerInstance getTarget()
 | 
			
		||||
	public PlayerInstance getSummoner()
 | 
			
		||||
	{
 | 
			
		||||
		return _target;
 | 
			
		||||
		return _summoner;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	public Skill getSkill()
 | 
			
		||||
	public Location getLocation()
 | 
			
		||||
	{
 | 
			
		||||
		return _skill;
 | 
			
		||||
		return _location;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -83,9 +83,9 @@ public class DlgAnswer implements IClientIncomingPacket
 | 
			
		||||
		else if (_messageId == SystemMessageId.C1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId())
 | 
			
		||||
		{
 | 
			
		||||
			final SummonRequestHolder holder = player.removeScript(SummonRequestHolder.class);
 | 
			
		||||
			if ((_answer == 1) && (holder != null) && (holder.getTarget().getObjectId() == _requesterId))
 | 
			
		||||
			if ((_answer == 1) && (holder != null) && (holder.getSummoner().getObjectId() == _requesterId))
 | 
			
		||||
			{
 | 
			
		||||
				player.teleToLocation(holder.getTarget().getLocation(), true);
 | 
			
		||||
				player.teleToLocation(holder.getLocation(), true);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		else if (_messageId == SystemMessageId.WOULD_YOU_LIKE_TO_OPEN_THE_GATE.getId())
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user