Skip to content
Snippets Groups Projects
Commit fd793a35 authored by Adry85's avatar Adry85 Committed by Zoey76
Browse files

Fixed NPE on Minigame AI.

Patch by: Zephyr
Reported by: CostyKiller
Tested by: CostyKiller
parent 6199b271
No related branches found
No related tags found
No related merge requests found
...@@ -159,7 +159,7 @@ public final class Minigame extends AbstractNpcAI ...@@ -159,7 +159,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;
...@@ -185,11 +185,7 @@ public final class Minigame extends AbstractNpcAI ...@@ -185,11 +185,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":
...@@ -391,6 +387,7 @@ public final class Minigame extends AbstractNpcAI ...@@ -391,6 +387,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)
{ {
...@@ -530,6 +527,34 @@ public final class Minigame extends AbstractNpcAI ...@@ -530,6 +527,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)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment