Fixed NPE on Minigame AI.
This commit is contained in:
@@ -157,7 +157,7 @@ public final class Minigame extends AbstractNpcAI
|
|||||||
room.burnThemAll();
|
room.burnThemAll();
|
||||||
startQuestTimer("off", 2000, npc, null);
|
startQuestTimer("off", 2000, npc, null);
|
||||||
final ConsumerEventListener listener = new ConsumerEventListener(room.getParticipant(), EventType.ON_CREATURE_SKILL_USE, (OnCreatureSkillUse listenerEvent) -> onSkillUse(listenerEvent), room);
|
final ConsumerEventListener listener = new ConsumerEventListener(room.getParticipant(), EventType.ON_CREATURE_SKILL_USE, (OnCreatureSkillUse listenerEvent) -> onSkillUse(listenerEvent), room);
|
||||||
room.getParticipant().addListener(listener);
|
room.setListener(listener);
|
||||||
room.setCurrentPot(0);
|
room.setCurrentPot(0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -183,11 +183,7 @@ public final class Minigame extends AbstractNpcAI
|
|||||||
cancelQuestTimer("expire", npc, null);
|
cancelQuestTimer("expire", npc, null);
|
||||||
cancelQuestTimer("hurry_up", npc, null);
|
cancelQuestTimer("hurry_up", npc, null);
|
||||||
cancelQuestTimer("hurry_up2", npc, null);
|
cancelQuestTimer("hurry_up2", npc, null);
|
||||||
room.getManager().setTarget(null);
|
room.clean();
|
||||||
room.setParticipant(null);
|
|
||||||
room.setStarted(false);
|
|
||||||
room.setAttemptNumber(1);
|
|
||||||
room.setCurrentPot(0);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "afterthat":
|
case "afterthat":
|
||||||
@@ -385,6 +381,7 @@ public final class Minigame extends AbstractNpcAI
|
|||||||
private int _attemptNumber;
|
private int _attemptNumber;
|
||||||
private int _currentPot;
|
private int _currentPot;
|
||||||
private final int _order[];
|
private final int _order[];
|
||||||
|
private ConsumerEventListener _listener;
|
||||||
|
|
||||||
public MinigameRoom(L2Npc[] burners, L2Npc manager)
|
public MinigameRoom(L2Npc[] burners, L2Npc manager)
|
||||||
{
|
{
|
||||||
@@ -524,6 +521,34 @@ public final class Minigame extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
return _order;
|
return _order;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set a listener for player inside room
|
||||||
|
* @param listener
|
||||||
|
*/
|
||||||
|
public void setListener(ConsumerEventListener listener)
|
||||||
|
{
|
||||||
|
_listener = listener;
|
||||||
|
_participant.addListener(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clean the room values
|
||||||
|
*/
|
||||||
|
public void clean()
|
||||||
|
{
|
||||||
|
if (_listener != null)
|
||||||
|
{
|
||||||
|
_participant.removeListener(_listener);
|
||||||
|
_listener = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
getManager().setTarget(null);
|
||||||
|
setParticipant(null);
|
||||||
|
setStarted(false);
|
||||||
|
setAttemptNumber(1);
|
||||||
|
setCurrentPot(0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args)
|
public static void main(String[] args)
|
||||||
|
Reference in New Issue
Block a user