Fixed NPE on Minigame AI.
This commit is contained in:
		@@ -157,7 +157,7 @@ public final class Minigame extends AbstractNpcAI
 | 
			
		||||
					room.burnThemAll();
 | 
			
		||||
					startQuestTimer("off", 2000, npc, null);
 | 
			
		||||
					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);
 | 
			
		||||
				}
 | 
			
		||||
				break;
 | 
			
		||||
@@ -183,11 +183,7 @@ public final class Minigame extends AbstractNpcAI
 | 
			
		||||
				cancelQuestTimer("expire", npc, null);
 | 
			
		||||
				cancelQuestTimer("hurry_up", npc, null);
 | 
			
		||||
				cancelQuestTimer("hurry_up2", npc, null);
 | 
			
		||||
				room.getManager().setTarget(null);
 | 
			
		||||
				room.setParticipant(null);
 | 
			
		||||
				room.setStarted(false);
 | 
			
		||||
				room.setAttemptNumber(1);
 | 
			
		||||
				room.setCurrentPot(0);
 | 
			
		||||
				room.clean();
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
			case "afterthat":
 | 
			
		||||
@@ -385,6 +381,7 @@ public final class Minigame extends AbstractNpcAI
 | 
			
		||||
		private int _attemptNumber;
 | 
			
		||||
		private int _currentPot;
 | 
			
		||||
		private final int _order[];
 | 
			
		||||
		private ConsumerEventListener _listener;
 | 
			
		||||
		
 | 
			
		||||
		public MinigameRoom(L2Npc[] burners, L2Npc manager)
 | 
			
		||||
		{
 | 
			
		||||
@@ -524,6 +521,34 @@ public final class Minigame extends AbstractNpcAI
 | 
			
		||||
		{
 | 
			
		||||
			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)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user