OnNpcSocialActionSee.

This commit is contained in:
MobiusDev
2015-08-03 21:22:27 +00:00
parent 82318052e2
commit cb4955bafa
5 changed files with 135 additions and 0 deletions

View File

@ -91,6 +91,7 @@ import com.l2jserver.gameserver.model.events.impl.character.npc.OnNpcMoveNodeArr
import com.l2jserver.gameserver.model.events.impl.character.npc.OnNpcMoveRouteFinished;
import com.l2jserver.gameserver.model.events.impl.character.npc.OnNpcSkillFinished;
import com.l2jserver.gameserver.model.events.impl.character.npc.OnNpcSkillSee;
import com.l2jserver.gameserver.model.events.impl.character.npc.OnNpcSocialActionSee;
import com.l2jserver.gameserver.model.events.impl.character.npc.OnNpcSpawn;
import com.l2jserver.gameserver.model.events.impl.character.npc.OnNpcTeleport;
import com.l2jserver.gameserver.model.events.impl.character.npc.attackable.OnAttackableAggroRangeEnter;
@ -530,6 +531,19 @@ public abstract class AbstractScript implements INamable
// ---------------------------------------------------------------------------------------------------------------------------
/**
* Provides instant callback operation when L2Npc sees skill from a player.
* @param callback
* @param npcIds
* @return
*/
protected final List<AbstractEventListener> setNpcSocialActionSeeId(Consumer<OnNpcSocialActionSee> callback, int... npcIds)
{
return registerConsumer(callback, EventType.ON_NPC_SOCIAL_ACTION_SEE, ListenerRegisterType.NPC, npcIds);
}
// ---------------------------------------------------------------------------------------------------------------------------
/**
* Provides instant callback operation when L2Npc casts skill on a player.
* @param callback

View File

@ -40,6 +40,7 @@ import com.l2jserver.gameserver.model.events.impl.character.npc.OnNpcMoveNodeArr
import com.l2jserver.gameserver.model.events.impl.character.npc.OnNpcMoveRouteFinished;
import com.l2jserver.gameserver.model.events.impl.character.npc.OnNpcSkillFinished;
import com.l2jserver.gameserver.model.events.impl.character.npc.OnNpcSkillSee;
import com.l2jserver.gameserver.model.events.impl.character.npc.OnNpcSocialActionSee;
import com.l2jserver.gameserver.model.events.impl.character.npc.OnNpcSpawn;
import com.l2jserver.gameserver.model.events.impl.character.npc.OnNpcTeleport;
import com.l2jserver.gameserver.model.events.impl.character.npc.attackable.OnAttackableAggroRangeEnter;
@ -167,6 +168,7 @@ public enum EventType
ON_NPC_QUEST_START(null, void.class),
ON_NPC_SKILL_FINISHED(OnNpcSkillFinished.class, void.class),
ON_NPC_SKILL_SEE(OnNpcSkillSee.class, void.class),
ON_NPC_SOCIAL_ACTION_SEE(OnNpcSocialActionSee.class, void.class),
ON_NPC_SPAWN(OnNpcSpawn.class, void.class),
ON_NPC_TALK(null, void.class),
ON_NPC_TELEPORT(OnNpcTeleport.class, void.class),

View File

@ -0,0 +1,62 @@
/*
* Copyright (C) 2004-2015 L2J Server
*
* This file is part of L2J Server.
*
* L2J Server is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* L2J Server is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.gameserver.model.events.impl.character.npc;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.events.EventType;
import com.l2jserver.gameserver.model.events.impl.IBaseEvent;
/**
* @author Mobius
*/
public class OnNpcSocialActionSee implements IBaseEvent
{
private final L2Npc _npc;
private final L2PcInstance _caster;
private final int _actionId;
public OnNpcSocialActionSee(L2Npc npc, L2PcInstance caster, int actionId)
{
_npc = npc;
_caster = caster;
_actionId = actionId;
}
public L2Npc getTarget()
{
return _npc;
}
public L2PcInstance getCaster()
{
return _caster;
}
public int getActionId()
{
return _actionId;
}
@Override
public EventType getType()
{
return EventType.ON_NPC_SOCIAL_ACTION_SEE;
}
}